:root {
  --red: #d63a2f;
  --ink: #000;
  --muted: #6b6b6b;
  --line: #e6e6e6;
  --paper: #fff;
  --warm: #f3eeea;
  --soft: #f7f7f7;
  --page: 1410px;
  --radius: 14px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Montserrat", sans-serif; font-size: 16px; line-height: 1.55; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; }
.page-width { width: min(var(--page), calc(100% - 48px)); margin-inline: auto; }
.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; }
.skip-link { position: fixed; left: 16px; top: -60px; z-index: 100; padding: 12px 18px; background: #fff; border: 1px solid #000; }
.skip-link:focus { top: 16px; }

.announcement { height: 34px; display: grid; place-items: center; padding: 0 16px; background: var(--red); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .1em; }
.site-header { position: relative; z-index: 20; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line); }
.header-inner { width: min(var(--page), calc(100% - 48px)); height: 82px; margin: auto; display: grid; grid-template-columns: 235px 1fr 165px; align-items: center; gap: 22px; }
.brand { display: inline-flex; align-items: center; width: max-content; gap: 11px; }
.brand-mark { width: 37px; height: 37px; display: grid; place-items: center; border: 2px solid #000; border-radius: 50% 50% 45% 55%; font-size: 21px; font-weight: 700; line-height: 1; transform: rotate(-4deg); }
.brand-word { font-size: 19px; font-weight: 700; letter-spacing: .05em; }
.desktop-nav { display: flex; justify-content: center; align-items: center; gap: clamp(18px, 2.1vw, 34px); }
.desktop-nav a { position: relative; padding: 30px 0; font-size: 13px; font-weight: 500; white-space: nowrap; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 21px; height: 1px; background: #000; transition: right .25s ease; }
.desktop-nav a:hover::after { right: 0; }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 15px; }
.icon-button, .cart-button, .menu-button { border: 0; background: transparent; cursor: pointer; }
.icon-button { width: 27px; height: 27px; padding: 2px; }
.icon-button svg, .cart-button svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.cart-button { display: flex; align-items: center; gap: 5px; padding: 2px; }
.cart-button svg { width: 25px; height: 25px; }
.cart-button span { font-size: 12px; }
.menu-button, .mobile-nav { display: none; }

.product-section { display: grid; grid-template-columns: minmax(0, 58.5fr) minmax(360px, 41.5fr); gap: 48px; padding-top: 16px; padding-bottom: 70px; }
.gallery-stage { position: relative; overflow: hidden; aspect-ratio: 1 / 1; background: #f1f1ef; border-radius: var(--radius); }
.gallery-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .35s ease; }
.gallery-slide.active { opacity: 1; visibility: visible; }
.product-art { position: relative; width: 100%; height: 100%; overflow: hidden; }
.art-main { background: linear-gradient(140deg, #faf8f2 0 54%, #efebe2 54%); }
.art-main::before { content: ""; position: absolute; width: 58%; height: 58%; left: 20%; top: 15%; background: radial-gradient(circle, rgba(214,58,47,.18), transparent 68%); filter: blur(4px); }
.orbit { position: absolute; border: 2px solid rgba(214,58,47,.35); border-radius: 50%; transform: rotate(-18deg); }
.orbit-a { width: 72%; height: 25%; left: 13%; top: 31%; }
.orbit-b { width: 48%; height: 18%; left: 30%; top: 46%; transform: rotate(28deg); }
.book { position: absolute; display: flex; flex-direction: column; color: #fff; box-shadow: 22px 28px 35px rgba(42,29,19,.21); transform-style: preserve-3d; }
.book::after { content: ""; position: absolute; top: 3%; bottom: -3%; left: 100%; width: 23px; background: linear-gradient(90deg, #f8f4e9, #d7d1c7); transform: skewY(43deg); transform-origin: left top; }
.book-main { width: 32%; height: 49%; left: 35%; top: 20%; padding: 5% 3.5%; background: #d43b31; transform: rotate(-7deg) skewY(1deg); }
.book-main small { font-size: clamp(7px, .8vw, 12px); font-style: normal; font-weight: 600; letter-spacing: .16em; }
.book-main strong { margin-top: 16%; font-size: clamp(15px, 2vw, 31px); line-height: 1.05; }
.book-main em { margin-top: auto; font-size: clamp(5px, .55vw, 9px); font-style: normal; font-weight: 600; }
.book-back { width: 28%; height: 42%; left: 20%; top: 27%; padding: 20% 3% 0; background: #173d55; font-size: clamp(11px, 1.1vw, 17px); font-weight: 700; transform: rotate(-17deg); }
.tablet { position: absolute; width: 36%; height: 43%; left: 53%; top: 34%; padding: 1.2%; background: #111; border-radius: 13px; box-shadow: 18px 25px 35px rgba(0,0,0,.22); transform: rotate(9deg); }
.tablet > div { width: 100%; height: 100%; padding: 12%; color: #fff; background: #164d65; border-radius: 8px; }
.tablet small { font-size: clamp(6px, .7vw, 11px); text-transform: uppercase; letter-spacing: .08em; }
.tablet b { display: block; margin-top: 20%; font-size: clamp(11px, 1.4vw, 22px); line-height: 1.2; }
.cards-stack { position: absolute; width: 28%; height: 18%; left: 18%; bottom: 13%; transform: rotate(9deg); }
.cards-stack span { position: absolute; inset: 0; border: 5px solid #fff; background: #f1c847; box-shadow: 9px 10px 18px rgba(0,0,0,.14); }
.cards-stack span:nth-child(2) { transform: translate(9px,-9px); background: #f4a9a1; }
.cards-stack span:nth-child(3) { transform: translate(18px,-18px); background: #f8f4e9; }
.molecule { position: absolute; width: 110px; height: 80px; opacity: .55; }
.molecule i { position: absolute; width: 13px; height: 13px; border-radius: 50%; background: var(--red); }
.molecule i::after { content: ""; position: absolute; left: 8px; top: 5px; width: 54px; height: 2px; background: var(--red); transform-origin: left; }
.molecule i:nth-child(2) { left: 57px; top: 16px; }.molecule i:nth-child(2)::after { width: 37px; transform: rotate(55deg); }
.molecule i:nth-child(3) { left: 87px; top: 52px; }.molecule i:nth-child(3)::after { display: none; }
.molecule-a { right: 7%; top: 9%; transform: rotate(12deg); }.molecule-b { left: 8%; bottom: 5%; transform: rotate(165deg); }

.art-spread { display: grid; grid-template-columns: 1fr 1fr; gap: 3%; padding: 10%; background: #eeeae2; }
.paper { position: relative; padding: 12%; background: #fffdf8; box-shadow: 0 22px 34px rgba(0,0,0,.1); }
.paper span { color: var(--red); font-size: 12px; font-weight: 700; }.paper h3 { margin: 18% 0 12%; font-size: clamp(16px,2.2vw,31px); line-height: 1.15; }.paper p { position: absolute; left: 12%; right: 12%; bottom: 10%; font-size: clamp(8px,.8vw,12px); }
.diagram { position: relative; height: 40%; margin-top: 8%; border-radius: 50%; background: #e9c2bb; }.cells::before,.cells::after { content: ""; position: absolute; border: 2px solid #d63a2f; border-radius: 50%; }.cells::before { width: 46%; height: 46%; left: 27%; top: 27%; }.cells::after { width: 15%; height: 15%; left: 43%; top: 42%; background: #d63a2f; }
.wave { border-radius: 0; background: repeating-radial-gradient(ellipse at left,transparent 0 13px,#174c65 14px 16px,transparent 17px 26px); }
.page-left { transform: perspective(900px) rotateY(5deg) rotate(-2deg); }.page-right { transform: perspective(900px) rotateY(-5deg) rotate(2deg); }
.art-cards { background: linear-gradient(135deg,#143e55,#276780); }
.study-card { position: absolute; width: 40%; height: 54%; padding: 5%; border-radius: 10px; box-shadow: 0 25px 40px rgba(0,0,0,.25); transform-origin: bottom; }
.study-card small { font-size: clamp(7px,.7vw,11px); letter-spacing: .12em; }.study-card strong { display: block; margin-top: 35%; font-size: clamp(16px,2vw,30px); line-height: 1.1; }.study-card i { display: block; width: 58%; height: 2px; margin-top: 12%; background: currentColor; }
.card-one { left: 12%; top: 22%; color:#fff; background:#d63a2f; transform:rotate(-13deg); }.card-two { left: 30%; top: 14%; background:#f2c747; transform:rotate(-2deg); }.card-three { left: 49%; top: 20%; color:#fff; background:#ec9288; transform:rotate(11deg); }
.gallery-arrow { position: absolute; top: 50%; z-index: 2; width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(255,255,255,.93); box-shadow: 0 5px 18px rgba(0,0,0,.12); cursor: pointer; transform: translateY(-50%); opacity: 0; transition: opacity .2s, transform .2s; }
.gallery-stage:hover .gallery-arrow { opacity: 1; }.gallery-arrow:hover { transform: translateY(-50%) scale(1.06); }.gallery-arrow.prev { left: 16px; }.gallery-arrow.next { right: 16px; }
.thumbnails { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 10px; }
.thumb { position: relative; aspect-ratio: 1; padding: 7px; border: 1px solid transparent; border-radius: 11px; background: #f1f1ef; cursor: pointer; transition: padding .2s, border .2s; }
.thumb.active { padding: 12px; border-color: #000; }
.thumb > span { display: grid; place-items: center; width: 100%; height: 100%; }
.mini-book { color: #fff; background: #d63a2f; font-weight: 700; box-shadow: 5px 6px 0 #173d55; transform: rotate(-7deg) scale(.65); }.mini-spread { background: linear-gradient(90deg,#fff 0 49%,#ddd 49% 51%,#fff 51%); box-shadow: 0 5px 9px #bbb; transform: rotate(3deg) scale(.74); }.mini-cards { background: #ed9187; box-shadow: 7px -5px 0 #f0c84a,-7px 6px 0 #174c65; transform: rotate(8deg) scale(.62); }.placeholder-thumb span { color:#999; border:1px dashed #aaa; font-size:24px; }

.product-info { padding: 22px 0 0 50px; }
.preview-link { display: inline-block; margin-bottom: 18px; padding-bottom: 2px; border-bottom: 1px solid #000; font-size: 13px; font-weight: 500; }
.product-info h1 { max-width: 560px; margin: 0 0 14px; font-size: clamp(32px, 3.1vw, 47px); line-height: 1.12; letter-spacing: -.025em; }
.rating-row { display: flex; align-items: center; gap: 11px; margin-bottom: 22px; }.stars { color: #e54737; font-size: 15px; letter-spacing: 2px; }.rating-row a { font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.price-row { display: flex; align-items: center; gap: 12px; }.compare-price { color: #777; font-size: 17px; text-decoration: line-through; }.sale-price { color: var(--red); font-size: 21px; font-weight: 500; }.sale-badge { padding: 5px 11px; color: #fff; background: var(--red); border-radius: 4px; font-size: 11px; font-weight: 600; }
.shipping { margin: 7px 0 25px; color: #666; font-size: 12px; }
.format-picker { margin: 0 0 30px; padding: 0; border: 0; }.format-picker legend { margin-bottom: 12px; font-size: 13px; }.format-options { display: flex; flex-wrap: wrap; gap: 9px; }.format-option { cursor: pointer; }.format-option input { position: absolute; opacity: 0; pointer-events: none; }.format-option span { display: block; min-height: 43px; padding: 10px 17px; border: 1px solid #d9d9d9; border-radius: 22px; font-size: 13px; }.format-option.selected span { color: #fff; background: #000; border-color: #000; }
.purchase-row { display: grid; grid-template-columns: 132px 1fr; gap: 12px; }
.quantity { height: 50px; display: grid; grid-template-columns: 1fr 34px 1fr; align-items: center; border: 1px solid #dedede; border-radius: 28px; }.quantity button { height: 100%; padding: 0; border: 0; background: transparent; cursor: pointer; font-size: 19px; }.quantity span { text-align: center; font-size: 13px; }
.add-button, .buy-button { height: 50px; border: 1px solid #000; border-radius: 27px; font-weight: 600; cursor: pointer; transition: transform .2s, background .2s, color .2s; }.add-button { color: #fff; background: #000; }.buy-button { width: 100%; margin-top: 12px; background: #fff; }.add-button:hover,.buy-button:hover { transform: translateY(-1px); }.buy-button:hover { color:#fff; background:#000; }
.benefits { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 30px 0; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.benefits div { display:flex; align-items:center; gap:9px; font-size:10px; text-align:left; }.benefits svg { width:26px; height:26px; flex:0 0 auto; fill:none; stroke:#000; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; }
.accordions details { border-bottom: 1px solid var(--line); }.accordions details:first-child { border-top: 1px solid var(--line); }.accordions summary { display:flex; justify-content:space-between; align-items:center; padding:20px 0; cursor:pointer; list-style:none; font-size:14px; font-weight:600; }.accordions summary::-webkit-details-marker { display:none; }.accordions summary span { font-size:21px; font-weight:400; transition:transform .2s; }.accordions details[open] summary span { transform:rotate(45deg); }.accordions p { margin: -3px 0 21px; color:#505050; font-size:13px; line-height:1.75; }

.integrated { padding-top: 12px; padding-bottom: 92px; }.integrated h2,.reviews h2,.related h2 { margin:0 0 38px; text-align:center; font-size:clamp(28px,3vw,44px); line-height:1.2; letter-spacing:-.025em; }.system-visual { display:grid; grid-template-columns:repeat(4,1fr); min-height:430px; border-radius:var(--radius); overflow:hidden; }.system-card { position:relative; min-height:430px; padding:38px 30px; overflow:hidden; }.system-card span { font-size:12px; font-weight:700; }.system-card h3 { margin:12px 0 4px; font-size:29px; }.system-card p { margin:0; font-size:13px; }.peach { background:#f2b2a5; }.blue { color:#fff; background:#14516a; }.yellow { background:#efc849; }.pink { background:#e894a0; }.line-art { position:absolute; left:16%; right:16%; bottom:14%; aspect-ratio:1; border:3px solid currentColor; border-radius:50%; opacity:.82; }.atom::before,.atom::after { content:""; position:absolute; inset:17% -14%; border:3px solid currentColor; border-radius:50%; transform:rotate(58deg); }.atom::after { transform:rotate(-58deg); }.brain { border-radius:44% 56% 48% 52%; box-shadow:inset 18px 0 0 transparent; background:repeating-radial-gradient(circle at 30%,transparent 0 14px,currentColor 15px 17px,transparent 18px 28px); }.pulse { border:0; border-radius:0; background:linear-gradient(135deg,transparent 46%,currentColor 47% 51%,transparent 52%),linear-gradient(45deg,transparent 43%,currentColor 44% 48%,transparent 49%); }.target::before,.target::after { content:""; position:absolute; border:3px solid currentColor; border-radius:50%; }.target::before { inset:18%; }.target::after { inset:38%; background:currentColor; }
.comparison { padding:85px 0 95px; background:var(--warm); }.eyebrow { margin:0 0 22px; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.comparison .eyebrow { text-align:center; }.comparison-box { position:relative; display:grid; grid-template-columns:1fr 1fr; max-width:1080px; height:560px; margin:auto; border:9px solid #fff; border-radius:18px; overflow:hidden; box-shadow:0 18px 48px rgba(43,34,26,.14); }.compare-panel { position:relative; padding:48px; overflow:hidden; }.compare-panel > span { font-size:12px; font-weight:700; letter-spacing:.12em; }.other { background:#f7f3ea; }.ours { color:#fff; background:#164e65; }.fake-copy { margin-top:32px; height:82%; opacity:.55; background:repeating-linear-gradient(to bottom,#999 0 2px,transparent 2px 14px); }.fake-copy::after { content:""; display:block; width:67%; height:100%; background:inherit; }.visual-note { display:flex; align-items:center; gap:32px; height:85%; }.big-letter { font-size:clamp(100px,13vw,180px); font-weight:700; color:#eaa095; }.visual-note h3 { margin:0 0 14px; font-size:28px; line-height:1.1; }.visual-note p { font-size:13px; }.compare-handle { position:absolute; z-index:2; left:50%; top:0; bottom:0; width:2px; display:flex; align-items:center; justify-content:center; background:#fff; transform:translateX(-50%); }.compare-handle::before { content:""; position:absolute; width:58px; height:58px; background:#fff; border-radius:50%; box-shadow:0 3px 10px rgba(0,0,0,.12); }.compare-handle i { position:relative; z-index:2; margin:0 4px; color:#111; font-style:normal; font-size:20px; }
.feature-band { padding:85px 0; background:#111; color:#fff; }.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:70px; }.feature-grid article { position:relative; padding-top:70px; }.feature-number { position:absolute; top:0; left:0; color:#ee988e; font-size:14px; font-weight:700; }.feature-grid h3 { margin:0 0 13px; font-size:26px; }.feature-grid p { max-width:340px; margin:0; color:#c9c9c9; font-size:13px; line-height:1.75; }
.reviews { padding-top:100px; padding-bottom:100px; }.section-heading { position:relative; display:flex; align-items:center; justify-content:space-between; }.reviews .section-heading { justify-content:center; }.reviews h2 { margin-bottom:44px; }.review-controls { position:absolute; right:0; top:5px; display:flex; gap:8px; }.review-controls button { width:43px; height:43px; border:1px solid #ddd; border-radius:50%; background:#fff; cursor:pointer; }.review-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }.review-card { min-height:400px; padding:25px; border:1px solid var(--line); border-radius:var(--radius); }.avatar { height:185px; display:grid; place-items:center; margin-bottom:23px; border-radius:9px; color:#fff; font-size:44px; font-weight:700; }.coral { background:#de7066; }.blue-avatar { background:#31677e; }.gold { color:#111; background:#e9bf45; }.green { background:#487a66; }.review-card .stars { margin-bottom:14px; font-size:12px; }.review-card blockquote { margin:0 0 18px; font-size:12px; line-height:1.75; }.review-card p { margin:0; font-size:12px; font-weight:700; }
.related { padding-top:20px; padding-bottom:110px; }.related .section-heading { justify-content:center; }.related h2 { margin-bottom:42px; }.related .section-heading > a { position:absolute; right:0; top:11px; padding-bottom:2px; border-bottom:1px solid; font-size:12px; }.related-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }.product-card-art { display:grid; place-items:center; aspect-ratio:1; margin-bottom:18px; border-radius:var(--radius); overflow:hidden; }.coral-art { background:#eba197; }.blue-art { background:#356a80; }.cream-art { background:#ece8df; }.pink-art { background:#e4a4b5; }.mini-product { width:43%; height:58%; display:grid; place-items:center; padding:10%; color:#fff; background:#d63a2f; box-shadow:16px 16px 25px rgba(0,0,0,.18); font-weight:700; line-height:1.08; transform:rotate(-7deg); }.device { background:#111; border:7px solid #111; border-radius:8px; transform:rotate(5deg); }.clicker { width:35%; height:62%; border-radius:22px; background:#fff; color:#111; box-shadow:0 12px 28px rgba(0,0,0,.2); transform:rotate(4deg); }.product-card p { margin:0 0 5px; color:#777; font-size:11px; }.product-card h3 { margin:0 0 7px; font-size:15px; font-weight:600; }.product-card strong { font-size:13px; }
.newsletter { padding:78px 0; background:var(--warm); }.newsletter-inner { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:70px; }.newsletter h2 { margin:0 0 10px; font-size:38px; letter-spacing:-.03em; }.newsletter p:not(.eyebrow) { margin:0; font-size:13px; }.email-form { display:grid; grid-template-columns:1fr 140px; gap:10px; }.email-form input,.email-form button { height:50px; border-radius:27px; }.email-form input { padding:0 20px; border:1px solid #c9c3bd; background:#fff; }.email-form button { border:1px solid #000; color:#fff; background:#000; font-weight:600; cursor:pointer; }
footer { padding:78px 0 25px; color:#fff; background:#080808; }.footer-grid { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:60px; padding-bottom:70px; }.footer-brand .brand { margin-bottom:20px; }.brand-mark.inverse { border-color:#fff; }.footer-brand p { max-width:270px; color:#aaa; font-size:12px; }.footer-grid h3 { margin:0 0 19px; font-size:13px; }.footer-grid > div:not(:first-child) { display:flex; flex-direction:column; align-items:flex-start; }.footer-grid > div:not(:first-child) a { margin:0 0 10px; color:#aaa; font-size:12px; }.footer-grid a:hover { color:#fff; }.footer-bottom { display:flex; justify-content:space-between; padding-top:24px; border-top:1px solid #333; color:#888; font-size:11px; }
.toast { position:fixed; z-index:50; right:24px; bottom:24px; padding:14px 20px; color:#fff; background:#111; border-radius:8px; font-size:12px; transform:translateY(100px); opacity:0; transition:.3s ease; }.toast.show { transform:translateY(0); opacity:1; }

/* Step 1 product artwork */
.step-hero { background:#fbfaf6; }
.step-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 0 49%,rgba(255,255,255,.65) 50% 51%,transparent 52%),repeating-linear-gradient(0deg,transparent 0 54px,rgba(211,58,47,.07) 55px 57px); }
.background-notes { position:absolute; width:41%; height:31%; padding:4%; background:rgba(255,255,255,.82); border:1px solid #eadfda; box-shadow:0 12px 25px rgba(85,61,49,.07); }
.background-notes::before { content:""; display:block; width:100%; height:100%; background:repeating-linear-gradient(to bottom,#dfa7a1 0 2px,transparent 2px 17px); opacity:.4; }
.notes-one { left:-5%; top:6%; transform:rotate(-8deg); }.notes-two { right:-6%; bottom:7%; transform:rotate(8deg); }
.spiral-book { position:absolute; width:58%; height:77%; left:21%; top:11%; padding:9% 8% 6% 11%; overflow:hidden; background:linear-gradient(135deg,#f7f0e8 0 68%,#eed6c7 100%); border:1px solid #cfc8c3; box-shadow:20px 27px 38px rgba(63,45,37,.24); transform:rotate(-1.3deg); }
.spiral { position:absolute; z-index:3; left:-9px; top:1%; bottom:1%; width:34px; display:flex; flex-direction:column; justify-content:space-around; }
.spiral i { position:relative; display:block; width:36px; height:13px; border:5px solid #111; border-radius:50%; background:transparent; box-shadow:1px 2px 2px rgba(0,0,0,.25); }
.edition-flag { position:absolute; left:9%; top:0; width:16%; min-width:62px; padding:14px 5px 25px; color:#fff; background:#d13b32; text-align:center; font-size:clamp(12px,1.35vw,22px); font-weight:700; line-height:1; clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%); }.edition-flag span { font-size:.58em; }
.spiral-book > small { position:absolute; left:10%; top:31%; color:#c23730; font-size:clamp(9px,1.05vw,17px); font-weight:700; font-style:italic; }
.spiral-book > strong { position:absolute; z-index:1; left:9%; top:38%; padding:1% 2%; color:#fff; background:#c9362f; font-size:clamp(26px,4.4vw,67px); font-weight:700; font-style:italic; line-height:.97; letter-spacing:-.04em; }
.spiral-book > b { position:absolute; z-index:2; left:10%; bottom:17%; color:#9f241f; font-size:clamp(14px,2vw,31px); font-style:italic; }
.step-one { position:absolute; z-index:0; right:6%; top:7%; color:#aa2924; font-size:clamp(190px,30vw,445px); font-weight:700; line-height:.95; letter-spacing:-.09em; text-shadow:17px 12px 0 #c33b33; transform:scaleX(.72); transform-origin:right center; }
.cover-brand { position:absolute; left:9%; bottom:5%; padding:5px 10px; color:#fff; background:#111; font-size:clamp(7px,.85vw,13px); font-weight:700; letter-spacing:.06em; transform:rotate(-2deg); }
.subject-tabs { position:absolute; right:0; top:4%; bottom:4%; width:5.5%; display:grid; grid-template-rows:repeat(8,1fr); }.subject-tabs i:nth-child(1){background:#557a9b}.subject-tabs i:nth-child(2){background:#496e51}.subject-tabs i:nth-child(3){background:#ce7185}.subject-tabs i:nth-child(4){background:#665795}.subject-tabs i:nth-child(5){background:#bd674b}.subject-tabs i:nth-child(6){background:#4a88a3}.subject-tabs i:nth-child(7){background:#d5ae3c}.subject-tabs i:nth-child(8){background:#8b664e}
.step-spread .paper { background:#fff; }

/* Hotspot learning-system section */
.hotspot-showcase { position:relative; width:80%; aspect-ratio:1.78; margin:0 auto; overflow:hidden; background:linear-gradient(135deg,#e6ded6,#f8f4ef 48%,#d8cdc4); }
.hotspot-showcase::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.8),transparent 55%); }
.open-guide { position:absolute; left:10%; right:10%; top:10%; bottom:8%; display:grid; grid-template-columns:1fr 1fr; filter:drop-shadow(0 22px 25px rgba(49,35,29,.22)); transform:perspective(1100px) rotateX(3deg); }
.guide-page { position:relative; overflow:hidden; padding:6%; background:#fffef9; border:1px solid #d9d1c9; }.guide-page small { color:#b9342f; font-size:clamp(6px,.7vw,11px); font-weight:700; letter-spacing:.12em; }.guide-page h3 { margin:6% 0 4%; font-size:clamp(15px,2vw,30px); line-height:1.08; }.left-page { transform:skewY(1deg); transform-origin:right center; }.right-page { transform:skewY(-1deg); transform-origin:left center; box-shadow:inset 12px 0 20px rgba(0,0,0,.05); }
.heart-illustration { position:absolute; left:10%; bottom:12%; width:37%; aspect-ratio:1; border:9px solid #cf4e46; border-radius:48% 48% 52% 52%; transform:rotate(45deg); background:#ecb0a6; }.heart-illustration::before { content:""; position:absolute; width:52%; height:52%; left:-22%; top:-22%; border-radius:50%; background:#ecb0a6; border:8px solid #cf4e46; border-right:0; border-bottom:0; }.heart-illustration::after { content:""; position:absolute; width:52%; height:52%; right:-22%; top:-22%; border-radius:50%; background:#ecb0a6; border:8px solid #cf4e46; border-left:0; border-bottom:0; }
.note-lines { position:absolute; right:7%; bottom:13%; width:39%; height:40%; background:repeating-linear-gradient(to bottom,#bbb 0 1px,transparent 1px 13px); opacity:.55; }
.system-map { display:grid; grid-template-columns:1fr 1fr; gap:8px; width:68%; margin:9% auto 0; }.system-map i { aspect-ratio:1; border:2px solid #27718d; border-radius:50%; background:radial-gradient(circle,#efc94b 0 22%,transparent 23%); }.system-map i:nth-child(2){border-color:#ca3f37}.system-map i:nth-child(3){border-color:#4e805f}.system-map i:nth-child(4){border-color:#8a6daa}
.memory-box { position:absolute; left:9%; right:9%; bottom:8%; padding:3%; color:#fff; background:#184f66; font-size:clamp(7px,.75vw,12px); font-weight:600; text-align:center; }
.hotspot { position:absolute; z-index:3; width:32px; height:32px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; color:#fff; background:var(--red); box-shadow:0 2px 8px rgba(0,0,0,.2); cursor:pointer; font-size:22px; line-height:1; transition:transform .2s; }.hotspot::before { content:""; position:absolute; inset:-7px; border:2px solid rgba(214,58,47,.36); border-radius:50%; animation:hotspot-pulse 1.8s ease-out infinite; }.hotspot::after { content:attr(data-label); position:absolute; left:50%; bottom:calc(100% + 11px); width:max-content; max-width:210px; padding:8px 11px; border-radius:6px; color:#fff; background:#111; font-size:10px; font-weight:600; line-height:1.35; opacity:0; pointer-events:none; transform:translate(-50%,5px); transition:.2s; }.hotspot:hover,.hotspot:focus { transform:scale(1.08); }.hotspot:hover::after,.hotspot:focus::after { opacity:1; transform:translate(-50%,0); }.hotspot.h1{left:34%;top:22%}.hotspot.h2{left:62%;top:35%}.hotspot.h3{left:53%;top:55%}.hotspot.h4{left:23%;top:58%}.hotspot.h5{left:45%;top:84%}
@keyframes hotspot-pulse { 0%{transform:scale(.8);opacity:1} 100%{transform:scale(1.5);opacity:0} }

/* Step 1 explainer */
.why-guide { display:grid; grid-template-columns:1fr 1fr; align-items:center; margin-bottom:28px; overflow:hidden; border-radius:var(--radius); background:var(--warm); }
.why-visual { position:relative; aspect-ratio:1; display:grid; place-items:center; overflow:hidden; background:linear-gradient(150deg,#e9b2a9,#cf5b52); }.why-visual::before { content:""; position:absolute; width:72%; height:72%; border:1px solid rgba(255,255,255,.4); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.08); }.why-visual > button { position:absolute; z-index:3; width:76px; height:76px; border:0; border-radius:50%; color:#111; background:#fff; box-shadow:0 8px 24px rgba(0,0,0,.18); cursor:pointer; font-size:24px; }
.clinical-screen { position:absolute; width:63%; height:72%; padding:7%; overflow:hidden; color:#fff; background:#164f67; border:12px solid #111; border-radius:20px; box-shadow:25px 30px 40px rgba(66,32,29,.27); transform:rotate(-7deg); }.clinical-screen span { font-size:clamp(7px,.8vw,12px); font-weight:700; letter-spacing:.1em; }.clinical-screen > b { position:absolute; left:7%; right:7%; bottom:7%; font-size:clamp(8px,1vw,14px); line-height:1.3; }.body-map { position:relative; width:55%; aspect-ratio:1; margin:13% auto 0; border:3px solid #fff; border-radius:45%; }.body-map i { position:absolute; width:27%; aspect-ratio:1; border-radius:50%; background:#efc849; }.body-map i:nth-child(1){left:10%;top:15%}.body-map i:nth-child(2){right:8%;top:26%;background:#df776d}.body-map i:nth-child(3){left:38%;bottom:7%;background:#72a185}
.why-copy { padding:9%; }.why-copy h2 { max-width:480px; margin:0 0 25px; font-size:clamp(31px,3.2vw,48px); line-height:1.12; letter-spacing:-.035em; }.why-copy p { max-width:520px; margin:0; font-size:14px; line-height:1.8; }

.comparison h2 { margin:0 0 31px; text-align:center; font-size:clamp(27px,3vw,43px); letter-spacing:-.025em; }
.university-trust { padding:74px 0 32px; }.university-trust h2 { margin:0 auto 45px; text-align:center; font-size:clamp(27px,3vw,43px); line-height:1.2; letter-spacing:-.025em; }.university-logos { display:grid; grid-template-columns:repeat(5,1fr); align-items:center; gap:20px; }.university-logos span { min-height:82px; display:grid; place-items:center; padding:15px; border:1px solid var(--line); border-radius:10px; color:#535353; font-family:Georgia,serif; font-size:clamp(12px,1.2vw,18px); font-weight:700; text-align:center; letter-spacing:.03em; }

/* Complete product-page modules */
.product-gallery { position:sticky; top:18px; align-self:start; }
.preview-button { min-width:108px; height:42px; margin:0 0 25px; padding:0 18px; border:1px solid var(--red); border-radius:23px; color:var(--red); background:#fff; font-size:12px; font-weight:600; cursor:pointer; transition:color .2s,background .2s; }.preview-button:hover { color:#fff; background:var(--red); }
.bundle-builder { margin-top:34px; padding-top:3px; }.bundle-builder h2 { margin:0 0 17px; font-size:18px; }.bundle-item { position:relative; display:grid; grid-template-columns:19px 68px 1fr; align-items:center; gap:12px; min-height:92px; margin-bottom:10px; padding:10px; border-radius:9px; background:#f5f1ed; cursor:pointer; }.bundle-item > input { width:15px; height:15px; accent-color:#111; }.bundle-thumb { width:68px; height:68px; display:grid; place-items:center; color:#fff; font-weight:700; box-shadow:3px 5px 9px rgba(0,0,0,.12); }.bundle-guide { background:#c9362f; font-size:34px; }.bundle-cards { background:#2f8790; }.bundle-bank { color:#111; background:#e6c64c; font-size:26px; }.bundle-copy { min-width:0; display:flex; flex-direction:column; line-height:1.35; }.bundle-copy strong { margin-bottom:3px; font-size:11px; }.bundle-copy small { font-size:10px; }.bundle-copy small b,.bundle-total > strong { color:var(--red); }.bundle-copy small s,.bundle-total s { margin-left:5px; color:#777; font-weight:400; }.bundle-copy em { margin-top:6px; padding:6px 9px; overflow:hidden; border:1px solid #ded8d2; border-radius:15px; background:#fff; font-size:9px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }.bundle-total { display:flex; flex-direction:column; align-items:center; margin:16px 0 11px; font-size:11px; }.bundle-total > strong { margin-top:4px; font-size:14px; }.bundle-add { width:100%; height:47px; border:0; border-radius:24px; color:#fff; background:#000; font-size:12px; font-weight:700; cursor:pointer; }

.video-testimonials { padding-top:32px; padding-bottom:66px; }.video-rail { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 48px)/5); gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }.video-rail::-webkit-scrollbar { display:none; }.video-card { position:relative; aspect-ratio:.66; overflow:hidden; border-radius:12px; scroll-snap-align:start; background:linear-gradient(160deg,#ddd 0 48%,#aaa 49% 100%); }.video-card::before { content:""; position:absolute; inset:0; background:linear-gradient(to bottom,transparent 55%,rgba(0,0,0,.66)); }.video-card.v1{background:linear-gradient(160deg,#c8d9e4,#758e9d)}.video-card.v2{background:linear-gradient(160deg,#f0d1c3,#b87862)}.video-card.v3{background:linear-gradient(160deg,#d8c6b3,#836c5d)}.video-card.v4{background:linear-gradient(160deg,#e7b9ba,#9f5558)}.video-card.v5{background:linear-gradient(160deg,#d6d8ce,#777d6b)}
.video-label { position:absolute; z-index:2; left:12px; top:12px; padding:6px 8px; border-radius:5px; color:#fff; background:rgba(0,0,0,.6); font-size:7px; font-weight:700; letter-spacing:.09em; }.video-card .portrait { position:absolute; left:50%; top:21%; width:42%; aspect-ratio:1; border-radius:50%; background:#efc4aa; transform:translateX(-50%); }.video-card .portrait::before { content:""; position:absolute; width:52%; height:52%; left:24%; top:12%; border-radius:50%; background:#332a28; }.video-card .portrait::after { content:""; position:absolute; left:-34%; right:-34%; top:73%; height:145%; border-radius:50% 50% 0 0; background:#fff; }.video-card.v2 .portrait::after{background:#bc3c34}.video-card.v3 .portrait::after{background:#e7e0d6}.video-card.v4 .portrait::after{background:#9f2545}.video-card.v5 .portrait::after{background:#3f6d75}
.video-card > button { position:absolute; z-index:3; left:50%; top:49%; width:48px; height:48px; border:0; border-radius:50%; color:#111; background:rgba(255,255,255,.93); cursor:pointer; transform:translate(-50%,-50%); }.video-card p { position:absolute; z-index:2; left:15px; right:15px; bottom:13px; margin:0; color:#fff; font-size:11px; font-weight:600; }.video-controls { display:flex; justify-content:center; gap:8px; margin-top:16px; }.video-controls button { width:34px; height:34px; border:1px solid #ddd; border-radius:6px; background:#fff; cursor:pointer; }

.customer-reviews { padding-top:23px; padding-bottom:86px; }.customer-review-head { display:grid; grid-template-columns:1.1fr 1fr auto; align-items:center; gap:45px; padding-bottom:26px; border-bottom:1px solid var(--line); }.customer-review-head h2 { margin:0 0 14px; font-size:22px; }.score-block { display:flex; align-items:center; gap:18px; }.score-block > strong { font-size:43px; font-weight:400; }.score-block span { display:flex; flex-direction:column; }.score-block b { color:#f3ad16; font-size:17px; letter-spacing:1px; }.score-block small { margin-top:4px; font-size:10px; }.rating-bars div { display:grid; grid-template-columns:12px 1fr; align-items:center; gap:7px; margin:4px 0; }.rating-bars span { font-size:9px; }.rating-bars i { width:145px; height:7px; background:#e7e7e7; }.rating-bars b { display:block; height:100%; background:#f04a50; }.write-review { height:43px; padding:0 20px; border:0; border-radius:4px; color:#fff; background:#f04b50; font-size:11px; font-weight:700; cursor:pointer; }.review-filters { display:flex; gap:10px; padding:20px 0; border-bottom:1px solid var(--line); }.review-filters label:first-child { flex:1; }.review-filters input[type="search"],.review-filters select { width:100%; height:41px; padding:0 13px; border:1px solid #ddd; background:#fff; font-size:11px; }.review-filters select { width:150px; }.media-filter { display:flex; align-items:center; gap:7px; min-width:130px; font-size:10px; }.written-reviews article { display:grid; grid-template-columns:36px 1fr 70px; gap:18px; padding:25px 0; border-bottom:1px solid var(--line); }.reviewer-mark { width:31px; height:31px; display:grid; place-items:center; border:1px solid #111; border-radius:50%; font-size:8px; }.written-meta { display:flex; justify-content:space-between; align-items:center; }.written-meta strong { font-size:11px; }.written-meta span { color:#f3ad16; font-size:13px; letter-spacing:1px; }.written-reviews h3 { margin:6px 0 4px; font-size:13px; }.written-reviews p { margin:0 0 8px; font-size:11px; }.written-reviews small { color:#c24545; font-size:9px; }.written-reviews time { color:#777; font-size:9px; text-align:right; }

.sticky-cart { position:fixed; z-index:35; left:0; right:0; bottom:0; min-height:70px; display:grid; grid-template-columns:minmax(330px,1fr) 180px 105px 170px; align-items:center; gap:11px; padding:8px max(22px,calc((100vw - var(--page))/2)); background:#fff; border-top:1px solid var(--line); box-shadow:0 -7px 18px rgba(0,0,0,.07); transform:translateY(105%); transition:transform .25s ease; }.sticky-cart.visible { transform:translateY(0); }.sticky-product { display:flex; align-items:center; gap:12px; }.sticky-cover { width:48px; height:48px; display:grid; place-items:center; color:#fff; background:#c9362f; font-size:24px; font-weight:700; }.sticky-product > div { display:flex; flex-direction:column; }.sticky-product strong { font-size:11px; }.sticky-product small { font-size:10px; }.sticky-product b { color:var(--red); }.sticky-product s { color:#777; }.sticky-cart select,.sticky-quantity,.sticky-add { height:44px; border-radius:23px; }.sticky-cart select { padding:0 14px; border:1px solid #ddd; background:#fff; font-size:10px; }.sticky-quantity { display:grid; grid-template-columns:1fr 25px 1fr; align-items:center; border:1px solid #ddd; }.sticky-quantity button { border:0; background:transparent; cursor:pointer; }.sticky-quantity span { text-align:center; font-size:10px; }.sticky-add { border:0; color:#fff; background:#000; font-size:11px; font-weight:700; cursor:pointer; }
.free-pack-trigger { position:fixed; z-index:34; left:18px; bottom:18px; width:70px; height:70px; border:3px solid #bdd5ea; border-radius:50%; color:#173f6b; background:#fff; box-shadow:0 5px 20px rgba(0,0,0,.14); font-size:10px; font-weight:700; line-height:1; cursor:pointer; transition:bottom .25s; }.free-pack-trigger span { font-size:8px; }.sticky-cart.visible + .free-pack-trigger { bottom:84px; }
.preview-modal,.free-pack-modal { width:min(1080px,calc(100% - 30px)); max-height:90vh; padding:0; overflow:auto; border:0; border-radius:17px; box-shadow:0 25px 80px rgba(0,0,0,.28); }.preview-modal::backdrop,.free-pack-modal::backdrop { background:rgba(0,0,0,.55); }.modal-close { position:absolute; z-index:5; right:14px; top:12px; width:38px; height:38px; border:1px solid #bbb; border-radius:50%; background:#fff; cursor:pointer; font-size:24px; }.preview-modal { padding:42px; background:#f3eeea; }.preview-modal-copy { max-width:600px; margin:0 auto 30px; text-align:center; }.preview-modal-copy > span { color:var(--red); font-size:10px; font-weight:700; letter-spacing:.12em; }.preview-modal-copy h2 { margin:8px 0; font-size:38px; }.preview-modal-copy p { margin:0; font-size:12px; }.preview-pages { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }.preview-pages article { position:relative; min-height:390px; padding:25px; overflow:hidden; background:#fff; box-shadow:0 10px 30px rgba(0,0,0,.09); }.preview-pages small { color:var(--red); font-size:8px; font-weight:700; }.preview-pages h3 { margin:15px 0 20px; font-size:20px; }.sample-organ { width:120px; height:120px; margin:35px auto; border:7px solid #ce4d45; border-radius:45% 55%; background:#efb0a6; }.sample-lines { height:120px; margin-top:25px; background:repeating-linear-gradient(to bottom,#bbb 0 1px,transparent 1px 12px); opacity:.55; }.sample-pills { display:flex; justify-content:center; gap:10px; margin:62px 0 67px; }.sample-pills i { width:32px; height:75px; border-radius:20px; background:linear-gradient(#efc94b 0 50%,#d63a2f 50%); transform:rotate(35deg); }.sample-pills i:nth-child(2){background:linear-gradient(#6b93b2 0 50%,#fff 50%)}.sample-pills i:nth-child(3){background:linear-gradient(#73a183 0 50%,#efc94b 50%)}.sample-question { width:115px; height:115px; display:grid; place-items:center; margin:39px auto; border-radius:50%; color:#fff; background:#164f67; font-size:65px; font-weight:700; }
.free-pack-modal { display:none; grid-template-columns:1fr 1fr; min-height:580px; background:#eaf7ff; }.free-pack-modal[open] { display:grid; }.pack-art { position:relative; overflow:hidden; background:linear-gradient(100deg,#fff 0 48%,#eaf7ff 48%); }.pack-art::after { content:""; position:absolute; left:70%; top:-5%; bottom:-5%; width:9px; background:#aaa; transform:rotate(10deg); opacity:.45; }.pack-book { position:absolute; width:42%; aspect-ratio:.7; display:grid; place-items:center; padding:18px; color:#fff; text-align:center; font-size:24px; font-weight:700; box-shadow:15px 20px 25px rgba(0,0,0,.2); }.pack-book.one { left:20%; top:10%; background:#c9362f; transform:rotate(-7deg); }.pack-book.two { left:36%; top:40%; background:#e8a26b; transform:rotate(7deg); }.pack-book b { font-size:13px; }.pack-copy { display:flex; flex-direction:column; justify-content:center; padding:60px 54px; text-align:center; }.pack-copy > span { font-size:14px; font-weight:600; }.pack-copy h2 { margin:6px 0 2px; font-size:39px; line-height:1; }.pack-copy > strong { margin-bottom:25px; color:#f04b50; }.pack-copy input,.pack-copy select,.pack-copy button { height:46px; margin:5px 0; padding:0 13px; border:1px solid #bbb; border-radius:4px; background:#fff; }.pack-copy button { border:0; color:#fff; background:#f04b50; font-weight:700; cursor:pointer; }

@media (max-width: 1120px) {
  .header-inner { grid-template-columns:200px 1fr 135px; }.desktop-nav { gap:17px; }.desktop-nav a { font-size:11px; }
  .product-section { gap:28px; }.product-info { padding-left:12px; }.benefits { grid-template-columns:1fr; padding:18px 0; }.benefits div { font-size:11px; }
  .system-card { padding:30px 22px; }.system-card h3 { font-size:24px; }
  .hotspot-showcase { width:92%; }
}

@media (max-width: 767px) {
  .page-width { width:calc(100% - 30px); }.announcement { height:32px; font-size:10px; }.header-inner { width:calc(100% - 30px); height:66px; grid-template-columns:40px 1fr 74px; gap:5px; }.desktop-nav,.account-button { display:none; }.menu-button { display:flex; flex-direction:column; justify-content:center; gap:5px; width:27px; }.menu-button span { display:block; width:20px; height:1.5px; background:#000; }.brand { justify-self:center; }.brand-mark { width:31px; height:31px; font-size:17px; }.brand-word { font-size:15px; }.header-actions { gap:10px; }.header-actions .icon-button { width:23px; height:23px; }.cart-button svg { width:23px; }.mobile-nav { position:absolute; left:0; right:0; top:66px; display:flex; flex-direction:column; padding:18px 15px 24px; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 12px 25px rgba(0,0,0,.08); }.mobile-nav[hidden] { display:none; }.mobile-nav a { padding:12px 0; border-bottom:1px solid var(--line); font-size:13px; }
  .product-section { display:block; padding-top:15px; padding-bottom:34px; }.product-gallery { position:static; }.gallery-stage { border-radius:10px; }.gallery-arrow { display:none; }.thumbnails { grid-template-columns:repeat(5,1fr); gap:7px; margin-top:8px; }.thumb { padding:4px; border-radius:7px; }.thumb.active { padding:7px; }
  .product-info { padding:31px 0 0; }.product-info h1 { margin-bottom:12px; font-size:31px; }.rating-row { margin-bottom:18px; }.shipping { margin-bottom:13px; }.preview-button { margin-bottom:22px; }.purchase-row { grid-template-columns:116px 1fr; }.benefits { grid-template-columns:repeat(3,1fr); gap:7px; }.benefits div { flex-direction:column; text-align:center; font-size:8px; }.benefits svg { width:24px; height:24px; }.bundle-item { grid-template-columns:18px 58px 1fr; }.bundle-thumb { width:58px; height:58px; }
  .video-testimonials { width:100%; padding-left:15px; padding-top:22px; padding-bottom:48px; }.video-rail { grid-auto-columns:62vw; padding-right:15px; }.video-controls { padding-right:15px; }
  .customer-reviews { padding-bottom:62px; }.customer-review-head { grid-template-columns:1fr 1fr; gap:22px; }.customer-review-head > div:first-child { grid-column:1 / -1; }.write-review { justify-self:start; }.rating-bars i { width:110px; }.review-filters { flex-wrap:wrap; }.review-filters label:first-child { flex:1 0 100%; }.review-filters select { width:calc(50% - 5px); }.media-filter { min-width:100%; }.written-reviews article { grid-template-columns:32px 1fr; }.written-reviews time { display:none; }
  .integrated { padding-bottom:62px; }.integrated h2,.reviews h2,.related h2 { margin-bottom:27px; font-size:29px; }.system-visual { grid-template-columns:1fr 1fr; min-height:0; }.system-card { min-height:300px; padding:26px 20px; }.system-card h3 { font-size:23px; }.system-card p { font-size:10px; }
  .spiral-book { width:64%; height:79%; left:18%; }.spiral { width:25px; }.spiral i { width:27px; height:10px; border-width:4px; }.edition-flag { min-width:48px; padding:10px 4px 19px; }.step-one { font-size:48vw; }.hotspot-showcase { width:100%; aspect-ratio:1.12; }.open-guide { left:5%; right:5%; top:13%; bottom:9%; }.guide-page { padding:5%; }.hotspot { width:27px; height:27px; font-size:18px; }.hotspot::after { width:145px; white-space:normal; }.why-guide { grid-template-columns:1fr; margin-bottom:20px; }.why-copy { padding:45px 25px 49px; }.why-copy h2 { font-size:31px; }.why-copy p { font-size:12px; }.why-visual > button { width:62px; height:62px; }.comparison { padding:59px 0 68px; }.comparison h2 { margin-bottom:25px; font-size:28px; }.comparison-box { height:450px; border-width:6px; }.compare-panel { padding:25px 18px; }.compare-panel > span { font-size:8px; }.visual-note { display:block; }.big-letter { margin-top:45px; font-size:80px; line-height:1; }.visual-note h3 { margin-top:16px; font-size:18px; }.visual-note p { font-size:9px; }.compare-handle::before { width:45px; height:45px; }
  .university-trust { padding:55px 0 22px; }.university-trust h2 { margin-bottom:28px; font-size:29px; }.university-logos { grid-template-columns:1fr 1fr; gap:9px; }.university-logos span:last-child { grid-column:1 / -1; }.university-logos span { min-height:66px; font-size:12px; }
  .feature-band { padding:60px 0; }.feature-grid { grid-template-columns:1fr; gap:48px; }.feature-grid article { padding-top:37px; }.feature-grid h3 { font-size:22px; }
  .reviews { padding-top:67px; padding-bottom:67px; }.review-controls { display:none; }.review-grid { grid-auto-flow:column; grid-auto-columns:82%; grid-template-columns:none; gap:11px; overflow-x:auto; padding-bottom:14px; scroll-snap-type:x mandatory; }.review-card { min-height:360px; scroll-snap-align:start; }.avatar { height:165px; }
  .related { padding-bottom:75px; }.related .section-heading > a { display:none; }.related-grid { grid-template-columns:1fr 1fr; gap:28px 10px; }.product-card-art { border-radius:9px; }.product-card h3 { font-size:13px; }
  .newsletter { padding:56px 0; }.newsletter-inner { grid-template-columns:1fr; gap:28px; }.newsletter h2 { font-size:30px; }.email-form { grid-template-columns:1fr; }.email-form button { width:100%; }
  footer { padding-top:58px; }.footer-grid { grid-template-columns:1fr 1fr; gap:42px 28px; padding-bottom:50px; }.footer-brand { grid-column:1 / -1; }.footer-bottom { flex-direction:column; gap:8px; }
  .sticky-cart { min-height:64px; grid-template-columns:1fr 125px; padding:8px 12px; }.sticky-product,.sticky-quantity { display:none; }.sticky-cart select,.sticky-add { height:43px; }.free-pack-trigger { width:60px; height:60px; left:10px; bottom:10px; }.sticky-cart.visible + .free-pack-trigger { bottom:74px; }.preview-modal { padding:50px 15px 20px; }.preview-modal-copy h2 { font-size:28px; }.preview-pages { grid-auto-flow:column; grid-auto-columns:82%; grid-template-columns:none; overflow-x:auto; }.preview-pages article { min-height:370px; }.free-pack-modal[open] { display:block; }.pack-art { height:250px; }.pack-book { width:31%; font-size:15px; }.pack-book.one { left:27%; top:5%; }.pack-book.two { left:46%; top:30%; }.pack-copy { padding:35px 22px 28px; }.pack-copy h2 { font-size:31px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; } *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}

/* Public brand launch. Storefront concept is retained in drafts/. */
.product-info h1 { font-size: clamp(2.8rem, 6vw, 4.8rem); line-height: 1.05; margin: 12px 0 18px; }
.product-info h2 { font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.3; }
.product-info p { font-size: 1rem; line-height: 1.8; }
.product-info .eyebrow { font-size: .875rem; }
.launch-intro { margin-top: 24px; }
.launch-status { padding: 20px 24px; margin: 28px 0; background: #f2f6ff; border-left: 3px solid #334c92; }
.launch-status p { margin-bottom: 0; }
.launch-link { display: inline-block; font-weight: 700; padding: 14px 0; }
.launch-faq { padding-top: 64px; padding-bottom: 72px; max-width: 920px; }
.launch-faq h2 { margin-bottom: 28px; }
.launch-faq p, .why-copy p { font-size: 1rem; line-height: 1.8; }
.footer-grid { grid-template-columns: 2fr 1fr; }
body { padding-bottom: 0; }
.compare-handle { display: none; }
@media (max-width: 600px) { .footer-grid { grid-template-columns: 1fr; } .launch-faq { padding-top: 40px; padding-bottom: 48px; } }
