* { box-sizing: border-box; }
:root { color-scheme: dark; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--background); color: var(--text); font: 16px/1.65 "Segoe UI", system-ui, sans-serif; }
body::before { content: ""; position: fixed; inset: 0; z-index: -2; background: radial-gradient(circle at 78% 12%, #2b5b35 0, transparent 28rem), linear-gradient(115deg, transparent 0 48%, rgba(142,208,129,.035) 48% 50%, transparent 50%); }
a { color: var(--accent); text-underline-offset: .24em; }
a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid var(--accent-alt); outline-offset: 3px; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 20; padding: .7rem 1rem; background: var(--text); color: var(--background); }
.skip-link:focus { top: 1rem; }
.hero, main, footer { width: min(1160px, calc(100% - 2rem)); margin-inline: auto; }
.hero { min-height: 78vh; padding: 1.25rem 0 4rem; display: grid; align-content: space-between; }
nav { display: flex; gap: 1.4rem; flex-wrap: wrap; justify-content: flex-end; border-bottom: 1px solid rgba(183,201,173,.22); }
nav a { min-height: 48px; display: inline-flex; align-items: center; text-decoration: none; font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.hero-stage { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(0,1.8fr); gap: clamp(2rem,6vw,7rem); align-items: center; padding-top: 5rem; }
.growth-rings { aspect-ratio: 1; position: relative; display: grid; place-items: center; border: 1px solid rgba(142,208,129,.35); border-radius: 50%; }
.growth-rings::before, .growth-rings::after, .growth-rings span { content: ""; position: absolute; border: 1px solid rgba(142,208,129,.25); border-radius: 50%; }
.growth-rings::before { inset: 12%; }
.growth-rings::after { inset: 27%; }
.growth-rings span:nth-child(1) { inset: 6% 18% 15% 8%; }
.growth-rings span:nth-child(2) { inset: 20% 8% 8% 22%; }
.growth-rings span:nth-child(3) { inset: 35%; }
.growth-rings b { color: var(--accent-alt); font: 800 clamp(3rem,7vw,7rem)/1 Georgia,serif; }
.eyebrow,.kicker { margin: 0; color: var(--accent); font-size: .74rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
h1 { max-width: 11ch; margin: .15em 0; font: clamp(3.7rem,9vw,8rem)/.88 Georgia,serif; letter-spacing: -.058em; }
h2 { font: clamp(2.1rem,5vw,4.5rem)/.98 Georgia,serif; letter-spacing: -.04em; }
.lede { max-width: 55ch; color: var(--muted); font-size: clamp(1.1rem,2vw,1.42rem); }
dl { display: flex; gap: 2.2rem; flex-wrap: wrap; }
dl div { display: grid; gap: .1rem; }
dt { color: var(--muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .13em; }
dd { margin: 0; font-weight: 750; }
.table-promise { margin: 0 0 1px; padding: 1.1rem 1.3rem; display: grid; grid-template-columns: auto 1fr auto; gap: 1.5rem; align-items: center; border: 1px solid rgba(226,196,109,.32); color: var(--muted); background: #0b2115; }
.table-promise strong { color: var(--text); text-align: center; font-family: Georgia,serif; }
.table-promise span { color: var(--accent-alt); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: rgba(183,201,173,.22); border: 1px solid rgba(183,201,173,.22); }
.metrics div { min-height: 8.5rem; padding: 1.3rem; display: grid; align-content: space-between; background: rgba(16,39,26,.95); }
.metrics strong { color: var(--accent-alt); font: 2rem/1 Georgia,serif; }
.metrics span { color: var(--muted); }
.guide,.catalog { padding: 7rem 0 1rem; }
.section-heading { max-width: 760px; margin-bottom: 2.2rem; }
.section-heading h2 { margin: .25rem 0 .7rem; }
.section-heading > p:last-child { color: var(--muted); }
.guide-grid { position: relative; display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
.guide-grid::before { content:""; position:absolute; left:50%; top:2rem; bottom:2rem; border-left:1px dashed rgba(142,208,129,.35); }
.guide-card { position: relative; padding: clamp(1.3rem,3vw,2.2rem); border: 1px solid rgba(183,201,173,.24); border-radius: .3rem 2rem .3rem 2rem; background: linear-gradient(145deg,rgba(20,51,32,.98),rgba(10,29,18,.98)); }
.guide-card:nth-child(even) { transform: translateY(2.5rem); }
.guide-card h2 { margin: .25rem 0 1rem; font-size: clamp(1.75rem,3vw,2.65rem); }
.guide-card > p:not(.kicker) { color: var(--muted); }
.section-cards { padding-top: .9rem; border-top: 1px solid rgba(183,201,173,.18); font-size: .88rem; }
.section-cards strong { color: var(--text); }
.catalog { margin-top: 2rem; }
.catalog-controls { position: sticky; top: .5rem; z-index: 4; display: grid; grid-template-columns: 1fr 1fr auto; gap: 1rem; align-items: end; margin: 2rem 0; padding: 1rem; border: 1px solid rgba(183,201,173,.24); background: rgba(7,23,15,.94); backdrop-filter: blur(12px); }
label { display: grid; gap: .35rem; color: var(--muted); font-weight: 700; }
input,select { min-height: 48px; width:100%; border:1px solid rgba(183,201,173,.35); border-radius:.2rem; padding:.68rem .8rem; background:var(--surface); color:var(--text); font:inherit; }
#catalog-status { margin: 0; color: var(--accent-alt); font-size: .82rem; }
.deck-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; }
.deck-card { min-width:0; padding:1rem; border-left:3px solid var(--accent); background:var(--surface); box-shadow: inset 0 0 0 1px rgba(183,201,173,.12); }
.deck-card div { display:grid; gap:.3rem; }
.deck-card strong { color:var(--text); }
.deck-card span,.deck-card p { margin:0; overflow-wrap:anywhere; color:var(--muted); font-size:.85rem; }
.deck-card[hidden] { display:none; }
footer { margin-top:6rem; padding:2rem 0 4rem; border-top:1px solid rgba(183,201,173,.22); display:flex; justify-content:space-between; gap:1rem; color:var(--muted); }
@media (max-width: 720px) {
  .hero { min-height:auto; padding-bottom:3rem; }
  nav { justify-content:flex-start; }
  .hero-stage { grid-template-columns:1fr; padding-top:3rem; }
  .growth-rings { width:min(58vw,240px); }
  h1 { font-size:clamp(3rem,17vw,5rem); }
  .table-promise,.metrics,.guide-grid,.deck-grid,.catalog-controls { grid-template-columns:1fr; }
  .table-promise strong { text-align:left; }
  .guide-grid::before { display:none; }
  .guide-card:nth-child(even) { transform:none; }
  .guide,.catalog { padding-top:4rem; }
  footer { display:grid; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } .guide-card:nth-child(even) { transform:none; } }
