
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--bg:#ded4c5;--ink:#2d2924;--accent:#c4573d;--paper:color-mix(in srgb,var(--bg) 86%,white);--line:color-mix(in srgb,var(--ink) 18%,transparent);--muted:color-mix(in srgb,var(--ink) 68%,transparent)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;gap:12px;align-items:center;font-weight:800}.mark{display:grid;place-items:center;width:42px;height:42px;background:var(--ink);color:var(--bg);border-radius:50%;font-size:13px}.links{display:flex;gap:28px;align-items:center;font-size:13px}.links a:not(.navCta){opacity:.72}.navCta,.primary{background:var(--accent);color:#101010;padding:13px 19px;border-radius:999px;font-weight:800;border:1px solid transparent}.menuBtn{display:none;border:0;background:none;color:inherit;font-size:24px}
.hero{min-height:720px;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;padding:72px 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;margin:0 0 24px}.hero h1{font-size:clamp(56px,7.2vw,108px);line-height:.91;letter-spacing:-.065em;margin:0;max-width:900px}.lead{font-size:18px;line-height:1.7;max-width:610px;color:var(--muted);margin:28px 0}.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.secondary{padding:13px 4px;border-bottom:1px solid currentColor;font-weight:700}.visual{height:570px;position:relative}.visual img{border-radius:28px}.badge{position:absolute;left:-34px;bottom:28px;background:var(--paper);border:1px solid var(--line);padding:18px 20px;border-radius:18px;box-shadow:0 20px 60px #0002;font-size:12px}.badge strong{display:block;font-size:18px;margin-bottom:4px}
.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.tickerInner{display:flex;justify-content:space-between;gap:30px;padding:18px 0;font-size:12px;text-transform:uppercase;letter-spacing:.11em;font-weight:700}
.section{padding:110px 0}.sectionHead{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:50px}.sectionHead h2{font-size:clamp(42px,6vw,78px);line-height:.95;letter-spacing:-.05em;margin:0}.sectionHead p{max-width:520px;justify-self:end;color:var(--muted);line-height:1.7}
.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.service{padding:28px 24px 36px 0;border-bottom:1px solid var(--line);position:relative}.service+.service{padding-left:24px;border-left:1px solid var(--line)}.num{font-size:11px;opacity:.55}.service h3{font-size:24px;margin:42px 0 8px}.service p{font-size:13px;color:var(--muted);line-height:1.6}
.feature{display:grid;grid-template-columns:1.35fr .65fr;min-height:680px}.featureImage{min-height:560px}.featureCopy{background:var(--ink);color:var(--bg);padding:54px;display:flex;flex-direction:column;justify-content:space-between}.featureCopy h2{font-size:clamp(42px,5vw,72px);line-height:.96;letter-spacing:-.05em;margin:12px 0}.featureCopy p{line-height:1.7;opacity:.7}.featureCopy .secondary{align-self:flex-start}
.process{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.process h2{font-size:clamp(42px,5vw,72px);letter-spacing:-.05em;line-height:.96;margin:0}.steps{border-top:1px solid var(--line)}.step{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}.step h3{margin:0 0 6px}.step p{margin:0;color:var(--muted);line-height:1.6;font-size:14px}
.quote{font-family:"Playfair Display",serif;font-size:clamp(38px,5vw,68px);line-height:1.08;max-width:980px;margin:0}.quoteBy{margin-top:30px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.contact{padding:90px 0 44px}.contactBox{background:var(--accent);color:#111;padding:70px;border-radius:36px;display:grid;grid-template-columns:1.4fr .6fr;gap:40px}.contactBox h2{font-size:clamp(48px,7vw,94px);line-height:.9;letter-spacing:-.06em;margin:0}.contactMeta{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.contactMeta a{font-weight:800;border-bottom:1px solid #111;padding-bottom:4px}.footer{display:flex;justify-content:space-between;padding:34px 0;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.reveal{opacity:0;transform:translateY(22px);transition:.7s ease}.reveal.in{opacity:1;transform:none}.modal{position:fixed;inset:0;background:#0009;z-index:50;display:none;place-items:center;padding:20px}.modal.open{display:grid}.modalCard{width:min(520px,100%);background:var(--paper);padding:34px;border-radius:26px;position:relative}.modalCard h2{font-size:38px;margin:0 0 8px}.modalCard p{color:var(--muted)}.close{position:absolute;right:20px;top:18px;border:0;background:none;color:inherit;font-size:24px}.field{display:grid;gap:6px;margin:14px 0}.field label{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.field input,.field textarea{border:1px solid var(--line);background:transparent;color:inherit;padding:13px;border-radius:10px}.field textarea{min-height:90px}.submit{width:100%;border:0;cursor:pointer}.toast{position:fixed;right:20px;bottom:20px;background:var(--ink);color:var(--bg);padding:14px 18px;border-radius:12px;z-index:80;display:none}.toast.show{display:block}
.architect .hero,.gallery .hero,.paper .hero,.material .hero{grid-template-columns:.9fr 1.1fr}.architect .visual img,.signal .visual img,.terminal .visual img{border-radius:0;filter:grayscale(.45)}.architect .mark,.signal .mark,.terminal .mark{border-radius:3px}.spectrum .visual{transform:rotate(2deg)}.spectrum .visual img,.kinetic .visual img{border-radius:60% 40% 55% 45%/45% 55% 45% 55%}.kinetic .hero h1,.performance .hero h1{font-style:italic}.calm .visual img,.clinical .visual img,.retreat .visual img{border-radius:48% 48% 18px 18px}.noir .hero h1,.estate .hero h1,.gallery .hero h1,.craft .hero h1,.material .hero h1{font-family:"Playfair Display",serif;font-weight:600;letter-spacing:-.045em}.magazine .hero{grid-template-columns:1fr}.magazine .visual{height:460px}.magazine .heroCopy{display:grid;grid-template-columns:1.4fr .6fr;gap:40px}.signal .primary,.terminal .primary,.performance .primary{box-shadow:5px 5px 0 color-mix(in srgb,var(--accent) 45%,white)}.gridcare .visual,.friendly .visual{padding:18px;background:var(--accent);transform:rotate(-1deg)}.botanic .hero{grid-template-columns:.8fr 1.2fr}.botanic .visual{height:650px}.estate .visual img{border-radius:0}.estate .navCta{background:var(--ink);color:var(--bg)}.paper .service{background:color-mix(in srgb,var(--bg) 70%,white);padding:28px}.paper .service+.service{padding-left:28px}.material .visual img{border-radius:160px 160px 0 0}
@media(max-width:760px){.wrap{width:min(100% - 28px,1180px)}.nav{height:68px}.links{display:none;position:absolute;left:0;right:0;top:68px;background:var(--paper);padding:18px;flex-direction:column;align-items:stretch;border:1px solid var(--line)}.links.open{display:flex}.menuBtn{display:block}.hero,.architect .hero,.gallery .hero,.paper .hero,.material .hero,.botanic .hero{grid-template-columns:1fr;min-height:0;padding:54px 0;gap:38px}.magazine .heroCopy{grid-template-columns:1fr}.hero h1{font-size:clamp(48px,16vw,72px)}.visual,.botanic .visual{height:430px}.badge{left:14px}.tickerInner{white-space:nowrap;justify-content:flex-start}.section{padding:76px 0}.sectionHead,.process{grid-template-columns:1fr;gap:26px}.sectionHead p{justify-self:start}.services{grid-template-columns:1fr}.service+.service{border-left:0;padding-left:0}.feature{grid-template-columns:1fr}.featureCopy{padding:34px;min-height:430px}.contactBox{grid-template-columns:1fr;padding:40px 28px}.contactMeta{gap:40px}.footer{gap:20px;flex-direction:column}.modalCard{padding:28px 22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}

.brand img{width:54px;height:54px;object-fit:contain;padding:4px}.mark{width:54px;height:54px;overflow:hidden;background:color-mix(in srgb,var(--accent) 15%,transparent);border:1px solid var(--line);border-radius:16px}
.extended{padding:105px 0}.brandStory{display:grid;grid-template-columns:260px 1fr;gap:70px;align-items:center}.brandSeal{aspect-ratio:1;object-fit:contain;padding:24px;border-radius:34px;background:color-mix(in srgb,var(--accent) 13%,transparent);border:1px solid var(--line)}.brandStory h2,.galleryHead h2,.caseStudy h2,.proofWall h2,.faq h2{font-size:clamp(44px,6vw,78px);line-height:.92;letter-spacing:-.05em;margin:12px 0}.brandStory p,.galleryHead p,.caseStudy p,.proofWall p,.faq p{line-height:1.7;color:var(--muted)}
.galleryHead{display:grid;grid-template-columns:1fr .7fr;gap:40px;align-items:end;margin-bottom:34px}.galleryHead p{justify-self:end;max-width:480px}.workGrid{display:grid;gap:14px}.workGrid figure{margin:0;position:relative;overflow:hidden;min-height:360px;border-radius:24px}.workGrid figcaption{position:absolute;left:15px;bottom:15px;padding:10px 14px;border-radius:999px;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(12px);font-size:11px;font-weight:800}
.ext-v1 .workGrid{grid-template-columns:1.25fr .75fr}.ext-v1 .workGrid figure:first-child{grid-row:span 2;min-height:734px}.ext-v2 .workGrid{grid-template-columns:repeat(4,1fr)}.ext-v2 .workGrid figure{min-height:510px;border-radius:180px 180px 22px 22px}.ext-v3 .workGrid{grid-template-columns:repeat(3,1fr)}.ext-v3 .workGrid figure:first-child,.ext-v3 .workGrid figure:last-child{grid-column:span 2}.ext-v3 .workGrid figure{min-height:390px;border-radius:0}.ext-v4 .workGrid{display:flex;overflow:auto;padding-bottom:14px}.ext-v4 .workGrid figure{flex:0 0 57%;min-height:560px}.ext-v5 .workGrid{grid-template-columns:repeat(2,1fr)}.ext-v5 .workGrid figure:nth-child(2),.ext-v5 .workGrid figure:nth-child(3){border-radius:50%}.ext-v5 .workGrid figure{min-height:440px}
.caseStudy{display:grid;grid-template-columns:1.15fr .85fr;gap:46px;padding:58px;border:1px solid var(--line);border-radius:34px;background:color-mix(in srgb,var(--paper) 84%,transparent)}.caseFacts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.caseFacts div{padding:22px;border-radius:18px;background:color-mix(in srgb,var(--accent) 14%,transparent)}.caseFacts small{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:10px}.caseFacts strong{display:block;font-size:22px;margin-top:9px}
.proofWall{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px}.proofCards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.proofCards blockquote{margin:0;padding:34px;border-radius:24px;background:color-mix(in srgb,var(--accent) 13%,transparent);font-family:"Playfair Display",serif;font-size:23px;line-height:1.42}.proofCards cite{display:block;margin-top:24px;font:700 10px Manrope;text-transform:uppercase;letter-spacing:.1em}.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:54px}.faq details{padding:20px 0;border-top:1px solid var(--line)}.faq summary{font-weight:800;cursor:pointer}
.layout-2 .hero,.layout-6 .hero,.layout-10 .hero,.layout-14 .hero,.layout-18 .hero{direction:rtl}.layout-2 .hero>*,.layout-6 .hero>*,.layout-10 .hero>*,.layout-14 .hero>*,.layout-18 .hero>*{direction:ltr}.layout-3 .caseStudy,.layout-8 .caseStudy,.layout-13 .caseStudy,.layout-17 .caseStudy{border-radius:0;border-width:3px}.layout-4 .brandStory,.layout-9 .brandStory,.layout-15 .brandStory,.layout-20 .brandStory{padding:58px 0;border-top:4px double var(--line);border-bottom:4px double var(--line)}.layout-5 .brandSeal,.layout-10 .brandSeal,.layout-16 .brandSeal{border-radius:50%;transform:rotate(-6deg)}.layout-7 .proofCards blockquote,.layout-12 .proofCards blockquote,.layout-19 .proofCards blockquote{border-radius:70px 70px 20px 20px}.layout-11 .galleryHead,.layout-16 .galleryHead{grid-template-columns:1fr}.layout-11 .galleryHead p,.layout-16 .galleryHead p{justify-self:start}.layout-1 .visual img,.layout-6 .visual img,.layout-11 .visual img,.layout-16 .visual img{border-radius:50% 50% 22px 22px}.layout-3 .visual,.layout-8 .visual,.layout-13 .visual,.layout-18 .visual{transform:rotate(1.8deg)}.layout-5 .hero h1,.layout-10 .hero h1,.layout-15 .hero h1,.layout-20 .hero h1{text-transform:uppercase}
@media(max-width:760px){.brandStory,.galleryHead,.caseStudy,.proofWall,.faq{grid-template-columns:1fr}.brandStory{gap:28px}.brandSeal{width:180px}.galleryHead p{justify-self:start}.workGrid,.ext-v1 .workGrid,.ext-v2 .workGrid,.ext-v3 .workGrid,.ext-v5 .workGrid{grid-template-columns:1fr}.workGrid figure,.ext-v1 .workGrid figure:first-child,.ext-v2 .workGrid figure,.ext-v3 .workGrid figure,.ext-v5 .workGrid figure{grid-column:auto;grid-row:auto;min-height:330px;border-radius:20px}.ext-v4 .workGrid figure{flex-basis:85%;min-height:390px}.caseStudy{padding:32px 24px}.proofCards{grid-template-columns:1fr}.layout-2 .hero,.layout-6 .hero,.layout-10 .hero,.layout-14 .hero,.layout-18 .hero{direction:ltr}}
/* ADA_INTERACTION_ENHANCEMENT_V1 */
.interactiveCard{cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.interactiveCard:hover,.interactiveCard:focus-visible{transform:translateY(-4px);border-color:var(--a,var(--accent,currentColor));box-shadow:0 18px 42px #0002;outline:2px solid var(--a,var(--accent,currentColor));outline-offset:3px}.railControls{width:min(1180px,calc(100% - 36px));margin:0 auto 14px;display:flex;justify-content:flex-end;gap:10px}.railControls[hidden]{display:none}.railControls button,.compareArrow{width:48px;height:48px;border:1px solid currentColor;border-radius:999px;background:var(--ink,#111);color:var(--bg,#fff);font-size:22px;cursor:pointer;display:grid;place-items:center}.railControls button:disabled{opacity:.28;cursor:default}.compareArrow{position:absolute;z-index:8;top:50%;transform:translateY(-50%);box-shadow:0 8px 28px #0006}.compareArrow--left{left:16px}.compareArrow--right{right:16px}.compareLabels{position:absolute;z-index:7;top:14px;right:14px;left:14px;display:flex;justify-content:space-between;pointer-events:none}.compareLabels span{padding:7px 10px;border-radius:999px;background:#000a;color:#fff;font:700 10px "Space Mono",monospace;text-transform:uppercase}.beforeAfter .compareLayer{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}.beforeAfter input{z-index:9}.zoomableMedia{cursor:zoom-in}.zoomableMedia:after{content:'↗';position:absolute;z-index:3;top:14px;right:14px;width:40px;height:40px;border-radius:999px;background:#000b;color:#fff;display:grid;place-items:center;font-size:18px;opacity:0;transform:scale(.8);transition:.2s ease}.zoomableMedia:hover:after,.zoomableMedia:focus-visible:after{opacity:1;transform:scale(1)}.mediaLightbox{position:fixed;z-index:1000;inset:0;display:none;place-items:center;padding:70px 82px;background:#080808eb;backdrop-filter:blur(14px)}.mediaLightbox.open{display:grid}.mediaLightbox figure{width:min(1100px,100%);height:min(76vh,760px);margin:0;position:relative}.mediaLightbox img{width:100%;height:100%;object-fit:contain}.mediaLightbox figcaption{position:absolute;right:0;bottom:-34px;left:0;color:#fff;text-align:center;font:700 12px "Space Mono",monospace}.mediaLightbox button{position:absolute;z-index:2;width:50px;height:50px;border:1px solid #fff8;border-radius:999px;background:#111d;color:#fff;font-size:24px;cursor:pointer}.mediaClose{top:18px;right:18px}.mediaPrev{left:18px;top:50%;transform:translateY(-50%)}.mediaNext{right:18px;top:50%;transform:translateY(-50%)}.coatButtons button.is-selected{background:var(--a,var(--accent,#111));color:var(--bg,#fff);border-color:transparent}
@media(max-width:760px){.railControls{width:calc(100% - 26px)}.railControls button,.compareArrow{width:44px;height:44px}.mediaLightbox{padding:66px 16px 82px}.mediaLightbox figure{height:68vh}.mediaPrev{left:16px;top:auto;bottom:18px;transform:none}.mediaNext{right:16px;top:auto;bottom:18px;transform:none}.zoomableMedia:after{opacity:1;transform:scale(1)}}
