/* Extracted unchanged from reference homepage; homepage is not modified. */

:root{
  --ink:#16325c;        /* 制服藏青：品牌主色、文字 */
  --ink-2:#4a5f7d;      /* 次要文字 */
  --paper:#ffffff;      /* 試卷白 */
  --desk:#f1f5f9;       /* 桌面冷灰 */
  --rose:#e59aa8;       /* 答案卡紅框 */
  --rose-tint:#fdf1f3;
  --pen:#c8102e;        /* 老師紅筆 */
  --teal:#0b6b60;       /* 監視器綠：主要按鈕、正解 */
  --teal-tint:#e5f3f0;
  --lead:#2a2e35;       /* 2B 鉛筆 */
  --line:#d8e1ea;
  --kai:"LXGW WenKai TC","BiauKai","Kaiti TC","DFKai-SB","標楷體",serif;
  --sans:"PingFang TC","Noto Sans TC","Microsoft JhengHei","Heiti TC",system-ui,sans-serif;
  --wrap:1160px;
  --gut:16px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--desk);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.75;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink)}
h1,h2,h3{line-height:1.3;margin:0;font-weight:900;letter-spacing:.01em}
p{margin:0}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:50;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px}
.skip:focus{top:12px}
:focus-visible{outline:3px solid #f2b705;outline-offset:3px;border-radius:4px}

/* ---------- 倒數條 ---------- */
.countdown{background:var(--ink);color:#fff;font-size:15px}
.countdown .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 14px;padding-top:9px;padding-bottom:9px;text-align:center}
.countdown a{color:#fff;text-underline-offset:3px}
.cd-days{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.digits{display:inline-flex;gap:2px}
.digit{display:inline-block;width:1.15em;height:1.55em;overflow:hidden;background:#fff;color:var(--ink);border-radius:4px;font-weight:900;font-size:17px;line-height:1.55em;text-align:center;font-variant-numeric:tabular-nums;position:relative}
.digit .reel{display:flex;flex-direction:column;transition:transform 1.1s var(--ease)}
.digit .reel span{height:1.55em}

/* ---------- 導覽 ---------- */
header.site{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.nav{display:flex;align-items:center;gap:12px;min-height:60px;flex-wrap:wrap}
.brand{display:flex;flex-direction:column;text-decoration:none;font-weight:900;font-size:19px;line-height:1.2;margin-right:auto}
.brand small{font-weight:500;font-size:12px;color:var(--ink-2);letter-spacing:.04em}
.navlinks{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;order:3;width:100%;margin:0 calc(var(--gut) * -1);padding:0 var(--gut) 8px}
.navlinks::-webkit-scrollbar{display:none}
@media (max-width:999px){.navlinks{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}}
.navlinks a{flex:none;text-decoration:none;font-size:15px;padding:6px 10px;border-radius:6px;color:var(--ink-2)}
.navlinks a:hover{background:var(--desk);color:var(--ink)}
.navlinks a[aria-current="page"]{color:var(--ink);font-weight:700;box-shadow:inset 0 -2px 0 var(--pen)}
.nav-cta{font-size:14px;padding:8px 12px}

/* ---------- 按鈕 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:700;border-radius:8px;padding:14px 22px;font-size:17px;line-height:1.3;transition:transform .15s var(--ease),box-shadow .15s var(--ease),background .15s;text-align:center}
.btn-primary{background:var(--teal);color:#fff;box-shadow:0 3px 0 #06463f}
.btn-primary:hover{background:#09796c;transform:translateY(-1px);box-shadow:0 4px 0 #06463f}
.btn-primary:active{transform:translateY(2px);box-shadow:0 1px 0 #06463f}
.btn-ghost{color:var(--ink);background:transparent;box-shadow:inset 0 0 0 2px var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}

/* ---------- 主視覺 ---------- */
.hero{position:relative;padding:28px 0 104px;overflow:hidden;background:var(--paper)}
.ecg{position:absolute;left:0;right:0;bottom:8px;width:100%;height:90px;pointer-events:none;opacity:.9}
.ecg path{fill:none;stroke:#b7dcd6;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
.ecg .trace{stroke:var(--teal);stroke-width:2.4;stroke-dasharray:1800;stroke-dashoffset:1800}
.hero-grid{position:relative;display:grid;gap:28px}
.hero h1{font-size:clamp(28px,7.6vw,48px);line-height:1.22;letter-spacing:-.005em}
.hero h1 .k{display:block;font-size:.42em;font-weight:700;color:var(--ink-2);letter-spacing:.06em;margin-bottom:12px}
.hero h1 .l{display:block}
.hero .lede{margin-top:16px;font-size:18px;color:var(--ink-2);max-width:32em}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.hero-actions .btn{flex:1 1 auto}
.hero-trust{margin-top:16px;font-size:14px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:4px 16px}
.hero-trust span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--teal);margin-right:7px;vertical-align:2px}
.tools{display:flex;gap:16px;margin-top:22px;align-items:center}
.tools svg{width:44px;height:44px}
.tools path,.tools circle,.tools rect,.tools line{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tools .draw{stroke-dasharray:var(--len,200);stroke-dashoffset:0}
.tools figcaption{font-size:13px;color:var(--ink-2);line-height:1.5}

/* ---------- 答案卡（示範題） ---------- */
.sheet{position:relative;background:var(--paper);border:1.5px solid var(--rose);border-radius:6px;box-shadow:0 1px 0 var(--rose),0 18px 40px -18px rgba(22,50,92,.35);font-family:var(--kai);padding:0 0 18px;transform-origin:50% 0}
.sheet-head{position:relative;display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--rose-tint);border-bottom:1.5px solid var(--rose);padding:10px 16px;font-family:var(--sans);font-size:14px;color:#9b3b4c;border-radius:5px 5px 0 0}
.sheet-head b{font-weight:700}
.sheet-body{position:relative;padding:16px 16px 0}
.q{font-size:20px;line-height:1.7;color:var(--lead)}
.q .qno{font-family:var(--sans);font-weight:900;color:var(--pen);margin-right:4px}
.opts{border:0;margin:14px 0 0;padding:0}
.opt{position:relative;display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:start;padding:10px 8px;border-radius:6px;cursor:pointer;transition:background .2s}
.opt:hover{background:#f8fafc}
.opt + .opt{border-top:1px dashed #f0c3cc;border-radius:0}
.opt input{position:absolute;opacity:0;width:1px;height:1px}
.bubble{position:relative;width:34px;height:34px;border-radius:50%;border:2px solid var(--rose);display:grid;place-items:center;font-family:var(--sans);font-weight:700;color:#b04456;font-size:16px;margin-top:2px;transition:background .25s,color .25s,border-color .25s}
.opt input:focus-visible + .bubble{outline:3px solid #f2b705;outline-offset:3px}
.opt input:checked + .bubble{background:var(--lead);border-color:var(--lead);color:#fff;animation:fill .35s var(--ease)}
@keyframes fill{0%{transform:scale(.7)}60%{transform:scale(1.12)}100%{transform:scale(1)}}
.opt-text{font-size:18px;line-height:1.65;color:var(--lead)}
.mark{position:absolute;left:-1px;top:3px;width:48px;height:42px;overflow:visible;pointer-events:none}
.mark path{fill:none;stroke:var(--pen);stroke-width:3;stroke-linecap:round;stroke-dasharray:160;stroke-dashoffset:160}
.why{grid-column:2;display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.why > span{overflow:hidden;display:block}
.why .w{display:block;color:var(--pen);font-size:17px;line-height:1.6;padding-top:6px;opacity:0;transform:translateY(-6px);transition:opacity .4s ease,transform .4s var(--ease)}
.why b{font-family:var(--sans);font-size:13px;font-weight:700;border:1.5px solid currentColor;border-radius:4px;padding:0 5px;margin-right:6px;vertical-align:2px}
.sheet.done .opt{cursor:default}
.sheet.done .why{grid-template-rows:1fr}
.sheet.done .why .w{display:block;opacity:1;transform:none}
.sheet.done .opt.is-right{background:var(--teal-tint)}
.sheet.done .opt.is-right .why .w{display:block;color:var(--teal)}
.sheet.done .mark path{animation:pen .55s var(--ease) forwards;animation-delay:var(--d,0s)}
@keyframes pen{to{stroke-dashoffset:0}}
.sheet.done .opt.is-right .mark path{stroke:var(--teal)}
.verdict{min-height:0;font-family:var(--sans);font-size:15px;font-weight:700;padding:0 16px;margin-top:6px;position:relative}
.verdict:not(:empty){padding-top:6px}
.sheet-foot{position:relative;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:10px 16px 0;font-family:var(--sans);font-size:14px;color:var(--ink-2)}
.linkbtn{background:none;border:0;padding:4px 0;font:inherit;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.reveal-fig{position:relative;display:grid;grid-template-rows:0fr;transition:grid-template-rows .7s var(--ease);margin:0 16px}
.reveal-fig > div{overflow:hidden}
.sheet.done .reveal-fig{grid-template-rows:1fr}
.fig-inner{margin-top:14px;border-top:1.5px dashed var(--rose);padding-top:14px;font-family:var(--sans);opacity:0;transform:translateY(16px) scale(.98);transition:opacity .5s ease .35s,transform .6s var(--ease) .35s}
.sheet.done .fig-inner{opacity:1;transform:none}
.fig-inner img{border-radius:8px;border:1px solid var(--line);width:100%}
.fig-inner .cap{font-size:14px;color:var(--ink-2);margin-top:8px}
.mnemonic{margin-top:10px;font-family:var(--kai);font-size:20px;font-weight:700;color:var(--ink)}
.mnemonic mark{background:linear-gradient(transparent 55%,#ffe36b 55%);color:inherit;padding:0 2px;background-size:0 100%;background-repeat:no-repeat;transition:background-size .8s var(--ease) .9s}
.sheet.done .mnemonic mark{background-size:100% 100%}
.fig-inner .btn{margin-top:12px;width:100%}

/* ---------- 區塊 ---------- */
section.block{padding:56px 0}
.block h2{font-size:clamp(24px,6.2vw,38px)}
.block .sub{margin-top:10px;color:var(--ink-2);max-width:36em}
.bg-paper{background:var(--paper)}

/* 圖解 */
.tu-layout{display:grid;gap:28px;margin-top:28px}
.tu-strip{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);padding:4px var(--gut) 16px;margin:0 calc(var(--gut) * -1);scrollbar-width:thin}
.tu-card{flex:0 0 62%;scroll-snap-align:start;text-decoration:none;color:var(--ink)}
.tu-card .frame{display:block;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 1px 0 var(--line),0 14px 30px -18px rgba(22,50,92,.45);transition:transform .35s var(--ease),box-shadow .35s var(--ease);aspect-ratio:2/3}
.tu-card img{width:100%;height:100%;object-fit:cover}
.tu-card:hover .frame{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 1px 0 var(--line),0 24px 40px -18px rgba(22,50,92,.5)}
.tu-card:nth-child(even):hover .frame{transform:translateY(-6px) rotate(.6deg)}
.tu-card .t{display:block;font-size:15px;font-weight:700;margin-top:10px;line-height:1.45}
.tu-side{display:grid;gap:14px;align-content:start}
.point{display:grid;grid-template-columns:28px 1fr;gap:10px}
.point svg{width:28px;height:28px;margin-top:3px}
.point svg path,.point svg circle{fill:none;stroke:var(--teal);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.point h3{font-size:18px}
.point p{font-size:16px;color:var(--ink-2)}
.dl{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;background:var(--paper);border-radius:10px;padding:12px;text-decoration:none;transition:transform .15s var(--ease),background .15s}
.dl:hover{background:#fff;box-shadow:0 10px 24px -16px rgba(22,50,92,.45);transform:translateY(-2px)}
.dl:active{transform:translateY(1px)}
.dl img{border-radius:4px;box-shadow:0 2px 8px rgba(22,50,92,.2)}
.dl strong{display:block;font-size:16px}
.dl span{font-size:14px;color:var(--ink-2)}
.dl-row{display:grid;gap:10px;margin-top:6px}
.text-link{font-weight:700;text-underline-offset:4px}

/* 比較表 */
.cmp-wrap{max-width:920px;margin-top:24px;background:var(--paper);border-radius:10px;border:1px solid var(--line);overflow:hidden}
table.cmp{width:100%;border-collapse:collapse;font-size:15px}
.cmp th,.cmp td{padding:12px 6px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}
.cmp thead th{white-space:nowrap;font-size:13px;font-weight:700;color:var(--ink-2);background:var(--desk);line-height:1.4}
.cmp thead th.us{background:var(--ink);color:#fff}
.cmp tbody th{text-align:left;font-weight:500;width:40%;line-height:1.5}
.cmp td.us{background:#f3f8f7;font-weight:700;color:var(--teal)}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:0}
.sym{display:inline-block;font-size:19px;line-height:1}
.sym.no{color:#9aa8b8}
.sym.mid{color:#8a6d00}
.cmp-note{font-size:13px;color:var(--ink-2);margin-top:10px}
.cmp tbody tr{transition:background .2s}
.cmp tbody tr:hover{background:#fafcfd}

/* 類科 */
.exams{display:grid;gap:16px;margin-top:26px}
.feat{position:relative;background:var(--ink);color:#fff;border-radius:12px;padding:24px 20px;overflow:hidden}
.feat h3{font-size:30px}
.feat .count{margin-top:6px;font-size:16px;color:#cfdbeb}
.feat ul{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:6px;font-size:16px}
.feat li{display:grid;grid-template-columns:22px 1fr;gap:6px}
.feat li::before{content:"";width:12px;height:7px;border-left:2.5px solid #7fd6c8;border-bottom:2.5px solid #7fd6c8;transform:rotate(-45deg);margin-top:8px}
.feat .price{margin-top:16px;font-size:14px;color:#cfdbeb;border-top:1px solid rgba(255,255,255,.18);padding-top:12px}
.feat .price strong{display:block;font-size:24px;color:#fff;line-height:1.3;margin-bottom:2px}
.feat .btn{margin-top:16px;width:100%}
.feat .btn-primary{background:#fff;color:var(--ink);box-shadow:0 3px 0 #9fb3cc}
.feat .btn-primary:hover{background:#eef4fa}
.feat .ghost-ecg{position:absolute;right:-20px;top:16px;width:220px;opacity:.18}
.feat .ghost-ecg path{fill:none;stroke:#fff;stroke-width:3}
.list{display:grid;gap:8px}
.list h3,.pre h3{font-size:15px;font-weight:700;color:var(--ink-2);margin:4px 0 2px}
.row{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:12px 14px;text-decoration:none;transition:transform .15s var(--ease),border-color .15s,box-shadow .15s}
.row:hover{border-color:var(--ink);transform:translateX(3px);box-shadow:-3px 0 0 var(--teal)}
.row:active{transform:translateX(1px) scale(.995)}
.row strong{font-size:18px}
.row .meta{grid-column:1;font-size:14px;color:var(--ink-2)}
.row .go{grid-row:1 / span 2;grid-column:2;font-size:14px;font-weight:700;color:var(--teal);white-space:nowrap}
.pre{display:grid;gap:8px}
.pre-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.chip{display:block;background:transparent;border:1.5px dashed #a9b8c9;border-radius:8px;padding:10px 12px;text-decoration:none;transition:border-color .15s,background .15s,transform .15s}
.chip:hover{border-color:var(--ink);background:var(--paper);transform:translateY(-2px)}
.chip strong{display:block;font-size:16px}
.chip span{font-size:13px;color:var(--ink-2)}
@media (max-width:719px){.pre-grid .chip:last-child{grid-column:1 / -1}}
.picked{display:inline-block;font-family:var(--sans);font-size:12px;font-weight:700;background:var(--lead);color:#fff;border-radius:4px;padding:0 6px;margin-right:6px;vertical-align:2px}
.badge{display:inline-block;font-size:12px;font-weight:700;color:var(--pen);border:1.5px solid var(--pen);border-radius:4px;padding:0 5px;margin-left:6px;vertical-align:2px;line-height:1.6}

/* 職涯 */
.packs{display:grid;gap:14px;margin-top:24px}
.pack{display:grid;gap:6px;background:var(--desk);border-radius:10px;padding:20px;border-left:5px solid var(--teal);text-decoration:none;transition:transform .15s var(--ease),box-shadow .2s}
.pack:nth-child(2){border-left-color:var(--rose)}
.pack:hover{transform:translateY(-3px);box-shadow:0 14px 28px -18px rgba(22,50,92,.45)}
.pack h3{font-size:20px}
.pack p{font-size:16px;color:var(--ink-2)}
.pack .p{font-size:15px;font-weight:700;margin-top:4px}

/* 免費資源 */
.free-list{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:0;border-top:1px solid var(--line)}
.free-list li{border-bottom:1px solid var(--line)}
.free-list a{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:14px 2px;text-decoration:none;transition:padding .2s var(--ease)}
.free-list a:hover{padding-left:8px}
.free-list strong{font-size:17px}
.free-list span{font-size:14px;color:var(--ink-2);grid-column:1}
.free-list em{grid-row:1 / span 2;grid-column:2;align-self:center;font-style:normal;font-size:13px;font-weight:700;color:var(--teal);border:1.5px solid var(--teal);border-radius:999px;padding:0 10px}

/* 夥伴 */
.partner{background:var(--rose-tint);border-top:1.5px solid var(--rose);border-bottom:1.5px solid var(--rose)}
.partner .wrap{display:grid;gap:14px;padding-top:32px;padding-bottom:32px}
.partner h2{font-size:24px}
.partner p{color:var(--ink-2)}

/* FAQ */
.faq{margin-top:22px;display:grid;gap:10px}
.faq details{background:var(--desk);border:1px solid var(--line);border-radius:8px}
.faq summary{cursor:pointer;list-style:none;padding:14px 44px 14px 16px;font-weight:700;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:18px;top:50%;width:10px;height:10px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:translateY(-70%) rotate(45deg);transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{padding:0 16px 16px;color:var(--ink-2);font-size:16px}
.faq details[open] p{animation:drop .3s var(--ease)}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}}

/* 頁尾 */
footer.site{background:var(--ink);color:#d5e0ee;padding:40px 0 48px;font-size:15px}
footer.site a{color:#fff;text-underline-offset:3px}
.foot{display:grid;gap:22px}
.foot .fb{font-size:20px;font-weight:900;color:#fff}
.foot p{margin-top:4px}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 18px}

/* ---------- 進場與捲動動畫（只在可動畫時啟用） ---------- */
@media (prefers-reduced-motion:no-preference){
  .js .rise{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .8s var(--ease);transition-delay:var(--rd,0s)}
  .js .rise.in{opacity:1;transform:none}
  .js .hero .l{opacity:0;transform:translateY(.5em);animation:lineIn .8s var(--ease) forwards}
  .js .hero .k{opacity:0;animation:lineIn .6s var(--ease) .05s forwards}
  .js .hero .l:nth-child(2){animation-delay:.18s}
  .js .hero .l:nth-child(3){animation-delay:.32s}
  .js .hero .lede,.js .hero-actions,.js .hero-trust,.js .tools{opacity:0;animation:lineIn .7s var(--ease) forwards}
  .js .hero .lede{animation-delay:.5s}
  .js .hero-actions{animation-delay:.62s}
  .js .hero-trust{animation-delay:.72s}
  .js .tools{animation-delay:.8s}
  .js .hero .sheet{opacity:0;animation:sheetIn 1s var(--ease) .45s forwards}
  .js .ecg .trace{animation:trace 2.6s ease-in-out .3s forwards}
  .js .tools .draw{stroke-dashoffset:var(--len,200);animation:pen 1.4s ease .95s forwards}
  .js .tools svg:nth-child(2) .draw{animation-delay:1.15s}
  .js .tools svg:nth-child(3) .draw{animation-delay:1.35s}
  .blip{animation:blip 1.6s ease-in-out infinite}
}
@keyframes lineIn{to{opacity:1;transform:none}}
@keyframes sheetIn{0%{opacity:0;transform:translateY(30px) rotate(1.4deg)}100%{opacity:1;transform:rotate(0)}}
@keyframes trace{to{stroke-dashoffset:0}}
@keyframes blip{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .ecg .trace,.tools .draw{stroke-dashoffset:0!important}
  .sheet.done .mark path{stroke-dashoffset:0}
}

/* ---------- 桌機 ---------- */
@media (min-width:720px){
  :root{--gut:28px}
  .tu-card{flex-basis:40%}
  .pre-grid{grid-template-columns:repeat(3,1fr)}
  .packs{grid-template-columns:1fr 1fr}
  .dl-row{grid-template-columns:1fr 1fr}
  .partner .wrap{grid-template-columns:1fr auto;align-items:center}
  .foot{grid-template-columns:1.3fr 1fr}
  .cmp th,.cmp td{padding:14px 16px}
  .cmp thead th{font-size:14px}
}
@media (min-width:1000px){
  body{font-size:17px}
  .nav{flex-wrap:nowrap;min-height:68px}
  .navlinks{order:0;width:auto;margin:0;padding:0;overflow:visible}
  .hero{padding:56px 0 150px}
  .ecg{bottom:14px;height:140px}
  .hero-grid{grid-template-columns:1.08fr 1fr;gap:48px;align-items:start}
  .hero h1{font-size:48px}
  .hero-copy{padding-top:24px}
  .hero-actions .btn{flex:0 0 auto}
  section.block{padding:88px 0}
  .tu-layout{gap:36px}
  .tu-side{grid-template-columns:1fr 1fr 1.2fr 1.2fr;gap:20px;align-items:center}
  .tu-side .dl-row{display:contents}
  .tu-side .text-link{grid-column:1 / -1}
  .tu-strip{display:grid;grid-template-columns:repeat(4,1fr);overflow:visible;margin:0;padding:4px 0 0}
  .exams{grid-template-columns:380px 1fr;gap:20px;align-items:start}
  .list .rows{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .side{display:grid;gap:18px}
  .faq{grid-template-columns:1fr 1fr;align-items:start}
  .free-list{grid-template-columns:1fr 1fr;column-gap:48px;border-top:0}
  .free-list li:nth-child(-n+2){border-top:1px solid var(--line)}
}
@media (min-width:1000px) and (max-width:1100px){.nav-cta{display:none}}

/* Category adapters: keep original content and behavior. */
body.v2{--navy:var(--ink);--text:var(--ink);--muted:var(--ink-2);--border:var(--line);overflow-x:visible}
.v2 [hidden]{display:none!important}
.v2 h1{font-size:clamp(28px,5vw,44px);line-height:1.35;margin:24px 0;display:flex;align-items:center;gap:18px}
.v2 .exam-icon{width:64px;height:64px;flex:none;fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.v2 main{padding-bottom:48px}.v2 main.wrap{max-width:var(--wrap)}
.v2 h2{font-size:clamp(24px,4vw,32px);margin-bottom:16px}.v2 h3{margin-bottom:10px}
.v2 p+p{margin-top:12px}.v2 .section{padding:48px 0}.v2 .exam-detail>section{margin:32px 0}
.v2 .hero{padding:32px 0 48px;background:var(--paper)}
.v2 .hero-content h1{display:block}.v2 .hero-content .exam-icon{display:block;margin-bottom:16px}
.v2 .funnel-offer,.v2 .specialist-panel,.v2 .plan,.v2 .physician-intro,.v2 .panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px -24px var(--ink);padding:24px}
.v2 .funnel-offer{border-top:4px solid var(--teal)}
.v2 .funnel-price,.v2 .price{color:var(--ink)}
.v2 .button,.v2 .funnel-buy,.v2 .funnel-try,.v2 .trial-entry>a,.v2 .btn-primary,.v2 button.primary,.v2 #free{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-size:17px;font-weight:700;line-height:1.4;text-decoration:none;background:var(--teal)!important;color:#fff!important;border:0;border-radius:8px!important;padding:14px 22px!important;box-shadow:0 3px 0 #06463f;cursor:pointer;transition:transform .15s var(--ease),background .15s}
.v2 .button:hover,.v2 .funnel-buy:hover,.v2 .funnel-try:hover,.v2 .trial-entry>a:hover{background:#09796c!important;transform:translateY(-1px)}
.v2 .button:active,.v2 .funnel-try:active{transform:translateY(2px)}
.v2 .funnel-actions,.v2 .actions{display:flex;flex-wrap:wrap;gap:12px}.v2 .funnel-actions>a{max-width:100%}
.v2 .lead,.v2 .section-intro,.v2 .fine{color:var(--ink-2)}
.v2 .sample-question,.v2 #trial,.v2 fieldset.question,.v2 #quiz-form fieldset,.v2 .question-card,.v2 #quiz-review .review-card,.v2 #results article.review{background:var(--paper);border:1.5px solid var(--rose);border-radius:6px;box-shadow:0 1px 0 var(--rose),0 18px 40px -28px #16325c59;padding:20px;margin:24px 0;color:var(--lead);font-family:var(--kai)}
.v2 .sample-question h3{background:var(--rose-tint);border-bottom:1px solid var(--rose);margin:-20px -20px 16px;padding:10px 20px;font:700 15px var(--sans);color:#9b3b4c}
.v2 .sample-options{list-style:none;padding:0;margin:16px 0}
.v2 .sample-options li{position:relative;display:flex;align-items:baseline;gap:12px;padding:12px 8px;border-top:1px dashed #f0c3cc;font-size:19px}
.v2 .sample-options li:first-child{border-top:0}.v2 .sample-options li>span:first-child{border:2px solid var(--rose);border-radius:50%;width:36px;height:36px;display:inline-grid;place-items:center;flex:none;font:700 16px var(--sans);color:#b04456}
.v2 .sample-options li[data-picked]>span:first-child{color:#fff;background:var(--lead);border-color:var(--lead)}
.v2 .sample-options li[role=radio]{cursor:pointer}.v2 .sample-options li[aria-checked=true]{background:var(--rose-tint)}
.v2 .sample-stem{font-size:21px}.v2 .sample-explanation{border-top:1px dashed var(--rose);padding-top:12px;color:var(--ink-2)}
.v2 .v2-graded{position:relative}.v2 .v2-right{background:var(--teal-tint)!important}.v2 .v2-mark{width:48px;height:42px;position:absolute;left:0;top:8px;pointer-events:none;overflow:visible}
.v2 .v2-mark path{fill:none;stroke:var(--pen)!important;stroke-width:3;stroke-linecap:round;stroke-dasharray:160;stroke-dashoffset:0}
@media(prefers-reduced-motion:no-preference){.v2 .v2-mark path{stroke-dashoffset:160;animation:pen .55s var(--ease) forwards;animation-delay:var(--d,0s)}.v2 .v2-explanation{animation:lineIn .5s var(--ease) both;animation-delay:var(--d,0s)}}
.v2 #trial [data-answer]{position:relative;display:block;text-align:left;width:100%;margin:8px 0;border:1px solid var(--rose);border-radius:6px;background:#fff;color:var(--lead);padding:14px 16px;font:19px var(--kai)}
.v2 #trial [data-answer]:disabled{opacity:1}.v2 #trial [role=status]{color:var(--pen);margin:14px 0}
.v2 .option{position:relative}.v2 .explanation{font-family:var(--kai)}
.v2 #quiz-form fieldset{min-width:0}.v2 #quiz-form legend{color:var(--ink);font-weight:700;max-width:100%;padding:0 6px}.v2 #quiz-form .question-stem{font-size:21px;line-height:1.7}
.v2 #quiz-form .answer-option,.v2 #quiz-form label.option{display:flex;align-items:flex-start;gap:12px;position:relative;border:1px dashed var(--rose);border-radius:6px;padding:12px;margin:10px 0;font-size:19px;line-height:1.65;cursor:pointer;color:var(--lead)}
.v2 #quiz-form input[type=radio]{accent-color:var(--lead);width:22px;height:22px;flex:none;margin:5px 0 0}.v2 #quiz-form label:has(input:checked){background:var(--rose-tint);border-color:var(--rose)}
.v2 #quiz-review .review-card>h3,.v2 #results article.review>h3{background:var(--rose-tint);border-bottom:1px solid var(--rose);margin:-20px -20px 16px;padding:12px 20px;font:700 17px/1.6 var(--sans);color:#9b3b4c}
.v2 .review-options{list-style:none;padding:0;margin:16px 0}.v2 .review-options>li,.v2 #results article.review>p.v2-graded{position:relative;border-top:1px dashed var(--rose);padding:12px 10px;margin:0;font-size:19px;line-height:1.65;color:var(--lead)}
.v2 .review-options>li:first-child{border-top:0}.v2 #quiz-review .explanation,.v2 #results article.review>p.v2-explanation{font-size:18px;line-height:1.75;overflow-wrap:anywhere}.v2 #quiz-review .explanation{border-top:1px dashed var(--rose);padding-top:12px;margin-top:16px}
.v2 .search-faq,.v2 .funnel-help{max-width:var(--wrap);padding:24px 0;margin:24px auto}.v2 .faq{display:block}
.v2 details{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin:10px 0}.v2 summary{cursor:pointer;font-weight:700}.v2 details p{margin-top:12px}
.v2 .preorder-stats{width:100%;font-size:15px;border-collapse:collapse;background:var(--paper)}.v2 .preorder-stats th,.v2 .preorder-stats td{padding:10px 8px;border:1px solid var(--line);overflow-wrap:anywhere}
.v2 .exam-subjects{display:grid;gap:10px}.v2 .exam-subjects li{background:var(--paper);border-color:var(--line);border-radius:8px}
.v2 footer.site{padding:40px 0 48px;margin:0;background:var(--ink);color:#d5e0ee}.v2 footer.site p,.v2 footer.site span{color:inherit}.v2 footer.site a{color:#fff}.v2 .footer-brand{font-size:20px;font-weight:900;color:#fff}
.v2 .footer-top{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.v2 .footer-bottom{margin-top:22px}.v2 .footer-links{display:flex;flex-wrap:wrap;gap:6px 18px}.v2 .footer-subtitle{font-size:15px}
.v2 header.access{position:static;border-bottom:1px solid var(--line);background:var(--paper);max-width:none;padding:24px max(16px,calc((100vw - 1104px)/2))}.v2 footer.access{max-width:none;padding:32px max(16px,calc((100vw - 1104px)/2))}
.v2 .study-shell{max-width:var(--wrap);margin:auto;padding:24px var(--gut)}.v2 .study-shell .tools svg{width:auto;height:auto}.v2 .study-shell .tools{margin-top:0}
.v2 input,.v2 select,.v2 textarea{max-width:100%}.v2 img{max-width:100%}
@media(max-width:719px){.v2 .footer-top{grid-template-columns:1fr}.v2 .exam-icon{width:48px;height:48px}.v2 h1{gap:12px}.v2 .funnel-offer,.v2 .specialist-panel{padding:18px}.v2 .plans{grid-template-columns:1fr}.v2 .preorder-stats{font-size:13px}.v2 .preorder-stats th,.v2 .preorder-stats td{padding:8px 4px}.v2 .hero-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html:has(body.v2){scroll-behavior:auto!important}.v2,.v2 *,.v2 *::before,.v2 *::after,html:has(body.v2),html:has(body.v2) *,html:has(body.v2) *::before,html:has(body.v2) *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.v2 .v2-mark path{stroke-dashoffset:0!important}.v2 .rise{opacity:1!important;transform:none!important}}
.v2 .study:not([data-dark=true]){--ink:#16325c;--paper:#fff;--line:#d8e1ea;--accent:#0b6b60;--muted:#4a5f7d}
.v2 .study h1{font-size:1.9em}.v2 .study .panel:has(#stem){border:1.5px solid var(--rose);border-radius:6px}
.v2 .study .stem,.v2 .study #choices,.v2 .study .feedback{font-family:var(--kai)}
.v2 .study:not([data-dark=true]) .option.v2-right{color:var(--ink)}.v2 .study .option.v2-graded:disabled{opacity:1}
.v2 .study[data-dark=true] .v2-right{background:#183c35!important}
