:root{
  --ink:#14231e;
  --forest:#0f5f4f;
  --forest-dark:#0b483d;
  --sage:#dbefe8;
  --cream:#f7f2e8;
  --amber:#d9872d;
  --panel:#fffdf8;
  --line:#d8d2c7;
  --muted:#5d6b65;
  --white:#ffffff;
  --shadow:0 18px 50px rgba(20,35,30,0.12);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Manrope",system-ui,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at top right, rgba(217,135,45,0.14), transparent 26%),
    linear-gradient(180deg, #fcfaf5 0%, #f6f1e7 100%);
  line-height:1.6;
}
a{color:var(--forest)}
img{max-width:100%}
.container{width:min(1160px, calc(100% - 32px)); margin:0 auto}
.site-header{
  position:sticky;
  top:0;
  z-index:20;
  backdrop-filter:blur(14px);
  background:rgba(252,250,245,0.88);
  border-bottom:1px solid rgba(20,35,30,0.08);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:16px 0;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--ink);
  font-family:"Plus Jakarta Sans",sans-serif;
  font-weight:800;
  letter-spacing:-0.04em;
}
.brand-mark{
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, var(--forest), var(--amber));
  color:var(--white);
  box-shadow:var(--shadow);
  font-size:1rem;
}
.brand span{font-size:1.05rem}
.nav-links{
  display:flex;
  gap:22px;
  font-weight:700;
  color:var(--muted);
}
.nav-links a{text-decoration:none; color:var(--muted)}
.nav-links a[aria-current="page"]{color:var(--forest)}
.nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 22px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  background:var(--forest);
  color:var(--white);
  box-shadow:0 12px 24px rgba(15,95,79,0.22);
}
.nav-cta:hover{background:var(--forest-dark)}
main{padding:36px 0 56px}
.panel{
  background:rgba(255,255,255,0.88);
  border:1px solid rgba(20,35,30,0.08);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:32px 28px;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,0.7);
  border:1px solid rgba(20,35,30,0.08);
  color:var(--forest);
  font-weight:800;
  margin-bottom:14px;
}
h1,h2{
  margin:0;
  font-family:"Plus Jakarta Sans",sans-serif;
  letter-spacing:-0.04em;
}
h1{
  font-size:clamp(2rem, 4vw, 3rem);
  line-height:1.05;
  margin-bottom:8px;
}
.updated{color:var(--muted); margin:0 0 22px}
h2{font-size:1.25rem; margin:28px 0 8px}
p,li{color:var(--ink)}
p{margin:0 0 12px}
ul{margin:0 0 12px; padding-left:1.2rem}
li{margin:0 0 6px}
.prose a{font-weight:700}
.choice-row{display:flex; flex-wrap:wrap; gap:10px; margin:14px 0}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 22px;
  border-radius:999px;
  font-weight:800;
  font-family:inherit;
  font-size:1rem;
  border:0;
  cursor:pointer;
}
.btn-primary{background:var(--forest); color:var(--white)}
.btn-secondary{background:transparent; color:var(--ink); border:1px solid rgba(20,35,30,0.14)}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible,.nav-links a:focus-visible,.brand:focus-visible,.nav-cta:focus-visible,.prose a:focus-visible,.site-footer a:focus-visible{
  outline:3px solid var(--amber);
  outline-offset:3px;
}
#consent-status{font-weight:700}
.site-footer{
  padding:8px 0 46px;
  color:var(--muted);
  font-size:0.95rem;
}
.site-footer .container{
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  border-top:1px solid rgba(20,35,30,0.12);
  padding-top:20px;
}
.site-footer a{color:var(--forest); font-weight:700}
.legal-note{
  text-align:center;
  padding:12px;
  font-size:13px;
  color:rgba(93,107,101,0.95);
}
#tc-cookie-banner{position:fixed;inset:auto 0 0 0;z-index:1000;padding:1rem;pointer-events:none}
#tc-cookie-banner .tc-cookie-card{pointer-events:auto;max-width:42rem;margin:0 auto;padding:1.1rem 1.25rem;background:#0f1f1b;color:#eef6f3;border:1px solid rgba(255,255,255,0.14);border-radius:14px;box-shadow:0 16px 48px rgba(0,0,0,0.35)}
#tc-cookie-banner .tc-cookie-title{margin:0 0 0.35rem;font-size:1.05rem;font-weight:700;font-family:Plus Jakarta Sans,Manrope,system-ui,sans-serif}
#tc-cookie-banner .btn-secondary{color:#eef6f3;border-color:rgba(238,246,243,0.45);background:transparent}
#tc-cookie-banner .tc-cookie-desc{margin:0 0 0.9rem;font-size:0.95rem;line-height:1.45;color:rgba(238,246,243,0.82)}
#tc-cookie-banner .tc-cookie-actions{display:flex;flex-wrap:wrap;gap:0.6rem;justify-content:flex-end}
#tc-cookie-banner .btn{cursor:pointer}
#tc-cookie-banner a{color:#d7efe6;font-weight:700}
@media (max-width: 980px){
  .nav{flex-wrap:wrap}
  .nav-links{order:3; width:100%; overflow:auto}
}
@media (max-width: 640px){
  .nav-cta{width:100%}
  .panel{padding:22px 18px}
  .choice-row{flex-direction:column; align-items:stretch}
  .choice-row .btn{width:100%}
}
