:root { --ink:#0a2038; --muted:#526477; --line:#d7e1e8; --paper:#f6f9fb; --aqua:#0b8faf; --teal:#08758f; --navy:#071b30; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height:1.65; }
a { color:inherit; text-underline-offset:3px; }
a:hover { color:var(--teal); }
button, input, select { font:inherit; }
:focus-visible { outline:3px solid #20b8d8; outline-offset:3px; }
.skip { position:absolute; left:1rem; top:-4rem; background:#fff; padding:.75rem 1rem; z-index:100; }
.skip:focus { top:1rem; }
.wrap { width:min(1180px, calc(100% - 2rem)); margin-inline:auto; }
.site-header { position:relative; z-index:4; background:#fff; border-bottom:1px solid var(--line); }
.nav { min-height:72px; display:flex; align-items:center; gap:1.25rem; }
.brand { display:flex; align-items:center; gap:.6rem; font-weight:850; font-size:1.15rem; text-decoration:none; letter-spacing:-.03em; }
.brand-mark { width:34px; height:34px; border-radius:11px; display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,#0b8faf,#0b335d); }
.nav-links { display:flex; gap:1rem; margin-left:auto; align-items:center; }
.nav-links a { text-decoration:none; font-weight:650; font-size:.94rem; }
.locale-select { max-width:180px; border:1px solid var(--line); border-radius:10px; padding:.45rem .6rem; background:#fff; }
.preview-bar { background:#fff4d2; color:#6e4c00; text-align:center; padding:.45rem 1rem; font-size:.88rem; font-weight:700; }
main { min-height:70vh; }
.hero { padding:5.5rem 0 4rem; background:radial-gradient(circle at 85% 20%,#dff7fb,transparent 28%),linear-gradient(180deg,#f4fafc,#fff); border-bottom:1px solid var(--line); }
.eyebrow { color:var(--teal); text-transform:uppercase; letter-spacing:.13em; font-weight:800; font-size:.78rem; }
h1,h2,h3 { line-height:1.16; letter-spacing:-.035em; }
h1 { font-size:clamp(2.35rem,6vw,4.8rem); max-width:900px; margin:.8rem 0 1.25rem; }
.hero p { font-size:clamp(1.05rem,2vw,1.3rem); color:var(--muted); max-width:720px; }
.search-shell { margin-top:2rem; display:flex; gap:.65rem; padding:.55rem; background:#fff; border:1px solid #b8d2dc; border-radius:16px; max-width:760px; box-shadow:0 18px 45px rgba(8,50,75,.09); }
.search-shell input { min-width:0; flex:1; border:0; padding:.7rem .8rem; color:var(--ink); outline:0; }
.button { border:0; border-radius:11px; background:var(--navy); color:#fff; padding:.72rem 1rem; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; font-weight:750; cursor:pointer; }
.button.secondary { color:var(--ink); background:#e9f4f7; }
.section { padding:4rem 0; }
.section.alt { background:var(--paper); border-block:1px solid var(--line); }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }
.section-head h2 { font-size:clamp(1.75rem,3vw,2.5rem); margin:0; }
.chips { display:flex; flex-wrap:wrap; gap:.6rem; padding:0; list-style:none; }
.chip { border:1px solid var(--line); border-radius:999px; padding:.42rem .8rem; text-decoration:none; background:#fff; font-size:.92rem; }
.grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.card { display:flex; flex-direction:column; min-height:100%; border:1px solid var(--line); border-radius:18px; background:#fff; padding:1.25rem; text-decoration:none; transition:transform .18s ease, box-shadow .18s ease; }
.card:hover { transform:translateY(-3px); box-shadow:0 15px 35px rgba(8,50,75,.08); color:var(--ink); }
.card h3 { margin:.5rem 0; font-size:1.22rem; }
.card p { color:var(--muted); margin:.2rem 0; }
.count { margin-top:auto; padding-top:1rem; font-size:.82rem; color:var(--teal); font-weight:750; }
.breadcrumb { padding:1.3rem 0; font-size:.9rem; color:var(--muted); }
.breadcrumb ol { display:flex; gap:.5rem; flex-wrap:wrap; list-style:none; padding:0; margin:0; }
.page-hero { padding:2.4rem 0 3rem; border-bottom:1px solid var(--line); background:#f7fafb; }
.page-hero h1 { font-size:clamp(2.2rem,5vw,4rem); }
.article-shell { display:grid; grid-template-columns:minmax(0,740px) 280px; justify-content:center; gap:4rem; padding:3rem 0; }
.article-meta { display:flex; flex-wrap:wrap; gap:.55rem 1rem; color:var(--muted); font-size:.92rem; }
.pill { display:inline-flex; border-radius:999px; background:#e7f6f8; color:#075b6d; padding:.28rem .65rem; font-weight:750; font-size:.8rem; }
.pill.warn { background:#fff0d5; color:#774700; }
.prose { font-size:1.07rem; }
.prose h2 { font-size:1.8rem; margin-top:2.7rem; scroll-margin-top:100px; }
.prose h3 { font-size:1.35rem; margin-top:2rem; scroll-margin-top:100px; }
.prose p, .prose li { color:#263d51; }
.prose a { color:#007c9a; }
.article-side { align-self:start; display:grid; gap:1rem; }
.toc { position:static; border-left:2px solid var(--line); padding-left:1.2rem; }
.toc ul { list-style:none; padding:0; }
.toc a { text-decoration:none; display:block; padding:.35rem 0; font-size:.9rem; color:var(--muted); }
.panel { margin-top:2rem; border:1px solid var(--line); border-radius:16px; padding:1.2rem; background:#f8fbfc; }
.panel h2 { font-size:1.25rem; margin-top:0; }
.share { display:flex; flex-wrap:wrap; gap:.55rem; margin:1.3rem 0; }
.share button,.share a { border:1px solid var(--line); border-radius:9px; background:#fff; padding:.48rem .72rem; text-decoration:none; cursor:pointer; font-weight:650; }
.status { min-height:1.4em; color:var(--teal); font-size:.9rem; }
.notice { border-left:4px solid #e3a328; background:#fff7e5; padding:1rem 1.1rem; border-radius:0 12px 12px 0; }
.footer { background:var(--navy); color:#dce8ef; padding:3.5rem 0; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:2rem; }
.footer a { color:#dce8ef; }
.footer ul { list-style:none; padding:0; }
.footer li { margin:.4rem 0; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:900px){ .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-shell{grid-template-columns:1fr}.toc{position:static;order:-1;border:1px solid var(--line);border-radius:14px;padding:1rem}.nav-links>a{display:none}.footer-grid{grid-template-columns:1fr 1fr}}
.page-ad-top { padding-top:1rem; }
.article-ad-slot { margin:2.5rem 0; }
.article-ad-end { margin-top:3rem; }
.ad-banner { position:relative; overflow:hidden; border:1px solid #1b6c44; border-radius:2px; padding:1.35rem 1.6rem; background:radial-gradient(circle at 72% 48%,rgba(42,214,119,.16),transparent 26%),linear-gradient(110deg,#032c1e,#0b4f2c); color:#fff; display:flex; align-items:center; gap:1.7rem; box-shadow:0 14px 34px rgba(3,44,30,.16); }
.ad-banner::after { content:"✦"; position:absolute; left:57%; top:44%; color:#d7ffe8; font-size:1.15rem; opacity:.9; }
.ad-brand { display:flex; align-items:center; gap:.5rem; flex:none; font-size:1.4rem; letter-spacing:.01em; }
.ad-mark { color:#24d778; font-size:.72rem; letter-spacing:-.28em; padding-right:.2rem; }
.ad-copy { min-width:0; flex:1; }
.ad-copy>strong { display:block; font-size:clamp(1.12rem,2vw,1.65rem); margin:.15rem 0 .3rem; }
.ad-banner p { margin:0; max-width:760px; color:#9ce8bd; font-size:.86rem; }
.ad-banner a { position:relative; z-index:1; flex:none; background:#21cf6a; color:#042718; text-decoration:none; border-radius:999px; padding:.78rem 1.25rem; font-weight:850; }
.ad-banner a:hover { color:#042718; background:#4ee58d; }
.ad-label { color:#8edaaa; font-size:.69rem; text-transform:uppercase; letter-spacing:.1em; }
.ad-corner { position:absolute; right:.8rem; top:.45rem; color:#7aaa8d; font-size:.66rem; font-weight:800; letter-spacing:.14em; }
.ad-sidebar { min-height:280px; display:block; padding:1.2rem; }
.ad-sidebar .ad-brand { margin-bottom:1.3rem; }
.ad-sidebar .ad-copy>strong { font-size:1.25rem; }
.ad-sidebar a { display:inline-block; margin-top:1.2rem; }
.ad-sidebar::after { left:auto; right:1.2rem; top:42%; }
@media (max-width:620px){.ad-banner{align-items:flex-start;flex-direction:column;gap:.75rem}.ad-sidebar{min-height:0}.ad-brand{font-size:1.15rem}.ad-banner::after{display:none}}
@media (max-width:600px){ .wrap{width:min(100% - 1.25rem,1180px)}.grid{grid-template-columns:1fr}.hero{padding:3.5rem 0}.search-shell{flex-wrap:wrap}.search-shell .button{width:100%}.nav{gap:.5rem}.locale-select{max-width:130px}.footer-grid{grid-template-columns:1fr}.article-shell{padding-top:1.5rem}.section{padding:3rem 0} }
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto}*{transition:none!important} }

.card img{width:100%;height:auto;aspect-ratio:1.904;object-fit:cover;border-radius:10px;margin-bottom:.75rem}.prose table{display:block;max-width:100%;overflow-x:auto}.prose img{max-width:100%;height:auto}