:root{
--ink:#14161f;
--ink-soft:#4a5062;
--muted:#6d738a;
--paper:#ebedf1;
--card:#ffffff;
--wash:#f6f7f9;
--line:#e2e4ec;
--line-soft:#eef0f5;
--accent:#c7ec12;
--accent-deep:#aed10a;
--accent-wash:#f3fbd8;
--accent-line:#9dbb14;
--link:#3f5a06;
--link-hover:#2b3d04;
--flag:#b26a00;
--flag-wash:#fdf5e7;
--radius:8px;
--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
--serif:Georgia,"Times New Roman",Times,serif;
}

*,*::before,*::after{box-sizing:border-box}

html,body{
overflow-x:hidden;
overscroll-behavior-x:none;
max-width:100%;
}

html{-webkit-text-size-adjust:100%}

body{
margin:0;
background:var(--paper);
color:var(--ink);
font-family:var(--serif);
font-size:17.5px;
line-height:1.68;
-webkit-font-smoothing:antialiased;
}

.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 22px}

a{color:var(--link)}
a:hover{color:var(--link-hover)}

img{max-width:100%;height:auto;display:block}

::selection{background:var(--accent-wash)}

:focus-visible{outline:2px solid var(--accent-line);outline-offset:3px}

.site-head{
position:sticky;
top:0;
z-index:60;
background:rgba(255,255,255,.96);
backdrop-filter:saturate(150%) blur(8px);
border-bottom:1px solid var(--line);
}

.head-row{
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
min-height:64px;
}

.logo{
font-family:var(--sans);
font-weight:800;
font-size:16px;
letter-spacing:-.022em;
color:var(--ink);
text-decoration:none;
line-height:1.15;
}
.logo:hover{color:var(--ink)}
.logo span{color:var(--accent-line)}

.head-cta{
font-family:var(--sans);
font-weight:700;
font-size:13.5px;
letter-spacing:.005em;
background:var(--accent);
color:var(--ink);
text-decoration:none;
padding:10px 17px;
border-radius:var(--radius);
white-space:nowrap;
transition:background .16s ease;
}
.head-cta:hover{background:var(--accent-deep);color:var(--ink)}

main{display:block}

.hero{padding:44px 0 34px;border-bottom:1px solid var(--line-soft)}

.hero-grid{display:grid;gap:34px;align-items:center}

.hero-copy{min-width:0}

h1{
font-family:var(--sans);
font-weight:800;
font-size:clamp(29px,4.4vw,46px);
line-height:1.1;
letter-spacing:-.028em;
margin:0 0 12px;
color:var(--ink);
}

.byline{
font-family:var(--sans);
font-size:12.5px;
line-height:1.5;
color:var(--muted);
margin:0 0 18px;
}
.byline a{
color:var(--link);
font-weight:600;
text-decoration:underline;
text-underline-offset:3px;
text-decoration-color:rgba(63,90,6,.45);
}
.byline a:hover{text-decoration-color:var(--link)}

.hero-copy p:not(.byline){margin:0 0 16px;font-size:17.5px;color:var(--ink-soft)}

.cta{
display:inline-block;
font-family:var(--sans);
font-weight:700;
font-size:15px;
background:var(--accent);
color:var(--ink);
text-decoration:none;
padding:14px 26px;
border-radius:var(--radius);
transition:background .16s ease;
}
.cta:hover{background:var(--accent-deep);color:var(--ink)}

.hero-figure{min-width:0}
.hero-figure img{
width:100%;
aspect-ratio:1/1;
object-fit:cover;
border-radius:12px;
border:1px solid var(--line);
}

.content{padding:34px 22px 10px}

.toc{
border:1px solid var(--line);
border-radius:var(--radius);
background:var(--card);
margin:0 0 30px;
}
.toc summary{
font-family:var(--sans);
font-weight:700;
font-size:13.5px;
letter-spacing:.02em;
text-transform:uppercase;
padding:13px 16px;
cursor:pointer;
color:var(--ink);
list-style:none;
}
.toc summary::-webkit-details-marker{display:none}
.toc summary::after{content:" +";color:var(--accent-line);font-weight:800}
.toc[open] summary::after{content:" \2212";color:var(--accent-line)}
.toc ol{
margin:0;
padding:0 18px 16px 34px;
font-family:var(--sans);
font-size:14px;
line-height:1.85;
}
.toc a{color:var(--ink-soft);text-decoration:none}
.toc a:hover{color:var(--link);text-decoration:underline}

h2{
font-family:var(--sans);
font-weight:800;
font-size:clamp(22px,2.8vw,29px);
line-height:1.2;
letter-spacing:-.022em;
margin:44px 0 14px;
color:var(--ink);
}

h3{
font-family:var(--sans);
font-weight:700;
font-size:clamp(18px,2.1vw,21px);
line-height:1.28;
letter-spacing:-.014em;
margin:30px 0 10px;
color:var(--ink);
padding-left:13px;
border-left:3px solid var(--accent);
}

p{margin:0 0 17px}

.content p,.page-body p:not(.byline){color:var(--ink-soft)}

.figure{margin:22px auto 26px;max-width:560px}
.figure img{
width:100%;
aspect-ratio:1/1;
object-fit:cover;
border-radius:12px;
border:1px solid var(--line);
}

.flag{
border-left:3px solid var(--flag);
background:var(--flag-wash);
padding:15px 18px;
border-radius:0 var(--radius) var(--radius) 0;
margin:0 0 20px;
}
.flag p{margin:0;color:#5c4310;font-size:16.5px}

.table-scroll{
background:var(--card);
overflow-x:auto;
overscroll-behavior-x:contain;
-webkit-overflow-scrolling:touch;
margin:22px 0 26px;
border:1px solid var(--line);
border-radius:var(--radius);
}

table{
border-collapse:collapse;
width:100%;
min-width:820px;
font-family:var(--sans);
font-size:13.5px;
line-height:1.5;
background:var(--card);
}
.compact-table table{min-width:520px}

thead th{
background:var(--ink);
color:#fff;
font-weight:700;
text-align:left;
padding:12px 13px;
letter-spacing:.008em;
vertical-align:middle;
}

tbody td{
padding:12px 13px;
border-top:1px solid var(--line-soft);
color:var(--ink-soft);
vertical-align:top;
}

tbody tr.lead-row td{
background:var(--accent-wash);
color:var(--ink);
font-weight:500;
}
tbody tr.lead-row td:first-child{box-shadow:inset 3px 0 0 var(--accent-line)}

.brand{
font-weight:800;
color:var(--ink);
display:block;
margin-bottom:8px;
}

.tbl-btn{
display:inline-block;
font-family:var(--sans);
font-weight:700;
font-size:11.5px;
padding:7px 13px;
border-radius:6px;
background:var(--accent);
color:var(--ink);
text-decoration:none;
white-space:nowrap;
transition:background .16s ease;
}
.tbl-btn:hover{background:var(--accent-deep);color:var(--ink)}

.tbl-btn-off{
display:inline-block;
font-family:var(--sans);
font-weight:700;
font-size:11.5px;
padding:7px 13px;
border-radius:6px;
background:var(--line-soft);
color:#9aa0b4;
white-space:nowrap;
pointer-events:none;
user-select:none;
}

.cta-band{
background:var(--card);
border:1px solid var(--line);
border-radius:12px;
padding:26px 26px 24px;
margin:34px 0;
}
.cta-band p{margin:0 0 16px;color:var(--ink-soft)}
.cta-band .lede{
font-family:var(--sans);
font-weight:700;
font-size:19px;
letter-spacing:-.015em;
color:var(--ink);
margin-bottom:8px;
}

.faq{margin-top:14px}
.faq h3{
padding-left:0;
border-left:0;
font-size:19px;
margin:26px 0 8px;
}

.author-card{
margin:46px 0 10px;
padding:26px;
border:1px solid var(--line);
border-radius:12px;
background:var(--card);
display:grid;
gap:20px;
}
.author-card img{
width:112px;
height:112px;
border-radius:12px;
object-fit:cover;
border:1px solid var(--line);
}
.author-card p.author-name{
font-family:var(--sans);
font-weight:800;
font-size:19px;
letter-spacing:-.015em;
margin:0 0 2px;
}
.author-name a{color:var(--ink);text-decoration:none}
.author-name a:hover{color:var(--link)}
.author-card p.author-role{
font-family:var(--sans);
font-size:13px;
color:var(--muted);
margin:0 0 12px;
}
.author-card p{margin:0 0 12px;font-size:16.5px}
.author-card p.checked{
font-family:var(--sans);
font-size:12px;
color:var(--muted);
margin:0;
}

.page-body{padding:34px 22px 10px;max-width:804px}
.page-body h2{margin-top:34px}
.page-body ul,.content ul{margin:0 0 18px;padding-left:22px}
.page-body li,.content li{margin-bottom:8px;color:var(--ink-soft)}

.site-foot{
margin-top:52px;
border-top:1px solid var(--line);
background:#e3e6eb;
padding:34px 0 30px;
}
.foot-grid{
display:grid;
gap:26px;
font-family:var(--sans);
font-size:13.5px;
}
.foot-h{
font-weight:800;
font-size:12px;
letter-spacing:.06em;
text-transform:uppercase;
color:var(--ink);
margin:0 0 10px;
}
.foot-grid ul{list-style:none;margin:0;padding:0;line-height:2}
.foot-grid a{color:var(--ink-soft);text-decoration:none}
.foot-grid a:hover{color:var(--link);text-decoration:underline}
.foot-note{
margin-top:26px;
padding-top:18px;
border-top:1px solid var(--line);
font-family:var(--sans);
font-size:12.5px;
color:var(--muted);
line-height:1.7;
}
.foot-note p{margin:0 0 8px;color:var(--muted)}

@media (min-width:900px){
.hero-grid{grid-template-columns:1.28fr .72fr;gap:44px}
.hero-copy{grid-column:1;grid-row:1}
.hero-figure{grid-column:2;grid-row:1}
.author-card{grid-template-columns:112px 1fr;align-items:start}
.foot-grid{grid-template-columns:repeat(4,1fr)}
}

@media (max-width:899px){
.hero{padding:30px 0 26px}
.hero-figure{margin-top:6px}
.hero-figure img{max-width:420px;margin:0 auto}
.cta{width:100%;text-align:center;padding:15px 20px}
.author-card{justify-items:start}
}

@media (max-width:520px){
body{font-size:16.5px}
.content,.page-body{padding-left:16px;padding-right:16px}
.head-cta{font-size:12.5px;padding:9px 13px}
.logo{font-size:14px}
.wrap{padding:0 16px}
}

@media (prefers-reduced-motion:reduce){
*{transition:none!important;animation:none!important}
}

.foot-logo{
display:inline-block;
font-family:var(--sans);
font-weight:800;
font-size:15px;
letter-spacing:-.022em;
color:var(--ink);
text-decoration:none;
margin:0 0 18px;
}
.foot-logo:hover{color:var(--ink)}
.foot-logo span{color:var(--accent-line)}
