/* Q038 additions to Q009's original stylesheet. The original selectors, art,
   typography, colours, lens, lineup and interaction components remain in use. */
:root{--copy-width:58ch;--buy-bar-height:92px}
html{scrollbar-gutter:stable;scroll-behavior:auto}
p,.reading,.policy-body{max-width:var(--copy-width)}
/* Q009's .fine-print and .idea-note widths override the global paragraph rule.
   Keep every homepage note, including comparison conditions, readable too. */
.home .fine-print,.home .fine-print.idea-note{max-width:min(100%,52ch)}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #0a6cdb;outline-offset:4px}
.night button:focus-visible,.night a:focus-visible,.night summary:focus-visible{outline-color:#d8ecff}
.hero-small,.diagram-label,.diagram-note,.day-source,.line-price small,.compare-card>p,.eyebrow,.lineup-index,.visual-caption,.notification .mono,.footer-bottom{font-size:12px}
.hero-copy h2 .muted{color:#a5b2bf}
.site-nav{background:rgba(17,27,40,.86);transition:none}
.site-nav.light{background:rgba(226,230,233,.94)}
.nav-link{min-height:24px;line-height:24px;height:24px}
.menu-toggle{min-width:36px;min-height:36px}
.hero{min-height:0;height:100svh}
/* Remove viewport-driven scroll staging, preserving each Q009 slide in order. */
.flow .idea,.flow .story,.flow .product-chapter{min-height:0}
.flow .iw01{height:auto;padding:85px var(--pad)}
.flow .iw-sticky{position:relative;top:auto;height:auto;overflow:visible;padding:0}
.flow .iw-stage{height:auto}
.flow .iw-slide{position:relative;inset:auto;min-height:0;opacity:1;visibility:visible;filter:none;transform:none;padding:48px 0;border-bottom:1px solid var(--rule)}
.flow .iw-visual{height:380px}
.flow .iw-slide .iw-visual img{transform:none!important}
.flow .chapter-progress{position:relative;inset:auto;margin-top:26px}
.flow .chapter-progress button{min-height:44px}
.flow .day{height:auto;padding:0}
.flow .day-sticky{position:relative;height:auto;overflow:visible}
.flow .day-stage{position:relative;inset:auto;clip-path:none}
.flow .day-slide{position:relative;inset:auto;opacity:1;visibility:visible;filter:none;transform:none;padding:70px var(--pad) 120px;min-height:0;overflow:hidden}
.flow .day-notes{position:relative;top:auto;left:auto;right:auto;max-width:700px;padding:28px;background:var(--night);border:1px solid #d8ecff33}
.flow .day-photo{transform:none}
.flow .day-slide .split-photo{inset:0}
.flow .day-progress{position:relative;inset:auto;padding:20px var(--pad);background:var(--night)}
.flow .day-source{bottom:25px;max-width:60ch;background:var(--night);padding:8px 12px}
.flow .closing{height:auto;min-height:0}
.flow .closing-sticky{position:relative;height:auto;min-height:0;padding:420px 20px 90px}
.flow .closing-product{height:280px;top:65px}
.flow .closing-copy{opacity:1;transform:none}
.flow .closing-copy.copy-enter .close-char{animation:word-up 1.4s var(--ease-power3) both;animation-delay:calc(var(--i)*.015s)}
.flow .story-object{min-height:0;height:430px}
.flow .chapter-visual{min-height:0;height:430px}
.flow .site-footer{min-height:0}
.footer-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.footer-links a{min-height:28px}
.footer-bottom{align-items:center;flex-wrap:wrap}
.footer-bottom button{min-height:30px}
.cursor-ring{position:fixed;left:0;top:0;width:30px;height:30px;border:1px solid #9bd4ff;border-radius:50%;pointer-events:none;z-index:999;opacity:0;transform:translate(-100px,-100px);transition:opacity .15s;mix-blend-mode:difference}
@media(pointer:fine) and (min-width:801px){.cursor-ring.on{opacity:.9}}
.inner-main{max-width:1408px;margin:0 auto;padding:95px var(--pad) 90px;min-width:0}
.inner-main h1{font-size:clamp(36px,4vw,66px);font-weight:400;line-height:1.06;letter-spacing:-.045em;max-width:22ch}
.inner-main h2{font-size:clamp(27px,2.8vw,42px);margin:20px 0}
.inner-main h3{font-size:24px;margin:18px 0}
.inner-main p{line-height:1.65}
.inner-main .section{padding:65px 0;isolation:auto}
.product-nav{display:flex;gap:22px;flex-wrap:wrap;border-bottom:1px solid var(--rule);padding:5px 0 18px;margin-bottom:40px;font-family:'Archivo Narrow',sans-serif}
.product-nav a{min-height:32px;display:flex;align-items:center;border-bottom:1px solid transparent}
.product-nav a[aria-current=page]{border-bottom-color:currentColor}
.product-nav a:hover{color:#0756af}
.content-heading{padding:30px 0 55px;border-bottom:1px solid var(--rule);margin-bottom:38px}
.content-heading p:not(.eyebrow){font-size:21px;margin-top:24px}
.content-heading .eyebrow{margin-bottom:22px}
.purchase{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:60px;align-items:start}
.purchase-panel h1{font-size:clamp(32px,3vw,50px);line-height:1.08;max-width:24ch}
.model{display:block;font-family:'Archivo Narrow',sans-serif;font-size:17px;letter-spacing:.02em;line-height:1.6;margin-top:15px}
.price{font-family:'Archivo Narrow',sans-serif;font-size:38px;white-space:nowrap;font-variant-numeric:tabular-nums;margin:22px 0 18px}
.nowrap{white-space:nowrap}
.buy-assurances{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:16px 0 30px;font-size:13px}
.buy-assurances a{display:block;min-height:28px;line-height:1.5;text-decoration:underline;text-underline-offset:4px}
.options{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.option{padding:6px 12px;border:1px solid #89939a;font-size:14px}
.external-note{font-size:13px;margin:16px 0;color:#44515b}
.promise-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px;margin:25px 0}
.promise{border-top:1px solid var(--rule);padding-top:15px;min-width:0}
.promise b{font-family:'Archivo Narrow',sans-serif;font-size:19px;font-weight:500}
.promise p{font-size:13px;margin:8px 0}
.promise-condition{display:inline-block;font-size:13px;text-decoration:underline;text-underline-offset:4px;min-height:26px}
.buy{display:flex;min-height:52px;padding:16px 20px;background:var(--blue);color:#fff;font-family:'Archivo Narrow',sans-serif;font-size:20px;line-height:1.15;gap:18px;align-items:center;justify-content:space-between}
.buy:hover{background:#0857b2}
.policy-links{display:flex;flex-wrap:wrap;gap:10px 18px;border-top:1px solid var(--rule);padding-top:20px;font-size:13px}
.policy-links a{min-height:26px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.product-media{min-width:0}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.gallery figure{margin:0;min-width:0}
.gallery-hero{grid-column:1/-1;background:radial-gradient(ellipse at center,#c9dbe8,transparent 70%);border-bottom:1px solid var(--rule)}
.gallery-hero img{height:420px;width:100%;object-fit:contain}
.gallery-photo img{height:90px;width:100%;object-fit:contain}
.gallery-thumb{width:100%;padding:8px;border:1px solid #9ba7af;background:#eef1f3}
.gallery-thumb:hover,.gallery-thumb[aria-pressed=true]{border-color:#0a6cdb}
.intro{margin-top:32px;padding-top:22px;border-top:1px solid var(--rule)}
.intro h2{font-size:25px;line-height:1.2}
.intro p{font-size:16px}
.intro a{display:inline-block;margin-top:18px;min-height:30px;text-decoration:underline;text-underline-offset:5px}
.spec-group{width:100%;border-collapse:collapse;margin:25px 0;font-size:16px;table-layout:fixed}
.spec-group caption{text-align:left;font:22px 'Archivo Narrow',sans-serif;padding:18px 0;border-bottom:1px solid #88949c}
.spec-group th,.spec-group td{text-align:left;vertical-align:top;padding:14px 18px 14px 0;border-bottom:1px solid var(--rule);overflow-wrap:break-word;font-weight:400}
.spec-group th{width:44%;color:#44515b}
.spec-group td{padding-right:0}
.inner-main details>summary{font-size:22px;min-height:52px;list-style:none;border-bottom:1px solid #83929d;line-height:1.35;gap:18px}
.inner-main details>summary:after{content:'+';font-size:25px}
.inner-main details[open]>summary:after{content:'−'}
.facts,.reading,.article-copy,.policy-body{min-width:0;max-width:64ch}
.fact{padding:22px 0;border-bottom:1px solid var(--rule);scroll-margin-top:90px}
.fact p+p{margin-top:12px}
.fact p:first-child{font-weight:500}
.inner-main .source{font-size:12px;color:#44515b}
.content-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;margin:35px 0 55px}
.content-card{display:block;min-width:0;border-top:1px solid #85929c;padding:24px 0}
.content-card h2{font-size:30px;line-height:1.15;margin:18px 0}
.content-card p{font-size:17px;margin:15px 0}
.content-card>span{font:17px 'Archivo Narrow',sans-serif;display:inline-block;padding:10px 0;border-bottom:1px solid}
.content-card a,.article-copy a,.reading a{color:#074f9b;text-decoration:underline;text-underline-offset:4px}
.content-card a:hover{color:#111b28}
.card-photo{width:100%;aspect-ratio:1.65;object-fit:cover}
.manual-photo{height:220px;width:100%;object-fit:contain}
.brand-photo{width:100%;max-height:460px;object-fit:contain;margin:30px 0}
.article-photo{width:100%;max-height:510px;object-fit:cover;margin:32px 0}
.reading p,.article-copy p,.policy-body p{margin:18px 0}
.article-copy{line-height:1.75}
.article-copy .joined-word{white-space:normal}
.observation,.notice{font-size:14px;margin:25px 0;padding:18px 0;border-bottom:1px solid var(--rule);color:#44515b}
.policy-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:60px;padding-top:24px}
.policy-aside{min-width:0}
.policy-aside nav{display:flex;flex-direction:column;gap:12px}
.policy-aside a{font:19px 'Archivo Narrow',sans-serif;display:block;padding:7px 0}
.policy-body{margin:0}
.policy-body h1{margin:0 0 28px}
.policy-body .facts{max-width:64ch}
.muted{color:#44515b}
.owner-forms fieldset{border:1px solid #7c8c98;padding:24px;min-width:0;margin:0}
.owner-forms legend{font-size:15px;padding:0 8px}
.owner-forms label{display:block;font-size:15px;margin:18px 0 5px}
.owner-forms input{display:block;width:100%;min-width:0;border:1px solid #8a99a5;min-height:40px;background:#eef1f3;color:#111b28}
.owner-forms button{border:1px solid #6a7a87;padding:14px;font-size:16px;margin-top:20px}
.sticky-buy{display:none}
.contact-detail{overflow-wrap:anywhere}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.lineup-index{opacity:1;color:#52606b}
.lineup-row.open .lineup-index{color:#253340}
.chapter-progress button{color:#4b5862}
.chapter-progress button[aria-current=true]{color:#111b28}
.table-scroll{max-width:100%;overflow-x:auto;margin:24px 0;border-top:1px solid #8b99a5;padding-bottom:10px;overscroll-behavior-x:contain}
.table-scroll:focus-visible{outline:3px solid #0a6cdb;outline-offset:4px}
.table-scroll table{width:100%;min-width:680px;border-collapse:collapse;font-size:15px;line-height:1.55}
.table-scroll table.comparison{min-width:980px}
.table-scroll th,.table-scroll td{vertical-align:top;text-align:left;padding:17px;border-bottom:1px solid #a5b0b8;font-weight:400}
.table-scroll th{font-family:'Archivo Narrow',sans-serif;font-size:18px;font-weight:500}
.table-scroll caption{text-align:left;font:22px 'Archivo Narrow',sans-serif;padding:18px 0}
.table-scroll td{min-width:130px}
.table-scroll a{display:inline-flex;align-items:center;min-height:30px;text-decoration:underline;text-underline-offset:5px}
nav[aria-label="Product resources"]{display:flex;flex-wrap:wrap;gap:10px 24px;margin:25px 0}
nav[aria-label="Product resources"]>a{display:inline-flex;align-items:center;min-height:32px;text-decoration:underline;text-underline-offset:5px}
.policy-grid a{display:inline-flex;align-items:center;min-height:28px}
.js .reveal{opacity:1;filter:none;transition-property:transform}
.wipe .wipe-dim{opacity:.68}
.footer-word{color:#a5b5c4;background:linear-gradient(#1b2a3b,#111b28)}
.hold-button .hold-label{font-size:12px}
.rear-label figure{margin:30px 0 0;max-width:800px}
.rear-label figure img{width:100%;height:auto}
.rear-label figcaption{font-size:14px;margin-top:18px;color:#44515b;max-width:64ch}
.nav-shop{min-height:32px;min-width:32px;align-items:center}
.hero-explore{min-height:28px}
.part-label,.tile-label,.diagram-note,.footer-links h3,.hold-label,.fact-list>div{font-size:12px}
.owner-links a{min-height:28px;display:inline-flex;align-items:center}
.inner-main .content-card>a{display:inline-block;min-height:28px}
.inner-main .reading a,.inner-main .fact a{display:inline-block;min-height:26px;min-width:26px}
@media(max-width:1100px){.footer-top{display:block}.footer-motto{margin-bottom:38px}.purchase{gap:35px}.promise-grid{gap:16px}.policy-layout{gap:32px}}
@media(max-width:800px){
 .inner-main{padding-top:86px}.purchase{grid-template-columns:1fr;gap:40px}
 .purchase-panel h1{max-width:25ch;font-size:38px}.gallery-hero img{height:340px}
 .inner-page:has(.sticky-buy){padding-bottom:var(--buy-bar-height)}
 .sticky-buy{display:flex;position:fixed;z-index:95;bottom:0;left:0;right:0;align-items:center;justify-content:space-between;gap:15px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:#111b28;color:#d8ecff;border-top:1px solid #52708a;visibility:hidden;pointer-events:none}
 .sticky-buy.show-buy{visibility:visible;pointer-events:auto}
 .sticky-buy>span{font:25px 'Archivo Narrow',sans-serif;white-space:nowrap}
 .sticky-buy .buy{font-size:17px;padding:13px 16px;min-height:48px;max-width:260px}
 .policy-layout{grid-template-columns:1fr}.policy-aside nav{flex-direction:row;flex-wrap:wrap;gap:10px 20px;margin-bottom:25px}
 .policy-aside .eyebrow{margin-bottom:10px}.policy-aside a{font-size:17px}
 .cursor-ring{display:none}.inner-page .mobile-menu.open{overflow-y:auto;gap:10px;padding-top:20px;padding-bottom:25px}
 .inner-page .mobile-menu a,.mobile-menu a{font-size:30px;min-height:44px}
}
@media(max-width:600px){
 .flow .section{padding:75px 20px}.flow .idea{min-height:0}
 .flow .iw01{padding:70px 20px}.flow .iw-slide{padding:35px 0 55px}.flow .iw-visual{height:300px}
 .flow .iw-header a{min-height:30px}.flow .chapter-progress{display:flex;flex-wrap:wrap;gap:12px}
 .flow .chapter-progress button{flex:1 1 42%;font-size:13px}
 .flow .day-slide{padding:55px 20px 120px}.flow .day-progress{padding:18px 20px;gap:15px}
 .flow .day-progress button{font-size:13px}.flow .day-notes h2{font-size:37px}
 .flow .day-source{right:20px;left:20px;max-width:none;text-align:left;font-size:12px}
 .flow .notification{display:block;font-size:15px}.flow .notification .mono{display:block;margin-bottom:5px}
 .flow .closing-sticky{padding-top:350px;padding-bottom:75px}.flow .closing-product{height:230px;top:55px}
 .flow .chapter-visual{height:320px}.flow .story-object{height:320px}
 .hero{height:100svh;min-height:0}.hero-word{top:14%;font-size:44px}
 .hero-small{top:75px;font-size:12px;letter-spacing:.11em}
 .hero-product{top:22%;height:37%;width:80%;max-width:360px}
 .hero-copy{top:auto;bottom:12.5%}.hero-copy h2{font-size:32px}
 .hero-tags{margin-top:18px}.hero-tags span{font-size:12px}.hero-explore{bottom:4%;font-size:15px}
 .hero .horizon{top:58%}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}
 .footer-motto{font-size:25px}.site-footer{padding-top:60px;min-height:0}
 .footer-bottom{align-items:flex-start;gap:12px}.footer-bottom>*{min-height:28px}
 .lineup-index,.visual-caption,.chapter-number,.eyebrow,.line-price small,.compare-card>p{font-size:12px}
 .lineup-reveal img{right:0;width:85px}.lineup-reveal p{max-width:170px;font-size:21px}
 .lineup-actions a{min-height:28px;display:inline-flex;align-items:center}
 .inner-main{padding-left:20px;padding-right:20px;padding-bottom:65px}
 .inner-main h1{font-size:36px}.purchase-panel h1{font-size:35px}
 .content-heading{padding-top:14px;padding-bottom:35px;margin-bottom:30px}
 .content-heading p:not(.eyebrow){font-size:18px}
 .content-cards{grid-template-columns:1fr;gap:25px}.content-card h2{font-size:28px}
 .promise-grid{gap:20px 16px}.promise p{font-size:13px}.promise b{font-size:18px}
 .intro{display:none}.gallery-photo img{height:70px}.gallery-thumb{padding:4px}
 .spec-group{font-size:14px}.spec-group th,.spec-group td{padding:12px 10px 12px 0}
 .spec-group th{width:43%}.inner-main .section{padding:45px 0}
 .owner-forms fieldset{padding:18px}.inner-main .policy-body h1{font-size:38px}
 .inner-main .product-nav{margin-bottom:25px}.inner-main .brand-photo{max-height:310px}
}
@media(max-height:720px) and (max-width:600px){.hero-copy h2{font-size:26px}.hero-copy{bottom:13%}.hero-product{height:34%;top:23%}.hero-tags{margin-top:12px;gap:5px}.hero-tags span{font-size:12px;padding:5px}.hero-word{top:15%;font-size:38px}.hero-small{top:66px}}
@media(prefers-reduced-motion:reduce){.cursor-ring{display:none!important}.flow .day-photo{transform:none}.flow .closing-copy{opacity:1!important;transform:none!important}}
