/* Keramikauslese V5 · quiet luxury. Self-hosted fonts, no external requests. */
@font-face{font-family:Atelier;src:url('fonts/cormorantgaramond.woff') format('woff');font-weight:300 700;font-display:swap}
@font-face{font-family:Atelier;src:url('fonts/cormorantgaramond-italic.woff') format('woff');font-style:italic;font-weight:300 700;font-display:swap}
@font-face{font-family:Instrument;src:url('fonts/instrumentsans.woff') format('woff');font-weight:400 700;font-display:swap}
@view-transition{navigation:auto}
:root{
  --matte:#1e1e1e;--black:#11100f;--night:#141210;--night-2:#1a1815;--gold:#d2b891;--gold-ink:#7a6842;--gold-deep:#665632;
  --cream:#eee7dd;--paper:#ded7cf;--taupe:#b9ab9e;--muted:#6d6050;--line-dark:rgba(210,184,145,.22);--line-light:rgba(17,16,15,.14);
  --serif:Atelier,'Cormorant Garamond',Georgia,serif;--sans:Instrument,'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --gutter:clamp(16px,4.2vw,64px);--max:1440px;--ease:cubic-bezier(.16,.84,.2,1);--ease-soft:cubic-bezier(.2,.8,.2,1);
  --h1:clamp(3rem,6.9vw,7rem);--h2:clamp(2.3rem,4.8vw,4.6rem);--h3:clamp(1.5rem,2.4vw,2.2rem);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--night);scroll-padding-top:84px}
body{margin:0;background:var(--night);color:var(--cream);font:400 1rem/1.65 var(--sans);font-feature-settings:'kern','liga';-webkit-font-smoothing:antialiased;overflow-x:clip}
@keyframes page-in{from{opacity:0}to{opacity:1}}
body.is-leaving{opacity:0;transition:opacity .24s ease}
img,video,svg{display:block;max-width:100%}
a{color:inherit;text-decoration-color:rgba(210,184,145,.55);text-underline-offset:.22em;text-decoration-thickness:1px}
a:hover{text-decoration-color:var(--gold)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--gold);color:var(--black);padding:.7rem 1rem}
.skip:focus{left:8px}
.shell{width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;margin:0;text-wrap:balance}
h1{font-size:var(--h1);line-height:.92}
h2{font-size:var(--h2);line-height:1}
h3{font-size:var(--h3);line-height:1.1}
h1 em,h2 em,h3 em{font-style:italic;color:var(--gold)}
p{margin:0 0 1em}
.eyebrow{font:500 .72rem/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 1.1rem}
.lead{font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.6;color:rgba(238,231,221,.82);max-width:34rem}
.small-note{font-size:.84rem;line-height:1.6;color:var(--taupe);max-width:60rem}
.text-link,.text-button{display:inline-flex;gap:.4em;align-items:center;font-size:.92rem;letter-spacing:.02em;text-decoration:none;border-bottom:1px solid rgba(210,184,145,.5);padding:.35rem 0;min-height:44px;transition:border-color .3s,color .3s}
.text-link:hover,.text-button:hover{border-color:var(--gold);color:var(--gold)}
.button{--bx:0px;--by:0px;display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:52px;padding:0 1.6rem;border:1px solid var(--gold);font:500 .86rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .4s var(--ease),color .4s var(--ease),transform .4s var(--ease);transform:translate(var(--bx),var(--by));position:relative;overflow:hidden}
.button.primary{background:var(--gold);color:var(--black)}
.button.primary:hover{background:#e0caa7}
.button.outline{background:transparent;color:inherit}
.button.outline:hover{background:rgba(210,184,145,.1)}
.button.full{width:100%}
.button::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .9s var(--ease)}
.button:hover::after{transform:translateX(120%)}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chips span{font-size:.74rem;letter-spacing:.06em;padding:.3rem .65rem;border:1px solid var(--line-dark);border-radius:99px;white-space:nowrap}
.chip{font:500 .78rem/1 var(--sans);letter-spacing:.08em;color:inherit;background:transparent;border:1px solid var(--line-dark);border-radius:99px;padding:0 1rem;min-height:44px;cursor:pointer;transition:background .3s,border-color .3s,color .3s}
.chip:hover{border-color:var(--gold)}
.chip.active,.chip[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--black)}
.chip-sep{width:1px;height:28px;background:var(--line-dark);align-self:center;margin:0 .3rem}

/* progress + header */
.progress{position:fixed;inset:0 0 auto;height:2px;z-index:60;pointer-events:none}
.progress i{display:block;height:100%;background:var(--gold);transform-origin:0 50%;transform:scaleX(var(--p,0))}
.site-header{position:fixed;inset:0 0 auto;z-index:50;transition:background .5s var(--ease),backdrop-filter .5s,border-color .5s,transform .5s var(--ease);border-bottom:1px solid transparent}
.site-header.scrolled{background:rgba(20,18,16,.82);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px);border-color:var(--line-dark)}
.site-header.hide{transform:translateY(-100%)}
.site-header.on-light:not(.scrolled){color:var(--black)}
.header-row{display:flex;align-items:center;gap:2rem;height:76px}
.logo{display:inline-flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none}
.wordmark{font:400 1.08rem/1 var(--serif);letter-spacing:.38em;padding-left:.38em;white-space:nowrap}
.rule-dot{display:flex;align-items:center;gap:6px}
.rule-dot i{width:22px;height:1px;background:var(--gold)}
.rule-dot b{width:3px;height:3px;border-radius:50%;background:var(--gold)}
.main-nav{display:flex;gap:1.8rem;margin-left:auto}
.main-nav a{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;position:relative;padding:.6rem 0}
.main-nav a::after{content:'';position:absolute;left:0;right:0;bottom:.3rem;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s var(--ease)}
.main-nav a:hover::after{transform:scaleX(1)}
.header-cta{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:1px solid var(--gold);padding:.75rem 1.1rem;min-height:44px;display:inline-flex;align-items:center;gap:.5em;transition:background .3s,color .3s;background:rgba(17,16,15,.62);color:var(--cream);backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px)}
.site-header:not(.scrolled) .main-nav a{text-shadow:0 1px 12px rgba(0,0,0,.55)}
.site-header.on-light:not(.scrolled) .header-cta{background:rgba(238,231,221,.7);color:var(--black);border-color:var(--gold-ink)}
.site-header.on-light:not(.scrolled) .main-nav a{text-shadow:none}
.header-cta:hover{background:var(--gold);color:var(--black)}
.menu-button{display:none;width:48px;height:48px;margin-left:auto;background:none;border:1px solid var(--line-dark);border-radius:50%;color:inherit;cursor:pointer;position:relative}
.menu-button i{position:absolute;left:14px;right:14px;height:1px;background:currentColor;transition:transform .4s var(--ease),top .4s var(--ease)}
.menu-button i:first-of-type{top:20px}.menu-button i:last-of-type{top:27px}
.menu-button[aria-expanded=true] i:first-of-type{top:23.5px;transform:rotate(45deg)}
.menu-button[aria-expanded=true] i:last-of-type{top:23.5px;transform:rotate(-45deg)}
.menu-panel{position:fixed;inset:0;z-index:45;background:var(--night);display:flex;flex-direction:column;justify-content:center;padding:100px var(--gutter) 40px;clip-path:circle(0 at calc(100% - 40px) 38px);transition:clip-path .7s var(--ease);visibility:hidden}
.menu-panel.open{clip-path:circle(150% at calc(100% - 40px) 38px);visibility:visible}
.menu-panel[hidden]{display:flex}
.menu-panel nav{display:flex;flex-direction:column}
.menu-panel nav a{font:400 clamp(2.2rem,9vw,3.4rem)/1.15 var(--serif);text-decoration:none;padding:.15em 0;border-bottom:1px solid var(--line-dark);opacity:0;transform:translateY(16px);transition:opacity .5s,transform .6s var(--ease)}
.menu-panel.open nav a{opacity:1;transform:none}
.menu-panel.open nav a:nth-child(2){transition-delay:.04s}.menu-panel.open nav a:nth-child(3){transition-delay:.08s}.menu-panel.open nav a:nth-child(4){transition-delay:.12s}.menu-panel.open nav a:nth-child(5){transition-delay:.16s}.menu-panel.open nav a:nth-child(6){transition-delay:.2s}
.menu-meta{margin-top:2rem;color:var(--taupe);font-size:.9rem}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(24px,5vh,56px);overflow:hidden;isolation:isolate}
.hero-media{position:absolute;inset:0 0 104px;z-index:-1;transform:scale(var(--hs,1.04));transform-origin:50% 40%}
.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% 50%}
.hero-video{opacity:0;transition:opacity 1.4s var(--ease)}
.hero-video.playing{opacity:1}
.hero::after{content:'';position:absolute;inset:auto 0 0;height:36%;background:linear-gradient(0deg,var(--night),rgba(20,18,16,0));z-index:-1;pointer-events:none}
.hero::before{content:'';position:absolute;inset:0 0 auto;height:220px;background:linear-gradient(180deg,rgba(17,16,15,.72),rgba(17,16,15,0));z-index:-1;pointer-events:none}
.hero-copy{padding-top:120px}
.hero-copy h1{margin:.1rem 0 1.6rem;max-width:11ch}
.hero-copy .lead{margin-bottom:2rem}
.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem 1.8rem}
.hero-caption{margin-top:2.2rem;display:flex;justify-content:flex-end}
.hero-caption span,.art-caption{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(238,231,221,.7)}
.hero-caption span{border-left:1px solid var(--gold);padding-left:.8rem}
.hero-facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark);margin-top:1.4rem;padding-top:1.1rem;gap:1rem}
.hero-facts span{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(238,231,221,.82)}
.scroll-cue{position:absolute;left:50%;bottom:0;width:44px;height:64px;transform:translateX(-50%);display:flex;justify-content:center}
.scroll-cue i{width:1px;height:48px;background:linear-gradient(var(--gold),transparent);transform-origin:0 0;animation:cue 2.4s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);opacity:1}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
[data-split] .line{display:inline-block}

/* marquee */
.marquee{border-block:1px solid var(--line-dark);overflow:hidden;padding:1.3rem 0;margin-top:clamp(40px,6vw,80px)}
.marquee-track{display:flex;gap:2.4rem;width:max-content;animation:marquee 46s linear infinite;align-items:center}
.marquee-track span{font:italic 400 clamp(1.8rem,3.4vw,3rem)/1 var(--serif);color:rgba(238,231,221,.82)}
.marquee-track b{color:var(--gold);font-weight:400}
@keyframes marquee{to{transform:translateX(-50%)}}

/* sections */
.collections,.formats,.services,.contact-section{padding-block:clamp(72px,10vw,150px)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1.6rem;flex-wrap:wrap}
.section-head h2{max-width:18ch}

/* series + product cards */
.series-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px) clamp(18px,2.4vw,36px);margin-top:2.6rem;align-items:start}
.series-card{position:relative}
@media (min-width:761px){.series-card:nth-child(3n+2){margin-top:clamp(40px,6vw,110px)}}
.series-card.is-wide{grid-column:1/-1;display:grid;grid-template-columns:7fr 5fr;gap:clamp(24px,4vw,72px);align-items:center;margin-top:clamp(24px,4vw,64px)}
.series-card.is-wide .card-art{aspect-ratio:16/10}
.series-card.is-wide .card-art .art-room{opacity:1}.series-card.is-wide .card-art .art-surface{opacity:0}
.series-card.is-wide.show-room .card-art .art-room{opacity:0}.series-card.is-wide.show-room .card-art .art-surface{opacity:1}
@media (hover:hover) and (pointer:fine){.series-card.is-wide .card-art:hover .art-room{opacity:0}.series-card.is-wide .card-art:hover .art-surface{opacity:1}}
.series-card.is-wide .card-body h2{font-size:clamp(2.6rem,4.4vw,4.4rem)}
.series-card.is-wide .room-toggle{left:auto;right:calc(5/12*100% + 12px)}
.card-desc{color:rgba(238,231,221,.78);margin:1.2rem 0 .8rem;max-width:30rem}
.card-art{--rx:0deg;--ry:0deg;--lx:50%;--ly:30%;position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:var(--night-2);transform:perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .7s var(--ease),box-shadow .7s var(--ease);will-change:transform}
.card-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .8s var(--ease),transform 1.4s var(--ease)}
.card-art .art-room{opacity:0}
.show-room .card-art .art-room{opacity:1}
.show-room .card-art .art-surface{opacity:0}
@media (hover:hover) and (pointer:fine){
  .card-art:hover .art-room{opacity:1}
  .card-art:hover .art-surface{opacity:0}
  .show-room .card-art:hover .art-room{opacity:0}.show-room .card-art:hover .art-surface{opacity:1}
}
.card-art:hover img{transform:scale(1.045)}
.card-art:hover{box-shadow:0 30px 60px rgba(0,0,0,.45)}
.card-art .sheen{position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px circle at var(--lx) var(--ly),rgba(255,244,226,.22),transparent 60%);opacity:0;transition:opacity .6s}
.card-art:hover .sheen{opacity:1}
.card-art::after{content:'';position:absolute;inset:-40%;background:linear-gradient(105deg,transparent 40%,rgba(255,248,236,.28) 50%,transparent 60%);transform:translateX(-80%);pointer-events:none}
.card-art:hover::after{animation:sweep 1.3s var(--ease)}
@keyframes sweep{to{transform:translateX(80%)}}
.room-toggle{position:absolute;top:12px;right:12px;z-index:3;min-height:44px;padding:0 1rem;border-radius:99px;border:1px solid rgba(238,231,221,.45);background:rgba(17,16,15,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--cream);font:500 .72rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:.5em;transition:background .3s}
.room-toggle::before{content:'';width:8px;height:8px;border:1px solid currentColor;border-radius:50%}
.room-toggle[aria-pressed=true]::before{background:var(--gold);border-color:var(--gold)}
.room-toggle:hover{background:rgba(17,16,15,.8)}
.card-body{padding-top:1.1rem}
.card-body h2{font-size:clamp(1.9rem,2.6vw,2.6rem);line-height:1;margin:.1rem 0 .8rem}
.card-body h2 a{text-decoration:none}
.card-body .eyebrow{margin:.4rem 0 .4rem;font-size:.66rem}
.art-caption{margin:0 0 .6rem;color:var(--taupe);font-size:.64rem}
.card-price{font:400 1.7rem/1 var(--serif);margin-top:1rem;font-variant-numeric:tabular-nums lining-nums}
.card-price small{font:.8rem var(--sans);color:var(--taupe)}
.stock{font-size:.8rem;color:var(--taupe);margin:.5rem 0 0}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2vw,30px);margin-top:2rem}
.product-card{position:relative}
.product-card .card-body h2{font-size:clamp(1.6rem,2vw,2.1rem)}
.product-card .card-price{font-size:1.45rem}
.select-button{margin-top:.9rem;display:inline-flex;align-items:center;gap:.6rem;min-height:44px;background:none;border:0;border-bottom:1px solid var(--line-dark);color:inherit;padding:0;font:500 .74rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.select-button .plus{width:18px;height:18px;border:1px solid var(--gold);border-radius:50%;position:relative;transition:background .3s,transform .5s var(--ease)}
.select-button .plus::before,.select-button .plus::after{content:'';position:absolute;left:50%;top:50%;width:8px;height:1px;background:var(--gold);transform:translate(-50%,-50%)}
.select-button .plus::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .4s var(--ease)}
.select-button[aria-pressed=true] .plus{background:var(--gold);transform:rotate(180deg)}
.select-button[aria-pressed=true] .plus::before,.select-button[aria-pressed=true] .plus::after{background:var(--black)}
.select-button[aria-pressed=true] .plus::after{transform:translate(-50%,-50%) rotate(0)}
.rail-progress{display:none}
.more-colours .rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3*clamp(18px,2vw,30px))/4);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:1rem}
.more-colours .rail>*{scroll-snap-align:start}
/* before / after */
.before-after{--ba:52%;aspect-ratio:4/3;cursor:ew-resize;touch-action:pan-y;user-select:none}
.before-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--ba))}
.ba-line{position:absolute;top:0;bottom:0;left:var(--ba);width:1px;background:var(--gold);pointer-events:none}
.ba-line i{position:absolute;top:50%;left:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;border:1px solid var(--gold);background:rgba(17,16,15,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ba-line i::before,.ba-line i::after{content:'';position:absolute;top:50%;width:6px;height:6px;border-top:1px solid var(--gold);border-left:1px solid var(--gold)}
.ba-line i::before{left:12px;transform:translateY(-50%) rotate(-45deg)}
.ba-line i::after{right:12px;transform:translateY(-50%) rotate(135deg)}
.ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ba-range:focus-visible+.ba-line,.before-after:focus-within .ba-line i{outline:2px solid var(--gold);outline-offset:3px}

/* formats */
.formats{background:var(--cream);color:var(--black);color-scheme:light}
.formats .eyebrow{color:var(--gold-deep)}
.formats h2 em{color:var(--gold-ink)}
.formats-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,6vw,110px)}
.formats-stage{position:sticky;top:12vh;height:76vh;display:flex;align-items:center;justify-content:center}
.fmt-canvas{position:relative;width:100%;height:100%;max-width:620px}
.fmt-shape{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.94);opacity:0;transition:opacity .8s var(--ease),transform 1s var(--ease)}
.fmt-shape i{display:block;width:100%;height:100%;background:linear-gradient(135deg,#e7dfd3,#cfc4b5);box-shadow:0 30px 60px rgba(17,16,15,.18);border:1px solid rgba(17,16,15,.08)}
.fmt-shape span{position:absolute;left:0;top:calc(100% + 14px);font:.72rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.fmt-shape.active{opacity:1;transform:translate(-50%,-50%) scale(1)}
.fmt-60x120{width:30%;height:60%}.fmt-120x120{width:60%;height:60%}.fmt-100x100{width:50%;height:50%}.fmt-23-4x148{width:11.7%;height:74%}
.fmt-scale{position:absolute;right:0;bottom:0;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0}
.fmt-step{min-height:52vh;display:flex;flex-direction:column;justify-content:center;border-top:1px solid var(--line-light);padding:2rem 0}
.fmt-step h3{font-size:clamp(2.6rem,4.6vw,4.4rem);margin-bottom:1rem}
.fmt-step p{color:#3e372f;max-width:28rem}
.fmt-price{font:400 1.6rem/1.2 var(--serif)!important;color:var(--black)!important}
.fmt-price small{font:.8rem var(--sans);color:var(--muted)}
.formats .text-link{border-color:rgba(17,16,15,.35)}

/* services */
.services{background:var(--paper);color:var(--black);color-scheme:light}
.services .eyebrow{color:var(--gold-deep)}
.services h2 em{color:var(--gold-ink)}
.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px)}
.compact-service{display:grid;grid-template-rows:auto 1fr;gap:1.6rem}
.media-frame{aspect-ratio:1/1;overflow:hidden;background:var(--night);position:relative}
.room-service .media-frame{aspect-ratio:4/3}
.box-service .media-frame{aspect-ratio:4/3}
.box-service .media-frame video{object-fit:cover;object-position:50% 58%}
.media-frame video,.media-frame img{width:100%;height:100%;object-fit:cover}
.service-media small{display:block;margin-top:.6rem;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.service-copy h2{font-size:clamp(2.1rem,3.6vw,3.4rem);margin-bottom:1.2rem}
.service-offer{font-size:1rem;line-height:1.65;color:#2a251f;border-left:1px solid var(--gold-ink);padding-left:1rem}
.service-inquiry{font-size:.86rem;color:#4b4339}
.steps{list-style:none;padding:0;margin:0 0 1.4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;border-top:1px solid var(--line-light);padding-top:1rem}
.steps li{font-size:.84rem;line-height:1.4;color:#3e372f}
.steps b{display:block;font:400 1.4rem var(--serif);color:var(--gold-ink)}
.services .button.outline{border-color:var(--black)}
.services .button.outline:hover{background:var(--black);color:var(--cream)}

/* addons, trust */
.addons{padding-block:clamp(48px,6vw,80px);border-top:1px solid var(--line-dark)}
.addons>div{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.addons span{font:400 clamp(1.5rem,2.2vw,2.1rem)/1.1 var(--serif);word-break:normal;overflow-wrap:normal;hyphens:manual}
.addons small{display:block;font:.8rem/1.5 var(--sans);color:var(--taupe);margin-top:.5rem}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;padding-block:2.2rem;border-top:1px solid var(--line-dark)}
.trust span{font-size:.76rem;letter-spacing:.18em}
.trust small{display:block;letter-spacing:.02em;color:var(--taupe);margin-top:.3rem;font-size:.8rem}
.tax-note{font-size:.8rem;color:var(--taupe);padding-bottom:1.4rem}

/* contact form */
.contact-section{background:var(--black);border-top:1px solid var(--line-dark)}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,100px)}
.contact-intro h2{margin-bottom:1.6rem;max-width:12ch}
.contact-intro p{color:rgba(238,231,221,.8);max-width:30rem}
.contact-direct a{font:400 1.5rem/1.5 var(--serif);text-decoration:none;border-bottom:1px solid var(--line-dark)}
.inquiry-form{position:relative;background:var(--night-2);border:1px solid var(--line-dark);padding:clamp(20px,3vw,44px)}
.form-service-offers{border:1px solid var(--line-dark);padding:1rem 1.2rem;margin-bottom:1.6rem}
.form-service-offers h3{font-size:1.4rem;margin-bottom:.6rem}
.form-service-offers .service-offer{color:rgba(238,231,221,.88);border-color:var(--gold);font-size:.9rem}
.form-service-offers .service-inquiry{color:var(--taupe);font-size:.82rem}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.4rem}
.field{position:relative}
.field.wide{grid-column:1/-1}
.field input,.field select,.field textarea{width:100%;font:400 1rem/1.4 var(--sans);color:var(--cream);background:transparent;border:0;border-bottom:1px solid rgba(238,231,221,.32);padding:1.55rem 0 .55rem;min-height:56px;border-radius:0;transition:border-color .4s;appearance:none;-webkit-appearance:none}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 12px) 60%,calc(100% - 7px) 60%;background-size:5px 5px;background-repeat:no-repeat;padding-right:24px}
.field select option{background:var(--night);color:var(--cream)}
.field textarea{resize:vertical;min-height:132px}
.field label{position:absolute;left:0;top:1.35rem;font-size:1rem;color:rgba(238,231,221,.66);pointer-events:none;transform-origin:0 0;transition:transform .45s var(--ease),color .3s}
.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label,.field.is-select label,.field.is-static label{transform:translateY(-1.05rem) scale(.74);color:var(--gold)}
.field::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:0 50%;transition:transform .6s var(--ease)}
.field:focus-within::after{transform:scaleX(1)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none}
.field:focus-within{outline:2px solid transparent}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{box-shadow:0 2px 0 0 var(--gold)}
.field input[readonly]{color:var(--taupe)}
.field-note,.privacy-note{font-size:.8rem;color:var(--taupe);margin:.9rem 0}
.submit{margin-top:.6rem}
#contact-status{min-height:1.5em;margin:1rem 0 0;font-size:.92rem}
#contact-status[data-state=error]{color:#f0b9a6}
#contact-status[data-state=success]{color:var(--gold)}
.form-success{position:absolute;inset:0;background:var(--night-2);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;opacity:0;visibility:hidden;transition:opacity .8s var(--ease)}
.form-success .success-title{font:400 clamp(2.4rem,4vw,3.4rem)/1 var(--serif);margin:1.4rem 0 .8rem}
.form-success p{max-width:26rem;color:rgba(238,231,221,.82)}
.inquiry-form.is-sent .form-success{opacity:1;visibility:visible;position:relative;inset:auto;min-height:420px}
.inquiry-form.is-sent>*:not(.form-success):not(#contact-status){display:none}
.inquiry-form.is-sent #contact-status{text-align:center;color:var(--taupe)}
.check{width:84px;height:84px;fill:none;stroke:var(--gold);stroke-width:1.4}
.check circle{stroke-dasharray:190;stroke-dashoffset:190}
.check path{stroke-dasharray:44;stroke-dashoffset:44;stroke-width:2}
.is-sent .check circle,.thanks-mark .check circle{animation:draw 1.1s var(--ease) .1s forwards}
.is-sent .check path,.thanks-mark .check path{animation:draw .7s var(--ease) .9s forwards}
@keyframes draw{to{stroke-dashoffset:0}}

/* collection pages */
.page-hero{padding-top:150px;padding-bottom:1rem}
.page-hero h1{margin-bottom:1.4rem}
.breadcrumbs{font-size:.78rem;letter-spacing:.06em;color:var(--taupe);margin-bottom:1.4rem;padding-top:.2rem}
.breadcrumbs a{color:inherit}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}
.filter-count{margin-top:1rem;color:var(--taupe);font-size:.86rem}
.series-hero{position:relative;min-height:88svh;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:2rem;overflow:hidden;isolation:isolate}
.series-media{position:absolute;inset:0;z-index:-1;transform:scale(var(--hs,1.03))}
.series-media video{width:100%;height:100%;object-fit:cover;object-position:80% 50%}
.series-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,var(--night) 6%,rgba(20,18,16,.5) 42%,rgba(20,18,16,.1) 70%)}
.series-hero-copy{padding-top:140px}
.series-hero h1{margin-bottom:1rem}
.series-facts{display:grid;grid-template-columns:1.4fr 1fr 1fr .6fr;gap:1.4rem;border-top:1px solid var(--line-dark);padding-top:1.2rem;margin-top:2rem;max-width:min(780px,60%)}
.series-facts small{display:block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.series-facts p{font:400 1.7rem/1 var(--serif);margin:0;font-variant-numeric:lining-nums}
.series-facts p span{font:.8rem var(--sans);color:var(--taupe)}

/* product page */
.product-layout{display:grid;grid-template-columns:1.25fr .9fr;gap:clamp(28px,4.5vw,80px);align-items:start;padding-bottom:3rem}
main>.breadcrumbs{padding-top:110px}
.product-gallery{min-width:0}
.g-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;background:var(--night-2);aspect-ratio:4/5;outline-offset:-2px}
.g-track::-webkit-scrollbar{display:none}
.g-slide{flex:0 0 100%;margin:0;position:relative;scroll-snap-align:start;overflow:hidden}
.g-slide img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.g-slide:hover img{transform:scale(1.03)}
.g-slide[data-role=surface] img,.g-slide[data-role=swatch] img{object-fit:contain;background:radial-gradient(70% 60% at 50% 45%,#2b2723,var(--night))}
.g-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.4rem 1rem .9rem;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(238,231,221,.88);background:linear-gradient(0deg,rgba(17,16,15,.82),transparent)}
.fmt-slide{display:flex;align-items:center;justify-content:center;background:radial-gradient(70% 60% at 50% 45%,#2b2723,var(--night))}
.fmt-slide svg{width:70%;height:auto}
.fmt-rect{fill:var(--tone,#cfc4b5);stroke:var(--gold);stroke-width:.4}
.g-bar{display:flex;align-items:center;gap:1rem;margin-top:.8rem}
.g-thumbs{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;flex:1}
.g-thumb{flex:0 0 auto;width:100px;height:60px;padding:0;border:1px solid transparent;background:var(--night-2);cursor:pointer;opacity:.55;transition:opacity .3s,border-color .3s;color:var(--cream)}
.g-thumb span{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}
.g-thumb img{width:100%;height:100%;object-fit:cover}
.g-thumb[aria-current=true],.g-thumb:hover{opacity:1;border-color:var(--gold)}
.g-count{font:400 1.1rem var(--serif);color:var(--taupe);white-space:nowrap}
.g-count b{color:var(--cream);font-weight:400}
.gallery-note{margin-top:.8rem}
.product-sticky{position:sticky;top:96px}
.product-info h1{font-size:clamp(3rem,5.4vw,5.6rem);margin:.2rem 0 .4rem}
.product-format{font-size:1rem;letter-spacing:.1em;color:var(--taupe);margin-bottom:1.6rem}
.product-price{font:400 clamp(2.6rem,3.8vw,3.4rem)/1 var(--serif);font-variant-numeric:lining-nums}
.product-price small{font:.9rem var(--sans);color:var(--taupe)}
.tax-inline{font-size:.84rem;color:var(--taupe);margin:.7rem 0 .4rem}
.product-stock{font-size:.86rem;color:rgba(238,231,221,.8);margin:1rem 0 1.4rem}
.calculator{border:1px solid var(--line-dark);background:var(--night-2);padding:clamp(18px,2.4vw,30px);margin-bottom:1rem}
.calc-title{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem}
.calc-title h2{font-size:2rem}
.calc-title small{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--taupe)}
.calculator>label{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--taupe)}
.area-field{display:flex;align-items:center;border-bottom:1px solid rgba(238,231,221,.35);margin:.3rem 0 1rem}
.area-field input{flex:1;min-width:0;background:none;border:0;color:var(--cream);font:400 2.4rem/1.2 var(--serif);padding:.2rem 0;text-align:center;font-variant-numeric:lining-nums}
.area-field input:focus{outline:none}
.area-field:focus-within{border-color:var(--gold)}
.area-field span{color:var(--taupe);margin-right:.6rem}
.step{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-dark);background:none;color:var(--cream);font-size:1.2rem;cursor:pointer;flex:0 0 auto;transition:background .3s,border-color .3s}
.step:hover{border-color:var(--gold);background:rgba(210,184,145,.1)}
.waste-label{display:flex;align-items:center;gap:.6rem;font-size:.88rem;min-height:44px;cursor:pointer}
.waste-label input{width:20px;height:20px;accent-color:var(--gold)}
.calc-output{margin:1rem 0;display:grid;gap:.1rem}
.calc-output div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid rgba(210,184,145,.12)}
.calc-output dt{color:var(--taupe);font-size:.88rem}
.calc-output dd{margin:0;font-variant-numeric:tabular-nums lining-nums;text-align:right}
.calc-total dd{font:400 1.7rem/1 var(--serif);color:var(--gold)}
.calc-note{font-size:.78rem;color:var(--taupe);line-height:1.55}
.warning{color:#f0c7a9;font-size:.86rem;border-left:1px solid #f0c7a9;padding-left:.7rem}
.small-sample{margin:.6rem 0}
.sample-note{font-size:.8rem;line-height:1.6;color:var(--taupe)}
.sample-status{font-size:.86rem;color:var(--gold)}
.product-lower{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);padding-block:3rem;border-top:1px solid var(--line-dark)}
.specs dl{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem;margin:0}
.specs dl div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(210,184,145,.14);padding:.7rem 0}
.specs dt{color:var(--taupe);font-size:.86rem}.specs dd{margin:0}
.specs .small-note{margin-top:1rem}
.product-room-entry{background:var(--paper);color:var(--black);padding:clamp(20px,3vw,40px)}
.product-room-entry .eyebrow{color:var(--gold-deep)}
.product-room-entry h3{margin-bottom:1rem}
.product-room-entry .text-button{border-color:rgba(17,16,15,.4)}
.product-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,80px);padding-block:clamp(48px,7vw,100px);border-top:1px solid var(--line-dark)}
.product-faq h2{font-size:clamp(2rem,3.4vw,3.2rem)}
details{border-bottom:1px solid var(--line-dark);padding:1rem 0}
summary{cursor:pointer;font:400 1.4rem/1.3 var(--serif);list-style:none;display:flex;justify-content:space-between;gap:1rem;min-height:44px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';color:var(--gold);font-family:var(--sans);transition:transform .4s var(--ease)}
details[open] summary::after{transform:rotate(45deg)}
details p{color:rgba(238,231,221,.8);margin:.6rem 0 .3rem}
.more-colours{padding-bottom:3rem}
.mobile-buy{display:none}
.g-thumb span{display:block;padding:0 4px;line-height:1.2}

/* legal pages (light) */
.legal-page{background:var(--cream);color:var(--black);padding:150px 0 clamp(60px,8vw,120px);color-scheme:light}
.legal-body{max-width:760px}
.legal-body h1{font-size:clamp(3rem,6vw,5.4rem);margin-bottom:2rem}
.legal-body h2{font-size:clamp(1.7rem,2.6vw,2.3rem);margin:2.4rem 0 .8rem}
.legal-body p,.legal-body address{color:#2e2922;font-style:normal;line-height:1.75}
.legal-body a{text-decoration-color:var(--gold-ink)}
.legal-body .eyebrow{color:var(--gold-deep)}
.legal-body .lead{color:#3e372f}
.legal-body .button{margin:1rem 0}
.legal-body .service-offer{color:#2a251f}
.table-wrap{overflow-x:auto;margin:1.4rem 0;border:1px solid var(--line-light)}
table{border-collapse:collapse;width:100%;min-width:420px;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:.9rem 1rem;border-bottom:1px solid var(--line-light)}
thead th{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500}
tbody th{font-weight:500}
.thanks-mark{display:flex;justify-content:center;margin-bottom:1rem}
.thanks-mark .check{stroke:var(--gold-ink)}
.legal-page .shell{position:relative}

/* footer */
.site-footer{background:var(--black);border-top:1px solid var(--line-dark);padding:clamp(48px,7vw,96px) 0 2rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
.footer-grid>div{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}
.footer-grid a:not(.logo):not(.text-button){font-size:.9rem;text-decoration:none;color:rgba(238,231,221,.82);min-height:32px;display:inline-flex;align-items:center}
.footer-grid a:hover{color:var(--gold)}
.footer-grid span{font-size:.84rem;color:var(--taupe)}
.footer-grid p{color:var(--taupe);font-size:.9rem;margin-top:1rem}
.footer-note{font-size:.78rem;color:var(--taupe);border-top:1px solid var(--line-dark);padding-top:1.4rem;margin-top:3rem}

/* selection dock */
.dock{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%,140%);z-index:40;width:min(100% - 24px,620px);transition:transform .7s var(--ease)}
.dock.show{transform:translate(-50%,0)}
.dock[hidden]{display:block;visibility:hidden}
.dock.show[hidden]{visibility:visible}
.dock-inner{background:rgba(17,16,15,.9);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line-dark);box-shadow:0 30px 60px rgba(0,0,0,.45);padding:10px 10px 10px 18px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:.6rem 1rem;border-radius:2px}
.dock-toggle{background:none;border:0;color:var(--cream);text-align:left;cursor:pointer;min-height:44px;display:flex;flex-direction:column;justify-content:center;padding:0}
.dock-count{font:400 1.25rem/1.1 var(--serif)}
.dock-count b{font-weight:400;color:var(--gold);display:inline-block}
.dock-count b.bump{animation:bump .6s var(--ease)}
@keyframes bump{40%{transform:scale(1.5)}}
.dock-hint{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--taupe)}
.dock-list{grid-column:1/-1;list-style:none;margin:0;padding:.4rem 0;border-top:1px solid var(--line-dark);display:grid;gap:.2rem}
.dock-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.86rem}
.dock-list button{background:none;border:0;color:var(--taupe);min-width:44px;min-height:40px;cursor:pointer;font-size:1rem}
.dock-actions{display:flex;gap:.4rem;align-items:center}
.dock-clear{background:none;border:0;color:var(--taupe);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;min-height:44px;padding:0 .6rem;cursor:pointer}
.dock .button{min-height:46px;padding:0 1.1rem;font-size:.74rem}

/* custom cursor (fine pointers only; enabled by JS) */
.cursor{display:none}
.has-cursor .cursor{display:block;position:fixed;left:0;top:0;z-index:90;pointer-events:none;mix-blend-mode:difference}
.has-cursor .cursor i{position:absolute;width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid #d2b891;border-radius:50%;transition:width .4s var(--ease),height .4s var(--ease),margin .4s var(--ease),background .4s}
.has-cursor .cursor.is-hover i{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(210,184,145,.18)}

/* reveal motion (only with JS + motion allowed) */
.motion [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity 1.1s var(--ease),transform 1.2s var(--ease)}
.motion [data-reveal].in{opacity:1;transform:none}
.motion [data-split] .line{opacity:0;transform:translateY(.45em);filter:blur(6px);transition:opacity 1.1s var(--ease),transform 1.2s var(--ease),filter 1.2s var(--ease)}
.motion [data-split].in .line{opacity:1;transform:none;filter:none}
.motion [data-split].in .line:nth-child(2){transition-delay:.08s}.motion [data-split].in .line:nth-child(3){transition-delay:.16s}.motion [data-split].in .line:nth-child(4){transition-delay:.24s}

/* responsive */
@media (max-width:1180px){
  .main-nav{gap:1.2rem}.main-nav a{font-size:.74rem}
  .product-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1024px){
  .main-nav,.header-cta{display:none}
  .menu-button{display:block}
  .series-grid{grid-template-columns:repeat(2,1fr)}
  .series-card:nth-child(3n+2){margin-top:0}
  .series-card.is-wide{grid-template-columns:1fr 1fr}
  .more-colours .rail{grid-auto-columns:calc((100% - 2*24px)/3)}
  .formats-grid{grid-template-columns:1fr}
  .formats-stage{position:sticky;top:76px;height:42vh;z-index:1;background:var(--cream)}
  .fmt-step{min-height:auto;padding:2.4rem 0}
  .services-grid,.contact-grid,.product-layout,.product-lower,.product-faq{grid-template-columns:1fr}
  .product-sticky{position:static}
  .footer-grid{grid-template-columns:1fr 1fr}
  .addons>div,.trust{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .header-row{height:64px}
  .hero{min-height:100svh}
  .hero-copy{padding-top:90px}
  .hero-facts{grid-template-columns:1fr 1fr;row-gap:.6rem}
  .hero-caption{justify-content:flex-start}
  .rail{display:grid;grid-auto-flow:column;grid-auto-columns:82%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);gap:14px;margin-inline:calc(-1*var(--gutter));padding-inline:var(--gutter);scrollbar-width:none;overscroll-behavior-x:contain}
  .rail::-webkit-scrollbar{display:none}
  .rail>*{scroll-snap-align:start;grid-column:auto!important;grid-row:auto!important}
  .rail .series-card.is-wide{display:block}
  .rail .series-card.is-wide .card-art{aspect-ratio:4/5}
  .rail .series-card.is-wide .card-desc,.rail .series-card.is-wide .text-link{display:none}
  .rail .series-card.is-wide .room-toggle{right:12px}
  .photos-off .rail .series-card.is-wide .card-art img{object-fit:cover}
  .more-colours .rail{grid-auto-columns:72%}
  .rail-progress{display:block;height:1px;background:var(--line-dark);margin-top:1.4rem}
  .rail-progress i{display:block;height:100%;width:100%;background:var(--gold);transform-origin:0 50%;transform:scaleX(var(--rp,.15))}
  .grid-index{grid-template-columns:1fr}.grid-index .series-card.is-wide{display:block}.grid-index .series-card.is-wide .card-art{aspect-ratio:4/5}.photos-off .grid-index .series-card.is-wide .card-art img{object-fit:cover}.grid-index .series-card.is-wide .room-toggle{right:12px}
  .product-grid:not(.rail){grid-template-columns:1fr 1fr;gap:22px 14px}
  .product-grid:not(.rail) .card-body h2{font-size:1.45rem}
  .product-grid:not(.rail) .card-price{font-size:1.25rem}
  .product-grid:not(.rail) .room-toggle{top:8px;right:8px;padding:0 .7rem;font-size:.62rem}
  .product-grid:not(.rail) .art-caption{font-size:.56rem;letter-spacing:.1em}
  .product-grid:not(.rail) .stock{font-size:.74rem}
  .series-facts{grid-template-columns:1fr 1fr;max-width:none}
  .series-media{inset:0 0 auto;height:100vw}
  .series-media video{object-position:84% 50%}
  .series-hero-copy{padding-top:calc(100vw - 40px)}
  .series-hero::before{background:linear-gradient(0deg,var(--night) 55%,rgba(20,18,16,.4) 75%,rgba(20,18,16,0) 92%)}
  .contact-fields{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .specs dl{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .addons>div,.trust{grid-template-columns:1fr}
  .mobile-buy{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;transform:translateY(110%);transition:transform .6s var(--ease);gap:1rem;align-items:center;justify-content:space-between;background:rgba(17,16,15,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line-dark);padding:10px var(--gutter) max(10px,env(safe-area-inset-bottom))}
  .mobile-buy small{display:block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--taupe)}
  .mobile-buy b{font:400 1.4rem var(--serif)}
  .mobile-buy .button{min-height:46px;padding:0 1.1rem;font-size:.72rem}
  .mobile-buy.show{transform:none}
  body[data-dock=on] .mobile-buy{display:none}
  .hero-media{inset:0 0 auto;height:125vw}
  .hero-copy{padding-top:calc(125vw - 170px)}
  .scroll-cue{display:none}
  .hero::after{display:none}
  .g-thumb{width:84px}
.g-thumb span{display:block;padding:0 4px;line-height:1.2}
  .page-hero,.legal-page{padding-top:110px}
  main>.breadcrumbs{padding-top:84px}
  .chip{padding:0 .85rem}
  .dock-hint{display:none}
}
@media (max-width:360px){
  .wordmark{font-size:.92rem;letter-spacing:.3em}
  .product-grid:not(.rail){grid-template-columns:1fr}
  .hero-facts span{font-size:.7rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .marquee-track{animation:none}
  .hero-video{display:none}
  @view-transition{navigation:none}
}

/* ===== V5.1 · selling layer (Owner 2026-10-16) ===== */
svg.icon,.header-tel svg,.actionbar svg,.person-links svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.hero-media img,.hero-media video{object-position:68% 50%}
.hero-media{transform:none}
.hero-copy h1{font-size:clamp(2.9rem,6.2vw,6.4rem);max-width:13ch;margin:.1rem 0 1.2rem}
.hero-sub{font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.5;color:rgba(238,231,221,.9);max-width:36rem;margin-bottom:1.8rem}
.hero-sub b{font-weight:500;color:var(--gold);white-space:nowrap}
.button.ghost{border-color:rgba(238,231,221,.55)}
.trust-bullets{list-style:none;margin:1.8rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.6rem}
.trust-bullets li{position:relative;padding-left:1.4rem;font-size:.86rem;letter-spacing:.02em;color:rgba(238,231,221,.88)}
.trust-bullets li::before{content:"";position:absolute;left:0;top:.42em;width:.75rem;height:.4rem;border-left:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(-45deg)}
.header-tel{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;letter-spacing:.06em;text-decoration:none;white-space:nowrap;min-height:44px}
.header-tel svg{width:16px;height:16px;color:var(--gold)}
@media (max-width:1320px){.header-tel span{display:none}}
@media (max-width:1024px){.header-tel{display:none}}
.person .eyebrow{margin-bottom:.4rem}
.person-name{font:400 1.6rem/1.1 var(--serif);margin:0 0 .5rem}
.person-links{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:0}
.person-links a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;text-decoration:none;border-bottom:1px solid var(--line-dark);font-size:.95rem}
.person-links svg{width:18px;height:18px;color:var(--gold)}
.person-big .person-name{font-size:clamp(2rem,3vw,2.8rem)}
.person-product{margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--line-dark)}
.person-contact{margin:1.6rem 0 .6rem}
.person-footer{margin-top:1.6rem}
.person-footer .person-name{font-size:1.3rem}
.legal-page .person-links a{border-color:var(--line-light)}
.legal-page .person svg{color:var(--gold-ink)}
.legal-page .person .eyebrow{color:var(--gold-deep)}
.direct{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,5vw,80px);align-items:end;padding-block:clamp(56px,7vw,110px);border-top:1px solid var(--line-dark)}
.direct p{color:rgba(238,231,221,.8);max-width:30rem}
.direct-legal{max-width:760px;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line-light)}
.actionbar{display:none}
@media (max-width:1024px){
  .actionbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;position:fixed;left:0;right:0;bottom:0;z-index:42;background:rgba(17,16,15,.94);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line-dark);padding:6px 8px max(6px,env(safe-area-inset-bottom))}
  .actionbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;text-decoration:none;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cream)}
  .actionbar svg{width:20px;height:20px;color:var(--gold)}
  .actionbar .ab-inq{background:var(--gold);color:var(--black);border-radius:2px}
  .actionbar .ab-inq svg{color:var(--black)}
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
  .dock{bottom:calc(76px + env(safe-area-inset-bottom))}
}
.marquee{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.marquee.dragging{cursor:grabbing}
.marquee-track a{font:italic 400 clamp(1.8rem,3.4vw,3rem)/1 var(--serif);color:rgba(238,231,221,.82);text-decoration:none;transition:color .3s;-webkit-user-drag:none;white-space:nowrap}
.marquee-track a:hover,.marquee-track a:focus-visible{color:var(--gold)}
.marquee.js .marquee-track{animation:none}
.formats{padding-block:clamp(72px,9vw,140px)}
.fmt-tool{margin-top:2.4rem}
.fmt-tabs{display:flex;flex-wrap:wrap;gap:.5rem;border-bottom:1px solid var(--line-light);padding-bottom:1rem}
.fmt-tab{font:400 clamp(1.2rem,2vw,1.7rem)/1 var(--serif);color:var(--black);background:none;border:1px solid transparent;border-radius:99px;padding:.55rem 1.2rem;min-height:48px;cursor:pointer;transition:border-color .3s,background .3s}
.fmt-tab[aria-selected=true]{border-color:var(--gold-ink);background:rgba(122,104,66,.08)}
.fmt-tab:hover{border-color:rgba(122,104,66,.5)}
.fmt-body{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,5vw,80px);align-items:center;margin-top:2rem}
.fmt-stage{background:linear-gradient(180deg,#ece5da,#e3dbcf);padding:clamp(16px,2.5vw,36px) clamp(16px,2.5vw,36px) .8rem;border:1px solid var(--line-light)}
.fmt-scene{--sh:420px;--u:calc(var(--sh) / 240);position:relative;height:var(--sh);display:flex;align-items:flex-end;justify-content:center;gap:calc(var(--u) * 26)}
.fmt-scene[data-fmt="60x120"]{--w:60;--h:120}.fmt-scene[data-fmt="120x120"]{--w:120;--h:120}.fmt-scene[data-fmt="100x100"]{--w:100;--h:100}.fmt-scene[data-fmt="23.4x148"]{--w:23.4;--h:148}
.fmt-door{width:calc(var(--u) * 90);height:calc(var(--u) * 210);fill:none;stroke:rgba(17,16,15,.45);stroke-width:1}
.fmt-door circle{fill:rgba(17,16,15,.45)}
.fmt-person{width:calc(var(--u) * 60);height:calc(var(--u) * 175);fill:rgba(17,16,15,.14);stroke:rgba(17,16,15,.32);stroke-width:.6}
.fmt-tile{width:calc(var(--u) * var(--w));height:calc(var(--u) * var(--h));position:relative;box-shadow:0 18px 40px rgba(17,16,15,.28),0 0 0 1px rgba(17,16,15,.08);transition:width .9s var(--ease),height .9s var(--ease);overflow:hidden;background:var(--paper)}
.fmt-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .45s}
.fmt-tile img.fading{opacity:0}
.fmt-floor{position:absolute;left:-4%;right:-4%;bottom:0;height:1px;background:rgba(17,16,15,.35)}
.fmt-ruler{position:absolute;left:0;top:0;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.fmt-cap{margin:.8rem 0 0;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.fmt-panel h3{font-size:clamp(2.6rem,4.4vw,4.2rem);margin-bottom:.8rem}
.fmt-stock{font:400 1.5rem/1.3 var(--serif);margin:0}
.fmt-stock b{font-weight:400;color:var(--gold-ink);font-variant-numeric:lining-nums}
.fmt-more{color:#4b4339;font-size:.92rem}
.fmt-series{margin:1.2rem 0 1.4rem}
.formats .chip{border-color:rgba(17,16,15,.2);color:var(--black)}
.formats .chip.active,.formats .chip[aria-pressed=true]{background:var(--black);border-color:var(--black);color:var(--cream)}
.formats .section-head .text-link,.formats .fmt-panel .text-link{border-color:rgba(17,16,15,.35)}
.services{padding:0;background:none;color:inherit}
.box-feature{padding-block:clamp(72px,9vw,140px) clamp(40px,5vw,72px);background:var(--black);color:var(--cream);color-scheme:dark}
.box-feature .eyebrow{color:var(--gold)}.box-feature h2 em{color:var(--gold)}
.film-frame{aspect-ratio:16/9;background:var(--night);overflow:hidden;position:relative}
.film-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media-note{margin:.7rem 0 0;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe)}
.box-copy{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);margin-top:2.4rem;align-items:start}
.box-copy h2{font-size:clamp(2.2rem,3.8vw,3.6rem);margin-bottom:1.2rem}
.box-feature .steps li{color:rgba(238,231,221,.82)}.box-feature .steps b{color:var(--gold)}.box-feature .steps{border-color:var(--line-dark)}
.box-feature .service-offer{color:rgba(238,231,221,.9);border-color:var(--gold)}.box-feature .service-inquiry{color:var(--taupe)}
.room-feature{background:var(--paper);color:var(--black);color-scheme:light;padding-block:clamp(64px,8vw,120px)}
.room-feature .eyebrow{color:var(--gold-deep)}.room-feature h2 em{color:var(--gold-ink)}
.room-feature h2{font-size:clamp(2.2rem,3.8vw,3.6rem);margin-bottom:1.2rem}
.room-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,80px);align-items:center}
.room-feature .service-media small{display:block;margin-top:.6rem;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.lead-dark{color:#3e372f;font-size:1.05rem;max-width:32rem}
.room-offer{margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--line-light)}
.room-feature .service-offer{color:#2a251f;border-color:var(--gold-ink)}.room-feature .service-inquiry{color:#4b4339}
.room-feature .button.outline{border-color:var(--black)}
.room-feature .button.outline:hover{background:var(--black);color:var(--cream)}
.before-after{--ba:52%;aspect-ratio:4/3;position:relative;overflow:hidden;cursor:default;touch-action:pan-y;user-select:none}
.before-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--ba))}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--ba,52%);width:56px;margin-left:-28px;background:none;border:0;padding:0;cursor:ew-resize;touch-action:none;z-index:3}
.ba-handle::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--gold)}
.ba-handle i{position:absolute;top:50%;left:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;border:1px solid var(--gold);background:rgba(17,16,15,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ba-handle i::before,.ba-handle i::after{content:"";position:absolute;top:50%;width:6px;height:6px;border-top:1px solid var(--gold);border-left:1px solid var(--gold)}
.ba-handle i::before{left:13px;transform:translateY(-50%) rotate(-45deg)}.ba-handle i::after{right:13px;transform:translateY(-50%) rotate(135deg)}
.ba-handle:focus-visible i{outline:2px solid var(--gold);outline-offset:3px}
.calc-info{color:var(--cream);font-size:.86rem;border-left:1px solid var(--gold);padding-left:.7rem;margin:.4rem 0 1rem}
.planner-link{margin:.6rem 0}
.series-more{margin:1rem 0 0;color:rgba(238,231,221,.78);font-size:.9rem}
/* horizontal scrollers must never become vertical scroll containers (overflow-x:auto forces overflow-y:auto) */
.rail,.g-track,.g-thumbs,.fmt-tabs{touch-action:pan-x pan-y;overflow-y:hidden;overscroll-behavior-y:auto}
@media (max-width:760px){.rail{overflow-y:hidden}}
.planner{padding-bottom:4rem}








.pv-photo canvas{position:absolute;inset:0;width:100%;height:100%}
.pv-label{position:absolute;right:10px;bottom:8px;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(17,16,15,.75);background:rgba(238,231,221,.86);padding:.3rem .55rem;border-radius:2px;z-index:2}



.pv-photo{position:relative;aspect-ratio:4/3;background:var(--night-2);overflow:hidden;touch-action:pan-y}
.pv-photo-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;gap:1rem;color:rgba(238,231,221,.8)}
.pv-photo-empty label{cursor:pointer}
.pv-photo-gl{clip-path:inset(0 calc(100% - var(--ba,100%)) 0 0)}
.pv-handles{position:absolute;inset:0;pointer-events:none}
.pv-handle{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:2px solid var(--gold);background:rgba(17,16,15,.55);color:var(--cream);font:600 .8rem/1 var(--sans);pointer-events:auto;touch-action:none;cursor:grab;display:flex;align-items:center;justify-content:center;padding:0}
.pv-handle:focus-visible{outline:2px solid var(--cream);outline-offset:2px}
.pv-quad{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.pv-quad polygon{fill:rgba(210,184,145,.06);stroke:#d2b891;stroke-width:1.5;stroke-dasharray:6 5}
.pv-help{font-size:.84rem;color:var(--taupe);margin-top:.7rem}



















#pl-total{min-width:0;overflow-wrap:anywhere}
.pl-avail{margin:0;font-size:.86rem;color:var(--cream);border-left:1px solid var(--gold);padding-left:.7rem}
.planner-privacy{margin-top:2rem;font-size:.84rem;color:var(--taupe);max-width:60rem}
@media (max-width:1024px){
  .fmt-body,.box-copy,.room-grid,.direct{grid-template-columns:1fr}

  .fmt-scene{--sh:300px}
}
@media (max-width:760px){
  .hero{min-height:auto;padding-bottom:28px}
  .hero-media{inset:0 0 auto;height:64vw}
  .hero-copy{padding-top:calc(64vw - 56px)}
  .hero-copy .eyebrow{font-size:.62rem;margin-bottom:.6rem}
  .hero-copy h1{font-size:clamp(2.2rem,10vw,3rem);margin-bottom:.8rem}
  .hero-sub{font-size:1rem;margin-bottom:1.1rem}
  .hero .button-row{gap:.6rem;flex-wrap:nowrap}
  .hero .button-row .button{flex:1 1 0;padding:0 .8rem;min-height:50px;font-size:.74rem;letter-spacing:.1em}
  .trust-bullets{margin-top:1.1rem;display:grid;grid-template-columns:1fr 1fr;gap:.45rem .8rem}
  .trust-bullets li{font-size:.76rem}
  .hero-caption{margin-top:1rem}
  .film-frame{aspect-ratio:4/5}
  .fmt-scene{--sh:250px;gap:calc(var(--u) * 14)}
  .fmt-tab{font-size:1.05rem;padding:.5rem .8rem}




}
@media (max-width:360px){.hero .button-row{flex-wrap:wrap}.trust-bullets{grid-template-columns:1fr}}
/* hero scrims live inside the media layer (the hero pseudo-elements sit below it in paint order) */
.hero-media::before{content:'';position:absolute;inset:0 0 auto;height:min(240px,42%);background:linear-gradient(180deg,rgba(17,16,15,.74),rgba(17,16,15,.32) 55%,rgba(17,16,15,0));z-index:1;pointer-events:none}
@media (max-width:760px){.hero-media::after{content:'';position:absolute;inset:auto 0 -1px;height:42%;background:linear-gradient(0deg,var(--black) 4%,rgba(17,16,15,.55) 52%,rgba(17,16,15,0));z-index:1;pointer-events:none}}
@media (min-width:761px){.hero-media::after{content:'';position:absolute;inset:auto 0 -1px;height:9%;background:linear-gradient(0deg,var(--black),rgba(17,16,15,0));z-index:1;pointer-events:none}}

/* ===== Muster: free viewing + Musterpaket (Owner + Iris 2026-10-16) ===== */
.box-feature .button.outline{border-color:rgba(210,184,145,.6);color:var(--cream)}
.box-feature .button.outline:hover{background:rgba(210,184,145,.12);color:var(--cream)}
.box-feature .lead-dark{color:rgba(238,231,221,.78);max-width:34rem;margin-top:.4rem}
.muster-head h2{font-size:clamp(2.2rem,3.8vw,3.6rem);margin:.2rem 0 .6rem}
.sample-row{list-style:none;margin:clamp(28px,4vw,52px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2.4vw,36px)}
.sample-piece{display:flex;flex-direction:column;gap:.9rem}
.sample-face{display:block;aspect-ratio:2/3;overflow:hidden;border-radius:3px;background:var(--night-2);box-shadow:0 1px 0 rgba(255,255,255,.07) inset,0 22px 40px -18px rgba(0,0,0,.8),0 4px 10px rgba(0,0,0,.35);transition:transform .7s var(--ease),box-shadow .7s var(--ease)}
.sample-face img{width:100%;height:100%;object-fit:cover;display:block}
.sample-piece:nth-child(odd) .sample-face{transform:translateY(10px)}
.sample-piece:hover .sample-face{transform:translateY(-6px);box-shadow:0 1px 0 rgba(255,255,255,.07) inset,0 34px 50px -20px rgba(0,0,0,.85),0 6px 14px rgba(0,0,0,.4)}
.sample-label{display:flex;flex-direction:column;gap:.15rem;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--taupe);border-top:1px solid var(--line-dark);padding-top:.6rem}
.sample-label b{font:400 1.15rem/1.1 var(--serif);letter-spacing:.02em;text-transform:none;color:var(--cream)}
.sample-cap{margin-top:1.4rem}
.muster-options{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,32px);margin:clamp(36px,5vw,64px) 0 clamp(40px,6vw,80px)}
.muster-card{border:1px solid rgba(210,184,145,.26);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0));padding:clamp(22px,3vw,40px);display:flex;flex-direction:column;gap:1rem}
.muster-card h3{font:400 clamp(1.8rem,2.6vw,2.5rem)/1.05 var(--serif);margin:0}
.muster-card h3 em{color:var(--gold);font-size:.62em}
.muster-card .steps{margin:.2rem 0 0}
.muster-person{font-size:.86rem;color:rgba(238,231,221,.8);margin:0}
.muster-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:auto;padding-top:.4rem}
.muster-actions .button{min-height:48px;padding:0 1.2rem;font-size:.76rem}
.muster-actions svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.dock-actions .dock-cta2{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cream);min-height:44px;display:inline-flex;align-items:center;padding:0 .6rem}
@media (max-width:1024px){.muster-options{grid-template-columns:1fr}}
@media (max-width:560px){
  .sample-row{grid-template-columns:repeat(2,1fr);gap:18px 14px}
  .sample-piece:nth-child(odd) .sample-face{transform:none}
  .muster-actions .button{flex:1 1 calc(50% - .4rem)}
  .muster-actions .button.primary{flex-basis:100%}
}

/* ===== Price addendum 1 (Owner 2026-10-16): positioning, quantity tiers, add-ons ===== */
.hero-pos{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:-1rem 0 1.6rem;max-width:40rem;line-height:1.5}
.position-line{font-size:.78rem;line-height:1.5;color:var(--gold-ink);margin:.7rem 0 0}
.series-more.position-line{color:var(--gold);letter-spacing:.06em}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);margin:1rem 0 0;border:1px solid var(--line-light)}
.tiers>div{padding:.65rem .75rem;display:flex;flex-direction:column;gap:.2rem;transition:background .35s var(--ease),color .35s var(--ease)}
.tiers>div+div{border-left:1px solid var(--line-light)}
.tiers dt{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:#6d6050}
.tiers dd{margin:0;font:400 1.15rem/1.1 var(--serif);color:var(--black)}
.tiers>div.is-active{background:var(--black);color:var(--cream)}
.tiers>div.is-active dt{color:var(--gold)}.tiers>div.is-active dd{color:var(--cream)}
.calc-tier{margin:.9rem 0 0;font-size:.86rem;color:inherit}
.calc-tier b{font-weight:500}
.calc-next{margin:.2rem 0 0;font-size:.8rem;color:var(--gold-ink)}
.addon-block{margin:1.2rem 0;padding:1rem 1.1rem;border:1px solid var(--line-light);display:flex;flex-direction:column;gap:.4rem}
.addon-block p{margin:0}.addon-block .eyebrow{margin:0}
.field-check{display:flex;gap:.7rem;align-items:flex-start;font-size:.9rem;line-height:1.45;cursor:pointer;min-height:44px;padding:.55rem 0}
.field-check input{width:20px;height:20px;margin:.1rem 0 0;accent-color:var(--gold);flex:none}
.tier-table{width:100%;border-collapse:collapse;margin:1rem 0 1.2rem;font-size:.92rem}
.tier-table th,.tier-table td{padding:.6rem .7rem;border-bottom:1px solid var(--line-light);text-align:left}
.tier-table thead th{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#6d6050;font-weight:500}
.table-wrap{overflow-x:auto;overflow-y:hidden;touch-action:pan-x pan-y}
@media (max-width:760px){.hero-pos{font-size:.68rem;margin:-.6rem 0 1rem}}
/* product pages are dark */
.product-info .tiers{border-color:var(--line-dark)}
.product-info .tiers>div+div{border-left-color:var(--line-dark)}
.product-info .tiers dt{color:var(--taupe)}.product-info .tiers dd{color:var(--cream)}
.product-info .tiers>div.is-active{background:var(--gold)}.product-info .tiers>div.is-active dt,.product-info .tiers>div.is-active dd{color:var(--black)}
.product-info .position-line,.product-info .calc-next{color:var(--gold)}
.product-info .addon-block{border-color:var(--line-dark)}

/* ===== V5.2 hero: visual first (Owner 2026-10-16 "striking rather than explanatory") ===== */
.hero.hero-v52{min-height:100svh;padding:0 0 clamp(40px,7vh,88px);justify-content:flex-end}
.hero-v52 .hero-media{inset:0;height:auto;z-index:-1}
.hero-v52 .hero-media img,.hero-v52 .hero-media video{object-position:60% 45%}
.hero-v52::before,.hero-v52::after{display:none}
.hero-v52 .hero-media::after{content:'';position:absolute;inset:auto 0 -1px;height:52%;background:linear-gradient(0deg,rgba(17,16,15,.9) 0%,rgba(17,16,15,.55) 45%,rgba(17,16,15,0) 100%);z-index:1;pointer-events:none}
.hero-v52 .hero-copy{padding-top:0;position:relative;z-index:2}
.hero-v52 .hero-copy .eyebrow{font-size:.7rem;letter-spacing:.28em;margin-bottom:1rem;color:var(--gold)}
.hero-v52 .hero-copy h1{font-size:clamp(2.4rem,4.4vw,4.6rem);line-height:1.02;max-width:14ch;margin:0 0 1rem}
.hero-v52 .hero-copy h1 .line{display:block}
.hero-price{font:400 clamp(1.15rem,1.6vw,1.45rem)/1.2 var(--sans);letter-spacing:.02em;color:var(--cream);margin:0 0 1.6rem}
.hero-price small{font-size:.62em;letter-spacing:.12em;text-transform:uppercase;color:rgba(238,231,221,.62);margin-left:.4rem}
.hero-credit{position:absolute;right:clamp(14px,2vw,28px);bottom:clamp(14px,2.4vh,26px);margin:0;z-index:2;max-width:22rem;text-align:right;font-size:.58rem;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;color:rgba(238,231,221,.5)}
.hero-v52 .scroll-cue{display:flex;bottom:6px}
/* facts strip below the hero */
.facts-strip{padding-block:clamp(44px,7vw,96px);border-bottom:1px solid var(--line-dark)}
.facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,3vw,48px)}
.facts li{display:flex;flex-direction:column;align-items:flex-start;gap:.9rem;font:400 clamp(1.15rem,1.6vw,1.5rem)/1.15 var(--serif);color:var(--cream)}
.facts svg{width:26px;height:26px;fill:none;stroke:var(--gold);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.facts-foot{display:flex;justify-content:space-between;align-items:center;gap:1.4rem 2.4rem;flex-wrap:wrap;margin-top:clamp(28px,4vw,56px);padding-top:clamp(20px,2.6vw,32px);border-top:1px solid var(--line-dark)}
.facts-foot p{margin:0;font-size:.86rem;line-height:1.6;color:rgba(238,231,221,.78);max-width:40rem}
.facts-foot p span{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--taupe)}
@media (max-width:1024px){
  .hero.hero-v52{min-height:calc(100svh - 66px - env(safe-area-inset-bottom));padding-bottom:32px}
}
@media (max-width:760px){
  .hero.hero-v52{min-height:calc(100svh - 66px - env(safe-area-inset-bottom))}
  .hero-v52 .hero-media{inset:0;height:auto}
  .hero-v52 .hero-media img,.hero-v52 .hero-media video{object-position:50% 40%}
  .hero-v52 .hero-media::after{height:58%}
  .hero-v52 .hero-copy .eyebrow{font-size:.62rem;margin-bottom:.7rem}
  .hero-v52 .hero-copy h1{font-size:clamp(2rem,8.6vw,2.6rem);margin-bottom:.7rem}
  .hero-price{margin-bottom:1.2rem}
  .hero-v52 .button-row .button{flex:0 1 auto;padding:0 1.4rem}
  .hero-credit{right:6px;bottom:auto;top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;max-width:none;font-size:.5rem;letter-spacing:.14em;color:rgba(238,231,221,.42)}
  .hero-v52 .scroll-cue{display:none}
  .facts{grid-template-columns:1fr 1fr;gap:28px 18px}
  .facts li{font-size:1.1rem;gap:.6rem}
  .facts-foot{flex-direction:column;align-items:flex-start}
  .facts-foot .button{width:100%}
}
@media (max-width:760px){.hero-v52 .hero-copy h1{font-size:min(7.3vw,2.5rem);max-width:none}.hero-v52 .hero-copy h1 .line{white-space:nowrap}}
.hero-v52 .hero-copy h1{max-width:none}.hero-v52 .hero-copy h1 .line{white-space:nowrap}

.muster-note{margin:-1.2rem 0 clamp(36px,5vw,64px);font-size:.8rem;color:var(--taupe)}
.contact-lead{font-size:1.1rem;color:var(--cream)}
.contact-terms{max-width:34rem;color:var(--taupe)}
.form-service-offers[hidden]{display:none}

/* ===== V5.4 · lower sections at hero level (Owner 2026-10-16: "the rest still needs optimising") =====
   One rhythm for everything below the fold: generous section padding, eyebrow → serif headline → one short line,
   open columns with a single top hairline instead of bordered boxes, no vertical gold rules, full terms as fine print. */
:root{--sec:clamp(96px,11vw,176px);--sec-s:clamp(64px,7.5vw,112px);--fine:.8rem}
/* fine print instead of ruled text walls (the full offer and legal text stays on the page) */
.service-offer{border-left:0;padding-left:0}
.hero-caption span{border-left:0;padding-left:0}
.calc-info,.pl-avail,.warning{border-left:0;padding-left:1.1rem;position:relative}
.calc-info::before,.pl-avail::before,.warning::before{content:'';position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.8}
.pl-avail::before,.calc-info::before{background:var(--gold)}

/* --- Muster (dark) --- */
.box-feature{padding-block:var(--sec) var(--sec-s)}
.muster-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.4rem 4rem;flex-wrap:wrap}
.muster-head h2{font-size:var(--h2);line-height:1;margin:0;max-width:13ch}
.muster-lede{margin:0;max-width:23rem;font-size:1.02rem;line-height:1.65;color:rgba(238,231,221,.72)}
.sample-row{margin-top:clamp(48px,6.5vw,104px);gap:clamp(16px,2.6vw,40px)}
.sample-face{border-radius:2px}
.sample-label{border-top:0;padding-top:.2rem;gap:.25rem}
.sample-label b{font-size:clamp(1.15rem,1.5vw,1.45rem)}
.sample-cap{margin-top:clamp(24px,3vw,40px)}
.muster-options{grid-template-columns:1fr 1fr;gap:clamp(48px,7vw,128px);margin:clamp(72px,9vw,144px) 0 0}
.muster-card{border:0;background:none;padding:clamp(28px,3vw,40px) 0 0;border-top:1px solid var(--line-dark);gap:0}
.muster-card .eyebrow{margin:0 0 1.5rem}
.muster-card h3{font-size:clamp(2.5rem,4vw,3.8rem);line-height:1;margin:0 0 1.1rem;letter-spacing:-.015em}
.muster-card h3 em{font-size:1em;color:var(--gold)}
.muster-person{margin:0 0 2rem;font-size:1rem;line-height:1.6;color:rgba(238,231,221,.74);max-width:28rem}
.muster-card .steps{display:flex;flex-wrap:wrap;gap:.8rem 2rem;border:0;padding:0;margin:0 0 2rem}
.muster-card .steps li{font-size:.82rem;letter-spacing:.02em;color:rgba(238,231,221,.74);display:flex;align-items:baseline;gap:.55rem}
.muster-card .steps b{display:inline;font:400 1.15rem/1 var(--serif);color:var(--gold)}
.muster-actions{margin:0;padding:0;gap:.6rem 1.8rem;align-items:center}
.muster-actions .button{min-height:52px;padding:0 1.6rem;font-size:.78rem}
.icon-link{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;font-size:.92rem;letter-spacing:.02em;text-decoration:none;color:var(--cream);border-bottom:1px solid var(--line-dark);transition:color .3s,border-color .3s}
.icon-link:hover{color:var(--gold);border-color:var(--gold)}
.icon-link svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.box-feature .muster-card .service-offer{margin:2.2rem 0 0;font-size:var(--fine);line-height:1.65;color:var(--taupe);max-width:34rem}
.muster-note{margin:clamp(40px,5vw,64px) 0 0;font-size:var(--fine);color:var(--taupe);max-width:40rem}
.box-feature .film-frame{margin-top:clamp(72px,9vw,144px)}
.box-feature .film-frame+.media-note{text-align:center;margin-top:1rem}
/* the film element always has the aspect of the video it plays (same media query as app.js) */
.film-frame{aspect-ratio:16/9}
@media (max-aspect-ratio:9/10){.film-frame{aspect-ratio:4/5}}
.film-frame video{object-fit:cover}

/* --- Raum (paper) --- */
.room-feature{padding-block:var(--sec)}
.room-grid{grid-template-columns:1.32fr .68fr;gap:clamp(40px,6.5vw,112px);align-items:end}
.room-feature h2{font-size:var(--h2);line-height:1;margin:0 0 1.4rem}
.room-feature .lead-dark{font-size:1.02rem;line-height:1.65;max-width:24rem;margin-bottom:2.2rem;color:#4b4339}
.room-feature .service-media small{margin-top:1rem}
.room-offer{margin-top:clamp(48px,6vw,80px);padding-top:clamp(24px,2.6vw,32px);border-top:1px solid var(--line-light)}
.room-offer .eyebrow{margin-bottom:1rem}
.room-offer h3{font-size:clamp(1.7rem,2.4vw,2.2rem);margin:0 0 1rem}
.room-offer h3 em{color:var(--gold-ink)}
.room-feature .service-offer{font-size:var(--fine);line-height:1.65;color:#4b4339;margin-bottom:.4rem}
.room-feature .service-inquiry{font-size:.76rem;color:var(--muted);margin-bottom:1rem}
.room-feature .text-link{border-color:rgba(17,16,15,.4)}

/* --- add-ons, tax note, direct line --- */
.addons{padding-block:var(--sec-s);border-top:1px solid var(--line-dark)}
.addons>p.eyebrow{margin-bottom:clamp(28px,3.4vw,44px)}
.addons>div{grid-template-columns:repeat(4,1fr);gap:2.4rem clamp(24px,3vw,56px)}
.addons span{display:flex;flex-direction:column;gap:.55rem;padding-top:1.2rem;border-top:1px solid var(--line-dark);font-size:clamp(1.35rem,1.9vw,1.85rem);color:var(--cream)}
.addons small{margin:0;font-size:.8rem;line-height:1.55;max-width:16rem}
.tax-note{padding-bottom:0;margin:0 auto 0;font-size:var(--fine)}
.direct{padding-block:var(--sec);grid-template-columns:1.15fr .85fr;align-items:center;border-top:1px solid var(--line-dark);margin-top:clamp(40px,5vw,72px)}
.direct h2{font-size:var(--h2);line-height:1;margin:0 0 1.4rem}
.direct p{font-size:1.02rem;line-height:1.65;max-width:26rem;color:rgba(238,231,221,.74)}
.person-big .person-name{margin-bottom:.9rem}
.person-big .person-links{flex-direction:column;align-items:flex-start;gap:.3rem}
.person-big .person-links a[href^="tel:"]{font:400 clamp(1.7rem,2.6vw,2.4rem)/1.2 var(--serif);letter-spacing:.01em;border-bottom-color:var(--line-dark)}
.person-big .person-links a[href^="tel:"] svg{width:22px;height:22px}

/* --- contact: the form sits on the section, not in a box --- */
.contact-section{padding-block:var(--sec)}
.contact-grid{gap:clamp(48px,7vw,128px)}
.contact-intro h2{font-size:var(--h2);line-height:1;margin-bottom:1.4rem}
.contact-lead{font-size:1.05rem;line-height:1.6;color:rgba(238,231,221,.82)}
.person-contact{margin:2.2rem 0 .4rem}
.contact-direct{margin:0}
.contact-direct a{font-size:clamp(1.25rem,1.6vw,1.45rem)}
.contact-terms{margin-top:2.4rem;font-size:.76rem;line-height:1.65;max-width:30rem}
.inquiry-form{background:none;border:0;padding:0}
.form-service-offers{border:0;background:rgba(210,184,145,.06);padding:1.2rem 1.3rem;margin-bottom:2rem}
.form-service-offers h3{font-size:1.25rem}
.form-service-offers .service-offer{font-size:.84rem}
.contact-fields{gap:1.2rem 2rem}
.field.is-static input{font-size:.86rem}
.inquiry-form .field-note,.inquiry-form .privacy-note{font-size:.76rem;line-height:1.6}
.inquiry-form .submit{margin-top:1.4rem;min-width:min(100%,280px)}
.form-success{background:var(--black)}

/* --- footer --- */
.site-footer{padding:var(--sec-s) 0 calc(1.6rem + env(safe-area-inset-bottom))}
.footer-grid{gap:2.4rem clamp(24px,4vw,64px)}
.footer-grid .eyebrow{font-size:.66rem;letter-spacing:.24em;margin-bottom:.6rem}
.footer-grid>div:first-child>p{margin:.9rem 0 0;font:italic 400 1.15rem/1.3 var(--serif);color:rgba(238,231,221,.72)}
.footer-note{margin-top:clamp(40px,5vw,72px);font-size:.74rem;line-height:1.6}

/* --- product page below the price: quiet rows instead of stacked boxes and outline buttons --- */
.product-info .calculator{border:0;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);background:none;padding:1.6rem 0 1.8rem;margin:1.6rem 0 0}
.product-info .calc-title h2{font-size:clamp(1.9rem,2.4vw,2.3rem)}
.product-info .pa-row{display:flex;width:100%;justify-content:space-between;align-items:center;min-height:58px;margin:0;padding:0;border:0;border-bottom:1px solid var(--line-dark);background:none;color:var(--cream);font:500 .78rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transform:none}
.product-info .pa-row:hover{background:none;color:var(--gold)}
.product-info .pa-row::after{display:none}
.product-info .sample-note{font-size:.76rem;line-height:1.6;margin:1rem 0 0}
.product-info .sample-note+.sample-note{margin-top:.4rem}
.product-info .sample-status{margin:.6rem 0 0}
.product-info .addon-block{border:0;padding:0;margin:1.8rem 0 0;gap:.5rem}
.product-info .addon-block p:not(.eyebrow){font:400 1.2rem/1.35 var(--serif);color:var(--cream)}
.product-info .addon-block .text-button{align-self:flex-start}
.person-product{margin-top:2rem}
.product-lower{padding-block:var(--sec-s);gap:clamp(40px,6vw,104px)}
.product-room-entry{background:none;color:var(--cream);padding:clamp(24px,2.6vw,32px) 0 0;border-top:1px solid var(--line-dark)}
.product-room-entry .eyebrow{color:var(--gold)}
.product-room-entry h3{font-size:clamp(2rem,3vw,2.8rem);margin-bottom:1.2rem}
.product-room-entry .service-offer{font-size:var(--fine);line-height:1.65;color:var(--taupe);margin-bottom:.4rem}
.product-room-entry .service-inquiry{font-size:.76rem;color:var(--taupe)}
.product-room-entry .text-button{border-color:rgba(210,184,145,.5)}
.specs .small-note{font-size:.76rem}
.product-faq{padding-block:var(--sec-s)}
.product-faq h2{font-size:clamp(2.2rem,3.8vw,3.6rem);line-height:1}
.product-faq details{padding:1.15rem 0}
.product-faq details p{font-size:.95rem;line-height:1.7;max-width:40rem}
.more-colours{padding-block:var(--sec-s) var(--sec-s)}

/* --- collection pages --- */
.series-more{font-size:.86rem}
.collection-page-note,.page-hero+.shell .small-note{font-size:var(--fine)}

/* --- Raumplaner: grouped by hairlines instead of framed boxes --- */







.planner-privacy{font-size:var(--fine);margin-top:clamp(40px,5vw,64px)}

/* --- legal + Gewerbe: tables that fit a phone --- */
.legal-body table{min-width:0}
.legal-body .table-wrap{border:0;border-top:1px solid var(--line-light)}
.legal-body td{white-space:nowrap;font-variant-numeric:tabular-nums lining-nums}
.legal-body th,.legal-body td{padding:.85rem .9rem .85rem 0}
.legal-body thead th{font-size:.64rem}
.legal-body h2{margin-top:clamp(40px,5vw,64px)}
.direct-legal{margin-top:clamp(48px,6vw,80px)}

@media (max-width:1024px){
  .muster-options{grid-template-columns:1fr;gap:clamp(56px,8vw,80px)}
  .room-grid,.direct{grid-template-columns:1fr}
  .room-offer{margin-top:2.6rem}
  .addons>div{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  :root{--sec:88px;--sec-s:64px}
  .muster-head h2,.room-feature h2,.direct h2,.contact-intro h2{font-size:clamp(2.3rem,10.2vw,2.9rem)}
  .muster-lede{font-size:.98rem}
  .sample-row{grid-template-columns:repeat(2,1fr);gap:28px 14px}
  .muster-card h3{font-size:clamp(2.3rem,10vw,2.8rem)}
  .muster-actions{gap:.4rem 1.4rem}
  .muster-actions .button.primary{flex:1 1 100%;margin-bottom:.4rem}
  .muster-actions .icon-link{flex:0 0 auto}
  .box-feature .film-frame{margin-inline:calc(-1*var(--gutter))}
  .room-feature .service-media{margin-inline:calc(-1*var(--gutter))}
  .room-feature .service-media small{padding-inline:var(--gutter)}
  .room-feature .before-after{aspect-ratio:1/1}
  .addons>div{gap:1.8rem 1.1rem}
  .addons span{font-size:1.3rem}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2.6rem 1.2rem}
  .footer-grid>div:nth-child(1){grid-column:1/-1;order:0}
  .footer-grid>div:nth-child(2){order:1}
  .footer-grid>div:nth-child(4){order:2}
  .footer-grid>div:nth-child(3){grid-column:1/-1;order:3}
  .contact-fields{gap:.6rem}
  .inquiry-form .submit{width:100%}
  .product-faq h2{font-size:clamp(2rem,9vw,2.6rem)}
  .legal-body th,.legal-body td{padding:.75rem .7rem .75rem 0;font-size:.86rem}
  .legal-body tbody th{white-space:normal;min-width:7.5rem}
}
/* headline rhythm: second line always on its own line, like the hero */
.muster-head h2,.room-feature h2,.direct h2{max-width:none}
.muster-head h2 em,.direct h2 em{display:block}
@media (max-width:760px){.room-feature .before-after{aspect-ratio:4/3}}
/* a hidden control stays hidden even where labels are grids */

/* motion: samples and add-ons arrive one after another (only with JS + motion allowed) */
.motion .sample-row[data-reveal]{opacity:1;transform:none}
.motion .sample-row[data-reveal] .sample-piece,.motion .addons[data-reveal] span{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1.2s var(--ease)}
.motion .sample-row.in .sample-piece,.motion .addons.in span{opacity:1;transform:none}
.motion .sample-row.in .sample-piece:nth-child(2),.motion .addons.in span:nth-child(2){transition-delay:.09s}
.motion .sample-row.in .sample-piece:nth-child(3),.motion .addons.in span:nth-child(3){transition-delay:.18s}
.motion .sample-row.in .sample-piece:nth-child(4),.motion .addons.in span:nth-child(4){transition-delay:.27s}

/* ===== V5.5 · variant selector (Owner 2026-10-17: "you get lost among 50 products") =====
   One visual language for colour and format everywhere: round tone/surface swatches + a segmented format control
   (gold = selected, like the active quantity tier). Product pages, collection pages and the two index filters. */
.vp-group{min-width:0}
.vp-label{display:flex;align-items:baseline;gap:.55rem;flex-wrap:wrap;margin:0 0 .75rem;font:500 .68rem/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--taupe)}
.vp-label b{font:400 1.12rem/1.1 var(--serif);letter-spacing:0;text-transform:none;color:var(--cream)}
.vp-label small{margin-left:auto;font-size:.72rem;letter-spacing:.04em;text-transform:none;color:var(--taupe)}
.swatches{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:.7rem 6px}
.swatches li{display:flex;justify-content:center;min-width:0}
.swatch{display:flex;flex-direction:column;align-items:center;gap:.4rem;min-width:44px;min-height:44px;padding:0;border:0;background:none;color:var(--taupe);font:500 .62rem/1.2 var(--sans);letter-spacing:.04em;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.sw-dot{position:relative;display:block;width:44px;height:44px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 32% 28%,var(--tone-light,#ded7cf),var(--tone,#b9ab9e) 58%,var(--tone-shade,#6d6050));box-shadow:0 0 0 1px rgba(238,231,221,.14);transition:box-shadow .35s var(--ease),transform .35s var(--ease)}
.sw-dot img{width:100%;height:100%;object-fit:cover}
.sw-dot::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 1px 2px rgba(255,255,255,.18),inset 0 -2px 4px rgba(0,0,0,.18);pointer-events:none}
.sw-name{max-width:100%;white-space:nowrap;text-align:center;transition:color .3s}
.swatch:hover .sw-dot{box-shadow:0 0 0 1px rgba(210,184,145,.7)}
.swatch:hover .sw-name{color:var(--cream)}
.swatch.is-current .sw-dot,.swatch[aria-pressed=true] .sw-dot{box-shadow:0 0 0 2px var(--night),0 0 0 3.5px var(--gold)}
.swatch.is-current .sw-name,.swatch[aria-pressed=true] .sw-name{color:var(--cream)}
.swatch[aria-disabled=true]{cursor:not-allowed}
.swatch[aria-disabled=true] .sw-dot{opacity:.32;filter:saturate(.4)}
.swatch[aria-disabled=true] .sw-name{color:rgba(185,171,158,.45)}
.swatch:focus-visible{outline:none}
.swatch:focus-visible .sw-dot{box-shadow:0 0 0 2px var(--night),0 0 0 4px var(--cream)}
.seg{display:grid;grid-template-columns:repeat(var(--n,2),minmax(0,1fr));gap:1px;padding:1px}
.seg-1{--n:1}.seg-2{--n:2}.seg-3{--n:3}.seg-4{--n:4}.seg-5{--n:5}
.seg-opt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.28rem;min-height:58px;min-width:0;padding:.55rem .5rem;border:0;border-radius:0;background:var(--night);box-shadow:0 0 0 1px var(--line-dark);color:var(--cream);font:inherit;text-align:center;text-decoration:none;cursor:pointer;transition:background .35s var(--ease),color .35s var(--ease)}
.seg-main{font:400 1.22rem/1 var(--serif);font-variant-numeric:lining-nums;white-space:nowrap}
.seg-opt small{font-size:.7rem;line-height:1.2;color:var(--taupe);letter-spacing:.02em}
a.seg-opt:not(.is-current):hover,button.seg-opt:not([aria-pressed=true]):not([aria-disabled=true]):not(.active):hover{background:rgba(210,184,145,.09)}
.seg-opt.is-current,.seg-opt.active,.seg-opt[aria-pressed=true]{background:var(--gold);color:var(--black)}
.seg-opt.is-current small,.seg-opt.active small,.seg-opt[aria-pressed=true] small{color:rgba(17,16,15,.72)}
.seg-opt.is-off,.seg-opt[aria-disabled=true]{cursor:not-allowed;color:rgba(238,231,221,.34);background:repeating-linear-gradient(135deg,var(--night) 0 7px,rgba(210,184,145,.05) 7px 8px)}
.seg-opt.is-off small,.seg-opt[aria-disabled=true] small{color:rgba(185,171,158,.62);font-style:italic}
.seg-opt:focus-visible{outline:2px solid var(--cream);outline-offset:-4px}
/* product page: directly under title, price and tax line */
.variant-picker{display:grid;gap:1.35rem;margin:1.5rem 0 .2rem;padding-top:1.35rem;border-top:1px solid var(--line-dark);view-transition-name:variant-picker}
.vp-note{margin:-.4rem 0 0;font-size:.72rem;color:var(--taupe)}
.product-info .variant-picker+.tiers{margin-top:1.4rem}
.product-gallery .g-track{view-transition-name:product-gallery}
#product-name{view-transition-name:product-name;width:fit-content}
.product-price{view-transition-name:product-price;width:fit-content}
::view-transition-old(product-gallery),::view-transition-new(product-gallery){animation-duration:.42s}
/* "Passt auch" instead of the long card list */
.pairs{padding-block:var(--sec-s);border-top:1px solid var(--line-dark)}
.pairs-head{display:flex;justify-content:space-between;align-items:baseline;gap:.4rem 1.5rem;flex-wrap:wrap;margin-bottom:1.2rem}
.pairs-head .eyebrow{margin:0}
.pairs-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(16px,2vw,32px)}
.pair{display:flex;align-items:center;gap:1rem;min-height:44px;padding:1rem 0;border-top:1px solid var(--line-dark);text-decoration:none;color:var(--cream)}
.pair-img{flex:0 0 auto;width:84px;height:84px;overflow:hidden;background:radial-gradient(circle at 32% 28%,var(--tone-light),var(--tone) 58%,var(--tone-shade))}
.pair-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.pair:hover .pair-img img{transform:scale(1.06)}
.pair-text{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.pair-text small{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.pair-text b{font:400 1.4rem/1.05 var(--serif)}
.pair-text span{font-size:.8rem;color:var(--taupe)}
.pair:hover b{color:var(--gold)}
/* collection pages: filter in the same language */
.vfilter{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.4rem clamp(24px,4vw,64px);align-items:start;margin:2rem 0 0;padding:1.5rem 0;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.vfilter[hidden]{display:none}
.vfilter .vf-count{grid-column:1/-1;display:flex;align-items:center;gap:1.2rem;margin:0;font-size:.86rem;color:var(--taupe)}
.vfilter .vf-count b{font-weight:500;color:var(--cream)}
.vfilter .vf-reset{min-height:44px;font-size:.84rem;background:none;border-width:0 0 1px;color:var(--cream);cursor:pointer}
.vfilter .vf-reset[hidden]{display:none}
.vfilter+.product-grid{margin-top:2rem}
.vfilter .vp-label small{margin-left:.6rem}
.vfilter .seg{max-width:520px}
.product-card[hidden]{display:none}
.seg-filter{display:block;margin-top:1.6rem;max-width:760px}
.seg-filter .seg-main{font-size:1.1rem}
.filters.stacked+.seg-filter{margin-top:1.2rem}
@media (max-width:1180px){.pairs-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1024px){
  /* the buy area (title, price, selector) comes right under a calmer 4:3 image; the gallery note moves below the selector */
  .product-layout{row-gap:0;grid-template-columns:minmax(0,1fr)}
  .product-gallery,.product-info,.product-sticky{display:contents}
  .product-layout .g-track{aspect-ratio:auto;min-height:0;height:calc((min(100vw,1024px) - 2*var(--gutter))*.75)}
  .product-layout .gallery-note{order:1;margin:1.2rem 0 0}
  .product-layout .variant-picker~*{order:2}
  .product-layout #product-series{margin:1.5rem 0 .3rem}
  .product-info h1{margin:0 0 .2rem}
  .product-layout .product-format{margin-bottom:.9rem}
  .vfilter{grid-template-columns:1fr}
}
@media (max-width:760px){
  main>.breadcrumbs{padding-top:72px;margin-bottom:.55rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .product-layout .g-thumb{width:62px;height:44px}
  .product-layout .g-thumb:not(:has(img)){width:auto;padding:0 .55rem}
  .product-layout .g-bar{margin-top:.5rem}
  /* title and price share one row; the selector follows directly under the tax line */
  .product-layout{grid-template-columns:minmax(0,1fr) auto;column-gap:1rem}
  .product-layout .g-track,.product-layout .g-bar,.product-layout .gallery-note,.product-sticky>*{grid-column:1/-1}
  .product-layout .g-track{height:calc((100vw - 2*var(--gutter))*.625)}
  .product-sticky>#product-name{grid-column:1;order:-7;align-self:end}
  .product-sticky>#product-price{grid-column:2;order:-6;align-self:end;justify-self:end;margin-bottom:.35rem;text-align:right}
  .product-layout .g-track{order:-10}.product-layout .g-bar{order:-9}.product-sticky>#product-series{order:-8}.product-sticky>#product-format{order:-5}.product-sticky>.tax-inline{order:-4}.product-sticky>.variant-picker{order:-3}
  .product-layout .gallery-note{order:-2}.product-layout .variant-picker~*{order:-1}
  .product-layout #product-series{margin:.95rem 0 .1rem}
  .swatches{gap:.55rem 6px}.swatch{gap:.3rem}
  .product-info h1{font-size:clamp(2.3rem,10.5vw,2.9rem)}
  .product-price{font-size:clamp(1.7rem,7.4vw,2.1rem);white-space:nowrap}
  .product-price small{display:block;font-size:.7rem;margin-top:.2rem}
  .product-layout .product-format{margin:.2rem 0 0}
  .product-layout .tax-inline{margin:.45rem 0 0;font-size:.78rem;line-height:1.5}
  .variant-picker{margin-top:.4rem;padding-top:.9rem;gap:.9rem}
  .vp-label{margin-bottom:.6rem}
  .seg-opt{min-height:54px}
  .pairs-list{grid-template-columns:1fr}
  .pair-img{width:72px;height:72px}
  .seg-filter .seg{grid-template-columns:repeat(auto-fit,minmax(84px,1fr))}
  .seg-filter .seg-5{grid-template-columns:repeat(5,minmax(0,1fr))}.seg-filter .seg-5 .seg-opt{padding:.45rem .15rem}.seg-filter .seg-5 .seg-main{font-size:.9rem}.seg-filter .seg-5 small{font-size:.62rem}
}
@media (max-width:370px){.seg-filter .seg-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.variant-picker,.product-gallery .g-track,#product-name,.product-price{view-transition-name:none}}

/* T1-091 combined FIX1: only the newly approved hero condition. */
.hero-v52 .hero-copy .hero-price{margin-bottom:.45rem}
.hero-v52 .hero-copy .hero-terms{margin:0 0 1.2rem;max-width:44rem;font:400 .8125rem/1.5 var(--sans);letter-spacing:0;color:var(--cream);text-transform:none;white-space:normal;overflow-wrap:break-word}
