@font-face{font-family:Cabinet Grotesk;src:url(/fonts/cabinet-grotesk/cabinet-grotesk-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Cabinet Grotesk;src:url(/fonts/cabinet-grotesk/cabinet-grotesk-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Cabinet Grotesk;src:url(/fonts/cabinet-grotesk/cabinet-grotesk-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--ink: #2b2925;--ink-soft: #565048;--paper: #f5f0e8;--paper-deep: #ebe1d2;--stone: #d7c8ad;--clay: #8a5c44;--charcoal: #171614;--line: rgba(43, 41, 37, .16);--white-line: rgba(245, 240, 232, .16);--shadow: 0 28px 70px rgba(23, 22, 20, .18);--max: 1180px;--wide-gutter: clamp(1.5rem, 2.4vw, 4rem);--wide: min(1960px, calc(100vw - (var(--wide-gutter) * 2)));--font-sans: "Cabinet Grotesk", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;color-scheme:light}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{margin:0;color:var(--ink);background:linear-gradient(rgba(43,41,37,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(43,41,37,.022) 1px,transparent 1px),var(--paper);background-size:42px 42px;font-family:var(--font-sans);line-height:1.55}img{display:block;max-width:100%;height:auto}a{color:inherit}:focus-visible{outline:2px solid var(--clay);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-sans);font-weight:500;line-height:.94;letter-spacing:0}h1{font-size:clamp(3.1rem,7vw,7.8rem)}h1 em,h2 em,h3 em{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.015em}h2{font-size:clamp(2.2rem,4.6vw,5rem)}h3{font-size:clamp(1.5rem,2vw,2.1rem)}::selection{color:var(--paper);background:var(--clay)}.skip-link{position:fixed;top:1rem;left:1rem;z-index:100;translate:0 -150%;padding:.7rem 1rem;background:var(--paper);border:1px solid var(--line)}.skip-link:focus{translate:0}.site-header{position:fixed;inset:0 0 auto;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;padding:1.05rem clamp(1rem,4vw,3rem);color:var(--ink);background:#f5f0e8e8;border-bottom:1px solid var(--line);backdrop-filter:blur(18px);transition:background .28s ease,border-color .28s ease,color .28s ease}.site-header[data-transparent=true]:not([data-scrolled]):not([data-menu-open]){color:var(--paper);background:transparent;border-color:transparent;backdrop-filter:none}.site-header[data-scrolled]{color:var(--ink);background:#f5f0e8e8;border-color:var(--line);backdrop-filter:blur(18px)}.brand{display:inline-flex;align-items:center;justify-self:start;inline-size:max-content;max-inline-size:100%;text-decoration:none;min-width:max-content}.brand-logo-text{display:grid;width:clamp(8.9rem,10.5vw,11.4rem)}.brand-logo-text-image{grid-area:1 / 1;width:100%;height:auto;transition:opacity .22s ease}.brand-logo-text-light{opacity:0}.site-header[data-transparent=true]:not([data-scrolled]):not([data-menu-open]) .brand-logo-text-dark{opacity:0}.site-header[data-transparent=true]:not([data-scrolled]):not([data-menu-open]) .brand-logo-text-light{opacity:1}.brand-footer{align-items:flex-start}.brand-footer .brand-logo{display:block;width:clamp(8.5rem,13vw,12rem);height:auto}.site-header nav{display:flex;gap:clamp(.8rem,2vw,1.6rem);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.site-header nav a,.footer-links a,.text-link{text-decoration:none}.site-header nav a{opacity:.76}.site-header nav a[aria-current=page],.site-header nav a:hover{opacity:1}.header-actions{display:flex;justify-self:end;gap:.5rem}.header-cta,.header-call{padding:.72rem 1rem;border:1px solid currentColor;text-decoration:none;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.header-call{display:none}.menu-toggle{display:none;width:2.75rem;height:2.75rem;place-items:center;gap:.28rem;padding:0;color:currentColor;background:transparent;border:1px solid currentColor;cursor:pointer}.menu-toggle span{display:block;width:1rem;height:1px;background:currentColor;transition:transform .22s ease}.site-header[data-menu-open] .menu-toggle span:first-child{transform:translateY(3px) rotate(45deg)}.site-header[data-menu-open] .menu-toggle span:last-child{transform:translateY(-3px) rotate(-45deg)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.9rem 1.15rem;color:var(--ink);background:var(--paper);border:1px solid rgba(245,240,232,.45);text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;cursor:pointer;transition:transform .22s ease,background .22s ease,color .22s ease}.button:hover{transform:translateY(-2px)}.button-dark{color:var(--paper);background:var(--ink);border-color:var(--ink)}.button-ghost{color:var(--paper);background:transparent}.hero{position:relative;min-height:100svh;overflow:clip;display:grid;align-items:end;padding:8rem clamp(1rem,4vw,4rem) 3rem;color:var(--paper)}.hero-media,.hero-media img,.hero-overlay{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-media{animation:heroSet 1.1s cubic-bezier(.22,1,.36,1) both}.hero-zoom{animation:heroZoom 16s cubic-bezier(.22,1,.36,1) both;transform-origin:52% 42%;will-change:transform}@keyframes heroSet{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}@keyframes heroZoom{0%{transform:scale(1)}to{transform:scale(1.07)}}.marquee{overflow:hidden;padding:1.1rem 0;border-block:1px solid var(--line);background:var(--paper)}.marquee-track{display:flex;align-items:center;gap:2.2rem;width:max-content;animation:marqueeScroll 36s linear infinite}.marquee-item{color:var(--ink-soft);font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}.marquee-plus{width:.6rem;height:.6rem;flex-shrink:0;background:linear-gradient(var(--clay),var(--clay)) center / 100% 1.5px no-repeat,linear-gradient(var(--clay),var(--clay)) center / 1.5px 100% no-repeat}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:no-preference){@supports (animation-timeline: view()){.testimonial-slide>img,.gallery-grid figure img,.project-hero>img{scale:1.09;animation:frameDrift linear both;animation-timeline:view()}.material-image{animation:settleIn linear both;animation-timeline:view();animation-range:entry 0% entry 90%}.hero .hero-content,.hero .hero-meta{animation:heroExit linear both;animation-timeline:scroll(root);animation-range:0 90vh}}}@keyframes frameDrift{0%{translate:0 -2.5%}to{translate:0 2.5%}}@keyframes settleIn{0%{scale:.94}to{scale:1}}@keyframes heroExit{to{translate:0 -64px;opacity:.1}}@media(min-width:981px){body:after{content:"";position:fixed;top:0;right:0;z-index:40;width:3px;height:100vh;background:var(--clay);transform:scaleY(var(--scroll-progress, 0));transform-origin:top;pointer-events:none}}.hero-overlay{background:linear-gradient(90deg,#171614d1,#1716146b 45%,#17161438),linear-gradient(0deg,rgba(23,22,20,.72),transparent 42%)}.hero-content{position:relative;z-index:1;max-width:920px}.hero h1{margin-bottom:1.2rem}.hero h1 span{display:block}.hero-copy{max-width:630px;color:#f5f0e8e6;font-size:clamp(1.05rem,1.6vw,1.3rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.hero-meta{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:.7rem;margin-top:4rem;color:#f5f0e8b8}.hero-meta span{padding:.45rem .7rem;border:1px solid rgba(245,240,232,.2)}.eyebrow{margin-bottom:.85rem;color:var(--clay);font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700}.eyebrow:before{content:"";display:inline-block;width:.6rem;height:.6rem;margin-right:.6rem;background:linear-gradient(currentColor,currentColor) center / 100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) center / 1.5px 100% no-repeat;vertical-align:-.02em}.hero .eyebrow,.section-dark .eyebrow,.project-hero .eyebrow{color:var(--stone)}.reveal-line{animation:riseIn .9s cubic-bezier(.22,1,.36,1) both}.reveal-line:nth-child(2){animation-delay:.12s}.reveal-line:nth-child(3),.hero-copy{animation-delay:.24s}.hero-actions{animation-delay:.36s}.section,.texture-band{padding:clamp(5rem,10vw,8rem) clamp(1rem,4vw,4rem)}.section>*,.texture-band>*,.site-footer{max-width:var(--max);margin-inline:auto}.texture-band{background:linear-gradient(120deg,rgba(43,41,37,.08),transparent 45%),var(--paper-deep)}.split-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,.72fr);align-items:center;gap:clamp(2rem,6vw,6rem)}.split-reverse{grid-template-columns:minmax(320px,.72fr) minmax(0,.9fr)}.split-reverse>:first-child{order:2}.material-image,.detail-hero img{width:100%;aspect-ratio:4 / 5;object-fit:cover;box-shadow:var(--shadow)}.section-intro{max-width:760px;margin-bottom:clamp(2rem,4vw,3.5rem)}.section-intro-center{margin-inline:auto;text-align:center}.section-intro p:not(.eyebrow),.page-hero p,.detail-hero p,.project-hero p,.contact-page>div>p{max-width:690px;color:var(--ink-soft);font-size:1.08rem}.service-grid,.project-grid,.location-grid,.principle-grid,.process-grid,.proof-grid,.gallery-grid{display:grid;gap:1rem}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-grid-all{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{display:grid;align-content:start;min-height:100%;padding:1rem;background:#fffcf69e;border:1px solid var(--line);text-decoration:none;transition:transform .24s ease,box-shadow .24s ease,background .24s ease}.service-card:hover,.project-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-card img{width:100%;aspect-ratio:1.22;object-fit:cover;margin-bottom:1.2rem;clip-path:inset(0 0 0 0)}.service-card span,.project-card span,.process-grid span,.principle-grid span,.number-list span{color:var(--clay);font-size:.76rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.service-card h3{margin:.45rem 0 .7rem}.service-card p,.project-card p,.process-grid p,.principle-grid p{margin-bottom:0;color:var(--ink-soft)}.center-action{margin-top:2rem;text-align:center}.text-link{display:inline-flex;padding-bottom:.25rem;border-bottom:1px solid currentColor;color:var(--clay);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700}.section-dark{color:var(--paper);background:var(--charcoal)}.section-dark .section-intro p,.section-dark .project-card p{color:#f5f0e8b3}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{display:grid;color:inherit;text-decoration:none;transition:transform .24s ease,box-shadow .24s ease}.project-card-large{grid-column:span 2}.project-card figure{margin:0;overflow:hidden;background:var(--stone)}.project-card img{width:100%;aspect-ratio:1.18;object-fit:cover;transition:scale .6s ease}.project-card-large img{aspect-ratio:2 / 1}.project-card:hover img{scale:1.045}.project-card div{padding:1rem .2rem 0}.carousel-section{overflow:hidden;padding-top:clamp(4.5rem,7vw,6rem);padding-inline:0}.carousel-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;width:var(--wide);max-width:none;margin-inline:auto;margin-bottom:clamp(1.5rem,3vw,2.5rem)}.carousel-heading .section-intro{margin-bottom:0}.carousel-section .section-intro h2{max-width:820px;font-size:clamp(2.8rem,4.5vw,5.4rem)}.carousel-controls{display:flex;gap:.6rem;padding-bottom:.25rem}.carousel-controls button{min-width:4.35rem;min-height:2.8rem;padding:.72rem .9rem;color:var(--ink);background:transparent;border:1px solid var(--line);cursor:pointer;font:inherit;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease}.carousel-controls button:hover{color:var(--paper);background:var(--ink);border-color:var(--ink);transform:translateY(-2px)}.carousel-controls-light button{color:var(--paper);border-color:var(--white-line)}.carousel-controls-light button:hover{color:var(--ink);background:var(--paper);border-color:var(--paper)}.tile-carousel{width:var(--wide);max-width:none;margin-inline:auto}.carousel-track{display:grid;grid-auto-flow:column;gap:1rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-padding-inline:1px;scroll-snap-type:x mandatory;scrollbar-width:none}.carousel-track::-webkit-scrollbar{display:none}.service-carousel .carousel-track{--carousel-gap: clamp(1.6rem, 3vw, 2.6rem);gap:var(--carousel-gap);grid-auto-columns:calc((100% - var(--carousel-gap)) / 2)}.service-slide,.project-slide{scroll-snap-align:start}.service-slide{display:block}.service-slide-image{display:block;overflow:hidden;background:var(--stone);text-decoration:none}.service-slide img{width:100%;aspect-ratio:16 / 9;object-fit:cover;transition:scale .7s ease}.service-slide-image:hover img{scale:1.045}.service-slide-copy{max-width:760px;padding-top:clamp(1.45rem,2.5vw,2.2rem)}.service-slide span,.project-slide-copy span,.project-slide-copy dt{color:var(--clay);font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.service-slide h3{margin:.45rem 0 1rem;color:var(--ink);font-size:clamp(1.65rem,2.2vw,2.25rem);line-height:1}.service-slide p{max-width:720px;margin-bottom:1.55rem;color:var(--ink-soft);font-size:1.03rem;line-height:1.45}.service-slide-actions{display:flex;gap:clamp(1.5rem,3vw,2.6rem)}.service-slide-actions a{display:inline-flex;padding-bottom:.28rem;color:var(--ink);border-bottom:1px solid currentColor;text-decoration:none;font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.project-carousel .carousel-track{grid-auto-columns:100%}.project-carousel-section{padding-top:clamp(4.5rem,7vw,6rem)}.project-carousel-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;width:var(--wide);max-width:none;margin:0 auto clamp(1.25rem,2vw,1.8rem)}.project-carousel-eyebrow{margin-bottom:0}.project-slide{display:grid;grid-template-columns:minmax(280px,.42fr) minmax(0,.92fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;min-height:clamp(460px,48vw,640px)}.project-slide-copy{display:grid;gap:1rem;align-content:center}.project-slide-copy h3{margin:0;color:var(--paper);font-size:clamp(2.4rem,4.8vw,5.8rem)}.project-slide-copy p{color:#f5f0e8b8;font-size:1.08rem}.project-slide-copy dl{display:grid;gap:.9rem;margin:0 0 .5rem}.project-slide-copy div{padding-top:.85rem;border-top:1px solid var(--white-line)}.project-slide-copy dd{margin:.25rem 0 0;color:#f5f0e8d1}.project-slide-copy .text-link{color:var(--paper)}.project-slide-media{display:block;overflow:hidden;background:var(--ink);box-shadow:0 30px 90px #00000057}.project-slide-media img{width:100%;min-height:clamp(400px,44vw,620px);object-fit:cover;transition:scale .8s ease}.project-slide-media:hover img{scale:1.035}.carousel-dots{display:flex;gap:.55rem;margin-top:1.35rem}.carousel-dots button{width:2.3rem;height:.32rem;padding:0;background:#2b29252e;border:0;cursor:pointer}.carousel-dots button[data-active]{background:var(--clay)}.carousel-dots-progress button{position:relative;overflow:hidden;border-radius:999px}.carousel-dots-progress button[data-active]{background:#2b29252e}.carousel-dots-progress button:hover{background:#2b29254d}.carousel-dots-progress button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.carousel-dot-fill{position:absolute;inset:0;border-radius:inherit;background:var(--clay);transform:scaleX(0);transform-origin:left center}.carousel-dots-light button{background:#f5f0e838}.carousel-dots-light button[data-active]{background:var(--paper)}.testimonial-section{background:var(--paper);color:var(--ink)}.testimonial-heading{width:min(var(--wide),100%);max-width:none;margin:0 auto clamp(2rem,4vw,3.4rem);text-align:center}.testimonial-heading h2{margin:.35rem 0 0;font-size:clamp(2.4rem,4.8vw,5.2rem)}.testimonial-carousel{width:min(var(--wide),100%);max-width:none;margin-inline:auto}.testimonial-stage{display:grid}.js .testimonial-stage>.testimonial-slide{grid-area:1 / 1}.testimonial-slide{position:relative;display:grid;align-items:stretch;min-height:clamp(520px,54vw,740px);padding-block:clamp(1.75rem,3vw,2.75rem);overflow:hidden;background:var(--stone)}.js .testimonial-slide{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .9s cubic-bezier(.22,1,.36,1),visibility 0s linear .9s}.js .testimonial-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1;transition:opacity .9s cubic-bezier(.22,1,.36,1)}.testimonial-slide:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,#1716145c,#1716140d 54%,#17161438),linear-gradient(0deg,#17161414,#17161414)}.testimonial-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.94) contrast(.96)}.js .testimonial-slide>img{transform:scale(1.06)}.js .testimonial-slide.is-active>img{animation:testimonial-drift 9s cubic-bezier(.22,1,.36,1) forwards}@keyframes testimonial-drift{0%{transform:scale(1.06)}to{transform:scale(1)}}.js .testimonial-slide .testimonial-card>*{opacity:0;transform:translateY(16px)}.js .testimonial-slide.is-active .testimonial-card>*{opacity:1;transform:translateY(0);transition:opacity .76s cubic-bezier(.22,1,.36,1),transform .76s cubic-bezier(.22,1,.36,1)}.js .testimonial-slide.is-active .testimonial-quote-mark{transition-delay:.14s}.js .testimonial-slide.is-active blockquote{transition-delay:.22s}.js .testimonial-slide.is-active .testimonial-name{transition-delay:.32s}.js .testimonial-slide.is-active .testimonial-project{transition-delay:.38s}.js .testimonial-slide.is-active .testimonial-controls{transition-delay:.46s}.testimonial-card{position:relative;z-index:1;display:grid;align-content:center;width:min(760px,calc(100% - 3rem));margin-left:clamp(1.5rem,5vw,5.5rem);padding:clamp(2rem,4vw,4.35rem);color:var(--ink);background:#fbf8f1;box-shadow:0 28px 80px #17161433}.testimonial-quote-mark{display:block;height:.7em;color:#2b292529;font-size:clamp(4.5rem,7vw,7rem);font-weight:700;line-height:.75}.testimonial-card blockquote{max-width:19em;margin:clamp(1rem,2vw,1.4rem) 0 0;font-family:var(--font-serif);font-size:clamp(1.3rem,1.6vw,1.85rem);line-height:1.25}.testimonial-name{margin:clamp(2rem,4vw,3rem) 0 .35rem;color:var(--ink);font-size:clamp(1.15rem,1.7vw,1.55rem);line-height:1.2}.testimonial-project{margin:0;color:var(--ink-soft);font-size:1rem}.testimonial-controls{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin-top:clamp(1.8rem,3.5vw,2.6rem)}.testimonial-progress{display:flex;align-items:center;gap:.6rem}.testimonial-dot{position:relative;width:clamp(1.6rem,2.4vw,2.4rem);height:3px;padding:0;border:0;border-radius:999px;background:#2b292529;cursor:pointer;overflow:hidden;transition:background .22s ease}.testimonial-dot:hover{background:#2b292552}.testimonial-dot:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.testimonial-dot-fill{position:absolute;inset:0;border-radius:inherit;background:var(--ink);transform:scaleX(0);transform-origin:left center}.testimonial-arrows{display:flex;flex:none;gap:.4rem}.testimonial-arrows button{display:inline-grid;width:2.6rem;height:2.6rem;place-items:center;padding:0;color:var(--ink-soft);background:transparent;border:0;cursor:pointer;font:inherit;font-size:2rem;line-height:1;transition:color .18s ease,transform .18s ease}.testimonial-arrows button:hover{color:var(--ink);transform:translateY(-1px)}.testimonial-arrows button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.before-section{background:var(--paper)}.before-after{--position: 52%;position:relative;width:100%;min-height:360px;aspect-ratio:1.12;overflow:hidden;background:var(--stone);box-shadow:var(--shadow)}.before-after img{width:100%;height:100%;object-fit:cover}.before-after-base,.before-after-top{position:absolute;inset:0}.before-after-top{width:100%;clip-path:inset(0 calc(100% - var(--position)) 0 0);will-change:clip-path}.before-after input{position:absolute;inset:0;z-index:3;width:100%;height:100%;opacity:0;cursor:ew-resize}.before-after-handle:before,.before-after-handle:after{content:"";position:absolute;left:50%;width:1px;background:#f5f0e8cc}.before-after-handle:before{top:-1000px;bottom:100%}.before-after-handle:after{top:100%;bottom:-1000px}.before-after-handle{position:absolute;top:50%;left:var(--position);z-index:2;display:grid;place-items:center;width:2.7rem;height:2.7rem;translate:-50% -50%;color:var(--paper);border:1px solid rgba(245,240,232,.9);background:#2b2925b8;backdrop-filter:blur(8px);font-size:.58rem;font-weight:700;letter-spacing:.12em;line-height:1;text-transform:uppercase;pointer-events:none}.before-label,.after-label{position:absolute;z-index:2;top:1rem;padding:.35rem .55rem;color:var(--paper);background:#1716148f;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.before-label{left:1rem}.after-label{right:1rem}.process-grid,.principle-grid,.proof-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.process-grid article,.principle-grid article,.proof-grid article{padding:1.25rem 0;border-top:1px solid var(--line)}.process-grid h3,.principle-grid h2,.proof-grid h3{margin:.8rem 0;font-size:1.7rem}.proof-section{background:#ebe1d29e}.proof-grid p{color:var(--ink-soft)}.launch-proof{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;background:var(--paper-deep);border-block:1px solid var(--line)}.conversion-panel{display:grid;gap:clamp(1.25rem,3vw,2rem);align-items:start;padding:clamp(2rem,5vw,4rem);background:var(--paper-deep);border-block:1px solid var(--line)}.conversion-panel .button{justify-self:start}.launch-proof h2{max-width:820px;font-size:clamp(2rem,4vw,4.4rem)}.conversion-panel h2{max-width:820px;margin-bottom:0;font-size:clamp(2rem,3.2vw,3.75rem)}.launch-proof p:not(.eyebrow){max-width:720px;color:var(--ink-soft)}.page-hero,.detail-hero,.project-hero,.contact-page{padding:clamp(8rem,14vw,11rem) clamp(1rem,4vw,4rem) clamp(4rem,8vw,7rem)}.page-hero{max-width:1080px}.compact-hero{padding-bottom:2rem}.page-hero h1{max-width:940px}.detail-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,.62fr);align-items:center;gap:clamp(2rem,6vw,6rem);max-width:calc(var(--max) + 8rem);margin-inline:auto}.detail-hero h1,.project-hero h1,.contact-page h1{font-size:clamp(3rem,6vw,6.6rem)}.sticky-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(2rem,5vw,5rem);max-width:var(--max);margin-inline:auto;padding:0 clamp(1rem,4vw,4rem) clamp(5rem,10vw,8rem)}.sticky-nav{position:sticky;top:6rem;align-self:start;display:grid;gap:.35rem;padding-top:.5rem}.sticky-nav a{padding:.65rem 0;border-bottom:1px solid var(--line);color:var(--ink-soft);text-decoration:none;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.detail-content{display:grid;gap:clamp(3rem,7vw,6rem)}.detail-content section,.narrow-section{max-width:780px}.check-list{display:grid;gap:.75rem;padding:0;list-style:none}.check-list li{padding:.85rem 0;border-bottom:1px solid var(--line)}.check-list-links a{text-decoration:none;border-bottom:1px solid var(--line)}.check-list-links a:hover{color:var(--clay);border-color:currentColor}.location-body :is(p,ul){max-width:690px;color:var(--ink-soft);font-size:1.08rem}.location-body h2{max-width:760px;margin-bottom:1.5rem;font-size:clamp(1.9rem,3.2vw,3.2rem)}.check-list li:before{content:"";display:inline-block;width:.6rem;height:.6rem;margin-right:.75rem;background:linear-gradient(var(--clay),var(--clay)) center / 100% 1.5px no-repeat,linear-gradient(var(--clay),var(--clay)) center / 1.5px 100% no-repeat}.number-list{display:grid;gap:.75rem}.number-list article{display:grid;grid-template-columns:4rem 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}.faq-list{display:grid;gap:.7rem}.faq-list details{padding:1rem 0;border-top:1px solid var(--line)}.faq-list summary{cursor:pointer;font-family:var(--font-serif);font-size:1.35rem}.faq-list p{color:var(--ink-soft)}.project-hero{position:relative;min-height:82svh;display:grid;align-items:end;color:var(--paper);overflow:clip}.project-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.project-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#171614d1,#1716142e)}.project-hero div{position:relative;z-index:1;max-width:900px}.project-hero p:not(.eyebrow){color:#f5f0e8c7}.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border-block:1px solid var(--line)}.project-facts>div{padding:clamp(1.5rem,4vw,3rem);background:var(--paper-deep)}.project-facts ul{margin:0;padding-left:1.2rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid figure{margin:0}.gallery-media{display:block;overflow:hidden}.gallery-grid img{width:100%;aspect-ratio:1.25;object-fit:cover}.gallery-grid figcaption{margin-top:.65rem;color:var(--ink-soft);font-size:.9rem}.case-study{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem)}.case-study h2{font-size:clamp(1.8rem,3.4vw,3.8rem)}.contact-page{display:grid;grid-template-columns:minmax(0,.8fr) minmax(340px,.7fr);gap:clamp(2rem,6vw,6rem);max-width:calc(var(--max) + 8rem);margin-inline:auto}.contact-details{display:grid;gap:.6rem;margin-top:2rem}.contact-details a{width:fit-content;text-decoration:none;border-bottom:1px solid currentColor}.quote-form{display:grid;gap:1rem;padding:clamp(1rem,3vw,2rem);background:#fffcf6a8;border:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label{display:grid;gap:.4rem}label span{font-size:.76rem;text-transform:uppercase;letter-spacing:.13em;color:var(--ink-soft);font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);background:#f5f0e8b3;color:var(--ink);padding:.9rem;border-radius:0;font:inherit}textarea{resize:vertical}.honeypot{position:absolute;left:-9999px}.form-note{margin-bottom:0;color:var(--ink-soft);font-size:.92rem}.form-status{max-width:620px;margin-top:1.25rem;padding:.9rem 1rem;border:1px solid var(--line)}.form-status.success{background:#d7c8ad59}.form-status.error{background:#9d6f552e}.location-grid{gap:1px;background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr))}.location-card{position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:2.5rem;min-height:clamp(320px,30vw,420px);padding:1.4rem;overflow:hidden;background:var(--paper);border:0;text-decoration:none;transition:color .32s ease}.location-card-media{position:absolute;inset:0}.location-card-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#171614c7,#1716144d)}.location-card-media img{width:100%;height:100%;object-fit:cover}.location-card-media,.location-card-media img{opacity:0;transition:opacity .42s ease,scale 1.2s cubic-bezier(.22,1,.36,1)}.location-card-media img{scale:1.08}.location-card:hover .location-card-media,.location-card:focus-visible .location-card-media,.location-card:hover .location-card-media img,.location-card:focus-visible .location-card-media img{opacity:1;scale:1}.location-card:hover,.location-card:focus-visible{color:var(--paper)}.location-card-index{position:relative;z-index:1;justify-self:end;color:transparent;-webkit-text-stroke:1px var(--clay);font-size:clamp(1.6rem,2.2vw,2.2rem);font-weight:700;line-height:1;transition:-webkit-text-stroke-color .32s ease}.location-card:hover .location-card-index,.location-card:focus-visible .location-card-index{-webkit-text-stroke-color:var(--stone)}@supports not (-webkit-text-stroke: 1px black){.location-card-index{color:var(--clay)}}.location-card-body{position:relative;z-index:1;display:grid;align-self:end;gap:.55rem}.location-card-body h2{margin:0;font-size:clamp(1.7rem,2.4vw,2.5rem);line-height:1}.location-card-sub{color:var(--clay);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;transition:color .32s ease}.location-card:hover .location-card-sub,.location-card:focus-visible .location-card-sub{color:var(--stone)}.location-card-body p{margin:.4rem 0 0;color:var(--ink-soft);font-size:.95rem;line-height:1.5;transition:color .32s ease}.location-card:hover .location-card-body p,.location-card:focus-visible .location-card-body p{color:#f5f0e8d1}.location-card-arrow{position:relative;z-index:1;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.55;transition:opacity .32s ease,translate .32s ease}.location-card:hover .location-card-arrow,.location-card:focus-visible .location-card-arrow{opacity:1;translate:.35rem 0}.site-footer{padding:clamp(3rem,6vw,4.5rem) clamp(1rem,4vw,4rem) 2rem;border-top:1px solid var(--line)}.site-footer p{margin-bottom:.35rem;color:var(--ink-soft)}.footer-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:clamp(2rem,4vw,3.5rem)}.footer-brand p{max-width:360px;margin-top:1.2rem}.footer-trust{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em}.footer-heading{margin-bottom:.9rem;color:var(--clay);font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.footer-links{display:grid;gap:.45rem}.footer-links a,.footer-links span{color:var(--ink-soft);width:fit-content}.footer-links a:hover{color:var(--ink)}.footer-bottom{max-width:none;margin-top:clamp(2.5rem,5vw,4rem);padding-top:1.25rem;border-top:1px solid var(--line)}.footer-bottom p{margin:0;font-size:.85rem}.process-grid article span{display:block;color:transparent;-webkit-text-stroke:1.1px var(--clay);font-size:clamp(2.4rem,3.6vw,3.8rem);line-height:1;letter-spacing:.02em}@supports not (-webkit-text-stroke: 1px black){.process-grid article span{color:var(--clay)}}.cursor-pill{position:fixed;top:0;left:0;z-index:60;display:grid;place-items:center;width:4.6rem;height:4.6rem;border-radius:50%;color:var(--paper);background:#171614c7;backdrop-filter:blur(6px);font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.4);transition:opacity .2s ease,transform .26s cubic-bezier(.22,1,.36,1)}.cursor-pill[data-active]{opacity:1;transform:translate(-50%,-50%) scale(1)}[data-cursor],[data-cursor] *{cursor:none}[data-reveal]{opacity:1}.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .76s ease,transform .76s cubic-bezier(.22,1,.36,1),clip-path .9s cubic-bezier(.22,1,.36,1)}.js .service-card img,.js .material-image,.js .detail-hero img,.js .project-card figure{clip-path:inset(10% 0 0 0);transition:clip-path .9s cubic-bezier(.22,1,.36,1),scale .6s ease}.js .section-intro h2{padding-bottom:.18em;margin-bottom:-.02em;clip-path:inset(0 0 100% 0);translate:0 16px;transition:clip-path .85s cubic-bezier(.22,1,.36,1) .1s,translate .85s cubic-bezier(.22,1,.36,1) .1s}.js .section-intro.is-visible h2{clip-path:inset(0);translate:0 0}.js [data-reveal].is-visible,.js [data-reveal].is-visible img,.js .is-visible figure,.js .detail-hero img{opacity:1;transform:translateY(0);clip-path:inset(0)}.js :is(.proof-grid,.process-grid,.principle-grid,.service-grid,.project-grid,.location-grid)>[data-reveal]:nth-child(2){transition-delay:90ms}.js :is(.proof-grid,.process-grid,.principle-grid,.service-grid,.project-grid,.location-grid)>[data-reveal]:nth-child(3){transition-delay:.18s}.js :is(.proof-grid,.process-grid,.principle-grid,.service-grid,.project-grid,.location-grid)>[data-reveal]:nth-child(4){transition-delay:.27s}.js :is(.proof-grid,.process-grid,.principle-grid,.service-grid,.project-grid,.location-grid)>[data-reveal]:nth-child(n+5){transition-delay:.34s}@keyframes riseIn{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media(max-width:980px){.site-header{grid-template-columns:1fr auto auto}.site-header nav{position:absolute;top:100%;right:1rem;left:1rem;display:none;grid-column:1 / -1;padding:1rem;color:var(--ink);background:#f5f0e8f5;border:1px solid var(--line);box-shadow:var(--shadow)}.site-header[data-menu-open] nav{display:grid}.menu-toggle{display:grid}.service-grid,.service-grid-all,.project-grid,.location-grid,.process-grid,.principle-grid,.proof-grid,.gallery-grid,.contact-page,.detail-hero,.sticky-layout,.case-study,.launch-proof,.conversion-panel,.split-layout,.split-reverse{grid-template-columns:1fr}.split-reverse>:first-child{order:0}.project-card-large{grid-column:auto}.sticky-nav{position:static;display:flex;overflow-x:auto;padding-bottom:.5rem}.sticky-nav a{min-width:max-content}.project-facts{grid-template-columns:1fr}.carousel-heading,.project-carousel-heading{align-items:start;flex-direction:column}.carousel-controls{padding-bottom:0}.project-slide{grid-template-columns:1fr;min-height:auto}.project-slide-media{order:-1}.project-slide-media img{min-height:420px}.testimonial-slide{min-height:610px}.testimonial-card{width:min(560px,calc(100% - 2.5rem));margin-left:1.25rem}}@media(max-width:640px){.site-header{padding:.8rem 1rem}.header-cta{display:none}.header-call{display:inline-flex}.hero{min-height:92svh}.hero-meta{margin-top:2rem}.form-grid{grid-template-columns:1fr}.before-after{min-height:300px}.testimonial-section{padding-inline:clamp(1rem,4vw,4rem)}.testimonial-heading,.testimonial-carousel{width:100%}.testimonial-heading{text-align:left}.testimonial-slide{display:flex;flex-direction:column;min-height:0;padding-block:0}.testimonial-slide:after{inset:0 0 auto;height:min(72vw,330px);background:linear-gradient(0deg,#1716141a,#1716141a)}.testimonial-slide>img{position:relative;flex:none;height:min(72vw,330px)}.testimonial-card{flex:1 1 auto;width:100%;min-height:0;margin:0;padding:1.65rem;box-shadow:none}.testimonial-card blockquote{max-width:none;font-size:1.35rem;line-height:1.18}.testimonial-name{margin-top:1.8rem}.testimonial-controls{margin-top:1.5rem}.carousel-controls{width:100%}.carousel-controls button{flex:1}.service-carousel .carousel-track{grid-auto-columns:100%}.service-carousel .carousel-dots{flex-wrap:wrap}.project-slide-media img{min-height:340px}.footer-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.hero-zoom{animation:none}.cursor-pill{display:none}[data-cursor],[data-cursor] *{cursor:pointer}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
