/* ============================================================
   Republic of Latveria — Official State Portal
   Design system
   ============================================================ */
:root{
  --green-900:#08231a;
  --green-800:#0b3b25;
  --green-700:#0f5132;
  --green-600:#16633f;
  --gold:#d4af37;
  --gold-soft:#e8cf86;
  --parchment:#f4efe2;
  --ink:#11140f;
  --muted:#9fb3a6;
  --danger:#7c1d1d;
  --max:1180px;
  --radius:6px;
  --shadow:0 10px 40px rgba(0,0,0,.45);
  --serif:"Cinzel","Trajan Pro",Georgia,"Times New Roman",serif;
  --body:"Spectral",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--body);
  color:#e9efe9;
  background:var(--green-900);
  line-height:1.65;
  font-size:18px;
}
img{max-width:100%;display:block}
a{color:var(--gold-soft);text-decoration:none}
a:hover{color:#fff}

/* Language toggle visibility */
.lang-ru{display:none}
body.ru .lang-en{display:none}
body.ru .lang-ru{display:initial}
body.ru span.lang-ru{display:inline}

/* ---------- Top utility bar ---------- */
.gov-bar{
  background:var(--green-900);
  border-bottom:1px solid rgba(212,175,55,.25);
  font-family:var(--sans);
  font-size:13px;
  color:var(--muted);
}
.gov-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:7px 0}
.gov-bar a{color:var(--muted)}
.gov-bar a:hover{color:var(--gold-soft)}
.gov-bar .dot{color:var(--gold);margin:0 8px}
.lang-switch{display:inline-flex;border:1px solid rgba(212,175,55,.4);border-radius:4px;overflow:hidden}
.lang-switch button{
  background:transparent;border:0;color:var(--muted);
  font-family:var(--sans);font-size:12px;font-weight:600;
  padding:4px 10px;cursor:pointer;letter-spacing:.5px;
}
.lang-switch button.active{background:var(--gold);color:var(--green-900)}

.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}

/* ---------- Masthead ---------- */
.masthead{
  background:linear-gradient(180deg,var(--green-800),var(--green-700));
  border-bottom:3px solid var(--gold);
}
.masthead .wrap{display:flex;align-items:center;gap:20px;padding:12px 22px}
.masthead .seal{width:auto;height:72px;flex:0 0 auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,.5))}
.masthead .titles{flex:1}
.masthead .kicker{
  font-family:var(--sans);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-soft);margin:0
}
.masthead h1{
  font-family:var(--serif);font-weight:700;color:#fff;
  margin:2px 0 0;font-size:clamp(22px,3.4vw,34px);letter-spacing:1px;line-height:1.1
}
.masthead .motto{font-style:italic;color:var(--gold-soft);font-size:15px;margin:4px 0 0}
.masthead .flag{margin-left:auto;height:72px;width:auto;object-fit:cover;border:1px solid var(--gold);border-radius:4px;box-shadow:var(--shadow)}

/* ---------- Nav ---------- */
nav.main{background:var(--green-900);border-bottom:1px solid rgba(212,175,55,.25);position:sticky;top:0;z-index:40}
nav.main .wrap{display:flex;align-items:center;gap:6px}
nav.main .links{display:flex;align-items:center;flex-wrap:wrap;gap:2px}
nav.main a{
  font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.4px;
  color:#cfe0d4;padding:14px 16px;display:block;border-bottom:3px solid transparent
}
nav.main a:hover{color:#fff;background:rgba(255,255,255,.04)}
nav.main a.active{color:var(--gold);border-bottom-color:var(--gold)}
.nav-toggle{display:none;margin-left:auto;background:transparent;border:1px solid var(--gold);color:var(--gold);border-radius:4px;padding:8px 12px;cursor:pointer;font-size:18px}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  background:
    linear-gradient(180deg,rgba(8,35,26,.55),rgba(8,35,26,.92)),
    radial-gradient(1200px 500px at 70% -10%,rgba(22,99,63,.7),transparent),
    var(--green-900);
  border-bottom:1px solid rgba(212,175,55,.2);
  overflow:hidden;
}
.hero .wrap{padding:70px 22px 60px;position:relative;z-index:2}
.hero .watermark{
  position:absolute;right:-60px;top:50%;transform:translateY(-50%);
  width:520px;max-width:60%;opacity:.08;z-index:1;pointer-events:none
}
.hero .eyebrow{font-family:var(--sans);letter-spacing:4px;text-transform:uppercase;font-size:13px;color:var(--gold)}
.hero h2{font-family:var(--serif);font-size:clamp(30px,5.2vw,58px);line-height:1.05;margin:14px 0 16px;color:#fff;max-width:18ch}
.hero p.lead{font-size:clamp(18px,2.2vw,22px);max-width:60ch;color:#dde7df}
.hero .cta{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap}

.btn{
  font-family:var(--sans);font-weight:600;letter-spacing:.4px;font-size:15px;
  padding:13px 24px;border-radius:4px;cursor:pointer;border:1px solid var(--gold);display:inline-block
}
.btn.primary{background:var(--gold);color:var(--green-900)}
.btn.primary:hover{background:var(--gold-soft);color:var(--green-900)}
.btn.ghost{background:transparent;color:var(--gold-soft)}
.btn.ghost:hover{background:rgba(212,175,55,.12);color:#fff}

/* ---------- Section primitives ---------- */
section{padding:60px 0}
section.alt{background:var(--green-800)}
.section-head{margin-bottom:34px;max-width:70ch}
.section-head .eyebrow{font-family:var(--sans);letter-spacing:3px;text-transform:uppercase;font-size:12px;color:var(--gold)}
.section-head h3{font-family:var(--serif);font-size:clamp(24px,3.4vw,38px);color:#fff;margin:8px 0 0}
.section-head p{color:var(--muted);margin:10px 0 0}

/* ---------- Stat counters ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat{
  background:linear-gradient(180deg,rgba(212,175,55,.08),rgba(0,0,0,.15));
  border:1px solid rgba(212,175,55,.3);border-radius:var(--radius);padding:26px 20px;text-align:center
}
.stat .num{font-family:var(--serif);font-size:clamp(30px,4vw,46px);color:var(--gold);line-height:1}
.stat .label{font-family:var(--sans);font-size:13px;letter-spacing:.5px;color:#cfe0d4;margin-top:8px;text-transform:uppercase}

/* ---------- Card grid ---------- */
.grid{display:grid;gap:22px}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
.card{
  background:rgba(0,0,0,.18);border:1px solid rgba(212,175,55,.22);border-radius:var(--radius);
  padding:26px;transition:border-color .2s,transform .2s
}
.card:hover{border-color:var(--gold);transform:translateY(-3px)}
.card .ico{font-size:30px}
.card h4{font-family:var(--serif);color:#fff;margin:12px 0 8px;font-size:21px}
.card p{color:var(--muted);margin:0;font-size:16px}

/* ---------- Leader spotlight ---------- */
.leader{display:grid;grid-template-columns:0.9fr 1.1fr;gap:40px;align-items:center}
.leader .portrait{
  border:2px solid var(--gold);border-radius:var(--radius);box-shadow:var(--shadow);
  background:linear-gradient(180deg,var(--green-700),var(--green-900));
  display:flex;align-items:center;justify-content:center;overflow:hidden
}
.leader .portrait img{width:100%;height:auto;display:block}
.leader .portrait:has(.ph){aspect-ratio:3/4}
.leader .portrait .ph{color:var(--gold-soft);font-family:var(--sans);font-size:13px;text-align:center;padding:20px;opacity:.7}
.leader h3{font-family:var(--serif);font-size:clamp(26px,3.6vw,40px);color:#fff;margin:0 0 6px}
.leader .role{font-family:var(--sans);letter-spacing:1px;text-transform:uppercase;color:var(--gold);font-size:13px;margin-bottom:16px}
.leader blockquote{
  border-left:3px solid var(--gold);margin:20px 0 0;padding:6px 0 6px 20px;
  font-style:italic;color:var(--gold-soft);font-size:19px
}

/* ---------- News ---------- */
.news-feed{display:grid;gap:0}
.news-item{
  display:grid;grid-template-columns:130px 1fr;gap:24px;padding:24px 0;
  border-bottom:1px solid rgba(212,175,55,.16)
}
.news-item .date{font-family:var(--sans);font-size:13px;color:var(--gold);letter-spacing:.5px}
.news-item .tag{display:inline-block;font-family:var(--sans);font-size:11px;text-transform:uppercase;letter-spacing:1px;background:rgba(212,175,55,.15);color:var(--gold-soft);border:1px solid rgba(212,175,55,.3);padding:2px 8px;border-radius:3px;margin-top:8px}
.news-item h4{font-family:var(--serif);color:#fff;font-size:23px;margin:4px 0 8px}
.news-item p{color:var(--muted);margin:0}
.news-item.lead-story{background:linear-gradient(180deg,rgba(212,175,55,.07),transparent);border:1px solid rgba(212,175,55,.3);border-radius:var(--radius);padding:28px;grid-template-columns:1fr;margin-bottom:24px}
.news-item.lead-story h4{font-size:30px}

/* ---------- Banner / decree ---------- */
.decree{
  background:linear-gradient(90deg,var(--green-700),var(--green-600));
  border-top:2px solid var(--gold);border-bottom:2px solid var(--gold)
}
.decree .wrap{padding:40px 22px;text-align:center}
.decree h3{font-family:var(--serif);color:#fff;font-size:clamp(22px,3vw,32px);margin:0 0 10px}
.decree p{color:var(--gold-soft);max-width:60ch;margin:0 auto}

/* ---------- Flag band ---------- */
.flag-band{
  position:relative;padding:90px 0;text-align:center;
  background:
    linear-gradient(rgba(8,35,26,.72),rgba(8,35,26,.82)),
    url("../img/latveria_flag.png") center/cover no-repeat;
  border-top:2px solid var(--gold);border-bottom:2px solid var(--gold)
}
.flag-band .eyebrow{font-family:var(--sans);letter-spacing:3px;text-transform:uppercase;font-size:12px;color:var(--gold)}
.flag-band h3{font-family:var(--serif);color:#fff;font-size:clamp(26px,4vw,42px);margin:10px 0 14px}
.flag-band .bandlead{max-width:62ch;margin:0 auto;color:var(--gold-soft);font-size:19px}

/* ---------- Countdown ---------- */
.countdown{display:flex;gap:18px;justify-content:center;margin-top:22px;flex-wrap:wrap}
.countdown .unit{background:rgba(0,0,0,.3);border:1px solid var(--gold);border-radius:var(--radius);padding:14px 20px;min-width:90px;text-align:center}
.countdown .unit .v{font-family:var(--serif);font-size:38px;color:var(--gold);line-height:1}
.countdown .unit .l{font-family:var(--sans);font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#cfe0d4;margin-top:6px}

/* ---------- Article / prose ---------- */
.prose{max-width:74ch}
.prose h3{font-family:var(--serif);color:#fff;margin-top:40px}
.prose p{color:#dbe5dd}
.prose ul{color:#dbe5dd}
.prose .lede{font-size:21px;color:var(--gold-soft)}

/* ---------- Ministry list ---------- */
.ministries{columns:2;gap:30px}
.ministries .m{break-inside:avoid;padding:14px 0;border-bottom:1px solid rgba(212,175,55,.14)}
.ministries .m b{color:#fff;font-family:var(--serif);font-weight:600}
.ministries .m span{display:block;color:var(--muted);font-size:14px;font-family:var(--sans)}

/* ---------- Footer ---------- */
footer{background:var(--green-900);border-top:3px solid var(--gold);padding:48px 0 24px;font-family:var(--sans)}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
footer h5{color:var(--gold);font-size:13px;letter-spacing:1px;text-transform:uppercase;margin:0 0 14px}
footer a{display:block;color:#bcd0c2;font-size:14px;padding:4px 0}
footer .brand{display:flex;gap:14px;align-items:flex-start}
footer .brand img{width:54px}
footer .brand p{color:var(--muted);font-size:14px;margin:6px 0 0}
footer .legal{border-top:1px solid rgba(212,175,55,.2);margin-top:36px;padding-top:18px;color:#6f8678;font-size:12.5px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .grid.cols-3{grid-template-columns:1fr 1fr}
  .leader{grid-template-columns:1fr}
  footer .cols{grid-template-columns:1fr 1fr}
  .ministries{columns:1}
}
@media(max-width:680px){
  .masthead .flag{display:none}
  nav.main .wrap{flex-direction:column;align-items:stretch}
  nav.main a{padding:11px 14px}
  nav.main .links{display:none;flex-direction:column}
  nav.main.open .links{display:flex}
  .nav-toggle{display:block;align-self:flex-end;margin:8px 0}
  .grid.cols-3,.grid.cols-2,.stats{grid-template-columns:1fr}
  .news-item{grid-template-columns:1fr}
  footer .cols{grid-template-columns:1fr}
}
