:root{
  --green:#0F2D1E;
  --gold:#D7A11E;
  --ivory:#F7F5F0;
  --white:#FFFFFF;
  --ink:#111512;
  --muted:#5F675F;
  --surface:#FFFFFF;
  --line:rgba(15,45,30,.14);
  --shadow:0 20px 60px rgba(15,45,30,.10);
  /* ADS-002 corner-radius ladder: 24 -> 16 -> 12 -> 8 -> 4 */
  --radius-lg:24px;
  --radius-md:16px;
  --radius-12:12px;
  --radius-sm:8px;
  --radius-xs:4px;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-6:24px;
  --space-8:32px;
  --space-12:48px;
  --space-16:64px;
  --space-24:96px;
}
*{box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
a{color:var(--green);text-decoration:none;text-underline-offset:.15em}
a:hover{text-decoration:underline}
.header,.footer,.hero,.section,.page,.content{
  width:min(1120px,calc(100% - 32px));
  margin:0 auto;
}
.header{
  padding:28px 0;
  display:flex;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  align-items:center;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--green);
  font-family:Georgia,"Times New Roman",serif;
  letter-spacing:.18em;
  font-weight:700;
  line-height:1;
}
.brand-logo{
  display:block;
  width:52px;
  height:auto;
  object-fit:contain;
}
.brand-text{color:inherit}
.brand:hover{text-decoration:none}
.nav{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.nav a{color:var(--ink)}
.hero{padding:96px 0 112px}
.eyebrow{
  color:var(--gold);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:20px;
}
h1,h2,h3{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--green);
  line-height:1.08;
  margin:0;
  font-weight:500;
}
h1{font-size:clamp(3rem,8vw,7rem);letter-spacing:-.05em}
h2{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.04em}
h3{font-size:1.35rem}
.lede{
  max-width:760px;
  font-size:clamp(1.1rem,2vw,1.4rem);
  color:var(--muted);
  margin:28px 0 0;
}
.section{padding:56px 0}
.grid{display:grid;gap:24px}
.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card,.content-card{
  background:var(--surface);
  border-radius:var(--radius-lg);
  padding:32px;
  box-shadow:var(--shadow);
}
.content-card{padding:clamp(28px,5vw,56px)}
.card p:last-child,.content-card p:last-child{margin-bottom:0}
.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.button{
  display:inline-flex;
  background:var(--green);
  color:var(--white);
  padding:12px 18px;
  border-radius:999px;
  font-weight:800;
  transition:transform .15s ease;
}
.button:active{transform:translateY(0)}
.button:hover{transform:translateY(-1px)}
.button.secondary{
  background:transparent;
  color:var(--green);
  box-shadow:inset 0 0 0 1px rgba(15,45,30,.22);
}
.button:hover{text-decoration:none}
.tag{
  display:inline-flex;
  background:rgba(215,161,30,.15);
  color:var(--green);
  padding:6px 10px;
  border-radius:999px;
  font-weight:800;
  font-size:.8rem;
}
.page{padding:64px 0 32px}
.content{padding:0 0 80px}
.content h2{margin-top:40px;font-size:2rem}
.notice{
  padding:20px;
  border-radius:var(--radius-md);
  background:rgba(15,45,30,.06);
  margin:24px 0;
}
.footer{
  padding:42px 0;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  color:var(--muted);
}
.footer a{color:var(--green)}
/* ADS-007  Focus, selection & interaction states */
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:var(--radius-xs)}
::selection{background:rgba(215,161,30,.30)}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .button{transition:none}
  .button:hover,.button:active{transform:none}
}

@media(prefers-color-scheme:dark){
  :root{
    --ivory:#07120C;
    --surface:#102118;
    --ink:#F5F5F0;
    --muted:#B9C0B7;
    --line:rgba(245,245,240,.14);
    --shadow:0 24px 70px rgba(0,0,0,.32);
  }
  .brand,.brand-text,.nav a,.footer a,a{color:#F5F5F0}
  h1,h2,h3{color:#F5F5F0}
  .tag{color:#F5F5F0;background:rgba(215,161,30,.18)}
  .notice{background:rgba(245,245,240,.06)}
  .button{background:#F5F5F0;color:#07120C}
  .button.secondary{background:transparent;color:#F5F5F0;box-shadow:inset 0 0 0 1px rgba(245,245,240,.22)}
}
@media(max-width:760px){
  .header{align-items:flex-start;flex-direction:column}
  .nav{gap:16px}
  .two,.three{grid-template-columns:1fr}
  .hero{padding:56px 0 72px}
  .card{padding:24px}
}
