
:root{
  --accent:      #506F1C;
  --accent-2:    #403C10;
  --ink:         #0B1912;
  --ink-2:       #0C2319;
  --bg:          #FFFFFF;
  --bg-tint:     #E7F7EF;
  --text:        #0D1F16;
  --text-muted:  #54635C;
  --on-dark:     #FFFFFF;
  --on-dark-muted:#AECABE;
  --line:        #C1EAD6;
  --radius-lg:   18px;
  --radius-md:   14px;
  --radius-sm:   9px;
  --shadow-card: 0 2px 6px rgba(10, 25, 17, .06), 0 18px 44px rgba(10, 25, 17, .10);
  --header-h:    118px;
  --header-h-collapsed: 72px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  padding:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Plus Jakarta Sans', 'Segoe UI', Arial, sans-serif;
  font-weight:500;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font:inherit; color:inherit; cursor:pointer; }
h1,h2,h3,h4{ margin:0; font-weight:800; letter-spacing:-.01em; }
p{ margin:0; }

.container{
  max-width:1320px;
  margin:0 auto;
  padding-left:24px;
  padding-right:24px;
}
@media (max-width:767px){
  .container{ padding-left:20px; padding-right:20px; }
}

[id]{ scroll-margin-top: calc(var(--header-h-collapsed) + 20px); }

.eyebrow{
  display:inline-block;
  font-size:13px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  padding:8px 18px;
  border-radius:999px;
  margin-bottom:18px;
}
.eyebrow--accent{ background:var(--accent); color:#fff; }
.eyebrow--ink{ background:var(--ink); color:#fff; }
.eyebrow--tint{ background:rgba(255,255,255,.14); color:#fff; }

.h1{
  font-size:clamp(24px, 3vw, 33px);
  line-height:1.22;
  color:var(--text);
}
.h2{
  font-size:clamp(21px, 2.6vw, 30px);
  line-height:1.25;
  color:var(--text);
}
.h2--on-dark{ color:#fff; }
.h2--center{ text-align:center; }
.lede{
  font-size:clamp(15px, 1.1vw, 17px);
  color:var(--text-muted);
  line-height:1.65;
}
.lede--on-dark{ color:var(--on-dark-muted); }

.head-block{ max-width:640px; margin:0 auto 52px; text-align:center; }
.head-block--left{ margin:0 0 48px; text-align:left; }

/* Buttons ---------------------------------------------------------------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  height:54px;
  padding:0 30px;
  border-radius:var(--radius-sm);
  border:2px solid transparent;
  font-weight:800;
  font-size:15px;
  letter-spacing:.01em;
  white-space:nowrap;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
}
.btn--accent{ background:var(--accent); color:#fff; }
.btn--accent:hover{ background:var(--accent-2); }
.btn--ghost-light{ background:transparent; border-color:rgba(255,255,255,.55); color:#fff; }
.btn--ghost-light:hover{ background:rgba(255,255,255,.14); }
.btn--white{ background:#fff; color:var(--accent-2); }
.btn--white:hover{ background:var(--bg-tint); }
.btn--sm{ height:44px; padding:0 22px; font-size:14px; }
.btn--block{ width:100%; }
@media (prefers-reduced-motion:no-preference){
  .btn:active{ transform:translateY(1px); }
}

/* ==========================================================================
   Header
   ========================================================================== */
.site-header{ position:sticky; top:0; z-index:70; }

.marquee{
  background:var(--ink);
  overflow:hidden;
  user-select:none;
  height:32px;
  display:flex;
  align-items:center;
}
.marquee__track{
  display:flex;
  gap:48px;
  white-space:nowrap;
  padding-left:48px;
  animation:marquee 26s linear infinite;
}
.marquee__track span{
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--on-dark-muted);
}
@keyframes marquee{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
@media (prefers-reduced-motion:reduce){
  .marquee__track{ animation:none; }
}

.topbar{
  background:var(--ink-2);
  color:var(--on-dark-muted);
  height:38px;
}
.topbar .container{ height:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.topbar__contacts{ display:flex; align-items:center; gap:22px; }
.topbar__contacts a{ display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:var(--on-dark-muted); }
.topbar__contacts a:hover{ color:#fff; }
.topbar__contacts svg{ width:15px; height:15px; flex:none; }
.topbar__note{ font-size:12px; font-weight:600; letter-spacing:.03em; color:rgba(173, 201, 189, .75); }

.navbar{ background:#fff; border-bottom:1px solid var(--line); }
.navbar__inner{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:16px; padding-bottom:16px; min-height:72px; position:relative; }

.brand{ display:flex; align-items:center; gap:10px; flex:none; }
.brand__mark{ width:38px; height:38px; flex:none; }
.brand__name{ font-size:21px; font-weight:800; letter-spacing:-.01em; color:var(--ink); }

.nav-menu{ display:flex; align-items:center; gap:34px; }
.nav-menu a{ font-size:15px; font-weight:700; color:var(--text); }
.nav-menu a:hover{ color:var(--accent); }

.nav-actions{ display:flex; align-items:center; gap:14px; }

.burger{
  display:none;
  width:44px; height:44px;
  border:0; background:transparent;
  border-radius:var(--radius-sm);
  position:relative; flex:none;
}
.burger span,.burger span::before,.burger span::after{
  content:''; position:absolute; left:11px; width:22px; height:2px; background:var(--ink); border-radius:2px;
  transition:transform .2s ease, opacity .2s ease;
}
.burger span{ top:21px; }
.burger span::before{ top:-7px; }
.burger span::after{ top:7px; }
.burger.is-open span{ background:transparent; }
.burger.is-open span::before{ transform:translateY(7px) rotate(45deg); }
.burger.is-open span::after{ transform:translateY(-7px) rotate(-45deg); }

.mobile-menu{
  display:none;
  position:absolute; left:0; right:0; top:100%;
  background:#fff; border-bottom:1px solid var(--line);
  box-shadow:var(--shadow-card);
}
.mobile-menu.is-open{ display:block; }
.mobile-menu__list{ display:flex; flex-direction:column; padding:8px 0; }
.mobile-menu__list a{
  display:block; padding:14px 20px; font-size:16px; font-weight:700; color:var(--text);
  border-bottom:1px solid var(--line);
}
.mobile-menu__cta{ padding:18px 20px; }

.legal-header .navbar__inner{ min-height:64px; padding-top:14px; padding-bottom:14px; }

@media (max-width:1199px){
  .nav-menu{ display:none; }
  .burger{ display:block; }
  .nav-actions .btn{ display:none; }
}
@media (max-width:559px){
  .marquee,.topbar{ display:none; }
}

/* ==========================================================================
   Section scaffolding
   ========================================================================== */
.sec{ padding-top:96px; padding-bottom:96px; }
.sec--tight{ padding-top:72px; padding-bottom:72px; }
.sec--light{ background:var(--bg); }
.sec--tint{ background:var(--bg-tint); }
.sec--dark{ background:var(--ink); color:#fff; }
@media (max-width:991px){
  .sec{ padding-top:80px; padding-bottom:80px; }
  .sec--tight{ padding-top:60px; padding-bottom:60px; }
}
@media (max-width:767px){
  .sec{ padding-top:64px; padding-bottom:64px; }
  .sec--tight{ padding-top:48px; padding-bottom:48px; }
}
@media (max-width:559px){
  .sec{ padding-top:52px; padding-bottom:52px; }
}

/* ==========================================================================
   Hero
   ========================================================================== */
.hero__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:center;
}
.hero__title{ margin-bottom:20px; }
.hero__title em{ font-style:normal; color:var(--accent); }
.hero__text{ margin-bottom:30px; max-width:46ch; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:16px; margin-bottom:22px; }
.btn--outline-ink{ background:transparent; border-color:var(--ink); color:var(--ink); }
.btn--outline-ink:hover{ background:var(--ink); color:#fff; }
.hero__checks{ font-size:14px; font-weight:700; color:var(--text-muted); }

.hero__visual{ position:relative; }
.hero__card{
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
  padding:20px 20px 28px;
}
.hero__badge{
  position:absolute; top:-14px; right:22px;
  background:var(--ink); color:#fff;
  font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  padding:9px 16px; border-radius:999px; z-index:2;
}
.hero__photo{ position:relative; border-radius:var(--radius-md); overflow:hidden; }
.hero__trend{ position:absolute; top:14px; right:14px; width:44%; height:auto; pointer-events:none; }
.hero__stat{ text-align:center; padding-top:22px; }
.hero__stat b{ display:block; font-size:44px; font-weight:800; color:var(--accent); line-height:1; margin-bottom:6px; }
.hero__stat span{ font-size:15px; font-weight:700; color:var(--text); }

@media (max-width:991px){
  .hero__grid{ grid-template-columns:1fr; }
  .hero__visual{ max-width:460px; }
}

/* ==========================================================================
   Stats / "Why Act Now"
   ========================================================================== */
.stats__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  align-items:stretch;
  margin-bottom:40px;
}
.stat-card{
  background:var(--ink);
  border-radius:var(--radius-lg);
  padding:34px 28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-top:5px solid var(--accent);
}
.stat-card b{ display:block; font-size:clamp(34px,4vw,48px); font-weight:800; color:#96DA24; line-height:1; margin-bottom:12px; }
.stat-card p{ color:var(--on-dark-muted); font-size:15px; font-weight:600; line-height:1.5; }

.quote-panel{
  background:var(--ink-2);
  border-radius:var(--radius-lg);
  padding:44px 40px;
  position:relative;
  overflow:hidden;
}
.quote-panel p{ color:#fff; font-size:clamp(17px,1.6vw,21px); line-height:1.6; max-width:70ch; position:relative; z-index:1; }
.quote-panel b{ color:#96DA24; }

@media (max-width:991px){
  .stats__grid{ grid-template-columns:1fr; }
}

/* ==========================================================================
   Why choose us (dark cards)
   ========================================================================== */
.choice__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  align-items:stretch;
}
.choice-card{
  background:var(--ink-2);
  border-radius:var(--radius-lg);
  padding:32px 28px;
}
.choice-card__icon{
  width:56px; height:56px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:20px;
}
.choice-card h3{ color:#fff; font-size:19px; margin-bottom:10px; }
.choice-card p{ color:var(--on-dark-muted); font-size:14px; line-height:1.6; }

@media (max-width:991px){
  .choice__grid{ grid-template-columns:1fr; }
}

/* ==========================================================================
   Coverage / map
   ========================================================================== */
.coverage__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:center;
}
.coverage__map{ position:relative; }
.map-frame{ position:relative; border-radius:var(--radius-lg); overflow:visible; }
.map-pin{ position:absolute; cursor:pointer; }
.map-pin__dot{
  width:34px; height:34px; border-radius:50%;
  background:var(--accent); border:3px solid #fff; box-shadow:0 6px 16px rgba(10, 25, 17, .28);
  display:flex; align-items:center; justify-content:center;
}
.map-pin__dot svg{ width:15px; height:15px; }
.map-info{
  display:none;
  position:absolute; top:calc(100% + 10px); left:50%; transform:translateX(-50%);
  width:220px; background:#fff; border-radius:var(--radius-sm); box-shadow:var(--shadow-card);
  padding:16px 18px; z-index:20; text-align:left;
}
.map-info.is-open{ display:block; }
.map-info h4{ font-size:13px; text-transform:uppercase; letter-spacing:.05em; color:var(--accent); margin-bottom:6px; }
.map-info p{ font-size:13px; color:var(--text-muted); line-height:1.5; }

.coverage__badges{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:30px; }
.region-card{
  background:var(--ink); border-radius:var(--radius-md);
  padding:18px 20px; border-left:4px solid var(--accent);
}
.region-card b{ display:block; font-size:22px; color:#fff; margin-bottom:4px; }
.region-card span{ font-size:13px; color:var(--on-dark-muted); }

@media (max-width:991px){
  .coverage__grid{ grid-template-columns:1fr; }
  .coverage__map{ order:-1; }
}

/* ==========================================================================
   How it works (3 steps, middle raised)
   ========================================================================== */
.steps__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  align-items:start;
  padding-top:26px;
}
.step-card{
  background:#fff;
  border-radius:var(--radius-lg);
  padding:32px 26px;
  position:relative;
}
.step-card__num{
  position:absolute; top:-18px; left:26px;
  width:38px; height:38px; border-radius:50%;
  background:var(--accent); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:15px;
  box-shadow:0 6px 14px rgba(80, 111, 28, .4);
}
.step-card__icon{ width:44px; height:44px; margin:14px 0 18px; }
.step-card h3{ font-size:18px; margin-bottom:10px; }
.step-card p{ font-size:14px; color:var(--text-muted); line-height:1.6; }
.steps__grid .step-card--mid{ transform:translateY(-24px); }
.steps__cta{ text-align:center; margin-top:46px; }

@media (max-width:991px){
  .steps__grid{ grid-template-columns:1fr; }
  .steps__grid .step-card--mid{ transform:none; }
}

/* ==========================================================================
   Testimonials
   ========================================================================== */
.testi{ display:flex; align-items:flex-start; gap:28px; max-width:860px; margin:0 auto; }
.testi__side{ display:flex; flex-direction:column; gap:12px; flex:none; padding-top:6px; }
.testi__main{ flex:1 1 auto; min-width:0; width:100%; }
.testi__viewport{ overflow:hidden; border-radius:var(--radius-lg); width:100%; min-width:0; }
.testi__track{ display:flex; transition:transform .5s ease; width:100%; min-width:0; }
@media (prefers-reduced-motion:reduce){ .testi__track{ transition:none; } }
.testi__slide{ flex:0 0 100%; padding:4px; }
.testi-card{ border-radius:var(--radius-lg); padding:38px; }
.testi-card--active{ background:var(--accent); }
.testi-card--active p, .testi-card--active .testi-card__stars{ color:#fff; }
.testi-card--active .testi-card__name{ color:#fff; }
.testi-card--active .testi-card__role{ color:rgba(255,255,255,.75); }
.testi-card:not(.testi-card--active){ background:var(--ink-2); }
.testi-card:not(.testi-card--active) p{ color:var(--on-dark-muted); }
.testi-card:not(.testi-card--active) .testi-card__name{ color:#fff; }
.testi-card:not(.testi-card--active) .testi-card__role{ color:var(--on-dark-muted); }
.testi-card__stars{ color:#96DA24; font-size:20px; letter-spacing:2px; margin-bottom:16px; }
.testi-card p.quote{ font-size:17px; line-height:1.65; margin-bottom:26px; }
.testi-card__who{ display:flex; align-items:center; gap:14px; }
.testi-card__avatar{
  width:48px; height:48px; border-radius:50%;
  background:rgba(255,255,255,.2);
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:800; font-size:15px; flex:none;
}
.testi-card__name{ font-weight:800; font-size:15px; }
.testi-card__role{ font-size:13px; }

.testi__arrow{
  width:48px; height:48px; border-radius:50%;
  background:var(--ink); color:#fff; border:0;
  display:flex; align-items:center; justify-content:center; flex:none;
}
.testi__arrow svg{ width:18px; height:18px; }
.testi__dots{ display:flex; justify-content:center; margin-top:24px; }
.testi__dot{
  width:40px; height:40px; flex:none; padding:0; border:0; background:none;
  display:flex; align-items:center; justify-content:center;
}
.testi__dot::after{ content:''; width:9px; height:9px; border-radius:50%; background:var(--line); transition:width .2s ease, border-radius .2s ease; }
.testi__dot.is-active::after{ background:var(--accent); width:24px; border-radius:5px; }
@media (prefers-reduced-motion:reduce){ .testi__dot::after{ transition:none; } }

@media (max-width:767px){
  .testi{ flex-direction:column-reverse; align-items:center; }
  .testi__side{ flex-direction:row; }
}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq__list{ max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:16px; }
.acc{
  background:#fff; border-left:5px solid var(--accent);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-card);
}
.acc > summary{
  list-style:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:24px 26px; font-weight:800; font-size:17px; color:var(--text);
}
.acc > summary::-webkit-details-marker{ display:none; }
.acc-toggle{ position:relative; width:18px; height:18px; flex:none; }
.acc-toggle::before,.acc-toggle::after{ content:''; position:absolute; background:var(--accent); border-radius:2px; }
.acc-toggle::before{ left:0; top:8px; width:18px; height:2px; }
.acc-toggle::after{ left:8px; top:0; width:2px; height:18px; transition:transform .2s ease; }
.acc[open] .acc-toggle::after{ transform:scaleY(0); }
.acc-text{ padding:0 26px 26px; font-size:15px; color:var(--text-muted); line-height:1.65; }

/* ==========================================================================
   Contact / eligibility form
   ========================================================================== */
.contact__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:start;
}
.contact__info-card{
  background:var(--bg-tint); border-radius:var(--radius-lg);
  padding:32px 30px; margin-bottom:22px;
}
.contact__info-card h3{ font-size:19px; margin-bottom:20px; }
.contact-row{ display:flex; align-items:flex-start; gap:14px; margin-bottom:16px; }
.contact-row:last-child{ margin-bottom:0; }
.contact-row svg{ width:20px; height:20px; flex:none; margin-top:2px; color:var(--accent); }
.contact-row span,.contact-row a{ font-size:15px; font-weight:600; color:var(--text); }

.next-list li{ display:flex; gap:12px; margin-bottom:14px; font-size:14px; color:var(--text-muted); line-height:1.5; }
.next-list li:last-child{ margin-bottom:0; }
.next-list b{ color:var(--accent); flex:none; }

.form-card{
  background:var(--ink);
  border-radius:var(--radius-lg);
  padding:38px 34px;
  box-shadow:var(--shadow-card);
}
.form-card h3{ color:#fff; font-size:22px; margin-bottom:24px; }
.field{ margin-bottom:20px; }
.field label{ display:block; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--on-dark-muted); margin-bottom:8px; }
.field input,.field textarea{
  width:100%; height:52px; padding:0 16px;
  background:rgba(255,255,255,.06); border:1.5px solid rgba(255,255,255,.18);
  border-radius:var(--radius-sm); color:#fff; font:inherit; font-size:15px;
  appearance:none; -webkit-appearance:none;
}
.field textarea{ height:auto; padding:14px 16px; resize:vertical; min-height:96px; }
.field input::placeholder,.field textarea::placeholder{ color:rgba(255,255,255,.4); }
.field input:focus,.field textarea:focus{ outline:none; border-color:var(--accent); }
.field-error{ display:none; color:#8BD8B2; font-size:12.5px; font-weight:700; margin-top:7px; }
.field-error.is-visible{ display:block; }

@media (max-width:991px){
  .contact__grid{ grid-template-columns:1fr; }
}

/* ==========================================================================
   Footer
   ========================================================================== */
.footer{ background:var(--ink); color:#fff; }
.footer__cta{
  background:linear-gradient(120deg, var(--accent-2), var(--accent));
  border-radius:var(--radius-lg);
  padding:52px 44px;
  margin-bottom:64px;
}
.footer__cta h3{ font-size:clamp(24px,3vw,32px); margin-bottom:14px; }
.footer__cta p{ font-size:17px; color:rgba(255,255,255,.9); margin-bottom:26px; max-width:56ch; }

.footer__grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:32px;
  padding-bottom:44px;
}
.footer__brand{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.footer__brand .brand__mark{ width:32px; height:32px; }
.footer__brand span{ font-size:19px; font-weight:800; color:#fff; }
.footer__col h4{ font-size:13px; text-transform:uppercase; letter-spacing:.08em; color:var(--on-dark-muted); margin-bottom:18px; }
.footer__col ul li{ margin-bottom:11px; }
.footer__col ul li:last-child{ margin-bottom:0; }
.footer__col a{ font-size:14.5px; color:rgba(255,255,255,.82); }
.footer__col a:hover{ color:#96DA24; }
.footer__blurb{ font-size:14px; color:var(--on-dark-muted); line-height:1.6; max-width:34ch; }

.footer__bottom{ border-top:1px solid rgba(255,255,255,.14); padding-top:28px; text-align:center; }
.footer__bottom p{ font-size:13px; font-weight:700; color:var(--on-dark-muted); }

@media (max-width:991px){
  .footer__grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:559px){
  .footer__grid{ grid-template-columns:1fr; }
  .footer__cta{ padding:36px 26px; }
}

/* ==========================================================================
   Legal pages
   ========================================================================== */
.legal{ padding-top:56px; padding-bottom:96px; }
.legal .container{ max-width:880px; }
.legal h1{ font-size:clamp(28px,4vw,40px); margin-bottom:10px; }
.legal .legal__updated{ color:var(--text-muted); font-size:14px; font-weight:700; margin-bottom:44px; }
.legal section{ margin-bottom:34px; }
.legal h2{ font-size:20px; margin-bottom:12px; color:var(--ink); }
.legal p{ font-size:15.5px; color:var(--text-muted); line-height:1.75; margin-bottom:12px; }
.legal p:last-child{ margin-bottom:0; }
.legal ul{ margin:12px 0; padding-left:0; }
.legal ul li{ list-style:none; position:relative; padding-left:22px; font-size:15.5px; color:var(--text-muted); line-height:1.7; margin-bottom:8px; }
.legal ul li::before{ content:''; position:absolute; left:0; top:9px; width:8px; height:8px; border-radius:50%; background:var(--accent); }
.legal address{ font-style:normal; font-size:15.5px; color:var(--text-muted); line-height:1.9; }

/* ==========================================================================
   Success page
   ========================================================================== */
.success{ padding-top:96px; padding-bottom:110px; }
.success__card{
  max-width:680px; margin:0 auto; text-align:center;
  background:var(--bg-tint); border-radius:var(--radius-lg);
  padding:56px 44px 44px; position:relative;
}
.success__icon{
  position:absolute; top:-32px; left:50%; transform:translateX(-50%);
  width:72px; height:72px; border-radius:50%;
  background:var(--accent); display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 24px rgba(80, 111, 28, .35);
}
.success__icon svg{ width:34px; height:34px; }
.success h1{ font-size:clamp(28px,4vw,38px); margin:22px 0 16px; }
.success > .container > .success__card > p{ font-size:17px; color:var(--text-muted); line-height:1.6; margin-bottom:30px; }
.success__next{ text-align:left; background:#fff; border-radius:var(--radius-md); padding:26px 28px; margin-bottom:26px; }
.success__next h2{ font-size:16px; margin-bottom:16px; }
.success__foot{ font-size:14px; color:var(--text-muted); margin-bottom:26px; }

/* ==========================================================================
   Cookie banner
   ========================================================================== */
.cookie-bar{
  position:fixed; left:50%; bottom:20px; z-index:90;
  width:min(560px, calc(100% - 40px));
  transform:translateX(-50%);
  background:var(--ink); color:#fff;
  border-radius:var(--radius-lg);
  box-shadow:0 20px 50px rgba(10, 25, 17, .35);
  padding:22px 24px;
  display:none;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  box-sizing:border-box;
}
.cookie-bar.is-visible{ display:flex; }
.cookie-bar p{ font-size:13.5px; color:var(--on-dark-muted); line-height:1.55; flex:1 1 220px; min-width:0; }
.cookie-bar a{ color:#fff; text-decoration:underline; }
.cookie-bar__actions{ display:flex; gap:10px; flex:none; }

@media (max-width:559px){
  .cookie-bar{ width:min(560px, calc(100% - 24px)); bottom:12px; padding:18px; }
}
