:root{--green:#123e33;--deep:#0a2c25;--ink:#193b32;--paper:#f7f8f5;--gold:#d0b287;--line:#d9e0d9;--muted:#52655d;--pad:clamp(24px,6vw,100px)}*{box-sizing:border-box}html{scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #b69560;outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.3;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.2}h1{font-size:clamp(42px,4.5vw,72px);letter-spacing:-.025em}h2{font-size:clamp(32px,3vw,46px);letter-spacing:-.02em}h3{font-size:30px}em{font-weight:400}p{color:var(--muted)}p+p{margin-top:20px}.eyebrow{display:block;font-size:12px;letter-spacing:.17em;font-weight:600;margin-bottom:22px}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:14px}.skip:focus{top:10px}.site-header{height:104px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--deep);color:white;position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff1f}.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}.brand .mark{width:46px;height:50px;stroke:none}.brand>span{font:29px/1 Georgia,serif;letter-spacing:.12em}.brand small{display:block;font:9px/1.6 'DM Sans',Arial,sans-serif;letter-spacing:.17em;margin-top:8px}.desktop-nav{display:flex;align-items:center;gap:38px;font-size:14px}.desktop-nav a{padding:12px 0;position:relative;color:#e1e8e3}.desktop-nav a[aria-current],.desktop-nav a:hover{color:white}.desktop-nav a[aria-current]:after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--gold)}.desktop-nav a:last-child{border:1px solid #ffffff65;padding:10px 24px}.menu-trigger{display:none;color:inherit;background:none;border:1px solid #ffffff60;padding:8px 14px}.menu-dialog{background:var(--deep);color:white;border:0;width:100%;max-width:none;max-height:100dvh;margin:0;padding:25px}.menu-dialog::backdrop{background:#0009}.menu-top{display:flex;align-items:center;justify-content:space-between}.menu-close{border:0;background:none;color:white;padding:12px}.menu-dialog nav{display:grid;margin:32px 0}.menu-dialog nav a{padding:18px 0;border-bottom:1px solid #ffffff30;font-size:22px}.menu-open{overflow:hidden}.home-hero{position:relative;min-height:650px;height:calc(100svh - 104px);max-height:900px;background:#101d19;color:white;isolation:isolate}.hero-film,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(5,20,16,.89),rgba(5,20,16,.55) 43%,rgba(5,20,16,.02) 74%)}.hero-copy{padding:clamp(70px,10vh,120px) var(--pad) 100px;max-width:920px}.hero-copy .eyebrow{color:#ded2bd}.hero-copy h1{font-size:clamp(44px,4.7vw,74px);line-height:1.16}.hero-copy em{color:#dcc8a6}.hero-copy p{color:#e2e5df;margin:28px 0 32px;font-size:17px;line-height:1.7}.link-arrow{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:12px 0;border-bottom:1px solid currentColor;font-size:14px;font-weight:500}.link-arrow svg{width:19px;height:19px}.button{background:var(--green);color:white;border:1px solid var(--green);padding:16px 24px;transition:background .2s,color .2s}.button:hover{background:var(--deep)}.hero-copy .button{background:transparent;border-color:#b8bcac;color:white}.hero-copy .button:hover{background:white;color:var(--deep)}.hero-bottom{position:absolute;bottom:28px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.15em}.video-control{display:flex;gap:10px;align-items:center;background:#08221c99;color:white;border:1px solid #ffffff60;padding:8px 14px;font-size:12px;letter-spacing:0}.section{padding:100px var(--pad)}.home-about{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;background:white}.photo-frame{height:475px;position:relative}.photo-frame>span{position:absolute;bottom:0;left:0;background:var(--green);color:white;font-size:11px;letter-spacing:.12em;padding:14px 22px}.about-copy p{margin-top:24px;max-width:480px}.about-copy .link-arrow{margin-top:24px}.section-heading{max-width:650px}.section-heading p{margin-top:22px}.home-practice{display:grid;grid-template-columns:1fr 1.3fr;gap:8%;border-top:1px solid var(--line)}.practice-list>a{display:grid;grid-template-columns:30px 1fr 22px;gap:20px;padding:34px 0;border-top:1px solid #bfcac1}.practice-list>a:last-child{border-bottom:1px solid #bfcac1}.practice-list p{margin-top:15px;font-size:15px;max-width:440px}.practice-list h3{transition:color .2s}.practice-list a:hover h3{color:#927448}.area-index{font-size:12px;padding-top:8px;color:var(--muted)}.practice-list svg{margin-top:10px}.conversation{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:65px var(--pad);background:#e9eee8;border-top:1px solid var(--line)}.conversation .eyebrow{margin-bottom:12px}.footer{background:var(--deep);color:#e5ece5;padding:60px var(--pad) 24px}.footer-top{display:flex;gap:50px;justify-content:space-between;align-items:flex-start}.footer p{color:#e5ece5}.footer-top>div,.footer nav{font-size:14px}.footer nav{display:grid;gap:8px}.footer-bottom{border-top:1px solid #ffffff25;margin-top:45px;padding-top:22px;font-size:12px;color:#bdccc3}.page-intro{display:grid;grid-template-columns:1fr 1fr;min-height:500px;background:#e9eee8}.page-intro>div{padding:35px 9% 65px calc(var(--pad)*2);padding-left:var(--pad);align-self:center}.page-intro>img{height:100%;max-height:630px;min-height:500px}.page-intro h1{font-size:clamp(42px,4.4vw,66px)}.page-intro p{margin-top:24px;max-width:480px;font-size:17px}.page-intro .eyebrow{font-size:11px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);margin-bottom:44px}.story{display:grid;grid-template-columns:1fr 1.05fr;gap:10%;background:white}.lead{font-size:21px;color:var(--ink);line-height:1.6;margin-bottom:24px}.facts{padding:45px var(--pad);display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;background:var(--green);color:white}.facts>div{display:grid;gap:10px;padding:0 30px;border-left:1px solid #ffffff40}.facts>div:first-child{padding-left:0;border:0}.facts strong{font:42px/1.3 Georgia,serif}.facts span{font-size:14px;color:#dce5dc}.gallery{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;margin-top:45px}.gallery img{height:380px}.gallery .wide{grid-column:1/-1}.gallery .wide img{height:540px}.gallery figcaption{font-size:13px;padding-top:12px;color:var(--muted)}.practice-page{max-width:1250px;margin:auto}.practice-page .practice-list{margin-top:40px}.practice-page .practice-list>a{padding:40px 0}.services{background:#eef1ec}.service-rows{margin-top:35px}.service-rows>div{display:grid;grid-template-columns:40px 1fr 1.3fr;gap:30px;padding:30px 0;border-top:1px solid var(--line);align-items:start}.service-rows>div>span{font-size:12px;padding-top:9px}.service-rows h3{font-size:28px}.related{padding-top:40px;padding-bottom:40px;background:white}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:white}.contact-details>div+div{border-left:1px solid var(--line);padding-left:15%}.contact-details p{margin-top:24px;max-width:460px}.contact-details .link-arrow{margin-top:28px}.error-page main{padding:12vh var(--pad)}.error-page p{margin:30px 0} @media(min-width:1700px){:root{--pad:max(100px,calc((100vw - 1500px)/2))}}@media(max-width:1000px){.desktop-nav{gap:22px}.brand>span{font-size:24px}.home-practice{grid-template-columns:1fr;gap:40px}.home-about{gap:6%}.photo-frame{height:430px}.footer-top{gap:30px}.page-intro>div{padding-right:30px}.story{gap:6%}.facts strong{font-size:34px}}@media(max-width:760px){.site-header{height:84px}.brand .mark{width:35px;height:40px}.brand>span{font-size:23px}.brand small{font-size:8px}.desktop-nav{display:none}.menu-trigger{display:flex;gap:12px;font-size:13px}.home-hero{height:auto;min-height:670px;max-height:none}.hero-film{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#071b16e8,#071b1699 65%,#071b1640)}.hero-copy{padding-top:76px;padding-bottom:120px}.hero-copy h1{font-size:clamp(40px,7.6vw,56px)}.hero-copy p{font-size:16px;max-width:340px}.hero-copy .eyebrow{font-size:10px}.hero-bottom{font-size:9px;gap:15px;letter-spacing:.08em}.desktop-break{display:none}.section{padding:60px var(--pad)}.home-about,.story,.contact-details{grid-template-columns:1fr;gap:36px}.photo-frame{height:350px}.home-about .about-copy{grid-row:1}.about-copy p{max-width:none}.home-practice{gap:32px}.practice-list>a{grid-template-columns:22px 1fr 19px;gap:12px}.practice-list h3{font-size:26px}.conversation{padding:45px var(--pad);align-items:flex-start;flex-direction:column;gap:24px}.footer{padding-top:45px}.footer-top{display:grid;grid-template-columns:1fr;gap:30px}.footer nav{grid-template-columns:1fr 1fr;gap:14px}.page-intro{grid-template-columns:1fr}.page-intro>div{padding:26px var(--pad) 40px}.page-intro>img{height:300px;min-height:0;max-height:none}.page-intro h1{font-size:46px}.breadcrumbs{margin-bottom:32px}.facts{grid-template-columns:1fr;gap:24px;padding:40px var(--pad)}.facts>div,.facts>div:first-child{border:0;border-bottom:1px solid #ffffff30;padding:0 0 24px}.facts>div:last-child{border:0;padding-bottom:0}.facts strong{font-size:38px}.gallery{grid-template-columns:1fr;gap:26px;margin-top:30px}.gallery img,.gallery .wide img{height:310px}.gallery .wide{grid-column:auto}.service-rows>div{grid-template-columns:24px 1fr;gap:14px}.service-rows p{grid-column:2}.service-rows h3{font-size:26px}.related{padding-top:30px;padding-bottom:30px}.contact-details>div+div{border:0;border-top:1px solid var(--line);padding:35px 0 0}.contact-details h2{font-size:32px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Home header overlays the film; only its paint changes on scroll. */
.page-home .site-header{position:fixed;inset:0 0 auto;background:transparent;border-bottom-color:transparent;transition:background-color 320ms ease,border-color 320ms ease}
.page-home .site-header.is-scrolled{background:var(--deep);border-bottom-color:#ffffff1f}
.page-home .home-hero{height:100svh;min-height:754px;max-height:1004px}
.page-home .hero-copy{max-width:none;padding-top:calc(104px + clamp(70px,10vh,120px))}
.page-home .hero-copy h1{max-width:800px}
@media(max-width:760px){.page-home .home-hero{height:auto;min-height:754px;max-height:none}.page-home .hero-copy{padding-top:160px}}
@media(prefers-reduced-motion:reduce){.page-home .site-header{transition:none}}
