/* The product is the first chapter of the same editorial collection. */
.detail{width:min(1040px,94vw);max-height:94dvh;overflow:auto}
.detail[open]{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:stretch}
.detail .dialog-close{width:40px;height:40px;right:10px;top:7px;font:300 30px Arial;transition:transform .25s,color .25s}
.detail .dialog-close:hover{transform:rotate(90deg);color:var(--blue)}
.detail-photo{min-width:0;display:flex;flex-direction:column;justify-content:center;background:#eae5dd;position:relative;overflow:hidden}
.detail .detail-visual.sprite{width:100%;height:auto;min-height:0;aspect-ratio:3/4;flex-shrink:0}
.detail-photo-note{display:flex;justify-content:space-between;gap:20px;margin-top:auto;padding:18px 22px;font:8px/1.5 'Courier New',monospace;border-top:1px solid #19283725}
.detail-photo-note span:last-child{font:italic 13px Georgia,serif}
.detail .detail-copy{padding:38px 36px 24px;gap:14px;min-width:0}
.detail-meta{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #19283740;padding-top:12px;font:9px/1.5 'Courier New',monospace;letter-spacing:.04em}
.detail-meta span:last-child{color:var(--blue)}
.detail .detail-copy h2{font:650 clamp(62px,6.3vw,84px)/.92 var(--display);letter-spacing:-.045em;margin:12px 0 0}
.detail .detail-copy h2>span{display:block;margin-left:20%;font:italic 400 .78em/1.08 Georgia,serif;letter-spacing:-.065em;color:var(--blue)}
.detail-intro{display:flex;justify-content:space-between;align-items:center;gap:16px}
.detail .detail-intro>p{font:12px/1.65 Arial,sans-serif}
.detail .detail-intro #detail-price{font:500 31px/1 var(--display);white-space:nowrap;letter-spacing:-.03em}
.detail .outfit-context{font:italic 13px/1.5 Georgia,serif;color:#667079}
.detail .product-colors,.detail #sizes{padding:12px 0 0;margin:0;border-top:1px solid #19283730}
.detail fieldset legend{float:left;display:flex;width:100%;align-items:baseline;justify-content:space-between;font:italic 13px Georgia,serif;margin:0 0 12px}
.detail .option-step{font:9px/1.4 'Courier New',monospace;letter-spacing:.05em}
.detail #color-name{font:italic 400 14px Georgia,serif}
.detail .product-colors button{width:32px;height:32px;margin:4px 15px 4px 2px;outline-offset:4px;transition:transform .2s}
.detail .product-colors button:hover{transform:translateY(-3px)}
.detail #sizes button{width:52px;height:40px;padding:0;margin:0 8px 0 0;border:0;border-bottom:1px solid #19283750;font:500 24px/1 var(--display);transition:background .2s,color .2s}
.detail #sizes button:hover{color:var(--blue);border-color:var(--blue)}
.detail #sizes button.selected{background:var(--blue);color:var(--paper);border-color:var(--blue)}
.detail #add-bag{margin-top:4px;min-height:50px;text-align:left;padding:12px 18px;font:500 23px/1.1 var(--display);letter-spacing:-.01em;transition:background .25s}
.detail #add-bag:disabled{opacity:1;background:#e5e0d8;color:#757975}
.detail #add-bag:not(:disabled):hover{background:#2549b6}
.detail-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}
.detail-bottom>span{font:italic 17px Georgia,serif;letter-spacing:-.03em;transform:rotate(-3deg)}
.detail-bottom .text-button{font:10px Arial;padding:6px 0;border-bottom:1px solid #19283730}
.detail .detail-copy small{font:9px/1.5 Arial,sans-serif;color:#667079}
.detail .detail-note{border-top:1px solid #19283725;padding-top:12px}
@media(min-width:701px) and (max-height:760px){
 .detail .detail-copy{gap:10px;padding:32px 28px 18px}
 .detail .detail-copy h2{font-size:66px;margin-top:6px}
 .detail .product-colors,.detail #sizes{padding-top:9px}
 .detail fieldset legend{margin-bottom:8px}
 .detail .detail-note{padding-top:8px}
}
@media(max-width:700px){
 .detail{width:94vw;max-height:94dvh}
 .detail[open]{grid-template-columns:1fr}
 .detail .detail-visual.sprite{width:190px;max-width:65%;margin:0 auto}
 .detail-photo-note{padding:10px 18px;font-size:7px}
 .detail-photo-note span:last-child{font-size:11px}
 .detail .detail-copy{padding:22px;gap:14px}
 .detail .detail-copy h2{font-size:64px}
 .detail-meta{font-size:8px}
 .detail #sizes button{height:44px}
 .detail .product-colors button{width:36px;height:36px}
 .detail-bottom>span{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.detail .detail-visual.sprite{transition:none}}

.product-photo-frame{position:relative;width:min(100%,calc((94dvh - 110px)*.75));align-self:center;touch-action:pan-y;overflow:hidden}
.detail .detail-visual{width:100%;height:auto;min-height:0;aspect-ratio:3/4;background-repeat:no-repeat}
.photo-zoom-open{position:absolute;right:18px;bottom:18px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid #19283755;background:#f4f0eae8;font:300 30px/1 Arial;transition:background .2s,color .2s}
.photo-zoom-open:hover{background:var(--blue);color:var(--paper)}
.product-photo-nav{display:flex;justify-content:space-between;align-items:center;padding:0 20px;min-height:44px;border-top:1px solid #19283725;width:100%}
.product-photo-nav button,.photo-viewer-tools button{width:44px;height:44px;font:22px Arial}
.photo-counter{font:10px 'Courier New',monospace;letter-spacing:.1em}
.product-photo-nav button:disabled,.photo-viewer-tools button:disabled{opacity:.25;cursor:default}
.photo-viewer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;background:var(--paper);overflow:hidden}
.photo-viewer[open]{display:flex;flex-direction:column;align-items:center}
.photo-viewer-header{width:100%;height:64px;flex-shrink:0;padding:24px 28px;font:10px 'Courier New',monospace;letter-spacing:.08em}
.photo-viewer .dialog-close{right:18px;top:10px;width:44px;height:44px;font:32px Arial}
.photo-zoom-viewport{position:relative;height:calc(100dvh - 160px);width:auto;max-width:100%;aspect-ratio:3/4;flex-shrink:0;overflow:hidden;touch-action:none;background:#eae5dd;user-select:none}
.photo-zoom-viewport.is-zoomed{cursor:grab}.photo-zoom-viewport.dragging{cursor:grabbing}
.photo-zoom-image{position:absolute;inset:0;background-repeat:no-repeat;transform-origin:center;will-change:transform;pointer-events:none}
.photo-viewer-tools{display:flex;align-items:center;justify-content:center;gap:8px;height:58px;flex-shrink:0}
.photo-tool-divider{height:20px;border-left:1px solid #19283740;margin:0 8px}
#photo-zoom-level{font:11px 'Courier New',monospace;min-width:44px;text-align:center}
.photo-viewer-hint{font:italic 13px Georgia,serif;margin:4px 12px 0;text-align:center;color:#667079}
@media(max-width:700px){
 .product-photo-frame{width:100%}
 .detail .product-photo-frame .detail-visual{width:190px;max-width:65%;margin:0 auto;min-height:0;height:auto}
 .photo-zoom-open{right:16px;bottom:12px}
 .photo-viewer-header{height:60px;padding:25px 18px}
 .photo-zoom-viewport{height:min(calc(100dvh - 160px),133.333vw);margin:auto 0}
 .photo-viewer-hint{margin-bottom:16px;font-size:12px}
 .photo-viewer-tools{gap:3px}
}

/* Let the product name echo the selected T-shirt colour. */
.detail .detail-copy h2>span{color:var(--product-tone,var(--blue));transition:color .4s ease,-webkit-text-stroke-color .4s ease}
.detail[data-product-tone="0"] .detail-copy h2>span{-webkit-text-stroke:.55px #867d6c}
@media(prefers-reduced-motion:reduce){.detail .detail-copy h2>span{transition:none}}

/* The bag is a stable, high-contrast target even over moving footage. */
#search-toggle,#favorites-toggle{display:none}
.header{mix-blend-mode:normal}
.header .nav-left,.header .logo{color:var(--ink)}
.header .hand-mark{color:var(--blue)}
.header #bag-toggle{min-height:44px;min-width:82px;padding:12px 14px;color:var(--ink);border:1px solid transparent;border-radius:3px;transition:background .25s,color .25s,box-shadow .25s}
.header #bag-toggle.has-items{background:var(--blue);color:#fff;box-shadow:0 3px 18px #19283722}
.header #bag-toggle.has-items .hand-mark{display:none}
.header #bag-toggle.has-items #bag-count{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:8px;border-radius:50%;background:#fff;color:var(--blue);font-size:12px}
.header #bag-toggle.bag-added{animation:bag-added .55s ease}
@keyframes bag-added{50%{transform:scale(1.08)}}

/* Mobile has its own composition. Only content panels scroll, never the pages. */
@media(max-width:900px){
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body{--mobile-film:calc(clamp(285px,40dvh,380px) + env(safe-area-inset-top,0px));--mobile-bottom:calc(48px + env(safe-area-inset-bottom,0px))}
 button,a,input,textarea{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
 .header{height:calc(106px + env(safe-area-inset-top,0px));background:linear-gradient(var(--paper),#f4f0eadd 68%,#f4f0ea00)}
 .header .nav-left{left:16px;top:calc(7px + env(safe-area-inset-top,0px));gap:0}
 .header .nav-left button{min-height:44px;font-size:12px;text-align:left}
 .header .logo{top:calc(17px + env(safe-area-inset-top,0px));font-size:30px;letter-spacing:-1.5px;min-height:44px;display:flex;align-items:flex-start}
 .header .logo span{font-size:8px;right:-9px}
 .header .edition{display:none}
 .header .nav-right{right:10px;top:calc(7px + env(safe-area-inset-top,0px));gap:0}
 .header #bag-toggle{font-size:11px;min-width:78px;padding:10px}
 .header #bag-toggle.has-items #bag-count{min-width:20px;height:20px;margin-left:4px}
 #home{--hero-rhythm-size:clamp(23px,6.2vw,44px)}
 #home .hero-copy.left{top:25%;left:20px}
 #home h1{font-size:clamp(40px,10.3vw,74px);line-height:1.08;margin:16px 0}
 #home .hero-copy.right{top:51%;right:20px;font-size:calc(var(--hero-rhythm-size)*.5)}
 #home .hero-copy .eyebrow{font-size:9px}
 #home .hero-bottom{left:18px;right:18px;bottom:calc(68px + env(safe-area-inset-bottom,0px))}
 #home #hero-title{white-space:normal;margin:18px 0}
 #home .collection-caption>span{font-size:9px;letter-spacing:.05em}
 #home #explore{min-height:48px;padding:10px 16px;background:#f4f0eade;font-size:21px;border-radius:2px}
 #home .film-control{bottom:calc(14px + env(safe-area-inset-bottom,0px));right:18px;min-height:44px;font-size:10px}
 .showroom-stage .portrait{width:100%;height:var(--mobile-film);bottom:auto}
 .showroom-stage .portrait video{object-position:center 35%}
 .showroom-stage .category-nav{top:calc(101px + env(safe-area-inset-top,0px));left:18px;max-width:calc(100% - 36px);gap:0}
 .showroom-stage .category{min-height:44px;gap:14px}
 .showroom-stage .category-name{font-size:27px}
 .showroom-stage .category .count{font-size:13px}
 .showroom-stage .category-caption{display:none}
 .showroom-stage .gallery{top:var(--mobile-film);left:0;right:0;bottom:var(--mobile-bottom);container-type:size}
 .showroom-stage .gallery-footer{display:none}
 .showroom-bottom{height:var(--mobile-bottom);padding:0 18px env(safe-area-inset-bottom,0px);gap:16px}
 .showroom-bottom button{min-height:44px;font-size:11px;white-space:nowrap}
 .showroom-bottom span{font-size:9px;line-height:1.4;max-width:57%;text-align:right}
 .lookbook-intro{top:14px;left:18px;width:70%}
 .lookbook-eyebrow{font-size:9px;margin-bottom:7px}
 .lookbook-intro h2{font-size:20px}
 .lookbook-script{font-size:24px;margin:2px 0 0 8%}
 .lookbook-looks{inset:94px 0 10px}
 .lookbook-layer{overflow-y:auto;overscroll-behavior:contain;pointer-events:auto}
 .lookbook-looks{height:calc(100% - 104px);min-height:290px}
 .lookbook-looks .look:nth-child(1){left:3%;top:0;width:29%;height:58%}
 .lookbook-looks .look:nth-child(2){left:35%;top:12%;width:26%;height:46%}
 .lookbook-looks .look:nth-child(3){left:auto;right:3%;top:0;width:30%;height:55%}
 .lookbook-looks .look:nth-child(4){left:13%;top:60%;width:31%;height:40%}
 .lookbook-looks .look:nth-child(5){left:auto;right:10%;top:58%;width:33%;height:42%}
 .lookbook-looks .outfit-look{padding-bottom:0;min-width:44px;min-height:44px}
 .lookbook-looks .look .look-label{display:none}
 .showroom-stage .editorial-layer{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
 .showroom-stage .editorial{padding:12px 20px 18px;min-height:100%;height:auto}
 .showroom-stage .editorial-meta{font-size:10px;padding-top:10px}
 .showroom-stage .editorial-status{font-size:9px}
 .showroom-stage .editorial-main{padding:18px 0 14px;min-height:0}
 .showroom-stage .editorial-kicker{font-size:9px;line-height:1.5;margin-bottom:12px;max-width:90%}
 .showroom-stage .editorial-title{font-size:clamp(42px,12cqh,66px)}
 .showroom-stage .editorial-script{font-size:clamp(32px,9cqh,46px);margin-bottom:14px}
 .showroom-stage .editorial-copy{font-size:12px;line-height:1.65}
 .showroom-stage .editorial-interaction{gap:8px 14px;margin-top:12px}
 .showroom-stage .editorial-switch{font-size:12px;min-height:44px;padding:6px 0}
 .showroom-stage .interaction-note{font-size:9px}
 .showroom-stage .editorial-bottom{padding-top:12px;gap:16px}
 .showroom-stage .editorial-bottom p{font-size:10px;line-height:1.5}
 .showroom-stage .editorial-handwritten{font-size:15px}
 .soft-orbits{width:145px;height:145px;top:20px;right:0}
 .showroom-stage .layer-study{height:70px;margin-top:14px}
 .showroom-stage .layer-study span{width:60%;font-size:18px;padding:7px 10px}
 .showroom-stage .route-study svg{height:48px}
 .showroom-stage .route-study>span{font-size:9px}
 .menu-scene{height:100dvh;overflow:hidden}
 .brand-menu-film{height:var(--mobile-film);width:100%}
 .menu-scene .brand-menu-nav{top:calc(101px + env(safe-area-inset-top,0px));left:18px;width:calc(100% - 36px);gap:0}
 .menu-scene .brand-menu-nav button{min-height:44px;max-width:none;padding:4px 0}
 .menu-scene .brand-menu-nav button>span{font-size:clamp(21px,6.9vw,27px);white-space:normal}
 .menu-scene .brand-menu-nav small{font-size:11px}
 .brand-menu-signature{display:none}
 .brand-menu-preview{position:absolute;inset:var(--mobile-film) 0 var(--mobile-bottom);margin:0;height:auto}
 .brand-preview-layer{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
 .brand-menu-footnote{display:none}
 .brand-menu-bottom{top:auto;bottom:0;left:0;width:100%;height:var(--mobile-bottom);padding:0 18px env(safe-area-inset-bottom,0px);background:var(--paper);color:var(--ink);mix-blend-mode:normal;z-index:5;border-top:1px solid #19283726;gap:10px}
 .brand-menu-bottom button{min-height:44px;font-size:10px}
 .brand-menu-card{padding:24px;justify-content:center}
 .brand-menu-card h2{font-size:clamp(40px,10vw,64px);margin-bottom:20px}
 .brand-menu-card .eyebrow{font-size:10px;margin-bottom:18px}
 .brand-menu-card p:not(.eyebrow){font-size:13px;line-height:1.7;margin-bottom:18px}
 .brand-menu-card .menu-card-link,.menu-help-links button{min-height:44px;font-size:12px}
 .contacts-content{inset:120px 20px var(--mobile-bottom);padding-bottom:20px}
 .contacts-content h1{font-size:clamp(52px,13vw,85px);margin:22px 0}
 .contacts-content h1 em{display:block;margin:6px 0 0 10%}
 .contacts-intro{font-size:14px;line-height:1.7}
 .contact-details{grid-template-columns:1fr;gap:24px;margin:30px 0}
 .contact-details>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
 .contact-details dt{font-size:23px;margin:0}.contact-details dd{font-size:12px}
 .contacts-notes{flex-wrap:wrap;font-size:11px;gap:12px}
 .contacts-notes button{min-height:44px;text-align:left}
 dialog.detail,dialog.cart-dialog,dialog.utility{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding:64px 0 30px}
 dialog .dialog-close,dialog.detail .dialog-close{position:sticky;top:calc(8px + env(safe-area-inset-top,0px));float:right;right:12px;margin:8px 12px -52px auto;z-index:8;display:grid;place-items:center;width:44px;height:44px;min-height:44px;border-radius:50%;background:var(--paper);border:1px solid #19283735;font:30px/1 Arial;transform:none}
 .detail[open]{display:block}
 .detail .detail-photo{padding-top:0;display:flex}
 .detail .product-photo-frame{width:100%}
 .detail .product-photo-frame .detail-visual{width:min(64vw,260px);max-width:100%;height:auto;min-height:0;aspect-ratio:3/4;margin:0 auto}
 .detail .photo-zoom-open{right:18px;bottom:14px}
 .detail .detail-photo-note{display:none}
 .detail .product-photo-nav{padding:0 18px;min-height:44px}
 .detail .detail-copy{padding:24px 22px calc(28px + env(safe-area-inset-bottom,0px));gap:18px}
 .detail .detail-copy h2{font-size:66px;margin-top:8px}
 .detail .detail-meta{font-size:10px}
 .detail .detail-intro>p{font-size:13px}
 .detail .detail-intro #detail-price{font-size:30px}
 .detail .option-step{font-size:11px}
 .detail #color-name{font-size:16px}
 .detail .product-colors button{width:44px;height:44px;margin:6px 18px 6px 2px}
 .detail #sizes button{height:48px;width:calc((100% - 24px)/4);margin-right:8px}
 .detail #sizes button:last-child{margin-right:0}
 .detail #add-bag{min-height:54px;font-size:24px}
 .detail .detail-bottom .text-button{min-height:44px;font-size:12px}
 .detail .detail-copy small{font-size:11px;line-height:1.6}
 dialog.cart-dialog,dialog.utility{padding:64px 20px calc(30px + env(safe-area-inset-bottom,0px))}
 dialog.cart-dialog>.dialog-close,dialog.utility>.dialog-close{margin-top:-56px;right:0;margin-right:-8px}
 .cart-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 .cart-head{margin-bottom:24px;padding-bottom:20px}
 .cart-head h2{font-size:48px;line-height:1.1}
 .cart-head .eyebrow{font-size:10px}
 .cart-item{grid-template-columns:70px minmax(0,1fr);gap:16px;position:relative}
 .cart-item-price{grid-column:2;font-size:23px;margin-top:-12px}
 .cart-item-copy h3{font-size:26px}.cart-item-copy>p{font-size:12px}
 .cart-quantity button{width:44px;height:44px}.cart-quantity>span{font-size:14px;min-width:30px}
 .cart-remove{min-height:44px;font-size:12px;margin:4px 0 0}
 .cart-summary{padding:22px}.cart-total{font-size:14px}
 .cart-delivery-note,.cart-disclaimer,.checkout-item{font-size:12px;line-height:1.6}
 .cart-empty>p.cart-disclaimer{font:12px/1.7 Arial,sans-serif;letter-spacing:0;margin:18px 0}
 .cart-empty>.primary{min-width:0;display:block}
 .primary{min-height:52px;font-size:13px;padding:16px;line-height:1.5}
 .cart-back{min-height:44px;font-size:12px}
 .checkout-form fieldset{min-width:0;margin:26px 0}
 .checkout-form legend{font-size:27px}
 .checkout-form label{font-size:13px;gap:10px}
 .form-pair{grid-template-columns:1fr;gap:0}
 .checkout-form input:not([type=radio]),.checkout-form textarea,.utility input{font-size:16px;min-height:48px}
 .checkout-form input::placeholder,.checkout-form textarea::placeholder{font-size:14px}
 .checkout-options{gap:8px 20px}.checkout-options label{min-height:44px;margin-bottom:4px}
 .checkout-options input{width:20px;height:20px}
 .utility h2{font-size:40px;margin-right:20px}.utility p{font-size:14px;line-height:1.8}
 .utility .result{min-height:48px;font-size:14px}
 .brand-about h3{font-size:32px}
 .photo-viewer-header{height:64px;padding:24px 18px}
 .photo-viewer .dialog-close{position:absolute;top:4px;margin:4px 12px 0 0;right:0}
 .photo-zoom-viewport{height:min(calc(100dvh - 184px - env(safe-area-inset-bottom,0px)),133.333vw);margin:auto 0}
 .photo-viewer-tools{gap:3px}
 .photo-viewer-hint{font-size:12px;margin-bottom:calc(18px + env(safe-area-inset-bottom,0px))}
 .toast{bottom:calc(20px + env(safe-area-inset-bottom,0px));width:max-content;max-width:calc(100vw - 32px);font-size:13px;line-height:1.5;text-align:center}
}
/* A sideways phone retains a useful two-panel layout. */
@media(max-width:1000px) and (max-height:500px) and (orientation:landscape){
 body{--mobile-film:46%;--mobile-bottom:44px}
 .header{height:95px}
 .header .nav-left{top:4px;gap:0}.header .logo{top:14px}
 .header .nav-left{left:max(16px,env(safe-area-inset-left,0px))}
 .header .nav-right{right:max(10px,env(safe-area-inset-right,0px))}
 .showroom-stage .portrait,.brand-menu-film{height:100%;width:46%}
 .showroom-stage .category-nav,.menu-scene .brand-menu-nav{top:100px;left:18px;width:calc(46% - 36px);gap:0}
 .showroom-stage .category-name,.menu-scene .brand-menu-nav button>span{font-size:24px}
 .showroom-stage .gallery,.brand-menu-preview{top:90px;left:46%;bottom:44px;right:0}
 .showroom-stage .editorial{padding:12px 18px 20px}
 .showroom-stage .editorial-title{font-size:42px}.showroom-stage .editorial-script{font-size:32px}
 #home .hero-copy.left{top:29%}#home h1{font-size:38px}
 #home .hero-copy.right{top:43%;font-size:16px}
 #home .hero-bottom{left:40%;right:18px;bottom:45px}#home{--hero-rhythm-size:25px}
 #home .film-control{bottom:0}
 .detail[open]{display:grid;grid-template-columns:42% 58%;align-items:start}
 .detail .detail-photo{position:sticky;top:0}
 .detail .detail-copy{padding:50px 22px 24px}
 .detail .detail-copy h2{font-size:50px}
 .detail>.dialog-close{position:fixed;right:12px;top:8px;margin:0}
}
@media(prefers-reduced-motion:reduce){.header #bag-toggle.bag-added{animation:none}}

/* Touch navigation does not leave a keyboard focus frame behind. */
body:not(.keyboard-navigation) button:focus,body:not(.keyboard-navigation) [tabindex]:focus{outline:none}
@media(max-width:900px){
 #home #explore{background:transparent;border:0;border-radius:0;padding:10px 0}
 .showroom-stage .editorial{padding:8px 18px 6px}
 .showroom-stage .editorial-meta{padding-top:7px;font-size:9px}
 .showroom-stage .editorial-main{padding:8px 0;justify-content:center}
 .showroom-stage .editorial-kicker{display:none}
 .showroom-stage .editorial-title{font-size:clamp(34px,11cqh,58px)}
 .showroom-stage .editorial-script{font-size:clamp(28px,8cqh,40px);margin-bottom:8px}
 .showroom-stage .editorial-copy{font-size:11px;line-height:1.55}
 .showroom-stage .editorial-interaction{margin-top:8px;gap:4px 12px;flex-wrap:nowrap}
 .showroom-stage .editorial-switch{min-height:44px;font-size:11px;gap:7px;flex-shrink:0}
 .showroom-stage .interaction-note{font-size:8px;letter-spacing:0}
 .showroom-stage .layer-study{height:50px;margin-top:8px}
 .showroom-stage .layer-study span{height:30px;padding:4px 8px;font-size:15px}
 .showroom-stage .route-study svg{height:36px}
 .showroom-stage .editorial-bottom{padding-top:8px;gap:12px}
 .showroom-stage .editorial-bottom p{font-size:9px;line-height:1.4}
 .showroom-stage .editorial-handwritten{font-size:14px}
 .showroom-stage .soft-orbits{width:120px;height:120px;top:8px}
}
@media(max-width:700px) and (max-height:780px) and (orientation:portrait){
 body{--mobile-film:calc(220px + env(safe-area-inset-top,0px))}
 .showroom-stage .category-nav{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;width:calc(100% - 36px);top:calc(106px + env(safe-area-inset-top,0px))}
 .showroom-stage .category{gap:7px;min-width:0;flex-wrap:wrap;align-content:center;row-gap:1px}
 .showroom-stage .category-name{font-size:23px}
 .showroom-stage .category .count{font-size:10px}
 .showroom-stage .category .soon-word{font-size:10px;letter-spacing:0}
 .brand-menu-film{height:calc(285px + env(safe-area-inset-top,0px))}.brand-menu-preview{top:calc(285px + env(safe-area-inset-top,0px))}
 .showroom-stage .interaction-note{display:none}
}

/* Fluid phone grid shared by navigation, section pages and information dialogs. */
@media(max-width:700px) and (orientation:portrait){
 body{--phone-inline:clamp(16px,4.6vw,22px);--phone-content-top:calc(clamp(92px,12svh,106px) + env(safe-area-inset-top,0px))}
 .header .nav-left{left:var(--phone-inline);top:calc(7px + env(safe-area-inset-top,0px));gap:0}
 .header .nav-left button{min-height:34px;font-size:clamp(10px,2.8vw,12px)}
 .header .edition{display:block;left:62%;right:auto;top:calc(78px + env(safe-area-inset-top,0px));font-size:clamp(7px,2vw,9px);white-space:nowrap}
 .menu-scene .brand-menu-nav{top:var(--phone-content-top);left:var(--phone-inline);width:calc(100% - 2*var(--phone-inline));gap:clamp(1px,.5svh,4px)}
 .menu-scene .brand-menu-nav button{width:100%;max-width:none;min-height:clamp(34px,5.2svh,42px);padding:2px 0}
 .menu-scene .brand-menu-nav button>span{font-size:clamp(20px,5.7vw,24px);white-space:normal}
 .menu-scene .brand-menu-nav small{font-size:clamp(8px,2.4vw,10px)}
 .showroom-stage .category-nav{display:flex;flex-direction:column;justify-content:space-evenly;top:var(--phone-content-top);bottom:calc(100dvh - var(--mobile-film));left:var(--phone-inline);width:calc(100% - 2*var(--phone-inline));max-width:none;gap:0}
 .showroom-stage .category{min-height:0;flex-wrap:nowrap;align-content:normal;gap:clamp(8px,3vw,14px)}
 .showroom-stage .category-name{font-size:clamp(20px,6vw,27px)}
 .showroom-stage .category .count{font-size:clamp(9px,2.8vw,13px)}
 .showroom-stage .category .soon-word{font-size:clamp(9px,2.7vw,12px);letter-spacing:.05em}
 body[data-screen="contacts"] .header{visibility:hidden}
 .contacts-close{top:calc(10px + env(safe-area-inset-top,0px));right:var(--phone-inline);display:grid;place-items:center;width:44px;height:44px;border:1px solid #19283735;border-radius:50%;background:var(--paper);font:30px/1 Arial,sans-serif}
 .contacts-content{inset:calc(62px + env(safe-area-inset-top,0px)) var(--phone-inline) var(--mobile-bottom);padding:4px 0 10px;overflow:hidden}
 .contacts-content h1{font-size:clamp(48px,14.5vw,64px);line-height:.9;margin:clamp(10px,1.8svh,16px) 0}
 .contacts-content h1 em{display:block;margin:5px 0 0 10%}
 .contacts-intro{font-size:clamp(11px,3.1vw,13px);line-height:1.5}
 .contact-details{grid-template-columns:1fr;gap:clamp(8px,1.5svh,15px);margin:clamp(13px,2svh,20px) 0;padding-top:clamp(9px,1.5svh,14px)}
 .contact-details>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:16px}
 .contact-details dt{font-size:clamp(18px,5.2vw,22px);margin:0}
 .contact-details dd{min-width:0;font-size:clamp(9px,2.7vw,11px);text-align:right;overflow-wrap:anywhere}
 .contacts-notes{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 10px;padding-top:10px;font-size:clamp(8px,2.4vw,10px)}
 .contacts-notes button{min-height:32px}.contacts-notes button:last-of-type{text-align:right}.contacts-notes span{grid-column:1/-1}
 dialog.utility{padding:calc(62px + env(safe-area-inset-top,0px)) var(--phone-inline) calc(24px + env(safe-area-inset-bottom,0px))}
 dialog.utility>.dialog-close{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));right:var(--phone-inline);margin:0}
 .utility h2{max-width:calc(100% - 56px);font-size:clamp(31px,9.5vw,40px);line-height:1.02;margin:0 0 clamp(16px,2.5svh,22px)}
 .utility[data-view="help"] .mobile-title-break{display:none}
 .utility[data-view="help"] h2{max-width:100%;font-size:clamp(26px,8.4vw,34px);white-space:nowrap}
 .utility .brand-about h3{font-size:clamp(27px,8vw,34px);line-height:1.04;margin:12px 0}
 .utility .brand-about p{font-size:clamp(12px,3.3vw,14px);line-height:1.55;margin:10px 0}
}

/* Keep old or incomplete video frames out of the first paint. */
.hero-media video,.portrait video,.brand-menu-film video{opacity:0;background:var(--paper);transition:opacity .22s ease}
.hero-media video.is-ready{opacity:.88}
.portrait video.is-ready,.brand-menu-film video.is-ready{opacity:1}

@media(max-width:700px) and (max-height:650px) and (orientation:portrait){
 .brand-menu-film{height:250px}
 .brand-menu-preview{top:250px}
 .brand-menu-card{padding:8px 24px}
 .brand-menu-card .eyebrow{font-size:8px;margin-bottom:6px}
 .brand-menu-card h2{font-size:clamp(36px,11vw,44px);line-height:.92;margin-bottom:8px}
 .brand-menu-card p:not(.eyebrow){font-size:11px;line-height:1.4;margin-bottom:8px}
 .brand-menu-card .menu-card-link,.menu-help-links button{min-height:34px;font-size:10px;padding:4px 0}
 .menu-help-links{gap:4px}
 .menu-orbit{width:110px;top:12%;right:6%}
}

@media(max-width:700px) and (orientation:portrait){
 .menu-help-links{width:190px;max-width:100%}
 .menu-help-links button{display:flex;align-items:center;justify-content:space-between;gap:24px;font-family:'Courier New',monospace}
 .menu-help-links button span{flex:none;font:11px/1 'Courier New',monospace}
}

@media(min-width:701px){
 body[data-screen="about"] .menu-scene.closing .brand-menu-film,
 body[data-screen="contacts"] .menu-scene.closing .brand-menu-film,
 body[data-screen="help"] .menu-scene.closing .brand-menu-film{animation:menu-film-out .9s var(--ease) both;will-change:clip-path}
 .menu-scene.closing .brand-menu-film video{transform:translateX(0) scale(1)}
}
@keyframes menu-film-out{from{clip-path:inset(0)}to{clip-path:inset(0 100% 0 0)}}
