@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=DM+Sans:wght@300;400;500&family=DM+Mono:wght@400;500&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0f1012;--surface:#161719;--surface2:#1e2023;
  --green:#6d9248;--green-b:#85b058;
  --blue:#404e94;
  --white:#f5f4f0;--muted:#7a7d82;
  --border:rgba(255,255,255,0.07);
  --serif:'Playfair Display',Georgia,serif;
  --sans:'DM Sans',sans-serif;
  --mono:'DM Mono',monospace;
  --max:1200px;
}
body{background:var(--bg);color:var(--white);font-family:var(--sans);overflow-x:hidden;line-height:1.6}
::-webkit-scrollbar{width:3px}::-webkit-scrollbar-thumb{background:var(--green)}

/* ── NAV ── */
nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:68px;background:rgba(10,11,12,0.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
.nav-logo img{height:44px;width:auto;display:block}
@media(max-width:900px){.nav-logo img{height:36px}}
.nav-links{display:flex;gap:2.2rem;list-style:none}
.nav-links a{font-size:13px;color:var(--muted);text-decoration:none;transition:color 0.2s}
.nav-links a:hover,.nav-links a.active{color:var(--white)}
.nav-cta{display:inline-flex;align-items:center;gap:8px;padding:9px 20px;background:var(--green);color:#fff;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;border-radius:3px;text-decoration:none;transition:all 0.2s}
.nav-cta:hover{background:var(--green-b);transform:translateY(-1px)}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 26px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;border-radius:3px;text-decoration:none;transition:all 0.25s}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{background:var(--green-b);transform:translateY(-2px);box-shadow:0 10px 30px rgba(109,146,72,0.3)}
.btn-ghost{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,0.2)}
.btn-ghost:hover{border-color:rgba(255,255,255,0.45)}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:#4f5fae;transform:translateY(-2px)}

/* ── LABELS & HEADINGS ── */
.lbl{font-family:var(--mono);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--green);margin-bottom:1rem;display:flex;align-items:center;gap:10px}
.lbl::before{content:'';width:20px;height:1px;background:var(--green)}
h1{font-family:var(--serif);font-size:clamp(4rem,7.5vw,7rem);font-weight:900;line-height:1.08;color:var(--white)}
h2{font-family:var(--serif);font-size:clamp(2.2rem,4vw,3.3rem);font-weight:700;line-height:1.08;color:var(--white);margin-bottom:1.5rem}
h2 em,h1 em{font-style:italic;color:var(--green)}
h3{font-family:var(--serif);font-size:1.6rem;font-weight:700;color:var(--white);margin-bottom:0.6rem}
.bt{font-size:1rem;font-weight:300;color:rgba(245,244,240,0.68);line-height:1.85;margin-bottom:1.1rem}
.bt strong{color:var(--white);font-weight:500}

/* ── TICKER ── */
.ticker{background:var(--green);padding:0.95rem 0;overflow:hidden}
.ticker-track{display:flex;animation:tick 15s linear infinite;white-space:nowrap}
@media(max-width:900px){.ticker-track{animation-duration:4s}}
.ticker-track span{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:#fff;padding:0 2.5rem;display:flex;align-items:center;gap:2.5rem}
.ticker-track span::after{content:'✦';opacity:0.35;font-size:7px}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── PAGE HERO (interior pages) ── */
.page-hero{padding:6rem 3rem 4.5rem;background:var(--surface);border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;left:3rem;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,var(--green) 30%,var(--blue) 70%,transparent);opacity:0.25}
.page-hero-inner{max-width:var(--max);margin:0 auto}
.page-hero h1{font-size:clamp(3rem,6vw,5.5rem);margin-bottom:1.2rem}
.page-hero .sub{font-size:1.1rem;font-weight:300;color:rgba(245,244,240,0.55);max-width:540px;line-height:1.8}

/* ── FOOTER ── */
footer{background:#0a0b0c;border-top:1px solid var(--border);padding:3rem;display:grid;grid-template-columns:1.4fr auto auto auto;gap:3rem;align-items:start}
.fl img{height:30px;margin-bottom:0.7rem;display:block}
.ftag{font-size:0.8rem;color:var(--muted);max-width:270px;line-height:1.65}
.ftit{font-family:var(--mono);font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:var(--green);margin-bottom:0.9rem}
.flinks{list-style:none;display:flex;flex-direction:column;gap:0.45rem}
.flinks a{font-size:0.82rem;color:var(--muted);text-decoration:none;transition:color 0.2s}
.flinks a:hover{color:var(--white)}
.fbot{background:#0a0b0c;border-top:1px solid var(--border);padding:1rem 3rem;display:flex;justify-content:space-between}
.fbot p{font-family:var(--mono);font-size:9px;letter-spacing:0.1em;color:rgba(122,125,130,0.35);text-transform:uppercase}

/* ── ANIMATIONS ── */
@keyframes up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes zoom{from{transform:scale(1.03)}to{transform:scale(1.0)}}

/* ── MOBILE NAV ── */
.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--white);transition:all 0.3s}
.mobile-nav{display:none;position:fixed;inset:0;z-index:99;background:rgba(10,11,12,0.97);backdrop-filter:blur(20px);flex-direction:column;align-items:center;justify-content:center;gap:2rem}
.mobile-nav.open{display:flex}
.mobile-nav a{font-family:var(--serif);font-size:2rem;color:var(--white);text-decoration:none;opacity:0.7;transition:opacity 0.2s}
.mobile-nav a:hover{opacity:1}
.mobile-close{position:absolute;top:1.5rem;right:2rem;background:none;border:none;color:var(--white);font-size:1.5rem;cursor:pointer;opacity:0.5}
.mobile-close:hover{opacity:1}

@media(max-width:900px){
  nav{padding:0 1.5rem}
  .nav-links,.nav-cta{display:none}
  .nav-hamburger{display:flex}
  footer{grid-template-columns:1fr;gap:2rem;padding:2rem 1.5rem}
  .fbot{padding:1rem 1.5rem;flex-direction:column;gap:0.4rem}
  .page-hero{padding:4rem 1.5rem 3rem}
}
