:root{--bg:#fff;--cream:#faf8f3;--fg:#1b2430;--mut:#5c6675;--line:#e6e1d6;--chip:#f1ede3;--pri:#12263f;--acc:#b8892b;--grn:#1f7a5c;--r:14px;--sh:0 1px 2px rgba(18,38,63,.06),0 8px 24px rgba(18,38,63,.07);--serif:Georgia,"Iowan Old Style","Palatino Linotype",Palatino,"Times New Roman",serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--logo-h:44px;--logo-hm:32px}
html{font-size:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
*{box-sizing:border-box}body{margin:0;font:1.125rem/1.7 var(--sans);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased}
img,svg,iframe,canvas{max-width:100%}img{height:auto}a{color:inherit;text-decoration:none}.body a,.flash a,.narrow p a{color:var(--pri);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--acc)}
.w{max-width:1200px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:10px 14px;z-index:99;border-radius:8px}.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--acc);outline-offset:2px;border-radius:4px}.hp{position:absolute!important;left:-9999px;opacity:0;height:0;width:0}
h1,h2,h3,h4{font-family:var(--serif);color:var(--pri);line-height:1.2;letter-spacing:-.01em}
/* header */
.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.hd{display:flex;align-items:center;gap:18px;min-height:68px}.logo{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:700;font-size:1.25rem;color:var(--pri)}
.logo-img{height:var(--logo-h);width:auto;max-width:260px;object-fit:contain}.logo-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--pri);color:#e8c766;font-size:1.3rem}
nav#nav{display:flex;align-items:center;gap:6px;flex:1}nav#nav>a{padding:8px 12px;border-radius:8px;font-weight:600;font-size:1rem;color:var(--pri)}nav#nav>a:hover{background:var(--chip)}
.hs{margin-left:auto}.hs input{width:190px;padding:8px 14px;border-radius:99px;font-size:.95rem;background:var(--cream)}
.a11y{display:flex;gap:4px}.a11y button{background:var(--chip);color:var(--pri);border:1px solid var(--line);width:38px;height:38px;padding:0;border-radius:10px;font-weight:700;font-size:.95rem}
.nav-toggle{display:none;background:none;border:1px solid var(--line);width:46px;height:46px;border-radius:10px;padding:0;margin-left:auto;flex-direction:column;justify-content:center;align-items:center;gap:5px}.nav-toggle span{display:block;width:22px;height:2px;background:var(--pri);border-radius:2px}
/* buttons & forms */
.btn,button{font:inherit;font-weight:700;background:var(--pri);color:#fff;border:0;padding:11px 22px;border-radius:99px;cursor:pointer;display:inline-block;line-height:1.3;min-height:44px;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover,button:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(18,38,63,.2)}.btn.gold{background:var(--acc);color:#1a1405}.btn.ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55)}.btn.lg{padding:14px 28px;font-size:1.05rem}
input,select,textarea{width:100%;font:inherit;padding:11px 14px;border:1.5px solid #cfc8b8;border-radius:10px;background:#fff;color:var(--fg);min-height:44px}input:focus,select:focus,textarea:focus{border-color:var(--pri)}
.row{display:flex;gap:10px;flex-wrap:wrap}.row>*{flex:1 1 180px}.row>button{flex:0 0 auto}.form label{display:block;font-weight:600}.form input,.form textarea{margin-top:6px}
.flash{background:#e7f3ec;border:1px solid #b6d8c6;padding:14px 18px;border-radius:12px;margin:16px 0}.flash.err{background:#fbeaea;border-color:#e5b4b4}
/* hero */
.hero{background:radial-gradient(1000px 400px at 85% -10%,rgba(184,137,43,.35),transparent 60%),linear-gradient(135deg,#0d1d33,#17365a 70%,#1c4a6e);color:#fff;padding:72px 0 64px;position:relative;overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}.hero h1{color:#fff;font-size:clamp(2rem,4.6vw,3.3rem);margin:.3em 0}.eyebrow{display:inline-block;background:rgba(255,255,255,.12);color:#f1d98c;padding:5px 14px;border-radius:99px;font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.lead{font-size:1.25rem;color:#dbe5f1;max-width:40rem}.cta{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.trust{list-style:none;padding:0;margin:20px 0 0;display:flex;gap:8px 22px;flex-wrap:wrap;color:#c8d6e6;font-size:.95rem}
.hero-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:16px}
/* sections */
.sec{font-size:1.65rem;margin:48px 0 18px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.more{font:600 .95rem var(--sans);color:var(--acc)}.ph{font-size:clamp(1.8rem,3.5vw,2.5rem);margin:24px 0 12px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0}.chips a{background:var(--chip);border:1px solid var(--line);padding:8px 18px;border-radius:99px;font-weight:600;font-size:.95rem;color:var(--pri)}.chips a:hover{background:var(--pri);color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:24px}.grid.feat{grid-template-columns:repeat(3,1fr)}.grid.feat .big{grid-column:span 2;grid-row:span 2}
.ac{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);transition:transform .2s,box-shadow .2s}.ac:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(18,38,63,.14)}
.ai{aspect-ratio:16/9;background:#e9e4d6;overflow:hidden}.ai img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.ac:hover .ai img{transform:scale(1.04)}.ab{padding:16px 18px 18px;display:flex;flex-direction:column;gap:5px;flex:1}.ab b{font:700 1.15rem/1.3 var(--serif);color:var(--pri)}.ac.big .ab b{font-size:1.6rem}.ab small{color:var(--mut);font-size:.95rem;line-height:1.5}.ab em{font-style:normal;font-size:.85rem;color:var(--mut);margin-top:auto;padding-top:6px}
.cat{font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;color:var(--acc);font-weight:800}.star{background:var(--acc);color:#1a1405;border-radius:6px;padding:1px 8px;font-size:.75rem;font-weight:800}
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:26px 18px}.vc{display:block}.th{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000}.th img{width:100%;height:100%;object-fit:cover}.du{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.8);color:#fff;font-size:.78rem;padding:1px 6px;border-radius:5px}
.pl{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.8);width:54px;height:54px;border-radius:50%;background:rgba(18,38,63,.82);color:#fff;display:grid;place-items:center;opacity:0;transition:.2s}.vc:hover .pl{opacity:1;transform:translate(-50%,-50%) scale(1)}
.vi{padding:10px 2px}.vi b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:1rem;line-height:1.35;font-weight:600}.vi small{color:var(--mut);display:block}
.band{background:var(--pri);color:#fff;margin-top:64px;padding:48px 0}.band .w{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.band h2{color:#fff;margin:0 0 6px}.band p{color:#cdd8e6;margin:0}.band .sub{margin-top:0}
.tools-promo{margin-top:52px;background:linear-gradient(120deg,#f6efdc,#efe3c0);border:1px solid #e3d3a4;border-radius:20px;padding:34px 36px}.tools-promo h2{margin:0 0 6px}.tools-promo p{max-width:42rem}
/* article */
.art{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;margin-top:10px}.art article h1{font-size:clamp(1.9rem,4vw,2.7rem);margin:.2em 0 .3em}.crumbs{font-size:.9rem;color:var(--mut);margin:16px 0 8px}.crumbs a:hover{text-decoration:underline}
.meta{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--mut);font-size:.95rem;align-items:center}.listen{background:var(--chip);color:var(--pri);border:1px solid var(--line);padding:5px 14px;min-height:0;font-size:.9rem}.listen[aria-pressed=true]{background:var(--pri);color:#fff}
.hero-img{margin:22px 0}.hero-img img{width:100%;border-radius:var(--r);aspect-ratio:16/9;object-fit:cover;box-shadow:var(--sh)}
.takeaways{background:#f3f8f5;border-left:5px solid var(--grn);border-radius:10px;padding:16px 22px;margin:22px 0}.takeaways b{font-family:var(--serif);font-size:1.15rem;color:var(--grn)}.takeaways ul{margin:8px 0 0;padding-left:22px}
.toc{border:1px solid var(--line);background:var(--cream);border-radius:12px;padding:14px 20px;margin:22px 0}.toc ol{margin:6px 0 0;padding-left:20px}.toc .l3{margin-left:18px;font-size:.95em}.toc a:hover{text-decoration:underline}
.body{font-size:1.2rem;line-height:1.8}.body h2{font-size:1.75rem;margin:1.9em 0 .5em}.body h3{font-size:1.35rem;margin:1.6em 0 .4em}.body img{border-radius:12px;margin:1em auto;display:block}.body blockquote{margin:1.4em 0;padding:8px 22px;border-left:4px solid var(--acc);background:var(--cream);font-family:var(--serif);font-size:1.15em;border-radius:0 10px 10px 0}
.body table{border-collapse:collapse;width:100%;display:block;overflow-x:auto;font-size:.95em}.body td,.body th{border:1px solid var(--line);padding:9px 12px;text-align:left}.body th{background:var(--cream)}.body .callout{background:#fff8e6;border:1px solid #ecd9a0;border-radius:12px;padding:14px 20px;margin:1.4em 0}
.body figure{margin:1.4em 0}.body figcaption,.anim figcaption{font-size:.9rem;color:var(--mut);text-align:center;margin-top:6px}
.faq details{border:1px solid var(--line);border-radius:12px;margin:10px 0;background:#fff}.faq summary{cursor:pointer;font-weight:700;padding:14px 18px;color:var(--pri)}.faq details p{margin:0;padding:0 18px 16px}
.box{border:1px solid var(--line);border-radius:var(--r);padding:20px;margin:22px 0;background:var(--cream)}.box h3{margin-top:0}.dl{background:#eef7f1;border-color:#b9dcc7}.note{font-size:.95rem;color:var(--mut)}
.sidebar{position:sticky;top:90px;align-self:start}.sidebar .sub{flex-direction:column}.sidebar .sub>*{flex:1 1 auto}.pop{padding-left:20px;margin:0}.pop li{margin:8px 0}.pop a:hover{text-decoration:underline}
.share{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0;align-items:center}.share a,.share button{background:var(--chip);color:var(--pri);padding:6px 14px;border-radius:99px;font-size:.9rem;font-weight:600;min-height:0;border:1px solid var(--line)}
.ad{margin:16px 0;text-align:center;overflow:hidden}.pg{display:flex;gap:6px;flex-wrap:wrap;margin:30px 0}.pg a{padding:8px 14px;border:1px solid var(--line);border-radius:10px;font-weight:600}.pg a.on{background:var(--pri);color:#fff}
.watch{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:26px;margin-top:20px}.player{aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000}.player iframe{width:100%;height:100%;border:0}.vt{font-size:1.6rem;margin:14px 0 4px}.side .vc{display:flex;gap:10px;margin-bottom:12px}.side .th{width:168px;flex:none}.side .vi{padding:0}
.search{margin:6px 0 22px}.search input,.search select{max-width:100%}
/* animation embeds */
.anim{margin:2em 0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:var(--sh)}.anim-stage{position:relative;aspect-ratio:var(--r,16/9);background:#0d1d33}.anim-poster,.anim-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff}
.anim-poster{background:linear-gradient(135deg,#0d1d33,#1c4a6e);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#fff;text-align:center;padding:20px}.anim-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35;margin:0;border-radius:0}.anim-ttl{position:relative}.anim-ttl small{display:block;color:#f1d98c;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700}.anim-ttl b{font:700 clamp(1.1rem,3vw,1.6rem) var(--serif)}
.anim-play{position:relative;background:var(--acc);color:#1a1405;font-size:1.15rem;padding:14px 32px;box-shadow:0 8px 24px rgba(0,0,0,.35);animation:pulse 2s infinite}.anim-play span{margin-right:6px}@keyframes pulse{50%{box-shadow:0 0 0 12px rgba(184,137,43,.22)}}
.anim-bar{display:flex;gap:8px;padding:8px 12px;background:var(--cream);border-top:1px solid var(--line)}.anim-bar[hidden]{display:none}.anim-bar button{background:var(--chip);color:var(--pri);border:1px solid var(--line);padding:6px 14px;min-height:0;font-size:.9rem}.anim figcaption{padding:8px 14px 12px}
/* tools */
.lead2{font-size:1.2rem;color:var(--mut);max-width:48rem}.calc{background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:26px;margin:28px 0}.calc h2{margin-top:0}.cgrid{display:grid;grid-template-columns:340px 1fr;gap:28px}.cform label{display:block;font-weight:600;font-size:.95rem;margin-bottom:12px}.cform input{margin-top:4px}.cout .big{font:800 clamp(2rem,5vw,3rem) var(--serif);color:var(--grn)}.cout canvas{width:100%;background:#fff;border:1px solid var(--line);border-radius:12px}
/* footer */
.ft{background:#0d1d33;color:#b9c6d8;margin-top:70px;padding:50px 0 24px}.fg{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.4fr;gap:34px}.fh{display:block;color:#fff;font:700 1.05rem var(--serif);margin-bottom:10px}.ft a{display:block;padding:3px 0;color:#d6e0ec}.ft a:hover{color:#f1d98c}.ft p{margin:0;font-size:.95rem}.ft .sub{flex-direction:column}.ft .sub>*{flex:1 1 auto}.fs{margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.fs a{display:inline}
/* high contrast */
.hc{--fg:#000;--mut:#222;--line:#000;--cream:#fff;--chip:#fff}.hc body{background:#fff}.hc .ac,.hc .box,.hc .calc{border:2px solid #000}.hc a{text-decoration:underline}.hc .hero{background:#000}
@media(max-width:1000px){.art,.watch{grid-template-columns:1fr}.sidebar{position:static}.hero-in,.band .w,.cgrid{grid-template-columns:1fr}.hero-card{display:none}.fg{grid-template-columns:1fr 1fr}.grid.feat{grid-template-columns:1fr 1fr}.grid.feat .big{grid-column:span 2;grid-row:auto}}
@media(max-width:820px){html{scroll-padding-top:76px}.hd{min-height:60px;gap:10px;flex-wrap:wrap}.logo-img{height:var(--logo-hm);max-width:180px}.nav-toggle{display:flex}.a11y,.top .btn.gold{display:none}
nav#nav{display:none;flex-direction:column;align-items:stretch;flex-basis:100%;padding:8px 0 14px;gap:2px}nav#nav.open{display:flex}nav#nav>a{padding:13px 12px;font-size:1.1rem}.hs{margin:8px 0 0}.hs input{width:100%}
.hero{padding:44px 0 38px}.cta .btn{flex:1 1 100%;text-align:center}.grid,.vgrid{grid-template-columns:1fr}.grid.feat{grid-template-columns:1fr}.grid.feat .big{grid-column:auto}.sec{font-size:1.4rem}.body{font-size:1.125rem}.tools-promo{padding:24px 20px}.fg{grid-template-columns:1fr}.side .th{width:130px}.row>button{flex:1 1 100%}.calc{padding:18px}.anim-poster{gap:10px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.top,.ft,.sidebar,.share,.ad,.band,.a11y,.listen,.anim-play,.nav-toggle{display:none!important}.art{display:block}body{font-size:12pt}}
