/* Seatcheck theme: "control ticket" art direction. Prefix cad-, tokens --cad-. Hand-written atomic utilities + skeleton components. */
@font-face{font-family:"Poppins";src:url(/assets/fonts/poppins-latin-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url(/assets/fonts/poppins-latin-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url(/assets/fonts/lora-latin-wght.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url(/assets/fonts/lora-latin-wght-italic.woff2) format("woff2");font-weight:400 700;font-style:italic;font-display:swap}

:root{
--cad-bg:#f8fbfb;--cad-surface:#fbfcfc;--cad-text:#142421;--cad-text-muted:#5d6f6c;--cad-primary:#217869;--cad-on-primary:#ffffff;
--cad-accent:#7f7024;--cad-link:#136767;--cad-border:#dfe9e7;--cad-success:#1a7f37;--cad-warning:#8a5a00;--cad-danger:#c4262e;
/* derived tints (same hues as the genome palette) */
--cad-primary-soft:#e3f1ee;--cad-primary-deep:#0f4a40;--cad-accent-soft:#f4efd3;--cad-success-soft:#edf7f0;--cad-warning-soft:#fbf0d9;--cad-danger-soft:#fcebea;
--cad-on-dark:#ffffff;--cad-on-dark-muted:#b9cfca;--cad-gold:#e6d98a;--cad-mint:#9fdccf;--cad-line-strong:#b9d0cb;
--cad-sp-1:4px;--cad-sp-2:8px;--cad-sp-3:12px;--cad-sp-4:16px;--cad-sp-5:24px;--cad-sp-6:40px;--cad-sp-7:64px;
--cad-r-1:12px;--cad-r-2:16px;
--cad-shadow:0 1px 2px rgba(20,36,33,.06),0 8px 24px -10px rgba(20,36,33,.18);
--cad-shadow-up:0 2px 4px rgba(20,36,33,.07),0 18px 36px -14px rgba(20,36,33,.28);
--cad-fs-0:1rem;--cad-fs-1:1.125rem;--cad-fs-2:1.2656rem;--cad-fs-3:1.4238rem;--cad-fs-4:1.6018rem;--cad-fs-5:1.8021rem;--cad-fs-6:2.027rem;
--cad-fs-h1:clamp(1.9rem,1.25rem + 2.6vw,3rem);--cad-fs-d1:clamp(2.5rem,1.8rem + 3vw,3.5rem);--cad-fs-d2:clamp(2.75rem,1.9rem + 4vw,4.5rem);
--cad-sans:Poppins,"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
--cad-serif:Lora,Georgia,Cambria,"Times New Roman",serif;
--cad-ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;font:400 var(--cad-fs-1)/1.65 var(--cad-serif);color:var(--cad-text);background:var(--cad-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body.cad-bg{background-image:radial-gradient(60rem 28rem at 8% -6rem,var(--cad-primary-soft),transparent 70%),radial-gradient(44rem 22rem at 100% 0,var(--cad-accent-soft),transparent 70%);background-repeat:no-repeat}
img,svg{max-width:100%}
h1,h2,h3,h4{font-family:var(--cad-sans);font-weight:600;line-height:1.2;letter-spacing:-.012em;margin:0 0 var(--cad-sp-3);text-wrap:balance}
h1{font-size:var(--cad-fs-h1);font-weight:700;letter-spacing:-.02em}
h2{font-size:var(--cad-fs-4)}h3{font-size:var(--cad-fs-3)}h4{font-size:var(--cad-fs-2)}
p{margin:0 0 var(--cad-sp-3)}
a{color:var(--cad-link);text-decoration-thickness:1px;text-underline-offset:.2em;transition:color .15s,background-color .15s,box-shadow .15s,transform .15s}
a:hover{text-decoration-thickness:2px;color:var(--cad-primary-deep)}
:focus-visible{outline:3px solid var(--cad-primary);outline-offset:3px;border-radius:6px}
::selection{background:var(--cad-primary);color:var(--cad-on-primary)}
strong,b{font-weight:700}
abbr[title]{text-decoration:underline dotted}
hr{border:0;border-top:2px dashed var(--cad-line-strong);margin:var(--cad-sp-5) 0}
code,kbd{font:.9em/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--cad-primary-soft);padding:.1em .35em;border-radius:6px}
mark{background:var(--cad-accent-soft);color:var(--cad-text);padding:0 .2em;border-radius:4px}

/* atomic utilities */
.cad-flex{display:flex}.cad-col{flex-direction:column}.cad-fwrap{flex-wrap:wrap}.cad-ai-c{align-items:center}.cad-ai-s{align-items:flex-start}.cad-jc-b{justify-content:space-between}.cad-jc-c{justify-content:center}.cad-grow{flex:1 1 0;min-width:0}
.cad-grid{display:grid}.cad-gap-1{gap:var(--cad-sp-1)}.cad-gap-2{gap:var(--cad-sp-2)}.cad-gap-3{gap:var(--cad-sp-3)}.cad-gap-4{gap:var(--cad-sp-4)}.cad-gap-5{gap:var(--cad-sp-5)}
.cad-p-2{padding:var(--cad-sp-2)}.cad-p-3{padding:var(--cad-sp-3)}.cad-p-4{padding:var(--cad-sp-4)}.cad-p-5{padding:var(--cad-sp-5)}.cad-py-2{padding-block:var(--cad-sp-2)}.cad-py-3{padding-block:var(--cad-sp-3)}.cad-py-5{padding-block:var(--cad-sp-5)}.cad-px-3{padding-inline:var(--cad-sp-3)}.cad-px-4{padding-inline:var(--cad-sp-4)}
.cad-m-0{margin:0}.cad-mt-3{margin-top:var(--cad-sp-3)}.cad-mt-5{margin-top:var(--cad-sp-5)}.cad-mb-2{margin-bottom:var(--cad-sp-2)}.cad-mb-3{margin-bottom:var(--cad-sp-3)}.cad-mb-5{margin-bottom:var(--cad-sp-5)}
.cad-fs-0{font-size:var(--cad-fs-0)}.cad-fs-1{font-size:var(--cad-fs-1)}.cad-fs-2{font-size:var(--cad-fs-2)}.cad-fs-3{font-size:var(--cad-fs-3)}.cad-fs-4{font-size:var(--cad-fs-4)}.cad-fs-5{font-size:var(--cad-fs-5)}.cad-fs-6{font-size:var(--cad-fs-6)}.cad-fs-d1{font-size:var(--cad-fs-d1)}.cad-fs-d2{font-size:var(--cad-fs-d2)}
.cad-sans{font-family:var(--cad-sans)}.cad-fw-6{font-weight:600}.cad-fw-7{font-weight:700}.cad-lh-1{line-height:1.1}.cad-compact{line-height:1.45}
.cad-r-1{border-radius:var(--cad-r-1)}.cad-r-2{border-radius:var(--cad-r-2)}.cad-r-pill{border-radius:999px}.cad-shadow{box-shadow:var(--cad-shadow)}
.cad-text-muted{color:var(--cad-text-muted)}.cad-text-primary{color:var(--cad-primary)}.cad-text-deep{color:var(--cad-primary-deep)}
.cad-bg-surface{background:var(--cad-surface)}.cad-bg-soft{background:var(--cad-primary-soft)}.cad-bd{border:1px solid var(--cad-border)}
.cad-center{text-align:center}.cad-rel{position:relative}.cad-nowrap{white-space:nowrap}
.cad-sr,.cad-sprite{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;margin:-1px;padding:0}
.cad-hide{display:none!important}
.cad-wrap{width:min(1180px,100% - 32px);margin-inline:auto}

/* icons */
.cad-i{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.cad-i-s{width:18px;height:18px}.cad-i-l{width:32px;height:32px}

/* skip + header */
.cad-skip{position:absolute;left:12px;top:-80px;z-index:200;background:var(--cad-text);color:var(--cad-on-dark);padding:10px 16px;border-radius:var(--cad-r-1);font:600 1rem var(--cad-sans);text-decoration:none}
.cad-skip:focus{top:12px}
.cad-top{padding:14px 0 6px}
.cad-logo{display:inline-flex;align-items:center;gap:10px;font:700 1.5rem/1 var(--cad-sans);letter-spacing:-.02em;color:var(--cad-text);text-decoration:none}
.cad-logo svg{width:38px;height:38px;filter:drop-shadow(0 4px 8px rgba(33,120,105,.35))}
.cad-logo:hover{color:var(--cad-primary-deep)}
.cad-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 22px;border:2px solid var(--cad-primary);border-radius:999px;background:var(--cad-primary);color:var(--cad-on-primary);font:600 1rem/1.2 var(--cad-sans);text-decoration:none;cursor:pointer;box-shadow:0 6px 16px -8px rgba(33,120,105,.7);transition:transform .18s var(--cad-ease),box-shadow .18s,background-color .15s,color .15s}
.cad-btn:hover{background:var(--cad-primary-deep);border-color:var(--cad-primary-deep);color:var(--cad-on-primary);transform:translateY(-2px);box-shadow:0 12px 22px -10px rgba(15,74,64,.7)}
.cad-btn:active{transform:translateY(0)}
.cad-btn-2{background:var(--cad-surface);color:var(--cad-primary-deep);box-shadow:none}
.cad-btn-2:hover{background:var(--cad-primary-soft);color:var(--cad-primary-deep);border-color:var(--cad-primary);box-shadow:none}
.cad-btn-3{background:transparent;border-color:transparent;color:var(--cad-link);box-shadow:none;padding-inline:12px;min-height:40px}
.cad-btn-3:hover{background:var(--cad-primary-soft);color:var(--cad-primary-deep);border-color:transparent;box-shadow:none;transform:none}
.cad-btn-l{min-height:56px;padding:14px 30px;font-size:1.125rem}

/* menu overlay (module) */
.cad-menu{position:fixed;inset:0;z-index:300;background:rgba(20,36,33,.55);backdrop-filter:blur(6px);display:flex;justify-content:flex-end}
.cad-menu[hidden]{display:none}
.cad-menu-p{width:min(440px,100%);height:100%;overflow:auto;background:var(--cad-surface);padding:20px 22px 32px;box-shadow:-20px 0 60px rgba(20,36,33,.3);animation:cad-slide .22s var(--cad-ease)}
.cad-menu-p h2{font-size:var(--cad-fs-2);margin:22px 0 8px;color:var(--cad-text-muted)}
.cad-menu-p ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.cad-menu-p a{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--cad-r-1);font:600 1rem var(--cad-sans);color:var(--cad-text);text-decoration:none;border:1px solid var(--cad-border);background:var(--cad-bg)}
.cad-menu-p a:hover{background:var(--cad-primary-soft);border-color:var(--cad-primary)}
.cad-menu-x{margin-left:auto}
@keyframes cad-slide{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}

/* breadcrumbs + section switch */
.cad-crumbs{padding:8px 0}
.cad-crumbs>div{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--cad-surface);border:1px solid var(--cad-border);border-radius:999px;padding:8px 10px 8px 20px;box-shadow:var(--cad-shadow)}
.cad-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:2px 0;margin:0;padding:0;list-style:none;font:600 1rem/1.4 var(--cad-sans);min-width:0;flex:1 1 280px}
.cad-crumbs li{display:inline-flex;align-items:center;min-width:0}
.cad-crumbs li+li::before{content:"";width:18px;height:18px;margin:0 6px;background:var(--cad-line-strong);-webkit-mask:var(--cad-m-chev) center/contain no-repeat;mask:var(--cad-m-chev) center/contain no-repeat;flex:none}
.cad-crumbs li a{color:var(--cad-text-muted);text-decoration:none;display:inline-flex;align-items:center;gap:6px;padding:4px 0}
.cad-crumbs li a:hover{color:var(--cad-primary-deep);text-decoration:underline}
.cad-crumbs li[aria-current]{color:var(--cad-text);max-width:min(52ch,60vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.cad-switch{position:relative}
.cad-switch summary{list-style:none;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px 6px 16px;border-radius:999px;background:var(--cad-primary-soft);color:var(--cad-primary-deep);font:600 1rem var(--cad-sans);cursor:pointer;transition:background-color .15s}
.cad-switch summary::-webkit-details-marker{display:none}
.cad-switch summary:hover{background:#d3e8e3}
.cad-switch summary .cad-i{transition:transform .2s var(--cad-ease);transform:rotate(90deg)}
.cad-switch[open] summary .cad-i{transform:rotate(-90deg)}
.cad-switch ul{position:absolute;right:0;top:calc(100% + 8px);z-index:60;width:min(340px,calc(100vw - 32px));list-style:none;margin:0;padding:8px;background:var(--cad-surface);border:1px solid var(--cad-border);border-radius:var(--cad-r-2);box-shadow:var(--cad-shadow-up);animation:cad-pop .18s var(--cad-ease)}
.cad-switch li a{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:var(--cad-r-1);font:600 1rem var(--cad-sans);color:var(--cad-text);text-decoration:none}
.cad-switch li a:hover,.cad-switch li a[aria-current]{background:var(--cad-primary-soft);color:var(--cad-primary-deep)}
.cad-seatno{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--cad-primary);font:700 .9rem/1 var(--cad-sans);color:var(--cad-primary-deep);flex:none}
@keyframes cad-pop{from{transform:translateY(-6px);opacity:0}to{transform:none;opacity:1}}

/* ad strip (density compact) */
.cad-adbar{background:var(--cad-accent-soft);border-block:1px solid #e3dba9;font:600 1rem/1.45 var(--cad-sans);padding:8px 0;color:var(--cad-text)}
.cad-adbar>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cad-adbar .cad-i{color:var(--cad-accent)}
.cad-adbar b{border:2px solid var(--cad-accent);border-radius:8px;padding:0 8px;font-weight:700}
body .ad-bar .ad-leg{font-size:.875rem}
body .ad-sticky .ad-leg{font-size:.8125rem}
body .site-links{font-size:1rem!important;padding:20px 16px 28px!important;border-top:0!important;background:var(--cad-text);color:var(--cad-on-dark-muted)}
body .site-links a{color:var(--cad-mint)}

/* page shell + ticket head */
main{display:block;padding-bottom:8px}
.cad-stack{display:grid;grid-template-columns:minmax(0,1fr);column-gap:44px;padding:16px 0 24px;counter-reset:card;position:relative}
.cad-stack>*{grid-column:1;min-width:0}
.cad-stack h1{margin:0 0 14px}
.cad-capsule{font-size:var(--cad-fs-2);line-height:1.55;font-weight:500;max-width:66ch;background:var(--cad-surface);border:1px solid var(--cad-border);border-left:6px solid var(--cad-primary);border-radius:var(--cad-r-1);padding:16px 20px;box-shadow:var(--cad-shadow);margin:0 0 14px;position:relative}
.cad-capsule::after{content:"";position:absolute;right:-1px;top:-1px;width:56px;height:56px;border-radius:0 var(--cad-r-1) 0 0;background:linear-gradient(225deg,var(--cad-primary-soft) 50%,transparent 50%)}
.cad-checked{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 24px;font:600 1rem/1.3 var(--cad-sans)}
.cad-checked time{display:inline-flex;align-items:center;gap:8px;padding:6px 16px 6px 10px;border:2px solid var(--cad-primary);border-radius:999px;color:var(--cad-primary-deep);background:var(--cad-surface);transform:rotate(-1.2deg);box-shadow:0 4px 12px -6px rgba(33,120,105,.5)}
.cad-ttl{display:inline-flex;align-items:center;gap:10px;color:var(--cad-text-muted);font-weight:600}
.cad-ttl-bar{width:84px;height:8px;border-radius:99px;background:var(--cad-border);overflow:hidden;display:inline-block}
.cad-ttl-bar i{display:block;height:100%;width:var(--cad-w,8%);background:linear-gradient(90deg,var(--cad-primary),#4aa392);border-radius:99px}
.cad-ttl.is-late{color:var(--cad-warning)}.cad-ttl.is-late .cad-ttl-bar i{background:var(--cad-warning);width:100%}
.cad-cover{display:block;width:196px;height:112px;margin:0 0 14px;filter:drop-shadow(0 10px 14px rgba(20,36,33,.16));overflow:visible}
.cv-bgc{fill:var(--cad-bg)}
.cv-s1{stroke:var(--cad-primary);stroke-width:2.5}.cv-s2{stroke:var(--cad-line-strong);stroke-width:2}
.cv-ln{fill:none;stroke:var(--cad-primary);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.cv-s1,.cv-s2{stroke-linejoin:round}
.cv-ln2{fill:none;stroke:var(--cad-line-strong);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cv-dash{fill:none;stroke:var(--cad-primary);stroke-width:2;stroke-dasharray:4 5;stroke-linecap:round}
.cv-ac{fill:none;stroke:var(--cad-accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.cv-f{fill:var(--cad-primary)}.cv-fs{fill:var(--cad-surface)}.cv-fa{fill:var(--cad-accent-soft)}.cv-fp{fill:var(--cad-primary-soft)}.cv-fm{fill:var(--cad-line-strong)}.cv-fd{fill:var(--cad-primary-deep)}
.cv-ck{fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.cv-t{font:700 15px var(--cad-sans);fill:var(--cad-primary-deep)}
@media(min-width:1040px){
 .cad-stack{grid-template-columns:minmax(0,1fr) 290px}
 .cad-stack>.cad-cover{grid-column:2;grid-row:1/span 3;width:100%;height:auto;aspect-ratio:280/160;align-self:start;margin:6px 0 0}
 .cad-stack>.cad-toc{grid-column:2;grid-row:4/span 60;align-self:start;position:sticky;top:20px}
 .cad-stack>.cad-card,.cad-stack>.cad-hubs,.cad-stack>.cad-tablist{grid-column:1}
}

/* TOC: sticky rail on desktop, floating chip bar on mobile */
.cad-toc{font-family:var(--cad-sans)}
.cad-toc p{margin:0 0 8px;font:700 1rem var(--cad-sans);color:var(--cad-text-muted)}
.cad-toc ol{list-style:none;margin:0;padding:0;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.cad-toc li{flex:none}
.cad-toc a{display:block;padding:7px 14px;border-radius:999px;border:1px solid var(--cad-border);background:var(--cad-surface);color:var(--cad-text);font:600 1rem/1.3 var(--cad-sans);text-decoration:none;white-space:nowrap}
.cad-toc a:hover{border-color:var(--cad-primary);background:var(--cad-primary-soft)}
.cad-toc a[aria-current="true"]{background:var(--cad-primary);border-color:var(--cad-primary);color:var(--cad-on-primary)}
.cad-toc li.l3 a{font-weight:600;color:var(--cad-text-muted)}
@media(max-width:1039px){
 .cad-toc{position:sticky;top:0;z-index:40;margin:0 -16px 16px;padding:8px 16px;background:rgba(248,251,251,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--cad-border)}
 .cad-toc p{display:none}
}
@media(min-width:1040px){
 .cad-toc{background:var(--cad-surface);border:1px solid var(--cad-border);border-radius:var(--cad-r-2);padding:16px;box-shadow:var(--cad-shadow);max-height:calc(100vh - 40px);overflow:auto}
 .cad-toc ol{flex-direction:column;gap:2px;overflow:visible;position:relative}
 .cad-toc ol::before{content:"";position:absolute;left:11px;top:6px;bottom:6px;border-left:2px dashed var(--cad-border)}
 .cad-toc a{border:0;background:none;border-radius:var(--cad-r-1);padding:6px 10px 6px 28px;white-space:normal;position:relative;font-size:1rem}
 .cad-toc a::before{content:"";position:absolute;left:5px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:var(--cad-surface);border:2px solid var(--cad-line-strong);transition:background-color .15s,border-color .15s}
 .cad-toc a:hover{background:var(--cad-primary-soft)}
 .cad-toc a[aria-current="true"]{background:var(--cad-primary-soft);color:var(--cad-primary-deep)}
 .cad-toc a[aria-current="true"]::before{background:var(--cad-primary);border-color:var(--cad-primary)}
 .cad-toc li.l3 a{padding-left:42px}.cad-toc li.l3 a::before{left:19px;width:10px;height:10px;margin-top:-5px}
}

/* cards (card-stack) */
.cad-card{position:relative;background:var(--cad-surface);border:1px solid var(--cad-border);border-radius:var(--cad-r-2);box-shadow:var(--cad-shadow);padding:20px 20px 0 64px;margin:0 0 20px;counter-increment:card;overflow:hidden;scroll-margin-top:84px}
.cad-card::before{content:counter(card,decimal-leading-zero);position:absolute;left:0;top:0;bottom:0;width:46px;border-right:2px dashed var(--cad-border);padding-top:22px;text-align:center;font:700 1.35rem/1 var(--cad-sans);color:var(--cad-primary)}
.cad-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 46px 0,var(--cad-bg) 9px,transparent 9.5px),radial-gradient(circle at 46px 100%,var(--cad-bg) 9px,transparent 9.5px)}
.cad-card>header{margin:0 0 12px}
.cad-card>header h2{margin:0;font-size:var(--cad-fs-4)}
.cad-card>:not(header):not(footer){max-width:100%}
.cad-card p,.cad-card li,.cad-card dd,.cad-card dt{max-width:68ch}
.cad-card>:last-child:not(footer){margin-bottom:20px}
.cad-card:first-of-type{border-top:5px solid var(--cad-primary)}
.cad-card:first-of-type>header h2{font-size:var(--cad-fs-5)}
.cad-card:nth-of-type(4n+3){background:linear-gradient(180deg,var(--cad-primary-soft),var(--cad-surface) 60%)}
.cad-card:nth-of-type(5n+4){border-left:6px solid var(--cad-accent)}
.cad-mini{margin:16px -20px 0 -64px;padding:12px 20px 12px 64px;background:var(--cad-primary-soft);border-top:1px dashed var(--cad-line-strong);font:400 1rem/1.45 var(--cad-serif);color:var(--cad-text);display:flex;align-items:flex-start;gap:10px;max-width:none!important;position:relative;z-index:1}
.cad-mini::before{content:"";width:22px;height:22px;flex:none;margin-top:1px;background:var(--cad-primary);-webkit-mask:var(--cad-m-check) center/contain no-repeat;mask:var(--cad-m-check) center/contain no-repeat}
.cad-mini strong{font-family:var(--cad-sans);font-weight:700;color:var(--cad-primary-deep);margin-right:4px}
.cad-mini>*{margin:0}
p[data-role="short"]:not(.cad-mini p){background:var(--cad-primary-soft);border-radius:var(--cad-r-1);padding:10px 16px;font-size:1rem}
/* dark method card */
#how-checked{background:radial-gradient(40rem 20rem at 100% 0,#1e4a42,transparent 70%),var(--cad-text);color:var(--cad-on-dark);border-color:var(--cad-text)}
#how-checked::before{color:var(--cad-gold)}#how-checked::after{background:radial-gradient(circle at 46px 0,var(--cad-bg) 9px,transparent 9.5px),radial-gradient(circle at 46px 100%,var(--cad-bg) 9px,transparent 9.5px)}
#how-checked a{color:var(--cad-mint)}#how-checked a:hover{color:#fff}
#how-checked h2,#how-checked strong{color:var(--cad-on-dark)}
#how-checked .cad-mini{background:rgba(255,255,255,.08);border-top-color:rgba(255,255,255,.25);color:var(--cad-on-dark)}
#how-checked .cad-mini::before{background:var(--cad-gold)}#how-checked .cad-mini strong{color:var(--cad-gold)}
#how-checked ol>li{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18)}
#how-checked ol>li::before{color:var(--cad-gold)}
#how-checked ul>li::before{background:var(--cad-gold)}
/* timeline: what changed */
#changes ul,#changes ol{list-style:none;margin:0 0 16px;padding:0 0 0 22px;border-left:3px solid var(--cad-line-strong)}
#changes li{position:relative;padding:4px 0 14px 22px;margin:0;counter-increment:none}
#changes li::before{content:"";position:absolute;left:-33px;top:12px;width:18px;height:18px;border-radius:50%;background:var(--cad-surface);border:4px solid var(--cad-primary);box-shadow:0 0 0 4px var(--cad-surface);-webkit-mask:none;mask:none}
#changes li:first-child::before{background:var(--cad-primary)}
#changes ol>li{background:none;border:0;padding:4px 0 14px 22px;border-radius:0}
#changes ol>li::after{display:none}
#changes time,#changes li>strong:first-child{font:700 1rem var(--cad-sans);color:var(--cad-primary-deep);display:inline-block;margin-right:6px}

/* body typography inside cards */
.cad-card ul,.cad-card ol{margin:0 0 16px}
.cad-card ul{list-style:none;padding:0}
.cad-card ul>li{position:relative;padding-left:30px;margin:0 0 8px}
.cad-card ul>li::before{content:"";position:absolute;left:0;top:.42em;width:20px;height:20px;background:var(--cad-primary);-webkit-mask:var(--cad-m-check) center/contain no-repeat;mask:var(--cad-m-check) center/contain no-repeat}
.cad-card ol{list-style:none;padding:0;counter-reset:step}
.cad-card ol>li{counter-increment:step;position:relative;padding:14px 16px 14px 84px;margin:0 0 12px;background:var(--cad-bg);border:1px solid var(--cad-border);border-radius:var(--cad-r-1);min-height:76px;transition:transform .18s var(--cad-ease),box-shadow .18s}
.cad-card ol>li:hover{transform:translateX(3px);box-shadow:var(--cad-shadow)}
.cad-card ol>li::before{content:counter(step);position:absolute;left:12px;top:50%;transform:translateY(-50%);width:58px;text-align:center;font:700 2.75rem/1 var(--cad-sans);color:var(--cad-primary);letter-spacing:-.04em}
.cad-card ol>li::after{content:"";position:absolute;left:74px;top:10px;bottom:10px;border-left:2px dashed var(--cad-line-strong)}
.cad-card li ul,.cad-card li ol{margin:8px 0 0}
.cad-card li ol>li{padding-left:70px}
.cad-card li>p:last-child{margin-bottom:0}
.cad-card blockquote,[data-role="quote"]{position:relative;margin:8px 0 20px;padding:20px 24px 18px 64px;background:var(--cad-accent-soft);border-radius:var(--cad-r-2);border-left:6px solid var(--cad-accent);font-style:italic;font-size:var(--cad-fs-2);line-height:1.5}
.cad-card blockquote::before,[data-role="quote"]::before{content:"\201C";position:absolute;left:16px;top:2px;font:700 4.5rem/1 var(--cad-sans);color:var(--cad-accent);font-style:normal}
.cad-card blockquote p{margin:0}
[data-role="tip"],[data-role="warning"],[data-role="fact"]{position:relative;margin:8px 0 20px;padding:14px 18px 14px 58px;border-radius:var(--cad-r-1);border:1px solid;font-size:1rem}
[data-role="tip"]::before,[data-role="warning"]::before,[data-role="fact"]::before{content:"";position:absolute;left:16px;top:14px;width:26px;height:26px;-webkit-mask:var(--cad-m-info) center/contain no-repeat;mask:var(--cad-m-info) center/contain no-repeat;background:currentColor}
[data-role="tip"]{background:var(--cad-primary-soft);border-color:var(--cad-primary);color:var(--cad-primary-deep)}
[data-role="warning"]{background:var(--cad-warning-soft);border-color:var(--cad-warning);color:#5e3d00}
[data-role="warning"]::before{-webkit-mask-image:var(--cad-m-alert);mask-image:var(--cad-m-alert)}
[data-role="fact"]{background:var(--cad-surface);border-color:var(--cad-line-strong);color:var(--cad-text)}
[data-role] p{margin:0}
.cad-card h3{font-size:var(--cad-fs-3);margin:22px 0 8px}
.cad-card h3::before{content:"";display:inline-block;width:10px;height:10px;margin-right:10px;border-radius:50%;background:var(--cad-accent);vertical-align:.08em}
.cad-card a{font-weight:500}
.cad-card em{font-style:italic}

/* definition lists: facts and Q&A */
.cad-card dl{margin:0 0 16px}
dl.cad-facts,.cad-card dl:not(.cad-qa){display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,2fr);border:1px solid var(--cad-border);border-radius:var(--cad-r-1);overflow:hidden;background:var(--cad-surface);line-height:1.45}
.cad-card dl:not(.cad-qa)>dt,.cad-facts>dt{padding:10px 14px;background:var(--cad-primary-soft);font:600 1rem/1.4 var(--cad-sans);border-bottom:1px solid var(--cad-border)}
.cad-card dl:not(.cad-qa)>dd,.cad-facts>dd{margin:0;padding:10px 14px;border-bottom:1px solid var(--cad-border);font-size:1rem;max-width:none}
.cad-card dl:not(.cad-qa)>dd.cad-src,.cad-facts>dd.cad-src{grid-column:2;color:var(--cad-text-muted);font-size:1rem;border-top:0;padding-top:0;margin-top:-1px}
dd.cad-src[hidden]{display:none}
.cad-srcbtn{font:600 1rem var(--cad-sans);color:var(--cad-link);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:.2em}
@media(max-width:640px){dl.cad-facts,.cad-card dl:not(.cad-qa){grid-template-columns:1fr}.cad-card dl:not(.cad-qa)>dd.cad-src,.cad-facts>dd.cad-src{grid-column:1}}
dl.cad-qa{display:grid;gap:12px;margin:0 0 20px}
dl.cad-qa>div{background:var(--cad-bg);border:1px solid var(--cad-border);border-radius:var(--cad-r-1);padding:14px 18px 12px;position:relative;transition:transform .18s var(--cad-ease),box-shadow .18s,border-color .15s}
dl.cad-qa dt{font:600 var(--cad-fs-0)/1.4 var(--cad-sans);font-size:1.0625rem;margin:0 0 6px}
dl.cad-qa dt a{color:var(--cad-text);text-decoration:none}
dl.cad-qa dt a::after{content:"";position:absolute;inset:0;border-radius:var(--cad-r-1)}
dl.cad-qa dd{margin:0;font-size:1rem;line-height:1.5}
dl.cad-qa dd p{margin:0 0 6px}
dl.cad-qa>div:hover,dl.cad-qa>div:focus-within{transform:translateY(-2px);box-shadow:var(--cad-shadow);border-color:var(--cad-primary)}
@media(min-width:760px){#related dl.cad-qa{grid-template-columns:1fr 1fr}}
.cad-report{margin:0 0 20px;font:600 1rem var(--cad-sans);display:flex;gap:16px;flex-wrap:wrap}

/* tables */
.cad-tw{overflow:auto;max-height:min(72vh,680px);border:1px solid var(--cad-border);border-radius:var(--cad-r-1);background:var(--cad-surface);margin:4px 0 20px;position:relative;max-width:100%}
table{border-collapse:separate;border-spacing:0;width:100%;font:400 1rem/1.45 var(--cad-serif)}
caption{text-align:left;padding:12px 14px;font:600 1rem/1.4 var(--cad-sans);color:var(--cad-text-muted);caption-side:top;background:var(--cad-surface)}
th,td{padding:10px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--cad-border)}
thead th{position:sticky;top:0;z-index:3;background:var(--cad-primary-soft);font:600 1rem/1.3 var(--cad-sans);color:var(--cad-text);border-bottom:2px solid var(--cad-primary);white-space:nowrap}
tbody th[scope="row"]{font:600 1rem/1.4 var(--cad-sans);position:sticky;left:0;z-index:1;background:var(--cad-surface);box-shadow:1px 0 0 var(--cad-border)}
tbody tr:nth-child(even) td,tbody tr:nth-child(even) th{background:#f3f8f7}
tbody tr{transition:background-color .15s}
tbody tr:hover td,tbody tr:hover th{background:var(--cad-primary-soft)}
tbody tr:last-child>*{border-bottom:0}
td{min-width:96px}
.cad-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px 2px 7px;border-radius:999px;border:1.5px solid currentColor;font:600 1rem/1.4 var(--cad-sans);white-space:nowrap;background:var(--cad-surface)}
.cad-chip::before{content:"";width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:var(--cad-m-check) center/contain no-repeat;mask:var(--cad-m-check) center/contain no-repeat}
.cad-chip.ok{color:var(--cad-success);background:var(--cad-success-soft)}
.cad-chip.bad{color:var(--cad-danger);background:var(--cad-danger-soft)}.cad-chip.bad::before{-webkit-mask-image:var(--cad-m-close);mask-image:var(--cad-m-close)}
.cad-chip.warn{color:var(--cad-warning);background:var(--cad-warning-soft)}.cad-chip.warn::before{-webkit-mask-image:var(--cad-m-alert);mask-image:var(--cad-m-alert)}
.cad-chip.info{color:var(--cad-primary-deep);background:var(--cad-primary-soft)}.cad-chip.info::before{-webkit-mask-image:var(--cad-m-info);mask-image:var(--cad-m-info)}
.cad-csv{margin:-8px 0 20px}

/* hub / card grids */
.cad-hubs{list-style:none;margin:8px 0 28px;padding:0;display:grid;gap:16px;grid-template-columns:1fr}
.cad-hub{position:relative;display:flex;flex-direction:column;gap:10px;padding:22px 22px 18px;background:var(--cad-surface);border:1px solid var(--cad-border);border-radius:var(--cad-r-2);box-shadow:var(--cad-shadow);overflow:hidden;transition:transform .2s var(--cad-ease),box-shadow .2s,border-color .2s}
.cad-hub::after{content:"";position:absolute;right:-30px;bottom:-30px;width:120px;height:120px;border-radius:50%;border:2px dashed var(--cad-line-strong);opacity:.7;transition:transform .4s var(--cad-ease)}
.cad-hub:hover,.cad-hub:focus-within{transform:translateY(-4px);box-shadow:var(--cad-shadow-up);border-color:var(--cad-primary)}
.cad-hub:hover::after{transform:scale(1.25) rotate(25deg)}
.cad-hub .cad-seat{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--cad-primary);color:var(--cad-on-primary);font:700 1.2rem/1 var(--cad-sans);box-shadow:0 0 0 5px var(--cad-primary-soft)}
.cad-hub h2,.cad-hub h3{margin:4px 0 0;font-size:var(--cad-fs-3)}
.cad-hub h2 a,.cad-hub h3 a{color:var(--cad-text);text-decoration:none}
.cad-hub h2 a::before,.cad-hub h3 a::before{content:"";position:absolute;inset:0;z-index:1}
.cad-hub p{margin:0;font-size:1rem;line-height:1.5;color:var(--cad-text)}
.cad-hub .cad-go{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font:600 1rem var(--cad-sans);color:var(--cad-link)}
.cad-hub .cad-go .cad-i{transition:transform .2s var(--cad-ease)}
.cad-hub:hover .cad-go .cad-i{transform:translateX(4px)}
.cad-hub.is-wide{background:linear-gradient(135deg,var(--cad-primary-soft),var(--cad-surface) 65%)}
.cad-tablist{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cad-tablist a{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid var(--cad-border);border-radius:999px;background:var(--cad-surface);font:600 1rem var(--cad-sans);color:var(--cad-text);text-decoration:none}
.cad-tablist a:hover{border-color:var(--cad-primary);background:var(--cad-primary-soft)}
@media(min-width:720px){.cad-hubs{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.cad-hubs.cad-hubs-3{grid-template-columns:repeat(3,1fr)}.cad-hubs-3>.is-wide{grid-column:span 2}.cad-hubs-3>.is-wide:nth-child(1){grid-column:span 2}}
.cad-hubs.cad-hubs-2{grid-template-columns:1fr}
@media(min-width:720px){.cad-hubs.cad-hubs-2{grid-template-columns:1fr 1fr}}

/* home */
.cad-hero{position:relative;padding:28px 0 8px;isolation:isolate}
.cad-hero-grid{display:grid;gap:8px 40px;grid-template-columns:minmax(0,1fr);align-items:start}
.cad-hero-art{display:block;width:100%;height:auto;max-height:380px;order:-1;filter:drop-shadow(0 24px 30px rgba(33,120,105,.18))}
.cad-hero h1{font-size:clamp(2.1rem,1.3rem + 3vw,3.4rem);line-height:1.08;margin:0 0 16px;letter-spacing:-.03em}
.cad-hero .cad-capsule{font-size:var(--cad-fs-1);line-height:1.6;border-left-width:8px}
.cad-search{display:flex;gap:8px;align-items:stretch;background:var(--cad-surface);border:2px solid var(--cad-primary);border-radius:999px;padding:6px 6px 6px 20px;box-shadow:var(--cad-shadow-up);max-width:640px;margin:8px 0 14px;transition:box-shadow .2s}
.cad-search:focus-within{box-shadow:0 0 0 5px rgba(33,120,105,.22),var(--cad-shadow-up)}
.cad-search .cad-i{align-self:center;color:var(--cad-primary)}
.cad-search input{flex:1 1 auto;min-width:0;border:0;background:transparent;font:500 1.125rem var(--cad-serif);color:var(--cad-text);padding:10px 8px;outline:0}
.cad-search input::placeholder{color:var(--cad-text-muted)}
.cad-search .cad-btn{min-height:48px}
.cad-hero-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:4px 0 0}
.cad-float{transform-origin:50% 50%}
@media(min-width:960px){.cad-hero{padding:36px 0 28px}.cad-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.cad-hero-art{order:0;max-height:none;position:sticky;top:24px;align-self:start}}
.cad-band{padding:56px 0}
.cad-band-dark{background:radial-gradient(50rem 24rem at 90% 0,#1f4d45,transparent 70%),var(--cad-text);color:var(--cad-on-dark);position:relative;overflow:hidden}
.cad-band-dark::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 2px,transparent 2px 22px);pointer-events:none}
.cad-band-dark a{color:var(--cad-mint)}
.cad-band-soft{background:linear-gradient(180deg,var(--cad-primary-soft),var(--cad-bg))}
.cad-band h2{font-size:var(--cad-fs-6);margin-bottom:6px}
.cad-eyebrow{display:inline-flex;align-items:center;gap:8px;font:700 1rem var(--cad-sans);color:var(--cad-primary-deep);letter-spacing:.02em;margin:0 0 10px}
.cad-eyebrow::before{content:"";width:28px;height:2px;background:var(--cad-accent)}
.cad-band-dark .cad-eyebrow{color:var(--cad-gold)}.cad-band-dark .cad-eyebrow::before{background:var(--cad-gold)}
.cad-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:28px 20px;margin:20px 0 0;padding:0;list-style:none;position:relative}
.cad-nums li{border-top:2px dashed rgba(255,255,255,.28);padding-top:14px}
.cad-nums b{display:block;font:700 var(--cad-fs-d2)/1 var(--cad-sans);letter-spacing:-.04em;color:var(--cad-on-dark)}
.cad-nums span{display:block;margin-top:8px;font:600 1rem/1.35 var(--cad-sans);color:var(--cad-on-dark-muted)}
.cad-nums li:nth-child(odd) b{color:var(--cad-gold)}
.cad-steps{display:grid;gap:20px;margin:28px 0 0;padding:0;list-style:none;counter-reset:s}
.cad-step{position:relative;counter-increment:s;background:var(--cad-surface);border:1px solid var(--cad-border);border-radius:var(--cad-r-2);padding:24px 22px 20px;box-shadow:var(--cad-shadow);overflow:hidden}
.cad-step::before{content:counter(s);display:block;font:700 5rem/.9 var(--cad-sans);color:var(--cad-primary);letter-spacing:-.06em;margin-bottom:8px;opacity:.95}
.cad-step::after{content:"";position:absolute;right:0;top:0;bottom:0;width:14px;background:radial-gradient(circle,var(--cad-primary-soft) 4px,transparent 4.5px) 0 0/14px 18px repeat-y;transform:translateX(7px)}
.cad-step h3{margin:0 0 6px}.cad-step p{margin:0 0 10px;font-size:1rem;line-height:1.5}
.cad-step a{font:600 1rem var(--cad-sans)}
@media(min-width:860px){.cad-steps{grid-template-columns:repeat(3,1fr)}.cad-step:nth-child(2){transform:translateY(20px)}}
.cad-routes{display:grid;gap:12px;grid-template-columns:1fr;margin:20px 0 0;padding:0;list-style:none}
.cad-route{position:relative;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:center;padding:14px 18px;background:var(--cad-surface);border:1px solid var(--cad-border);border-radius:var(--cad-r-1);transition:transform .18s var(--cad-ease),box-shadow .18s,border-color .15s}
.cad-route:hover{transform:translateY(-2px);box-shadow:var(--cad-shadow);border-color:var(--cad-primary)}
.cad-route .cad-i{grid-row:span 2;color:var(--cad-primary);width:32px;height:32px}
.cad-route b{font:600 1rem var(--cad-sans)}.cad-route a{color:var(--cad-text);text-decoration:none;font:400 1rem/1.4 var(--cad-serif)}
.cad-route a::after{content:"";position:absolute;inset:0}
.cad-route span{font:700 1rem var(--cad-sans);color:var(--cad-primary-deep)}
@media(min-width:760px){.cad-routes{grid-template-columns:repeat(2,1fr)}}@media(min-width:1040px){.cad-routes{grid-template-columns:repeat(3,1fr)}}
.cad-qgrid dl.cad-qa{grid-template-columns:1fr;margin-top:20px}
@media(min-width:860px){.cad-qgrid dl.cad-qa{grid-template-columns:1fr 1fr}}
.cad-cta-band{text-align:center;padding:64px 0}
.cad-cta-band h2{font-size:var(--cad-fs-d1);max-width:20ch;margin:0 auto 18px;line-height:1.1;color:var(--cad-on-dark)}
.cad-cta-band .cad-btn-2{background:transparent;color:var(--cad-on-dark);border-color:rgba(255,255,255,.5)}
.cad-cta-band .cad-btn-2:hover{background:rgba(255,255,255,.12);color:#fff}
.cad-cta-band .cad-btn{background:var(--cad-gold);border-color:var(--cad-gold);color:var(--cad-text);box-shadow:none}
.cad-cta-band .cad-btn:hover{background:#fff;border-color:#fff;color:var(--cad-text)}
.cad-home-body{padding-top:36px}
.cad-home-body .cad-stack{display:block}

/* footer: disclaimer block over links */
.cad-foot{margin-top:56px;background:var(--cad-text);color:var(--cad-on-dark);position:relative}
.cad-disclaimer{position:relative;top:-32px;margin-bottom:-8px;background:var(--cad-accent-soft);color:var(--cad-text);border:2px solid var(--cad-accent);border-radius:var(--cad-r-2);padding:22px 24px;display:grid;gap:14px 24px;grid-template-columns:1fr;line-height:1.45;box-shadow:var(--cad-shadow-up)}
.cad-disclaimer .cad-age{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;border:4px solid var(--cad-danger);background:var(--cad-surface);font:700 1.6rem/1 var(--cad-sans);color:var(--cad-danger);letter-spacing:-.04em}
.cad-disclaimer h2{font-size:var(--cad-fs-3);margin:0 0 6px}
.cad-disclaimer p{margin:0 0 8px;font-size:1rem;max-width:80ch}
.cad-disclaimer a{color:var(--cad-link);font-weight:600}
.cad-helpline{display:inline-block;font:700 var(--cad-fs-3)/1.2 var(--cad-sans);color:var(--cad-primary-deep);letter-spacing:-.01em}
@media(min-width:860px){.cad-disclaimer{grid-template-columns:auto 1fr}}
.cad-foot nav{padding:8px 0 36px}
.cad-foot nav>div{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.cad-foot h2{font-size:1rem;margin:0 0 10px;color:var(--cad-on-dark-muted);font-weight:600}
.cad-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;line-height:1.45}
.cad-foot nav a{color:var(--cad-on-dark);text-decoration:none;font:600 1rem var(--cad-sans);display:inline-block;padding:2px 0}
.cad-foot nav a:hover{color:var(--cad-gold);text-decoration:underline}
.cad-foot-mark{display:flex;align-items:center;gap:10px;font:700 1.25rem var(--cad-sans);margin:0 0 8px}
.cad-foot-mark svg{width:32px;height:32px}
.cad-foot nav p{font-size:1rem;color:var(--cad-on-dark-muted);margin:0;max-width:34ch;line-height:1.5}

/* misc modules */
.cad-btt{position:fixed;right:16px;bottom:16px;z-index:90;width:48px;height:48px;padding:0;border-radius:50%;opacity:0;pointer-events:none;transform:translateY(8px)}
.cad-btt.is-on{opacity:1;pointer-events:auto;transform:none}
.cad-btt span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media(max-width:720px){.cad-btt{bottom:86px}}
.cad-printrow{margin:-14px 0 20px}
.cad-sres{list-style:none;margin:0;padding:0;columns:1;gap:20px}
.cad-sres li{break-inside:avoid;margin:0 0 8px;padding-left:0}
.cad-sres li::before{display:none}
.cad-sres a{display:block;padding:8px 12px;border:1px solid var(--cad-border);border-radius:var(--cad-r-1);background:var(--cad-bg);text-decoration:none;color:var(--cad-text);font:600 1rem/1.35 var(--cad-sans)}
.cad-sres a:hover{border-color:var(--cad-primary);background:var(--cad-primary-soft)}
.cad-sres small{display:block;font:400 1rem/1.4 var(--cad-serif);color:var(--cad-text-muted);margin-top:2px}
@media(min-width:900px){.cad-sres{columns:2}}
.cad-sgroup{margin:0 0 20px}.cad-sgroup h3{margin:0 0 10px}
.cad-field{display:grid;gap:6px;margin:0 0 14px}
.cad-field label{font:600 1rem var(--cad-sans)}
.cad-field input,.cad-field select{font:500 1.125rem var(--cad-serif);padding:11px 14px;min-height:50px;border:2px solid var(--cad-border);border-radius:var(--cad-r-1);background:var(--cad-surface);color:var(--cad-text);width:100%;transition:border-color .15s,box-shadow .15s}
.cad-field input:hover,.cad-field select:hover{border-color:var(--cad-line-strong)}
.cad-field input:focus,.cad-field select:focus{outline:0;border-color:var(--cad-primary);box-shadow:0 0 0 4px rgba(33,120,105,.2)}
.cad-field input[aria-invalid="true"]{border-color:var(--cad-danger)}
.cad-err{color:var(--cad-danger);font:600 1rem var(--cad-sans);margin:0;min-height:0}
.cad-hint{color:var(--cad-text-muted);font-size:1rem;margin:0}

/* tools */
[data-tool]{margin:8px 0 24px}
.cad-tool{display:grid;gap:20px;background:var(--cad-surface);border:1px solid var(--cad-border);border-radius:var(--cad-r-2);padding:20px;box-shadow:var(--cad-shadow)}
.cad-tool-in{display:grid;gap:0 14px;grid-template-columns:1fr}
@media(min-width:700px){.cad-tool-in.c3{grid-template-columns:repeat(3,1fr)}.cad-tool-in.c2{grid-template-columns:repeat(2,1fr)}}
.cad-out{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:700px){.cad-out.c2{grid-template-columns:1fr 1fr}}
.cad-big{background:var(--cad-text);color:var(--cad-on-dark);border-radius:var(--cad-r-2);padding:18px 20px;position:relative;overflow:hidden}
.cad-big span{display:block;font:600 1rem var(--cad-sans);color:var(--cad-on-dark-muted)}
.cad-big b{display:block;font:700 var(--cad-fs-d1)/1.1 var(--cad-sans);letter-spacing:-.03em;color:var(--cad-gold);margin-top:6px;word-break:break-word}
.cad-big.alt b{color:var(--cad-mint)}
.cad-bell{width:100%;height:auto;background:var(--cad-primary-soft);border-radius:var(--cad-r-2)}
.cad-links{display:flex;flex-wrap:wrap;gap:10px}
.cad-readfields{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));list-style:none;margin:0;padding:0}
.cad-readfields li{padding:12px 14px 12px 14px!important;border:1px dashed var(--cad-line-strong);border-radius:var(--cad-r-1);font:600 1rem var(--cad-sans);display:flex;gap:10px;align-items:center;max-width:none}
.cad-readfields li::before{display:none!important}
.cad-diff td.new{background:var(--cad-warning-soft)}
.cad-diff tr.same td,.cad-diff tr.same th{color:var(--cad-text-muted)}

/* 404 */
.cad-404{padding:36px 0 24px;display:grid;gap:24px;align-items:center}
.cad-404 b.n{font:700 clamp(6rem,3rem + 14vw,12rem)/.85 var(--cad-sans);letter-spacing:-.07em;color:var(--cad-primary);display:block}
@media(min-width:900px){.cad-404{grid-template-columns:1fr 1fr}}

/* reveal on scroll (JS adds .cad-pre only below the fold; content visible without JS) */
@media(prefers-reduced-motion:no-preference){
 .cad-js .cad-pre{opacity:0;transform:translateY(16px)}
 .cad-js [data-reveal]{transition:opacity .22s ease-out,transform .22s var(--cad-ease)}
 .cad-js [data-reveal].is-in{opacity:1;transform:none}
 .cad-float{animation:cad-float 7s ease-in-out infinite}
 .cad-float.f2{animation-duration:9s;animation-delay:-3s}.cad-float.f3{animation-duration:8s;animation-delay:-5s}
 @keyframes cad-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
 .cad-ping{animation:cad-ping 3.2s ease-out infinite;transform-origin:center;transform-box:fill-box}
 @keyframes cad-ping{0%{opacity:.55;transform:scale(.8)}80%,100%{opacity:0;transform:scale(1.7)}}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* icon masks (data URIs, stroke 1.5 style) */
:root{
--cad-m-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
--cad-m-close:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");
--cad-m-alert:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l9 16H3z'/%3E%3Cpath d='M12 10v4M12 17h.01'/%3E%3C/svg%3E");
--cad-m-info:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E");
--cad-m-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
}

@media print{.cad-top,.cad-crumbs,.cad-adbar,.cad-toc,.cad-cover,.cad-btt,.cad-printrow,.ad-bar,.ad-sticky,.cad-foot nav{display:none!important}.cad-card{box-shadow:none;break-inside:avoid}body{background:#fff}}
@media(max-width:560px){
 .cad-card{padding:16px 14px 0 46px}.cad-card::before{width:32px;font-size:1rem;padding-top:19px}.cad-card::after,#how-checked::after{background:radial-gradient(circle at 32px 0,var(--cad-bg) 7px,transparent 7.5px),radial-gradient(circle at 32px 100%,var(--cad-bg) 7px,transparent 7.5px)}
 .cad-card>header h2,.cad-card:first-of-type>header h2{font-size:var(--cad-fs-3)}
 .cad-mini{margin:14px -14px 0 -46px;padding:12px 14px 12px 46px}
 .cad-card ol>li{padding-left:64px}.cad-card ol>li::before{font-size:2.25rem;width:44px;left:8px}.cad-card ol>li::after{left:56px}
 .cad-crumbs>div{border-radius:var(--cad-r-2);padding:10px 12px}
 .cad-search{border-radius:var(--cad-r-2);flex-wrap:wrap;padding:8px 8px 8px 14px}.cad-search .cad-btn{flex:1 1 100%}
}


/* hero text in svg + home/404 article overrides + dark card content */
.ha-n{font:700 20px var(--cad-sans);fill:#0f4a40}.ha-s{font:700 11px var(--cad-sans);fill:#7f7024;letter-spacing:.14em}.ha-c{font:600 15px var(--cad-sans);fill:#0f4a40}
.cad-stack.cad-home{display:block;padding:0}
.cad-home>*{min-width:0}
.cad-stack.cad-404{display:grid;grid-template-columns:1fr}
.cad-404>*{grid-column:auto}
@media(min-width:900px){.cad-stack.cad-404{grid-template-columns:1fr 1.2fr}}
.cad-flow{counter-reset:card}
.cad-cta-band .cad-btn-l{margin:0}
.cad-stack .ad-card{margin:4px 0 16px!important;max-width:34rem!important;text-align:left!important}
.cad-hero .ad-card{margin:4px 0 14px!important;max-width:none!important}
#how-checked .cad-tw,#how-checked dl:not(.cad-qa){color:var(--cad-text)}
#how-checked .cad-tw a,#how-checked dl:not(.cad-qa) a{color:var(--cad-link)}
#how-checked table caption{color:var(--cad-text-muted)}
.cad-nums-page{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:20px 28px;margin:0 0 24px;padding:20px 24px;background:var(--cad-text);border-radius:var(--cad-r-2);list-style:none;position:relative;overflow:hidden}
.cad-nums-page li{border-top:0;padding:0}.cad-nums-page b{font-size:var(--cad-fs-d1);color:var(--cad-gold)}
.cad-nums-page span{color:var(--cad-on-dark-muted)}

body[data-template="home"] .cad-foot{margin-top:0}
.cad-foot .cad-disclaimer h2{color:var(--cad-text)}
.cad-card ol>li{max-width:none}
.cad-card ol>li>*{max-width:68ch}

@media(min-width:720px){.cad-hubs-2>.is-wide:first-child{grid-column:1/-1}}
.cad-tool-in{align-items:end}
.cad-tw table{min-width:560px}

@media(max-width:560px){.cad-nums-page b{font-size:2.25rem}.cad-nums-page{padding:16px}}
