:root{
  --navy:#00305D; --navy-950:#021124; --navy-900:#001A33; --navy-800:#002347; --navy-700:#013A6E;
  --blue-500:#1F66B0; --blue-400:#3D7FC4; --blue-300:#7FB0E2;
  --green:#C9A24B; --green-600:#AD8636;
  --ink:#0E1B2A; --muted:#5E6E7E; --line:#E4ECF4; --bg:#F4F8FC; --white:#fff;
  --shadow:0 30px 70px -32px rgba(0,30,60,.4); --radius:20px;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{overflow-x:clip}html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Fraunces',serif;font-weight:600;line-height:1.12;letter-spacing:-.015em}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.wrap{width:min(1200px,92vw);margin-inline:auto}
::selection{background:var(--blue-300);color:#fff}
.eyebrow{font-family:'Inter',sans-serif;font-weight:600;font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;color:var(--blue-500);display:inline-flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--green)}.eyebrow.light{color:var(--blue-300)}
.btn{position:relative;display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 1.7rem;border-radius:100px;font-weight:600;font-size:.95rem;transition:transform .3s,background .3s,box-shadow .3s;cursor:pointer;border:none}
.btn-green{background:linear-gradient(180deg,#E4C570,#C9A24B);color:#241a02;box-shadow:0 14px 34px -14px rgba(201,162,75,.65)}
.btn-green:hover{background:linear-gradient(180deg,#D8B65C,#B68E3A);transform:translateY(-2px)}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-700);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--navy);border:1px solid var(--line)}.btn-outline:hover{border-color:var(--navy);transform:translateY(-2px)}
.tag{background:var(--green);color:#241a02;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.35rem .8rem;border-radius:100px;display:inline-block}
.progress-bar{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--green),var(--blue-400));z-index:9998}

/* HEADER */
header{position:fixed;top:0;left:0;right:0;z-index:60;background:transparent;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border-bottom:1px solid rgba(255,255,255,.1);transition:transform .5s cubic-bezier(.4,0,.2,1),background .4s,border-color .4s,box-shadow .4s,padding .4s}
header.scrolled{background:rgba(255,255,255,.93);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);border-color:var(--line);box-shadow:0 12px 34px -24px rgba(0,30,60,.5)}
header.hide{transform:translateY(-100%)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:.8rem 0;transition:.4s}
header.scrolled .wrap{padding:.55rem 0}
.logo{display:flex;align-items:center;line-height:0}
.logo img{height:42px;width:auto;display:block;transition:.3s}
header.scrolled .logo img{height:38px}
.logo img.logo-dark{display:none}
header.scrolled .logo img.logo-light{display:none}header.scrolled .logo img.logo-dark{display:block}
body.menu-open .logo img.logo-light{display:block!important}body.menu-open .logo img.logo-dark{display:none!important}
.mainnav>ul{display:flex;gap:.2rem;list-style:none;align-items:center}
.mainnav>ul>li>a{display:inline-flex;align-items:center;gap:.4rem;font-size:.94rem;font-weight:500;color:#fff;padding:.55rem .95rem;border-radius:100px;transition:.25s}
.mainnav>ul>li>a:hover{background:rgba(255,255,255,.15)}
.mainnav>ul>li>a.active{font-weight:600}.mainnav>ul>li>a.active .dot{width:5px;height:5px;border-radius:50%;background:var(--green);display:inline-block}
header.scrolled .mainnav>ul>li>a{color:var(--ink)}header.scrolled .mainnav>ul>li>a:hover{background:var(--bg);color:var(--navy)}header.scrolled .mainnav>ul>li>a.active{color:var(--navy)}
.head-actions{display:flex;align-items:center;gap:1rem}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;z-index:62;width:30px;height:24px;justify-content:center}
.menu-toggle span{width:28px;height:2px;background:#fff;border-radius:2px;transition:.35s cubic-bezier(.5,0,.3,1)}
header.scrolled .menu-toggle span{background:var(--navy)}
.menu-toggle.open span{background:#fff}
.menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{position:fixed;inset:0;z-index:59;background:radial-gradient(120% 120% at 100% 0%,var(--navy-800),var(--navy-950));color:#fff;padding:6.5rem 2rem 2.2rem;display:flex;flex-direction:column;clip-path:circle(0% at calc(100% - 2.6rem) 2.6rem);transition:clip-path .65s cubic-bezier(.76,0,.24,1);pointer-events:none}
.mobile-nav.show{clip-path:circle(160% at calc(100% - 2.6rem) 2.6rem);pointer-events:auto}
.mobile-nav .mlink{font-family:'Fraunces',serif;font-size:2rem;padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;opacity:0;transform:translateY(24px);transition:opacity .5s,transform .5s}
.mobile-nav.show .mlink{opacity:1;transform:none}
.mobile-nav.show .mlink:nth-child(1){transition-delay:.15s}.mobile-nav.show .mlink:nth-child(2){transition-delay:.22s}.mobile-nav.show .mlink:nth-child(3){transition-delay:.29s}.mobile-nav.show .mlink:nth-child(4){transition-delay:.36s}.mobile-nav.show .mlink:nth-child(5){transition-delay:.43s}
.mobile-nav .mlink .ar{color:var(--green)}.mobile-foot{margin-top:auto}.mobile-foot .btn{width:100%;justify-content:center}
body.menu-open{overflow:hidden}

/* ARTICLE HERO */
.art-hero{position:relative;background:radial-gradient(120% 130% at 85% -20%,var(--navy-800),var(--navy-950));color:#fff;padding:9rem 0 3rem;overflow:hidden}
.art-hero::before{content:"";position:absolute;top:-30%;right:-10%;width:46vw;height:46vw;border-radius:50%;background:radial-gradient(circle,rgba(31,102,176,.28),transparent 65%)}
.art-hero .wrap{position:relative;z-index:2;max-width:840px}
.crumb{font-size:.85rem;color:#9fb8d2;margin-bottom:1.6rem}.crumb a:hover{color:#fff}.crumb span{color:var(--blue-300)}
.art-hero h1{font-size:clamp(2rem,4.4vw,3.2rem);margin:1.1rem 0 1.3rem;max-width:18ch}
.art-meta{display:flex;align-items:center;gap:1.3rem;flex-wrap:wrap;color:#a9c2da;font-size:.92rem}
.art-meta .who{display:flex;align-items:center;gap:.7rem}
.art-meta .who .av{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--blue-500),var(--navy-700));display:grid;place-items:center;color:#fff;font-family:'Fraunces',serif;font-weight:700}
.art-meta b{color:#fff;font-weight:600}
.cover{height:360px;border-radius:var(--radius);margin:-1.5rem 0 0;background:linear-gradient(135deg,var(--navy-800),var(--blue-500));position:relative;overflow:hidden;box-shadow:var(--shadow)}
.cover::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 75% 15%,rgba(127,176,226,.35),transparent)}
.cover-wrap{position:relative;z-index:5}

/* ARTICLE LAYOUT */
.art-layout{display:grid;grid-template-columns:240px minmax(0,1fr) 56px;gap:3rem;padding:3.5rem 0 5rem;align-items:start}
.toc{position:sticky;top:100px}
.toc h5{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.toc a{display:block;font-size:.9rem;color:var(--muted);padding:.4rem 0 .4rem .9rem;border-left:2px solid var(--line);transition:.2s;line-height:1.3}
.toc a:hover{color:var(--navy)}
.toc a.active{color:var(--navy);font-weight:600;border-color:var(--green)}
.share{position:sticky;top:100px;display:flex;flex-direction:column;gap:.6rem}
.share span{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);writing-mode:vertical-rl;margin:0 auto .3rem}
.share a{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);display:grid;place-items:center;color:var(--navy);transition:.25s}
.share a:hover{background:var(--navy);color:#fff;border-color:var(--navy);transform:translateY(-3px)}
.article{font-size:1.06rem;color:#2a3a4a;max-width:720px}
.article p{margin:0 0 1.3rem}
.article .lead{font-size:1.2rem;color:var(--ink)}
.article h2{font-size:1.7rem;margin:2.6rem 0 1rem;scroll-margin-top:100px}
.article h3{font-size:1.3rem;margin:2rem 0 .8rem;scroll-margin-top:100px}
.article ul{margin:0 0 1.3rem 1.2rem}.article li{margin-bottom:.5rem}
.article strong{color:var(--ink)}
.article blockquote{margin:2rem 0;padding:1.4rem 1.8rem;border-left:4px solid var(--green);background:var(--bg);border-radius:0 14px 14px 0;font-family:'Fraunces',serif;font-style:italic;font-size:1.2rem;color:var(--navy)}
.article .figure{margin:2rem 0;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,var(--navy-800),var(--blue-500));height:320px;position:relative}
.article .figure span{position:absolute;bottom:0;left:0;right:0;padding:1rem 1.2rem;background:linear-gradient(transparent,rgba(2,17,36,.7));color:#cdddf0;font-size:.82rem}

/* AUTHOR BOX */
.authorbox{display:flex;gap:1.4rem;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem;margin:3rem 0;max-width:720px}
.authorbox .av{width:72px;height:72px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--blue-500),var(--navy-700));display:grid;place-items:center;color:#fff;font-family:'Fraunces',serif;font-weight:700;font-size:1.6rem}
.authorbox h4{font-family:'Inter',sans-serif;font-weight:700;font-size:1.05rem}
.authorbox .role{color:var(--green-600);font-size:.85rem;font-weight:600;margin-bottom:.4rem}
.authorbox p{color:var(--muted);font-size:.92rem;margin:0}

/* CTA */
.art-cta{background:linear-gradient(120deg,var(--navy-900),var(--blue-500));color:#fff;border-radius:24px;padding:3rem;text-align:center;position:relative;overflow:hidden;max-width:720px;margin:0 0 1rem}
.art-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 100% at 18% 130%,rgba(201,162,75,.3),transparent 50%)}
.art-cta h3{font-size:1.7rem;position:relative;margin-bottom:.6rem}
.art-cta p{color:#cfe1f4;position:relative;margin-bottom:1.5rem}

/* RELATED */
.related{background:var(--bg);padding:5rem 0}
.related h2{font-size:2rem;margin-bottom:2rem}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.7rem}
.post{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:.4s;display:flex;flex-direction:column}
.post:hover{box-shadow:var(--shadow);transform:translateY(-8px)}
.post .thumb{aspect-ratio:16/10;background:linear-gradient(135deg,var(--navy-800),var(--blue-500));position:relative}
.post .thumb .tag{position:absolute;left:1rem;top:1rem}
.post .body{padding:1.4rem}.post h4{font-family:'Inter',sans-serif;font-weight:700;font-size:1.02rem;line-height:1.35;margin-bottom:.5rem}
.post .body .m{font-size:.82rem;color:var(--muted)}

/* FOOTER */
footer{background:var(--navy-950);color:#9db6cf;padding:4.5rem 0 1.6rem}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.6rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.08)}
.foot-brand p{margin:1.1rem 0 1.5rem;font-size:.9rem;max-width:310px}
.foot-social{display:flex;gap:.7rem}.foot-social a{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.07);display:grid;place-items:center;color:#cdddf0;transition:.3s}.foot-social a:hover{background:var(--green);color:#241a02}
.foot-col h5{color:#fff;font-family:'Inter',sans-serif;font-size:.95rem;margin-bottom:1rem}
.foot-col a,.foot-col p{display:block;font-size:.9rem;margin-bottom:.6rem;color:#9db6cf}.foot-col a:hover{color:#fff}
.foot-bottom{padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;font-size:.82rem;color:#6f88a1}
.wa-float{position:fixed;right:1.4rem;bottom:1.4rem;z-index:90;width:60px;height:60px;border-radius:50%;background:var(--green);display:grid;place-items:center;box-shadow:0 14px 34px -8px rgba(201,162,75,.6);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(201,162,75,.45)}70%{box-shadow:0 0 0 18px rgba(201,162,75,0)}100%{box-shadow:0 0 0 0 rgba(201,162,75,0)}}
.reveal{opacity:0;transform:translateY(26px)}

@media(max-width:980px){
  .mainnav,.head-actions{display:none}.menu-toggle{display:flex}header.hide{transform:none}
  .art-layout{grid-template-columns:1fr;gap:1.5rem}
  .toc,.share{position:static;display:none}
  .article,.authorbox,.art-cta{max-width:none}
  .rel-grid{grid-template-columns:1fr}
  .cover{height:240px}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){.foot-grid{grid-template-columns:1fr}}