:root {
    --ink: #22231f;
    --ink-soft: #5f6059;
    --olive: #354034;
    --olive-dark: #263027;
    --terracotta: #a94f35;
    --sand: #d5b477;
    --cream: #f3eee4;
    --paper: #fbfaf7;
    --line: #d8d2c7;
    --white: #fff;
    --radius: 2px;
    --serif: Georgia, 'Times New Roman', serif;
    --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --container: 1240px;
    --shadow: 0 20px 50px rgba(36, 35, 29, .12);
}

/* Buy Mosaics: recorrido comercial */
.home--commercial .site-header,
.projects-page .site-header,
.process-page .site-header { border-bottom-color:rgba(38,48,39,.11); }
.home--commercial .main-nav,
.projects-page .main-nav,
.process-page .main-nav { gap:22px; }
.button--ghost-light { color:var(--white); border:1px solid rgba(255,255,255,.62); background:rgba(16,21,17,.18); }
.button--ghost-light:hover { color:var(--olive-dark); background:var(--white); }
.closing-cta__actions { display:flex; align-items:center; flex-direction:column; gap:16px; }

.sales-hero { position:relative; min-height:min(820px,84vh); display:flex; align-items:flex-end; overflow:hidden; color:var(--white); background:var(--olive-dark); }
.sales-hero__backdrop,.sales-hero__shade { position:absolute; inset:0; width:100%; height:100%; }
.sales-hero__backdrop { object-fit:cover; object-position:center 48%; }
.sales-hero__shade { background:linear-gradient(90deg,rgba(11,16,12,.94) 0%,rgba(11,16,12,.68) 45%,rgba(11,16,12,.12) 82%),linear-gradient(0deg,rgba(11,16,12,.72),transparent 54%); }
.sales-hero__content { position:relative; padding-block:clamp(80px,10vw,130px) 54px; }
.sales-hero h1 { max-width:960px; margin-bottom:25px; font-size:clamp(4.1rem,7.6vw,8rem); }
.sales-hero__content>p:not(.eyebrow) { max-width:700px; margin-bottom:30px; color:#e2e5df; font-family:var(--serif); font-size:clamp(1.05rem,1.6vw,1.3rem); }
.sales-hero__facts { display:flex; gap:0; max-width:720px; margin:48px 0 0; padding:22px 0 0; border-top:1px solid rgba(255,255,255,.28); list-style:none; }
.sales-hero__facts li { min-width:0; flex:1; padding-right:24px; }
.sales-hero__facts strong,.sales-hero__facts span { display:block; }
.sales-hero__facts strong { margin-bottom:5px; font-family:var(--serif); font-size:1.16rem; font-weight:500; }
.sales-hero__facts span { color:#c5cbc3; font-size:.67rem; }

.commercial-heading { max-width:850px; margin-bottom:50px; }
.commercial-heading--center { margin-inline:auto; text-align:center; }
.commercial-heading h2 { margin-bottom:16px; font-size:clamp(2.7rem,4.7vw,5rem); }
.commercial-heading>p:not(.eyebrow) { margin-inline:auto; color:var(--ink-soft); }
.buy-paths { padding:70px 0 82px; background:var(--white); }
.buy-paths__grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); }
.buy-path { min-width:0; display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:start; padding:34px 30px; border-right:1px solid var(--line); transition:color .2s,background .2s; }
.buy-path:last-child { border-right:0; }
.buy-path>span { color:var(--terracotta); font-family:var(--serif); font-size:1.1rem; }
.buy-path p { margin:0 0 7px; color:var(--ink-soft); font-size:.62rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.buy-path h3 { margin:0 0 10px; font-size:1.55rem; }
.buy-path small { display:block; color:var(--ink-soft); line-height:1.6; }
.buy-path>b { padding-top:25px; font-size:1.25rem; font-weight:400; transition:transform .2s; }
.buy-path:hover { color:var(--white); background:var(--olive); }
.buy-path:hover p,.buy-path:hover small,.buy-path--accent p,.buy-path--accent small { color:#d8ded6; }
.buy-path:hover>b { transform:translateX(5px); }
.buy-path--accent { color:var(--white); background:var(--olive); }
.buy-path--accent>span { color:var(--sand); }

.product-grid--home { grid-template-columns:repeat(4,minmax(0,1fr)); }
.product-grid--home .product-card__image { aspect-ratio:4/5; }
.product-grid--home .product-card__body { padding:22px; }
.product-grid--home .product-card__body>p { min-height:2.8em; }

.ai-sales { color:var(--white); background:#151b16; }
.ai-sales__grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr); }
.ai-sales__copy { padding:clamp(60px,7vw,105px) clamp(40px,6vw,90px) clamp(60px,7vw,105px) 0; }
.ai-sales__copy h2 { margin-bottom:24px; font-size:clamp(3rem,5.2vw,5.7rem); }
.ai-sales__copy>p:not(.eyebrow) { max-width:620px; color:#c5cbc4; }
.ai-sales__copy ol { margin:32px 0 38px; padding:0; border-top:1px solid rgba(255,255,255,.16); list-style:none; }
.ai-sales__copy li { display:grid; grid-template-columns:38px 1fr; gap:16px; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.16); }
.ai-sales__copy li>span { color:var(--sand); font-family:var(--serif); }
.ai-sales__copy li strong,.ai-sales__copy li small { display:block; }
.ai-sales__copy li strong { margin-bottom:3px; font-family:var(--serif); font-size:1.05rem; font-weight:500; }
.ai-sales__copy li small { color:#aeb5ad; }
.ai-sales__note { display:block; max-width:600px; margin-top:25px; color:#9da69d; line-height:1.5; }
.ai-sales__visual { position:relative; min-height:760px; margin:0; overflow:hidden; }
.ai-sales__visual img { width:100%; height:100%; object-fit:cover; }
.ai-sales__visual::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(21,27,22,.26),transparent 35%); pointer-events:none; }
.ai-sales__visual figcaption { position:absolute; z-index:1; right:24px; bottom:24px; left:24px; display:flex; justify-content:space-between; gap:20px; padding:14px 16px; background:rgba(17,23,18,.88); }
.ai-sales__visual figcaption strong,.ai-sales__visual figcaption span { font-size:.64rem; }
.ai-sales__visual figcaption span { color:#bec5bd; text-align:right; }

.project-preview-grid { display:grid; grid-template-columns:1.2fr .8fr; grid-template-rows:1fr 1fr; gap:16px; }
.project-preview { position:relative; min-height:310px; overflow:hidden; color:var(--white); background:var(--olive-dark); }
.project-preview--large { grid-row:1/3; min-height:650px; }
.project-preview img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.project-preview::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(12,17,13,.9),rgba(12,17,13,.05) 70%); }
.project-preview:hover img { transform:scale(1.025); }
.project-preview>div { position:absolute; z-index:1; right:0; bottom:0; left:0; padding:30px; }
.project-preview span { display:block; margin-bottom:8px; color:var(--sand); font-size:.6rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.project-preview h3 { margin-bottom:8px; font-size:clamp(1.7rem,2.3vw,2.7rem); }
.project-preview p { max-width:560px; margin:0; color:#d8ddd7; font-size:.78rem; }

.origin-band { display:grid; grid-template-columns:1.05fr .95fr; color:var(--white); background:#7f3527; }
.origin-band__image { min-height:720px; }
.origin-band__image img { width:100%; height:100%; object-fit:cover; }
.origin-band__copy { display:flex; align-items:flex-start; justify-content:center; flex-direction:column; padding:clamp(55px,8vw,120px); }
.origin-band__copy h2 { margin-bottom:25px; font-size:clamp(3rem,5vw,5.5rem); }
.origin-band__copy>p:not(.eyebrow) { color:#efddd6; }
.origin-band__copy dl { width:100%; margin:28px 0 38px; border-top:1px solid rgba(255,255,255,.24); }
.origin-band__copy dl div { display:flex; justify-content:space-between; gap:25px; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.24); font-size:.73rem; }
.origin-band__copy dt { color:#d9bdb3; }
.origin-band__copy dd { margin:0; text-align:right; }

.purchase-process__grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.purchase-process__grid article { padding:34px 28px; border-right:1px solid var(--line); }
.purchase-process__grid article:last-child { border-right:0; }
.purchase-process__grid span { display:block; margin-bottom:28px; color:var(--terracotta); font-family:var(--serif); font-size:1.3rem; }
.purchase-process__grid h3 { margin-bottom:12px; font-size:1.45rem; }
.purchase-process__grid p { margin:0; color:var(--ink-soft); font-size:.78rem; }

.home-price__grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:start; }
.home-price__copy h2 { margin-bottom:22px; font-size:clamp(2.8rem,4.5vw,4.8rem); }
.home-price__copy p { color:var(--ink-soft); }
.home-price__levels { border-top:1px solid var(--line); }
.home-price__levels article { display:grid; grid-template-columns:90px 1fr auto; gap:18px; align-items:center; padding:23px 0; border-bottom:1px solid var(--line); }
.home-price__levels span { color:var(--terracotta); font-family:var(--serif); }
.home-price__levels h3,.home-price__levels p { margin:0; }
.home-price__levels h3 { font-size:1.35rem; }
.home-price__levels strong { font-size:.76rem; }
.home-price__levels p { grid-column:2/4; color:var(--ink-soft); font-size:.72rem; }

.home-proof__grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:80px; }
.home-proof__grid h2 { font-size:clamp(2.8rem,4.5vw,4.8rem); }
.home-proof__list { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.home-proof__list article { padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.home-proof__list strong { display:block; margin-bottom:9px; font-family:var(--serif); font-size:1.2rem; font-weight:500; }
.home-proof__list p { margin:0; color:var(--ink-soft); font-size:.73rem; }

.commercial-page-hero { padding:90px 0 78px; background:var(--paper); }
.commercial-page-hero__grid { display:grid; grid-template-columns:1.25fr .55fr; gap:90px; align-items:end; }
.commercial-page-hero h1 { margin:0; font-size:clamp(4rem,7vw,7.4rem); }
.commercial-page-hero__grid>div:last-child p { color:var(--ink-soft); }
.commercial-page-hero--process { color:var(--white); background:var(--olive-dark); }
.commercial-page-hero--process .commercial-page-hero__grid>div:last-child p { color:#c5cbc3; }

.project-feature { padding:84px 0; }
.project-feature--light { background:var(--white); }
.project-feature--reverse { background:var(--paper); }
.project-feature__grid { display:grid; grid-template-columns:1.25fr .75fr; gap:75px; align-items:center; }
.project-feature--reverse .project-feature__grid { grid-template-columns:.75fr 1.25fr; }
.project-feature--reverse figure { grid-column:2; }
.project-feature--reverse .project-feature__grid>div { grid-column:1; grid-row:1; }
.project-feature figure { position:relative; min-height:620px; margin:0; overflow:hidden; }
.project-feature figure img { width:100%; height:100%; object-fit:cover; }
.project-feature figcaption { position:absolute; right:18px; bottom:18px; padding:10px 12px; color:var(--white); background:rgba(18,24,19,.85); font-size:.61rem; }
.project-feature h2 { margin-bottom:20px; font-size:clamp(2.8rem,4.8vw,5rem); }
.project-feature p { color:var(--ink-soft); }
.project-feature dl { margin:26px 0; border-top:1px solid var(--line); }
.project-feature dl div { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid var(--line); font-size:.72rem; }
.project-feature dd { margin:0; font-weight:700; text-align:right; }

.project-contexts__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.project-contexts__grid article { background:var(--white); }
.project-contexts__grid img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.project-contexts__grid article>span,.project-contexts__grid h3,.project-contexts__grid p { margin-right:20px; margin-left:20px; }
.project-contexts__grid article>span { display:block; margin-top:20px; margin-bottom:6px; color:var(--terracotta); font-size:.6rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.project-contexts__grid h3 { margin-bottom:8px; font-size:1.4rem; }
.project-contexts__grid p { margin-bottom:22px; color:var(--ink-soft); font-size:.7rem; }
.project-reality__grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:90px; }
.project-reality h2 { font-size:clamp(2.8rem,4.5vw,4.7rem); }
.project-reality__grid>div:last-child>p { color:var(--ink-soft); font-size:1.04rem; }
.project-reality ul { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:25px 0 35px; padding:0; border-top:1px solid var(--line); border-left:1px solid var(--line); list-style:none; }
.project-reality li { padding:16px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); font-size:.72rem; }

.process-story>article { display:grid; grid-template-columns:1fr 1fr; min-height:690px; }
.process-story>article:nth-child(even) .process-story__image { grid-column:2; }
.process-story>article:nth-child(even) .process-story__copy { grid-column:1; grid-row:1; background:var(--paper); }
.process-story__image { min-height:620px; }
.process-story__image img { width:100%; height:100%; object-fit:cover; }
.process-story__copy { display:flex; align-items:flex-start; justify-content:center; flex-direction:column; padding:clamp(50px,7vw,105px); background:var(--white); }
.process-story__copy>span { margin-bottom:25px; color:var(--terracotta); font-family:var(--serif); font-size:1.4rem; }
.process-story__copy h2 { margin-bottom:20px; font-size:clamp(2.7rem,4.5vw,4.8rem); }
.process-story__copy>p:not(.eyebrow) { color:var(--ink-soft); }
.process-story__copy ul { margin:15px 0 0; padding:0; border-top:1px solid var(--line); list-style:none; width:100%; }
.process-story__copy li { padding:10px 0; border-bottom:1px solid var(--line); font-size:.72rem; }

.ai-workshop__grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.ai-workshop h2 { margin-bottom:22px; font-size:clamp(2.8rem,4.4vw,4.8rem); }
.ai-workshop__grid>div>p:not(.eyebrow) { color:var(--ink-soft); }
.ai-workshop ol { margin:0; padding:0; border-top:1px solid var(--line); list-style:none; }
.ai-workshop li { display:grid; grid-template-columns:44px 1fr; gap:18px; padding:18px 0; border-bottom:1px solid var(--line); }
.ai-workshop li>span { color:var(--terracotta); font-family:var(--serif); font-size:1.2rem; }
.ai-workshop li strong { font-family:var(--serif); font-size:1.25rem; font-weight:500; }
.ai-workshop li p { margin:4px 0 0; color:var(--ink-soft); font-size:.72rem; }

.quality-choice__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.quality-choice__grid article { padding-bottom:25px; background:var(--paper); }
.quality-choice__grid img { width:100%; aspect-ratio:1.15; object-fit:cover; }
.quality-choice__grid span,.quality-choice__grid h3,.quality-choice__grid p,.quality-choice__grid strong { margin-right:24px; margin-left:24px; }
.quality-choice__grid span { display:block; margin-top:22px; color:var(--terracotta); font-family:var(--serif); }
.quality-choice__grid h3 { margin-top:7px; margin-bottom:9px; font-size:1.55rem; }
.quality-choice__grid p { min-height:4.5em; color:var(--ink-soft); font-size:.72rem; }
.quality-choice__grid strong { font-size:.76rem; }
.process-depth { color:var(--white); background:var(--olive-dark); }
.process-depth__grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.process-depth h2 { margin-bottom:22px; font-size:clamp(2.8rem,4.4vw,4.8rem); }
.process-depth p:not(.eyebrow) { color:#c1c8c0; }
.process-depth nav { border-top:1px solid rgba(255,255,255,.18); }
.process-depth nav a { display:flex; justify-content:space-between; gap:20px; padding:19px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.process-depth nav b { color:var(--sand); font-weight:400; }

.certificate4-hero { padding:90px 0; color:var(--white); background:var(--olive-dark); }
.certificate4-hero h1 { max-width:980px; margin-bottom:24px; font-size:clamp(3.7rem,7vw,7rem); }
.certificate4-hero>div>p:last-child { max-width:760px; color:#c7cec6; }
.certificate4-section { background:var(--cream); }
.certificate4-doc { max-width:1050px; margin:auto; padding:clamp(28px,5vw,70px); border:1px solid #cfc5b5; background:var(--white); box-shadow:var(--shadow); }
.certificate4-doc__header { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-bottom:25px; border-bottom:1px solid var(--line); }
.certificate4-doc__header img { width:150px; height:auto; }
.certificate4-doc__header>span { padding:7px 11px; color:#765d24; border:1px solid #c9a855; background:#fff8df; font-size:.62rem; font-weight:800; letter-spacing:.08em; }
.certificate4-doc__title { padding:50px 0 35px; text-align:center; }
.certificate4-doc__title p { margin-bottom:8px; color:var(--ink-soft); font-size:.66rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.certificate4-doc__title h2 { margin-bottom:12px; font-size:clamp(2.5rem,5vw,4.8rem); }
.certificate4-doc__title>strong { color:var(--terracotta); font-size:.78rem; word-break:break-word; }
.certificate4-doc__score { display:flex; align-items:center; justify-content:center; gap:25px; padding:28px; color:var(--white); background:var(--olive); }
.certificate4-doc__score>div strong { font-family:var(--serif); font-size:4.4rem; line-height:1; }
.certificate4-doc__score>div span { color:#c7d0c6; }
.certificate4-doc__score p { margin:0; }
.certificate4-doc__score b,.certificate4-doc__score small { display:block; }
.certificate4-doc__score b { font-family:var(--serif); font-size:1.4rem; font-weight:500; }
.certificate4-doc__score small { margin-top:4px; color:#c7d0c6; }
.certificate4-doc__tiers { display:grid; grid-template-columns:repeat(3,1fr); margin-top:18px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.certificate4-doc__tiers article { padding:23px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.certificate4-doc__tiers span,.certificate4-doc__tiers strong { display:block; }
.certificate4-doc__tiers span { color:var(--ink-soft); font-size:.62rem; font-weight:700; text-transform:uppercase; }
.certificate4-doc__tiers strong { margin:7px 0; font-family:var(--serif); font-size:2rem; }
.certificate4-doc__tiers p { margin:0; color:var(--ink-soft); font-size:.68rem; }
.certificate4-doc__details { display:grid; grid-template-columns:1fr 1fr; gap:50px; padding:45px 0; }
.certificate4-doc__details dl { margin:0; border-top:1px solid var(--line); }
.certificate4-doc__details dl div { display:flex; justify-content:space-between; gap:20px; padding:11px 0; border-bottom:1px solid var(--line); font-size:.7rem; }
.certificate4-doc__details dd { margin:0; font-weight:700; text-align:right; }
.certificate4-doc__details h3 { font-size:1.5rem; }
.certificate4-doc__details ul { padding-left:20px; color:var(--ink-soft); font-size:.73rem; }
.certificate4-doc__footer { display:flex; align-items:center; justify-content:space-between; gap:35px; padding-top:25px; border-top:1px solid var(--line); }
.certificate4-doc__footer p { max-width:650px; margin:0; color:var(--ink-soft); font-size:.7rem; }

@media (max-width:1180px) {
    .home--commercial .main-nav,
    .projects-page .main-nav,
    .process-page .main-nav { gap:14px; }
    .home--commercial .main-nav a,
    .projects-page .main-nav a,
    .process-page .main-nav a { font-size:.75rem; }
    .product-grid--home,.project-contexts__grid { grid-template-columns:repeat(2,1fr); }
    .purchase-process__grid { grid-template-columns:repeat(2,1fr); }
    .purchase-process__grid article:nth-child(2) { border-right:0; }
    .purchase-process__grid article:nth-child(-n+2) { border-bottom:1px solid var(--line); }
}

@media (max-width:900px) {
    .buy-paths__grid,.ai-sales__grid,.origin-band,.home-price__grid,.home-proof__grid,
    .commercial-page-hero__grid,.project-feature__grid,.project-feature--reverse .project-feature__grid,
    .project-reality__grid,.process-story>article,.ai-workshop__grid,.process-depth__grid { grid-template-columns:1fr; }
    .buy-path { border-right:0; border-bottom:1px solid var(--line); }
    .buy-path:last-child { border-bottom:0; }
    .ai-sales__copy { padding:65px 0; }
    .ai-sales__visual { min-height:600px; }
    .origin-band__image { min-height:560px; }
    .project-feature--reverse figure,.project-feature--reverse .project-feature__grid>div,
    .process-story>article:nth-child(even) .process-story__image,.process-story>article:nth-child(even) .process-story__copy { grid-column:auto; grid-row:auto; }
    .project-feature figure { min-height:540px; }
    .commercial-page-hero__grid { gap:35px; }
    .process-story>article { min-height:0; }
    .process-story__image { min-height:520px; }
    .home-price__grid,.home-proof__grid,.project-reality__grid,.ai-workshop__grid,.process-depth__grid { gap:45px; }
    .certificate4-doc__details { grid-template-columns:1fr; gap:30px; }
}

@media (max-width:680px) {
    .sales-hero { min-height:720px; }
    .sales-hero__shade { background:linear-gradient(0deg,rgba(11,16,12,.96),rgba(11,16,12,.25)); }
    .sales-hero__content { padding-block:70px 32px; }
    .sales-hero h1 { font-size:clamp(3.35rem,16vw,5rem); }
    .sales-hero .button-row { align-items:stretch; flex-direction:column; }
    .sales-hero .button { width:100%; }
    .sales-hero__facts { margin-top:32px; }
    .sales-hero__facts li { padding-right:10px; }
    .sales-hero__facts strong { font-size:.9rem; }
    .sales-hero__facts span { font-size:.56rem; }
    .buy-paths { padding:52px 0; }
    .buy-path { grid-template-columns:30px 1fr auto; padding:25px 20px; }
    .product-grid--home,.project-contexts__grid,.purchase-process__grid,.quality-choice__grid { grid-template-columns:1fr; }
    .purchase-process__grid article { border-right:0; border-bottom:1px solid var(--line); }
    .project-preview-grid { grid-template-columns:1fr; grid-template-rows:auto; }
    .project-preview,.project-preview--large { grid-row:auto; min-height:430px; }
    .origin-band__image { min-height:430px; }
    .origin-band__copy { padding:55px 24px; }
    .home-price__levels article { grid-template-columns:75px 1fr; }
    .home-price__levels strong { grid-column:2; }
    .home-price__levels p { grid-column:2; }
    .home-proof__list,.project-reality ul { grid-template-columns:1fr; }
    .commercial-page-hero { padding:60px 0; }
    .commercial-page-hero h1 { font-size:clamp(3.45rem,16vw,5.2rem); }
    .project-feature { padding:55px 0; }
    .project-feature__grid { gap:35px; }
    .project-feature figure { min-height:430px; }
    .process-story__image { min-height:430px; }
    .process-story__copy { padding:52px 24px; }
    .quality-choice__grid article { margin-bottom:8px; }
    .closing-cta__actions { align-items:flex-start; }
    .certificate4-doc__tiers { grid-template-columns:1fr; }
    .certificate4-doc__score,.certificate4-doc__footer { align-items:flex-start; flex-direction:column; }
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
a[href],
.button,
button:not(:disabled),
input[type="submit"]:not(:disabled),
input[type="button"]:not(:disabled),
input[type="reset"]:not(:disabled),
[role="button"]:not([aria-disabled="true"]),
summary { cursor: pointer; }
button:disabled,
input[type="submit"]:disabled,
input[type="button"]:disabled,
input[type="reset"]:disabled,
a[aria-disabled="true"],
.button[aria-disabled="true"],
[role="button"][aria-disabled="true"] { cursor: not-allowed; }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid var(--terracotta); outline-offset: 3px; }
main[tabindex="-1"]:focus { outline: 0; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--serif); font-weight: 400; line-height: .98; letter-spacing: -.045em; }
h1 em, h2 em { color: var(--terracotta); font-weight: 400; }
h2 { font-size: clamp(2.4rem, 4.5vw, 4.75rem); }
.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 200; top: 12px; left: 12px; padding: 10px 16px; color: var(--white); background: var(--ink); transform: translateY(-160%); }
.skip-link:focus { transform: none; box-shadow: 0 0 0 3px var(--sand); }
.eyebrow { margin-bottom: 20px; color: var(--terracotta); font-size: .72rem; font-weight: 750; letter-spacing: .19em; text-transform: uppercase; }
.eyebrow::before { content: ''; display: inline-block; width: 28px; height: 1px; margin-right: 11px; vertical-align: middle; background: currentColor; }
.eyebrow--light { color: var(--sand); }

.announcement { color: #eee8db; background: var(--olive-dark); font-size: .74rem; letter-spacing: .06em; }
.announcement__inner { min-height: 35px; display: flex; align-items: center; justify-content: space-between; }
.announcement a { color: var(--sand); border-bottom: 1px solid rgba(213,180,119,.55); }
.site-header { position: relative; z-index: 50; border-bottom: 1px solid var(--line); background: rgba(251,250,247,.97); }
.header__inner { min-height: 92px; display: flex; align-items: center; gap: 38px; }
.brand { width: 190px; flex: 0 0 auto; }
.brand img { width: 100%; height: 57px; object-fit: contain; object-position: left center; }
.main-nav { margin-left: auto; display: flex; align-items: center; gap: 28px; }
.main-nav a { position: relative; padding: 34px 0 31px; font-size: .83rem; font-weight: 650; letter-spacing: .025em; }
.main-nav a::after { content: ''; position: absolute; right: 0; bottom: 22px; left: 0; height: 2px; background: var(--terracotta); transform: scaleX(0); transition: transform .2s ease; }
.main-nav a:hover::after, .main-nav a[aria-current="page"]::after { transform: scaleX(1); }
.nav-submenu { position:relative; align-self:stretch; display:flex; align-items:center; }
.nav-submenu>button { display:flex; align-items:center; gap:7px; height:100%; padding:0; border:0; color:var(--ink); background:transparent; cursor:pointer; font-size:.83rem; font-weight:650; letter-spacing:.025em; }
.nav-submenu>button::after { content:''; position:absolute; right:0; bottom:22px; left:0; height:2px; background:var(--terracotta); transform:scaleX(0); transition:transform .2s ease; }
.nav-submenu:hover>button::after,.nav-submenu:focus-within>button::after,.nav-submenu.is-active>button::after,.nav-submenu.is-open>button::after { transform:scaleX(1); }
.nav-submenu>button span { width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .2s ease; }
.nav-submenu.is-open>button span { transform:translateY(2px) rotate(225deg); }
.nav-submenu__panel { position:absolute; z-index:60; top:calc(100% - 1px); right:0; min-width:190px; padding:8px; border:1px solid var(--line); background:var(--paper); box-shadow:var(--shadow); opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .18s ease,transform .18s ease,visibility .18s; }
.nav-submenu:hover .nav-submenu__panel,.nav-submenu:focus-within .nav-submenu__panel,.nav-submenu.is-open .nav-submenu__panel { opacity:1; visibility:visible; transform:translateY(0); }
.main-nav .nav-submenu__panel a { display:block; padding:11px 12px; border-bottom:1px solid var(--line); font-size:.76rem; white-space:nowrap; }
.main-nav .nav-submenu__panel a:last-child { border-bottom:0; }
.main-nav .nav-submenu__panel a::after { right:12px; bottom:5px; left:12px; }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 11px; border: 1px solid var(--line); background: transparent; }
.menu-toggle > span:not(.sr-only) { display: block; height: 1px; margin: 5px 0; background: var(--ink); }
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 13px 24px; border: 1px solid var(--olive); border-radius: var(--radius); color: var(--white); background: var(--olive); font-size: .82rem; font-weight: 750; letter-spacing: .055em; text-align: center; text-transform: uppercase; transition: color .2s, background .2s, transform .2s; }
.button:hover { color: var(--olive); background: transparent; transform: translateY(-2px); }
.button--small { min-height: 44px; padding: 10px 18px; font-size: .72rem; }
.button--outline { color: var(--olive); background: transparent; }
.button--outline:hover { color: var(--white); background: var(--olive); }
.button--sand { border-color: var(--sand); color: var(--olive-dark); background: var(--sand); }
.button--sand:hover { border-color: var(--sand); color: var(--sand); }
.button.button--ghost-light { border-color:rgba(255,255,255,.62); color:var(--white); background:rgba(16,21,17,.18); }
.button.button--ghost-light:hover { color:var(--olive-dark); background:var(--white); }
.button--full { width: 100%; }
.text-link { display: inline-flex; align-items: center; gap: 12px; padding-bottom: 4px; border-bottom: 1px solid currentColor; font-size: .82rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.text-link span { transition: transform .2s; }
.text-link:hover span { transform: translateX(4px); }
.button-row { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }

.hero { overflow: hidden; }
.hero--home { padding: 72px 0 86px; background: var(--paper); }
.hero__grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(460px, .78fr); gap: clamp(52px, 8vw, 118px); align-items: center; }
.hero__copy h1 { max-width: 690px; margin-bottom: 28px; font-size: clamp(4.2rem, 7.3vw, 7.5rem); }
.hero__lead { max-width: 600px; margin-bottom: 34px; color: var(--ink-soft); font-family: var(--serif); font-size: 1.32rem; line-height: 1.55; }
.hero__facts { max-width: 590px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 50px 0 0; padding-top: 22px; border-top: 1px solid var(--line); }
.hero__facts div { display: flex; flex-direction: column; }
.hero__facts dt { color: var(--ink-soft); font-size: .67rem; letter-spacing: .12em; text-transform: uppercase; }
.hero__facts dd { margin: 2px 0 0; font-family: var(--serif); font-size: 1.08rem; }
.hero__visual { position: relative; }
.hero__visual::before { content: ''; position: absolute; top: -28px; right: -28px; width: 64%; height: 70%; border: 1px solid var(--sand); }
.hero__image-frame { position: relative; aspect-ratio: .84; margin: 0; overflow: hidden; background: #d6d0c5; box-shadow: var(--shadow); }
.hero__image-frame img { width: 100%; height: 100%; object-fit: cover; }
.hero__caption { position: relative; width: calc(100% - 32px); margin: -34px 0 0 16px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; padding: 17px 20px; color: var(--white); background: var(--olive-dark); }
.hero__caption > span { color: var(--sand); font-family: var(--serif); font-size: 1.45rem; }
.hero__caption div { display: flex; flex-direction: column; }
.hero__caption strong { font-family: var(--serif); font-weight: 400; }
.hero__caption small { color: #b8bcb5; font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.hero__caption > a { font-size: 1.25rem; }

.section { padding: clamp(82px, 9vw, 140px) 0; }
.section--cream { background: var(--cream); }
.section--intro { border-top: 1px solid var(--line); }
.editorial-intro { display: grid; grid-template-columns: .42fr 1.5fr .65fr; gap: 44px; align-items: start; }
.editorial-intro h2 { margin-bottom: 0; font-size: clamp(2.8rem, 5vw, 5.5rem); }
.editorial-intro__text { padding-top: 64px; color: var(--ink-soft); }
.editorial-intro__text p { margin-bottom: 28px; }
.section-heading { margin-bottom: 54px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading--split { display: grid; grid-template-columns: 1fr 400px; gap: 50px; align-items: end; }
.section-heading--split > p { margin-bottom: 8px; color: var(--ink-soft); }
.section-heading--center { max-width: 820px; margin-inline: auto; text-align: center; }
.section-heading--center .eyebrow::before { display: none; }
.section-action { margin-top: 48px; text-align: center; }
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 18px; }
.product-card { min-width: 0; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); background:var(--white); transition:transform .25s ease,box-shadow .25s ease; }
.product-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.product-card__image { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: #eeeae2; }
.product-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.product-card:hover .product-card__image img { transform: scale(1.035); }
.product-card__status { position: absolute; top: 12px; left: 12px; max-width:calc(100% - 24px); padding: 7px 10px; color: var(--olive-dark); background: rgba(255,255,255,.94); font-size: .58rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.product-card__body { flex:1; display:flex; flex-direction:column; padding: 19px 18px 20px; }
.product-card__meta { margin-bottom: 7px; color: var(--terracotta); font-size: .67rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.product-card h3 { margin-bottom: 6px; font-family: var(--serif); font-size: clamp(1.35rem, 2vw, 1.7rem); font-weight: 400; line-height: 1.12; }
.product-card__body > p:not(.product-card__meta) { min-height: 48px; margin-bottom: 19px; color: var(--ink-soft); font-size: .84rem; }
.product-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top:auto; padding-top: 13px; border-top: 1px solid var(--line); font-size: .76rem; }
.product-card__footer strong { font-size: .77rem; }
.product-card__footer a { color: var(--terracotta); font-weight: 700; }
.process-preview { background: var(--paper); }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.process-grid li { min-height: 255px; padding: 28px 30px; border-right: 1px solid var(--line); }
.process-grid li:last-child { border-right: 0; }
.process-grid span { color: var(--terracotta); font-family: var(--serif); font-size: 1.35rem; }
.process-grid h3 { margin: 54px 0 12px; font-family: var(--serif); font-size: 1.45rem; font-weight: 400; }
.process-grid p { margin: 0; color: var(--ink-soft); font-size: .86rem; }
.image-story { display: grid; grid-template-columns: 1.25fr .75fr; min-height: 720px; background: var(--olive-dark); }
.image-story__image { min-height: 600px; }
.image-story__image img { width: 100%; height: 100%; object-fit: cover; }
.image-story__copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(50px, 7vw, 100px); color: var(--white); }
.image-story__copy h2 { margin-bottom: 32px; font-size: clamp(3rem, 5vw, 5.5rem); }
.image-story__copy > p:not(.eyebrow) { margin-bottom: 34px; color: #d6d7d1; }
.value-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(60px, 10vw, 150px); }
.value-layout h2 { max-width: 500px; }
.value-list article { display: grid; grid-template-columns: 60px 1fr; gap: 28px; padding: 28px 0; border-top: 1px solid var(--line); }
.value-list article:last-child { border-bottom: 1px solid var(--line); }
.value-list article > span { color: var(--terracotta); font-family: var(--serif); font-size: 1.3rem; }
.value-list h3 { margin-bottom: 7px; font-family: var(--serif); font-size: 1.5rem; font-weight: 400; }
.value-list p { margin-bottom: 0; color: var(--ink-soft); }
.home-reasons { color:var(--white); background:var(--olive-dark); }
.home-reasons__grid { display:grid; grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr); gap:clamp(45px,7vw,105px); align-items:start; }
.home-reasons__visual { position:sticky; top:28px; margin:0; }
.home-reasons__visual img { width:100%; min-height:720px; object-fit:cover; }
.home-reasons__visual figcaption { padding-top:11px; color:#aeb8b0; font-size:.62rem; letter-spacing:.05em; }
.home-reasons__content .eyebrow { color:var(--sand); }
.home-reasons__content h2 { margin-bottom:25px; color:var(--white); font-size:clamp(3.2rem,5.5vw,6rem); }
.home-reasons__content h2 em { color:var(--sand); }
.home-reasons__lead { max-width:730px; margin-bottom:32px; color:#d1d7d2; font-family:var(--serif); font-size:clamp(1.08rem,1.5vw,1.35rem); line-height:1.55; }
.home-reasons__list { border-top:1px solid rgba(255,255,255,.18); }
.home-reasons__list article { display:grid; grid-template-columns:44px 1fr; gap:20px; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.home-reasons__list article>span { color:var(--sand); font-family:var(--serif); font-size:1.08rem; }
.home-reasons__list h3 { margin:0 0 6px; color:var(--white); font-family:var(--serif); font-size:1.3rem; font-weight:400; }
.home-reasons__list p { margin:0; color:#b8c1ba; font-size:.75rem; line-height:1.65; }
.home-reasons__content .button-row { margin-top:34px; }
.home-reasons__content .text-link { color:var(--white); }
.space-promo { padding:0 0 var(--section-space); background:var(--paper); }
.space-promo__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); border:1px solid var(--line); background:var(--white); }
.space-promo__copy { padding:clamp(40px,6vw,85px); }
.space-promo__copy h2 { margin-bottom:22px; font-size:clamp(3rem,5vw,5.5rem); }
.space-promo__copy>p:not(.eyebrow) { max-width:600px; color:var(--ink-soft); }
.space-promo__steps { display:grid; gap:10px; margin:30px 0 34px; }
.space-promo__steps div { display:grid; grid-template-columns:32px 1fr; gap:12px; align-items:center; }
.space-promo__steps span { color:var(--terracotta); font-family:var(--serif); }
.space-promo__steps strong { font-weight:650; }
.space-promo__visual { position:relative; min-height:620px; margin:0; overflow:hidden; }
.space-promo__visual img { width:100%; height:100%; object-fit:cover; }
.space-promo__visual figcaption { position:absolute; inset:auto 18px 18px; padding:11px 13px; color:var(--white); background:rgba(25,32,27,.84); font-size:.62rem; }

.space-visualizer-hero { padding:clamp(60px,8vw,120px) 0; overflow:hidden; background:var(--paper); }
.space-visualizer-hero__grid { display:grid; grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr); gap:clamp(45px,7vw,110px); align-items:center; }
.space-visualizer-hero__copy h1 { margin-bottom:28px; font-size:clamp(4.4rem,7.2vw,8.2rem); line-height:.83; }
.space-visualizer-hero__copy h1 em { color:var(--terracotta); }
.space-visualizer-hero__copy>p:not(.eyebrow) { max-width:650px; color:var(--ink-soft); font-family:var(--serif); font-size:1.15rem; line-height:1.65; }
.space-visualizer-hero__copy>small { display:block; max-width:570px; margin-top:20px; color:var(--ink-soft); font-size:.67rem; }
.space-visualizer-hero__copy .text-link { border:0; background:transparent; cursor:pointer; }
.space-visualizer-hero__visual { position:relative; margin:0; }
.space-visualizer-hero__visual img { width:100%; min-height:650px; object-fit:cover; }
.space-visualizer-hero__visual figcaption { position:absolute; right:18px; bottom:18px; display:grid; gap:3px; padding:12px 14px; color:var(--white); background:rgba(24,31,26,.86); }
.space-visualizer-hero__visual figcaption strong { font-family:var(--serif); font-weight:400; }
.space-visualizer-hero__visual figcaption span { font-size:.58rem; letter-spacing:.08em; text-transform:uppercase; }
.space-visualizer-promise { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--cream); }
.space-visualizer-promise .container { display:grid; grid-template-columns:repeat(3,1fr); }
.space-visualizer-promise .container>div { display:grid; grid-template-columns:36px 1fr; padding:25px 28px; border-right:1px solid var(--line); }
.space-visualizer-promise .container>div:last-child { border-right:0; }
.space-visualizer-promise span { grid-row:1 / 3; color:var(--terracotta); font-family:var(--serif); }
.space-visualizer-promise strong { font-family:var(--serif); font-weight:500; }
.space-visualizer-promise small { color:var(--ink-soft); font-size:.63rem; }
.space-visualizer { background:#e9e3d8; }
.space-visualizer__layout { display:grid; grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr); gap:24px; align-items:start; }
.space-upload-panel,.space-brief-panel { background:var(--paper); box-shadow:var(--shadow); }
.space-upload-panel { position:sticky; top:25px; padding:clamp(26px,3vw,42px); }
.space-brief-panel { padding:clamp(28px,4vw,52px); }
.space-step { padding-bottom:38px; margin-bottom:38px; border-bottom:1px solid var(--line); }
.space-step:last-child { padding:0; margin:0; border:0; }
.space-step-heading { display:flex; gap:17px; align-items:flex-start; margin-bottom:24px; }
.space-step-heading>span { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; color:var(--white); background:var(--olive); font-family:var(--serif); }
.space-step-heading small { display:block; margin-bottom:3px; color:var(--terracotta); font-size:.6rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.space-step-heading h3 { margin:0; font-family:var(--serif); font-size:1.65rem; font-weight:400; }
.space-dropzone { display:grid; place-items:center; min-height:230px; padding:30px; border:1px dashed #9c978d; background:var(--cream); text-align:center; cursor:pointer; }
.space-dropzone input { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.space-dropzone__icon { display:grid; place-items:center; width:52px; height:52px; margin-bottom:13px; border:1px solid var(--olive); border-radius:50%; font-family:var(--serif); font-size:2rem; }
.space-dropzone strong,.space-dropzone small { display:block; }
.space-dropzone small { margin-top:5px; color:var(--ink-soft); font-size:.63rem; }
.space-upload-panel>.button { margin:12px 0 20px; }
.space-room-preview { margin:0; }
.space-room-preview>div { display:grid; place-items:center; aspect-ratio:4/3; overflow:hidden; background:#d8d3c9; }
.space-room-preview img { width:100%; height:100%; object-fit:cover; }
.space-room-preview>div>span { color:#77766f; font-family:var(--serif); }
.space-room-preview figcaption { padding:11px 0 0; color:var(--ink-soft); font-size:.66rem; }
.space-privacy-note { margin-top:25px; padding:18px; border-left:3px solid var(--olive); background:#eef0ea; }
.space-privacy-note strong { font-family:var(--serif); font-weight:500; }
.space-privacy-note p { margin:6px 0; color:var(--ink-soft); font-size:.68rem; }
.space-privacy-note a { color:var(--terracotta); font-size:.65rem; text-decoration:underline; }
.choice-pills--space { margin-bottom:20px; }
.space-field,.space-reference-upload { display:block; }
.space-field>span,.space-reference-upload>span,.space-select-grid label>span,.space-measures label>span,.space-moods legend { display:block; margin-bottom:8px; font-size:.66rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.space-field input,.space-field textarea,.space-reference-upload input,.space-select-grid select,.space-measures input { width:100%; padding:12px 13px; border:1px solid var(--line); background:var(--white); }
.space-mode,.space-presence { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-bottom:20px; }
.space-presence { grid-template-columns:repeat(3,1fr); }
.space-mode input,.space-presence input { position:absolute; opacity:0; }
.space-mode label>span,.space-presence label>span { display:block; height:100%; padding:17px; border:1px solid var(--line); cursor:pointer; }
.space-mode strong,.space-mode small,.space-presence strong,.space-presence small { display:block; }
.space-mode strong,.space-presence strong { font-family:var(--serif); font-weight:500; }
.space-mode small,.space-presence small { margin-top:5px; color:var(--ink-soft); font-size:.61rem; }
.space-mode input:checked+span,.space-presence input:checked+span { border-color:var(--olive); color:var(--white); background:var(--olive); }
.space-mode input:checked+span small,.space-presence input:checked+span small { color:#d8ded9; }
.space-source-choice { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.space-source-choice input { position:absolute; opacity:0; }
.space-source-choice label>span { display:block; height:100%; padding:18px; border:1px solid var(--line); background:var(--white); cursor:pointer; transition:border-color .2s,background .2s,color .2s; }
.space-source-choice strong,.space-source-choice small { display:block; }
.space-source-choice strong { font-family:var(--serif); font-size:1.02rem; font-weight:500; }
.space-source-choice small { margin-top:6px; color:var(--ink-soft); font-size:.62rem; }
.space-source-choice input:checked+span { border-color:var(--olive); color:var(--white); background:var(--olive); box-shadow:0 8px 22px rgba(38,48,39,.14); }
.space-source-choice input:checked+span small { color:#d8ded9; }
.space-story-panel { margin-top:14px; padding:24px; border:1px solid var(--line); border-top:3px solid var(--terracotta); background:#f7f3eb; }
.space-story-panel[hidden] { display:none; }
.space-story-panel header { margin-bottom:22px; }
.space-story-panel header span,.space-story-panel header strong,.space-story-panel header small { display:block; }
.space-story-panel header span { margin-bottom:4px; color:var(--terracotta); font-size:.58rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.space-story-panel header strong { font-family:var(--serif); font-size:1.25rem; font-weight:500; }
.space-story-panel header small { margin-top:5px; color:var(--ink-soft); font-size:.64rem; }
.space-select-grid,.space-measures { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.space-moods { margin:23px 0; padding:0; border:0; }
.space-moods legend small { color:var(--ink-soft); text-transform:none; }
.space-moods>div { display:flex; flex-wrap:wrap; gap:7px; }
.space-moods input { position:absolute; opacity:0; }
.space-moods label span { display:block; padding:8px 10px; border:1px solid var(--line); cursor:pointer; font-size:.64rem; }
.space-moods input:checked+span { color:var(--white); background:var(--terracotta); border-color:var(--terracotta); }
.space-reference-upload input { margin-bottom:7px; }
.space-reference-upload small { color:var(--ink-soft); font-size:.62rem; }
.space-step .space-field { margin-top:20px; }
.space-measures { margin:18px 0; }
.space-measures label>div { display:grid; grid-template-columns:1fr 42px; align-items:center; border:1px solid var(--line); background:var(--white); }
.space-measures input { border:0; }
.space-measures b { font-size:.7rem; }
.space-form-status { margin:14px 0 0; color:var(--ink-soft); font-size:.7rem; text-align:center; }
.space-form-status.is-error { color:#a52828; }
.space-form-status.is-success { color:#27643b; }
.space-results__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.space-results__grid article { border:1px solid var(--line); background:var(--white); }
.space-results__grid article.is-selected { border-color:var(--terracotta); box-shadow:0 0 0 2px rgba(169,79,53,.16); }
.space-result__image { position:relative; aspect-ratio:4/3; overflow:hidden; background:#d9d4ca; }
.space-result__image>div { position:absolute; z-index:2; inset:0; display:grid; place-items:center; align-content:center; gap:10px; width:100%; height:100%; color:var(--white); background:rgba(21,29,23,.58); backdrop-filter:blur(1.5px); text-align:center; }
.space-result__image>div[hidden] { display:none; }
.space-result__image>div span { display:grid; place-items:center; width:58px; height:58px; border:2px solid rgba(255,255,255,.28); border-top-color:var(--sand); border-radius:50%; color:transparent; font-family:var(--serif); font-size:0; animation:spaceResultSpin .9s linear infinite; }
.space-result__image>div small { max-width:190px; color:var(--white); font-size:.58rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.space-results__grid article.is-loading .space-result__image img { filter:saturate(.72) brightness(.74); transform:scale(1.02); }
.space-results__grid article.is-loading .space-result__image::after { content:''; position:absolute; z-index:1; inset:0; background:linear-gradient(105deg,transparent 28%,rgba(255,255,255,.18) 46%,transparent 64%); animation:spaceResultSweep 1.8s ease-in-out infinite; pointer-events:none; }
@keyframes spaceResultSpin { to { transform:rotate(360deg); } }
@keyframes spaceResultSweep { from { transform:translateX(-100%); } to { transform:translateX(100%); } }
.space-result__image button { position:relative; width:100%; height:100%; padding:0; border:0; background:transparent; cursor:zoom-in; }
.space-result__image img { width:100%; height:100%; object-fit:cover; transition:filter .3s ease,transform .5s ease; }
.space-result__hires { position:absolute; right:12px; bottom:12px; padding:7px 10px; color:var(--white); background:rgba(18,24,19,.84); font-size:.56rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; pointer-events:none; }
.space-results__grid article>div:last-child { padding:22px; }
.space-results__grid article>div:last-child>span { color:var(--terracotta); font-size:.58rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.space-results__grid h3 { margin:10px 0; font-family:var(--serif); font-size:1.7rem; font-weight:400; }
.space-results__grid p { min-height:70px; color:var(--ink-soft); font-size:.72rem; }
.space-result__views { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; margin:16px 0 4px; }
.space-result__views button { min-width:0; padding:8px 5px; border:1px solid var(--line); color:var(--ink-soft); background:transparent; font-size:.57rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.space-result__views button.is-active { border-color:var(--olive); color:var(--white); background:var(--olive); }
.space-result__views button:disabled { opacity:.42; }
.space-public-consent { display:grid; grid-template-columns:18px 1fr; gap:10px; align-items:start; margin:18px 0 0; padding:13px; border:1px solid var(--line); background:var(--cream); cursor:pointer; }
.space-public-consent input { width:16px; height:16px; margin:3px 0 0; accent-color:var(--terracotta); cursor:pointer; }
.space-public-consent strong,.space-public-consent small { display:block; }
.space-public-consent strong { font-size:.64rem; }
.space-public-consent small { margin-top:3px; color:var(--ink-soft); font-size:.57rem; line-height:1.5; }
.space-public-consent:has(input:checked) { border-color:var(--terracotta); background:#f6eae5; }
.space-public-consent:has(input:disabled) { opacity:.5; cursor:not-allowed; }
.space-public-consent.is-saving { opacity:.72; border-color:var(--olive); background:#eef0ea; }
.space-result__actions { display:grid; gap:10px; margin-top:18px; }
.space-result__actions .text-link { justify-self:center; border:0; background:transparent; cursor:pointer; }
.space-result__views [data-space-compare].is-active { color:var(--white); background:var(--terracotta); }
.designer-publication { margin:14px 0 0; }
.designer-publication[hidden],.portrait-publication[hidden] { display:none !important; }
.designer-selection[hidden] { display:none !important; }
.portrait-publication { display:flex; align-items:center; gap:8px; margin:12px 0; padding:9px 10px; border:1px solid var(--line); background:var(--cream); font-size:.66rem; font-weight:700; cursor:pointer; }
.portrait-publication input { accent-color:var(--terracotta); }
.portrait-publication { color:var(--olive-dark); }
.portrait-publication:has(input:checked) { color:var(--white); border-color:var(--olive); background:var(--olive); }
.portrait-result--roman .portrait-publication { color:var(--olive-dark); border-color:#c8c1b4; background:#f7f3ea; }
.portrait-result--roman .portrait-publication:has(input:checked) { color:var(--white); border-color:var(--sand); background:#354034; }
.portrait-gallery-consent[hidden] { display:none !important; }
.portrait-gallery-consent { display:grid; grid-template-columns:20px 1fr; gap:12px; align-items:start; margin:22px 0 0; padding:17px 18px; color:var(--olive-dark); border:1px solid var(--line); background:var(--white); cursor:pointer; }
.portrait-gallery-consent input { width:17px; height:17px; margin:2px 0 0; accent-color:var(--terracotta); cursor:pointer; }
.portrait-gallery-consent strong,.portrait-gallery-consent small { display:block; }
.portrait-gallery-consent strong { font-size:.7rem; letter-spacing:.04em; }
.portrait-gallery-consent small { margin-top:4px; color:var(--ink-soft); font-size:.62rem; line-height:1.55; }
.portrait-gallery-consent:has(input:checked) { border-color:var(--terracotta); background:#f6eae5; }
.header__actions { display:flex; align-items:center; gap:14px; }
.header__account { color:var(--ink); font-size:.7rem; font-weight:750; text-decoration:none; }
.price-result__breakdown { margin:18px 0; padding:13px 0; border-block:1px solid rgba(255,255,255,.2); }
.price-result__breakdown p { display:flex; justify-content:space-between; gap:16px; margin:8px 0; font-size:.65rem; }
.price-result__breakdown strong { font:inherit; color:var(--sand); }
.form-success__number { display:block; margin:12px 0; color:var(--terracotta); font:700 1.25rem/1 var(--sans); letter-spacing:.08em; }

/* Contraste consistente para acciones y estados */
.button:hover:not(:disabled):not([aria-disabled="true"]) { color:var(--white); border-color:var(--olive-dark); background:var(--olive-dark); }
.button.button--sand:hover:not(:disabled):not([aria-disabled="true"]) { color:var(--white); border-color:var(--olive-dark); background:var(--olive-dark); }
.button.button--ghost-light:hover:not(:disabled):not([aria-disabled="true"]) { color:var(--olive-dark); border-color:var(--white); background:var(--white); }
.button:disabled,
.button[aria-disabled="true"] { color:#5f625c; border-color:#aaa69d; background:#e4e0d7; opacity:1; box-shadow:none; transform:none; }
.portrait-result__copy button:disabled { color:#5f625c; border-color:#aaa69d; background:#e4e0d7; opacity:1; }
.portrait-result--roman .portrait-result__copy button:disabled { color:#d8ddd7; border-color:#7e887f; background:#303a31; opacity:1; }
.space-result__views button:disabled { color:#575a54; border-color:#b7b2a8; background:#e5e1d8; opacity:1; }
.space-result__actions .text-link:disabled { color:#666a64; opacity:1; text-decoration:line-through; text-decoration-thickness:1px; }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid var(--sand); outline-offset:3px; box-shadow:0 0 0 6px var(--terracotta); }
.space-result__action-status { position:relative; min-height:42px !important; margin:14px 0 0 !important; padding:10px 12px; color:var(--ink-soft) !important; border:1px solid var(--line); background:var(--cream); font-size:.62rem !important; line-height:1.5; }
.space-result__action-status[hidden] { display:none; }
.space-result__action-status.is-loading { padding-left:34px; color:var(--olive-dark) !important; background:#eef0ea; }
.space-result__action-status.is-loading::before { content:''; position:absolute; width:13px; height:13px; margin:2px 0 0 -22px; border:2px solid rgba(38,48,39,.22); border-top-color:var(--olive); border-radius:50%; animation:spaceResultSpin .8s linear infinite; }
.space-result__action-status.is-success { color:#27643b !important; border-color:#8ab39a; background:#eef7f0; }
.space-result__action-status.is-error { color:#9d2d25 !important; border-color:#c96b60; background:#fff1ee; }
.space-results__grid article.is-saving { border-color:var(--olive); box-shadow:0 0 0 2px rgba(38,48,39,.13); }
.space-results__grid [data-space-select].is-saving { color:var(--white); border-color:var(--olive); background:var(--olive); }
.space-results__grid dl { display:grid; grid-template-columns:1fr 1fr; margin:18px 0 0; border-top:1px solid var(--line); }
.space-results__grid dl>div { padding-top:13px; }
.space-results__grid dt { color:var(--ink-soft); font-size:.58rem; text-transform:uppercase; }
.space-results__grid dd { margin:4px 0 0; font-family:var(--serif); font-size:.85rem; }
.space-results__grid [data-space-select] { margin-top:18px; }
.space-results__grid [data-space-select].is-selected { color:var(--white); border-color:var(--terracotta); background:var(--terracotta); }
.space-results__disclosure { display:grid; grid-template-columns:auto 1fr auto; gap:24px; align-items:center; margin-top:30px; padding:25px; color:var(--white); background:var(--olive-dark); }
.space-results__disclosure strong { font-family:var(--serif); font-size:1.3rem; font-weight:400; }
.space-results__disclosure p { margin:0; color:#c2cac3; font-size:.7rem; }
.space-trust__grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.space-trust__grid article { padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.space-trust__grid span { color:var(--terracotta); font-family:var(--serif); }
.space-trust__grid h3 { margin:28px 0 10px; font-family:var(--serif); font-size:1.45rem; font-weight:400; }
.space-trust__grid p { margin:0; color:var(--ink-soft); font-size:.74rem; }

@media (max-width:1080px) {
    .space-promo__grid,.space-visualizer-hero__grid { grid-template-columns:1fr 1fr; gap:0; }
    .space-visualizer-hero__grid { gap:38px; }
    .space-visualizer-hero__visual img { min-height:560px; }
    .space-visualizer__layout { grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr); }
}
@media (max-width:820px) {
    .space-promo__grid,.space-visualizer-hero__grid,.space-visualizer__layout { grid-template-columns:1fr; }
    .space-visualizer-hero__grid { gap:35px; }
    .space-visualizer-hero__visual img { min-height:520px; }
    .space-promo__visual { min-height:560px; }
    .space-visualizer-promise .container { grid-template-columns:1fr; }
    .space-visualizer-promise .container>div { border-right:0; border-bottom:1px solid var(--line); }
    .space-visualizer-promise .container>div:last-child { border-bottom:0; }
    .space-upload-panel { position:static; }
    .space-results__grid { grid-template-columns:1fr; }
    .space-results__grid p { min-height:0; }
    .space-results__disclosure { grid-template-columns:1fr; }
    .space-results__disclosure .button { justify-self:start; }
    .space-trust__grid { grid-template-columns:1fr; }
}
@media (max-width:560px) {
    .space-visualizer-hero { padding-top:54px; }
    .space-visualizer-hero__copy h1 { font-size:clamp(3.7rem,18vw,5.4rem); }
    .space-visualizer-hero__copy .button-row { align-items:flex-start; flex-direction:column; }
    .space-visualizer-hero__visual img { min-height:420px; }
    .space-promo__copy { padding:35px 24px; }
    .space-promo__visual { min-height:430px; }
    .space-mode,.space-presence,.space-select-grid,.space-measures { grid-template-columns:1fr; }
    .space-brief-panel,.space-upload-panel { padding:25px 20px; }
    .space-results__grid dl { grid-template-columns:1fr; }
}

.page-hero { padding: clamp(85px, 10vw, 150px) 0 90px; border-bottom: 1px solid var(--line); }
.page-hero__grid { display: grid; grid-template-columns: 1.45fr .55fr; gap: clamp(70px, 12vw, 180px); align-items: end; }
.page-hero h1 { max-width: 860px; margin-bottom: 0; font-size: clamp(4rem, 7.3vw, 7.7rem); }
.page-hero__aside { padding-bottom: 12px; color: var(--ink-soft); }
.page-hero__aside p { margin-bottom: 24px; font-family: var(--serif); font-size: 1.18rem; }
.page-hero--catalogue { position:relative; isolation:isolate; min-height:520px; display:flex; align-items:center; overflow:hidden; border-bottom:0; color:var(--white); background:var(--olive-dark); }
.page-hero--catalogue__background { position:absolute; z-index:-2; inset:0; }
.page-hero--catalogue__background img { width:100%; height:100%; object-fit:cover; object-position:center 54%; }
.page-hero--catalogue::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(18,27,20,.94) 0%,rgba(18,27,20,.86) 34%,rgba(18,27,20,.62) 62%,rgba(18,27,20,.48) 100%),linear-gradient(0deg,rgba(12,17,13,.36),rgba(12,17,13,.08)); }
.page-hero--catalogue .page-hero__grid { position:relative; z-index:1; width:min(calc(100% - 48px),1180px); margin-inline:auto; }
.page-hero--catalogue h1 { color:var(--white); text-shadow:0 3px 22px rgba(0,0,0,.42); }
.page-hero--catalogue h1 em { color:var(--sand); }
.page-hero--catalogue .eyebrow { color:var(--sand); }
.page-hero--catalogue .page-hero__aside { padding:26px 28px; border:1px solid rgba(255,255,255,.17); color:#f4f1e9; background:rgba(18,27,20,.78); box-shadow:0 18px 48px rgba(0,0,0,.2); backdrop-filter:blur(5px); }
.page-hero--catalogue .page-hero__aside p { color:#f4f1e9; text-shadow:0 1px 8px rgba(0,0,0,.3); }
.page-hero--catalogue .text-link { color:var(--sand); }
.catalogue-section { padding-top: 54px; }
.catalogue-toolbar { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-bottom: 38px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.catalogue-toolbar p { margin: 0; color: var(--ink-soft); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.filter-buttons { display: flex; gap: 7px; flex-wrap: wrap; }
.filter-buttons button { padding: 8px 13px; border: 1px solid transparent; background: transparent; cursor: pointer; font-size: .7rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.filter-buttons button:hover, .filter-buttons button.is-active { border-color: var(--olive); color: var(--white); background: var(--olive); }
.product-card[hidden], .gallery-group[hidden] { display: none; }
.catalogue-note { max-width: 820px; margin: 45px auto 0; color: var(--ink-soft); font-size: .78rem; text-align: center; }
.commission-band { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(70px, 11vw, 160px); align-items: center; }
.commission-band h2 { margin-bottom: 0; }
.commission-band > div:last-child > p { margin-bottom: 30px; color: var(--ink-soft); font-size: 1.04rem; }
.commission-band--compact { padding-block: 20px; }
.breadcrumbs { display: flex; gap: 10px; padding-top: 28px; color: var(--ink-soft); font-size: .72rem; }
.breadcrumbs a:hover { color: var(--terracotta); }
.product-detail { padding: 42px 0 120px; }
.product-detail__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(360px, .62fr); gap: clamp(50px, 8vw, 112px); align-items: start; }
.product-gallery__disclosure { grid-column:1 / -1; margin:8px 0 0; padding:18px 20px; border-left:3px solid var(--terracotta); color:var(--ink-soft); background:var(--cream); font-size:.75rem; line-height:1.65; }
.product-gallery__disclosure strong { color:var(--ink); }
.product-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.product-gallery__item { position: relative; aspect-ratio: .84; padding: 0; overflow: hidden; border: 0; background: #ddd5c9; cursor: zoom-in; }
.product-gallery__item--main { grid-column: 1 / -1; aspect-ratio: 1.1; }
.product-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.product-gallery__item--isolated img { object-fit:contain; }
.product-gallery__item:hover img { transform: scale(1.025); }
.zoom-label { position: absolute; right: 12px; bottom: 12px; padding: 6px 9px; color: var(--white); background: rgba(32,34,29,.78); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.product-summary { position: sticky; top: 30px; padding-top: 18px; }
.product-summary h1 { margin-bottom: 12px; font-size: clamp(3.3rem, 5vw, 5.2rem); }
.product-summary__subtitle { color: var(--terracotta); font-family: var(--serif); font-size: 1.22rem; }
.product-summary__description { margin: 30px 0; color: var(--ink-soft); }
.product-summary__price { margin-bottom: 28px; font-size: .76rem; letter-spacing: .09em; text-transform: uppercase; }
.product-summary__price strong { display: block; margin-top: 4px; font-family: var(--serif); font-size: 2rem; font-weight: 400; letter-spacing: 0; text-transform: none; }
.spec-list { margin: 0 0 28px; border-top: 1px solid var(--line); }
.spec-list div { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: .8rem; }
.spec-list dt { color: var(--ink-soft); }
.spec-list dd { margin: 0; font-weight: 650; text-align: right; }
.microcopy { margin: 12px 0 20px; color: var(--ink-soft); font-size: .7rem; line-height: 1.45; }
.check-list { margin: 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding: 6px 0 6px 24px; color: var(--ink-soft); font-size: .8rem; }
.check-list li::before { content: '✓'; position: absolute; left: 0; color: var(--terracotta); font-weight: 800; }
.empty-state { max-width: 700px; padding-block: 70px; text-align: center; }
.empty-state h1 { font-size: clamp(3rem, 6vw, 6rem); }

.gallery-note { max-width: 820px; text-align: center; }
.gallery-note .eyebrow::before { display: none; }
.gallery-note p:last-child { max-width: 640px; margin: 0 auto; color: var(--ink-soft); }
.gallery-index { position:sticky; z-index:20; top:0; border-bottom:1px solid var(--line); background:rgba(251,250,247,.96); backdrop-filter:blur(12px); }
.gallery-index .container { min-height:76px; display:grid; grid-template-columns:repeat(9,auto); align-items:center; justify-content:space-between; gap:4px; overflow:visible; }
.gallery-index button { min-width:0; display:flex; align-items:center; justify-content:center; padding:10px 9px; border:1px solid transparent; background:transparent; cursor:pointer; font-size:.65rem; font-weight:750; letter-spacing:.06em; white-space:nowrap; text-transform:uppercase; }
.gallery-index button:hover,.gallery-index button.is-active { border-color:var(--olive); color:var(--white); background:var(--olive); }
.gallery-catalogue { padding-top:70px; }
.gallery-group>header { display:grid; grid-template-columns:1fr 420px; gap:50px; align-items:end; margin-bottom:44px; }
.gallery-group>header h2 { margin:0; }
.gallery-group>header>p { margin-bottom:8px; color:var(--ink-soft); }
.thumbnail-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:42px 18px; }
.thumbnail-card { min-width:0; margin:0; }
.thumbnail-card button { position:relative; width:100%; aspect-ratio:1.16; padding:0; overflow:hidden; border:0; background:#ddd4c6; cursor:zoom-in; }
.thumbnail-card button img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.thumbnail-card--concept button { background:#e8e1d5; }
.thumbnail-card--concept button img { object-fit:contain; }
.thumbnail-card button>span { position:absolute; right:10px; bottom:10px; padding:6px 9px; color:var(--white); background:rgba(25,29,24,.78); font-size:.58rem; letter-spacing:.1em; text-transform:uppercase; opacity:0; transition:opacity .2s; }
.thumbnail-card button:hover img { transform:scale(1.035); }
.thumbnail-card button:hover>span,.thumbnail-card button:focus-visible>span { opacity:1; }
.thumbnail-card figcaption { padding:16px 3px 0; }
.thumbnail-card h3 { margin:0 0 7px; font-family:var(--serif); font-size:1.25rem; font-weight:400; line-height:1.15; }
.thumbnail-card p { min-height:66px; margin:0 0 10px; color:var(--ink-soft); font-size:.76rem; line-height:1.5; }
.thumbnail-card small { color:var(--terracotta); font-size:.6rem; font-weight:750; letter-spacing:.11em; text-transform:uppercase; }
.catalogue-scenes { color:var(--white); background:var(--olive-dark); }
.catalogue-scenes .section-heading>p { color:#c6ccc5; }
.catalogue-scenes__notice { display:grid; grid-template-columns:auto 1fr; gap:28px; margin:42px 0 30px; padding:18px 22px; border:1px solid rgba(255,255,255,.17); background:rgba(255,255,255,.035); }
.catalogue-scenes__notice strong { color:var(--sand); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; }
.catalogue-scenes__notice span { color:#c6ccc5; font-size:.72rem; line-height:1.6; }
.catalogue-scenes__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 14px; }
.catalogue-scene { min-width:0; }
.catalogue-scene>button { position:relative; width:100%; aspect-ratio:4/5; padding:0; overflow:hidden; border:0; background:#d8d0c3; cursor:zoom-in; }
.catalogue-scene>button img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.catalogue-scene>button:hover img { transform:scale(1.025); }
.catalogue-scene>button span { position:absolute; top:11px; left:11px; padding:7px 9px; color:var(--olive-dark); background:var(--sand); font-size:.54rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.catalogue-scene>div { padding:15px 3px 0; }
.catalogue-scene h3 { margin:0 0 8px; font-family:var(--serif); font-size:1.38rem; font-weight:400; line-height:1.15; }
.catalogue-scene p { margin:0; color:#c6ccc5; font-size:.71rem; line-height:1.6; }
.catalogue-scenes__action { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:58px; padding-top:28px; border-top:1px solid rgba(255,255,255,.18); }
.catalogue-scenes__action p { max-width:620px; margin:0; color:#c6ccc5; font-family:var(--serif); font-size:1.05rem; }
.catalogue-scenes__action .button { flex:0 0 auto; color:var(--olive-dark); background:var(--sand); }
.lightbox { width:96vw; max-width:none; height:94vh; max-height:none; padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.16); color:var(--white); background:#111612; box-shadow:0 24px 80px rgba(0,0,0,.55); }
.lightbox::backdrop { background:rgba(8,10,8,.94); backdrop-filter:blur(5px); }
.lightbox[open] { display:flex; flex-direction:column; }
.lightbox__toolbar { z-index:2; min-height:64px; display:grid; grid-template-columns:minmax(180px,1fr) auto 44px; align-items:center; gap:18px; padding:10px 12px 10px 20px; border-bottom:1px solid rgba(255,255,255,.13); background:#202821; }
.lightbox__toolbar p { min-width:0; margin:0; overflow:hidden; color:#e8e9e5; font-size:.72rem; font-weight:700; letter-spacing:.025em; text-overflow:ellipsis; white-space:nowrap; }
.lightbox__controls { display:flex; align-items:center; gap:5px; }
.lightbox__controls button,.lightbox__controls a { min-width:42px; height:38px; display:inline-flex; align-items:center; justify-content:center; padding:0 12px; border:1px solid rgba(255,255,255,.2); color:#f4f2eb; background:rgba(255,255,255,.045); font-size:.7rem; font-weight:750; line-height:1; cursor:pointer; transition:border-color .18s ease,background .18s ease,color .18s ease; }
.lightbox__controls button:hover,.lightbox__controls a:hover,.lightbox__controls button.is-active { border-color:var(--sand); color:var(--olive-dark); background:var(--sand); }
.lightbox__controls a { margin-left:5px; }
.lightbox__close { width:42px; height:42px; display:grid; place-items:center; padding:0; border:0; color:var(--white); background:transparent; cursor:pointer; font-size:2rem; line-height:1; }
.lightbox__stage { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; background-color:#101410; background-image:linear-gradient(45deg,rgba(255,255,255,.025) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.025) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.025) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.025) 75%); background-position:0 0,0 9px,9px -9px,-9px 0; background-size:18px 18px; cursor:grab; touch-action:none; }
.lightbox__stage.is-dragging { cursor:grabbing; user-select:none; }
.lightbox__canvas { min-width:100%; min-height:100%; width:max-content; height:max-content; display:flex; align-items:center; justify-content:center; padding:24px; }
.lightbox__canvas img { flex:none; max-width:none; max-height:none; object-fit:contain; box-shadow:0 12px 46px rgba(0,0,0,.42); user-select:none; }
.lightbox__canvas img.is-fit { width:auto !important; max-width:calc(96vw - 48px); max-height:calc(94vh - 158px); }
.lightbox__footer { min-height:34px; display:flex; align-items:center; justify-content:center; gap:14px; padding:6px 16px; border-top:1px solid rgba(255,255,255,.11); color:#aeb5ad; background:#1a211b; font-size:.62rem; }
.lightbox__footer strong { color:var(--sand); font-size:.65rem; letter-spacing:.06em; text-transform:uppercase; }
.back-to-top { position:fixed; z-index:90; right:clamp(16px,2.2vw,34px); bottom:max(18px,env(safe-area-inset-bottom)); width:52px; height:52px; display:grid; place-items:center; padding:0; border:1px solid var(--sand); border-radius:50%; color:var(--olive-dark); background:var(--sand); box-shadow:0 12px 32px rgba(18,24,19,.25); cursor:pointer; opacity:0; pointer-events:none; transform:translateY(16px); transition:opacity .2s ease,transform .2s ease,background .2s ease,color .2s ease; }
.back-to-top>span[aria-hidden] { font-size:1.45rem; line-height:1; transform:translateY(-1px); }
.back-to-top.is-visible { opacity:1; pointer-events:auto; transform:none; }
.back-to-top:hover { color:var(--sand); background:var(--olive-dark); }
.back-to-top:focus-visible { outline-color:var(--white); box-shadow:0 0 0 5px var(--terracotta),0 12px 32px rgba(18,24,19,.25); }

.technique-lead { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 650px; background: var(--olive-dark); }
.technique-lead__image img { width: 100%; height: 100%; object-fit: cover; }
.technique-lead__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(55px, 8vw, 120px); color: var(--white); }
.technique-lead__copy h2 { margin-bottom: 30px; }
.technique-lead__copy p:last-child { color: #d4d6d0; }
.craft-steps { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.craft-steps li { min-height: 180px; display: grid; grid-template-columns: 70px 1fr; gap: 25px; padding: 34px 34px 34px 0; border-bottom: 1px solid var(--line); }
.craft-steps li:nth-child(odd) { border-right: 1px solid var(--line); }
.craft-steps li:nth-child(even) { padding-left: 34px; }
.craft-steps span { color: var(--terracotta); font-family: var(--serif); font-size: 1.45rem; }
.craft-steps h3 { margin-bottom: 9px; font-family: var(--serif); font-size: 1.55rem; font-weight: 400; }
.craft-steps p { margin: 0; color: var(--ink-soft); }
.two-column-info { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(70px, 10vw, 150px); align-items: start; }
.two-column-info h2 { font-size: clamp(3rem, 5vw, 5rem); }
.two-column-info > div:first-child > p:last-child { color: var(--ink-soft); }
.timeline { border-top: 1px solid var(--line); }
.timeline div { display: grid; grid-template-columns: 150px 1fr; gap: 30px; padding: 23px 0; border-bottom: 1px solid var(--line); }
.timeline strong { font-family: var(--serif); font-size: 1.15rem; font-weight: 400; }
.timeline span { color: var(--ink-soft); }
.care-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.care-grid article { padding: 34px; border: 1px solid var(--line); }
.care-grid h3 { margin-bottom: 14px; font-family: var(--serif); font-size: 1.55rem; font-weight: 400; }
.care-grid p:last-child { color: var(--ink-soft); }

.history-opening { display: grid; grid-template-columns: .84fr 1.16fr; min-height: 720px; }
.history-opening__image img { width: 100%; height: 100%; object-fit: cover; }
.history-opening__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(60px, 9vw, 145px); }
.history-opening__copy h2 { margin-bottom: 30px; }
.history-opening__copy p:not(.eyebrow) { color: var(--ink-soft); }
.history-chapters article { display: grid; grid-template-columns: 90px 1fr; gap: 30px; padding: 55px 0; border-top: 1px solid var(--line); }
.history-chapters article:last-child { border-bottom: 1px solid var(--line); }
.history-chapters article > span { color: var(--terracotta); font-family: var(--serif); font-size: 1.8rem; }
.history-chapters article > div { display: grid; grid-template-columns: .65fr 1fr; gap: 60px; align-items: start; }
.history-chapters .eyebrow { grid-column: 1 / -1; margin-bottom: 0; }
.history-chapters h2 { margin-bottom: 0; font-size: clamp(2.6rem, 4vw, 4.2rem); }
.history-chapters article p:last-child { color: var(--ink-soft); }
.motifs-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(70px, 10vw, 150px); }
.motifs-layout > div:first-child > p:last-child { color: var(--ink-soft); }
.motif-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
.motif-grid article { min-height: 230px; padding: 28px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.motif-grid article:nth-last-child(-n+2) { border-bottom: 1px solid var(--line); }
.motif-grid strong { color: var(--terracotta); font-family: var(--serif); font-weight: 400; }
.motif-grid h3 { margin: 42px 0 10px; font-family: var(--serif); font-size: 1.5rem; font-weight: 400; }
.motif-grid p { margin: 0; color: var(--ink-soft); font-size: .88rem; }
.sources-section { color: var(--white); background: var(--olive-dark); }
.sources-box { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: center; }
.sources-box h2 { margin-bottom: 0; }
.sources-box ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.22); }
.sources-box li { border-bottom: 1px solid rgba(255,255,255,.22); }
.sources-box a { display: flex; justify-content: space-between; gap: 25px; padding: 22px 0; color: #e7e4dd; }
.sources-box a:hover { color: var(--sand); }

.contact-section { padding-top: 80px; }
.contact-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(70px, 10vw, 150px); align-items: start; }
.contact-section--proposal { padding-top:clamp(30px,4vw,56px); }
.contact-layout--proposal { display:block; max-width:1180px; }
.contact-layout--proposal .contact-form-wrap { width:100%; }
.contact-aside { position: sticky; top: 30px; }
.contact-aside h2 { margin-bottom: 38px; font-size: clamp(2.7rem, 4vw, 4.3rem); }
.contact-aside ol { margin: 0 0 35px; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.contact-aside li { display: grid; grid-template-columns: 42px 1fr; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.contact-aside li > span { color: var(--terracotta); font-family: var(--serif); }
.contact-aside li strong { font-family: var(--serif); font-size: 1.12rem; font-weight: 400; }
.contact-aside li p { margin: 3px 0 0; color: var(--ink-soft); font-size: .8rem; }
.contact-facts { padding: 22px; color: var(--white); background: var(--olive-dark); }
.contact-facts p { display: flex; justify-content: space-between; gap: 18px; margin: 0; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.16); font-size: .76rem; }
.contact-facts p:last-child { border-bottom: 0; }
.contact-facts strong { color: #b9beb6; font-weight: 400; }
.contact-form-wrap { padding: clamp(32px, 5vw, 66px); border: 1px solid var(--line); background: var(--white); box-shadow: var(--shadow); }
.form-heading h2 { margin-bottom: 10px; font-size: clamp(2.5rem, 4vw, 4rem); }
.form-heading > p:last-child { margin-bottom: 35px; color: var(--ink-soft); font-size: .78rem; }
.contact-creation { display:grid; grid-template-columns:minmax(180px,.72fr) minmax(0,1.28fr); gap:25px; align-items:center; margin:0 0 36px; padding:18px; border:1px solid var(--line); background:var(--paper); }
.contact-creation>button { position:relative; width:100%; aspect-ratio:1; padding:0; overflow:hidden; border:0; background:var(--olive-dark); cursor:zoom-in; }
.contact-creation>button img { width:100%; height:100%; object-fit:contain; }
.contact-creation>button span { position:absolute; right:9px; bottom:9px; padding:5px 8px; color:var(--white); background:rgba(18,24,19,.82); font-size:.55rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; pointer-events:none; }
.contact-creation h3 { margin:4px 0 9px; font-family:var(--serif); font-size:1.65rem; font-weight:400; }
.contact-creation>div>p:not(.eyebrow) { margin-bottom:16px; color:var(--ink-soft); font-size:.7rem; }
.contact-creation .button { min-height:42px; padding:9px 13px; font-size:.61rem; }
.contact-space-order { margin:0 0 36px; padding:22px; border:1px solid var(--line); background:var(--paper); }
.contact-space-order>header { display:grid; grid-template-columns:1fr minmax(180px,.7fr); gap:25px; align-items:end; margin-bottom:18px; }
.contact-space-order>header h3 { margin:4px 0 0; font-family:var(--serif); font-size:1.8rem; font-weight:400; }
.contact-space-order>header>p { margin:0; color:var(--ink-soft); font-size:.68rem; }
.contact-space-order>div { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.contact-space-order article { min-width:0; border:1px solid var(--line); background:var(--white); }
.contact-space-order article>button { position:relative; width:100%; aspect-ratio:1; padding:0; overflow:hidden; border:0; background:var(--olive-dark); cursor:zoom-in; }
.contact-space-order article img { width:100%; height:100%; object-fit:contain; }
.contact-space-order article>button span { position:absolute; right:7px; bottom:7px; padding:4px 6px; color:var(--white); background:rgba(18,24,19,.82); font-size:.5rem; text-transform:uppercase; pointer-events:none; }
.contact-space-order article>div { display:flex; justify-content:space-between; gap:7px; padding:10px; }
.contact-space-order article strong,.contact-space-order article a { font-size:.57rem; }
.contact-space-order article a { color:var(--terracotta); font-weight:800; text-transform:uppercase; }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px 20px; }
.contact-form label { display: block; }
.contact-form label > span:first-child { display: block; margin-bottom: 7px; font-size: .7rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.contact-form input:not([type="checkbox"]), .contact-form select, .contact-form textarea { width: 100%; border: 0; border-bottom: 1px solid #a8a59d; border-radius: 0; outline: 0; color: var(--ink); background: transparent; }
.contact-form input:not([type="checkbox"]), .contact-form select { height: 48px; }
.contact-form textarea { padding: 12px 0; resize: vertical; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--terracotta); box-shadow: 0 1px var(--terracotta); }
.form-message { position: relative; margin-top: 26px; }
.form-message small { position: absolute; right: 0; bottom: 5px; color: var(--ink-soft); font-size: .65rem; }
.checkbox { display: grid !important; grid-template-columns: 18px 1fr; gap: 10px; align-items: start; margin: 24px 0; color: var(--ink-soft); font-size: .72rem; }
.checkbox input { margin: 4px 0 0; accent-color: var(--terracotta); }
.checkbox span { margin: 0 !important; font-size: inherit !important; font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important; }
.honeypot { position: absolute !important; left: -10000px !important; }
.form-errors { margin-bottom: 26px; padding: 18px 20px; border-left: 3px solid #a2352c; background: #f7eae7; font-size: .82rem; }
.form-errors ul { margin: 7px 0 0; padding-left: 18px; }
.form-success { padding: 40px 0; text-align: center; }
.form-success > span { width: 58px; height: 58px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; color: var(--white); background: var(--olive); font-size: 1.6rem; }
.form-success h2 { margin: 24px 0 16px; }
.form-success p { max-width: 560px; margin: 0 auto 30px; color: var(--ink-soft); }
.faq-list { max-width: 900px; margin: 0 auto; border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding: 24px 45px 24px 0; cursor: pointer; list-style: none; font-family: var(--serif); font-size: 1.25rem; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: '+'; position: absolute; top: 18px; right: 5px; color: var(--terracotta); font-size: 1.7rem; }
.faq-list details[open] summary::after { content: '−'; }
.faq-list details p { max-width: 760px; padding: 0 0 24px; color: var(--ink-soft); }
.compare-score-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.compare-score { padding:clamp(34px,5vw,66px); border:1px solid var(--line); background:var(--white); }
.compare-score--good { border-top:6px solid #16875c; }
.compare-score--bad { border-top:6px solid #c13d35; }
.compare-score>p { min-height:46px; color:var(--ink-soft); font-size:.72rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.compare-score>strong { display:block; margin:20px 0; font-family:var(--serif); font-size:clamp(4.5rem,8vw,8rem); font-weight:400; line-height:.8; }
.compare-score--good>strong { color:#16875c; }
.compare-score--bad>strong { color:#c13d35; }
.compare-score>strong small { color:var(--ink-soft); font-family:var(--sans); font-size:.9rem; }
.compare-score h2 { margin:30px 0; font-size:clamp(2.1rem,3vw,3.4rem); }
.compare-score ul { margin:0 0 32px; padding:20px 0; list-style:none; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.compare-score li { padding:6px 0; color:var(--ink-soft); }
.compare-score .text-link { margin-left:22px; }
.comparison-table { border-top:1px solid var(--line); }
.comparison-table__head,.comparison-table__row { display:grid; grid-template-columns:.45fr 1fr 1fr; gap:24px; padding:18px 20px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); border-left:1px solid var(--line); }
.comparison-table__head { color:var(--white); background:var(--olive-dark); font-size:.7rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.comparison-table__row strong { font-family:var(--serif); font-size:1.08rem; font-weight:400; }
.comparison-table__row span { color:var(--ink-soft); font-size:.82rem; }
.comparison-table__row .is-good { color:#167450; }
.comparison-table__row .is-bad { color:#a63832; }
.comparison-message { padding:clamp(90px,11vw,155px) 0; color:var(--white); background:var(--olive-dark); }
.comparison-message h2 { max-width:900px; }
.comparison-message>div>p:not(.eyebrow) { max-width:720px; margin-bottom:34px; color:#c9cec7; }

.closing-cta { padding: 75px 0; color: var(--white); background: var(--terracotta); }
.closing-cta__inner { display: grid; grid-template-columns: 1fr auto; gap: 80px; align-items: center; }
.closing-cta h2 { margin-bottom: 15px; font-size: clamp(2.7rem, 4vw, 4.7rem); }
.closing-cta p:not(.eyebrow) { max-width: 730px; margin-bottom: 0; color: #f2ded7; }
.site-footer { padding: 74px 0 24px; color: #dedfd8; background: #1d241e; }
.footer__grid { display:grid; grid-template-columns:minmax(250px,1.35fr) repeat(3,minmax(135px,.68fr)) minmax(190px,.9fr); gap:clamp(30px,3.2vw,58px); padding-bottom:58px; align-items:start; }
.footer__brand img { width: 230px; height: auto; object-fit: contain; object-position: left center; }
.footer__brand p { max-width: 360px; margin: 20px 0 0; color: #aeb3aa; font-size: .82rem; }
.footer__title { margin-bottom: 18px; color: var(--sand); font-family: var(--sans); font-size: .68rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer li { margin-bottom: 9px; }
.site-footer a { font-size: .8rem; }
.site-footer a:hover { color: var(--sand); }
.footer__contact p { color: #aeb3aa; font-size: .8rem; }
.footer__contact p strong { color:#dedfd8; font-weight:650; }
.footer__contact > a { color: var(--sand); border-bottom: 1px solid var(--sand); }
.footer__bottom { display: flex; justify-content: space-between; gap: 30px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); color: #8f968d; font-size: .65rem; }
.footer__bottom p { margin: 0; }
.footer__legal { display: flex; justify-content: flex-end; gap: 18px; flex-wrap: wrap; }
.footer__legal a { color: #aeb3aa; font-size: .65rem; }
.footer__legal a:hover { color: var(--sand); }

.legal-hero { padding: clamp(78px, 9vw, 135px) 0 72px; border-bottom: 1px solid var(--line); background: var(--cream); }
.legal-hero h1 { margin-bottom: 20px; font-size: clamp(3.7rem, 7vw, 7rem); }
.legal-hero > .container > p:last-child { max-width: 700px; margin-bottom: 0; color: var(--ink-soft); font-family: var(--serif); font-size: 1.18rem; }
.legal-hero--refund { color: var(--white); background: var(--olive-dark); }
.legal-hero--refund > .container > p:last-child { color: #d1d5cf; }
.legal-content { padding-top: 72px; }
.legal-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(55px, 9vw, 125px); align-items: start; }
.legal-layout > article { max-width: 790px; }
.legal-layout h2 { margin: 44px 0 15px; padding-top: 26px; border-top: 1px solid var(--line); font-size: clamp(1.9rem, 3vw, 2.6rem); letter-spacing: -.025em; }
.legal-layout h2:first-child { margin-top: 0; }
.legal-layout article p { color: var(--ink-soft); }
.legal-layout article a { color: var(--terracotta); text-decoration: underline; text-underline-offset: 3px; }
.legal-sidebar { position: sticky; top: 30px; display: grid; gap: 16px; }
.legal-sidebar > div { padding: 26px; border: 1px solid var(--line); background: var(--white); }
.legal-sidebar nav { display: grid; }
.legal-sidebar nav a { padding: 10px 0; border-bottom: 1px solid var(--line); font-family: var(--serif); }
.legal-sidebar nav a:last-child { border-bottom: 0; }
.legal-sidebar > div:last-child { display: grid; gap: 8px; color: var(--ink-soft); font-size: .76rem; }
.legal-sidebar > div:last-child strong { color: var(--ink); }
.legal-sidebar > div:last-child a { color: var(--terracotta); }
.legal-sidebar small { margin-top: 12px; }
.legal-alert { margin-bottom: 46px; padding: 28px 30px; border-left: 4px solid var(--terracotta); background: #f1e4db; }
.legal-alert strong { display: block; margin-bottom: 8px; font-family: var(--serif); font-size: 1.3rem; }
.legal-alert p { margin: 0; }

@media (max-width: 1080px) {
    .header__inner { gap: 20px; }
    .main-nav { gap: 18px; }
    .header__cta { display: none; }
    .hero__grid { grid-template-columns: 1fr .75fr; gap: 55px; }
    .product-grid { grid-template-columns: repeat(2, 1fr); gap: 44px 22px; }
    .page-hero__grid { grid-template-columns: 1.2fr .55fr; gap: 70px; }
    .thumbnail-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 820px) {
    .container { width: min(calc(100% - 32px), var(--container)); }
    .announcement__inner span { display: none; }
    .announcement__inner { justify-content: center; }
    .site-header { position: sticky; top: 0; }
    .header__inner { min-height: 72px; }
    .brand { width: 160px; }
    .brand img { height: 48px; }
    .menu-toggle { display: block; margin-left: auto; }
    .main-nav { position: absolute; top: 72px; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 10px 24px 24px; border-bottom: 1px solid var(--line); background: var(--paper); }
    .main-nav.is-open { display: flex; }
    .main-nav a { padding: 13px 0; border-bottom: 1px solid var(--line); }
    .main-nav a::after { display: none; }
    .nav-submenu { align-self:auto; display:block; border-bottom:1px solid var(--line); }
    .nav-submenu>button { width:100%; min-height:47px; justify-content:space-between; }
    .nav-submenu>button::after { display:none; }
    .nav-submenu__panel { position:static; display:none; min-width:0; padding:0 0 8px 15px; border:0; box-shadow:none; opacity:1; visibility:visible; transform:none; }
    .nav-submenu:hover .nav-submenu__panel { display:none; }
    .nav-submenu.is-open .nav-submenu__panel { display:block; }
    .main-nav .nav-submenu__panel a { padding:11px 0; font-size:.74rem; }
    .hero--home { padding: 54px 0 70px; }
    .hero__grid, .editorial-intro, .section-heading--split, .page-hero__grid, .value-layout, .commission-band, .product-detail__grid, .two-column-info, .history-opening, .motifs-layout, .sources-box, .contact-layout { grid-template-columns: 1fr; }
    .home-reasons__grid { grid-template-columns:1fr; }
    .home-reasons__visual { position:static; }
    .home-reasons__visual img { min-height:0; max-height:680px; }
    .hero__grid { gap: 65px; }
    .hero__copy h1 { font-size: clamp(3.8rem, 15vw, 6rem); }
    .hero__visual { width: min(100%, 570px); margin: 0 auto; }
    .editorial-intro { gap: 15px; }
    .editorial-intro__text { padding-top: 15px; }
    .section-heading--split { gap: 15px; }
    .process-grid { grid-template-columns: repeat(2, 1fr); }
    .process-grid li:nth-child(2) { border-right: 0; }
    .process-grid li:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
    .image-story, .technique-lead { grid-template-columns: 1fr; }
    .image-story__image, .technique-lead__image { min-height: 520px; }
    .page-hero { padding: 70px 0; }
    .page-hero__grid { gap: 30px; }
    .page-hero__aside { max-width: 620px; }
    .page-hero--catalogue { min-height:620px; }
    .page-hero--catalogue::before { background:linear-gradient(180deg,rgba(18,27,20,.88) 0%,rgba(18,27,20,.76) 48%,rgba(18,27,20,.92) 100%); }
    .page-hero--catalogue__background img { object-position:center; }
    .page-hero--catalogue .page-hero__aside { max-width:100%; padding:22px; }
    .product-summary { position: static; }
    .craft-steps { grid-template-columns: 1fr; }
    .craft-steps li:nth-child(odd) { border-right: 0; }
    .craft-steps li:nth-child(even) { padding-left: 0; }
    .care-grid { grid-template-columns: 1fr; }
    .history-opening__image { min-height: 650px; }
    .history-chapters article > div { grid-template-columns: 1fr; gap: 14px; }
    .contact-aside { position: static; }
    .closing-cta__inner { grid-template-columns: 1fr; gap: 30px; }
    .closing-cta__inner .button { justify-self: start; }
    .footer__grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px 30px; }
    .footer__brand { grid-column:1 / -1; }
    .footer__contact { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:8px 30px; padding-top:30px; border-top:1px solid rgba(255,255,255,.12); }
    .footer__contact .footer__title { grid-column:1 / -1; }
    .footer__contact p { margin:0; }
    .footer__contact > a { justify-self:end; }
    .compare-score-grid { grid-template-columns:1fr; }
    .comparison-table__head { display:none; }
    .comparison-table__row { grid-template-columns:1fr; gap:8px; }
}

@media (max-width: 560px) {
    body { font-size: 15px; }
    .container { width: min(calc(100% - 24px), var(--container)); }
    .section { padding: 72px 0; }
    .hero--home { padding-top: 40px; }
    .hero__copy h1 { font-size: clamp(3.25rem, 17vw, 5rem); }
    .hero__lead { font-size: 1.08rem; }
    .button-row { align-items: stretch; flex-direction: column; }
    .button-row .button, .button-row .text-link { width: 100%; justify-content: center; }
    .hero__facts { grid-template-columns: 1fr; gap: 12px; }
    .hero__facts div { flex-direction: row; justify-content: space-between; }
    .hero__visual::before { right: -10px; }
    .product-grid { grid-template-columns: 1fr; }
    .product-card__image { aspect-ratio: .88; }
    .process-grid { grid-template-columns: 1fr; }
    .process-grid li { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
    .process-grid h3 { margin-top: 24px; }
    .image-story__image, .technique-lead__image { min-height: 420px; }
    .image-story__copy, .technique-lead__copy { padding: 52px 24px; }
    .value-list article { grid-template-columns: 42px 1fr; gap: 15px; }
    .page-hero h1 { font-size: clamp(3.3rem, 17vw, 5.2rem); }
    .catalogue-toolbar { align-items: flex-start; flex-direction: column; }
    .filter-buttons { width: 100%; }
    .filter-buttons button { flex: 1 1 auto; }
    .product-gallery { gap: 8px; }
    .product-gallery__item--main { aspect-ratio: .82; }
    .thumbnail-grid { grid-template-columns:1fr; }
    .gallery-group>header { grid-template-columns:1fr; gap:10px; }
    .thumbnail-card p { min-height:0; }
    .thumbnail-card button>span { opacity:1; }
    .lightbox { width:100vw; height:100dvh; border:0; }
    .lightbox__toolbar { grid-template-columns:1fr 42px; gap:8px; min-height:106px; padding:8px 8px 8px 12px; }
    .lightbox__toolbar p { grid-column:1; }
    .lightbox__controls { grid-column:1 / -1; grid-row:2; overflow-x:auto; padding-bottom:2px; }
    .lightbox__controls button,.lightbox__controls a { flex:0 0 auto; height:36px; padding-inline:10px; }
    .lightbox__close { grid-column:2; grid-row:1; }
    .lightbox__canvas { padding:12px; }
    .lightbox__canvas img.is-fit { max-width:calc(100vw - 24px); max-height:calc(100dvh - 166px); }
    .lightbox__footer span { display:none; }
    .craft-steps li { grid-template-columns: 44px 1fr; gap: 15px; padding-right: 0; }
    .timeline div { grid-template-columns: 1fr; gap: 4px; }
    .history-opening__image { min-height: 520px; }
    .history-chapters article { grid-template-columns: 42px 1fr; gap: 15px; }
    .motif-grid { grid-template-columns: 1fr; }
    .motif-grid article { border-right: 1px solid var(--line); }
    .motif-grid article:nth-last-child(-n+2) { border-bottom: 0; }
    .motif-grid article:last-child { border-bottom: 1px solid var(--line); }
    .form-grid { grid-template-columns: 1fr; }
    .contact-form-wrap { padding: 28px 20px; }
    .contact-creation { grid-template-columns:1fr; }
    .contact-space-order>header { grid-template-columns:1fr; }
    .contact-space-order>div { grid-template-columns:1fr; }
    .footer__grid { grid-template-columns:1fr; gap:34px; }
    .footer__brand { grid-column: 1 / -1; }
    .footer__contact { grid-column:1 / -1; display:block; padding-top:28px; }
    .footer__contact p { margin:0 0 16px; }
    .footer__contact > a { justify-self:auto; }
    .footer__bottom { flex-direction: column; }
    .footer__legal { justify-content: flex-start; }
    .legal-layout { grid-template-columns: 1fr; }
    .legal-sidebar { position: static; }
    .compare-score .text-link { margin:20px 0 0; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

@media (prefers-contrast: more) {
    :root { --ink-soft:#3e3f3a; --line:#9f9a91; }
    :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline-width:4px; }
    .button,.menu-toggle,.back-to-top { border-width:2px; }
}

@media (forced-colors: active) {
    .back-to-top { border:2px solid ButtonText; color:ButtonText; background:ButtonFace; forced-color-adjust:auto; }
    .skip-link { border:2px solid CanvasText; }
}

/* Final photographic edition */
.text-link--light { color: var(--white); }
.new-hero { position: relative; min-height: min(840px, 82vh); display: flex; align-items: flex-end; overflow: hidden; color: var(--white); background: var(--olive-dark); }
.new-hero__backdrop, .new-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.new-hero__backdrop { object-fit: cover; object-position: center 48%; }
.new-hero__shade { background: linear-gradient(90deg, rgba(16,21,17,.92) 0%, rgba(16,21,17,.58) 47%, rgba(16,21,17,.13) 78%), linear-gradient(0deg, rgba(16,21,17,.72), transparent 52%); }
.new-hero__content { position: relative; padding-block: clamp(90px, 12vw, 160px); }
.new-hero h1 { max-width: 900px; margin-bottom: 30px; font-size: clamp(4.4rem, 8vw, 8.8rem); }
.new-hero__content > p:not(.eyebrow) { max-width: 660px; margin-bottom: 34px; color: #e3e0d8; font-family: var(--serif); font-size: 1.25rem; }
.editorial-gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.editorial-gallery__item { margin: 0; min-width: 0; }
.editorial-gallery__item--wide { grid-column: span 2; }
.editorial-gallery button { position: relative; width: 100%; height: 100%; min-height: 420px; padding: 0; overflow: hidden; border: 0; background: #d7d0c4; cursor: zoom-in; }
.editorial-gallery img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; transition: transform .45s; }
.editorial-gallery button:hover img { transform: scale(1.025); }
.editorial-gallery figcaption { position: absolute; inset: auto 0 0; padding: 60px 22px 18px; color: white; background: linear-gradient(transparent, rgba(17,20,17,.82)); text-align: left; }
.editorial-gallery figcaption strong, .editorial-gallery figcaption span { display: block; }
.editorial-gallery figcaption strong { font-family: var(--serif); font-size: 1.2rem; font-weight: 400; }
.editorial-gallery figcaption span { color: #dddcd5; font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.destination-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.destination-card div { aspect-ratio: .74; overflow: hidden; background: #ddd5c9; }
.destination-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.destination-card:hover img { transform: scale(1.035); }
.destination-card > a > span { display: block; margin-top: 20px; color: var(--terracotta); font-size: .66rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.destination-card h3 { min-height: 75px; margin: 7px 0 16px; font-family: var(--serif); font-size: 1.3rem; font-weight: 400; line-height: 1.22; }
.destination-card small { padding-bottom: 4px; border-bottom: 1px solid; font-weight: 700; text-transform: uppercase; }
.museum-strip { display: grid; grid-template-columns: repeat(4,1fr); height: clamp(280px, 34vw, 520px); }
.museum-strip img { width: 100%; height: 100%; object-fit: cover; }
.museum-list { display: grid; gap: clamp(90px, 12vw, 170px); }
.museum-feature { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(50px, 8vw, 110px); align-items: center; }
.museum-feature--reverse .museum-feature__image { order: 2; }
.museum-feature__image { height: min(680px, 60vw); overflow: hidden; background: #ddd5c9; }
.museum-feature__image img { width: 100%; height: 100%; object-fit: cover; }
.museum-feature > div:last-child > span { display: block; margin-bottom: 25px; color: var(--ink-soft); font-family: var(--serif); }
.museum-feature h2 { font-size: clamp(2.7rem, 4vw, 4.7rem); }
.museum-feature > div:last-child > p:not(.eyebrow,.museum-source) { color: var(--ink-soft); }
.museum-source { padding-top: 18px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .72rem; }
.museum-source a { color: var(--terracotta); text-decoration: underline; }
.story-hero { display: grid; grid-template-columns: 1.35fr .65fr; min-height: 760px; color: var(--white); background: var(--olive-dark); }
.story-hero__image { min-height: 600px; }
.story-hero__image img { width: 100%; height: 100%; object-fit: cover; }
.story-hero__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(45px, 7vw, 100px); }
.story-hero h1 { margin-bottom: 30px; font-size: clamp(3.8rem, 6vw, 7rem); }
.story-hero__copy > p:last-child { color: #d1d5cf; }
.market-guide { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(60px, 10vw, 150px); }
.market-guide__cards article { display: grid; grid-template-columns: 54px 180px 1fr; gap: 24px; padding: 28px 0; border-top: 1px solid var(--line); }
.market-guide__cards article:last-child { border-bottom: 1px solid var(--line); }
.market-guide__cards span { color: var(--terracotta); font-family: var(--serif); font-size: 1.3rem; }
.market-guide__cards h3 { margin: 0; font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.market-guide__cards p { margin: 0; color: var(--ink-soft); font-size: .86rem; }
.market-collage { display: grid; grid-template-columns: .9fr 1.2fr .9fr; height: min(700px, 55vw); }
.market-collage img { width: 100%; height: 100%; object-fit: cover; }
.buying-section { position: relative; z-index: 1; overflow: hidden; isolation: isolate; }
.buying-notes { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(60px, 10vw, 140px); }
.buying-notes > div { min-width: 0; }
.buying-notes h2 { max-width: 10ch; overflow-wrap: break-word; }
.buying-notes ol { margin: 0; padding: 0; list-style: none; counter-reset: notes; }
.buying-notes li { display: grid; grid-template-columns: 190px 1fr; gap: 25px; padding: 22px 0; border-top: 1px solid var(--line); }
.buying-notes li:last-child { border-bottom: 1px solid var(--line); }
.buying-notes strong { font-family: var(--serif); font-size: 1.1rem; font-weight: 400; }
.buying-notes span { color: var(--ink-soft); font-size: .84rem; }
.sources-note { padding-block: 35px; border-top: 1px solid var(--line); }
.sources-note p { max-width: 950px; margin: 0 auto; color: var(--ink-soft); font-size: .72rem; text-align: center; }
.workshop-steps { display: grid; grid-template-columns: repeat(4,1fr); margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.workshop-steps li { padding: 30px; border-right: 1px solid var(--line); }
.workshop-steps li:last-child { border-right: 0; }
.workshop-steps > li > span { color: var(--terracotta); font-family: var(--serif); font-size: 1.35rem; }
.workshop-steps h3 { margin-top: 60px; font-family: var(--serif); font-size: 1.4rem; font-weight: 400; }
.workshop-steps p { color: var(--ink-soft); font-size: .84rem; }
.workshop-gallery { display: grid; grid-template-columns: repeat(4,1fr); height: min(680px, 55vw); }
.workshop-gallery button { height: 100%; padding: 0; overflow: hidden; border: 0; cursor: zoom-in; }
.workshop-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.workshop-gallery button:hover img { transform: scale(1.025); }
.real-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 55px 18px; }
.real-grid figure { margin: 0; }
.real-grid button { width: 100%; aspect-ratio: .86; padding: 0; overflow: hidden; border: 0; cursor: zoom-in; }
.real-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.real-grid button:hover img { transform: scale(1.025); }
.real-grid figcaption { padding: 16px 3px 0; }
.real-grid figcaption strong, .real-grid figcaption span { display: block; }
.real-grid figcaption strong { font-family: var(--serif); font-size: 1.3rem; font-weight: 400; }
.real-grid figcaption span { color: var(--terracotta); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.simulation-hero { padding: clamp(100px,13vw,190px) 0; color: var(--white); background: var(--olive-dark); }
.simulation-hero h1 { max-width: 1000px; font-size: clamp(4rem,8vw,8.5rem); }
.simulation-hero p:last-child { max-width: 700px; color: #ced2cc; font-family: var(--serif); font-size: 1.2rem; }
.simulation-disclosure { color: var(--olive-dark); background: var(--sand); }
.simulation-disclosure .container { min-height: 82px; display: grid; grid-template-columns: auto 1fr auto 1fr; gap: 22px; align-items: center; }
.simulation-disclosure strong { font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.simulation-disclosure span { font-size: .78rem; }
.simulation-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 55px 18px; }
.simulation-grid figure { margin: 0; }
.simulation-grid button { width: 100%; aspect-ratio: 1.25; padding: 0; overflow: hidden; border: 0; cursor: zoom-in; }
.simulation-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.simulation-grid button:hover img { transform: scale(1.025); }
.simulation-grid figcaption { display: flex; justify-content: space-between; gap: 20px; padding-top: 15px; }
.simulation-grid figcaption span { color: var(--terracotta); font-size: .65rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.simulation-grid figcaption strong { font-family: var(--serif); font-size: 1.1rem; font-weight: 400; }
.craft-links { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.craft-links a { min-height:320px; display:flex; flex-direction:column; justify-content:flex-end; padding:clamp(30px,5vw,60px); color:var(--white); background:var(--olive-dark); transition:transform .2s; }
.craft-links a:last-child { background:var(--terracotta); }
.craft-links a:hover { transform:translateY(-4px); }
.craft-links span { color:var(--sand); font-size:.7rem; font-weight:750; letter-spacing:.15em; text-transform:uppercase; }
.craft-links h2 { margin:15px 0; font-size:clamp(2.1rem,4vw,3.8rem); }
.craft-links p { margin:0; color:#d9ddd7; }
.quality-hero { display:grid; grid-template-columns:.75fr 1.25fr; min-height:760px; color:var(--white); background:var(--olive-dark); }
.quality-hero__copy { display:flex; flex-direction:column; justify-content:flex-start; padding:clamp(62px,7vw,105px); padding-top:clamp(70px,8vw,125px); }
.quality-hero h1 { margin-bottom:30px; font-size:clamp(3.8rem,6.4vw,7rem); }
.quality-hero__copy>p:last-child { color:#d0d4ce; }
.quality-hero__image { min-height:600px; }
.quality-hero__image img { width:100%; height:100%; object-fit:cover; }
.quality-levels { display:grid; grid-template-columns:repeat(3,1fr); gap:30px 18px; }
.quality-levels article>div { aspect-ratio:.82; overflow:hidden; margin-bottom:20px; background:#ddd5c9; }
.quality-levels img { width:100%; height:100%; object-fit:cover; transition:transform .45s; }
.quality-levels article:hover img { transform:scale(1.025); }
.quality-levels article>span { color:var(--terracotta); font-family:var(--serif); font-size:1.25rem; }
.quality-levels h3 { margin:9px 0; font-family:var(--serif); font-size:1.45rem; font-weight:400; }
.quality-levels p { color:var(--ink-soft); font-size:.83rem; }
.hours-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(55px,9vw,130px); }
.hours-layout>div>p:last-child { color:var(--ink-soft); }
.hours-layout ol { margin:0; padding:0; list-style:none; }
.hours-layout li { display:grid; grid-template-columns:190px 1fr; gap:25px; padding:22px 0; border-top:1px solid var(--line); }
.hours-layout li:last-child { border-bottom:1px solid var(--line); }
.hours-layout strong { font-family:var(--serif); font-size:1.1rem; font-weight:400; }
.hours-layout span { color:var(--ink-soft); font-size:.84rem; }
.quality-sources a { color:var(--terracotta); text-decoration:underline; }
.quality-levels em { font-family:var(--serif); }
.quality-table { overflow-x:auto; border:1px solid var(--line); background:var(--white); }
.quality-table table { width:100%; min-width:960px; border-collapse:collapse; }
.quality-table th,.quality-table td { padding:18px 16px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.quality-table th:last-child,.quality-table td:last-child { border-right:0; }
.quality-table tbody tr:last-child th,.quality-table tbody tr:last-child td { border-bottom:0; }
.quality-table thead th { color:var(--white); background:var(--olive-dark); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; }
.quality-table tbody th { min-width:170px; font-family:var(--serif); font-size:1.05rem; font-weight:400; }
.quality-table td { color:var(--ink-soft); font-size:.78rem; }
.quality-check__layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(55px,9vw,130px); }
.quality-check__layout>div>p:last-child { color:var(--ink-soft); }
.quality-check ol { display:grid; grid-template-columns:1fr 1fr; margin:0; padding:0; border-top:1px solid var(--line); list-style:none; }
.quality-check li { display:grid; grid-template-columns:44px 1fr; gap:14px; padding:23px 22px 23px 0; border-bottom:1px solid var(--line); }
.quality-check li:nth-child(odd) { border-right:1px solid var(--line); }
.quality-check li:nth-child(even) { padding-left:22px; }
.quality-check li>span { color:var(--terracotta); font-family:var(--serif); }
.quality-check strong { font-family:var(--serif); font-size:1.08rem; font-weight:400; }
.quality-check p { margin:4px 0 0; color:var(--ink-soft); font-size:.8rem; }
.micro-hero { padding:clamp(80px,10vw,150px) 0; color:var(--white); background:var(--olive-dark); overflow:hidden; }
.micro-hero__grid { display:grid; grid-template-columns:1fr .7fr; gap:clamp(60px,10vw,150px); align-items:center; }
.micro-hero h1 { margin-bottom:30px; font-size:clamp(4rem,7.4vw,8rem); }
.micro-hero__grid>div>p:last-child { max-width:650px; color:#d0d4ce; font-family:var(--serif); font-size:1.18rem; }
.micro-hero figure { position:relative; margin:0; }
.micro-hero figure::before { content:''; position:absolute; inset:-24px 24px 24px -24px; border:1px solid var(--sand); }
.micro-hero figure img { position:relative; width:100%; max-height:680px; object-fit:cover; }
.micro-hero figcaption { position:relative; padding-top:12px; color:#bfc5bd; font-size:.67rem; letter-spacing:.1em; text-transform:uppercase; }
.micro-intro { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(60px,10vw,150px); }
.micro-intro>div:last-child { padding-top:45px; color:var(--ink-soft); font-family:var(--serif); font-size:1.13rem; }
.micro-gallery { display:grid; grid-template-columns:repeat(4,1fr); }
.micro-gallery figure { margin:0; overflow:hidden; background:var(--olive-dark); }
.micro-gallery button { width:100%; height:min(680px,52vw); padding:0; overflow:hidden; border:0; cursor:zoom-in; }
.micro-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.micro-gallery button:hover img { transform:scale(1.03); }
.micro-gallery figcaption { padding:16px 20px 22px; color:#e0e2de; font-family:var(--serif); }
.micro-process { display:grid; grid-template-columns:.6fr 1.4fr; gap:clamp(60px,10vw,140px); }
.micro-process ol { margin:0; padding:0; list-style:none; }
.micro-process li { display:grid; grid-template-columns:50px 1fr; gap:25px; padding:24px 0; border-top:1px solid var(--line); }
.micro-process li:last-child { border-bottom:1px solid var(--line); }
.micro-process li>span { color:var(--terracotta); font-family:var(--serif); font-size:1.2rem; }
.micro-process h3 { margin:0 0 5px; font-family:var(--serif); font-size:1.3rem; font-weight:400; }
.micro-process p { margin:0; color:var(--ink-soft); font-size:.84rem; }
.micro-history { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(60px,10vw,140px); }
.micro-history>div:last-child { color:var(--ink-soft); }
.micro-cta { color:var(--white); background:var(--terracotta); }
.micro-cta .commission-band>div:last-child>p { color:#f0d9d1; }
.presence-lab { color:var(--white); background:#151b16; }
.presence-lab__heading { display:grid; grid-template-columns:1.15fr .55fr; gap:80px; align-items:end; margin-bottom:55px; }
.presence-lab__heading h2 { margin:0; }
.presence-lab__heading>p { margin-bottom:8px; color:#bac0b8; }
.presence-lab__stage { display:grid; grid-template-columns:1fr 1fr; min-height:680px; border:1px solid rgba(255,255,255,.16); }
.presence-lab__visuals { position:relative; min-height:580px; overflow:hidden; background:#252c26; }
.presence-lab__visuals img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.025); transition:opacity .45s,transform .7s; }
.presence-lab__visuals img.is-active { opacity:1; transform:scale(1); }
.presence-lab__distance { position:absolute; right:20px; bottom:20px; min-width:100px; padding:10px 14px; color:var(--olive-dark); background:var(--sand); font-family:var(--serif); font-size:1.15rem; text-align:center; }
.presence-lab__panel { display:grid; grid-template-columns:180px 1fr; }
.presence-lab__choices { display:flex; flex-direction:column; border-right:1px solid rgba(255,255,255,.14); }
.presence-lab__choices button { flex:1; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:4px; padding:22px; border:0; border-bottom:1px solid rgba(255,255,255,.14); color:#9da49c; background:transparent; cursor:pointer; text-align:left; }
.presence-lab__choices button:last-child { border-bottom:0; }
.presence-lab__choices button:hover,.presence-lab__choices button.is-active { color:var(--white); background:rgba(255,255,255,.07); }
.presence-lab__choices span { color:var(--sand); font-family:var(--serif); font-size:1.2rem; }
.presence-lab__choices strong { font-family:var(--serif); font-size:1.05rem; font-weight:400; }
.presence-lab__choices small { font-size:.65rem; line-height:1.4; }
.presence-lab__result { display:flex; flex-direction:column; justify-content:center; padding:clamp(30px,5vw,65px); }
.presence-lab__result h3 { margin:0 0 18px; font-family:var(--serif); font-size:clamp(2rem,3.5vw,3.8rem); font-weight:400; line-height:1.02; }
.presence-lab__result>p:not(.eyebrow) { color:#bfc5bd; }
.presence-lab__result dl { margin:18px 0 34px; border-top:1px solid rgba(255,255,255,.15); }
.presence-lab__result dl div { display:flex; justify-content:space-between; gap:18px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.15); font-size:.72rem; }
.presence-lab__result dt { color:#90988f; }
.presence-lab__result dd { margin:0; text-align:right; }
.presence-lab__result .text-link { color:var(--white); }

.designer-hero { position:relative; min-height:780px; padding:0; overflow:hidden; color:var(--white); background:var(--olive-dark); }
.designer-hero::after { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(14,20,15,.9) 0%,rgba(14,20,15,.7) 40%,rgba(14,20,15,.2) 76%,rgba(14,20,15,.12) 100%),linear-gradient(0deg,rgba(14,20,15,.68),transparent 48%); }
.designer-hero__background { position:absolute; inset:0; }
.designer-hero__background img { width:100%; height:100%; object-fit:cover; object-position:center; }
.designer-hero__grid { position:relative; z-index:2; min-height:780px; display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.72fr); gap:clamp(42px,7vw,110px); align-items:center; padding-block:clamp(70px,8vw,115px) 42px; }
.designer-hero h1 { max-width:780px; margin-bottom:28px; font-size:clamp(4.4rem,7vw,7.8rem); text-shadow:0 2px 28px rgba(0,0,0,.25); }
.designer-hero h1 em { color:var(--terracotta); }
.designer-hero__copy>p:not(.eyebrow) { max-width:650px; margin-bottom:30px; color:#f1eee7; font-family:var(--serif); font-size:1.14rem; text-shadow:0 1px 12px rgba(0,0,0,.35); }
.designer-hero__actions { display:flex; align-items:center; gap:24px; }
.designer-hero__text-link { padding-block:8px; border-bottom:1px solid rgba(255,255,255,.38); color:var(--white); font-size:.72rem; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.designer-hero__samples { align-self:end; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:12px; border:1px solid rgba(255,255,255,.18); background:rgba(18,25,19,.72); box-shadow:0 18px 45px rgba(0,0,0,.24); backdrop-filter:blur(7px); }
.designer-hero-sample { position:relative; min-width:0; padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.22); background:#f3efe7; cursor:pointer; text-align:left; }
.designer-hero-sample--featured { grid-row:auto; grid-column:auto; }
.designer-hero-sample img { width:100%; height:100%; aspect-ratio:1; object-fit:contain; transition:transform .35s ease,opacity .25s ease; }
.designer-hero-sample span { position:absolute; right:0; bottom:0; left:0; display:flex; align-items:flex-end; justify-content:space-between; gap:10px; padding:30px 13px 12px; background:linear-gradient(transparent,rgba(12,17,13,.92)); }
.designer-hero-sample strong,.designer-hero-sample small { display:block; }
.designer-hero-sample strong { font-family:var(--serif); font-size:1rem; font-weight:500; }
.designer-hero-sample small { color:var(--sand); font-size:.54rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.designer-hero-sample:hover img { transform:scale(1.035); opacity:.88; }
.designer-hero-sample:hover,.designer-hero-sample:focus-visible,.designer-hero-sample.is-selected { border-color:var(--sand); outline:0; }
.designer-disclosure { color:var(--olive-dark); background:var(--sand); }
.designer-disclosure .container { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.designer-disclosure span { font-size:.78rem; }
.portrait-generator { background:#e8e1d5; }
.portrait-generator__heading { margin-bottom:42px; }
.portrait-generator__heading>p { max-width:590px; }
.portrait-generator__layout { display:grid; grid-template-columns:minmax(300px,.62fr) minmax(0,1.38fr); gap:clamp(30px,5vw,72px); align-items:start; }
.portrait-builder { padding:24px; background:var(--paper); box-shadow:var(--shadow); }
.portrait-builder__preview { position:relative; aspect-ratio:4/5; display:grid; overflow:hidden; place-items:center; color:var(--white); background:var(--olive-dark); }
.portrait-builder__preview>img { width:100%; height:100%; object-fit:cover; }
.portrait-builder__preview>img[hidden],.portrait-result__visual>img[hidden],.portrait-builder__empty[hidden],.portrait-result__placeholder[hidden] { display:none !important; }
.portrait-builder__empty { display:grid; place-items:center; text-align:center; }
.portrait-builder__empty span { display:grid; width:64px; height:64px; margin-bottom:14px; place-items:center; border:1px solid var(--sand); border-radius:50%; color:var(--sand); font-family:var(--serif); font-size:1.5rem; }
.portrait-builder__empty strong,.portrait-builder__empty small { display:block; }
.portrait-builder__empty strong { font-family:var(--serif); font-size:1.4rem; font-weight:400; }
.portrait-builder__empty small { color:#aeb6ae; }
.portrait-upload { display:block; margin:16px 0 23px; }
.portrait-upload>span,.portrait-options legend,.portrait-options label>span { display:block; margin-bottom:8px; font-size:.66rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.portrait-upload input { width:100%; padding:10px; border:1px solid var(--line); background:var(--white); font-size:.7rem; }
.portrait-upload input::file-selector-button { margin-right:10px; padding:8px 11px; border:0; color:var(--white); background:var(--olive); font-size:.62rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.portrait-upload small { display:block; margin-top:6px; color:var(--ink-soft); font-size:.6rem; }
.portrait-samples { margin-bottom:26px; }
.portrait-samples>p { margin-bottom:9px; color:var(--ink-soft); font-size:.68rem; }
.portrait-samples>div { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.portrait-samples button { position:relative; min-width:0; padding:0; overflow:hidden; border:2px solid transparent; background:var(--white); cursor:pointer; }
.portrait-samples button.is-selected { border-color:var(--terracotta); }
.portrait-samples button:disabled { opacity:.58; cursor:wait; }
.portrait-samples img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.portrait-samples button span { position:absolute; right:0; bottom:0; left:0; padding:20px 8px 7px; color:var(--white); background:linear-gradient(transparent,rgba(10,15,11,.9)); font-size:.58rem; font-weight:800; letter-spacing:.06em; text-align:left; text-transform:uppercase; }
.portrait-samples--final { margin:70px 0 0; padding-top:42px; border-top:1px solid rgba(29,40,31,.18); }
.portrait-samples--final>header { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(300px,1.2fr); gap:8px 45px; align-items:end; margin-bottom:25px; }
.portrait-samples--final>header .eyebrow { grid-column:1/-1; margin:0; }
.portrait-samples--final>header h2 { margin:0; font-family:var(--serif); font-size:clamp(2.4rem,5vw,5rem); font-weight:400; line-height:.95; }
.portrait-samples--final>header>p:last-child { max-width:620px; margin:0 0 5px; color:var(--ink-soft); font-size:.74rem; line-height:1.65; }
.portrait-samples--final>div { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.portrait-samples--final button { box-shadow:0 10px 30px rgba(24,31,25,.07); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.portrait-samples--final button:hover { transform:translateY(-3px); box-shadow:0 16px 34px rgba(24,31,25,.13); }
.portrait-samples--final button:focus-visible { outline:3px solid var(--sand); outline-offset:3px; }
.portrait-samples--final button span { display:block; padding:44px 13px 11px; }
.portrait-samples--final button span strong,.portrait-samples--final button span small { display:block; }
.portrait-samples--final button span strong { font-size:.67rem; }
.portrait-samples--final button span small { margin-top:3px; color:#d7dcd6; font-size:.52rem; font-weight:500; letter-spacing:.04em; }
.portrait-options { margin:0; padding:0; border:0; }
.portrait-options>div { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.portrait-options select { width:100%; min-height:44px; padding:8px 10px; border:1px solid var(--line); background:var(--white); font-size:.72rem; }
.portrait-rights { margin-block:22px !important; }
.portrait-builder__privacy { margin:11px 0 0; color:var(--ink-soft); font-size:.61rem; text-align:center; }
.portrait-results { min-width:0; }
.portrait-results__status { min-height:50px; margin-bottom:15px; padding:14px 17px; color:#dce1dc; background:var(--olive-dark); font-size:.73rem; }
.portrait-results__status.is-error { color:#ffe6df; background:#7a3025; }
.portrait-results__status.is-success { color:var(--olive-dark); background:var(--sand); }
.portrait-results__status.is-loading { display:flex; align-items:center; gap:11px; color:var(--white); }
.portrait-results__status.is-loading::before { content:''; flex:0 0 auto; width:18px; height:18px; border:2px solid rgba(255,255,255,.3); border-top-color:var(--sand); border-radius:50%; animation:portraitLoadingSpin .8s linear infinite; }
.portrait-results__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.portrait-result { min-width:0; overflow:hidden; border:1px solid var(--line); background:var(--paper); transition:border-color .2s ease,box-shadow .2s ease; }
.portrait-result.is-selected { border-color:var(--terracotta); box-shadow:0 0 0 2px var(--terracotta); }
.portrait-result__visual { position:relative; aspect-ratio:1; display:grid; overflow:hidden; place-items:center; color:var(--white); background:#1b231c; }
.portrait-result__visual>img { width:100%; height:100%; object-fit:contain; background:#171c18; }
.portrait-result.is-ready .portrait-result__visual>img { cursor:zoom-in; }
.portrait-result__zoom { position:absolute; right:12px; bottom:12px; display:none; padding:6px 9px; color:var(--white); background:rgba(18,24,19,.82); font-size:.56rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; pointer-events:none; }
.portrait-result.is-ready .portrait-result__zoom { display:block; }
.portrait-result__placeholder { display:grid; place-items:center; text-align:center; }
.portrait-result__placeholder span { display:grid; width:64px; height:64px; margin-bottom:12px; place-items:center; border:1px solid rgba(225,190,120,.65); border-radius:50%; color:var(--sand); font-family:var(--serif); font-size:1.5rem; }
.portrait-result__placeholder small { color:#9ea69e; font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; }
.portrait-result.is-loading .portrait-result__placeholder span { color:transparent; border:3px solid rgba(225,190,120,.22); border-top-color:var(--sand); animation:portraitLoadingSpin .9s linear infinite; }
.portrait-result.is-loading .portrait-result__placeholder small { color:var(--sand); animation:portraitLoadingPulse 1.2s ease-in-out infinite alternate; }
.portrait-result__copy { padding:19px; }
.portrait-result__copy>span { color:var(--terracotta); font-size:.62rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.portrait-result__copy h3 { margin:7px 0 9px; font-family:var(--serif); font-size:clamp(1.45rem,2.1vw,2rem); font-weight:400; }
.portrait-result__copy p:not(.eyebrow) { min-height:72px; margin-bottom:18px; color:var(--ink-soft); font-size:.7rem; }
.portrait-result__copy button { width:100%; padding:10px 8px; border:1px solid var(--olive); color:var(--olive); background:transparent; font-size:.59rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; cursor:pointer; }
.portrait-result__copy button:hover:not(:disabled),.portrait-result__copy button.is-selected { color:var(--white); background:var(--olive); }
.portrait-result__copy button:disabled { border-color:#aaa69d; color:#5f625c; background:#e4e0d7; opacity:1; cursor:not-allowed; }
.portrait-result--roman { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); margin-top:15px; color:var(--white); background:var(--olive-dark); }
.portrait-result--roman .portrait-result__visual { aspect-ratio:1; }
.portrait-result--roman .portrait-result__copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(28px,4vw,55px); }
.portrait-result--roman .portrait-result__copy h3 { max-width:590px; font-size:clamp(2.4rem,4vw,4.2rem); }
.portrait-result--roman .portrait-result__copy p:not(.eyebrow) { min-height:0; max-width:610px; color:#c5cbc5; }
.portrait-result--roman .portrait-result__copy button { width:auto; padding-inline:18px; border-color:var(--sand); color:var(--sand); }
.portrait-result--roman .portrait-result__copy button:hover:not(:disabled),.portrait-result--roman .portrait-result__copy button.is-selected { color:var(--olive-dark); background:var(--sand); }
.portrait-result--roman .portrait-result__copy button:disabled { border-color:#7e887f; color:#d8ddd7; background:#303a31; opacity:1; }
.portrait-results__note { margin:17px 0 0; color:var(--ink-soft); font-size:.66rem; }
.portrait-generator.is-generating .portrait-result__visual::after { content:''; position:absolute; inset:0; background:linear-gradient(105deg,transparent 24%,rgba(255,255,255,.13) 46%,transparent 68%); animation:designerShine 1.4s infinite; }
@keyframes portraitLoadingSpin { to { transform:rotate(360deg); } }
@keyframes portraitLoadingPulse { from { opacity:.55; } to { opacity:1; } }
@media (prefers-reduced-motion:reduce) {
    .portrait-results__status.is-loading::before,
    .portrait-result.is-loading .portrait-result__placeholder span,
    .portrait-result.is-loading .portrait-result__placeholder small { animation:none; }
}

/* Área privada, proyectos y fichas de creación */
.account-hero { padding:90px 0; color:var(--white); background:var(--olive-dark); }
.account-hero h1 { max-width:780px; margin:12px 0 20px; font-size:clamp(3rem,7vw,6.5rem); }
.account-hero p:last-child { max-width:560px; color:rgba(255,255,255,.72); }
.account-auth { display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:1000px; margin:auto; }
.account-auth article { padding:38px; border:1px solid var(--line); background:var(--white); }
.account-auth article:last-child { color:var(--white); background:var(--olive); }
.account-auth form { display:grid; gap:16px; margin-top:24px; }
.account-auth label { display:grid; gap:7px; }
.account-auth input { min-height:48px; padding:10px 12px; border:1px solid var(--line); }
.account-toolbar { display:flex; align-items:end; justify-content:space-between; margin-bottom:32px; }
.account-projects { display:grid; gap:22px; }
.account-project { padding:28px; border:1px solid var(--line); background:var(--white); }
.account-project>header { display:flex; justify-content:space-between; gap:20px; }
.account-project h2 { margin:6px 0; }
.account-project dl { display:flex; flex-wrap:wrap; gap:34px; margin:24px 0; padding-block:17px; border-block:1px solid var(--line); }
.account-project dt { color:var(--terracotta); font-size:.6rem; font-weight:800; text-transform:uppercase; }
.account-project dd { margin:5px 0 0; }
.project-status { align-self:start; padding:7px 11px; border-radius:999px; color:var(--olive); background:#e6ebe3; font-size:.62rem; font-weight:800; text-transform:uppercase; }
.account-assets { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.account-assets a { display:grid; gap:4px; padding:15px; border:1px solid var(--line); text-decoration:none; }
.account-assets a:hover { border-color:var(--terracotta); }
.account-assets small { color:var(--ink-soft); }
.account-project__note { display:grid; gap:7px; padding:16px; background:var(--cream); }
.account-project details { margin-top:20px; }
.account-project summary { cursor:pointer; font-weight:800; }
.account-project details form { display:grid; gap:12px; margin-top:12px; }
.account-project textarea { min-height:110px; padding:12px; }
.account-empty { padding:50px; text-align:center; border:1px solid var(--line); background:var(--white); }
.creation-detail { padding:70px 0; }
.creation-detail__grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr); gap:60px; align-items:center; }
.creation-detail figure button { position:relative; width:100%; padding:0; border:0; background:var(--cream); cursor:zoom-in; }
.creation-detail figure img { width:100%; max-height:78vh; object-fit:contain; }
.creation-detail figure span { position:absolute; right:14px; bottom:14px; padding:8px 10px; color:#fff; background:rgba(31,42,32,.88); font-size:.65rem; }
.creation-detail article h1 { margin:10px 0 22px; font-size:clamp(2.6rem,5vw,5rem); }
.creation-detail article dl { margin:24px 0; padding-block:14px; border-block:1px solid var(--line); }
.creation-detail article dl div { display:flex; justify-content:space-between; gap:20px; padding:7px 0; }
.creation-detail article dt { color:var(--ink-soft); }
.creation-detail article .text-link { display:flex; margin-top:18px; }
@media(max-width:820px){.header__account{display:none}.account-auth,.creation-detail__grid{grid-template-columns:1fr}.account-assets{grid-template-columns:1fr}.account-project>header,.account-toolbar{align-items:start;flex-direction:column}}
.designer-demos { background:var(--paper); }
.designer-paths { border-bottom:1px solid var(--line); background:var(--white); }
.designer-paths .container { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-top:0; padding-bottom:0; }
.designer-paths a { display:grid; grid-template-columns:auto 1fr; column-gap:16px; padding:24px 28px; border-left:1px solid var(--line); color:var(--ink); text-decoration:none; }
.designer-paths a:last-child { border-right:1px solid var(--line); }
.designer-paths a span { grid-row:1 / 3; color:var(--terracotta); font-size:.67rem; font-weight:800; letter-spacing:.1em; }
.designer-paths a strong { font-family:var(--serif); font-size:1.25rem; font-weight:500; }
.designer-paths a small { margin-top:5px; color:var(--ink-soft); font-size:.68rem; }
.designer-paths a.is-active { color:var(--white); background:var(--olive); }
.designer-paths a.is-active span { color:var(--sand); }
.designer-paths a.is-active small { color:rgba(255,255,255,.72); }
.designer-paths a:not(.is-active):hover { background:var(--cream); }
.custom-mosaic-hero { position:relative; min-height:720px; display:flex; align-items:flex-end; overflow:hidden; color:var(--white); background:var(--olive-dark); }
.custom-mosaic-hero__background { position:absolute; inset:0; }
.custom-mosaic-hero__background::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(20,27,22,.93) 0%,rgba(20,27,22,.72) 44%,rgba(20,27,22,.18) 76%,rgba(20,27,22,.08) 100%); }
.custom-mosaic-hero__background img { width:100%; height:100%; object-fit:cover; object-position:center 47%; }
.custom-mosaic-hero__inner { position:relative; z-index:1; padding-top:130px; padding-bottom:100px; }
.custom-mosaic-hero h1 { max-width:820px; margin:18px 0 25px; font-size:clamp(4.4rem,8vw,8.5rem); line-height:.82; }
.custom-mosaic-hero h1 em { color:var(--sand); }
.custom-mosaic-hero__inner>p:not(.eyebrow) { max-width:670px; color:#e2e5df; font-family:var(--serif); font-size:1.16rem; line-height:1.6; }
.custom-source-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:48px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.custom-source-grid article { min-height:260px; padding:30px 25px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.custom-source-grid article>span { color:var(--terracotta); font-size:.68rem; font-weight:800; letter-spacing:.1em; }
.custom-source-grid h3 { margin:70px 0 12px; font-family:var(--serif); font-size:1.35rem; font-weight:500; }
.custom-source-grid p { margin:0; color:var(--ink-soft); font-size:.76rem; line-height:1.65; }
.custom-brief { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); gap:clamp(50px,8vw,120px); }
.custom-brief h2 { margin:16px 0 22px; font-size:clamp(2.8rem,5vw,5.4rem); }
.custom-brief>div>p:last-child { color:var(--ink-soft); }
.custom-brief ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.custom-brief li { display:grid; grid-template-columns:52px 1fr; gap:18px; padding:22px 0; border-bottom:1px solid var(--line); }
.custom-brief li>span { color:var(--terracotta); font-size:.67rem; font-weight:800; }
.custom-brief li strong { font-family:var(--serif); font-size:1.08rem; font-weight:500; }
.custom-brief li p { margin:6px 0 0; color:var(--ink-soft); font-size:.73rem; }
.custom-palette { background:#e7e0d4; }
.custom-palette__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:46px; border-top:1px solid rgba(29,35,29,.18); border-left:1px solid rgba(29,35,29,.18); }
.custom-palette__grid article { min-height:315px; padding:28px 24px; border-right:1px solid rgba(29,35,29,.18); border-bottom:1px solid rgba(29,35,29,.18); }
.custom-palette__number { color:var(--terracotta); font-size:.66rem; font-weight:800; letter-spacing:.12em; }
.custom-palette__grid h3 { min-height:58px; margin:38px 0 18px; font-family:var(--serif); font-size:1.32rem; font-weight:500; }
.custom-palette__swatches { display:flex; gap:5px; margin-bottom:22px; }
.custom-palette__swatches i { width:31px; height:31px; display:block; border:1px solid rgba(29,35,29,.18); background:var(--swatch); box-shadow:inset 0 0 0 2px rgba(255,255,255,.12); }
.custom-palette__grid p { margin:0; color:var(--ink-soft); font-size:.74rem; line-height:1.65; }
.custom-palette__rule { margin:24px 0 0; padding:18px 22px; color:var(--ink-soft); border-left:3px solid var(--terracotta); background:rgba(255,255,255,.34); font-size:.78rem; }
.custom-palette__rule strong { color:var(--ink); }
.custom-examples { color:var(--white); background:var(--olive-dark); }
.custom-examples .section-heading>p { color:#c6ccc5; }
.custom-examples__notice { display:grid; grid-template-columns:auto 1fr; gap:28px; margin:42px 0 32px; padding:18px 22px; border:1px solid rgba(255,255,255,.17); background:rgba(255,255,255,.035); }
.custom-examples__notice strong { color:var(--sand); font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; }
.custom-examples__notice span { color:#c6ccc5; font-size:.72rem; line-height:1.6; }
.custom-examples__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:60px 24px; }
.custom-example { min-width:0; padding-bottom:27px; border-bottom:1px solid rgba(255,255,255,.18); }
.custom-example>header { display:grid; grid-template-columns:44px 1fr; gap:13px; align-items:start; margin-bottom:17px; }
.custom-example>header>span { color:var(--sand); font-family:var(--serif); font-size:1.1rem; }
.custom-example small { display:block; margin-bottom:5px; color:#b7beb6; font-size:.58rem; font-weight:750; letter-spacing:.11em; text-transform:uppercase; }
.custom-example h3 { margin:0; font-family:var(--serif); font-size:clamp(1.45rem,2.3vw,2rem); font-weight:400; line-height:1.1; }
.custom-example__pair { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.custom-example figure { min-width:0; margin:0; }
.custom-example figure button { position:relative; width:100%; aspect-ratio:1; padding:0; overflow:hidden; border:0; background:#ddd5c8; cursor:zoom-in; }
.custom-example figure img { width:100%; height:100%; object-fit:contain; transition:transform .35s ease; }
.custom-example figure button:hover img { transform:scale(1.025); }
.custom-example figure button>span { position:absolute; right:8px; bottom:8px; left:8px; padding:8px 9px; color:var(--white); background:rgba(20,27,22,.82); font-size:.54rem; font-weight:800; letter-spacing:.09em; text-align:left; text-transform:uppercase; }
.custom-example>p { max-width:680px; margin:17px 0 0; color:#c6ccc5; font-size:.73rem; line-height:1.65; }
.custom-mosaic-gallery>div>div:last-child { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.custom-mosaic-gallery figure { margin:0; }
.custom-mosaic-gallery figure img { width:100%; aspect-ratio:1; object-fit:cover; background:var(--cream); }
.custom-mosaic-gallery figcaption { padding-top:12px; color:var(--ink-soft); font-size:.7rem; }
.portrait-demo-showcase { background:var(--paper); }
.portrait-demo-showcase .section-heading { margin-bottom:42px; }
.portrait-demo-showcase__layout { display:grid; grid-template-columns:minmax(250px,.72fr) minmax(0,2fr); gap:22px; align-items:stretch; }
.portrait-demo-source { margin:0; display:flex; flex-direction:column; min-width:0; border:1px solid var(--line); background:var(--white); }
.portrait-demo-source>div { aspect-ratio:4/5; overflow:hidden; background:#e9e5dc; }
.portrait-demo-source img { width:100%; height:100%; object-fit:cover; }
.portrait-demo-source figcaption { padding:20px; }
.portrait-demo-source figcaption span,.portrait-demo-outputs article>span { display:block; margin-bottom:7px; color:var(--terracotta); font-size:.63rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.portrait-demo-source figcaption strong { display:block; margin-bottom:9px; font-family:var(--serif); font-size:1.22rem; font-weight:500; }
.portrait-demo-source figcaption p,.portrait-demo-outputs article p { margin:0; color:var(--ink-soft); font-size:.73rem; line-height:1.65; }
.portrait-demo-outputs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.portrait-demo-outputs article { min-width:0; padding:0 0 18px; border:1px solid var(--line); background:var(--white); }
.portrait-demo-outputs article>div { aspect-ratio:1; overflow:hidden; margin-bottom:15px; background:#e9e5dc; }
.portrait-demo-outputs img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.portrait-demo-outputs article:hover img { transform:scale(1.025); }
.portrait-demo-outputs article>span,.portrait-demo-outputs article h3,.portrait-demo-outputs article p { margin-left:16px; margin-right:16px; }
.portrait-demo-outputs article h3 { margin-top:0; margin-bottom:8px; font-family:var(--serif); font-size:1.18rem; font-weight:500; }
.portrait-demo-showcase__action { margin-top:26px; display:flex; align-items:center; gap:24px; }
.portrait-demo-showcase__action p { max-width:560px; margin:0; color:var(--ink-soft); font-size:.72rem; line-height:1.6; }
.designer-demos .section-heading { margin-bottom:38px; }
.designer-demo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.designer-demo-card { min-width:0; padding:0; overflow:hidden; border:1px solid var(--line); color:var(--ink); background:var(--white); text-align:left; cursor:pointer; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.designer-demo-card:hover { transform:translateY(-4px); border-color:var(--olive); box-shadow:var(--shadow); }
.designer-demo-card.is-selected { border-color:var(--terracotta); box-shadow:0 0 0 2px var(--terracotta); }
.designer-demo-card__image { aspect-ratio:1; display:block; overflow:hidden; background:#f1eee7; }
.designer-demo-card__image img { width:100%; height:100%; object-fit:contain; transition:transform .35s ease; }
.designer-demo-card:hover .designer-demo-card__image img { transform:scale(1.025); }
.designer-demo-card__copy { display:block; padding:14px 15px 16px; }
.designer-demo-card__copy strong,.designer-demo-card__copy small { display:block; }
.designer-demo-card__copy strong { margin-bottom:5px; font-family:var(--serif); font-size:1.05rem; font-weight:500; }
.designer-demo-card__copy small { color:var(--terracotta); font-size:.62rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.designer-demo-note { max-width:850px; margin:26px 0 0; color:var(--ink-soft); font-size:.76rem; }
.concept-process { color:var(--white); background:var(--olive-dark); }
.concept-process .section-heading>p,.concept-process .section-heading>div>p:not(.eyebrow) { color:#c5cbc5; }
.concept-process__grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:clamp(7px,1vw,13px); }
.concept-process__grid article { min-width:0; border-top:1px solid rgba(255,255,255,.14); background:transparent; }
.concept-process__grid button { position:relative; display:block; width:100%; aspect-ratio:1; padding:0; overflow:hidden; border:0; background:#111812; cursor:zoom-in; }
.concept-process__grid button::after { content:''; position:absolute; inset:62% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.6)); }
.concept-process__grid button img { width:100%; height:100%; aspect-ratio:1; object-fit:cover; transition:transform .35s ease; }
.concept-process__grid button:hover img { transform:scale(1.025); }
.concept-process__grid button span { position:absolute; z-index:1; right:8px; bottom:7px; color:var(--white); font-size:.48rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.concept-process__grid article>div { padding:12px 2px 2px; }
.concept-process__grid small { display:block; min-height:30px; margin-bottom:7px; color:var(--sand); font-size:.48rem; font-weight:800; line-height:1.4; letter-spacing:.065em; text-transform:uppercase; }
.concept-process__grid h3 { margin:0 0 7px; font-family:var(--serif); font-size:clamp(.9rem,1.15vw,1.08rem); font-weight:400; line-height:1.15; }
.concept-process__grid p { margin:0; color:#bdc4bd; font-size:.61rem; line-height:1.48; }
.designer-results { background:var(--paper); }
.designer-results__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.designer-results__grid:not(.designer-results__grid--reserve) { grid-template-columns:repeat(4,minmax(0,220px)); justify-content:center; }
.designer-results__grid figure { margin:0; min-width:0; border:1px solid var(--line); background:var(--white); }
.designer-results__grid button { position:relative; display:block; width:100%; aspect-ratio:1; padding:0; overflow:hidden; border:0; background:#ece8df; cursor:zoom-in; }
.designer-results__grid button img { display:block; width:100%; height:100%; object-fit:contain; transition:transform .35s ease; }
.designer-results__grid button:hover img { transform:scale(1.025); }
.designer-results__grid button span { position:absolute; right:12px; bottom:12px; padding:7px 9px; color:var(--white); background:rgba(24,30,25,.82); font-size:.55rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.designer-results__grid figcaption { padding:15px 16px 17px; }
.designer-results__grid figcaption strong,.designer-results__grid figcaption small { display:block; }
.designer-results__grid figcaption strong { font-family:var(--serif); font-size:1rem; font-weight:500; }
.designer-results__grid figcaption small { margin-top:6px; color:var(--terracotta); font-size:.55rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.designer-results__reserves { margin-top:28px; border:1px solid var(--line); background:var(--cream); }
.designer-results__reserves>summary { display:flex; justify-content:space-between; gap:20px; padding:22px 24px; cursor:pointer; list-style:none; }
.designer-results__reserves>summary::-webkit-details-marker { display:none; }
.designer-results__reserves>summary span { font-family:var(--serif); font-size:1.2rem; }
.designer-results__reserves>summary small { color:var(--terracotta); font-size:.62rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.designer-results__reserves[open]>summary { border-bottom:1px solid var(--line); }
.designer-results__grid--reserve { padding:18px; grid-template-columns:repeat(5,minmax(0,1fr)); }
.designer-studio { background:#ece6da; }
.designer-studio__grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(430px,1.15fr); gap:clamp(45px,7vw,95px); align-items:start; }
.designer-controls { padding:clamp(28px,4vw,50px); background:var(--paper); box-shadow:var(--shadow); }
.designer-controls header h2 { margin-bottom:18px; font-size:clamp(2.5rem,4vw,4rem); }
.designer-controls header>p:last-child { color:var(--ink-soft); font-size:.85rem; }
.designer-controls label>span,.designer-controls legend,.valuation-card label>span { display:block; margin-bottom:8px; font-size:.68rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.designer-controls textarea,.designer-controls select,.designer-controls input,.valuation-card input,.valuation-card select { width:100%; padding:12px 14px; border:1px solid var(--line); background:var(--white); }
.designer-idea { position:relative; display:block; margin:30px 0; }
.designer-idea small { position:absolute; right:10px; bottom:8px; color:var(--ink-soft); font-size:.65rem; }
.designer-controls fieldset { margin:0 0 28px; padding:0; border:0; }
.choice-pills { display:flex; flex-wrap:wrap; gap:7px; }
.choice-pills input { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); opacity:0; white-space:nowrap; }
.choice-pills label span { margin:0; padding:9px 13px; border:1px solid var(--line); background:var(--white); cursor:pointer; font-size:.68rem; }
.choice-pills input:checked+span { border-color:var(--olive); color:var(--white); background:var(--olive); }
.designer-selects,.designer-measures { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:25px; }
.designer-measures label>div { display:grid; grid-template-columns:1fr 42px; align-items:center; border:1px solid var(--line); background:var(--white); }
.designer-measures input { border:0; }
.designer-measures b { color:var(--ink-soft); font-size:.72rem; }
.designer-cost-note { margin:12px 0 0; color:var(--ink-soft); font-size:.66rem; text-align:center; }
.designer-preview { position:sticky; top:25px; }
.designer-canvas { position:relative; aspect-ratio:1; display:grid; place-items:center; overflow:hidden; border:1px solid #465047; color:var(--white); background:#202821; }
.designer-canvas>img { width:100%; height:100%; object-fit:contain; background:#171c18; }
.designer-canvas>img:not([hidden]) { cursor:zoom-in; }
.designer-canvas>img[hidden] { display:none !important; }
.designer-placeholder { text-align:center; }
.designer-placeholder>span { display:grid; width:90px; height:90px; margin:0 auto 18px; place-items:center; border:1px solid var(--sand); border-radius:50%; color:var(--sand); font-family:var(--serif); font-size:2rem; }
.designer-placeholder p { margin-bottom:2px; font-family:var(--serif); font-size:1.3rem; }
.designer-placeholder small { color:#9da49c; }
.designer-badge { position:absolute; top:16px; right:16px; padding:7px 10px; color:var(--olive-dark); background:var(--sand); font-size:.6rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; pointer-events:none; }
.designer-hires { position:absolute; top:16px; left:16px; display:none; padding:7px 10px; color:var(--white); background:rgba(18,24,19,.84); font-size:.56rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; pointer-events:none; }
.designer-canvas>img:not([hidden])~.designer-hires { display:block; }
.designer-studio.is-generating .designer-canvas::after { content:''; position:absolute; inset:0; background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.13) 45%,transparent 65%); animation:designerShine 1.4s infinite; }
@keyframes designerShine { from{transform:translateX(-100%)} to{transform:translateX(100%)} }
.designer-status { position:absolute; z-index:2; right:0; bottom:0; left:0; min-height:52px; padding:14px 16px; border-top:1px solid #465047; color:#d9ddd7; background:rgba(20,27,21,.94); font-size:.76rem; }
.designer-status.is-error { color:#ffe3dc; background:rgba(122,48,37,.96); }
.designer-summary { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-top:0; background:var(--paper); }
.designer-summary[hidden] { display:none; }
.designer-summary div { padding:15px; border-right:1px solid var(--line); }
.designer-summary div:last-child { border:0; }
.designer-summary span,.designer-summary strong { display:block; }
.designer-summary span { color:var(--ink-soft); font-size:.58rem; letter-spacing:.1em; text-transform:uppercase; }
.designer-summary strong { font-family:var(--serif); font-weight:400; }
.workshop-review__grid { display:grid; grid-template-columns:1fr .82fr; gap:clamp(55px,9vw,125px); align-items:start; }
.workshop-review__grid>div:first-child>p:not(.eyebrow) { color:var(--ink-soft); }
.workshop-review ol { margin:35px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.workshop-review li { display:grid; grid-template-columns:50px 1fr; padding:14px 0; border-bottom:1px solid var(--line); }
.workshop-review li span { color:var(--terracotta); font-family:var(--serif); }
.valuation-card { padding:clamp(28px,4vw,50px); background:var(--white); box-shadow:var(--shadow); }
.valuation-card>h2 { font-size:clamp(2.4rem,4vw,3.8rem); }
.valuation-card form>label:not(.checkbox) { display:block; margin-bottom:17px; }
.valuation-card .checkbox a { text-decoration:underline; }

.install-hero { display:grid; grid-template-columns:.78fr 1.22fr; min-height:760px; color:var(--white); background:var(--olive-dark); }
.install-hero__copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(54px,7vw,105px); }
.install-hero h1 { max-width:650px; margin-bottom:28px; font-size:clamp(4rem,6.5vw,7.2rem); }
.install-hero__copy>p:not(.eyebrow) { max-width:570px; margin-bottom:30px; color:#d0d5cf; font-family:var(--serif); font-size:1.08rem; }
.install-hero__image { min-height:620px; overflow:hidden; background:#d8d0c3; }
.install-hero__image img { width:100%; height:100%; object-fit:cover; }
.install-principles { color:var(--olive-dark); background:var(--sand); }
.install-principles .container { display:grid; grid-template-columns:repeat(4,1fr); }
.install-principles article { min-width:0; padding:25px 24px; border-right:1px solid rgba(38,48,39,.2); }
.install-principles article:last-child { border-right:0; }
.install-principles span,.install-principles strong { display:block; }
.install-principles span { margin-bottom:18px; font-family:var(--serif); font-size:1.15rem; }
.install-principles strong { margin-bottom:5px; font-family:var(--serif); font-size:1.2rem; font-weight:400; }
.install-principles p { margin:0; font-size:.68rem; }
.install-use-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.install-use-grid article { min-width:0; border:1px solid var(--line); background:var(--white); }
.install-use-grid button { position:relative; width:100%; aspect-ratio:.92; padding:0; overflow:hidden; border:0; background:#ddd5ca; cursor:zoom-in; }
.install-use-grid button img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.install-use-grid button:hover img { transform:scale(1.025); }
.install-use-grid button span { position:absolute; right:12px; bottom:12px; padding:6px 9px; color:var(--white); background:rgba(25,29,24,.78); font-size:.58rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.install-use-grid article>div { padding:23px; }
.install-use-grid small { color:var(--terracotta); font-size:.61rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.install-use-grid h3 { margin:8px 0 10px; font-family:var(--serif); font-size:1.7rem; font-weight:400; }
.install-use-grid p { margin:0; color:var(--ink-soft); font-size:.75rem; }
.install-sequence__grid { display:grid; grid-template-columns:minmax(280px,.66fr) minmax(0,1.34fr); gap:clamp(50px,8vw,115px); align-items:start; }
.install-sequence__grid>div { position:sticky; top:35px; }
.install-sequence__grid>div>p:not(.eyebrow) { color:var(--ink-soft); }
.install-sequence ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.install-sequence li { display:grid; grid-template-columns:58px 1fr; gap:12px; padding:22px 0; border-bottom:1px solid var(--line); }
.install-sequence li>span { color:var(--terracotta); font-family:var(--serif); font-size:1.2rem; }
.install-sequence li strong { display:block; margin-bottom:5px; font-family:var(--serif); font-size:1.35rem; font-weight:400; }
.install-sequence li p { margin:0; color:var(--ink-soft); font-size:.78rem; }
.install-story { display:grid; grid-template-columns:1.15fr .85fr; min-height:720px; color:var(--white); background:var(--olive-dark); }
.install-story__image { min-height:620px; overflow:hidden; }
.install-story__image img { width:100%; height:100%; object-fit:cover; }
.install-story__copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(48px,7vw,100px); }
.install-story__copy h2 { max-width:650px; }
.install-story__copy>p:not(.eyebrow) { color:#c6ccc5; }
.install-story__copy ul { margin:20px 0 0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.17); }
.install-story__copy li { padding:11px 0; border-bottom:1px solid rgba(255,255,255,.17); color:#e3e6e1; font-size:.75rem; }
.install-care__grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.install-care__grid article { padding:clamp(30px,4vw,52px); border:1px solid var(--line); }
.install-care__do { background:#eef0ea; }
.install-care__avoid { background:#f2e8e2; }
.install-care__grid span { color:var(--terracotta); font-size:.63rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.install-care__grid h3 { margin:9px 0 24px; font-family:var(--serif); font-size:clamp(1.8rem,3vw,2.8rem); font-weight:400; }
.install-care__grid ul { margin:0; padding:0; list-style:none; }
.install-care__grid li { position:relative; padding:11px 0 11px 24px; border-top:1px solid rgba(34,35,31,.14); font-size:.77rem; }
.install-care__grid li::before { content:'·'; position:absolute; left:5px; color:var(--terracotta); font-weight:800; }
.install-care__note { max-width:850px; margin:24px auto 0; color:var(--ink-soft); font-size:.7rem; text-align:center; }

.prices-hero { position:relative; min-height:720px; padding:0; overflow:hidden; color:var(--white); background:var(--olive-dark); }
.prices-hero::after { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(14,20,15,.9) 0%,rgba(14,20,15,.7) 42%,rgba(14,20,15,.18) 78%),linear-gradient(0deg,rgba(14,20,15,.52),transparent 50%); }
.prices-hero__background { position:absolute; inset:0; }
.prices-hero__background img { width:100%; height:100%; object-fit:cover; object-position:center; }
.prices-hero__content { position:relative; z-index:2; min-height:720px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding-block:70px; }
.prices-hero h1 { max-width:820px; margin-bottom:28px; font-size:clamp(4.4rem,7vw,7.8rem); text-shadow:0 2px 28px rgba(0,0,0,.25); }
.prices-hero h1 em { color:var(--terracotta); }
.prices-hero__content>p:not(.eyebrow) { max-width:650px; margin-bottom:30px; color:#f1eee7; font-family:var(--serif); font-size:1.16rem; text-shadow:0 1px 12px rgba(0,0,0,.35); }
.price-baseline { color:var(--olive-dark); background:var(--sand); }
.price-baseline .container { min-height:80px; display:grid; grid-template-columns:auto 1fr auto auto; gap:24px; align-items:center; }
.price-baseline strong,.price-baseline b { font-family:var(--serif); font-size:1.25rem; }
.price-baseline span,.price-baseline small { font-size:.72rem; }
.price-quality__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.price-quality__grid article { padding-bottom:22px; border-bottom:1px solid var(--line); }
.price-quality__grid article>div:first-child { aspect-ratio:1; margin-bottom:20px; overflow:hidden; background:#ded7cc; }
.price-quality__grid article>div:first-child button { position:relative; display:block; width:100%; height:100%; padding:0; overflow:hidden; border:0; background:#ded7cc; cursor:zoom-in; }
.price-quality__grid img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.price-quality__grid article>div:first-child button:hover img,.price-quality__grid article>div:first-child button:focus-visible img { transform:scale(1.025); }
.price-quality__grid article>div:first-child button>span { position:absolute; right:12px; bottom:12px; padding:7px 10px; color:var(--white); background:rgba(18,24,19,.84); font-size:.56rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; pointer-events:none; }
.price-quality__grid article>span { color:var(--terracotta); font-size:.68rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.price-quality__grid h3 { margin:10px 0; font-family:var(--serif); font-size:2rem; font-weight:400; }
.price-quality__grid p { min-height:76px; color:var(--ink-soft); font-size:.78rem; }
.price-quality__grid dl { margin:20px 0 0; border-top:1px solid var(--line); }
.price-quality__grid dl div { display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--line); }
.price-quality__grid dt { color:var(--ink-soft); font-size:.68rem; }
.price-quality__grid dd { margin:0; font-family:var(--serif); }
.price-calculator__grid { display:grid; grid-template-columns:1fr minmax(390px,.72fr); gap:clamp(45px,8vw,120px); align-items:start; }
.price-calculator__intro h2 { max-width:760px; }
.price-calculator__intro>p:not(.eyebrow) { max-width:700px; color:var(--ink-soft); }
.price-form { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:34px; }
.price-form label>span { display:block; margin-bottom:7px; font-size:.66rem; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
.price-form select,.price-form input { width:100%; min-height:50px; padding:10px 12px; border:1px solid var(--line); background:var(--white); }
.price-form__measures { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.price-form__measures.is-single label:not([hidden]) { grid-column:1 / 3; }
.price-form__measures label>div { display:grid; grid-template-columns:1fr 40px; align-items:center; border:1px solid var(--line); background:var(--white); }
.price-form__measures input { border:0; }
.price-form__measures b { color:var(--ink-soft); font-size:.7rem; }
.price-form [hidden] { display:none !important; }
.price-result { position:sticky; top:25px; padding:clamp(30px,4vw,50px); color:var(--white); background:var(--olive-dark); box-shadow:var(--shadow); }
.price-result>p { margin-bottom:8px; color:var(--sand); font-size:.68rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.price-result>strong { display:block; font-family:var(--serif); font-size:clamp(3.4rem,6vw,5.8rem); font-weight:400; line-height:1; }
.price-result>span { display:block; margin-top:7px; color:#b8beb7; font-size:.72rem; }
.price-result dl { margin:30px 0; border-top:1px solid rgba(255,255,255,.17); }
.price-result dl div { display:flex; justify-content:space-between; gap:15px; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.17); }
.price-result dt { color:#aeb5ad; font-size:.7rem; }
.price-result dd { margin:0; font-family:var(--serif); }
.price-result>small { display:block; margin-top:16px; color:#aeb5ad; font-size:.62rem; line-height:1.55; }
.price-includes__grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.price-includes__grid article { padding:28px 24px; border-right:1px solid var(--line); }
.price-includes__grid article:last-child { border:0; }
.price-includes__grid span { color:var(--terracotta); font-family:var(--serif); }
.price-includes__grid h3 { margin:22px 0 10px; font-family:var(--serif); font-size:1.5rem; font-weight:400; }
.price-includes__grid p { margin:0; color:var(--ink-soft); font-size:.76rem; }

@media (max-width:1080px) {
    .gallery-index .container { grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding-top:8px; padding-bottom:8px; }
    .destination-grid { grid-template-columns: repeat(3,1fr); }
    .editorial-gallery { grid-template-columns: repeat(2,1fr); }
    .market-guide__cards article { grid-template-columns: 45px 150px 1fr; }
    .quality-levels { grid-template-columns:repeat(2,1fr); }
    .story-hero { grid-template-columns:1fr 1fr; min-height:680px; }
    .story-hero__copy { padding:clamp(38px,5vw,65px); }
    .designer-demo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .portrait-demo-showcase__layout { grid-template-columns:1fr; }
    .portrait-demo-source { display:grid; grid-template-columns:minmax(220px,.65fr) 1fr; }
    .portrait-demo-source>div { aspect-ratio:4/5; }
    .portrait-demo-source figcaption { align-self:center; }
    .concept-process__grid { grid-template-columns:repeat(7,minmax(0,1fr)); }
    .designer-results__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .designer-results__grid--reserve { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .portrait-generator__layout { grid-template-columns:minmax(280px,.52fr) minmax(0,1.48fr); gap:30px; }
    .portrait-samples--final>div { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .portrait-results__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .portrait-result:last-child { grid-column:1 / 3; }
}
@media (max-width:820px) {
    .catalogue-scenes__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .designer-paths .container { grid-template-columns:1fr; }
    .designer-paths a { border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
    .custom-mosaic-hero { min-height:650px; }
    .custom-source-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .custom-brief { grid-template-columns:1fr; }
    .custom-palette__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .custom-examples__grid { grid-template-columns:1fr; }
    .custom-mosaic-gallery>div>div:last-child { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .destination-grid { grid-template-columns: repeat(2,1fr); }
    .museum-feature, .story-hero, .market-guide, .buying-notes { grid-template-columns:1fr; }
    .story-hero { min-height:0; }
    .museum-feature--reverse .museum-feature__image { order:0; }
    .museum-feature__image { height: min(720px, 105vw); }
    .story-hero__image { min-height: 520px; }
    .workshop-steps { grid-template-columns:repeat(2,1fr); }
    .workshop-steps li:nth-child(2) { border-right:0; }
    .workshop-steps li:nth-child(-n+2) { border-bottom:1px solid var(--line); }
    .real-grid { grid-template-columns:repeat(2,1fr); }
    .simulation-disclosure .container { grid-template-columns:auto 1fr; padding-block:18px; }
    .quality-hero, .hours-layout, .quality-check__layout, .micro-hero__grid, .micro-intro, .micro-process, .micro-history { grid-template-columns:1fr; }
    .quality-hero__image { min-height:520px; }
    .micro-hero figure { width:min(100%,600px); }
    .micro-gallery { grid-template-columns:repeat(2,1fr); }
    .micro-gallery button { height:600px; }
    .gallery-index { top:72px; }
    .gallery-group>header { grid-template-columns:1fr; gap:10px; }
    .presence-lab__heading,.presence-lab__stage { grid-template-columns:1fr; }
    .presence-lab__heading { gap:16px; }
    .presence-lab__visuals { min-height:580px; }
    .designer-hero__grid,.designer-studio__grid,.workshop-review__grid { grid-template-columns:1fr; }
    .designer-hero__grid { min-height:auto; padding-block:80px 42px; }
    .designer-hero__samples { width:min(100%,720px); }
    .designer-preview { position:static; }
    .designer-demo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .designer-results__grid,.designer-results__grid--reserve { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .portrait-demo-source { display:flex; }
    .portrait-demo-outputs { grid-template-columns:1fr 1fr; }
    .portrait-demo-showcase__action { align-items:flex-start; flex-direction:column; }
    .portrait-generator__layout { grid-template-columns:1fr; }
    .portrait-builder { width:min(100%,560px); margin-inline:auto; }
    .portrait-samples--final>header { grid-template-columns:1fr; }
    .portrait-samples--final>header .eyebrow { grid-column:auto; }
    .portrait-samples--final>div { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .portrait-results__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .portrait-result:last-child { grid-column:auto; }
    .portrait-result--roman { grid-template-columns:1fr 1fr; }
    .price-calculator__grid { grid-template-columns:1fr; }
    .price-quality__grid { grid-template-columns:repeat(2,1fr); }
    .price-includes__grid { grid-template-columns:repeat(2,1fr); }
    .price-includes__grid article:nth-child(2) { border-right:0; }
    .price-includes__grid article:nth-child(-n+2) { border-bottom:1px solid var(--line); }
    .price-result { position:static; }
    .install-hero,.install-story,.install-sequence__grid { grid-template-columns:1fr; }
    .install-hero { min-height:0; }
    .install-hero__copy { min-height:560px; }
    .install-hero__image { min-height:520px; }
    .install-principles .container { grid-template-columns:repeat(2,1fr); }
    .install-principles article:nth-child(2) { border-right:0; }
    .install-principles article:nth-child(-n+2) { border-bottom:1px solid rgba(38,48,39,.2); }
    .install-use-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .install-use-grid article:last-child { grid-column:1 / -1; width:calc(50% - 9px); }
    .install-sequence__grid>div { position:static; }
    .install-story__image { min-height:520px; }
}
@media (max-width:560px) {
    .gallery-index .container { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .gallery-index button { padding:9px 5px; font-size:.58rem; white-space:normal; }
    .designer-paths .container { grid-template-columns:1fr; }
    .designer-paths a { padding:19px 18px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
    .custom-mosaic-hero { min-height:620px; }
    .custom-mosaic-hero__inner { padding-top:100px; padding-bottom:72px; }
    .custom-mosaic-hero h1 { font-size:clamp(3.5rem,17vw,5.2rem); }
    .custom-source-grid,.custom-mosaic-gallery>div>div:last-child { grid-template-columns:1fr; }
    .custom-palette__grid { grid-template-columns:1fr; }
    .custom-source-grid article { min-height:auto; }
    .custom-source-grid h3 { margin-top:34px; }
    .custom-examples__notice { grid-template-columns:1fr; gap:7px; }
    .custom-example__pair { grid-template-columns:1fr; }
    .catalogue-scenes__notice { grid-template-columns:1fr; gap:7px; }
    .catalogue-scenes__grid { grid-template-columns:1fr; }
    .catalogue-scenes__action { align-items:flex-start; flex-direction:column; }
    .new-hero { min-height:720px; }
    .new-hero__shade { background:linear-gradient(0deg,rgba(16,21,17,.94),rgba(16,21,17,.25)); }
    .new-hero h1 { font-size:clamp(3.5rem,17vw,5.3rem); }
    .editorial-gallery { grid-template-columns:1fr; }
    .editorial-gallery__item--wide { grid-column:auto; }
    .destination-grid { grid-template-columns:1fr; }
    .concept-process .container { overflow-x:auto; padding-bottom:10px; }
    .concept-process__grid { min-width:910px; }
    .designer-results__grid,.designer-results__grid--reserve { grid-template-columns:1fr; }
    .designer-results__reserves>summary { align-items:flex-start; flex-direction:column; }
    .destination-card div { aspect-ratio:1; }
    .destination-card h3 { min-height:0; }
    .museum-strip { grid-template-columns:repeat(2,1fr); height:520px; }
    .market-guide__cards article { grid-template-columns:40px 1fr; }
    .market-guide__cards article p { grid-column:2; }
    .market-collage { grid-template-columns:1fr; height:auto; }
    .market-collage img { height:420px; }
    .buying-notes li { grid-template-columns:1fr; gap:6px; }
    .buying-notes h2 { max-width:12ch; }
    .workshop-steps { grid-template-columns:1fr; }
    .workshop-steps li { border-right:0; border-bottom:1px solid var(--line); }
    .workshop-gallery { grid-template-columns:repeat(2,1fr); height:700px; }
    .real-grid, .simulation-grid { grid-template-columns:1fr; }
    .simulation-disclosure .container { grid-template-columns:1fr; gap:4px; padding-block:20px; }
    .simulation-disclosure span { margin-bottom:12px; }
    .craft-links, .quality-levels { grid-template-columns:1fr; }
    .hours-layout li { grid-template-columns:1fr; gap:6px; }
    .quality-check ol { grid-template-columns:1fr; }
    .quality-check li:nth-child(odd) { border-right:0; }
    .quality-check li:nth-child(even) { padding-left:0; }
    .micro-gallery { grid-template-columns:1fr; }
    .micro-gallery button { height:520px; }
    .presence-lab__panel { grid-template-columns:1fr; }
    .presence-lab__choices { flex-direction:row; overflow-x:auto; border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
    .presence-lab__choices button { min-width:160px; border-right:1px solid rgba(255,255,255,.14); border-bottom:0; }
    .presence-lab__result { padding:34px 22px; }
    .designer-disclosure .container { align-items:flex-start; flex-direction:column; gap:2px; padding-block:16px; }
    .designer-hero { min-height:0; padding-block:0; }
    .designer-hero::after { background:linear-gradient(90deg,rgba(14,20,15,.9),rgba(14,20,15,.48)),linear-gradient(0deg,rgba(14,20,15,.78),transparent 50%); }
    .designer-hero__background img { object-position:58% center; }
    .designer-hero__grid { padding-block:58px 28px; }
    .designer-hero h1 { font-size:clamp(3.6rem,17vw,5.5rem); }
    .designer-hero__actions { align-items:flex-start; flex-direction:column; gap:12px; }
    .designer-hero__samples { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; gap:8px; padding:8px; }
    .designer-hero-sample--featured { grid-row:auto; grid-column:auto; }
    .designer-hero-sample span { padding:25px 9px 9px; }
    .designer-hero-sample small { font-size:.5rem; }
    .designer-selects,.designer-measures { grid-template-columns:1fr; }
    .designer-summary { grid-template-columns:1fr; }
    .designer-summary div { border-right:0; border-bottom:1px solid var(--line); }
    .designer-demo-grid { gap:9px; }
    .portrait-demo-outputs { grid-template-columns:1fr; gap:10px; }
    .designer-demo-card__copy { padding:11px 10px 13px; }
    .portrait-builder { padding:17px; }
    .portrait-samples--final { margin-top:48px; padding-top:30px; }
    .portrait-options>div { grid-template-columns:1fr; }
    .portrait-results__grid { grid-template-columns:1fr; }
    .portrait-result--roman { grid-template-columns:1fr; }
    .portrait-result--roman .portrait-result__copy { padding:28px 21px; }
    .portrait-result--roman .portrait-result__copy h3 { font-size:2.55rem; }
    .prices-hero { min-height:620px; }
    .prices-hero::after { background:linear-gradient(90deg,rgba(14,20,15,.9),rgba(14,20,15,.42)),linear-gradient(0deg,rgba(14,20,15,.72),transparent 52%); }
    .prices-hero__background img { object-position:58% center; }
    .prices-hero__content { min-height:620px; padding-block:55px; }
    .prices-hero h1 { font-size:clamp(3.8rem,17vw,5.6rem); }
    .price-baseline .container { grid-template-columns:1fr auto; gap:4px 16px; padding-block:14px; }
    .price-baseline span { grid-column:1; }
    .price-baseline b { grid-column:2; grid-row:1; }
    .price-baseline small { grid-column:2; grid-row:2; }
    .price-quality__grid,.price-form,.price-includes__grid { grid-template-columns:1fr; }
    .price-quality__grid p { min-height:0; }
    .price-form__measures { grid-template-columns:1fr; }
    .price-form__measures label:only-child { grid-column:auto; }
    .price-includes__grid article { border-right:0; border-bottom:1px solid var(--line); }
    .install-hero__copy { min-height:500px; padding:52px 24px; }
    .install-hero h1 { font-size:clamp(3.6rem,17vw,5.3rem); }
    .install-hero__image { min-height:420px; }
    .install-principles .container,.install-use-grid,.install-care__grid { grid-template-columns:1fr; }
    .install-principles article { border-right:0; border-bottom:1px solid rgba(38,48,39,.2); }
    .install-principles article:last-child { border-bottom:0; }
    .install-use-grid article:last-child { grid-column:auto; width:auto; }
    .install-sequence li { grid-template-columns:42px 1fr; }
    .install-story__image { min-height:420px; }
    .install-story__copy { padding:52px 24px; }
}
