/* The approved D composition. Home content, not a palette repaint.
   Nav/footer layout is retained in the template; white-shell owns their colour.
   Source photography and production runtime remain separate from presentation. */
@font-face{font-family:Archivo;src:url('/showroom/assets/fonts-95/archivo.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--paper:#fff;--ink:#292a28;--dim:#60615e;--faint:#70736b;--line:#e6e7e3;--pad:clamp(18px,3.4vw,54px);--f:Archivo,Arial,sans-serif;--ease:cubic-bezier(.16,1,.3,1);--quiet-top:72px;--quiet-vh:100svh}
@media(hover:none) and (pointer:coarse) and (prefers-reduced-motion:no-preference){:root{--quiet-vh:var(--home-touch-vh,100svh)}}
*{box-sizing:border-box}
html{scroll-padding-top:calc(var(--quiet-top) + 16px);-webkit-font-smoothing:antialiased}
body[data-white-calm="home"]{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f);font-weight:400}
body[data-white-calm="home"] :is(h1,h2,h3,h4,h5,p,figure,ul,dl,dd){margin:0}
body[data-white-calm="home"] a{color:inherit;text-decoration:none}
body[data-white-calm="home"] :is(h1,h2,h3){font-weight:400;letter-spacing:-.035em;line-height:1.14}
body[data-white-calm="home"] :is(img,video){display:block;width:100%;object-fit:cover}
body[data-white-calm="home"] button{font-family:var(--f);cursor:pointer}
body[data-white-calm="home"] :focus-visible{outline:1px solid #52594a;outline-offset:4px}
body[data-white-calm="home"] ::selection{background:#e7e8e3;color:#222}
/* A still plate followed by type on paper, never type over a darkened film. */
.hero{position:relative;display:flex;flex-direction:column;margin-top:var(--quiet-top);padding:24px var(--pad) 56px}
.hero img{height:clamp(310px,calc(var(--quiet-vh) * .62),720px);object-position:center 61%;background:#f4f4f1}
.hero-line{padding-top:30px;display:grid;grid-template-columns:1.15fr 1fr;align-items:start;gap:30px}
.hero h1{font-size:clamp(31px,4.6vw,67px);max-width:17ch;line-height:1.1}
.hero .hero-sub{margin:6px 0 0;max-width:35ch;font-size:14px;color:var(--dim);line-height:1.7}
.play-film{position:absolute;right:calc(var(--pad) + 12px);top:36px;z-index:45;min-width:88px;min-height:44px;border:0;background:#fff;color:var(--ink);font:11px var(--f);padding:0 14px;letter-spacing:.02em}
.play-film:hover{background:#fff}
/* Eight editorial chapters. Images keep their full native frame.
   Scope media geometry above shared image-framing.css's still-photo selectors;
   its legacy 3% bottom would put the frame behind the new mobile caption. */
.chapters{position:relative;background:#fff}
.stage{position:sticky;top:var(--quiet-top);height:calc(var(--quiet-vh) - var(--quiet-top));overflow:hidden;background:#fff}
.slide{position:absolute;inset:0;transform:translateY(103%);pointer-events:none;z-index:1;will-change:transform;background:#fff}
.slide.on{pointer-events:auto}
body[data-white-calm="home"] #chapters .slide .media{position:absolute;left:38%;right:var(--pad);top:22px;bottom:32px;overflow:hidden}
body[data-white-calm="home"] #chapters .slide .media :is(img,video){width:100%;height:100%;object-fit:contain;object-position:center;background:#fff}
.slide .play-film{right:12px;top:12px}
.quiet-caption{position:absolute;left:calc(var(--pad) + 80px);width:calc(38% - var(--pad) - 112px);top:50%;transform:translateY(-50%);z-index:22;display:block}
.quiet-caption h2{font-size:clamp(30px,4.2vw,62px);margin:18px 0 12px!important}
.quiet-caption p{font-size:14px;color:var(--dim);line-height:1.6;max-width:30ch}
.q-number{font-size:11px;color:var(--faint);letter-spacing:.07em}
.q-price{display:block;margin-top:28px;font-size:13px;color:var(--dim);line-height:1.5;font-variant-numeric:tabular-nums}
.quiet-image-link{position:absolute;left:38%;right:var(--pad);top:22px;bottom:32px;z-index:10}
.quiet-caption:hover{opacity:.8}
.slide:not(.on) .quiet-caption{visibility:hidden}
.rail{position:absolute;left:var(--pad);top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column}
.rail button{background:none;border:0;color:var(--faint);font-size:11px;letter-spacing:0;min-height:44px;min-width:44px;display:flex;align-items:center;padding:0;gap:6px;text-align:left;font-weight:400}
.rail button.on,.rail button:hover{color:var(--ink)}
.rail button.on{text-decoration:underline;text-underline-offset:5px}
.prog{position:absolute;left:0;bottom:0;height:1px;background:#6a6e62;z-index:40;width:12.5%}
.step{height:calc(var(--quiet-vh) - var(--quiet-top))}
.step:last-child{height:calc(var(--quiet-vh) * .18)}
/* Catalogue and documentary modules retain their authored sequence. */
.grid-sec,.know,.obj3d,.badges,.world,.bump,.trade{background:#fff;color:var(--ink);padding:clamp(65px,8vw,112px) var(--pad);border-top:1px solid var(--line)}
.grid-head,.know-head,.world-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:36px}
.grid-head h2,.know-head h2,.obj3d h2,.world-head h2{font-size:clamp(28px,3.2vw,47px)}
.grid-head .lab,.know-head .lab,.world-head .lab{letter-spacing:.055em;font-size:12px;color:var(--dim)}
.pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 22px}
.pcard{display:block;position:relative;min-width:0}
.pcard .pfig{aspect-ratio:1;overflow:hidden;background:#fff}
.pcard .pfig img{width:100%;height:100%;object-fit:contain}
.pcard .prow{display:flex;justify-content:space-between;align-items:baseline;gap:5px;flex-wrap:wrap;margin-top:12px}
.pcard .pn{font-size:16px;font-weight:400;letter-spacing:-.02em}
.pcard .pp{font-size:13px;font-weight:400;white-space:nowrap;font-variant-numeric:tabular-nums}
.pp .pf{font-size:.78em;font-style:normal;color:var(--faint);margin-right:.22em}
.pcard .pt{font-size:11px;line-height:1.5;color:var(--dim);margin-top:4px}
.pcard .pgo{display:inline-block;margin-top:10px;font-size:10px;letter-spacing:.06em;color:var(--dim)}
.pcard:hover .pn{text-decoration:underline;text-underline-offset:4px}
@media(min-width:700px){.pgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.showroom-entry{background:#fff;border-top:1px solid var(--line)}
.showroom-entry-link{display:flex;flex-direction:column}
.showroom-entry-heading{position:static;order:1;align-items:flex-start;padding:30px 0 0}
.showroom-entry-media::after{content:none}
.showroom-entry-title{font-size:clamp(28px,3.2vw,47px);font-weight:400}
.showroom-entry-description,.showroom-entry-format{color:var(--dim)}
.showroom-entry-pause{top:calc(clamp(20px,4vw,56px) + 12px);bottom:auto;min-width:44px;min-height:44px}
@media(max-width:700px){.showroom-entry-heading{padding:24px var(--pad) 0}}
/* Native disclosures: cards remain tangible controls rather than overlay ads. */
.trio3{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.kcard{position:relative;display:block;background:#fff;color:var(--ink);border:0;padding:0;text-align:left;width:100%;min-width:0}
.kcard img{aspect-ratio:4/3;height:auto;object-fit:cover}
.kc-txt{position:relative;display:block;padding:22px 0 12px}
.kc-k{display:block;font-size:11px;letter-spacing:.05em;color:var(--dim)}
.kc-n{display:block;font-size:24px;font-weight:400;margin-top:12px;letter-spacing:-.035em;line-height:1.2}
.kc-d{display:block;color:var(--dim);font-size:13.5px;margin-top:12px;line-height:1.65;max-width:35ch}
.kc-m{display:block;margin-top:12px;color:var(--dim);font-size:11px;letter-spacing:.04em}
.kcard[aria-expanded="true"] .kc-m{text-decoration:underline;text-underline-offset:5px}
.kpanel{display:none}
.kpanel.open{display:block}
.kpanel-in{padding:36px 0 8px;display:grid;gap:32px;grid-template-columns:minmax(0,1fr)}
.kpanel h3{font-size:28px;line-height:1.2}
.kpanel p{margin-top:14px!important;font-size:14px;line-height:1.65;color:var(--dim);max-width:48ch}
.kpanel .kfoot{margin-top:16px;font-size:11px;letter-spacing:.04em;color:var(--dim)}
.mchart,.cushion{background:#fff;border-top:1px solid var(--line);padding:24px 0 0}
.mchart svg,.cushion svg{display:block;width:100%;height:auto}
.clayer{transition:transform .65s ease}
.cl-note{color:var(--dim)}
@media(min-width:820px){.trio3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px){.kpanel-in{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}}
/* Production model: deliberately activated, with normal page scroll intact. */
.obj3d-in{display:grid;gap:40px;grid-template-columns:minmax(0,1fr);align-items:center;max-width:1500px}
.obj3d h2{max-width:16ch}
.obj3d p{margin-top:16px!important;font-size:14px;line-height:1.65;color:var(--dim);max-width:38ch}
.obj3d .kfoot3{font-size:11px;letter-spacing:.03em}
.mv-wrap{position:relative;aspect-ratio:4/3;min-height:280px;max-width:100%;overflow:hidden}
.mv-wrap model-viewer{width:100%;height:100%;pointer-events:none;touch-action:pan-y;background:#fff;--poster-color:#fff;--progress-bar-height:0}
.mv-wrap.active model-viewer{pointer-events:auto}
.model-gate{position:absolute;right:10px;bottom:10px;min-height:44px;border:1px solid #d8dad3;background:#fff;padding:0 18px;color:var(--ink);font-size:12px;z-index:5}
@media(min-width:900px){.obj3d-in{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
/* Two approved booklet workshop photographs; retired films stay absent. */
.workshop{background:#fff;padding:60px var(--pad) 88px;border-top:1px solid var(--line)}
.d-workshop{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:22px}
.d-workshop img{height:auto;object-fit:contain}
.d-workshop figcaption{font-size:11px;color:var(--dim);margin-top:12px;line-height:1.5}
/* Press, geography and the retained editorial closing. */
.brow{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}
.brow:first-child{border-top:1px solid var(--line)}
.blab,.bnote{font-size:11px;letter-spacing:.07em;color:var(--dim)}
.bset{display:flex;align-items:center;gap:clamp(26px,4vw,58px);flex-wrap:wrap}
.bset img{width:auto;object-fit:contain;filter:grayscale(1) opacity(.7)}
.bset .b-sit{height:clamp(30px,3.4vw,44px)}.bset .b-rd{height:clamp(34px,3.8vw,48px)}
.bset .b-dz{height:clamp(16px,1.9vw,24px)}.bset .b-yk{height:clamp(20px,2.3vw,30px)}
.bset .b-ch{height:clamp(18px,2.1vw,26px)}.bset .b-kv,.bset .b-dd{height:clamp(15px,1.8vw,22px)}
.bset .b-tx{font-size:clamp(14px,1.7vw,20px);font-weight:400;letter-spacing:-.02em;color:var(--dim)}
.bset .b-lb{letter-spacing:.22em}.bnote{margin-top:16px!important}
@media(min-width:860px){.brow{grid-template-columns:clamp(170px,18vw,240px) minmax(0,1fr)}}
.world-head h2{max-width:19ch}
.world-in{display:grid;gap:40px;grid-template-columns:minmax(0,1fr);align-items:center}
.world-stage{position:relative;aspect-ratio:1;width:100%;max-width:430px;margin:0 auto}
.world-stage canvas{position:absolute;inset:0;width:100%;height:100%}
.world-info{font-variant-numeric:tabular-nums}
.world-city{font-size:34px;font-weight:400;letter-spacing:-.035em}
.world-country{margin-top:8px;font-size:11px;letter-spacing:.08em;color:var(--dim)}
.world-coords{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 18px;margin-top:18px!important;font-size:12px}
.world-coords dt{color:var(--dim);letter-spacing:.05em;font-size:10px}.world-coords dd{color:var(--dim)}
.world-meta{margin-top:34px;display:flex;gap:34px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px}
.world-meta div{font-size:12px;color:var(--dim)}.world-meta b{display:block;font-weight:400;font-size:22px;margin-bottom:6px;color:var(--ink)}
.world-next{border:0;border-bottom:1px solid #9ca093;padding:10px 0;min-height:44px;background:none;color:var(--dim);font-size:12px;margin-top:20px}
@media(min-width:900px){.world-in{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}}
.bump-h{font-size:clamp(32px,5vw,74px);max-width:22ch;line-height:1.15}
.bump-h .a,.bump-h .b{display:block}.bump-h .b{color:#7a7e72}
.bump-sub{color:var(--dim);font-size:15px;line-height:1.7;margin-top:26px!important;max-width:46ch}
.bump-foot{border-top:1px solid var(--line);margin-top:38px;padding-top:24px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.bump-foot .kp,.bump-foot .kp b{color:var(--dim);letter-spacing:.05em;font-size:11px;font-weight:400}
/* Original inquiry and newsletter handlers, fields and consent are untouched. */
.trade-in{display:grid;gap:52px;grid-template-columns:minmax(0,1fr);align-items:start}
.trade-h{font-size:clamp(34px,4.5vw,64px);max-width:15ch;line-height:1.15}.trade-h em{font-style:normal;color:#72776b}
.trade-p{font-size:14px;line-height:1.7;color:var(--dim);margin-top:24px!important;max-width:46ch}
.trade-cta{display:inline-flex;align-items:center;margin-top:30px;background:none;color:var(--ink);padding:8px 0;border-bottom:1px solid #9fa295;font-size:12px;font-weight:400;letter-spacing:.04em;min-height:44px}
.trade-form{border:0;padding:0;background:#fff;min-width:0}
.trade-form h3{font-size:24px}.trade-form .sub{font-size:13px;color:var(--dim);margin:6px 0 24px!important;line-height:1.5}
.trade-form label{display:block;letter-spacing:.04em;color:var(--dim);font-size:12px;margin:18px 0 6px}
.trade-form input,.trade-form textarea,.trade-form select{width:100%;background:#fff;color:var(--ink);font:14px var(--f);border:0;border-bottom:1px solid #d2d5cc;padding:13px 0;border-radius:0;min-height:48px}
.trade-form textarea{min-height:96px;resize:vertical}
.trade-form .row{display:grid;gap:14px;grid-template-columns:minmax(0,1fr);align-items:end}
.trade-form button{margin-top:24px;width:100%;min-height:48px;background:#fff;color:var(--ink);border:1px solid #c9cdc2;padding:14px 18px;font-size:12px;letter-spacing:.04em}
.trade-form .ok{display:none;margin-top:18px!important;font-size:13px;color:var(--ink);background:#fff;border:0;border-top:1px solid var(--line);padding:14px 0}.trade-form .ok.on{display:block}
.trade-tiny{margin-top:14px!important;font-size:11px;color:var(--dim);letter-spacing:.04em;line-height:1.5}
@media(min-width:620px){.trade-form .row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:980px){.trade-in{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.quiet-caption{left:calc(var(--pad) + 70px);width:calc(38% - var(--pad) - 90px)}.quiet-caption h2{font-size:36px}}
@media(max-width:780px){
 :root{--quiet-top:64px}
 .hero{padding-top:18px;padding-bottom:38px}.hero img{height:calc(var(--quiet-vh) * .52);min-height:280px;object-position:center 62%}
 .hero-line{display:block;padding-top:24px}.hero h1{font-size:38px;max-width:16ch}.hero .hero-sub{margin-top:18px;font-size:13px;max-width:38ch}
 .stage{height:calc(var(--quiet-vh) - var(--quiet-top));min-height:540px}.step{height:max(540px,calc(var(--quiet-vh) - var(--quiet-top)))}
 body[data-white-calm="home"] #chapters .slide .media,.quiet-image-link{left:var(--pad);right:var(--pad);top:12px;bottom:210px}
 .quiet-caption{top:auto;bottom:66px;left:var(--pad);width:calc(100% - 2 * var(--pad));transform:none;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:6px 12px}
 .quiet-caption h2{font-size:30px;margin:0!important;grid-column:1;grid-row:1}.quiet-caption .q-number{grid-column:2;grid-row:1;font-size:10px}
 .quiet-caption p{grid-column:1/-1;grid-row:2;font-size:12px;max-width:42ch}.quiet-caption .q-price{margin:0;grid-column:1/-1;grid-row:3;font-size:12px}
 .rail{top:auto;bottom:0;right:var(--pad);left:var(--pad);transform:none;flex-direction:row;justify-content:space-between;gap:0;border-top:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
 .rail button{font-size:10px;min-width:44px;flex:1;justify-content:center;min-height:48px;flex-shrink:0}
 .slide .play-film{top:6px;right:6px}.pgrid{gap:28px 15px}.pcard .prow{display:block}.pcard .pp{display:block;margin-top:4px;font-size:12px}
 .grid-head{margin-bottom:25px}.grid-head .lab{font-size:11px}
 .workshop{padding:44px var(--pad) 58px}
 .d-workshop{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:12px}
 .world-stage{max-width:340px}.world-city{font-size:28px}.bump-h{font-size:38px}.trade-h{font-size:38px}
}
/* Short landscape uses a readable stack, not a taller-than-screen sticky trap. */
@media(max-height:620px) and (max-width:780px) and (orientation:landscape){
 .stage{position:relative;top:auto;height:auto;min-height:0}
 .slide{position:relative;min-height:0;transform:none!important;pointer-events:auto;padding:12px var(--pad) 32px}
 body[data-white-calm="home"] #chapters .slide .media,body[data-white-calm="home"] #chapters .slide .media:has(>img){position:relative;inset:auto;width:100%;height:auto;aspect-ratio:4/3;margin:0;padding:0}
 body[data-white-calm="home"] #chapters .slide .media :is(img,video){height:100%;object-fit:contain}
 .slide .quiet-caption,.slide:has(.media>img) .quiet-caption{position:relative;inset:auto;transform:none;visibility:visible;width:auto;margin:24px 0 0;padding:0}
 .slide .quiet-image-link,.slide:has(.media>img) .quiet-image-link{inset:12px var(--pad) auto;height:calc((100vw - 2 * var(--pad)) * .75)}
 .rail,.step,.prog{display:none}
}
/* Reading mode is also the resilient no-JS mode: every chapter remains reachable. */
html:not(.white-home-ready) .stage{position:relative;top:auto;height:auto;min-height:0}
html:not(.white-home-ready) .slide{position:relative;min-height:620px;transform:none;pointer-events:auto}
html:not(.white-home-ready) .slide .quiet-caption{visibility:visible}
html:not(.white-home-ready) :is(.step,.prog,.rail){display:none}
@media(prefers-reduced-motion:reduce){
 .stage{position:relative;top:auto;height:auto;min-height:0}
 .slide{position:relative;min-height:620px;transform:none!important;pointer-events:auto;margin-bottom:24px}
 .slide .quiet-caption{visibility:visible}.step,.prog,.rail{display:none}.clayer{transition:none}
 body[data-white-calm="home"] #chapters .slide .media:has(>img){position:relative;inset:auto;width:auto;margin:0 var(--pad) 0 38%;height:auto;padding-top:24px}
 body[data-white-calm="home"] #chapters .slide .media>img{height:auto;object-fit:contain}
 .slide:has(.media>img){padding-bottom:32px}
 @media(max-width:780px){
  body[data-white-calm="home"] #chapters .slide .media:has(>img){margin:0 var(--pad);padding-top:12px}
  .slide:has(.media>img){padding-bottom:0;min-height:0}
  .slide:has(.media>img) .quiet-caption{position:relative;inset:auto;width:auto;margin:24px var(--pad);padding-bottom:24px}
  .slide:has(.media>img) .quiet-image-link{bottom:180px}
 }
}
