:root{--ink:#111311;--paper:#fafbf9;--muted:#aab0a9;--rule:#dce0d9;--serif:Georgia,'Times New Roman',serif;--sans:'Helvetica Neue',Helvetica,Arial,sans-serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.6}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:7px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;line-height:1.04}em{font-weight:400}p{max-width:42rem}.content-width{width:calc(100% - 8rem);max-width:1320px;margin-inline:auto}.eyebrow{font-size:.75rem;font-weight:500;letter-spacing:.15em;line-height:1.5}.header{position:relative;min-height:105px;padding:1.4rem 4rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--ink);color:white;border-bottom:1px solid #343734}.brand{display:inline-flex;align-items:center;gap:.85rem;flex-shrink:0}.camera-mark{display:block;position:relative;overflow:hidden;width:68px;height:48px}.camera-mark img{position:absolute;width:100px;max-width:none;left:-16px;top:-8px;filter:brightness(0) invert(1)}.wordmark{font-size:1rem;letter-spacing:.18em;font-weight:600;line-height:1.5}.wordmark span{display:block;font-size:.6875rem;letter-spacing:.55em;font-weight:400}.header nav{display:flex;align-items:center;gap:2.25rem;font-size:.875rem}.header nav>a{padding:.5rem 0}.header nav>a:hover{color:#bec5bc}.header .nav-contact{border-bottom:1px solid #aab0a9}.nav-contact span{margin-left:1.25rem}.hero{display:grid;grid-template-columns:46% 54%;background:var(--ink);color:white;min-height:720px}.hero-copy{padding:4.5rem 3rem 3rem 4rem;display:flex;align-items:flex-start;flex-direction:column}.hero .eyebrow{color:#c0c6be;margin-bottom:2.5rem}.hero h1{font-size:clamp(4.5rem,6.6vw,7.3rem);line-height:.99;margin-bottom:2rem}.hero h1 em{color:#c1c7bd}.hero-description{font-size:1.0625rem;color:#c4c9c2;max-width:21rem;margin-bottom:2rem;line-height:1.7}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:54px;padding:.95rem 1.5rem;font-size:.875rem;font-weight:500;border:1px solid transparent;transition:background .2s,color .2s}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:#dce2d7}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#384034}.button span{font-size:1.25rem;line-height:1}.hero-region{font-size:.8125rem;color:#aab0a9;margin-top:auto;padding-top:2.5rem}.hero-image{position:relative;min-width:0;overflow:hidden}.hero-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% center}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.65));padding:4rem 2rem 1.6rem;display:flex;justify-content:space-between;align-items:end;gap:1rem;font-size:.75rem;letter-spacing:.11em;color:#fff}.hero-image figcaption span{font-size:.75rem;letter-spacing:0;text-align:right;max-width:13rem}.intro{padding-top:6.8rem;padding-bottom:3.5rem;display:grid;grid-template-columns:1.2fr 1fr;gap:2rem 5rem}.intro>.eyebrow{grid-column:1/-1;color:#60665e}.intro h2{font-size:clamp(2.8rem,4vw,4.5rem)}.intro h2 em{color:#6b7267}.intro>p:last-child{align-self:end;color:#5b6257;max-width:30rem}.service-list{padding-bottom:6.5rem}.service-list article{display:grid;grid-template-columns:70px 1fr 160px;gap:1.5rem;padding:2.3rem 0;border-top:1px solid var(--rule);align-items:start}.service-list article:last-child{border-bottom:1px solid var(--rule)}.service-list a{transition:background .2s}.service-list a:hover{background:#f1f3ee}.number{font-size:.875rem;color:#737b6d;padding-top:.4rem}.service-list h3{font-family:var(--serif);font-size:1.85rem;font-weight:400;letter-spacing:-.025em;margin-bottom:.55rem;line-height:1.2}.service-list p{color:#62695e;font-size:1rem;max-width:42rem}.service-type{font-size:.75rem;letter-spacing:.11em;color:#697062;text-align:right;padding-top:.6rem}.approach{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:white}.approach-image{position:relative;min-height:610px}.approach-image img{position:absolute;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1) brightness(.94);object-position:center 38%}.approach-image::after{content:'';position:absolute;inset:0;background:radial-gradient(120% 100% at 50% 30%,transparent 55%,rgba(0,0,0,.38) 100%),linear-gradient(to top,rgba(0,0,0,.28),transparent 35%)}.approach-copy{padding:5.5rem 4rem 4.5rem}.approach .eyebrow{color:#aab0a9;margin-bottom:2rem}.approach h2{font-size:clamp(2.6rem,3.7vw,4rem);margin-bottom:2rem}.approach h2 em{color:#bbc3b5}.approach-copy>p:not(.eyebrow){color:#b7beb1;margin-bottom:1.25rem;max-width:32rem}.experience{display:flex;align-items:center;gap:1.4rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #42483d}.experience strong{font-family:var(--serif);font-weight:400;font-size:3.75rem;line-height:1.1}.experience span{font-size:.875rem;color:#b7beb1;line-height:1.5}.contact{padding-top:7rem;padding-bottom:7rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem 6rem}.contact>.eyebrow{grid-column:1/-1;color:#61695a}.contact h2{font-size:clamp(3.5rem,6vw,6.5rem)}.contact h2 em{color:#6b7267}.contact-detail>p:first-child{max-width:28rem;color:#5b6354;margin-bottom:1.6rem}.email-link{display:block;width:fit-content;margin-top:1.3rem;font-size:1rem;border-bottom:1px solid #9aa68d}.email-link:hover{color:#617452}.contact-region{margin-top:2rem;font-size:.875rem;color:#68725f}footer{background:var(--ink);color:#ccd1c7;padding:2.5rem 0 1.7rem}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-bottom:2rem}.footer-top>p,.footer-top>a:last-child{font-size:.8125rem}.footer-top .brand{color:white}.footer-bottom{border-top:1px solid #353b30;padding-top:1.5rem;display:flex;justify-content:space-between;gap:2rem;font-size:.75rem;color:#a5af9c}.footer-bottom details{max-width:36rem}.footer-bottom summary{cursor:pointer;text-align:right;width:fit-content;margin-left:auto}.footer-bottom details p{padding-top:1rem;line-height:1.8}.footer-bottom details a{text-decoration:underline;text-underline-offset:3px}.skip-link{position:fixed;left:1rem;top:-100px;z-index:10;background:white;color:black;padding:.7rem 1rem}.skip-link:focus{top:1rem}@media(min-width:1600px){.header{padding-inline:max(4rem,calc((100vw - 1440px)/2))}.hero-copy{padding-left:max(4rem,calc((100vw - 1440px)/2))}}@media(max-width:1000px){.header{padding-inline:2rem}.header nav{gap:1.4rem}.content-width{width:calc(100% - 4rem)}.hero-copy{padding:3rem 2rem}.hero{min-height:690px}.hero h1{font-size:5rem}.hero .eyebrow{max-width:15rem}.hero-image figcaption{display:block;padding-inline:1.2rem}.hero-image figcaption span{display:block;text-align:left;margin-top:.7rem}.intro{gap:2rem 3rem}.approach-copy{padding:4rem 2rem}.contact{gap:2rem 3rem}.footer-top>p{display:none}}@media(max-width:700px){.header{padding:1.2rem 1.4rem;min-height:88px;gap:1rem}.wordmark{font-size:.78rem;letter-spacing:.12em}.wordmark span{font-size:.65rem}.camera-mark{width:50px;height:39px}.camera-mark img{width:77px;left:-13px;top:-6px}.header nav{font-size:.8125rem}.nav-contact span{margin-left:.5rem}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:3.5rem 1.5rem 2.5rem}.hero .eyebrow{max-width:none;margin-bottom:2rem;font-size:.7rem}.hero h1{font-size:clamp(4.2rem,14vw,6rem)}.hero h1 br:nth-child(2){display:none}.hero h1 em:before{content:' '}.hero-description{max-width:25rem}.hero-region{padding-top:2rem;font-size:.75rem}.hero-image{height:450px}.hero-image>img{object-position:center}.hero-image figcaption{display:flex;padding:3rem 1.5rem 1.25rem}.hero-image figcaption span{text-align:right;max-width:10rem}.content-width{width:calc(100% - 3rem)}.intro{padding-top:4rem;padding-bottom:2.5rem;grid-template-columns:1fr;gap:1.5rem}.intro h2{font-size:2.8rem}.service-list{padding-bottom:4rem}.service-list article{grid-template-columns:30px 1fr;gap:.5rem 1rem;padding:1.8rem 0}.service-list h3{font-size:1.65rem}.service-type{grid-column:2;text-align:left;padding-top:.5rem;font-size:.7rem}.approach{display:flex;flex-direction:column}.approach-image{min-height:340px}.approach-copy{padding:3.5rem 1.5rem}.approach h2{font-size:2.8rem}.contact{grid-template-columns:1fr;padding-top:4rem;padding-bottom:4rem;gap:1.7rem}.contact h2{font-size:3.7rem}.footer-top{align-items:flex-start;gap:1rem}.footer-bottom{flex-direction:column;gap:1rem}.footer-bottom summary{margin-left:0;text-align:left}.footer-top>a:last-child{white-space:nowrap;font-size:.75rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.page-nav>a.current{color:#fff;border-bottom:1px solid #aab0a9;padding-bottom:.5rem}
.gallery{column-count:3;column-gap:1.25rem;padding:0 4rem 6.5rem}
.gallery figure{margin:0 0 1.25rem;break-inside:avoid}
.gallery img{width:100%;display:block;border-radius:1px}
@media(max-width:1000px){.gallery{column-count:2;padding:0 2rem 4rem}}
@media(max-width:700px){.gallery{column-count:1;padding:0 1.5rem 3rem;gap:1rem}}
.pricing{padding:6.5rem 0 6.5rem}.pricing>.eyebrow{color:#60665e;margin-bottom:1.25rem}.pricing h2{font-size:clamp(2.6rem,3.7vw,4rem);margin-bottom:1.5rem}.pricing h2 em{color:#6b7267}.pricing-intro{color:#5b6257;max-width:38rem;margin-bottom:3rem}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.pricing-card{border:1px solid var(--rule);padding:2.5rem 2rem;display:flex;flex-direction:column;gap:1.1rem}.pricing-card h3{font-family:var(--serif);font-size:1.65rem;font-weight:400;letter-spacing:-.02em}.pricing-card .price-note{font-size:.8125rem;color:#737b6d;margin-top:-.6rem}.pricing-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem;color:#5b6257;font-size:.9375rem}.pricing-card ul li{padding-left:1.1rem;position:relative}.pricing-card ul li::before{content:'';position:absolute;left:0;top:.6em;width:.5rem;height:1px;background:#9aa68d}.pricing-card .button{margin-top:auto;align-self:flex-start}@media(max-width:1000px){.pricing{padding:4.5rem 0}.pricing-grid{grid-template-columns:1fr;gap:1.25rem}}
.pricing-card{position:relative}.pricing-card.featured{border-color:var(--ink);background:#f4f5f0}.pricing-card .badge{position:absolute;top:-.8rem;left:2rem;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--ink);padding:.35rem .7rem}.price-figure{font-family:var(--serif);font-size:2.1rem;margin:.2rem 0 0;line-height:1.1}.price-figure span{font-size:.8125rem;font-family:var(--sans);color:#737b6d;display:block;margin-top:.2rem}.price-figure-alt{font-size:1.4rem;color:#4b5146}.pricing-subhead{font-family:var(--serif);font-size:1.85rem;font-weight:400;margin:4rem 0 1.25rem;padding-top:3rem;border-top:1px solid var(--rule)}.pricing-subhead-first{margin-top:3rem;padding-top:0;border-top:none}.pricing-note{color:#5b6257;font-size:.9375rem;max-width:42rem;margin-top:1.5rem}.addon-list{display:grid;gap:0;margin:0}.addon-list>div{display:grid;grid-template-columns:16rem 1fr;gap:1.5rem;padding:1.1rem 0;border-top:1px solid var(--rule)}.addon-list>div:last-child{border-bottom:1px solid var(--rule)}.addon-list dt{font-weight:500;color:var(--ink)}.addon-list dd{margin:0;color:#5b6257}@media(max-width:1000px){.pricing-subhead{margin-top:3rem;padding-top:2.5rem}.addon-list>div{grid-template-columns:1fr;gap:.3rem}}
.page-head{padding:7.5rem 0 3.5rem}.page-head .eyebrow{color:#60665e;margin-bottom:1.5rem}.page-head h1{font-family:var(--serif);font-weight:400;font-size:clamp(3rem,5vw,5rem);letter-spacing:-.03em;line-height:1.03;margin-bottom:1.5rem}.page-head h1 em{color:#6b7267}.page-head p{color:#5b6257;max-width:40rem;font-size:1.0625rem;line-height:1.7}.page-head p a{border-bottom:1px solid #9aa68d}.page-head p a:hover{color:#617452}.faq-section{padding-bottom:6.5rem}.faq-item{padding:2.4rem 0;border-top:1px solid var(--rule)}.faq-item:last-child{border-bottom:1px solid var(--rule)}.faq-item h3{font-family:var(--serif);font-size:1.65rem;font-weight:400;margin-bottom:.9rem;letter-spacing:-.02em}.faq-item p{color:#5b6257;max-width:46rem;line-height:1.75}.faq-item p+p{margin-top:1rem}.booking-box{border:1px solid var(--rule);padding:3rem;margin:5rem 0 0}.booking-box h3{font-family:var(--serif);font-size:1.85rem;font-weight:400;margin-bottom:1.6rem;letter-spacing:-.02em}.booking-box ul{list-style:none;margin:0 0 1.6rem;padding:0;display:flex;flex-direction:column;gap:.95rem;color:#5b6257;font-size:.9375rem;max-width:42rem}.booking-box ul strong{color:var(--ink);font-weight:500}.booking-box .faq-link{display:inline-block;font-size:.9375rem;border-bottom:1px solid #9aa68d}.booking-box .faq-link:hover{color:#617452}@media(max-width:1000px){.page-head{padding:5.5rem 0 2.5rem}.booking-box{padding:2.25rem 1.75rem;margin-top:3.5rem}}
.header-right{display:flex;align-items:center;gap:2.25rem}
.nav-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:36px;height:36px;padding:0;border:none;background:none;cursor:pointer;flex-shrink:0}
.nav-toggle span{display:block;width:22px;height:2px;background:#fff;transition:transform .2s ease,opacity .15s ease}
@media(max-width:1000px){.nav-toggle{display:flex}.header-right{gap:1.1rem}.header nav{position:absolute;top:100%;left:0;right:0;margin:0;background:var(--ink);flex-direction:column;align-items:stretch;gap:0;max-height:0;overflow:hidden;opacity:0;visibility:hidden;transition:max-height .25s ease,opacity .2s ease;border-bottom:1px solid #343734;z-index:20}.header nav>a{padding:1.1rem 2rem;border-top:1px solid #343734;font-size:.9375rem}.header.nav-open nav{max-height:22rem;opacity:1;visibility:visible}.header.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.header.nav-open .nav-toggle span:nth-child(2){opacity:0}.header.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}}
.investment-cta{padding:1rem 0 6.5rem}
.investment-cta-inner{border:1px solid var(--ink);background:#f4f5f0;padding:4rem;display:flex;flex-direction:column;align-items:flex-start;gap:1.1rem}
.investment-cta-inner .eyebrow{color:#60665e}
.investment-cta-inner h2{font-size:clamp(2.2rem,3.4vw,3.2rem)}
.investment-cta-inner h2 em{color:#6b7267}
.investment-cta-inner p{color:#5b6257;max-width:34rem}
@media(max-width:700px){.investment-cta{padding:0 0 4rem}.investment-cta-inner{padding:2.25rem 1.5rem}}
.contact-form-section{padding-bottom:7rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem 2rem;margin-bottom:2.5rem}
.form-field{display:flex;flex-direction:column;gap:.6rem;font-size:.875rem;color:#454a41}
.form-field span em{font-style:normal;color:#8b9183;font-size:.8125rem}
.form-field input,.form-field select,.form-field textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--rule);padding:.85rem 1rem;border-radius:0}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--ink);outline-offset:2px}
.form-field textarea{resize:vertical;min-height:9rem}
.form-field-wide{grid-column:1/-1}
.botcheck{position:absolute;left:-9999px}
.form-status{margin-top:1.25rem;font-size:.9375rem}
.form-status-success{color:#3f6b3f}
.form-status-error{color:#9c3b2e}
@media(max-width:700px){.form-grid{grid-template-columns:1fr;gap:1.5rem}}
