.hero-image{background-image:url('homepage-hero-a-hd.webp')}.philosophy-image{background-image:url('design-philosophy-c-hd.webp')}
.nav-shell{position:sticky;top:0;z-index:20;transition:height .3s ease,box-shadow .3s ease,background-color .3s ease}
.brand-logo{display:flex;align-items:center}.brand-logo img{display:block;width:172px;height:auto}.footer-brand img{width:190px}
.nav-shell.is-scrolled{height:68px;background:rgba(248,245,239,.94);box-shadow:0 8px 30px rgba(20,22,18,.06);backdrop-filter:blur(14px)}
.case-carousel-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 22px}.case-carousel-head p{display:flex;align-items:center;gap:12px;margin:0;font:13px Georgia,serif;letter-spacing:.08em}.case-carousel-head p i{display:block;width:72px;height:1px;background:var(--line)}.case-carousel-head>div{display:flex;gap:8px}.case-carousel-head button{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:21px;cursor:pointer;transition:background .25s,color .25s,opacity .25s}.case-carousel-head button:hover:not(:disabled){background:var(--ink);color:#fff}.case-carousel-head button:disabled{opacity:.25;cursor:default}
.case-grid{display:flex;max-width:none;gap:22px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:0 7vw 10px 0;margin-right:-7vw}.case-grid::-webkit-scrollbar{display:none}.case-card{display:block;flex:0 0 min(76vw,980px);scroll-snap-align:start}.case-photo{height:clamp(430px,57vw,650px);overflow:hidden;transition:transform .65s cubic-bezier(.2,.65,.3,1),filter .5s ease}.case-card:hover .case-photo{transform:scale(1.008);filter:saturate(1.04)}
.case-card .case-meta h3{transition:color .25s ease}.case-card:hover .case-meta h3{color:var(--rust)}
.hero-stats strong{font-family:var(--font-serif);font-size:20px;line-height:1.35}.hero-stats span{margin-top:6px;line-height:1.5}
.btn,.text-link{transition:opacity .25s ease,transform .25s ease}.btn:hover,.text-link:hover{opacity:.78;transform:translateY(-2px)}
.reveal{opacity:1;transform:none}.js-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.65,.3,1)}.js-ready .reveal.is-visible{opacity:1;transform:none}
.about-hero{min-height:72vh;background:linear-gradient(90deg,rgba(15,17,14,.78),rgba(15,17,14,.1)),url('design-philosophy-c-hd.webp') center/cover;color:#fff;display:flex;align-items:flex-end;padding:9vw 8vw}.about-hero>div{max-width:780px}.about-hero h1,.about-intro h2,.about-team h2,.about-contact h2{font:500 clamp(42px,5vw,68px)/1.28 var(--font-serif);margin:20px 0}.about-hero p:last-child{max-width:620px;color:#ffffffb5;font-size:16px;line-height:1.95}
.about-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:start}.about-intro h2{font-size:clamp(38px,4vw,56px)}.about-copy{padding-top:44px}.about-copy p{font-size:16px;line-height:2;color:#5d6057;margin:0 0 25px}
.about-values{padding-top:30px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:40px}.value-grid article{background:var(--paper);padding:40px;min-height:260px}.value-grid b{font:24px Georgia;color:var(--rust)}.value-grid h3{font:26px/1.4 var(--font-serif);margin:35px 0 15px}.value-grid p{font-size:14px;line-height:1.9;color:#666960}
.about-team{display:grid;grid-template-columns:1fr 1fr;min-height:680px;background:#252921;color:#fff}.about-team-image{background:url('homepage-hero-a-hd.webp') center/cover}.about-team>div:last-child{padding:100px 9vw;align-self:center}.about-team h2{font-size:clamp(38px,4vw,54px)}.about-team p{color:#ffffffa6;line-height:2}.about-muted{padding-top:25px;border-top:1px solid #ffffff20;font-size:13px!important}
.team-list{margin:36px 0}.team-list article{padding:20px 0;border-top:1px solid #ffffff20}.team-list article>span{display:block;color:#c8ad91;font-size:11px;letter-spacing:.12em}.team-list h3{font:500 24px/1.4 var(--font-serif);margin:7px 0}.team-list h3 small{font:400 13px/1.4 var(--font-sans);color:#ffffff82;margin-left:8px}.team-list article p{font-size:13px;line-height:1.8;margin:0}
.team-list .team-award{display:inline-block;margin-top:10px;padding:5px 10px;border:1px solid #c8ad916b;color:#d8c1a9;font-size:11px;letter-spacing:.06em}
.about-contact{display:flex;justify-content:space-between;align-items:end;gap:40px}.about-contact h2{font-size:42px}.about-contact p{color:#666960}
.about-links{display:flex;gap:28px;flex-wrap:wrap;justify-content:flex-end}.about-links .text-link{margin-top:0}.footer-contact{display:flex;gap:22px;align-items:center}.footer-contact a{color:#ffffffc2;border-bottom:1px solid #ffffff50;padding-bottom:3px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.js-ready .reveal{opacity:1;transform:none;transition:none}.case-photo,.btn,.text-link{transition:none}}
@media(max-width:800px){.nav-shell{top:0}.nav-shell.is-scrolled{height:62px}.brand-logo img{width:142px}.footer-brand img{width:175px}.case-grid{display:flex;gap:12px;margin-right:-6vw;padding-right:6vw}.case-card{flex-basis:88vw}.case-photo{height:58vh;min-height:390px;max-height:560px}.case-carousel-head{margin-bottom:16px}.case-carousel-head p i{width:42px}.case-carousel-head button{width:42px;height:42px}.hero-stats{display:none}.about-hero{min-height:66vh;padding:90px 7vw 55px;background-position:58% center}.about-hero h1{font-size:40px}.about-intro,.about-team{grid-template-columns:1fr}.about-copy{padding-top:0}.value-grid{grid-template-columns:1fr}.value-grid article{min-height:0}.about-team-image{min-height:420px}.about-team>div:last-child{padding:70px 7vw}.about-contact{display:block}.about-links{justify-content:flex-start;margin-top:20px}.footer-contact{display:block}.footer-contact a{display:inline-block;margin-top:10px}}
.case-carousel-head>div{align-items:center}.case-all-link{margin-right:18px;padding:8px 0;border-bottom:1px solid var(--ink);font-size:13px;white-space:nowrap}
.case-archive{padding-bottom:110px}.archive-hero{padding:120px 7vw 78px;display:grid;grid-template-columns:1fr 1fr;align-items:end;border-bottom:1px solid var(--line)}.archive-hero .eyebrow{grid-column:1/-1}.archive-hero h1{font:500 clamp(48px,7vw,92px)/1.08 var(--font-serif);margin:24px 0 0}.archive-hero>p:last-child{max-width:480px;margin:0 0 8px;color:#696b64;font-size:15px;line-height:1.9}.archive-projects{padding:70px 7vw;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 22px}.archive-card figure{position:relative;margin:0;aspect-ratio:16/10;overflow:hidden;background:#e5e0d6}.archive-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.3,1)}.archive-card:hover img{transform:scale(1.018)}.archive-card figure span{position:absolute;left:18px;top:18px;padding:8px 12px;background:rgba(245,241,232,.88);font-size:11px}.archive-card h2{font:500 27px/1.4 var(--font-serif);margin:18px 0 7px}.archive-card p{margin:0;color:#777;font-size:12px}.navigation.pagination{padding:0 7vw}.nav-links{display:flex;gap:12px}.page-numbers{padding:10px 14px;border:1px solid var(--line)}.page-numbers.current{background:var(--ink);color:#fff}
@media(max-width:800px){.case-all-link{margin-right:6px;font-size:12px}.case-carousel-head p{display:none}.archive-hero{padding:90px 6vw 55px;display:block}.archive-hero h1{font-size:48px}.archive-hero>p:last-child{margin-top:24px}.archive-projects{padding:45px 6vw;grid-template-columns:1fr;gap:45px}.archive-card h2{font-size:24px}.archive-card figure{aspect-ratio:4/3}}
.price-fit{margin-top:22px;padding-top:18px;border-top:1px solid rgba(32,34,30,.14)}
.price-fit small{display:block;margin-bottom:8px;color:var(--rust);font-size:10px!important;letter-spacing:.14em}
.price-fit p{margin:0;min-height:0!important;font-size:12px!important;line-height:1.75!important}
.price-cards .featured .price-fit{border-top-color:rgba(255,255,255,.18)}
.price-cards .featured .price-fit small{color:#d1a18e}
.pricing{background:#48503f}
.pricing>div:first-child>p:last-child{color:#fff!important;font-weight:500}
.price-cards article.featured{background:#171b15}
.price-cards article.featured p{color:#f1f1ec}

/* Projection readability: retain the warm palette with stronger mid-tones. */
.eyebrow{color:#555d46;font-size:12px}
.eyebrow.light{color:#f0e8dc}
.section-head>p,.steps p,.case-meta p,.archive-card p,.value-grid p,.about-copy p,.materials-cta p{color:#555851}
.case-meta p,.archive-card p{font-size:13px}
.price-cards article:not(.featured)>p,.price-cards article:not(.featured) .price-fit p{color:#50534d}
.price-fit small{font-size:11px!important;font-weight:700}
.about-team p{color:#f0f0eb}
.team-list article p{color:#ededE7}
.footer-contact,footer p,footer div{color:#e5e5df}
.site-footer>small{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.site-footer .icp-link{color:#d8d8d1;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}
.site-footer .icp-link:hover{color:#fff;border-bottom-color:#ffffff80}
