/* Visual refinement, not a rebrand: Cormorant + Manrope, neutral surfaces. */
:root{--paper:#faf9f6;--ink:#242522;--muted:#62635e;--line:#d8d8d0;--dark:#1c1e1b;--surface-soft:#f0f0e9;--surface-white:#fff;--surface-dark:#252823;--line-dark:#494d45;--focus-color:#64746a}
body{background:var(--paper);color:var(--ink);letter-spacing:0;line-height:1.7}
h1,h2{letter-spacing:-.028em;font-weight:500;line-height:1.04}
h1 em,h1 i,h2 em,h2 i{font-weight:500;letter-spacing:-.035em}
h3{letter-spacing:-.015em}
.eyebrow{font-weight:600;letter-spacing:.105em;color:var(--muted)}
.section{padding-top:clamp(64px,7.5vw,112px);padding-bottom:clamp(64px,7.5vw,112px)}
.section-head{gap:40px}
.section-head>p,.page-title p,.case p,.contact-grid p,.planning-grid p,.material-guide p,.case-story-grid p{color:#51534e}
.header{background:var(--surface-white);border-color:var(--line)}
.header nav,.header-request,.menu-toggle{font-weight:600}
.header-request{border-color:#a9ada3;padding-bottom:12px}
.catalog-menu>div,.mobile-menu{background:var(--surface-white);border:1px solid var(--line);box-shadow:0 16px 36px #171b1510}
.btn{padding:17px 28px;border-radius:2px;letter-spacing:.005em;background:var(--ink);border-color:var(--ink);font-weight:600}
.btn:hover{background:#383d34;border-color:#383d34;color:white}
.underlink{border-bottom-color:#a4a99e;text-underline-offset:6px}
.underlink:hover{opacity:1;border-bottom-color:currentColor}
.atelier-hero,.category-hero{background:var(--dark)}
.atelier-intro h1{line-height:.97;letter-spacing:-.035em}
.atelier-intro>p,.category-hero p{color:#dedfd8;line-height:1.75}
.atelier-intro .eyebrow,.category-hero .eyebrow{color:#c2c5bb}
.atelier-intro .btn,.category-hero .btn,.consult .btn{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.atelier-intro .btn:hover,.category-hero .btn:hover,.consult .btn:hover{background:white;border-color:white;color:var(--ink)}
.hero-footnote{font-size:13px;letter-spacing:.055em;color:#bcc0b6;border-top:1px solid var(--line-dark);padding-top:20px;max-width:340px}
.slide-caption{background:linear-gradient(transparent,rgba(16,20,15,.8));gap:10px}
.slide-caption strong{font-weight:500;font-size:clamp(28px,2.4vw,38px);line-height:1.15}
.gallery-controls{border-color:#ffffff55}
.gallery-pages button{font-variant-numeric:tabular-nums}
.home main{background:#eaece5;padding-bottom:32px}
.home main>.section{margin-top:32px;border:1px solid #d9dcd3;background:var(--paper);padding-top:clamp(60px,6vw,96px);padding-bottom:clamp(60px,6vw,96px)}
.home main>.manifesto{margin-top:0;background:var(--paper);border:0;padding-top:80px;padding-bottom:80px}
.home main>.section .section-head{border-color:var(--line);padding-bottom:32px;margin-bottom:44px}
.home main>.collection,.home main>.process,.home main>.faq{border-top:1px solid #a9afa2}
.home main>.selected{background:#f3f3ed;border-top:1px solid #a9afa2}
.home main>.benefits,.home main>.materials,.home main>.assurance,.home main>.consult{background:var(--dark);border-color:#353a31;color:var(--paper)}
.home main>.project-film{background:#eeeee7}
.benefit-intro .eyebrow,.material-copy .eyebrow,.home .assurance>.eyebrow{color:#c5c9be}
.benefit-intro p,.home .assurance-grid p,.material-copy>p,.consult-bottom>p{color:#d9ddd2}
.craft-art{border:0}
.benefit-grid{gap:18px}
.benefit-card{background:var(--surface-dark);border-color:var(--line-dark);padding:32px 26px}
.benefit-card strong{font-family:var(--serif);font-size:clamp(38px,3.7vw,58px);font-weight:500;letter-spacing:-.025em;color:var(--paper);font-variant-numeric:lining-nums tabular-nums}
.benefit-card h3{font-size:17px;font-weight:600;letter-spacing:0}
.benefit-card p{color:#cdd2c4}
.home .collection h2,.home .selected h2{font-weight:500;color:var(--ink)}
.home .collection-list h3{font-weight:500;font-size:clamp(30px,3vw,44px);line-height:1.18;color:var(--ink)}
.home .collection-list a{border-color:var(--line);padding:26px 0}
.home .collection-list a:hover{background:transparent}
.collection-list a>span:first-child{font-variant-numeric:tabular-nums;color:#656b5f}
.collection-open{font-size:14px!important;font-weight:500!important;color:#50584a}
.collection-image figcaption{padding-top:16px;border-bottom:1px solid var(--line);padding-bottom:16px}
.work-caption{padding-top:22px;gap:12px}
.work-caption .eyebrow{color:#5c6455!important;letter-spacing:.085em}
.home .work-caption h3,.portfolio-grid .work-caption h3{font-weight:500;font-size:clamp(28px,2.6vw,38px);line-height:1.16;color:var(--ink)}
.work-caption .mini-link{color:#454d3e;font-weight:600;border-color:#aeb5a7;font-size:14px}
.work-photo{background:#e7e9e1}
.home .assurance-grid article{background:var(--surface-dark);border:1px solid var(--line-dark);padding-bottom:32px}
.assurance-visual{background:#30352b;border-color:var(--line-dark);height:140px}
.home .assurance-grid h3{font-size:23px;line-height:1.4;letter-spacing:-.02em}
.home .assurance-grid article>span{color:#c6cebd;letter-spacing:.1em;font-weight:600}
.stage-visual{background:#e7eadf;border-color:#d1d7c8;min-height:136px}
.process .steps article{background:#fff;border:1px solid var(--line)}
.process .steps h3{font-size:21px;letter-spacing:-.025em;line-height:1.35}
.stage-copy{padding:28px 24px}
.stage-index{font-weight:500;font-variant-numeric:tabular-nums;color:#4b5444}
.stage-outcome{border-color:var(--line)}
.stage-outcome>span{color:#5d6755;letter-spacing:.07em}
.stage-outcome strong{font-weight:600;line-height:1.5}
.faq summary{font-weight:600;letter-spacing:-.015em;color:var(--ink)}
.faq details{border-color:#cdd2c6}
.faq details[open]{background:#ecefe6;border-color:#9da992}
.faq details p{color:#474f40;line-height:1.75}
.consult-top{border-color:var(--line-dark);color:#d1d6c9}
.consult h2{line-height:1.01;font-weight:500}
.consult-bottom{gap:36px}
.page-title{background:var(--paper);padding-top:80px;padding-bottom:64px}
.page-title h1{font-size:clamp(52px,6.1vw,92px);line-height:1.04}
.portfolio .filters{border-color:var(--line);padding:20px 0;background:transparent}
.portfolio .filters button{background:transparent;border-color:#bbc2b2;color:#4e5847;font-size:15px}
.portfolio .filters button.active{background:var(--ink);border-color:var(--ink);color:white}
.case-detail{border-color:var(--line)}
.case-detail b{font-weight:600;line-height:1.6}
.case-story-grid article{background:#f0f2ea;border:1px solid #cdd3c4;border-top:2px solid #737f68;padding:30px}
.case-story-grid h3{font-size:23px;line-height:1.35;letter-spacing:-.02em}
.case-materials .project-specs li{border-color:var(--line)}
.case-facts-note{background:#eef0e8;border-color:#737f68;color:#4f5947}
.project-gallery-grid button{background:#eff1e9;padding:18px}
.material-guide article{border-color:#bfc7b4}
.material-guide h3,.planning-grid h3{font-size:36px;line-height:1.14}
.contact-address{background:#eef0e8;border:1px solid #d0d6c7;border-top:2px solid #737f68}
.contact-portrait figcaption{border-color:var(--line);padding-top:20px}
.contact-person-copy h2{line-height:1.1}
.contact-grid>*{min-width:0}.contact-address h2{overflow-wrap:anywhere;font-size:clamp(28px,3.2vw,42px);line-height:1.16}
.footer{background:var(--surface-white)}
.footer-top,.footer-bottom{border-color:var(--line)}
.footer-grid>div{gap:12px}
.footer-grid .eyebrow{font-weight:600;color:#626c59}
.contact-big{font-family:var(--sans);font-size:24px;font-weight:500;letter-spacing:-.035em;font-variant-numeric:lining-nums tabular-nums}
dialog{background:var(--paper);border:1px solid #d2d6ca;box-shadow:0 24px 80px #0003}
dialog .close-dialog{background:var(--paper)}
dialog h2{font-weight:500;line-height:1.05}
dialog textarea,dialog select{border-color:#adb6a3;border-radius:2px;background:#fff}
dialog label{font-weight:600}dialog label>span{font-weight:400}
.mobile-actions{background:rgba(255,255,252,.97);border-color:#c9d0c0;box-shadow:0 -8px 30px #18200e08}
@media(min-width:761px){.benefit-card{min-height:285px}.home .assurance-grid article{display:flex;flex-direction:column}.home .assurance-grid p{margin-top:auto}.assurance-visual{flex-shrink:0}.film-frame{box-shadow:0 18px 42px #20271820}}
@media(max-width:1100px) and (min-width:761px){.header nav{gap:14px;font-size:14px}.header{gap:18px}.header-request{font-size:14px}.process .steps{gap:24px}}
@media(max-width:760px){
 .home main{padding-bottom:22px}
 .home main>.section{margin-top:22px;padding-top:48px;padding-bottom:48px}
 .home main>.manifesto{margin-top:0;padding-top:54px;padding-bottom:54px}
 .atelier-intro h1{font-size:clamp(3.1rem,13.8vw,4.75rem);line-height:1.02}
 .atelier-intro .eyebrow{font-size:12px;letter-spacing:.09em}
 .hero-actions{gap:18px}.hero-actions .btn{padding:16px 20px}
 .home main>.section .section-head{margin-bottom:30px;padding-bottom:26px}
 h2,.benefit-intro h2,.home .faq h2,.manifesto-grid h2{font-size:clamp(2.55rem,10.5vw,3.25rem);line-height:1.07}
 .home .assurance>h2,.material-copy h2,.film-copy h2{font-size:clamp(2.55rem,10.5vw,3.25rem);line-height:1.08}
 .home .consult h2{font-size:clamp(2.7rem,11.3vw,3.7rem);line-height:1.04}
 .home .collection-list h3{font-size:clamp(1.6rem,6.8vw,2.15rem);line-height:1.2}
 .home .collection-list a{padding:22px 0;gap:10px}
 .collection-list a>span:first-child{font-size:13px}
 .home .collection-open{font-size:12px!important}
 .benefit-card{padding:28px;min-height:0}.benefit-card strong{font-size:46px}.benefit-card h3{font-size:18px}
 .home .work-caption h3,.portfolio-grid .work-caption h3{font-size:32px;line-height:1.17}
 .selected-grid{gap:38px}.work-caption{padding-top:20px}
 .home .assurance-grid h3{font-size:22px}.assurance-visual{height:130px}
 .stage-visual{min-height:132px}.stage-copy{padding:26px 23px}
 .stage-visual img{width:154px;height:108px}
 .faq summary{font-size:18px;line-height:1.55}.faq details p{font-size:18px}
 .page-title{padding-top:54px;padding-bottom:48px}
 .page-title h1{font-size:clamp(2.6rem,10.8vw,3.4rem);line-height:1.07}
 .case-story-grid article{padding:24px}.case-story-grid h3{font-size:22px}
 .project-gallery-grid{gap:20px}.project-gallery-grid button{padding:10px}
 .material-guide h3,.planning-grid h3{font-size:32px}
 .contact-grid .contact-big,.footer-top .contact-big{font-size:clamp(20px,5.8vw,28px)}
 .footer-top{gap:24px}.footer-grid{gap:32px 20px}.footer-bottom{font-size:14px}
}
@media(max-width:360px){.collection-open{display:none}.hero-actions{align-items:flex-start;flex-direction:column;gap:6px}.benefit-card{padding:24px}.btn{max-width:100%;padding-left:20px;padding-right:20px}.category-hero .tags{gap:10px}.mobile-actions{gap:6px}.mobile-actions button{padding-left:12px;padding-right:12px}}
@media(prefers-reduced-transparency:reduce){.mobile-actions{background:#fff}}
@media(prefers-contrast:more){:root{--ink:#151811;--muted:#3e4637;--line:#737e66}.eyebrow,.work-caption .eyebrow,.filter-count{color:var(--muted)}.benefit-card,.home .assurance-grid article{border-color:#9da891}}
