/* HomeView-inspired direction. System font on Apple devices; no remote fonts. */
html{scroll-padding-top:90px}
details{scroll-margin-top:0}
body{font-family:var(--sans);font-size:17px;line-height:1.47;letter-spacing:-.022em;-webkit-font-smoothing:antialiased}
.wrap{width:min(1200px,calc(100% - 96px))}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #0071e3;outline-offset:4px}
.header{position:sticky;top:0;z-index:15;width:100%;height:66px;padding-inline:max(48px,calc((100vw - 1200px)/2));background:var(--header-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}
.wordmark{font:600 23px/1.1 var(--sans);letter-spacing:-.7px}
.header nav{font-size:12px;gap:28px;letter-spacing:0}
.header nav a{display:flex;align-items:center;min-height:44px}
.product{grid-template-columns:1.25fr 1fr;gap:7%;padding-top:32px;padding-bottom:56px}
.product-info{padding-top:8px}
.eyebrow{font-size:14px;line-height:1.4;font-weight:600;color:var(--muted);letter-spacing:0;margin-bottom:10px}
h1{font:600 clamp(54px,5.7vw,76px)/1.04 var(--sans);letter-spacing:-.045em;margin-bottom:12px}
.product-tagline{font:600 28px/1.15 var(--sans);letter-spacing:-.035em;margin-bottom:14px}
.description{font-size:17px;color:var(--muted);line-height:1.47;max-width:340px;margin-bottom:28px}
.finish{display:flex;align-items:center;gap:11px;font-size:14px;font-weight:500;margin-bottom:26px}
.finish>span:last-child{font-weight:400;color:var(--muted);margin-left:auto;font-size:12px}
.finish-swatch{width:22px;height:22px;flex-shrink:0;border-radius:50%;background:#222427;box-shadow:0 0 0 3px #fff,0 0 0 4px #86868b;margin:4px}
.price{font:500 30px/1.2 var(--sans);letter-spacing:-.035em;margin-bottom:10px}
.price span{font:400 13px var(--sans);letter-spacing:0}
.included-note{font-size:13px;line-height:1.5;max-width:none;margin-bottom:24px}
.included-note strong{color:var(--ink);font-weight:600}
.button{min-height:50px;background:#0071e3;color:#fff;border-radius:980px;font-size:17px;font-weight:400;letter-spacing:-.022em;padding:13px 22px;transition:background .15s}
.button:hover:not(:disabled){background:#0077ed}
.button:disabled{background:#0071e3;opacity:.55}
.gallery-stage{aspect-ratio:1.12;border-radius:28px;background:transparent;isolation:isolate}
.main-photo{position:relative;z-index:1;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover;object-position:center 73%}
.thumbnails{justify-content:center;margin-top:10px;gap:10px}
.thumbnail{width:64px;height:64px;border-radius:12px;padding:4px;border:1px solid transparent}
.thumbnail img{border-radius:7px}
.thumbnail[aria-pressed="true"]{border-color:#0071e3;box-shadow:0 0 0 1px #0071e3}
.thumbnail:hover{border-color:#86868b}
.spinner-thumbnail{background:var(--surface);color:var(--ink);font-weight:500;font-size:18px}
.spinner-thumbnail small{font-size:9px;letter-spacing:1px}
.caption:empty{display:none}
.caption{font-size:11px;line-height:1.5;min-height:17px;text-align:center;margin-top:14px;letter-spacing:0}
.launch-status{font-size:12px;line-height:1.5;margin:13px 0 7px;max-width:none;letter-spacing:0}
.purchase-facts{margin-bottom:25px;color:var(--muted);font-size:12px;line-height:1.6;letter-spacing:0}
.purchase-facts p{margin:0 0 5px}
.purchase-facts a{color:#0066cc}
.purchase-facts a:hover{text-decoration:underline;text-underline-offset:3px}
.product-info>.product-details{margin-top:20px}
summary{font-size:14px;min-height:54px;font-weight:500;padding:15px 0}
summary span{font-size:23px;font-weight:300;color:var(--muted)}
details p{font-size:13px;max-width:none;padding-right:8px;line-height:1.6;letter-spacing:-.01em}
.detail-gallery{padding-top:65px;padding-bottom:65px;border-top:1px solid var(--line)}
.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:32px}
.section-heading h2{font:600 48px/1.08 var(--sans);letter-spacing:-.035em;margin:0}
.section-heading>p{color:var(--muted);font-size:13px;margin:0}
.detail-images{gap:28px}
.detail-photo{border-radius:24px;background:var(--surface)}
figcaption{display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:1.4;margin-top:18px;padding-inline:4px;letter-spacing:-.015em}
figcaption>span{color:var(--ink);font-size:12px;font-weight:600}
.dimensions{font-size:13px;line-height:1.5;color:var(--muted);margin:10px 0 0;white-space:nowrap}
.spinner-tools button{min-height:44px;padding:9px 15px;font-size:12px;background:#fffE;color:var(--ink);border:1px solid #00000012;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.footer{padding-block:32px 40px;gap:32px}
.footer .wordmark{font:600 21px/1.1 var(--sans);letter-spacing:-.5px}
.footer p{font-size:11px;line-height:1.5;letter-spacing:0}
.footer>a:last-child{font-size:12px;min-height:44px;display:flex;align-items:center}
@media(min-width:1000px){.gallery{position:sticky;top:94px}}
@media(max-width:1050px) and (min-width:701px){.product{gap:5%;padding-top:28px}.product-info{padding-top:0}.wrap{width:calc(100% - 64px)}.header{width:100%;padding-inline:32px}.product-tagline{font-size:25px}}
@media(max-width:700px){
 .wrap{width:calc(100% - 40px)}
 .header{width:100%;height:60px;padding-inline:20px;gap:16px}
 .wordmark{font-size:21px;letter-spacing:-.5px}
 .header nav{gap:16px;font-size:11px}
 .product{grid-template-columns:1fr;gap:20px;padding-top:12px;padding-bottom:32px}
 .product-info{padding:0}
 h1{font-size:56px;letter-spacing:-.045em;margin-bottom:12px}
 .eyebrow{font-size:13px;margin-bottom:10px}
 .product-tagline{font-size:26px;margin-bottom:12px}
 .description{font-size:17px;margin-bottom:24px}
 .finish{margin-bottom:24px}
 .price{font-size:28px}
 .included-note{font-size:13px}
 .gallery-stage{border-radius:22px}
 .thumbnail{width:56px;height:56px}
 .caption{font-size:10px;letter-spacing:0}
 .launch-status{font-size:12px}
 .section-heading{align-items:start;flex-direction:column;gap:10px;margin-bottom:26px}
 .section-heading h2{font-size:32px;line-height:1.12;letter-spacing:-.025em}
 .section-heading>p{font-size:12px}
 .detail-gallery{padding-block:38px 44px}
 .detail-images{gap:30px}
 .detail-photo{border-radius:22px}
 figcaption{font-size:13px;margin-top:14px}
 .dimensions{font-size:12px;margin-top:10px}
 .footer{padding-bottom:130px;gap:20px}
 .footer p{font-size:10px}
 .mobile-order{gap:16px;background:var(--order-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-color:var(--line);padding-inline:20px}
 .mobile-order>div{min-width:115px}
 .mobile-order strong{font:600 23px/1.2 var(--sans);letter-spacing:-.025em}
 .mobile-order small{font:400 10px var(--sans)}
 .mobile-order>div>span{font-size:10px;letter-spacing:0}
 .mobile-order .button{min-width:150px;min-height:46px;font-size:13px;letter-spacing:0}
}
@media(max-width:360px){.header nav{gap:10px;font-size:10px}.mobile-order{gap:10px}.mobile-order .button{min-width:140px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}

.finish-picker{margin-bottom:25px}
.finish-label{display:flex;align-items:center;gap:5px;font-size:14px;margin:0 0 12px}
.finish-label strong{font-weight:600}
.finish-label>span{margin-left:auto;color:var(--muted);font-size:12px}
.finish-options{display:flex;gap:12px;margin-bottom:10px}
.finish-option{width:46px;height:46px;display:grid;place-items:center;padding:5px;border:2px solid transparent;border-radius:50%;background:transparent;cursor:pointer}
.finish-option[aria-pressed="true"]{border-color:#0071e3}
.finish-option:hover{background:var(--surface)}
.finish-option>span{display:block;width:30px;height:30px;border-radius:50%;background:var(--finish-color);box-shadow:inset 0 0 0 1px #00000015}
.finish-note{font-size:11px;line-height:1.5;color:var(--muted);margin:0;letter-spacing:0}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Three diagrams, one straightforward row. */
.assembly-story{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.assembly-step{display:block;min-width:0;margin:0;padding:0}
.assembly-art{display:block;cursor:zoom-in;border-radius:8px}.assembly-art img{display:block;width:100%;height:auto;background:transparent}
.assembly-step figcaption{display:flex;flex-direction:row;align-items:baseline;gap:10px;padding:0;margin:14px 0 0}
.assembly-step h3{font-size:19px;line-height:1.25;font-weight:600;letter-spacing:-.025em;margin:0;color:var(--ink)}
.assembly-note{font-size:12px;line-height:1.6;color:var(--muted);max-width:720px;margin:24px 0 0}
@media(max-width:700px){.assembly-story{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.assembly-step figcaption{display:block;margin-top:10px}.assembly-step h3{font-size:13px;line-height:1.3;letter-spacing:-.02em}.assembly-note{font-size:11px;margin-top:20px}}

/* Matte sparkle swatches, with no gloss overlay. */
.finish-option>span{background-color:var(--finish-color);background-image:radial-gradient(circle,#ffffff8c .65px,transparent .9px),radial-gradient(circle,#ffffff60 .5px,transparent .8px);background-size:7px 9px,11px 7px;background-position:2px 1px,5px 4px}
/* Compact hero player stays in the first screen on desktop and mobile. */
.explainer{width:100%;margin:0 0 24px;padding:0;border:0}
.explainer .section-heading{margin-bottom:12px}
.explainer .section-heading h2{font-size:22px;line-height:1.2;letter-spacing:-.025em}
.video-frame{aspect-ratio:16/9;overflow:hidden;border-radius:16px;background:var(--surface)}
.video-frame iframe{display:block;width:100%;height:100%;border:0}
.footer{display:grid;grid-template-columns:1fr}
.footer p{text-align:center;max-width:none;width:100%}
.footer>a:last-child{justify-self:end}
@media(max-width:700px){
 .product{display:flex;flex-direction:column;gap:0;padding-top:24px}
 .product-info{display:contents}
 .product-info>*{order:8}
 .product-info>.eyebrow{order:0}
 .product-info>h1{order:1}
 .product-info>.product-tagline{order:2}
 .product-info>.description{order:3}
 .product-info>.explainer{order:4;margin-bottom:0}
 .product>.gallery{order:5;width:100%;margin:20px 0 24px}
 .product-info>.finish-picker{order:6}
 .product-info>.price{order:7}
 .product-info>.included-note{order:8}
 .product-info>.purchase{order:9}
 .product-info>.product-details{order:10;width:100%}
 .explainer .section-heading h2{font-size:20px}
 .footer{grid-template-columns:1fr;gap:0}
 .footer p{grid-column:1;grid-row:1}
 .footer>a:last-child{width:auto}
}

/* Color themes affect the page, never the product paint or studio lighting. */
:root{color-scheme:light;--surface:#f5f5f7;--header-glass:rgba(255,255,255,.88);--order-glass:rgba(255,255,255,.94);--accent:#0071e3}
:root[data-theme="dark"]{color-scheme:dark;--paper:#202124;--ink:#f5f5f7;--muted:#b3b4bc;--line:#414248;--surface:#2d2e33;--header-glass:rgba(32,33,36,.88);--order-glass:rgba(32,33,36,.94);--accent:#6ab1ff}
.theme-toggle{display:grid;place-items:center;width:44px;height:44px;padding:11px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;flex-shrink:0}
.theme-toggle:hover{background:var(--surface)}
.theme-toggle svg{display:block;width:20px;height:20px}
.theme-toggle .theme-sun{display:none}
[data-theme="dark"] .theme-toggle .theme-moon{display:none}
[data-theme="dark"] .theme-toggle .theme-sun{display:block}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--accent)}
.finish-option[aria-pressed="true"],.thumbnail[aria-pressed="true"]{border-color:var(--accent)}
.thumbnail[aria-pressed="true"]{box-shadow:0 0 0 1px var(--accent)}
[data-theme="dark"] .finish-option[data-finish="black"]>span{box-shadow:inset 0 0 0 1px #ffffff40}
[data-theme="dark"] .assembly-art img{filter:invert(.9) hue-rotate(180deg)}
