/* ==== font fallback metrics (fix_font_shift.py) ==== */
@font-face{font-family:"Onest Fallback";src:local("Arial");font-weight:400;size-adjust:106.20%;ascent-override:91.34%;descent-override:28.72%;line-gap-override:0.00%}
@font-face{font-family:"Onest Fallback";src:local("Arial Bold");font-weight:600 900;size-adjust:100.77%;ascent-override:96.26%;descent-override:30.27%;line-gap-override:0.00%}
@font-face{font-family:"Unbounded Fallback";src:local("Arial");font-weight:400;size-adjust:136.39%;ascent-override:72.95%;descent-override:17.96%;line-gap-override:0.00%}
@font-face{font-family:"Unbounded Fallback";src:local("Arial Bold");font-weight:600 900;size-adjust:132.72%;ascent-override:74.97%;descent-override:18.46%;line-gap-override:0.00%}
/* ==== end font fallback metrics ==== */
/* ================= sections ================= */
.sec{position:relative;padding-block:clamp(56px,7vw,100px)}
.band--paper{background:#fff}
.band--tint{background:var(--glow)}
.band--dark{background:var(--char);color:var(--on-dark-2)}
.band--dark h2,.band--dark h3,.band--dark strong{color:#fff}
.band--dark a{color:var(--flame-soft)}
.sec+.sec:not(.band--tint):not(.band--dark){border-top:1px solid var(--line)}
.sec__head{margin-bottom:30px;max-width:840px}
.sec__head--split{max-width:none}
@media (min-width:1000px){.wrap--wide>.sec__head--split{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:48px;align-items:end}.wrap--wide>.sec__head--split .sec__intro{margin-top:0}}
.sec__tag{display:none}
.sec__hl h2::after{content:"";display:block;width:132px;height:12px;margin-top:16px;background:linear-gradient(var(--ember),var(--ember)) 0 0/100% 3px no-repeat,repeating-linear-gradient(90deg,var(--ember) 0 1.5px,transparent 1.5px 12px) 0 3px/100% 9px no-repeat,repeating-linear-gradient(90deg,var(--ember) 0 1.5px,transparent 1.5px 6px) 0 3px/100% 5px no-repeat;transform-origin:left;transition:transform 900ms 120ms var(--ease)}
html.rv-on .sec__head.rv:not(.in) h2::after{transform:scaleX(.08)}
.band--dark .sec__hl h2::after{background:linear-gradient(var(--flame-soft),var(--flame-soft)) 0 0/100% 3px no-repeat,repeating-linear-gradient(90deg,var(--flame-soft) 0 1.5px,transparent 1.5px 12px) 0 3px/100% 9px no-repeat,repeating-linear-gradient(90deg,var(--flame-soft) 0 1.5px,transparent 1.5px 6px) 0 3px/100% 5px no-repeat}
.sec__intro{margin-top:16px}
.sec__intro p{margin:0;font-size:18.5px;color:var(--ink-2);max-width:66ch}
.band--dark .sec__intro p{color:var(--on-dark-2)}
.sec__intro .lead{margin-top:10px}
.lead{font-size:19px;color:var(--ink-2)}
.sec__body>p,.sec .split__text p{max-width:70ch}
.sec h3{margin:30px 0 10px}
.sec .grid h3,.sec .steps h3,.sec .pack h3,.sec .pc h3,.sec .qa h3,.sec .card h3,.sec .tl h3,.sec .contact__c h3,.sec .flip h3,.sec .hub h3,.sec .track h3,.sec .rvw h3,.sec .pcard h3{margin:0}
.list{padding-left:22px;margin:0 0 18px}
.list li{margin-bottom:8px}
.list li::marker{color:var(--ember)}
.cite{font-size:.88em;overflow-wrap:anywhere}
.center{text-align:center}.small{font-size:15px;color:var(--ink-3)}.muted{color:var(--ink-3)}
hr.sep{border:0;border-top:1px solid var(--line);margin:32px 0}
/* reveal: one quiet rise; components below carry their own explanatory motion */
html.rv-on .rv{opacity:0;transform:translateY(16px);transition:opacity var(--t-reveal) var(--ease) calc(var(--i) * 60ms),transform var(--t-reveal) var(--ease) calc(var(--i) * 60ms)}
html.rv-on .rv.in{opacity:1;transform:none}
html.rv-on tr.rv{transform:none}
/* ticks */
.ticks{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 22px}
.ticks li{display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.ticks .i{width:22px;height:22px;padding:4px;border-radius:50%;background:var(--ember-tint);color:var(--ember-ink);margin-top:1px}
@media (max-width:620px){.ticks{grid-template-columns:1fr}}
/* cards */
.grid{display:grid;gap:18px;margin:26px 0 8px}
.grid>.fig{margin:0}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.grid--4,.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}
.card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;height:100%;color:var(--ink);text-decoration:none;min-width:0;transition:transform var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease),border-color var(--t-hover) var(--ease)}
.band--tint .card{border-color:var(--glow-2)}
.card__body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.card__body p{margin:0;color:var(--ink-2);font-size:16px}
.card__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--glow);color:var(--ember)}
.band--tint .card__icon{background:var(--ember-tint)}
.card__icon .i{width:23px;height:23px}
.card__img{aspect-ratio:4/3;overflow:hidden;background:var(--glow)}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform 700ms var(--ease)}
.card__more{margin-top:auto;font-weight:750;color:var(--ember-ink);font-size:15px;padding-top:6px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.card--link:hover,.card--link:focus-visible{transform:translateY(-4px);box-shadow:var(--lift);border-color:var(--line-2);color:var(--ink)}
.card--link:hover .card__img img{transform:scale(1.04)}
.tag{align-self:flex-start;font-size:13px;font-weight:750;color:var(--ember-ink);background:var(--ember-tint);padding:3px 10px;border-radius:999px}
.band--dark .card{background:var(--char-2);border-color:var(--char-line);color:var(--on-dark-2)}
.band--dark .card__body p{color:var(--on-dark-2)}
.band--dark .card__icon{background:rgba(255,255,255,.08);color:var(--flame-soft)}
/* figures and splits */
.fig{margin:26px 0}
.fig__frame{position:relative;border-radius:var(--r-xl);overflow:hidden;background:var(--glow);border:1px solid var(--line)}
.fig__frame img{width:100%;height:auto;max-height:600px;object-fit:contain}
.fig figcaption{font-size:14.5px;color:var(--ink-3);margin-top:12px;line-height:1.55;max-width:62ch}
.band--dark .fig figcaption{color:var(--on-dark-2)}
.band--dark .fig__frame{border-color:var(--char-line)}
.fig--tall{max-width:420px}
.fig--seal .fig__frame{max-width:220px;background:transparent;border:0}
.fig--pack .fig__frame{padding:22px;background:#fff}
.fig--center{margin-inline:auto}
.fig--plain .fig__frame{background:transparent;border:0}
.split{display:grid;gap:clamp(28px,4vw,60px);align-items:center;margin:30px 0}
.split--5-7{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.split--4-8{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
.split--6-6{grid-template-columns:repeat(2,minmax(0,1fr))}
.split--right .split__media{order:2}
.split--right.split--5-7{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.split--right.split--4-8{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}
.split__media .fig{margin:0}
.split__text>:first-child{margin-top:0}
.split .tbl table{min-width:0}
@media (max-width:860px){.split,.split--5-7,.split--4-8,.split--6-6,.split--right.split--5-7,.split--right.split--4-8{grid-template-columns:minmax(0,1fr)}.split--right .split__media{order:0}.split__media{max-width:520px}}
/* tables */
.tbl{overflow-x:auto;margin:26px 0;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);-webkit-overflow-scrolling:touch}
.tbl table{width:100%;border-collapse:collapse;font-size:16px;min-width:560px}
.tbl caption{text-align:left;padding:14px 18px 6px;font-size:15px;font-weight:750;color:var(--ink);caption-side:top}
.tbl th,.tbl td{padding:13px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.tbl thead th{background:var(--glow);color:var(--ink);font-size:14px;font-weight:800;white-space:nowrap;border-bottom:1px solid var(--glow-2)}
.tbl tbody th{font-weight:720;color:var(--ink)}
.tbl tbody tr{transition:background-color var(--t-hover) var(--ease)}
.tbl tbody tr:hover{background:#FAF8FF}
.tbl tbody tr:last-child>*{border-bottom:0}
.tbl td{color:var(--ink-2)}
.tbl--compact table{min-width:0}
.tbl--compact thead th{white-space:normal}
.band--tint .tbl{border-color:var(--glow-2)}
.band--dark .tbl{background:var(--char-2);border-color:var(--char-line)}
.band--dark .tbl thead th{background:#33205A;color:#fff;border-color:var(--char-line)}
.band--dark .tbl th,.band--dark .tbl td{border-color:var(--char-line);color:var(--on-dark-2)}
.band--dark .tbl tbody th{color:#fff}
.band--dark .tbl tbody tr:hover{background:#33205A}
/* spec list */
.kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:26px 0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.kv>div{padding:15px 20px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:3px}
.kv>div:nth-child(odd){border-right:1px solid var(--line)}
.kv dt{font-size:13.5px;font-weight:650;color:var(--ink-3)}
.kv dd{margin:0;font-weight:700;color:var(--ink)}
@media (max-width:620px){.kv{grid-template-columns:1fr}.kv>div:nth-child(odd){border-right:0}}
/* numbered steps (a real sequence) */
.steps{list-style:none;margin:26px 0;padding:0;display:grid;gap:12px}
.step{position:relative;display:grid;grid-template-columns:58px 1fr;gap:16px;align-items:start;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
.band--tint .step{border-color:var(--glow-2)}
.step__n{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--char);color:#fff;font-weight:850;font-size:19px;font-variant-numeric:tabular-nums;transition:transform 600ms var(--ease),background-color 600ms var(--ease)}
html.rv-on .steps.fx:not(.in) .step__n{transform:scale(.5);background:var(--line-2)}
.step h3{margin-bottom:4px!important;padding-top:3px}
.step p{margin:0;color:var(--ink-2)}
.steps--row{grid-template-columns:repeat(3,minmax(0,1fr))}
.steps--row .step{grid-template-columns:1fr}
@media (max-width:860px){.steps--row{grid-template-columns:1fr}.steps--row .step{grid-template-columns:58px 1fr}}
.band--dark .step{background:var(--char-2);border-color:var(--char-line)}
.band--dark .step p{color:var(--on-dark-2)}
.band--dark .step__n{background:var(--ember)}
/* callouts */
.callout{display:flex;gap:14px;align-items:flex-start;padding:16px 20px;border-radius:var(--r-lg);margin:24px 0;background:#fff;border:1px solid var(--line)}
.callout>.i{width:36px;height:36px;padding:8px;border-radius:11px;background:var(--char);color:#fff;flex:none}
.callout div{min-width:0;padding-top:6px}
.callout p{margin:0}
.callout--warn{background:var(--warn-tint);border-color:#DDD2F0}
.callout--warn>.i{background:var(--warn)}
.callout--ok{background:var(--leaf-tint);border-color:#CFE3D4}
.callout--ok>.i{background:var(--leaf)}
.callout--tip>.i{background:var(--ember)}
.band--dark .callout{background:var(--char-2);border-color:var(--char-line);color:var(--on-dark-2)}
/* pros and cons */
.pc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:26px 0}
.pc__col{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 22px 12px}
.pc__col h3{margin-bottom:10px!important;font-size:17px}
.pc__col--pro h3{color:var(--leaf)}
.pc__col--con h3{color:var(--ember-ink)}
.pc ul{list-style:none;margin:0;padding:0}
.pc li{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line);color:var(--ink-2)}
.pc li:first-child{border-top:0}
.pc .i{width:20px;height:20px;margin-top:3px}
.pc__col--pro .i{color:var(--leaf)}
.pc__col--con .i{color:var(--ember)}
@media (max-width:760px){.pc{grid-template-columns:1fr}}
/* stats */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:6px 0}
.stat{display:flex;flex-direction:column;gap:6px;padding:8px 22px;border-left:1px solid var(--char-line)}
.band:not(.band--dark) .stat{border-left-color:var(--line)}
.stat:first-child{border-left:0;padding-left:0}
.stat__big{font-weight:850;font-size:clamp(40px,4.6vw,62px);line-height:1;letter-spacing:-.03em;color:var(--flame-soft);font-variant-numeric:tabular-nums}
.band:not(.band--dark) .stat__big{color:var(--ember)}
.stat__small{font-size:15.5px;color:var(--on-dark-2);line-height:1.45}
.band:not(.band--dark) .stat__small{color:var(--ink-2)}
@media (max-width:860px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 0}.stat:nth-child(3){border-left:0;padding-left:0}}
.statsband{padding-block:56px}
/* promo strip */
.promo{background:var(--ember);background-image:linear-gradient(90deg,#4A1F9E,#5B2BB5 55%,#A67CF2);color:#fff;padding-block:16px}
.promo__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 26px}
.promo__items{display:flex;flex-wrap:wrap;gap:10px 28px;list-style:none;margin:0;padding:0}
.promo__items li{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:15.5px;color:#fff}
.promo__items .i{width:20px;height:20px}
@media (max-width:760px){.promo__items{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;font-size:14px}.promo .btn{width:100%}}
/* trust strip */
.truststrip{padding-block:22px;border-bottom:1px solid var(--line)}
.truststrip__in{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px 30px}
.truststrip__k{margin:0;font-weight:800}
.truststrip__x{margin:0;font-size:14.5px;color:var(--ink-3);max-width:320px}
@media (max-width:980px){.truststrip__in{grid-template-columns:1fr;text-align:center;justify-items:center}.truststrip__x{max-width:none}}
/* dose meter */
.dm{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px 10px;margin:26px 0}
.dm__legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14.5px;color:var(--ink-3);margin-bottom:14px}
.dm__legend span{display:inline-flex;align-items:center;gap:8px}
.dm__k{display:inline-block;width:14px;height:14px;border-radius:4px}
.dm__k--label{background:var(--ember)}
.dm__k--full{background:var(--glow);border:1px solid var(--line-2)}
.dm__row{padding:14px 0;border-top:1px solid var(--line)}
.dm__head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 14px;margin-bottom:8px}
.dm__share{font-weight:750;color:var(--ember-ink);font-size:15px}
.dm__share--na{color:var(--warn)}
.dm__bar{height:14px;border-radius:999px;background:var(--glow);overflow:hidden;position:relative}
.dm__bar span{display:block;height:100%;width:var(--v);min-width:6px;border-radius:999px;background:var(--ember);transform-origin:left;transition:transform 1200ms var(--ease)}
.dm__bar--unknown{background:repeating-linear-gradient(90deg,var(--glow) 0 10px,#fff 10px 12px);border:1px dashed var(--line-2)}
.dm__bar--unknown::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(91,43,181,.18),transparent);transform:translateX(-100%);animation:scan 2.6s ease-in-out infinite}
.dm__bar--unknown span{display:none}
.dm__note{font-size:15px;color:var(--ink-3);margin:8px 0 0}
@keyframes scan{to{transform:translateX(100%)}}
html.rv-on .dm.fx:not(.in) .dm__bar span{transform:scaleX(0)}
/* editorial score */
.score{display:grid;grid-template-columns:240px 1fr;gap:28px;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:24px;margin:26px 0}
.score__total{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:22px;border-radius:var(--r-lg);background:var(--char);color:#fff;text-align:center}
.score__ring{width:150px;height:150px;transform:rotate(-90deg)}
.score__track{fill:none;stroke:#3F2C66;stroke-width:9}
.score__arc{fill:none;stroke:var(--flame);stroke-width:9;stroke-linecap:round;stroke-dasharray:var(--c);stroke-dashoffset:var(--o);transition:stroke-dashoffset 1400ms var(--ease)}
html.rv-on .score.fx:not(.in) .score__arc{stroke-dashoffset:var(--c)}
.score__num{position:absolute;top:calc(22px + 75px);left:50%;translate:-50% -50%;font-size:48px;font-weight:850;line-height:1;letter-spacing:-.03em}
.score__of{font-size:15px;color:var(--on-dark-2);margin-top:8px}
.score__cap{font-size:13.5px;color:var(--on-dark-2)}
.score__row{padding:10px 0;border-bottom:1px solid var(--line)}
.score__row:last-child{border-bottom:0}
.score__top{display:flex;justify-content:space-between;gap:10px;font-weight:750}
.score__bar{height:8px;background:var(--glow);border-radius:999px;margin:8px 0;overflow:hidden}
.score__bar span{display:block;height:100%;width:var(--v);border-radius:999px;background:linear-gradient(90deg,var(--flame),var(--ember));transform-origin:left;transition:transform 1100ms var(--ease)}
html.rv-on .score.fx:not(.in) .score__bar span{transform:scaleX(0)}
.score__row p{margin:0;font-size:15px;color:var(--ink-3)}
@media (max-width:760px){.score{grid-template-columns:1fr}}
/* faq */
.faq{margin:24px 0;display:grid;gap:10px}
.qa{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;transition:border-color var(--t-ui) var(--ease),box-shadow var(--t-ui) var(--ease)}
.band--tint .qa{border-color:var(--glow-2)}
.qa[open]{border-color:var(--line-2);box-shadow:var(--shadow)}
.qa summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;min-height:60px}
.qa summary::-webkit-details-marker{display:none}
.qa summary h3{font-size:17.5px;font-weight:720;margin:0}
.qa summary:hover h3{color:var(--ember-ink)}
.qa__icon{flex:none;width:30px;height:30px;border-radius:50%;background:var(--glow);position:relative;transition:transform var(--t-ui) var(--ease),background-color var(--t-ui) var(--ease)}
.qa__icon::before,.qa__icon::after{content:"";position:absolute;left:50%;top:50%;translate:-50% -50%;width:12px;height:2px;border-radius:2px;background:var(--ember-ink)}
.qa__icon::after{transform:rotate(90deg)}
.qa[open] .qa__icon{transform:rotate(45deg);background:var(--ember)}
.qa[open] .qa__icon::before,.qa[open] .qa__icon::after{background:#fff}
.qa__a{padding:0 18px 6px;color:var(--ink-2)}
.qa[open] .qa__a{animation:fadeup 360ms var(--ease)}
@keyframes fadeup{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.band--dark .qa{background:var(--char-2);border-color:var(--char-line)}
.band--dark .qa__a{color:var(--on-dark-2)}
/* faq search */
.faqs__l{display:block;font-weight:750;margin:0 0 8px}
.faqs__box{position:relative;max-width:520px}
.faqs__box .i{position:absolute;left:16px;top:50%;translate:0 -50%;color:var(--ink-3)}
.faqs__box input{width:100%;min-height:52px;padding:0 16px 0 46px;border:1px solid var(--line-2);border-radius:var(--r-md);font:inherit;font-size:16.5px;color:var(--ink);background:#fff}
.faqs__box input:focus{outline:3px solid var(--flame);outline-offset:1px;border-color:var(--ember)}
.faqs__none{margin:14px 0 0;color:var(--warn);font-weight:650}
.qa.is-hide{display:none}
/* packs */
.packs-wrap{margin:30px 0 8px}
.unit-toggle{display:flex;width:max-content;padding:4px;border:1px solid var(--line-2);border-radius:999px;background:#fff;margin:0 auto 28px}
.unit-toggle__b{min-height:42px;padding:0 20px;border:0;border-radius:999px;background:transparent;font:inherit;font-weight:750;font-size:15px;color:var(--ink-2);cursor:pointer;transition:background-color var(--t-ui) var(--ease),color var(--t-ui) var(--ease)}
.unit-toggle__b.is-on{background:var(--char);color:#fff}
.packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:end}
.pack{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;min-width:0;transition:transform var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease)}
.pack:hover{transform:translateY(-3px);box-shadow:var(--lift)}
.pack:nth-child(1){order:2}.pack:nth-child(2){order:1}.pack:nth-child(3){order:3}
.pack--best{background:var(--char);color:var(--on-dark-2);border-color:var(--char);transform:translateY(-14px);box-shadow:0 30px 60px -28px rgba(91,43,181,.6)}
.pack--best:hover{transform:translateY(-17px)}
.pack__band{display:flex;flex-direction:column;align-items:center;gap:2px;padding:18px 16px 12px;text-align:center}
.pack__band h3{font-size:27px;font-weight:850;letter-spacing:-.02em}
.pack--best .pack__band h3,.pack--best .pack__per strong{color:#fff}
.pack__flag{font-size:13px;font-weight:800;color:var(--ember-ink);background:var(--ember-tint);padding:3px 11px;border-radius:999px;margin-bottom:4px}
.pack--best .pack__flag{background:var(--ember);color:#fff}
.pack__days{font-size:14.5px;color:var(--ink-3)}
.pack--best .pack__days,.pack--best .pack__unit,.pack--best .pack__total,.pack--best .pack__perks li{color:var(--on-dark-2)}
.pack__img{height:210px;display:grid;place-items:center;padding:12px 18px;margin:0 14px;border-radius:var(--r-lg);background:var(--glow)}
.pack--best .pack__img{background:radial-gradient(closest-side,#4A2E7A,#2A1A47)}
.pack__img img{max-height:186px;width:auto;max-width:100%;object-fit:contain;transition:transform 500ms var(--ease)}
.pack:hover .pack__img img{transform:scale(1.05)}
.pack__price{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 18px 12px;text-align:center}
.pack__per{display:flex;align-items:baseline;gap:8px}
.pack__per strong{font-size:52px;font-weight:850;line-height:1;letter-spacing:-.035em;color:var(--ink);font-variant-numeric:tabular-nums}
.pack__unit{font-size:14.5px;color:var(--ink-3)}
.pack__total{font-size:15.5px;color:var(--ink-2)}
.pack__total s{color:var(--ink-3);margin-left:4px}
.pack--best .pack__total s{color:#B3A6C9}
.pack__save{font-size:13px;font-weight:800;color:var(--leaf);background:var(--leaf-tint);padding:3px 11px;border-radius:999px}
.pack__perks{list-style:none;margin:0;padding:0 20px 16px;display:grid;gap:8px;flex:1}
.pack__perks li{display:flex;gap:9px;align-items:flex-start;font-size:15.5px;color:var(--ink-2);line-height:1.4}
.pack__perks .i{width:18px;height:18px;margin-top:2px;color:var(--ember)}
.pack--best .pack__perks .i{color:var(--flame-soft)}
.pack .btn{margin:0 20px;width:calc(100% - 40px)}
.pack__pay{padding:12px 20px 18px;display:grid;place-items:center}
.pack__pay img{width:200px}
.pack--best .pack__pay img{background:#fff;border-radius:6px;padding:3px 5px}
.packs__note{font-size:15px;color:var(--ink-3);text-align:center;margin:26px auto 0;max-width:72ch}
@media (max-width:980px){.packs{grid-template-columns:1fr;max-width:460px;margin-inline:auto}.pack:nth-child(n){order:0}.pack--best,.pack--best:hover{transform:none}}
/* order band */
.cta{position:relative;overflow:hidden;background:var(--char);color:var(--on-dark-2);padding-block:clamp(52px,6vw,88px)}
.cta::before{content:"";position:absolute;inset:auto -10% -60% 40%;height:120%;background:radial-gradient(closest-side,rgba(91,43,181,.45),rgba(91,43,181,0));pointer-events:none}
.cta__in{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:center}
.cta__title{font-size:clamp(32px,3.6vw,50px);font-weight:850;letter-spacing:-.03em;color:#fff;line-height:1.05;margin-bottom:12px}
.cta__facts{list-style:none;margin:18px 0 22px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}
.cta__facts li{display:flex;gap:10px;align-items:center;color:#fff;font-weight:650}
.cta__facts .i{width:32px;height:32px;padding:7px;border-radius:10px;background:rgba(255,255,255,.08);color:var(--flame-soft)}
.cta .btns{margin-bottom:16px}
.cta__img{display:grid;place-items:center}
.cta__img img{max-height:340px;width:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45))}
.paystrip--dark{color:var(--on-dark-2)}
.paystrip--dark img{background:#fff;border-radius:6px;padding:4px 6px}
@media (max-width:860px){.cta__in{grid-template-columns:1fr}.cta__img{order:-1}.cta__img img{max-height:220px}}
@media (max-width:420px){.cta__facts{grid-template-columns:1fr}}
.midcta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;background:var(--char);color:var(--on-dark-2);border-radius:var(--r-xl);padding:24px 26px;margin:32px 0}
.midcta p{margin:0}
.midcta__t{font-weight:800;font-size:21px;color:#fff;letter-spacing:-.015em}
.midcta__s{font-size:15px;color:var(--on-dark-2)}
/* people (brand photos) */
.people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0}
.people .fig{margin:0}
.people .fig__frame{aspect-ratio:7/9}
.people .fig__frame img{height:100%;object-fit:cover}
@media (max-width:860px){.people{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* refs */
.refs{padding-left:24px;margin:24px 0;display:grid;gap:10px;font-size:15.5px;color:var(--ink-2)}
.refs li::marker{color:var(--ember);font-weight:800}
.refs a{font-weight:700;white-space:nowrap}
/* keep reading */
.kr{padding-block:64px;background:var(--glow)}
.kr__h{margin:0}
.kr__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.kr__card{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px 58px 22px 22px;background:#fff;border:1px solid var(--glow-2);border-radius:var(--r-lg);text-decoration:none;color:var(--ink);min-height:124px;transition:transform var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease)}
.kr__card:hover,.kr__card:focus-visible{transform:translateY(-3px);box-shadow:var(--lift);color:var(--ink)}
.kr__t{font-weight:800;font-size:19px;letter-spacing:-.01em}
.kr__x{font-size:15px;color:var(--ink-3);line-height:1.45}
.kr__go{position:absolute;right:16px;top:18px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--ember-tint);color:var(--ember-ink);transition:transform var(--t-hover) var(--ease),background-color var(--t-hover) var(--ease),color var(--t-hover) var(--ease)}
.kr__card:hover .kr__go{transform:translateX(3px);background:var(--ember);color:#fff}
.kr__go .i{width:17px;height:17px}
@media (max-width:860px){.kr__grid{grid-template-columns:1fr}}
/* toc */
.toc{background:#fff;border:1px solid var(--line);border-left:4px solid var(--ember);border-radius:var(--r-md);padding:18px 22px;margin:0 0 8px}
.toc__t{font-weight:800;margin:0 0 8px}
.toc ol{margin:0;padding-left:20px;columns:2;column-gap:32px}
.toc li{margin-bottom:4px;break-inside:avoid}
@media (max-width:620px){.toc ol{columns:1}}
/* contact */
.contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:26px 0}
.contact__c{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;min-width:0;overflow-wrap:anywhere}
.contact__c h3{margin:0 0 8px!important;display:flex;gap:10px;align-items:center}
.contact__c h3 .i{color:var(--ember)}
.contact__c p{margin:0 0 6px;color:var(--ink-2)}
.contact__big{font-weight:850;font-size:22px;color:var(--ink)!important;letter-spacing:-.01em}
@media (max-width:760px){.contact{grid-template-columns:1fr}}
/* blog list */
.posts{display:grid;gap:16px;margin:26px 0}
.post{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:24px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease)}
.post:hover,.post:focus-visible{transform:translateY(-3px);box-shadow:var(--lift);color:var(--ink)}
.post__img{aspect-ratio:4/3;overflow:hidden;background:var(--glow)}
.post__img img{width:100%;height:100%;object-fit:cover}
.post__b{padding:22px 22px 22px 0;display:flex;flex-direction:column;gap:8px}
.post__b h2{font-size:clamp(22px,2.2vw,28px);margin:0}
.post__b h2::after{display:none}
.post__b p{margin:0;color:var(--ink-2)}
.post__m{font-size:14px;color:var(--ink-3)}
@media (max-width:760px){.post{grid-template-columns:1fr}.post__b{padding:0 20px 22px}}
.pcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0}
.pcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease)}
.pcard:hover,.pcard:focus-visible{transform:translateY(-4px);box-shadow:var(--lift);color:var(--ink)}
.pcard__img{aspect-ratio:16/10;overflow:hidden;background:var(--glow);display:grid;place-items:center}
.pcard__img img{width:100%;height:100%;object-fit:cover}
.pcard__b{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px}
.pcard__b p{margin:0;color:var(--ink-2);font-size:16px}
.pcard__m{display:flex;gap:12px;font-size:13.5px!important;color:var(--ink-3)!important}
.pcard__m span:first-child{color:var(--ember-ink);font-weight:750}
@media (max-width:980px){.pcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.pcards{grid-template-columns:1fr}}
.byline{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:15px;color:var(--ink-3);margin:0 0 20px}

/* ================= DNA v7 explainers ================= */
/* hub */
.hub{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,4vw,56px);align-items:center;margin:30px 0}
.hub__stage{position:relative;aspect-ratio:1;width:100%;max-width:540px;justify-self:center}
.hub__lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hub__lines line{stroke:var(--flame-soft);stroke-width:.4;stroke-dasharray:1;stroke-dashoffset:0;opacity:.75;transition:stroke-dashoffset 900ms var(--ease) calc(var(--i) * 140ms),stroke 300ms}
html.rv-on .hub.fx:not(.in) .hub__lines line{stroke-dashoffset:1}
.hub__lines line.is-on{stroke:#fff;stroke-width:.6;opacity:1}
.hub__core{position:absolute;left:50%;top:50%;translate:-50% -50%;width:38%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(closest-side,#4A2E7A,#2A1A47 70%,#120822);box-shadow:0 0 0 10px rgba(166,124,242,.08),0 0 0 22px rgba(166,124,242,.05)}
.hub__img{width:62%;height:auto;filter:drop-shadow(0 12px 14px rgba(0,0,0,.4))}
.hub__node{position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;display:flex;flex-direction:column;align-items:center;gap:8px;padding:6px;border:0;background:none;cursor:pointer;color:var(--on-dark-2);font:inherit;font-weight:700;font-size:14.5px;text-align:center;max-width:140px;transition:transform 500ms var(--ease) calc(var(--i) * 140ms + 300ms),opacity 500ms calc(var(--i) * 140ms + 300ms)}
html.rv-on .hub.fx:not(.in) .hub__node{transform:scale(.6);opacity:0}
.hub__dot{width:22px;height:22px;border-radius:50%;background:var(--char-2);box-shadow:inset 0 0 0 3px var(--flame-soft);transition:background-color 300ms,box-shadow 300ms}
.hub__node[aria-selected="true"]{color:#fff}
.hub__node[aria-selected="true"] .hub__dot{background:var(--ember);box-shadow:inset 0 0 0 3px #fff,0 0 0 8px rgba(91,43,181,.25)}
.hub__node:hover .hub__dot{box-shadow:inset 0 0 0 3px #fff}
.hub__panel{background:var(--char-2);border:1px solid var(--char-line);border-radius:var(--r-lg);padding:22px 24px;margin-bottom:12px}
.js .hub__panel[hidden]{display:none}
.hub__panel.is-on{animation:fadeup 360ms var(--ease)}
.hub__type{margin:0 0 4px;font-size:14px;font-weight:750;color:var(--flame-soft)}
.hub__panel h3{color:#fff;font-size:24px;margin-bottom:8px!important}
.hub__panel p{color:var(--on-dark-2)}
.hub__studied{font-size:15.5px;border-top:1px solid var(--char-line);padding-top:12px}
.hub__more{font-weight:750}
@media (max-width:900px){.hub{grid-template-columns:1fr}.hub__node{font-size:13px;max-width:96px}.hub__dot{width:18px;height:18px}}
/* flip sheets */
.flips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0}
.flip{perspective:1400px;min-height:430px}
.flip__in{position:relative;height:100%;transform-style:preserve-3d;transition:transform 700ms var(--ease)}
.flip.is-flipped .flip__in{transform:rotateY(180deg)}
.flip__face{position:absolute;inset:0;display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:auto}
.flip__back{transform:rotateY(180deg);background:var(--char);border-color:var(--char);color:var(--on-dark-2)}
.flip__img{height:150px;margin:-6px -8px 6px;border-radius:var(--r-lg);background:var(--glow);display:grid;place-items:center;overflow:hidden}
.flip__img img{max-height:140px;width:auto;object-fit:contain;mix-blend-mode:multiply}
.flip__type{margin:0;font-size:13.5px;font-weight:750;color:var(--ember-ink)}
.flip__latin{margin:-6px 0 0;font-size:14.5px;font-style:italic;color:var(--ink-3)}
.flip__front p{margin:0;font-size:16px;color:var(--ink-2)}
.flip__btn{margin-top:auto;align-self:flex-start;min-height:44px;padding:0 16px;border-radius:12px;border:1.5px solid var(--char);background:#fff;color:var(--char);font:inherit;font-weight:750;font-size:15px;cursor:pointer;transition:background-color var(--t-hover),color var(--t-hover)}
.flip__btn:hover{background:var(--char);color:#fff}
.flip__btn--back{border-color:rgba(255,255,255,.5);background:transparent;color:#fff}
.flip__btn--back:hover{background:#fff;color:var(--char)}
.flip__bt{margin:0;font-weight:800;color:#fff;font-size:17px}
.flip__back dl{margin:0;display:grid;gap:8px}
.flip__back dt{font-size:13px;font-weight:750;color:var(--flame-soft)}
.flip__back dd{margin:0;font-size:15px;line-height:1.45}
.flip__link{font-weight:750;color:var(--flame-soft);font-size:15px}
.no-js .flip,.flip.is-static{min-height:0}
@media (max-width:980px){.flips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.flips{grid-template-columns:1fr}.flip{min-height:440px}}
/* routine player */
.routine{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(24px,4vw,56px);align-items:center;margin:30px 0;padding:clamp(20px,3vw,34px);background:#fff;border:1px solid var(--line);border-radius:var(--r-xl)}
.band--tint .routine{border-color:var(--glow-2)}
.routine__vis{display:grid;grid-template-columns:auto auto;gap:18px;align-items:center;justify-content:center}
.gauge{width:110px;height:220px;overflow:visible}
.gauge__tube{fill:var(--glow);stroke:var(--line-2);stroke-width:1.5}
.gauge__fill{fill:var(--ember);transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(var(--lv));transition:transform 900ms var(--ease)}
.gauge__ticks line{stroke:var(--ink-3);stroke-width:1.3}
.gauge__lbl{font:700 11px var(--f);fill:var(--ink-2);text-anchor:end}
.gauge__drop{fill:var(--ember);opacity:0}
.routine.is-drop .gauge__drop{animation:gdrop 900ms ease-in}
@keyframes gdrop{0%{opacity:0;transform:translateY(0)}20%{opacity:1}100%{opacity:0;transform:translateY(60px)}}
.dial{width:140px;height:140px}
.dial__face{fill:#fff;stroke:var(--line-2);stroke-width:2}
.dial__am,.dial__pm{fill:none;stroke:var(--flame-soft);stroke-width:9;stroke-linecap:round;opacity:.45;transition:opacity 400ms,stroke 400ms}
.routine[data-at="am"] .dial__am,.routine[data-at="pm"] .dial__pm{stroke:var(--ember);opacity:1}
.dial__hand{stroke:var(--char);stroke-width:3;stroke-linecap:round;transform-origin:60px 60px;transition:transform 900ms var(--ease)}
.routine[data-at="am"] .dial__hand{transform:rotate(30deg)}
.routine[data-at="pm"] .dial__hand{transform:rotate(210deg)}
.dial__pin{fill:var(--char)}
.dial__t{font:700 10px var(--f);fill:var(--ink-3);text-anchor:middle}
.routine__cap{grid-column:1 / -1;margin:0;font-size:14px;color:var(--ink-3);text-align:center}
.routine__steps{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.routine__step{border:1px solid var(--line);border-radius:var(--r-md);padding:4px 16px 4px 4px;transition:border-color var(--t-ui),background-color var(--t-ui)}
.routine__btn{display:flex;align-items:center;gap:14px;width:100%;min-height:52px;padding:6px 6px;border:0;background:none;font:inherit;font-weight:750;font-size:17px;color:var(--ink);text-align:left;cursor:pointer}
.routine__n{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:50%;background:var(--glow);color:var(--ember-ink);font-weight:850;transition:background-color var(--t-ui),color var(--t-ui)}
.routine__step p{margin:0 0 12px 58px;color:var(--ink-2);font-size:16px}
.js .routine__step:not(.is-on) p{display:none}
.routine__step.is-on{border-color:var(--ember);background:#FAF8FF}
.routine__step.is-on .routine__n{background:var(--ember);color:#fff}
.routine__ctl{display:flex;align-items:center;gap:14px;margin-top:14px}
.routine__play{min-height:44px;padding:0 16px;border-radius:12px;border:1.5px solid var(--char);background:#fff;font:inherit;font-weight:750;font-size:15px;color:var(--char);cursor:pointer}
.routine__play[aria-pressed="true"]{background:var(--char);color:#fff}
.routine__bar{flex:1;height:6px;border-radius:999px;background:var(--glow);overflow:hidden}
.routine__bar span{display:block;height:100%;width:calc(var(--p) * 100%);background:var(--ember);border-radius:999px;transition:width 400ms var(--ease)}
.no-js .routine__ctl{display:none}
@media (max-width:860px){.routine{grid-template-columns:1fr}.gauge{width:84px;height:170px}.dial{width:110px;height:110px}}
/* tracks (timelines, guarantee days, order steps) */
.track{position:relative;list-style:none;margin:34px 0 20px;padding:0;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:18px}
.track__line{position:absolute;left:0;right:0;top:21px;height:4px;border-radius:999px;background:repeating-linear-gradient(90deg,var(--line-2) 0 2px,transparent 2px 8px)}
.track__line span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--flame),var(--ember));transform-origin:left;transition:transform 1600ms var(--ease)}
html.rv-on .track.fx:not(.in) .track__line span{transform:scaleX(0)}
.track__item{position:relative;padding-top:56px}
.track__mk{position:absolute;top:0;left:0;display:grid;place-items:center;min-width:46px;height:46px;padding:0 12px;border-radius:999px;background:var(--char);color:#fff;font-weight:850;font-size:15px;white-space:nowrap;box-shadow:0 0 0 6px #fff;transition:transform 500ms var(--ease) calc(var(--i) * 260ms + 200ms),background-color 500ms calc(var(--i) * 260ms + 200ms)}
.band--tint .track__mk{box-shadow:0 0 0 6px var(--glow)}
html.rv-on .track.fx:not(.in) .track__mk{transform:scale(.6);background:var(--line-2)}
.track__item h3{font-size:18px;margin-bottom:6px!important}
.track__item p{margin:0;color:var(--ink-2);font-size:16px}
.track--days .track__item:last-child .track__mk{background:var(--ember)}
@media (max-width:860px){.track{grid-template-columns:1fr;gap:0;padding-left:0}.track__line{left:21px;right:auto;top:0;bottom:0;width:4px;height:auto;background:repeating-linear-gradient(180deg,var(--line-2) 0 2px,transparent 2px 8px)}.track__line span{transform-origin:top}html.rv-on .track.fx:not(.in) .track__line span{transform:scaleY(0)}.track__item{padding:4px 0 24px 66px}.track__mk{min-width:46px;padding:0 8px;font-size:13px}}
/* fit quiz */
.quiz{margin:28px 0;padding:clamp(20px,3vw,30px);background:#fff;border:1px solid var(--line);border-radius:var(--r-xl)}
.quiz__t{margin:0 0 12px;font-weight:850;font-size:21px;letter-spacing:-.015em}
.quiz__qs{margin:0;padding:0 0 0 22px;display:grid;gap:4px}
.quiz__qs li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 18px;padding:10px 0;border-bottom:1px solid var(--line)}
.quiz__qs li::marker{color:var(--ember);font-weight:800}
.quiz__qs p{margin:0;flex:1 1 320px}
.quiz__btns{display:flex;gap:6px}
.quiz__btns button{min-width:64px;min-height:42px;border-radius:10px;border:1.5px solid var(--line-2);background:#fff;font:inherit;font-weight:750;color:var(--ink-2);cursor:pointer;transition:background-color var(--t-hover),border-color var(--t-hover),color var(--t-hover)}
.quiz__btns button[aria-pressed="true"]{background:var(--char);border-color:var(--char);color:#fff}
.quiz__out{margin-top:16px}
.quiz__r{margin:0;padding:14px 18px;border-radius:var(--r-md);font-weight:650}
.quiz__r--none{background:var(--glow);color:var(--ink-2)}
.quiz__r--ok{background:var(--leaf-tint);color:var(--leaf)}
.quiz__r--doctor{background:var(--warn-tint);color:var(--warn)}
.quiz__r--stop{background:var(--ember-tint);color:var(--ember-deep)}
/* transparency meter */
.tm{margin:28px 0;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl)}
.tm__head{margin:0 0 12px;font-size:19px;font-weight:700}
.tm__head strong{font-size:44px;font-weight:850;letter-spacing:-.03em;color:var(--ember);margin-right:6px;vertical-align:-4px}
.tm__bar{display:grid;grid-template-columns:repeat(12,1fr);gap:5px;margin-bottom:18px}
.tm__c{height:16px;border-radius:5px;background:repeating-linear-gradient(135deg,var(--glow) 0 5px,#fff 5px 9px);border:1px solid var(--line-2);transition:background-color 400ms var(--ease) calc(var(--i) * 70ms),transform 400ms var(--ease) calc(var(--i) * 70ms)}
.tm__c.is-pub{background:var(--leaf);border-color:var(--leaf)}
html.rv-on .tm.fx:not(.in) .tm__c{transform:scaleY(.2)}
.tm__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 22px}
.tm__list li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.tm__list .i{width:20px;height:20px;padding:3px;border-radius:50%;flex:none}
.tm__list .is-pub .i{background:var(--leaf-tint);color:var(--leaf)}
.tm__list .is-no .i{background:var(--warn-tint);color:var(--warn)}
.tm__list em{margin-left:auto;font-style:normal;font-size:13px;font-weight:750;color:var(--ink-3);white-space:nowrap}
@media (max-width:700px){.tm__list{grid-template-columns:1fr}}
/* ratings and review cards */
.stars{display:inline-flex;gap:2px}
.stars svg{width:18px;height:18px;color:var(--line-2)}
.stars .is-on{color:var(--flame);fill:var(--flame)}
.rs{display:grid;grid-template-columns:220px 1fr;gap:26px;align-items:center;padding:22px 24px;margin:26px 0;background:#fff;border:1px dashed var(--line-2);border-radius:var(--r-xl)}
.rs__big{display:flex;flex-direction:column;gap:6px}
.rs__num{font-size:40px;font-weight:850;letter-spacing:-.03em;color:var(--ink-3)}
.rs__cap{font-size:14px;color:var(--ink-3)}
.rs__rows{display:grid;gap:8px}
.rs__row{display:grid;grid-template-columns:56px 1fr 44px;gap:12px;align-items:center;font-size:14.5px;color:var(--ink-3)}
.rs__bar{height:8px;border-radius:999px;background:var(--glow)}
@media (max-width:700px){.rs{grid-template-columns:1fr}}
.rvws{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0}
.rvw{display:flex;flex-direction:column;gap:12px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg)}
.rvw--slot{border-style:dashed;border-color:var(--line-2);background:#FCFAFF}
.rvw__top{display:flex;align-items:center;gap:12px}
.rvw__img,.rvw__ph{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}
.rvw__ph{background:radial-gradient(circle at 50% 38%,var(--line-2) 0 9px,transparent 10px),radial-gradient(ellipse at 50% 100%,var(--line-2) 0 17px,transparent 18px),var(--glow)}
.rvw__name{margin:0;font-weight:800}
.rvw__meta{margin:0;font-size:14px;color:var(--ink-3)}
.rvw__text{margin:0;color:var(--ink-2)}
.rvw--slot .rvw__text,.rvw--slot .rvw__name,.rvw--slot .rvw__meta{color:var(--ink-3)}
.rvw__foot{margin:auto 0 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:13.5px;color:var(--ink-3)}
.rvw__badge{font-weight:750;color:var(--warn)}
.rvw__badge.is-ok{color:var(--leaf)}
@media (max-width:980px){.rvws{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.rvws{grid-template-columns:1fr}}
/* author box and page check */
.ab{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}
.ab__p{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg)}
.ab__av{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:50%;background:var(--glow);color:var(--ember)}
.ab__av--desk{background:var(--char);color:#fff}
.ab__av .i{width:22px;height:22px}
.ab__k{margin:0;font-size:13.5px;font-weight:650;color:var(--ink-3)}
.ab__n{margin:0;font-weight:800;font-size:17px}
.ab__n a{color:var(--ink);text-decoration:none}
.ab__n a:hover{color:var(--ember-ink)}
.ab__r{margin:2px 0 0;font-size:14.5px;color:var(--ink-3)}
.ab--compact{margin:12px 0 16px}
@media (max-width:700px){.ab{grid-template-columns:1fr}}
.pchk{padding-block:40px;border-top:1px solid var(--line)}
.pchk__t{margin:0;font-weight:850;font-size:20px;letter-spacing:-.015em}
.pchk__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 26px;font-size:15px;color:var(--ink-3)}
.pchk__list li{display:inline-flex;align-items:center;gap:8px}
.pchk__list .i{width:17px;height:17px;color:var(--ember)}
/* hotspots */
.hs{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(20px,3vw,44px);align-items:center;margin:28px 0}
.hs__fig{position:relative;border-radius:var(--r-xl);background:var(--glow);border:1px solid var(--line);overflow:hidden}
.hs__fig img{width:100%;height:auto}
.hs__dot{position:absolute;left:var(--x);top:var(--y);translate:-50% -50%;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:3px solid #fff;background:var(--ember);color:#fff;font:inherit;font-weight:850;font-size:14px;cursor:pointer;box-shadow:0 6px 14px rgba(28,15,51,.35)}
.hs__dot::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--ember);opacity:0;animation:ring 2.4s ease-out infinite}
.hs__dot[aria-expanded="true"]{background:var(--char)}
@keyframes ring{0%{transform:scale(.6);opacity:.8}100%{transform:scale(1.4);opacity:0}}
.hs__leg{margin:0;padding-left:22px;display:grid;gap:10px}
.hs__leg li{padding:10px 14px;border-radius:var(--r-md);border:1px solid transparent;transition:background-color var(--t-ui),border-color var(--t-ui)}
.hs__leg li::marker{font-weight:850;color:var(--ember)}
.hs__leg li.is-on{background:#fff;border-color:var(--line)}
@media (max-width:860px){.hs{grid-template-columns:1fr}}
/* claim check */
.cc{list-style:none;margin:26px 0;padding:0;display:grid;gap:12px}
.cc__row{display:grid;grid-template-columns:minmax(0,5fr) auto minmax(0,6fr);gap:10px 22px;align-items:center;padding:16px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg)}
.cc__claim q{display:block;font-weight:800;font-size:17.5px;quotes:"\201C" "\201D"}
.cc__claim span{font-size:14px;color:var(--ink-3)}
.cc__v{justify-self:start;font-size:13.5px;font-weight:800;padding:4px 12px;border-radius:999px;white-space:nowrap}
.cc__v--label{background:var(--leaf-tint);color:var(--leaf)}
.cc__v--marketing{background:var(--warn-tint);color:var(--warn)}
.cc__v--missing{background:var(--ember-tint);color:var(--ember-deep)}
.cc__row p{margin:0;color:var(--ink-2);font-size:16px}
@media (max-width:860px){.cc__row{grid-template-columns:1fr}}

/* ================= footer ================= */
.ftr{background:var(--char);color:var(--on-dark-2);padding-top:60px;font-size:16px}
.ftr a{color:#fff;text-decoration:none}
.ftr a:hover{color:var(--flame-soft)}
.ftr__top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;padding-bottom:36px;border-bottom:1px solid var(--char-line)}
.ftr__about{margin:16px 0 20px;max-width:46ch}
.logo--light{color:#fff}
.logo--light .logo__sub{color:var(--on-dark-2)}
.logo--light .logo__mark{background:transparent}
.ftr__contact{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;align-content:start}
.ftr__k{display:block;font-size:15px;font-weight:750;color:var(--flame-soft);margin-bottom:2px}
.ftr__v{display:block;font-size:16px;line-height:1.55;word-break:break-word}
.ftr__nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;padding-block:36px}
.fcol summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;pointer-events:none}
.fcol summary::-webkit-details-marker{display:none}
.ftr__h{font-size:15px;font-weight:800;color:#fff;margin:0 0 12px;letter-spacing:.01em}
.fcol__i{display:none}
.fcol ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.fcol a{display:inline-flex;align-items:center;min-height:36px;color:var(--on-dark-2);font-size:16px;transition:color var(--t-hover) var(--ease)}
.fcol a:hover{color:#fff}
.ftr__strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;border-radius:var(--r-lg);background:#fff}
.seals--footer img{width:52px;height:52px}
.ftr__pay{width:260px}
.ftr__legal{list-style:none;margin:0;padding:30px 0 6px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 32px}
.ftr__legal li{margin:0 0 14px;font-size:16px;line-height:1.6}
.ftr__legal strong{color:#fff}
.ftr__base{display:flex;align-items:center;justify-content:space-between;gap:14px 24px;margin-top:6px;padding-block:20px;border-top:1px solid var(--char-line)}
.ftr__copy{margin:0;font-size:16px;color:var(--on-dark-2)}
.ftr__up{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--ember);flex:none;transition:transform var(--t-hover) var(--ease)}
.ftr__up:hover{transform:translateY(-3px)}
.i--up{transform:rotate(-90deg);width:20px;height:20px;color:#fff}
@media (max-width:1100px){.ftr__nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1000px){.ftr__top{grid-template-columns:1fr}}
@media (max-width:760px){
 .ftr__contact{grid-template-columns:1fr}
 .ftr__nav{grid-template-columns:1fr;gap:0}
 .fcol{border-bottom:1px solid var(--char-line)}
 .fcol summary{pointer-events:auto;min-height:54px}
 .fcol summary .ftr__h{margin:0}
 .fcol__i{display:block;position:relative;width:14px;height:14px}
 .fcol__i::before,.fcol__i::after{content:"";position:absolute;left:0;top:6px;width:14px;height:2px;background:var(--flame-soft);transition:transform var(--t-ui) var(--ease)}
 .fcol__i::after{transform:rotate(90deg)}
 .fcol[open] .fcol__i::after{transform:rotate(0)}
 .fcol ul{padding-bottom:12px}
 .ftr__legal{grid-template-columns:1fr}
 .ftr__strip{justify-content:center}
}
/* sticky buy bar */
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(28,15,51,.97);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transform:translateY(110%);transition:transform var(--t-ui) var(--ease)}
.buybar::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:repeating-linear-gradient(90deg,var(--ember) 0 2px,transparent 2px 8px),linear-gradient(90deg,var(--flame),var(--ember))}
.buybar--on{transform:none}
.buybar__in{max-width:var(--w-wide);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:14px}
.buybar__txt{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.buybar__txt strong{font-size:18px;color:#fff}
.buybar__txt span{font-size:14px;color:var(--on-dark-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.buybar__img{flex:none;width:52px;height:52px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.08)}
.buybar__img img{max-width:46px;max-height:46px;width:auto;object-fit:contain}
.buybar__txt{flex:1}
.buybar__txt strong{font-size:16.5px}
.buybar__btn{flex:none}
@media (max-width:560px){.buybar__img{display:none}.buybar__txt strong{font-size:14.5px;white-space:normal;line-height:1.25}.buybar__txt span{font-size:12.5px}.buybar__btn{padding:0 14px}}
@media (prefers-reduced-motion:reduce){html.rv-on .rv{opacity:1;transform:none}.flip__in{transition:none}.card--link:hover,.kr__card:hover,.pack:hover,.post:hover,.pcard:hover,.btn:hover{transform:none}.pack--best:hover{transform:translateY(-14px)}}

/* ===== FILL-IN SLOTS: easy to spot until filled (content.py REVIEWER / REVIEWS) ===== */
.slot{background:#FFE14D;color:#1B1208;font-weight:750;font-style:normal;padding:1px 7px 1px 5px;border-radius:6px;outline:2px dashed #C2410C;outline-offset:1px;-webkit-box-decoration-break:clone;box-decoration-break:clone;white-space:normal}
.slot::before{content:"\270E";display:inline-block;margin-right:4px;font-weight:400}
a .slot{text-decoration:none}
.slot.is-flash{animation:slotflash 1.4s ease-out}
@keyframes slotflash{0%,40%{box-shadow:0 0 0 0 rgba(194,65,12,.8)}100%{box-shadow:0 0 0 14px rgba(194,65,12,0)}}
.rvw--slot{position:relative;outline:2px dashed #C2410C;outline-offset:-2px}
.rvw--slot::after{content:"Fill in";position:absolute;top:-11px;right:14px;padding:1px 9px;border-radius:999px;background:#FFE14D;color:#1B1208;font-size:12px;font-weight:800}
.slotfind{position:fixed;left:14px;bottom:84px;z-index:70;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:2px dashed #C2410C;border-radius:12px;background:#FFE14D;color:#1B1208;font:inherit;font-size:14.5px;font-weight:800;cursor:pointer;box-shadow:0 10px 24px -10px rgba(0,0,0,.4)}
.slotfind:focus-visible{outline:3px solid #1B1208;outline-offset:2px}

.rs__row{grid-template-columns:56px 1fr auto}
.rs .slot,.rvw__meta .slot,.rvw__foot .slot{white-space:nowrap}

/* ===== order buttons: clearer offer, risk reversal next to every button (no countdowns, no fake stock) ===== */
.btn--go .i--go{width:18px;height:18px;margin-left:-2px;transition:transform var(--t-hover) var(--ease)}
.btn--go:hover .i--go{transform:translateX(4px)}
.btn.btn--primary{overflow:hidden;isolation:isolate}
.btn.btn--primary::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 48%,transparent 66%);transform:translateX(-120%);animation:btnshine 5.5s ease-in-out 2s infinite}
@keyframes btnshine{0%,72%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.btn.btn--primary.btn--go:hover{box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 0 0 4px rgba(166,124,242,.22),0 16px 30px -12px rgba(91,43,181,.85)}
.pack__risk{display:flex;align-items:center;justify-content:center;gap:6px;margin:10px 20px 0;font-size:13.5px;font-weight:650;color:var(--leaf)}
.pack__risk .i{width:16px;height:16px}
.pack--best .pack__risk{color:#9BD8AC}
.pack--best .btn--primary{--bh:60px;font-size:17px}
.pack .btn{padding:0 14px;white-space:nowrap}
.cta__deal{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 4px;color:#fff;font-weight:700;font-size:17px}
.cta__deal-k{padding:3px 10px;border-radius:999px;background:var(--flame);color:var(--char);font-size:13px;font-weight:850;letter-spacing:.02em}
.cta__risk{display:flex;gap:10px;align-items:flex-start;margin:0 0 16px;font-size:15px;color:var(--on-dark-2);max-width:56ch}
.cta__risk .i{width:20px;height:20px;flex:none;margin-top:2px;color:#9BD8AC}
.cta__img{position:relative}
.cta__seal{position:absolute;right:6%;bottom:4%;width:96px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.45))}
.cta__seal img{width:96px;height:auto}
.midcta-wrap{margin-block:8px}
.midcta{flex-wrap:nowrap;justify-content:flex-start;gap:20px}
.midcta__img{flex:none;width:96px;display:grid;place-items:center}
.midcta__img img{max-height:96px;width:auto;filter:drop-shadow(0 10px 14px rgba(0,0,0,.4))}
.midcta__c{flex:1;min-width:0}
.midcta .btn{flex:none}
@media (max-width:760px){.midcta{flex-wrap:wrap;justify-content:center;text-align:center}.midcta__img{width:100%}.midcta .btn{width:100%}.cta__seal{width:72px;right:2%}.cta__seal img{width:72px}}
@media (prefers-reduced-motion:reduce){.btn.btn--primary::after{animation:none;display:none}}

/* ===================================================================
   v8 modern layer (async): heat-gradient surfaces, warm shadows,
   gradient icon tiles, per-component motion. Transform/opacity only.
   =================================================================== */
/* sections: render lazily far below the fold; soft heat blooms */
main>.sec{position:relative;isolation:isolate;content-visibility:auto;contain-intrinsic-size:auto 900px}
main>.sec::before{content:"";position:absolute;z-index:-1;pointer-events:none;width:560px;height:560px;border-radius:50%;background:radial-gradient(closest-side,rgba(166,124,242,.07),transparent 70%);top:-140px;right:-220px}
main>.sec:nth-of-type(even)::before{right:auto;left:-180px;top:auto;bottom:-160px}
.sec+.sec:not(.band--tint):not(.band--dark){border-top:0;background-image:linear-gradient(90deg,transparent,var(--line) 20%,var(--line) 80%,transparent);background-size:100% 1px;background-repeat:no-repeat}
.band--tint{background:linear-gradient(180deg,#F8F5FE 0%,#F1ECFC 100%)}
.band--dark{background:radial-gradient(60% 80% at 100% 0%,rgba(91,43,181,.30),transparent 60%),radial-gradient(50% 70% at 0% 100%,rgba(166,124,242,.16),transparent 65%),var(--char)}
.band--dark::before{display:none}
/* headings: ruler fills with heat as it draws */
.sec__hl h2::after{background:var(--heat) 0 0/100% 3px no-repeat,repeating-linear-gradient(90deg,#5B2BB5 0 1.5px,transparent 1.5px 12px) 0 3px/100% 9px no-repeat,repeating-linear-gradient(90deg,#7B4FD6 0 1.5px,transparent 1.5px 6px) 0 3px/100% 5px no-repeat}
html.rv-on .sec__head.rv h2{transition:transform 700ms var(--ease),opacity 700ms var(--ease)}
html.rv-on .sec__head.rv:not(.in) h2{transform:translateY(14px);opacity:.001}
/* cards and sheets: warm shadow, heat hairline on hover */
.card,.kr__card,.contact__c,.post,.pcard,.step,.pc__col,.callout,.qa,.tbl,.kv,.rvw,.ab__p,.answer{box-shadow:var(--warm-2)}
.card,.kr__card,.post,.pcard,.contact__c{border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(140deg,rgba(166,124,242,.35),rgba(230,224,240,.9) 35%,rgba(230,224,240,.9) 70%,rgba(91,43,181,.22)) border-box;transition:transform 260ms var(--ease),box-shadow 260ms var(--ease)}
.card:hover,.kr__card:hover,.post:hover,.pcard:hover,.contact__c:hover{background:linear-gradient(#fff,#fff) padding-box,var(--heat) border-box;box-shadow:var(--warm-3);transform:translateY(-4px)}
.band--dark .card{background:linear-gradient(var(--char-2),var(--char-2)) padding-box,linear-gradient(140deg,rgba(166,124,242,.45),rgba(63,44,102,1) 40%,rgba(63,44,102,1) 70%,rgba(91,43,181,.4)) border-box}
/* icon tiles: glossy heat squircles */
.card__icon,.ab__av:not(.ab__av--desk),.contact__c h3 .i{background:var(--heat);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 8px 18px -8px rgba(91,43,181,.65)}
.card__icon{position:relative;border-radius:14px;overflow:hidden;transition:transform 400ms cubic-bezier(.3,1.5,.5,1)}
.card__icon::after{content:"";position:absolute;inset:0 0 50% 0;background:linear-gradient(180deg,rgba(255,255,255,.35),transparent)}
.card:hover .card__icon{transform:rotate(-8deg) scale(1.08)}
.band--tint .card__icon,.band--dark .card__icon{background:var(--heat);color:#fff}
.contact__c h3 .i{width:34px;height:34px;padding:7px;border-radius:10px}
html.rv-on .rv:not(.in) .card__icon{transform:scale(.4) rotate(-20deg)}
/* tick lists: filled heat checks that pop in */
.ticks .i{background:var(--heat);color:#fff;box-shadow:0 4px 10px -4px rgba(91,43,181,.6)}
html.rv-on .rv .ticks li{transition:transform 500ms var(--ease),opacity 500ms var(--ease)}
html.rv-on .rv:not(.in) .ticks li{transform:translateX(-10px);opacity:0}
.rv .ticks li:nth-child(2){transition-delay:60ms}.rv .ticks li:nth-child(3){transition-delay:120ms}.rv .ticks li:nth-child(4){transition-delay:180ms}.rv .ticks li:nth-child(5){transition-delay:240ms}.rv .ticks li:nth-child(6){transition-delay:300ms}
/* tables: dark heat header, glow rows, rows slide in */
.tbl{border:0;box-shadow:0 0 0 1px var(--line),var(--warm-2)}
.tbl thead th{background:linear-gradient(180deg,#2A1A47,#1C0F33);color:#fff;border-bottom:0}
.tbl thead th:first-child{box-shadow:inset 3px 0 0 #A67CF2}
.tbl tbody tr{transition:background-color 200ms var(--ease)}
.tbl tbody tr:hover{background:#F8F5FE}
.tbl tbody tr:nth-child(even){background:#FCFAFF}
.tbl tbody tr:nth-child(even):hover{background:#F8F5FE}
html.rv-on tr.rv{opacity:0;transform:translateX(-14px);transition:opacity 480ms var(--ease) calc(var(--i) * 50ms),transform 480ms var(--ease) calc(var(--i) * 50ms)}
html.rv-on tr.rv.in{opacity:1;transform:none}
.band--dark .tbl{box-shadow:0 0 0 1px var(--char-line)}
.band--dark .tbl thead th{background:linear-gradient(90deg,#2E1270,#5B2BB5)}
/* stats: heat numbers with a gauge underline */
.stat__big{background:linear-gradient(135deg,#CDB6FA,#A67CF2 50%,#7B4FD6);-webkit-background-clip:text;background-clip:text;color:transparent}
.band:not(.band--dark) .stat__big{background:var(--heat);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat{position:relative}
.stat::after{content:"";height:4px;width:56px;border-radius:2px;background:var(--heat);margin-top:6px;transform-origin:left;transition:transform 900ms var(--ease) 200ms}
html.rv-on .rv:not(.in).stat::after,html.rv-on .rv:not(.in) .stat::after{transform:scaleX(0)}
/* steps: numbers ignite */
.step__n{background:var(--heat);box-shadow:0 0 0 6px rgba(166,124,242,.14),0 10px 20px -8px rgba(91,43,181,.6)}
html.rv-on .steps.fx:not(.in) .step__n{background:var(--line-2);box-shadow:none}
.steps.fx.in .step__n{animation:ignite 900ms var(--ease) both}
.steps .step:nth-child(2) .step__n{animation-delay:120ms}.steps .step:nth-child(3) .step__n{animation-delay:240ms}.steps .step:nth-child(4) .step__n{animation-delay:360ms}.steps .step:nth-child(5) .step__n{animation-delay:480ms}.steps .step:nth-child(6) .step__n{animation-delay:600ms}
@keyframes ignite{0%{box-shadow:0 0 0 0 rgba(166,124,242,.6)}60%{box-shadow:0 0 0 14px rgba(166,124,242,0)}100%{box-shadow:0 0 0 6px rgba(166,124,242,.14),0 10px 20px -8px rgba(91,43,181,.6)}}
/* callouts: heat edge that grows */
.callout{position:relative;overflow:hidden;border:0;box-shadow:0 0 0 1px var(--line),var(--warm-2)}
.callout::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--heat);transform-origin:top;transition:transform 800ms var(--ease) 150ms}
html.rv-on .callout.rv:not(.in)::before{transform:scaleY(0)}
.callout>.i{background:var(--heat);color:#fff;border-radius:12px;box-shadow:0 8px 16px -8px rgba(91,43,181,.6)}
.callout--warn::before{background:linear-gradient(180deg,#E8A13C,#8E4209)}
.callout--ok::before{background:linear-gradient(180deg,#5FB27A,#2F6B3F)}
/* FAQ: smooth open, heat ring when open */
.qa{border:0;box-shadow:0 0 0 1px var(--line),var(--warm-1);transition:box-shadow 300ms var(--ease),transform 300ms var(--ease)}
.qa:hover{box-shadow:0 0 0 1px rgba(91,43,181,.35),var(--warm-2)}
.qa[open]{box-shadow:0 0 0 2px #7B4FD6,var(--warm-3)}
.qa[open] .qa__a{animation:qaopen 420ms var(--ease)}
@keyframes qaopen{from{opacity:0;transform:translateY(-8px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}
.band--dark .qa{box-shadow:0 0 0 1px var(--char-line)}
.band--dark .qa[open]{box-shadow:0 0 0 2px #A67CF2}
.faqs__box input{box-shadow:var(--warm-1);transition:box-shadow 200ms var(--ease),border-color 200ms var(--ease)}
.faqs__box input:focus{outline:0;border-color:#A67CF2;box-shadow:0 0 0 4px rgba(166,124,242,.22)}
/* figures: glow frame and a wipe-in reveal */
.fig__frame{border:0;box-shadow:0 0 0 1px var(--line),var(--warm-2);background:radial-gradient(70% 70% at 50% 40%,#FFF,#F5F1FD)}
html.rv-on .fig.rv .fig__frame{transition:clip-path 900ms var(--ease) 80ms}
html.rv-on .fig.rv:not(.in) .fig__frame{clip-path:inset(0 100% 0 0 round 28px)}
html.rv-on .fig.rv.in .fig__frame{clip-path:inset(0 0 0 0 round 28px)}
.fig--seal .fig__frame{box-shadow:none;background:transparent}
/* pros/cons and key-value sheets */
.pc__col{border:0;box-shadow:0 0 0 1px var(--line),var(--warm-2);position:relative;overflow:hidden}
.pc__col::before{content:"";position:absolute;left:0;right:0;top:0;height:4px}
.pc__col--pro::before{background:linear-gradient(90deg,#5FB27A,#2F6B3F)}
.pc__col--con::before{background:var(--heat)}
.kv{border:0;box-shadow:0 0 0 1px var(--line),var(--warm-2)}
.kv dt{color:var(--ember-ink);font-weight:750}
/* keep-reading cards: arrow tile in heat */
.kr__go{background:var(--heat)!important;color:#fff!important;box-shadow:0 6px 14px -6px rgba(91,43,181,.6)}
/* secondary buttons: heat outline that fills on hover */
.btn.btn--secondary{background:linear-gradient(#fff,#fff) padding-box,var(--heat) border-box;border:2px solid transparent;box-shadow:var(--warm-1)}
.btn.btn--secondary:hover{background:linear-gradient(#F5F1FD,#F5F1FD) padding-box,var(--heat) border-box;transform:translateY(-2px);box-shadow:var(--warm-2)}
/* answer box on inner heroes */
.answer{border:0;box-shadow:0 0 0 1px var(--line),var(--warm-2)}
/* footer: heat ruler on top */
.ftr{position:relative;background:radial-gradient(50% 60% at 90% 0%,rgba(91,43,181,.22),transparent 65%),var(--char)}
.ftr::before{content:"";position:absolute;left:0;right:0;top:0;height:10px;background:var(--heat) 0 0/100% 3px no-repeat,repeating-linear-gradient(90deg,rgba(166,124,242,.7) 0 1.5px,transparent 1.5px 12px) 0 3px/100% 7px no-repeat}
/* reading gauge: a slim thermometer on the right edge (desktop) */
.rgauge{position:fixed;right:14px;top:50%;z-index:40;width:10px;height:min(46vh,360px);translate:0 -50%;border-radius:10px;background:#fff;box-shadow:0 0 0 1px var(--line-2),var(--warm-2);overflow:hidden;pointer-events:none;opacity:0;transition:opacity 400ms var(--ease)}
.rgauge.is-on{opacity:1}
.rgauge span{position:absolute;left:0;right:0;bottom:0;height:100%;background:linear-gradient(0deg,#2E1270,#5B2BB5 40%,#A67CF2);transform:scaleY(var(--p));transform-origin:bottom;transition:transform 120ms linear}
.rgauge::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 11px,rgba(28,15,51,.18) 11px 12px);z-index:1}
@media (max-width:1100px){.rgauge{display:none}}
/* order band: drifting embers */
.cta::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(205,182,250,.9) 0 1.5px,transparent 2.5px),radial-gradient(circle,rgba(166,124,242,.7) 0 1px,transparent 2px);background-size:90px 110px,140px 130px;background-position:0 0,40px 60px;opacity:.35;animation:embers 14s linear infinite;-webkit-mask-image:linear-gradient(to top,#000,transparent 80%);mask-image:linear-gradient(to top,#000,transparent 80%)}
@keyframes embers{from{background-position:0 0,40px 60px}to{background-position:0 -220px,40px -200px}}
@media (prefers-reduced-motion:reduce){.cta::after,.steps.fx.in .step__n{animation:none}html.rv-on .fig.rv:not(.in) .fig__frame{clip-path:none}html.rv-on .rv:not(.in) .ticks li,html.rv-on tr.rv{opacity:1;transform:none}.card:hover,.kr__card:hover,.post:hover,.pcard:hover,.contact__c:hover{transform:none}}

/* v8: FAQ toggles and flip-card buttons */
.qa__icon{background:var(--heat-soft);box-shadow:inset 0 0 0 1px rgba(91,43,181,.18)}
.qa summary:hover .qa__icon{transform:scale(1.08)}
.qa[open] .qa__icon{background:var(--heat);box-shadow:0 6px 14px -6px rgba(91,43,181,.7)}
.flip__face.flip__front{box-shadow:var(--warm-2)}
.flip__btn{border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--heat) border-box;transition:transform 200ms var(--ease),box-shadow 200ms var(--ease)}
.flip__btn:hover{background:var(--heat) border-box;color:#fff;transform:translateY(-2px);box-shadow:0 8px 18px -8px rgba(91,43,181,.7)}
.flip__btn--back{background:transparent;border:2px solid rgba(255,255,255,.5)}
.flip__btn--back:hover{background:#fff;color:var(--char)}

/* ===== Retride DNA v9: growing-dot rulers and dotted edges ===== */
.sec__hl h2::after{width:132px;height:12px;background:radial-gradient(circle,#5B2BB5 0 2px,transparent 2.5px) 0 50%/12px 12px no-repeat,radial-gradient(circle,#5B2BB5 0 2.5px,transparent 3px) 14px 50%/12px 12px no-repeat,radial-gradient(circle,#5B2BB5 0 3px,transparent 3.5px) 28px 50%/12px 12px no-repeat,radial-gradient(circle,#5B2BB5 0 3.5px,transparent 4px) 43px 50%/12px 12px no-repeat,radial-gradient(circle,#7B4FD6 0 4px,transparent 4.5px) 59px 50%/12px 12px no-repeat,radial-gradient(circle,#7B4FD6 0 4.5px,transparent 5px) 76px 50%/12px 12px no-repeat,radial-gradient(circle,#A67CF2 0 5px,transparent 5.5px) 94px 50%/12px 12px no-repeat,radial-gradient(circle,#A67CF2 0 5.5px,transparent 6px) 113px 50%/12px 12px no-repeat}
.band--dark .sec__hl h2::after{filter:brightness(1.6) saturate(.8)}
.ftr::before{height:10px;background:linear-gradient(90deg,#5B2BB5,#A67CF2) 0 0/100% 3px no-repeat,radial-gradient(circle at 6px 7px,rgba(205,182,250,.75) 0 2px,transparent 2.6px) 0 3px/16px 8px repeat-x}
.rgauge::after{background:radial-gradient(circle at 50% 6px,rgba(28,15,51,.22) 0 1.6px,transparent 2px) 0 0/100% 12px repeat-y}
h2{letter-spacing:-.025em}
:root{--heat:linear-gradient(135deg,#A67CF2 0%,#7B4FD6 40%,#5B2BB5 70%,#2E1270 100%);--heat-soft:linear-gradient(135deg,#F5F1FD,#EDE5FC)}
.btn.btn--primary{background:#5B2BB5;background-image:linear-gradient(135deg,#5B2BB5 0%,#4320A3 60%,#2E1270 100%)}
.stat__big,.band:not(.band--dark) .stat__big{letter-spacing:-.03em}

.pack__per .slot{font-size:20px;letter-spacing:0}.pack__total .slot,.pack__band .slot{font-size:15px}
.faqs__grp{margin:22px 0 6px;font-family:var(--f-display);font-size:15px;font-weight:700;color:var(--ember-ink);display:flex;align-items:center;gap:8px}.faqs__grp::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--heat)}
