:root{--paper:#f5f2eb;--ink:#30372c;--muted:#676d5f;--olive:#414c38;--line:#30372c29;--sand:#e8e3d8;--ease:cubic-bezier(.22,1,.36,1);--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.045em;line-height:1.02;text-wrap:balance}h1 em,h2 em{font-weight:400;color:#727964}p{line-height:1.8;text-wrap:pretty}button,a{-webkit-tap-highlight-color:transparent}button:active{transform:translateY(1px)}[hidden]{display:none!important}::selection{color:var(--paper);background:var(--olive)}:focus-visible{outline:2px solid #8b623c;outline-offset:6px}.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}.section-space{padding-block:105px}.eyebrow{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:12px;z-index:100;padding:12px 18px;background:var(--paper);color:var(--ink);transform:translateY(-180%)}.skip-link:focus{transform:none}
.demo-ribbon{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:10px max(30px,calc((100vw - 1320px)/2));background:#30372c;color:#f5f2eb;font-size:10px;letter-spacing:.015em;line-height:1.5}.demo-ribbon a{display:inline-flex;gap:17px;align-items:center}.demo-ribbon a:hover{text-decoration:underline;text-underline-offset:4px}.demo-ribbon a>span{font-size:15px}
.site-header{position:sticky;top:0;z-index:20;background:#f5f2ebf5;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:30px}.wordmark{position:relative;display:block;width:max-content;font-family:var(--serif);font-size:43px;letter-spacing:-.065em;line-height:.9}.wordmark-small{display:block;font-family:var(--sans);font-size:8px;font-weight:500;letter-spacing:.32em;line-height:1.8;padding-left:3px}.brand-dot{color:#8e7c57}.header-inner nav{display:flex;align-items:center;gap:34px}.header-inner nav a{font-size:12px;line-height:1.5;padding-block:10px}.header-inner nav a:not(.nav-cta):hover{text-decoration:underline;text-underline-offset:7px}.header-inner .nav-cta{margin-left:16px;display:flex;align-items:center;gap:26px;border:1px solid #30372c55;padding:12px 19px;transition:background .2s,color .2s}.nav-cta:hover{background:var(--ink);color:var(--paper)}.menu-toggle{display:none;border:0;background:none;color:var(--ink);padding:12px;font-size:12px;align-items:center;gap:14px}.menu-toggle span{font-size:24px;font-weight:400;transition:transform .2s}.menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}
.hero{padding-top:65px}.hero-heading{display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:48px;margin-bottom:42px}.hero-heading .eyebrow{margin-bottom:21px}.hero h1{font-size:clamp(58px,6.8vw,96px)}.hero-intro{max-width:330px;justify-self:end;padding-bottom:7px}.hero-intro p{font-size:13px;color:var(--muted)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.6;transition:gap .25s var(--ease),border-color .25s}.text-link:hover{gap:47px;border-color:var(--ink)}.text-link span{font-size:20px;line-height:1}.hero-intro .text-link{margin-top:26px}.hero-visual{display:block;position:relative;overflow:hidden;background:#c9bda6;aspect-ratio:2.05}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:center 56%;transition:transform 1s var(--ease)}.hero-visual:hover>img{transform:scale(1.025)}.hero-project{position:absolute;bottom:27px;left:28px;min-width:300px;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:20px 23px;background:#f5f2ebeF;backdrop-filter:blur(10px)}.hero-project small{display:block;font-size:8px;letter-spacing:.1em;margin-bottom:8px}.hero-project strong{font-family:var(--serif);font-weight:400;font-size:29px;letter-spacing:-.03em}.circle-arrow{display:grid;place-items:center;border:1px solid var(--line);width:40px;height:40px;border-radius:50%;font-size:23px}.hero-image-note{position:absolute;right:20px;bottom:20px;font-size:9px;color:#fff;background:#30372c88;padding:5px 8px}.hero-foot{display:flex;justify-content:space-between;gap:20px;padding-top:18px;font-size:10px;color:var(--muted)}.hero-foot>a{display:inline-flex;gap:30px}.hero-foot>a:hover{color:var(--ink)}
.intro{display:grid;grid-template-columns:1fr 3fr;gap:40px;border-bottom:1px solid var(--line)}.section-number{padding-top:10px}.intro h2{font-size:clamp(39px,4vw,59px);line-height:1.12}.intro-body{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin-top:30px;max-width:820px}.intro-body p{font-size:13px;color:var(--muted)}
.section-top{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-top .eyebrow{margin-bottom:19px}.section-top h2{font-size:clamp(47px,5.4vw,74px)}.section-top>p{font-size:12px;color:var(--muted);margin-bottom:7px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:40px;margin-bottom:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:16px}.filters{display:flex;gap:9px;flex-wrap:wrap}.filters button{border:1px solid transparent;background:none;color:var(--muted);font-size:11px;padding:10px 14px;min-height:40px;transition:background .2s,color .2s}.filters button[aria-pressed=true]{background:var(--olive);color:var(--paper)}.filters button:hover{border-color:#30372c44}.filters button span{font-size:8px;margin-left:9px}.gallery-note{font-size:9px;color:var(--muted);white-space:nowrap}.projects-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:60px 54px;align-items:start}.project-card:nth-child(even){margin-top:80px}.projects-grid:has([hidden]) .project-card{margin-top:0}.project-link{display:block}.project-image{position:relative;overflow:hidden;background:var(--sand);aspect-ratio:1.39}.project-card:nth-child(even) .project-image{aspect-ratio:1.19}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.project-link:hover img,.project-link:focus-visible img{transform:scale(1.035)}.project-open{position:absolute;right:16px;bottom:16px;padding:11px 15px;background:var(--paper);font-size:10px;opacity:0;transform:translateY(7px);transition:opacity .25s,transform .25s}.project-link:hover .project-open,.project-link:focus-visible .project-open{opacity:1;transform:none}.project-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:19px}.project-caption .eyebrow{font-size:8px;letter-spacing:.07em;color:var(--muted)}.project-caption h3{font-family:var(--serif);font-size:32px;line-height:1.1;letter-spacing:-.03em;margin-top:7px}.project-number{align-self:start;padding-top:4px;color:var(--muted);font-size:10px}.project-disclaimer{border-top:1px solid var(--line);margin-top:45px;padding-top:18px;font-size:10px;color:var(--muted);max-width:750px}
.expertise{padding-block:90px;background:var(--sand)}.expertise-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:110px}.expertise-intro h2{font-size:clamp(45px,4.7vw,68px);margin-top:22px}.expertise-intro>p:not(.eyebrow){margin-top:24px;color:var(--muted);font-size:13px}.expertise-intro .text-link{margin-top:30px}.expertise-list article{display:grid;grid-template-columns:40px 1fr;gap:18px;padding:27px 0;border-top:1px solid var(--line)}.expertise-list article:last-child{border-bottom:1px solid var(--line)}.expertise-index{font-size:10px;padding-top:8px;color:var(--muted)}.expertise-list h3{font-family:var(--serif);font-size:31px;line-height:1.15;letter-spacing:-.025em}.expertise-list p{font-size:12px;margin-top:12px;max-width:46ch;color:var(--muted)}
.approach{display:grid;grid-template-columns:1.1fr 1fr;gap:110px;align-items:center}.approach-image{position:relative;aspect-ratio:.95;background:var(--sand)}.approach-image img{width:100%;height:100%;object-fit:cover;object-position:42% center}.approach-image>span{position:absolute;left:24px;bottom:24px;color:var(--paper);font-family:var(--serif);font-size:32px;font-style:italic;background:#30372caa;padding:8px 16px}.approach-copy h2{font-size:clamp(45px,4.7vw,68px);margin-top:23px}.steps{padding:0;list-style:none;margin:34px 0 0}.steps li{display:grid;grid-template-columns:25px 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--line)}.steps li>span{font-size:9px;color:var(--muted);padding-top:5px}.steps h3{font-size:13px;font-weight:500}.steps p{font-size:12px;color:var(--muted);margin-top:6px;max-width:37ch}
.contact-section{background:var(--olive);color:var(--paper);padding-block:75px}.contact-inner h2{font-size:clamp(57px,7.6vw,105px);margin-top:26px;line-height:1.02}.contact-inner h2 em{color:#cad0bc}.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:60px;border-top:1px solid #f5f2eb44;padding-top:30px;margin-top:38px}.contact-bottom>p{font-size:13px;max-width:48ch;color:#e3e5d9}.contact-button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:20px 24px;min-height:60px;background:var(--paper);color:var(--ink);font-size:12px;transition:background .2s,transform .2s;flex-shrink:0}.contact-button:hover{background:#e1e5d5;transform:translateY(-2px)}.contact-button:active{transform:none}.contact-button span{font-size:24px}.contact-disclaimer{margin-top:24px;color:#d3d8c7;font-size:10px;max-width:80ch}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-block:38px}.site-footer .wordmark{font-size:37px}.site-footer p{font-size:10px;color:var(--muted)}.site-footer>a:last-child{font-family:var(--sans);font-size:11px;letter-spacing:0}.site-footer>a:last-child span{margin-left:25px}.site-footer>a:last-child:hover{text-decoration:underline;text-underline-offset:5px}
.project-heading{padding-top:55px;padding-bottom:40px}.back-link{display:inline-block;font-size:11px;color:var(--muted);margin-bottom:40px}.back-link:hover{text-decoration:underline;text-underline-offset:4px}.project-heading>.eyebrow{margin-bottom:17px}.project-heading h1{font-size:clamp(54px,7.1vw,96px)}.project-lead{max-width:65ch;color:var(--muted);font-size:14px;margin-top:20px}.project-cover>a{display:block;position:relative;background:var(--sand)}.project-cover img{width:100%;height:auto;max-height:800px;object-fit:cover}.image-zoom{position:absolute;right:23px;bottom:23px;background:var(--paper);padding:14px 19px;font-size:11px}.project-cover figcaption{font-size:9px;color:var(--muted);padding-top:12px}.project-story{display:grid;grid-template-columns:1fr 1.4fr;gap:100px;padding-block:80px}.project-story h2{font-size:clamp(38px,4vw,58px);margin-top:21px;max-width:14ch}.story-copy>p{font-size:14px;line-height:1.95;color:var(--muted)}.story-copy>p+p{margin-top:17px}.project-facts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;border-top:1px solid var(--line);margin:30px 0 0;padding-top:24px}.project-facts dt{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.project-facts dd{margin:10px 0 0;font-size:12px;line-height:1.7}.next-project{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:32px 38px}.next-project>a{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:15px}.next-project h2{font-size:clamp(38px,4.7vw,64px)}.next-project>a>span{font-size:48px;transition:transform .2s}.next-project>a:hover>span{transform:translate(4px,-4px)}
.dialog-open{overflow:hidden}.image-dialog{border:0;padding:50px 20px 15px;background:#262d23;color:var(--paper);max-width:min(96vw,1500px);max-height:94dvh;overflow:auto}.image-dialog::backdrop{background:#20261de8;backdrop-filter:blur(5px)}.image-dialog img{display:block;max-width:100%;max-height:calc(94dvh - 115px);width:auto;height:auto;object-fit:contain;margin:auto}.dialog-close{position:absolute;right:15px;top:8px;min-height:35px;padding:7px 12px;border:1px solid #f5f2eb66;background:transparent;color:var(--paper);font-size:12px}.dialog-close:hover{background:#ffffff18}#dialog-caption{font-size:11px;text-align:center;color:#d8dece;margin-top:13px}
@media(prefers-reduced-motion:no-preference){.js-motion [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.js-motion [data-reveal].is-visible{opacity:1;transform:none}}
@media(max-width:1100px){.wrap{width:calc(100% - 80px)}.header-inner nav{gap:22px}.header-inner .nav-cta{margin-left:0;gap:18px;padding-inline:14px}.hero-heading{grid-template-columns:1.5fr 1fr;gap:35px}.hero h1{font-size:70px}.hero-intro{max-width:290px}.hero-visual{aspect-ratio:1.8}.intro{grid-template-columns:1fr 3.5fr;gap:30px}.projects-grid{gap:45px 35px}.expertise-grid,.approach{gap:65px}.project-story{gap:55px}.project-facts{gap:15px}}
@media(max-width:800px){html{scroll-padding-top:100px}.wrap{width:calc(100% - 48px)}.demo-ribbon{font-size:9px;padding-inline:24px;gap:12px}.demo-ribbon a{gap:9px}.header-inner{min-height:86px;flex-wrap:wrap;gap:0}.wordmark{font-size:37px}.header-inner nav{width:100%;padding-block:15px 22px;gap:7px;flex-direction:column;align-items:stretch;border-top:1px solid var(--line)}.header-inner nav a{padding:13px 4px;font-size:13px}.header-inner .nav-cta{justify-content:space-between;margin-top:5px;padding-inline:14px}.js .menu-toggle{display:flex}.js #site-nav{display:none}.js #site-nav.is-open{display:flex;max-height:calc(100dvh - 106px);overflow-y:auto;overscroll-behavior:contain}.hero{padding-top:44px}.hero-heading{grid-template-columns:1fr;gap:27px;margin-bottom:30px}.hero h1{font-size:clamp(56px,9vw,76px)}.hero-intro{display:flex;justify-content:space-between;gap:35px;max-width:none;width:100%;align-items:end}.hero-intro p{font-size:12px;max-width:33ch}.hero-intro .text-link{margin-top:0;font-size:11px;gap:20px;white-space:nowrap}.hero-visual{aspect-ratio:1.4}.hero-project{left:20px;bottom:20px;min-width:270px;padding:16px 18px}.hero-project strong{font-size:26px}.hero-image-note{right:12px;bottom:12px;font-size:8px;max-width:135px}.section-space{padding-block:70px}.intro{grid-template-columns:1fr;gap:25px}.intro h2{font-size:45px}.intro-body{gap:30px;margin-top:25px}.section-top{gap:25px}.section-top h2{font-size:55px}.section-top>p{font-size:11px;max-width:27ch}.gallery-toolbar{margin-top:30px;gap:10px}.filters{gap:5px}.filters button{font-size:10px;padding-inline:10px}.gallery-note{display:none}.projects-grid{gap:35px 26px;grid-template-columns:1fr 1fr}.project-card:nth-child(even){margin-top:50px}.project-caption h3{font-size:27px}.project-caption .eyebrow{font-size:7px}.project-number{display:none}.project-open{opacity:1;transform:none;font-size:9px;right:10px;bottom:10px;padding:8px 10px}.expertise{padding-block:65px}.expertise-grid{gap:35px;grid-template-columns:1fr 1.2fr}.expertise-intro h2{font-size:48px}.expertise-list h3{font-size:27px}.expertise-list article{grid-template-columns:22px 1fr;gap:10px}.approach{gap:40px}.approach-copy h2{font-size:48px}.approach-image{aspect-ratio:.75}.approach-image>span{left:15px;bottom:15px;font-size:25px;padding:7px 12px}.steps{margin-top:25px}.steps li{gap:12px;padding-block:16px}.contact-section{padding-block:60px}.contact-inner h2{font-size:75px}.contact-bottom{gap:25px}.contact-bottom>p{font-size:12px}.contact-button{gap:22px;font-size:11px;padding:17px 20px}.site-footer{gap:25px}.site-footer p{font-size:9px}.site-footer>a:last-child{font-size:10px}.site-footer>a:last-child span{margin-left:8px}.project-heading{padding-top:40px}.project-heading h1{font-size:64px}.project-story{grid-template-columns:1fr;gap:30px;padding-block:55px}.project-story h2{max-width:25ch;font-size:47px}.project-facts{gap:25px}}
@media(max-width:560px){.wrap{width:calc(100% - 36px)}.demo-ribbon{padding:9px 18px;font-size:8px;gap:10px}.ribbon-detail{display:none}.demo-ribbon a{gap:6px}.header-inner{min-height:80px}.wordmark{font-size:35px}.wordmark-small{font-size:7px}.hero{padding-top:37px}.hero .eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:18px}.hero h1{font-size:clamp(48px,12vw,66px)}.hero-heading{gap:24px}.hero-intro{display:block}.hero-intro p{max-width:37ch;font-size:12px}.hero-intro .text-link{margin-top:18px}.hero-visual{aspect-ratio:.95}.hero-visual>img{object-position:47% center}.hero-project{left:14px;right:14px;bottom:35px;min-width:0;padding:15px 17px;gap:12px}.hero-project strong{font-size:27px}.hero-project small{font-size:7px}.circle-arrow{width:34px;height:34px;font-size:20px}.hero-image-note{left:14px;right:auto;bottom:8px;max-width:none;background:#30372caa;font-size:7px}.hero-foot{font-size:8px;gap:12px;padding-top:14px}.hero-foot>a{gap:12px}.section-space{padding-block:55px}.eyebrow{font-size:9px}.intro{gap:20px}.intro h2{font-size:37px;line-height:1.1}.intro-body{grid-template-columns:1fr;gap:17px;margin-top:24px}.intro-body p{font-size:12px}.section-top{display:block}.section-top .eyebrow{margin-bottom:17px}.section-top h2{font-size:48px}.section-top>p{max-width:40ch;margin-top:20px;font-size:12px}.gallery-toolbar{margin-top:24px;margin-bottom:24px;padding-block:12px}.filters{gap:5px}.filters button{font-size:10px;padding:9px 10px;min-height:38px}.filters button span{margin-left:5px}.projects-grid{grid-template-columns:1fr;gap:33px}.project-card:nth-child(even){margin-top:0}.project-image,.project-card:nth-child(even) .project-image{aspect-ratio:1.22}.project-caption{padding-top:14px}.project-caption h3{font-size:30px}.project-caption .eyebrow{font-size:8px}.project-number{display:block}.project-disclaimer{margin-top:30px;padding-top:15px;font-size:9px}.expertise{padding-block:52px}.expertise-grid{grid-template-columns:1fr;gap:35px}.expertise-intro h2{font-size:49px;margin-top:18px}.expertise-intro>p:not(.eyebrow){margin-top:20px;font-size:12px}.expertise-intro .text-link{margin-top:23px}.expertise-list h3{font-size:30px}.expertise-list article{grid-template-columns:25px 1fr;gap:15px;padding-block:24px}.expertise-list p{font-size:12px}.approach{grid-template-columns:1fr;gap:35px}.approach-image{aspect-ratio:1.06}.approach-copy h2{font-size:49px}.steps li{padding-block:20px;gap:16px}.steps p{max-width:40ch}.contact-section{padding-block:48px}.contact-inner h2{font-size:clamp(49px,12vw,68px);margin-top:23px}.contact-bottom{display:block;padding-top:23px;margin-top:27px}.contact-bottom>p{font-size:12px}.contact-button{display:flex;width:100%;margin-top:25px;padding:17px 20px;font-size:12px;gap:15px}.contact-disclaimer{font-size:9px;line-height:1.8;margin-top:20px}.site-footer{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:24px;padding-block:30px}.site-footer p{font-size:9px;justify-self:end;text-align:right;max-width:25ch}.site-footer>a:last-child{grid-column:1/-1;padding-top:20px;border-top:1px solid var(--line);font-size:11px}.project-heading{padding-top:30px;padding-bottom:27px}.back-link{margin-bottom:30px;font-size:10px}.project-heading h1{font-size:50px}.project-lead{font-size:12px;margin-top:17px}.project-cover{width:100%}.project-cover img{aspect-ratio:1.05;object-fit:cover}.project-cover figcaption{padding-inline:18px;font-size:8px}.image-zoom{bottom:14px;right:14px;font-size:10px;padding:12px 15px}.project-story{padding-block:43px;gap:25px}.project-story h2{font-size:41px;max-width:20ch}.story-copy>p{font-size:13px}.project-facts{grid-template-columns:1fr;gap:20px}.project-facts>div{display:grid;grid-template-columns:95px 1fr;gap:15px}.project-facts dd{margin:0;font-size:12px}.project-facts dt{padding-top:3px}.next-project{padding-block:25px 30px}.next-project h2{font-size:39px}.next-project>a>span{font-size:36px}.image-dialog{max-width:96vw;padding:50px 10px 14px}.dialog-close{font-size:11px}#dialog-caption{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}[data-reveal]{opacity:1!important;transform:none!important}}
@media print{.demo-ribbon,.site-header,.filters,.project-open,.image-dialog,.image-zoom{display:none!important}.wrap{width:100%}.section-space,.hero,.project-heading,.project-story{padding-block:25px}.project-card{break-inside:avoid}[data-reveal]{opacity:1!important;transform:none!important}.project-card:nth-child(even){margin-top:0}.contact-section{padding:25px;color:var(--ink);background:var(--sand)}.contact-section p,.contact-section h2 em{color:var(--ink)}}

/* Shared return control for the local demonstration gallery. */
.demo-ribbon { flex-wrap: wrap; }
.demo-ribbon > span { flex: 1 1 135px; min-width: 0; }
.demo-ribbon a.demo-return, .project-page .demo-ribbon a.demo-return { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; gap: 8px; min-height: 40px; padding: 8px 12px; border: 1px solid #d8dfda; border-radius: 6px; background: #fff; color: #244f40; font-family: inherit; font-size: 11px; font-weight: 600; line-height: 1.4; letter-spacing: 0; white-space: nowrap; text-decoration: none; }
.demo-ribbon a.demo-return svg { display: block; flex-shrink: 0; }
.demo-ribbon a.demo-return:hover { background: #f4f7f5; border-color: #aabfb3; text-decoration: none; }
.demo-ribbon a.demo-return:focus-visible { outline: 2px solid #244f40; outline-offset: 3px; }
