:root{--bg:#fbf9f3;--surface:#fff;--text:#14221d;--muted:#5a6a63;--brand:#0f6b4f;--brand-d:#083d2e;--gold:#c9a24a;--soft:#e8f3ee;--line:#e6e2d4;--shadow:0 10px 30px -12px rgba(8,61,46,.25);color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0b1512;--surface:#13221d;--text:#ecf3ef;--muted:#9bb0a7;--brand:#3fbf94;--brand-d:#0a4a37;--gold:#e0bb62;--soft:#173128;--line:#223a30;--shadow:0 10px 30px -12px rgba(0,0,0,.6);color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0b1512;--surface:#13221d;--text:#ecf3ef;--muted:#9bb0a7;--brand:#3fbf94;--brand-d:#0a4a37;--gold:#e0bb62;--soft:#173128;--line:#223a30;--shadow:0 10px 30px -12px rgba(0,0,0,.6);color-scheme:dark}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{background:var(--bg);color:var(--text);font-family:'Plus Jakarta Sans',system-ui,sans-serif;padding-bottom:env(safe-area-inset-bottom,0px)}
.serif{font-family:'Fraunces',Georgia,serif}
.card{background:var(--surface);border:1px solid var(--line);border-radius:1.25rem;transition:.25s}
.lift:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}
.pattern{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cpath d='M30 4l8 14 16 2-12 11 3 16-15-8-15 8 3-16L6 20l16-2z' fill='none' stroke='%23ffffff' stroke-opacity='.08'/%3E%3C/svg%3E")}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;border-radius:999px;padding:.8rem 1.6rem;transition:.2s}
.btn-gold{background:var(--gold);color:#1b1608}.btn-gold:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn-ghost{border:1px solid rgba(255,255,255,.4);color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-line{border:1px solid var(--line);color:var(--text);background:var(--surface)}.btn-line:hover{border-color:var(--brand);color:var(--brand)}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.eyebrow:before{content:"";width:1.5rem;height:2px;background:var(--gold)}
.ico{display:grid;place-items:center;height:3rem;width:3rem;border-radius:.9rem;background:var(--soft);font-size:1.4rem}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}
details summary{list-style:none;cursor:pointer}details summary::-webkit-details-marker{display:none}details[open] .chev{transform:rotate(180deg)}details[open]{border-color:var(--brand)}
.dd:hover .ddm,.dd:focus-within .ddm{display:block}
.prose-x p{margin-top:1.1rem;line-height:1.85;color:var(--muted);font-size:1.02rem}.prose-x p:first-child{margin-top:0}
.lead{font-size:1.2rem;line-height:1.8;color:var(--text)}
.tl{position:relative;padding-left:2.2rem}.tl:before{content:"";position:absolute;left:.7rem;top:.5rem;bottom:.5rem;width:2px;background:linear-gradient(var(--gold),var(--brand))}
.tl .dot{position:absolute;left:-2.2rem;top:.2rem;height:1.5rem;width:1.5rem;border-radius:999px;background:var(--surface);border:3px solid var(--gold);display:grid;place-items:center;font-size:.7rem;font-weight:700;color:var(--brand)}
table.t{width:100%;border-collapse:collapse;font-size:.92rem}table.t th{text-align:left;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:.8rem 1rem;border-bottom:1px solid var(--line)}table.t td{padding:.9rem 1rem;border-bottom:1px solid var(--line)}table.t tr:last-child td{border-bottom:0}
.check li{display:flex;gap:.75rem;padding:.55rem 0}.check li:before{content:"✓";flex:none;display:grid;place-items:center;height:1.4rem;width:1.4rem;border-radius:999px;background:var(--soft);color:var(--brand);font-size:.75rem;font-weight:800;margin-top:.15rem}
.side a{display:block;padding:.6rem .9rem;border-radius:.75rem;font-size:.9rem;color:var(--muted)}.side a:hover{background:var(--soft);color:var(--text)}.side a.on{background:var(--brand);color:#fff;font-weight:600}
.float{animation:fl 6s ease-in-out infinite}@keyframes fl{50%{transform:translateY(-8px)}}
@media (prefers-reduced-motion:reduce){.float{animation:none}}
