:root {
  --green-950: #0b2820;
  --green-900: #12392e;
  --green-800: #1f4d3a;
  --green-700: #2e604c;
  --green-500: #5c806d;
  --cream: #f5efe3;
  --paper: #fffaf0;
  --gold: #b99a5b;
  --gold-light: #d8c28f;
  --ink: #10271f;
  --muted: #65736d;
  --line: rgba(31, 77, 58, .16);
  --shadow: 0 24px 70px rgba(11, 40, 32, .12);
  --radius: 22px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.site-header {
  position: fixed;
  z-index: 50;
  top: 0;
  left: 0;
  right: 0;
  height: 82px;
  padding: 10px clamp(20px, 5vw, 70px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255,250,240,.84);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(31,77,58,.1);
}
.brand img { width: 92px; height: 62px; object-fit: contain; object-position: center; }
.nav { display: flex; gap: 28px; align-items: center; font-size: .88rem; font-weight: 700; letter-spacing: .04em; }
.nav a { position: relative; padding: 8px 0; }
.nav a::after { content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--gold); transition:.25s; }
.nav a:hover::after { width:100%; }
.menu-toggle { display:none; border:0; background:transparent; font-size:1.6rem; color:var(--green-900); }

.hero {
  min-height: 100vh;
  padding: 150px clamp(22px, 7vw, 100px) 80px;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 30px;
  align-items: center;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 25%, rgba(185,154,91,.15), transparent 28%),
    linear-gradient(135deg, var(--paper), var(--cream));
}
.hero-glow { position:absolute; width:600px; height:600px; border-radius:50%; right:-240px; bottom:-260px; border:1px solid rgba(31,77,58,.1); box-shadow:0 0 0 80px rgba(31,77,58,.025), 0 0 0 160px rgba(31,77,58,.018); }
.hero-content { max-width: 760px; position:relative; z-index:1; }
.eyebrow { margin:0 0 14px; color:var(--gold); font-size:.76rem; font-weight:800; letter-spacing:.22em; text-transform:uppercase; }
h1,h2,h3 { font-family: Georgia, "Times New Roman", serif; line-height:1.05; }
h1 { font-size:clamp(3.4rem, 7vw, 6.7rem); margin:0 0 28px; letter-spacing:-.055em; }
h1 span { color:var(--green-700); }
.hero-copy { max-width:650px; font-size:1.12rem; color:var(--muted); }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin:34px 0 48px; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 22px; border-radius:999px; font-weight:800; letter-spacing:.02em; transition:transform .2s, box-shadow .2s, background .2s; }
.btn:hover { transform:translateY(-2px); }
.btn-primary { background:var(--green-800); color:white; box-shadow:0 12px 28px rgba(31,77,58,.18); }
.btn-ghost { border:1px solid var(--line); color:var(--green-900); background:rgba(255,255,255,.45); }
.btn-light { background:var(--paper); color:var(--green-900); }
.hero-meta { display:flex; gap:34px; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:20px; }
.hero-meta div { display:flex; flex-direction:column; }
.hero-meta strong { font-size:.78rem; letter-spacing:.12em; }
.hero-meta span { color:var(--muted); font-size:.78rem; margin-top:4px; }
.hero-mark { justify-self:center; max-width:510px; filter: drop-shadow(0 30px 35px rgba(11,40,32,.14)); }
.hero-mark img { width:100%; }

.section { padding:110px clamp(22px, 7vw, 100px); }
.section-light { background:var(--paper); }
.section-dark { background:var(--green-950); color:var(--paper); }
.section-heading { max-width:820px; margin-bottom:52px; }
.section-heading h2 { margin:0 0 20px; font-size:clamp(2.5rem, 5vw, 4.6rem); letter-spacing:-.04em; }
.section-heading p:not(.eyebrow) { color:var(--muted); font-size:1.04rem; }
.section-dark .section-heading p:not(.eyebrow) { color:rgba(255,250,240,.7); }

.cards { max-width:var(--max); margin:auto; }
.three { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.info-card { border:1px solid var(--line); padding:32px; border-radius:var(--radius); background:rgba(255,255,255,.4); min-height:260px; transition:transform .25s, box-shadow .25s; }
.info-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.card-number { color:var(--gold); font-weight:800; font-size:.78rem; letter-spacing:.12em; }
.info-card h3 { font-size:2rem; margin:55px 0 12px; }
.info-card p { color:var(--muted); margin:0; }
.impact-strip { max-width:var(--max); margin:70px auto 0; padding:36px; border-radius:var(--radius); background:var(--green-800); color:var(--paper); display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.impact-strip h3 { font-size:2.4rem; margin:0; }
.impact-strip p:last-child { color:rgba(255,250,240,.78); }

.topic-layout { max-width:var(--max); margin:auto; display:grid; grid-template-columns:1.3fr .7fr; gap:70px; align-items:start; }
.topic-main { border-top:1px solid rgba(255,250,240,.22); padding-top:26px; }
.topic-tag { color:var(--gold-light); font-size:.75rem; font-weight:800; letter-spacing:.18em; }
.topic-main h3 { font-size:clamp(2rem,4vw,3.5rem); margin:25px 0; }
.topic-main p { color:rgba(255,250,240,.68); font-size:1.05rem; }
.topic-points { border-top:1px solid rgba(255,250,240,.22); }
.topic-points div { display:flex; gap:22px; padding:22px 0; border-bottom:1px solid rgba(255,250,240,.15); }
.topic-points strong { color:var(--gold-light); font-size:.78rem; letter-spacing:.1em; }
.topic-points span { font-weight:700; }

.registration-grid { max-width:var(--max); margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:start; }
.registration-grid .section-heading { margin:0; }
.small-note { font-size:.78rem !important; color:#8b938e !important; margin-top:15px; }
.process { border-left:1px solid var(--line); padding-left:30px; }
.process-step { display:grid; grid-template-columns:44px 1fr; gap:20px; align-items:start; }
.process-step > span { width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--gold); border-radius:50%; color:var(--gold); font-weight:800; font-size:.75rem; margin-left:-52px; background:var(--paper); }
.process-step h3 { font-size:1.5rem; margin:0 0 4px; }
.process-step p { color:var(--muted); margin:0; }
.process-line { height:32px; }

.section-docs { background:var(--cream); }
.documents-panel { max-width:var(--max); margin:auto; border:1px solid var(--line); border-radius:var(--radius); background:rgba(255,250,240,.7); overflow:hidden; }
.documents-toolbar { padding:18px 24px; display:flex; justify-content:space-between; border-bottom:1px solid var(--line); color:var(--muted); font-size:.82rem; }
.document-status { color:var(--gold); font-weight:800; letter-spacing:.12em; }
.documents-list { padding:10px; }
.document-row { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 18px; border-radius:14px; }
.document-row:hover { background:rgba(31,77,58,.06); }
.document-info { display:flex; align-items:center; gap:16px; }
.document-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:12px; background:var(--green-800); color:white; font-size:.72rem; font-weight:900; }
.document-name { font-weight:800; }
.document-type { display:block; color:var(--muted); font-size:.76rem; margin-top:2px; }
.document-open { border:1px solid var(--line); border-radius:999px; padding:9px 15px; font-size:.8rem; font-weight:800; }
.empty-docs { padding:30px 20px; color:var(--muted); }

.cta-section { padding:110px 22px; background:var(--green-800); color:var(--paper); text-align:center; }
.cta-inner h2 { font-size:clamp(3rem,7vw,6rem); letter-spacing:-.05em; margin:0 0 34px; }

.footer { background:var(--green-950); color:var(--paper); padding:55px clamp(22px,7vw,100px); display:grid; grid-template-columns:1fr auto auto; gap:40px; align-items:end; }
.footer img { width:120px; height:75px; object-fit:contain; object-position:left center; filter:brightness(0) invert(1); opacity:.9; }
.footer p { margin:5px 0 0; color:rgba(255,250,240,.58); font-size:.82rem; }
.footer-links { display:flex; gap:22px; font-size:.82rem; font-weight:700; }
.footer-links a:hover { color:var(--gold-light); }
.copyright { text-align:right; }

.reveal { opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 900px) {
  .nav { position:absolute; top:82px; right:18px; left:18px; padding:18px; border:1px solid var(--line); border-radius:18px; background:var(--paper); display:none; flex-direction:column; align-items:stretch; gap:4px; box-shadow:var(--shadow); }
  .nav.open { display:flex; }
  .menu-toggle { display:block; }
  .hero { grid-template-columns:1fr; min-height:auto; padding-top:135px; }
  .hero-mark { max-width:370px; order:-1; }
  .three, .registration-grid, .topic-layout, .impact-strip { grid-template-columns:1fr; }
  .registration-grid { gap:55px; }
  .footer { grid-template-columns:1fr; align-items:start; }
  .copyright { text-align:left; }
}
@media (max-width: 600px) {
  h1 { font-size:3.25rem; }
  .section { padding-top:78px; padding-bottom:78px; }
  .hero-meta { gap:20px; }
  .hero-actions .btn { width:100%; }
  .topic-main h3 { font-size:2rem; }
  .process { margin-left:10px; }
  .footer-links { flex-wrap:wrap; }
}
