@import "ds/styles.css";
@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,600;1,8..60,400&display=swap");
:root{--font-body:"Source Serif 4",Georgia,"Times New Roman",serif}
body{line-height:1.62}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;font-family:var(--font-body);font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--text-heading);margin:0;letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);font-weight:var(--weight-semibold)}
p{margin:0;text-wrap:pretty}
a{color:var(--text-link);text-decoration:none;transition:color var(--duration-base) var(--ease-standard)}
a:hover{color:var(--text-link-hover)}
img{max-width:100%;display:block}
ul{margin:0;padding:0;list-style:none}

/* ---------- layout ---------- */
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-6)}
.sec{padding:var(--space-16) 0}
.sec-sm{padding:var(--space-16) 0}
.dark{background:var(--surface-dark);color:var(--text-on-dark)}
.dark h1,.dark h2,.dark h3,.dark h4{color:var(--text-on-dark)}
.dark p{color:var(--text-on-dark-muted)}
.sunken{background:var(--surface-sunken)}
.grid{display:grid;gap:var(--space-6)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.stack{display:flex;flex-direction:column;gap:var(--space-4)}
.row{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center}

/* ---------- type ---------- */
.eyebrow{font-family:var(--font-display);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--color-orange);margin:0 0 var(--space-4)}
.dark .eyebrow{color:var(--color-orange)}
.display{font-size:clamp(38px,5.4vw,68px);font-weight:var(--weight-bold);letter-spacing:-.025em;line-height:1.04}
.h2{font-size:clamp(28px,3.4vw,44px);font-weight:var(--weight-semibold);letter-spacing:-.02em;line-height:1.1}
.h3{font-size:var(--text-lg);font-weight:var(--weight-semibold)}
.lead{font-size:var(--text-lg);line-height:var(--leading-normal);color:var(--text-muted);max-width:62ch}
.dark .lead{color:var(--text-on-dark-muted)}
.small{font-size:var(--text-sm);color:var(--text-muted)}
.dark .small{color:var(--text-on-dark-muted)}
.muted{color:var(--text-muted)}
.gradtext{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.sec-head{max-width:56ch;margin-bottom:var(--space-10)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-semibold);padding:14px 24px;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--duration-base) var(--ease-standard);text-decoration:none;line-height:1}
.btn-primary{background:var(--color-orange);color:#fff;border-color:var(--color-orange)}
.btn-primary:hover{background:var(--color-orange-hover);border-color:var(--color-orange-hover);color:#fff}
.btn-primary:active{background:var(--color-orange-press)}
.btn-ghost{background:transparent;color:var(--text-heading);border-color:var(--border-default)}
.btn-ghost:hover{background:var(--surface-sunken);color:var(--text-heading);border-color:var(--border-strong)}
.dark .btn-ghost{color:var(--text-on-dark);border-color:#454A58}
.dark .btn-ghost:hover{background:#313644;color:var(--text-on-dark)}
.btn-sm{padding:10px 18px;font-size:var(--text-sm)}
.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}
.arrow{transition:transform var(--duration-base) var(--ease-standard)}
.btn:hover .arrow{transform:translateX(3px)}

/* ---------- cards ---------- */
.card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-8);transition:box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}
.card:hover{box-shadow:var(--shadow-md)}
a.card{color:inherit;display:block}
a.card:hover{transform:translateY(-2px);color:inherit}
.dark .card{background:#2F343F;border-color:#3D4353}
.dark .card:hover{border-color:#4E5466}
.card h3{margin-bottom:var(--space-3)}
.card p{color:var(--text-muted);font-size:var(--text-base)}
.dark .card p{color:var(--text-on-dark-muted)}
.num{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:clamp(32px,4vw,52px);letter-spacing:-.03em;line-height:1;color:var(--color-orange)}
.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:var(--radius-pill);background:var(--color-orange-tint-10);color:#A85D00}
.dark .chip{background:rgba(247,137,11,.16);color:#F7A845}
.chip-slate{background:var(--color-slate-tint-15);color:#454F6E}
.rule{height:3px;width:56px;background:var(--gradient-brand);border-radius:2px;margin-bottom:var(--space-6)}
.hr{height:1px;background:var(--border-default);border:0;margin:0}
.dark .hr{background:#3D4353}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--border-default)}
.nav-in{display:flex;align-items:center;gap:var(--space-8);height:74px}
.nav-logo img{height:34px;width:auto}
.nav-links{display:flex;align-items:center;gap:var(--space-1);margin-left:auto}
.nav-item{position:relative}
.nav-a{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-heading);padding:10px 12px;border-radius:var(--radius-sm)}
.nav-a:hover{color:var(--color-orange);background:var(--surface-sunken)}
.nav-a[aria-current="page"]{color:var(--color-orange)}
.caret{width:8px;height:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.6}
.drop{position:absolute;top:calc(100% + 6px);left:0;min-width:262px;background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-2);opacity:0;visibility:hidden;transform:translateY(-4px);transition:all var(--duration-base) var(--ease-standard)}
.nav-item:hover .drop,.nav-item:focus-within .drop{opacity:1;visibility:visible;transform:none}
.drop a{display:block;padding:10px 12px;border-radius:var(--radius-sm);font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-heading)}
.drop a span{display:block;font-family:var(--font-display);font-size:var(--text-xs);font-weight:400;color:var(--text-muted);margin-top:2px}
.drop a:hover{background:var(--surface-sunken);color:var(--color-orange)}
.nav-cta{margin-left:var(--space-4)}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:10px 12px;cursor:pointer;font-family:var(--font-display);font-size:var(--text-sm)}

/* ---------- footer ---------- */
.foot{background:var(--surface-dark);color:var(--text-on-dark);padding:var(--space-12) 0 var(--space-6)}
.foot h4{font-size:var(--text-sm);letter-spacing:.1em;text-transform:uppercase;color:#8E93A1;font-weight:var(--weight-semibold);margin-bottom:var(--space-4)}
.foot .small,.foot p{color:var(--text-on-dark-muted)}
.foot a{color:var(--text-on-dark-muted);font-size:var(--text-base);display:block;padding:5px 0}
.foot a:hover{color:var(--color-orange)}
.foot-top{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:var(--space-10)}
.foot-bottom{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;align-items:center;margin-top:var(--space-10);padding-top:var(--space-5);border-top:1px solid #3D4353;font-size:var(--text-sm);color:#8E93A1}
.soc{display:flex;gap:var(--space-3);margin-top:var(--space-6)}
.soc a{display:grid;place-items:center;width:40px;height:40px;border:1px solid #3D4353;border-radius:var(--radius-sm);padding:0;color:var(--text-on-dark-muted)}
.soc a:hover{border-color:var(--color-orange);color:var(--color-orange)}
.soc svg{width:18px;height:18px}

/* ---------- marquee ---------- */
.marq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marq-track{display:flex;gap:var(--space-4);width:max-content;animation:scrollx 44s linear infinite}
.marq:hover .marq-track{animation-play-state:paused}
.marq-track.rev{animation-direction:reverse;animation-duration:56s}
@keyframes scrollx{to{transform:translateX(-50%)}}
.plogo{display:flex;align-items:center;height:64px;padding:0 var(--space-6);border:1px solid var(--border-default);border-radius:var(--radius-md);font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-base);color:var(--text-heading);white-space:nowrap;background:#fff}
.dark .plogo{background:#2F343F;border-color:#3D4353;color:var(--text-on-dark)}

/* ---------- misc ---------- */
.steps{counter-reset:s}
.step{display:grid;grid-template-columns:auto 1fr;gap:var(--space-6);padding:var(--space-8) 0;border-top:1px solid var(--border-default)}
.dark .step{border-color:#3D4353}
.step-n{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-lg);color:var(--color-orange);width:52px}
details.faq{border-bottom:1px solid var(--border-default);padding:var(--space-5) 0}
details.faq summary{cursor:pointer;font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-md);color:var(--text-heading);list-style:none;display:flex;justify-content:space-between;gap:var(--space-4)}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";color:var(--color-orange);font-size:22px;line-height:1}
details.faq[open] summary::after{content:"\2013"}
details.faq p{margin-top:var(--space-3);color:var(--text-muted);max-width:76ch}
.ph{border:1px dashed var(--border-strong);border-radius:var(--radius-md);padding:var(--space-4);font-size:var(--text-sm);color:var(--text-muted);background:repeating-linear-gradient(45deg,#fafafa,#fafafa 10px,#f4f4f4 10px,#f4f4f4 20px)}
.page-head{padding:var(--space-16) 0 var(--space-10);border-bottom:1px solid var(--border-default)}
/* ---------- article ---------- */
.art{max-width:72ch;margin:0 auto;font-size:var(--text-base);line-height:var(--leading-relaxed,1.7)}
.art>*+*{margin-top:var(--space-5)}
.art h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:-.01em;margin-top:var(--space-12)}
.art h3{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin-top:var(--space-8)}
.art p{color:var(--text-body,inherit)}
.art ul,.art ol{padding-left:1.35em;display:block}
.art ul,.art ul li{list-style:disc outside}
.art ol,.art ol li{list-style:decimal outside}
.art li{display:list-item;color:var(--text-body,inherit);margin-top:var(--space-3)}
.art li::marker{color:var(--color-orange)}
.art strong{font-weight:var(--weight-semibold);color:var(--text-heading)}
.dark .art strong{color:var(--text-on-dark)}
.art a{color:var(--color-orange);text-decoration:none;border-bottom:1px solid transparent}
.art a:hover{border-bottom-color:var(--color-orange)}
.callout{background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-6)}
.dark .callout{background:#2F343F;border-color:#3D4353}
.callout .eyebrow{margin-bottom:var(--space-3)}
.callout p{margin:0}
.art-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-6)}
.art-note{font-size:var(--text-sm);color:var(--text-muted);border-top:1px solid var(--border-default);padding-top:var(--space-5);margin-top:var(--space-12)}
.dark .art-note{border-color:#3D4353}
.pn{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}
@media(max-width:640px){.pn{grid-template-columns:minmax(0,1fr)}}
.backlink{display:inline-flex;gap:8px;align-items:center;font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-muted);text-decoration:none}
.backlink:hover{color:var(--color-orange)}
.filterbar{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-10)}
.fbtn{font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-semibold);padding:8px 16px;border-radius:999px;border:1px solid var(--border-default);background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--duration-base) var(--ease-standard)}
.fbtn:hover{border-color:var(--border-strong);color:var(--text-heading)}
.fbtn[aria-pressed="true"]{background:var(--color-orange);border-color:var(--color-orange);color:#fff}
.dark .fbtn{border-color:#3D4353}
.dark .fbtn:hover{color:var(--text-on-dark)}
.tablewrap{overflow-x:auto}
table.t{width:100%;border-collapse:collapse;font-size:var(--text-base)}
table.t th,table.t td{text-align:left;padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--border-default);vertical-align:top}
table.t th{font-family:var(--font-display);font-weight:var(--weight-semibold);color:var(--text-heading);font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase}

@media(max-width:940px){
.g4{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(2,minmax(0,1fr))}
.foot-top{grid-template-columns:repeat(2,minmax(0,1fr))}
.nav-links{display:none}
.burger{display:block}
.nav-links.open{display:flex;position:absolute;top:74px;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--border-default);padding:var(--space-4);gap:0;box-shadow:var(--shadow-lg);max-height:calc(100vh - 74px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.nav-links.open .drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding-left:var(--space-4)}
.nav-links.open .nav-cta{margin:var(--space-3) 0 0}
.sec{padding:var(--space-12) 0}
}
@media(max-width:640px){
.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}
.foot-top{grid-template-columns:minmax(0,1fr)}
}

/* ---------- dark theme ---------- */
html[data-theme="dark"]{--surface-page:#161A21;--surface-card:#1F242D;--surface-sunken:#1B2028;--surface-dark:#10131A;--text-heading:#F2F3F5;--text-body:#CFD3DB;--text-muted:#98A0AD;--border-default:#2E3541;--border-strong:#414A59}
[data-theme="dark"] .nav{background:#161A21}
[data-theme="dark"] .drop,[data-theme="dark"] .nav-links.open{background:#1F242D}
[data-theme="dark"] .drop a:hover{background:#262C36}
[data-theme="dark"] .card{background:#1F242D;border-color:#2E3541}
[data-theme="dark"] .card:hover{border-color:#3B4350}
[data-theme="dark"] .btn-ghost{color:var(--text-heading);border-color:var(--border-strong)}
[data-theme="dark"] .btn-ghost:hover{background:#242A34;border-color:#55606F}
[data-theme="dark"] .ph{background:repeating-linear-gradient(45deg,#1B2028,#1B2028 10px,#1F242D 10px,#1F242D 20px)}
[data-theme="dark"] .chip-slate{background:rgba(100,115,154,.22);color:#AEB9D6}
.nav-in>.themetog{order:3}
.nav-links{order:2}
.burger{order:4}
@media(max-width:940px){.nav-in>.themetog{margin-left:auto}.burger{margin-left:var(--space-2)}}
.themetog{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-left:var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--border-default);background:transparent;color:var(--text-heading);cursor:pointer;transition:background var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}
.themetog:hover{background:var(--surface-sunken);border-color:var(--border-strong)}
.themetog svg{width:18px;height:18px;display:block}
.themetog .moon{display:none}
[data-theme="dark"] .themetog .moon{display:block}
[data-theme="dark"] .themetog .sun{display:none}

@keyframes revealIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
html.reveal-ready .reveal.in{animation:revealIn .62s cubic-bezier(.22,.61,.36,1) both}
html.reveal-ready .reveal-i.in{animation:revealIn .55s cubic-bezier(.22,.61,.36,1) both;animation-delay:calc(var(--i,0) * 80ms)}
@media(prefers-reduced-motion:reduce){html.reveal-ready .reveal.in,html.reveal-ready .reveal-i.in{animation:none}}
@media print{html.reveal-ready .reveal.in,html.reveal-ready .reveal-i.in{animation:none}}

/* ---------- updates feed ---------- */
.upd{gap:0}
.upd-row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:var(--space-8);align-items:start;padding:var(--space-8) 0;border-top:1px solid var(--border-default)}
.upd-row:last-of-type{border-bottom:1px solid var(--border-default)}
.dark .upd-row{border-color:#3D4353}
.upd-row.past{opacity:.5;transition:opacity var(--duration-base) var(--ease-standard)}
.upd-row.past:hover{opacity:1}
.upd-body h3{margin:0}
.upd-body p{color:var(--text-muted);max-width:66ch;margin-top:var(--space-3)}
.dark .upd-body p{color:var(--text-on-dark-muted)}
.upd-act{margin-top:var(--space-5)}
.upd-act a{font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-orange);text-decoration:none}
.upd-act a:hover{color:var(--color-orange-hover)}
.dark .upd-act a{color:#F7A845}
@media(max-width:700px){.upd-row{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}}
/* ---------- latest ---------- */
.lt{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
.lt-card{position:relative;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);border-radius:var(--radius-lg,16px);background:#2E3340;border:1px solid #3D4353;color:inherit;text-decoration:none;overflow:hidden;transition:border-color var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard),background var(--duration-base) var(--ease-standard)}
.lt-card:hover{border-color:rgba(247,137,11,.55);background:#323845;transform:translateY(-2px)}
.lt-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--gradient-brand)}
.lt-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.lt-meta{font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-on-dark-muted)}
.lt-mark{width:28px;height:28px;object-fit:contain}
.lt-date{display:flex;align-items:baseline;gap:var(--space-3)}
.lt-day{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:clamp(26px,2.4vw,32px);line-height:1.1;letter-spacing:-.03em;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.lt-mon{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;color:#fff}.lt-mon br{display:none}
.lt-big,.lt-body h3{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:clamp(20px,1.8vw,24px);line-height:1.2;letter-spacing:-.02em;color:#fff;margin:0}
.lt-body p{margin:var(--space-2) 0 0;color:var(--text-on-dark-muted);text-wrap:pretty}
.lt-cta{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:#F7A845}
.lt-card .arrow{transition:transform var(--duration-base) var(--ease-standard)}
.lt-card:hover .arrow{transform:translateX(4px)}
@media(max-width:900px){.lt{grid-template-columns:minmax(0,1fr)}}

.wa-ic{flex:none;width:22px;height:22px;margin-right:8px;vertical-align:-5px}.btn:has(.wa-ic){display:inline-flex;align-items:center}

.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-10);padding-block:var(--space-12)}.stat span{display:block;font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-2);line-height:1.4}@media(max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:560px){.stats{grid-template-columns:minmax(0,1fr)!important}}
