@import url('/theme.css');
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--background);color:var(--text);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(3rem,5.7vw,6rem);margin-bottom:1.5rem}h1 span,h2 span{display:block}h2{font-size:clamp(2.25rem,4.1vw,4.4rem);max-width:960px;margin-bottom:1.5rem}h3{font-size:1.25rem;font-weight:500;line-height:1.3}p{max-width:740px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:fixed;top:-100px;left:12px;padding:12px;background:var(--paper);color:var(--background);z-index:100}.skip:focus{top:10px}.eyebrow{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);line-height:1.6;font-weight:600;margin-bottom:1.4rem}.lead{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.7;color:var(--muted)}.nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 4vw;min-height:96px;background:var(--background);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{border-radius:50%;object-fit:cover}.brand span{font:500 1rem/1.4 var(--sans);letter-spacing:.13em}.brand small{display:block;font-size:.75rem;letter-spacing:0;color:var(--muted);margin-top:3px}.nav nav{display:flex;align-items:center;gap:24px;font-size:.875rem}.nav nav a{padding:12px 0;white-space:nowrap;border-bottom:1px solid transparent}.nav nav a[aria-current]{border-color:var(--accent);color:var(--accent)}.nav nav a:hover{color:var(--accent)}.nav-contact{color:var(--accent)}.menu-button{display:none;background:none;border:1px solid var(--border);color:var(--text);padding:10px 14px;min-height:44px}.menu-button span{margin-left:12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--accent);color:var(--background);border:1px solid var(--accent);padding:16px 24px;min-height:54px;font-size:.9rem;font-weight:600;transition:background .2s}.button:hover{background:var(--paper)}.button span{font-size:1.25rem}.hero{position:relative;min-height:calc(100svh - 96px);height:800px;max-height:1000px;isolation:isolate;display:flex;align-items:center;padding:7vw 6vw 160px;overflow:hidden;background:var(--background)}.slides,.slide,.slide picture,.scene>picture{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.slide{opacity:0;transition:opacity 1.4s;pointer-events:none}.slide.active{opacity:1}.slide img{height:100%;width:100%;object-fit:cover;object-position:var(--focal);transform:scale(1.025)}.slide.active img{animation:slow-pan 8s ease-out forwards}.hero.paused .slide img{animation-play-state:paused}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,16,15,.83),rgba(7,16,15,.39) 55%,rgba(7,16,15,.1)),linear-gradient(0deg,rgba(7,16,15,.82),transparent 40%)}.hero-copy{max-width:760px}.hero h1{font-size:clamp(3.2rem,6.8vw,7.2rem);max-width:880px;text-shadow:0 2px 30px #1115}.hero-copy>p:not(.eyebrow){font-size:1.125rem;max-width:470px;line-height:1.65;margin-bottom:2rem;color:#f3f2eb}.hero-bottom{position:absolute;bottom:66px;left:6vw;right:6vw;display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid #ffffff50;padding-top:22px}.hero-bottom ul{list-style:none;display:flex;gap:30px;padding:0;margin:0;font-size:.875rem}.gallery-controls{display:flex;align-items:center;gap:8px}.gallery-controls>span{font-size:.875rem;letter-spacing:.12em;margin-right:15px;min-width:65px}.gallery-controls button{background:#101918aa;color:white;border:1px solid #ffffff70;width:44px;height:44px;font-size:1.1rem}.gallery-controls button:hover{background:var(--accent);color:var(--background)}.photo-credit{position:absolute;bottom:22px;left:6vw;font-size:.75rem;color:#fff;letter-spacing:.02em;background:#101918bf;padding:4px 8px}.chapter{padding:110px 7vw;display:grid;grid-template-columns:.6fr 1.4fr;gap:8vw}.chapter>p.eyebrow{padding-top:9px}.chapter h2{max-width:820px}.text-link{display:inline-flex;align-items:center;gap:40px;border-bottom:1px solid currentColor;padding:12px 0;font-size:.95rem;color:var(--accent);min-height:44px}.scene{position:relative;isolation:isolate;min-height:85svh;display:flex;align-items:flex-end;padding:9vw 7vw;overflow:hidden}.scene img{width:100%;height:100%;object-fit:cover;object-position:var(--focal)}.scene:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#0a1514e8,transparent 85%)}.scene h2{font-size:clamp(2.8rem,6vw,6rem);max-width:900px}.scene-caption p:not(.eyebrow){max-width:520px;font-size:1.1rem}.pillars,.section{padding:110px 7vw}.pillars{background:var(--paper);color:var(--background)}.pillars .eyebrow,.light .eyebrow{color:#74603d}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;margin-top:55px}.detail-grid.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.detail-grid article{border-top:1px solid var(--border);padding-top:24px}.ordinal{font-size:.875rem;letter-spacing:.12em;color:var(--accent);display:block;margin-bottom:32px}.detail-grid p{color:var(--muted);font-size:1rem}.pillars p,.light p{color:#52615a}.pillars .ordinal,.light .ordinal{color:#756140}.pillars .detail-grid article,.light .detail-grid article{border-color:#b9c1b8}.closing .page-links{border-top:1px solid var(--border)}.page-links a{display:grid;grid-template-columns:35px 1fr 30px;gap:18px;border-bottom:1px solid var(--border);padding:26px 0}.page-links h3{margin-bottom:6px}.page-links p{font-size:.9rem;color:var(--muted);margin:0}.page-links small,.page-links>a>span{color:var(--accent)}.page-links a:hover h3{text-decoration:underline;text-underline-offset:5px}.faq{background:var(--surface)}.faq details{border-top:1px solid var(--border);padding:23px 0}.faq details:last-child{border-bottom:1px solid var(--border)}.faq summary{font-size:1.125rem;cursor:pointer;min-height:44px;display:list-item;padding-right:20px}.faq details p{color:var(--muted);padding-top:15px;margin-bottom:0}.contact{padding:100px 7vw;background:var(--paper);color:var(--background);display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;scroll-margin-top:20px}.contact .eyebrow{color:#756140}.contact h2{font-size:clamp(2.5rem,4vw,4rem)}.contact>div>p{color:#52615a}.contact>div>a{display:block;overflow-wrap:anywhere;min-height:44px}.contact-email{font-size:clamp(1.1rem,2vw,1.6rem);margin:30px 0 10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}form label{display:flex;flex-direction:column;gap:9px;font-size:.875rem;margin-bottom:23px}input,select,textarea{width:100%;min-width:0;padding:12px 10px;background:transparent;border:0;border-bottom:1px solid #819083;border-radius:0;color:var(--background);min-height:44px}input:focus,select:focus,textarea:focus{outline:2px solid #776449;outline-offset:3px}textarea{resize:vertical}.form-note{font-size:.875rem;color:#52615a}.consent{flex-direction:row;align-items:start;line-height:1.5}.consent input{width:20px;height:20px;min-height:20px;flex-shrink:0;margin:1px 5px 0 0;accent-color:#233a2f}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}#form-status{font-size:.9rem;margin-top:18px}footer{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:40px;padding:60px 7vw 25px;border-top:1px solid var(--border);align-items:start}footer p{font-size:.95rem;color:var(--muted)}footer>div{display:grid;gap:10px;font-size:.9rem}footer>div>span{color:var(--muted)}footer small{grid-column:1/-1;border-top:1px solid var(--border);padding-top:25px;font-size:.75rem;color:var(--muted)}.page-hero{padding:90px 7vw;display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center}.page-hero figure{position:relative}.page-hero picture{display:block;height:580px}.page-hero img{width:100%;height:100%;object-fit:cover;object-position:var(--focal)}figcaption{font-size:.75rem;color:var(--muted);padding:12px 0}.light{background:var(--paper);color:var(--background)}.light .lead{color:#52615a}.dark{background:var(--surface)}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #b9c1b8;border-bottom:1px solid #b9c1b8}.metrics article{padding:30px 22px;border-right:1px solid #b9c1b8}.metrics article:first-child{padding-left:0}.metrics article:last-child{border:0}.metrics strong{display:block;font-family:var(--serif);font-size:clamp(2rem,3vw,3.5rem);font-weight:400;line-height:1.25;margin-top:20px;white-space:nowrap}.metrics small{font-size:.875rem}.metrics .negative{color:#9c3e32}.timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:35px 0}.timeline div{display:grid;gap:7px}.timeline strong{font-weight:500}.data-note{font-size:.9rem;max-width:100%;padding:20px;border-left:2px solid #8d7951;background:#e9eae1}.case-lesson{margin-top:80px;padding-top:50px;border-top:1px solid #b9c1b8}.light .text-link{color:#6e5530}.service-list article{display:grid;grid-template-columns:70px 1fr;gap:25px;padding:45px 0;border-bottom:1px solid #b9c1b8}.service-list article:first-child{padding-top:0}.service-list h2{font-size:clamp(1.8rem,3vw,3rem)}.service-list p{max-width:820px}.service-list small{color:#52615a;font-size:.9rem}.service-list .ordinal{padding-top:10px}.planning{display:grid;grid-template-columns:1fr 1fr}.planning picture{display:block;height:100%;min-height:650px}.planning img{width:100%;height:100%;object-fit:cover;object-position:var(--focal)}.planning figure{position:relative}.planning figcaption{position:absolute;bottom:0;left:20px;background:#101918c9;padding:5px 10px;color:white}.planning>div{padding:80px 5vw;align-self:center}.planning p,.planning li{color:var(--muted)}.planning li{margin-bottom:12px}.process{list-style:none;padding:0;margin:45px 0 0}.process li{display:grid;grid-template-columns:60px 1fr;border-top:1px solid #b9c1b8;padding:23px 0}.process p{margin:0;font-size:1.125rem}.closing-note{margin:60px 0 0;color:var(--accent)}
@keyframes slow-pan{from{transform:scale(1.025)}to{transform:scale(1.09)}}
@media(min-width:1500px){.hero{height:calc(100svh - 96px)}}
@media(max-width:1200px){.nav nav{gap:16px;font-size:.875rem}.nav-contact{display:none}.detail-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.page-hero{gap:4vw}.page-hero h1{font-size:4rem}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics article{border-bottom:1px solid #b9c1b8}.metrics article:nth-child(2){border-right:0}.metrics article:nth-child(3){padding-left:0;border-bottom:0}}
@media(max-width:1050px){.nav{padding:15px 5vw;min-height:80px}.brand img{width:40px;height:40px}.menu-button{display:block}.nav nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--background);padding:20px 6vw;border-bottom:1px solid var(--border);font-size:1rem}.nav nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav-contact{display:block}.hero{min-height:calc(100svh - 80px);height:850px;max-height:1000px;padding-top:90px}.hero h1{font-size:clamp(3.2rem,8.6vw,5.2rem)}.hero-bottom ul{gap:20px}.chapter{gap:35px;grid-template-columns:.5fr 1.5fr}.detail-grid{gap:28px}.contact{gap:40px}.page-hero{grid-template-columns:1fr;padding:60px 6vw}.page-hero h1{font-size:clamp(3rem,7vw,5rem)}.page-hero picture{height:450px}.planning{grid-template-columns:1fr}.planning picture{height:60svh;min-height:400px}.planning>div{padding:70px 7vw}footer{gap:25px;grid-template-columns:1fr 1fr}footer>div{grid-column:2}.hero-bottom{gap:20px}.hero-bottom ul{font-size:.875rem}.gallery-controls{gap:5px}.gallery-controls>span{margin-right:0}}
@media(max-width:700px){h1{font-size:3rem}h2{font-size:2.5rem}.hero{height:calc(100svh - 80px);min-height:710px;max-height:none;padding:60px 6vw 190px;align-items:center}.hero h1{font-size:clamp(2.6rem,10.5vw,4rem)}.hero-copy>p:not(.eyebrow){font-size:1rem}.hero:after{background:linear-gradient(0deg,#0b1917e8,rgba(7,16,15,.28) 100%),linear-gradient(90deg,#0b191755,transparent)}.hero-bottom{flex-wrap:wrap;bottom:65px;gap:15px;padding-top:18px}.hero-bottom ul{justify-content:space-between;width:100%;gap:10px;font-size:.75rem}.gallery-controls{margin-left:auto}.gallery-controls button{height:44px}.photo-credit{font-size:.75rem;bottom:18px;max-width:88%;line-height:1.4}.slide img,.scene img,.page-hero img,.planning img{object-position:var(--mobile-focal)}.chapter{display:block;padding:70px 6vw}.chapter>p.eyebrow{margin-bottom:30px}.scene{min-height:82svh;padding:90px 6vw}.scene h2{font-size:2.9rem}.scene-caption p:not(.eyebrow){font-size:1rem}.pillars,.section{padding:70px 6vw}.detail-grid,.detail-grid.four{grid-template-columns:1fr;gap:30px;margin-top:40px}.detail-grid article{display:grid;grid-template-columns:36px 1fr;column-gap:18px}.detail-grid .ordinal{grid-row:1/3;margin-top:2px}.detail-grid h3{margin-bottom:10px}.detail-grid p{grid-column:2;margin-bottom:0}.closing .page-links{margin-top:35px}.faq h2{margin-bottom:35px}.contact{grid-template-columns:1fr;padding:70px 6vw}.form-grid{gap:18px}.contact h2{font-size:2.8rem}.contact-email{font-size:1.3rem}footer{grid-template-columns:1fr;gap:20px;padding:45px 6vw 25px}footer>div{grid-column:1}footer p{margin-bottom:0}.page-hero{padding:50px 6vw 30px}.page-hero picture{height:430px}.page-hero h1{font-size:2.9rem}.metrics article{padding:22px 12px}.metrics strong{font-size:clamp(1.6rem,6.5vw,2.4rem);white-space:normal}.metrics small{font-size:.875rem}.timeline{grid-template-columns:1fr;gap:18px}.timeline div{grid-template-columns:60px 1fr;gap:12px}.service-list article{grid-template-columns:30px 1fr;gap:16px;padding:35px 0}.service-list h2{font-size:2rem}.process li{grid-template-columns:38px 1fr}.case-lesson{margin-top:50px}.button{padding:14px 18px;gap:20px;font-size:.875rem}}
@media(max-width:370px){.brand span{font-size:.8rem}.brand small{display:none}.brand{gap:8px}.menu-button{font-size:.875rem;padding:10px}.brand img{width:34px;height:34px}.form-grid{grid-template-columns:1fr;gap:0}.hero h1{font-size:2.55rem}.hero-bottom ul{font-size:.75rem}.scene h2{font-size:2.4rem}}
@media(max-height:600px) and (orientation:landscape){.hero{height:auto;min-height:690px;padding-top:70px}.scene{min-height:650px}.nav{min-height:70px}.nav nav.open{max-height:calc(100svh - 70px);overflow:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.slide img{transform:none}}
