/* ══════════════════════════════════════════════════════════════════
   CUSTOS FIRE SAFETY ACADEMY (by Otti)
   v4 — Guardian rebrand: minimalist, calm authority, dark green + orange.
   Type: Archivo (display) + Inter (body). Clean surfaces, breathing room,
   shield motif, orange strictly as accent.
   ══════════════════════════════════════════════════════════════════ */

:root{
  --green:#1F3D33; --green-deep:#16302A; --green-soft:#2C5346;
  --green-tint:#EAF0ED;
  --orange:#FF8A00; --orange-dark:#E67A00; --orange-tint:#FFF3E3;
  --ink:#22302A; --ink-soft:#5C6B64; --gray:#F4F6F8; --line:#E4E9E6; --white:#FFFFFF;
  --on-green:#E7EDEA; --on-green-soft:#A7B8B0;
  --hair:rgba(31,61,51,.12); --hair-light:rgba(255,255,255,.16);
  --font-display:'Archivo',-apple-system,'Segoe UI',system-ui,sans-serif;
  --font-sans:'Inter',-apple-system,'Segoe UI',system-ui,sans-serif;
  --r-sm:8px; --r-md:12px; --r-lg:18px; --r-pill:999px;
  --maxw:1160px; --ease-out:cubic-bezier(.2,.6,.2,1);
}

*{box-sizing:border-box;margin:0;padding:0;}
html,body{overflow-x:clip;}
html{scroll-behavior:smooth;scroll-padding-top:88px;}
body{
  font-family:var(--font-sans);color:var(--ink);background:var(--white);
  line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:var(--green);text-decoration:none;}

h1,h2,h3,h4{color:var(--green);font-family:var(--font-display);font-weight:700;line-height:1.08;letter-spacing:-.02em;}
h1{font-size:clamp(2.55rem,5.4vw,4.15rem);letter-spacing:-.03em;line-height:1.04;}
h2{font-size:clamp(1.95rem,3.9vw,2.9rem);}
h3{font-size:1.18rem;letter-spacing:-.01em;line-height:1.3;}
p{color:var(--ink-soft);}
strong{color:var(--ink);font-weight:600;}
.accent{color:var(--orange);}

.container{max-width:var(--maxw);margin:0 auto;padding:0 26px;}
section{padding:clamp(76px,9vw,124px) 0;}
.section-alt{background:var(--gray);}

.kicker{
  display:inline-flex;align-items:center;gap:9px;font-family:var(--font-sans);
  font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--orange);margin-bottom:22px;
}
.kicker::before{content:"";width:22px;height:2px;background:var(--orange);border-radius:2px;}
.lead{font-size:1.2rem;color:var(--ink-soft);max-width:660px;line-height:1.62;}
.section-head{max-width:770px;margin-bottom:clamp(44px,5vw,66px);}
.section-head h2{margin-bottom:20px;}

/* subtle single-pass reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* ───────── Buttons ───────── */
.btn{
  display:inline-flex;align-items:center;gap:9px;font-family:var(--font-sans);font-weight:600;
  font-size:1rem;padding:14px 26px;border-radius:var(--r-pill);cursor:pointer;border:1.5px solid transparent;
  transition:transform .16s var(--ease-out),background .16s var(--ease-out),box-shadow .16s var(--ease-out),color .16s var(--ease-out);
  white-space:nowrap;letter-spacing:-.01em;
}
.btn .arr{transition:transform .16s var(--ease-out);}
.btn:hover .arr{transform:translateX(4px);}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 6px 18px rgba(255,138,0,.28);}
.btn-primary:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:0 10px 24px rgba(255,138,0,.34);}
.btn-ghost{border-color:rgba(255,255,255,.42);color:#fff;background:transparent;}
.btn-ghost:hover{background:rgba(255,255,255,.1);}
.btn-lg{padding:17px 34px;font-size:1.06rem;}

/* ───────── Header ───────── */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px clamp(20px,3vw,40px);}
.logo{display:flex;align-items:center;gap:11px;}
.logo .shield{flex:0 0 auto;}
.logo-text{display:flex;flex-direction:column;line-height:1;}
.logo-text b{font-family:var(--font-display);font-size:1.28rem;font-weight:800;color:var(--green);letter-spacing:.02em;}
.logo-text span{font-family:var(--font-display);font-size:.55rem;font-weight:700;letter-spacing:.2em;color:var(--orange);text-transform:uppercase;margin-top:3px;}
.logo-text span em{font-style:normal;color:var(--ink-soft);font-weight:600;}
.nav-links{display:flex;align-items:center;gap:clamp(18px,2.4vw,34px);list-style:none;}
.nav-links a{font-family:var(--font-sans);font-size:.94rem;font-weight:500;color:var(--green);padding:6px 0;position:relative;}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--orange);transition:right .2s var(--ease-out);}
.nav-links a:hover::after{right:0;}
.nav-cta{display:flex;align-items:center;gap:16px;}
.nav-cta .hrdc{width:42px;height:42px;object-fit:contain;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
.nav-toggle span{display:block;width:24px;height:2.5px;background:var(--green);margin:5px 0;border-radius:2px;}
.menu-only{display:none;}

/* ───────── Hero ───────── */
.hero{
  background:
    radial-gradient(120% 90% at 85% 0%, rgba(44,83,70,.55), transparent 60%),
    linear-gradient(160deg,var(--green) 0%,var(--green-deep) 100%);
  color:var(--on-green);padding:clamp(70px,9vw,108px) 0 clamp(80px,10vw,120px);position:relative;overflow:hidden;
}
.hero::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--orange);}
/* faint guardian shield watermark */
.hero::after{
  content:"";position:absolute;right:-6%;top:50%;transform:translateY(-50%);
  width:min(560px,54vw);aspect-ratio:1;pointer-events:none;opacity:.5;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 46'%3E%3Cpath d='M21 2 38 8v12c0 11.5-7.2 19.8-17 24C11.2 39.8 4 31.5 4 20V8l17-6Z' fill='none' stroke='%232C5346' stroke-width='.6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(40px,5vw,72px);align-items:center;position:relative;z-index:1;}
.hero .eyebrow{
  display:inline-flex;align-items:center;gap:9px;font-size:.8rem;font-weight:600;letter-spacing:.04em;
  color:var(--on-green);background:rgba(255,255,255,.08);border:1px solid var(--hair-light);
  padding:7px 15px;border-radius:var(--r-pill);margin-bottom:26px;
}
.hero .eyebrow b{color:var(--orange);font-weight:700;}
.hero h1{color:#fff;margin-bottom:24px;}
.hero h1 .accent{color:var(--orange);}
.hero .lead{color:#C4D1CB;font-size:1.24rem;margin-bottom:36px;max-width:560px;}
.hero-cta{display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.hero-cta .subtle{font-size:.9rem;color:var(--on-green-soft);}
.hero-urgency{display:flex;align-items:flex-start;gap:9px;margin-top:20px;font-size:.92rem;color:#C4D1CB;line-height:1.5;max-width:520px;}
.hero-urgency svg{flex:0 0 auto;margin-top:2px;}
.hero-urgency b{color:#fff;font-weight:600;}
.trust-row{
  display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:40px;padding-top:26px;
  border-top:1px solid var(--hair-light);font-size:.9rem;color:#BFCDC6;list-style:none;
}
.trust-row li{display:flex;align-items:center;gap:8px;}
.trust-row svg{flex:0 0 auto;}
.hero-photo{position:relative;aspect-ratio:16/12;}
.hero-photo::before{content:"";position:absolute;inset:0;background:var(--orange);border-radius:var(--r-lg);transform:translate(14px,14px);opacity:.9;}
.hero-photo img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;border-radius:var(--r-lg);}
.hero-photo .badge{
  position:absolute;z-index:2;left:-18px;bottom:22px;background:#fff;border-radius:var(--r-md);
  padding:12px 16px 12px 14px;display:flex;align-items:center;gap:11px;box-shadow:0 14px 34px rgba(13,27,22,.28);
}
.hero-photo .badge svg{flex:0 0 auto;}
.hero-photo .badge b{display:block;font-family:var(--font-display);font-weight:700;font-size:.98rem;color:var(--green);line-height:1.1;}
.hero-photo .badge span{display:block;font-size:.76rem;color:var(--ink-soft);}

/* ───────── Credentials strip ───────── */
.creds{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.creds .container{display:flex;align-items:center;gap:12px 30px;flex-wrap:wrap;padding-top:15px;padding-bottom:15px;}
.creds-label{font-family:var(--font-sans);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);}
.creds ul{list-style:none;display:flex;flex-wrap:wrap;gap:12px 26px;margin:0;}
.creds li{display:flex;align-items:center;gap:9px;font-size:.95rem;font-weight:600;color:var(--green);}
.creds li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange);flex:0 0 auto;}

/* ───────── Venue / experience ───────── */
.venue-top{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(30px,5vw,64px);align-items:end;margin-bottom:clamp(28px,3.5vw,40px);}
.venue-features{list-style:none;display:grid;gap:14px;}
.venue-features li{display:flex;gap:13px;align-items:flex-start;font-size:1.02rem;color:var(--ink);line-height:1.45;}
.venue-features .tick{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--green-tint);display:flex;align-items:center;justify-content:center;margin-top:1px;}
.venue-hero{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/7;margin-bottom:clamp(14px,1.8vw,18px);}
.venue-hero img{width:100%;height:100%;object-fit:cover;object-position:center 42%;}
.venue-hero figcaption{position:absolute;left:0;bottom:0;width:100%;padding:14px 18px;font-size:.88rem;font-weight:600;color:#fff;background:linear-gradient(to top,rgba(22,48,42,.85),transparent);}
.venue-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,18px);}
.venue-gallery figure{position:relative;border-radius:var(--r-md);overflow:hidden;aspect-ratio:4/3;}
.venue-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .45s var(--ease-out);}
.venue-gallery figure:hover img{transform:scale(1.06);}
.venue-gallery figcaption{position:absolute;left:0;bottom:0;width:100%;padding:9px 12px;font-size:.78rem;font-weight:600;color:#fff;background:linear-gradient(to top,rgba(22,48,42,.82),transparent);}

/* ───────── The requirement ───────── */
.need-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;border-top:2px solid var(--green);margin-bottom:64px;}
.fact{padding:30px 34px 8px 0;position:relative;}
.fact + .fact{padding-left:34px;border-left:1px solid var(--hair);}
.fact b{display:block;font-family:var(--font-display);font-weight:700;font-size:clamp(2.5rem,4vw,3.3rem);color:var(--green);line-height:1;letter-spacing:-.03em;}
.fact b small{font-size:1.2rem;color:var(--orange);font-weight:700;}
.fact span{display:block;margin-top:14px;font-size:.98rem;color:var(--ink-soft);line-height:1.5;max-width:24ch;}

.who-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,28px);}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 30px 32px;transition:box-shadow .2s var(--ease-out),transform .2s var(--ease-out),border-color .2s var(--ease-out);}
.card:hover{box-shadow:0 16px 40px rgba(31,61,51,.09);transform:translateY(-3px);border-color:var(--hair);}
.card .role-tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);background:var(--orange-tint);padding:6px 12px;border-radius:var(--r-pill);margin-bottom:18px;}
.card h3{margin-bottom:10px;font-size:1.24rem;}
.card p{font-size:1rem;line-height:1.55;}

/* ───────── What to expect ───────── */
.expect-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,5vw,68px);align-items:center;}
.expect-photo{position:relative;aspect-ratio:4/3;}
.expect-photo::before{content:"";position:absolute;inset:0;background:var(--green);border-radius:var(--r-lg);transform:translate(-14px,14px);opacity:.14;}
.expect-photo img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;border-radius:var(--r-lg);}
.checklist{list-style:none;display:grid;}
.checklist li{display:flex;gap:16px;align-items:flex-start;font-size:1.06rem;color:var(--ink);line-height:1.5;padding:22px 0;border-top:1px solid var(--hair);}
.checklist li:first-child{border-top:none;padding-top:0;}
.checklist .tick{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--green-tint);display:flex;align-items:center;justify-content:center;margin-top:2px;}
.checklist b{color:var(--green);font-weight:600;}

/* ───────── Done-for-you journey ───────── */
.journey{background:var(--gray);}
.journey-flow{
  list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,30px);
  counter-reset:step;position:relative;
}
.journey-flow li{
  position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:26px 24px 28px;transition:box-shadow .2s var(--ease-out),transform .2s var(--ease-out),border-color .2s var(--ease-out);
}
.journey-flow li:hover{box-shadow:0 16px 40px rgba(31,61,51,.09);transform:translateY(-3px);border-color:var(--hair);}
/* connecting arrow between steps */
.journey-flow li:not(:last-child)::after{
  content:"";position:absolute;top:52px;right:calc(-1 * clamp(18px,2.4vw,30px) / 2 - 6px);
  width:14px;height:14px;transform:translateY(-50%) rotate(45deg);
  border-top:2px solid var(--orange);border-right:2px solid var(--orange);z-index:2;
}
.journey-flow .j-num{
  display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;
  background:var(--green);color:#fff;font-family:var(--font-display);font-weight:700;font-size:1.25rem;
  margin-bottom:18px;box-shadow:0 4px 12px rgba(31,61,51,.18);
}
.journey-flow h3{font-size:1.12rem;margin-bottom:9px;}
.journey-flow p{font-size:.97rem;line-height:1.55;}
.journey-foot{margin-top:32px;font-size:1.05rem;color:var(--ink);}
.journey-foot a{color:var(--orange);font-weight:600;white-space:nowrap;}

/* ───────── Why Custos ───────── */
.why{position:relative;}
.why-lead{font-family:var(--font-display);font-weight:700;font-size:clamp(1.7rem,3.3vw,2.6rem);color:var(--green);line-height:1.2;max-width:20ch;letter-spacing:-.02em;margin-bottom:8px;}
.why-lead .accent{color:var(--orange);}
.why-points{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,40px);margin-top:clamp(48px,6vw,72px);}
.why-point{border-top:2px solid var(--green);padding-top:22px;}
.why-point .ico{width:48px;height:48px;border-radius:var(--r-md);background:var(--green-tint);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.why-point h3{font-size:1.2rem;margin-bottom:10px;}
.why-point p{font-size:1.01rem;line-height:1.55;}

/* ───────── Proof band (green) ───────── */
.proof-band{background:linear-gradient(165deg,var(--green) 0%,var(--green-deep) 100%);color:var(--on-green);}
.proof-band h2{color:#fff;}
.proof-logos{background:#fff;border-radius:var(--r-lg);padding:32px;max-width:960px;margin:0 auto clamp(44px,5vw,64px);}
.proof-logos .cap{text-align:center;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:22px;font-weight:700;}
.proof-logos img{width:100%;height:auto;}
.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hair-light);margin-bottom:clamp(36px,4vw,48px);}
.stats.stats-4{grid-template-columns:repeat(4,1fr);}
.stat{padding:30px 30px 6px 0;}
.stat + .stat{padding-left:30px;border-left:1px solid var(--hair-light);}
.stat b{display:block;font-family:var(--font-display);font-weight:700;font-size:clamp(2.7rem,4.4vw,3.7rem);color:#fff;line-height:1;letter-spacing:-.03em;}
.stat b small{font-size:1.15rem;color:var(--orange);font-weight:700;}
.stat span{display:block;margin-top:12px;font-size:.9rem;color:var(--on-green-soft);}
.cert-badge{display:flex;gap:24px;align-items:center;border:1px solid var(--hair-light);border-radius:var(--r-lg);padding:22px 26px;margin-bottom:clamp(36px,4vw,48px);transition:border-color .2s var(--ease-out),background .2s var(--ease-out);}
.cert-badge:hover{background:rgba(255,255,255,.04);border-color:rgba(255,138,0,.5);}
.cert-badge img{width:88px;height:auto;border-radius:6px;flex:0 0 auto;background:#fff;}
.cert-badge b{display:block;color:#fff;font-family:var(--font-sans);font-size:1.06rem;margin-bottom:5px;font-weight:600;}
.cert-badge .t{font-size:.94rem;color:#C4D1CB;line-height:1.55;}
.cert-badge .lnk{display:inline-block;margin-top:9px;color:var(--orange);font-weight:600;font-size:.9rem;}

/* testimonials — featured-first asymmetric */
.tsms{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;}
.tsm{border:1px solid var(--hair-light);border-radius:var(--r-lg);padding:28px;color:#C4D1CB;line-height:1.6;display:flex;flex-direction:column;justify-content:space-between;position:relative;}
.tsm .q{display:block;}
.tsm cite{display:block;margin-top:18px;font-style:normal;font-size:.82rem;color:var(--on-green-soft);}
.tsm:first-child{grid-row:span 2;background:rgba(255,255,255,.04);}
.tsm:first-child .q{font-family:var(--font-display);font-weight:600;font-size:clamp(1.35rem,2.3vw,1.8rem);color:#fff;line-height:1.34;letter-spacing:-.01em;}
.tsm:not(:first-child) .q{font-size:.98rem;}
.tsm .mark{position:absolute;top:20px;right:24px;font-family:var(--font-display);font-size:2.6rem;line-height:1;color:var(--orange);opacity:.5;}

/* ───────── FAQ ───────── */
.faq{max-width:830px;}
.faq details{border-top:1px solid var(--line);}
.faq details:last-child{border-bottom:1px solid var(--line);}
.faq summary{cursor:pointer;font-family:var(--font-display);font-weight:600;color:var(--green);padding:24px 52px 24px 0;list-style:none;position:relative;font-size:1.14rem;letter-spacing:-.01em;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:14px;height:14px;transform:translateY(-50%);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF8A00' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .2s var(--ease-out);}
.faq details[open] summary::after{transform:translateY(-50%) rotate(135deg);}
.faq .a{padding:0 40px 26px 0;color:var(--ink-soft);font-size:1.02rem;line-height:1.65;}

/* ───────── Register ───────── */
.register{background:var(--gray);}
.reg-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,5vw,64px);align-items:start;}
.reg-note{list-style:none;display:grid;gap:15px;margin-top:30px;}
.reg-note li{display:flex;gap:13px;align-items:flex-start;font-size:1.02rem;color:var(--ink);}
.reg-note .tick{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:var(--green-tint);display:flex;align-items:center;justify-content:center;margin-top:2px;}
.earlybird-note{margin-top:30px;border-left:3px solid var(--orange);background:var(--orange-tint);padding:16px 20px;font-size:.96rem;color:#7A4A05;line-height:1.55;border-radius:0 var(--r-sm) var(--r-sm) 0;}
.earlybird-note b{color:#5F3A03;}
.form-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(26px,3vw,40px);box-shadow:0 20px 50px rgba(31,61,51,.06);}
.field{margin-bottom:18px;}
.field label{display:block;font-family:var(--font-sans);font-size:.88rem;font-weight:600;color:var(--green);margin-bottom:7px;}
.field label .opt{font-weight:400;color:var(--ink-soft);}
.field input,.field select,.field textarea{
  width:100%;font-family:inherit;font-size:1rem;color:var(--ink);padding:13px 15px;
  border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--white);transition:border-color .15s,box-shadow .15s;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,138,0,.15);}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.86rem;color:var(--ink-soft);margin:8px 0 22px;line-height:1.5;cursor:pointer;}
.consent input{flex:0 0 auto;width:18px;height:18px;margin-top:2px;accent-color:var(--orange);}
.form-note{font-size:.84rem;color:var(--ink-soft);margin-top:16px;}
#formStatus{display:none;color:var(--green);font-weight:600;background:var(--green-tint);padding:12px 16px;border-radius:var(--r-sm);margin-top:14px;}

/* ───────── Footer ───────── */
footer.site{background:var(--green-deep);color:var(--on-green-soft);padding:clamp(56px,6vw,80px) 0 34px;font-size:.94rem;border-top:4px solid var(--orange);}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1.3fr;gap:40px;margin-bottom:44px;}
.foot-grid h4{color:#fff;font-family:var(--font-display);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;font-weight:700;}
.foot-grid ul{list-style:none;display:grid;gap:10px;}
.foot-grid a{color:var(--on-green-soft);}
.foot-grid a:hover{color:var(--orange);}
.foot-hrdc{margin-top:18px;width:64px;height:64px;background:#fff;border-radius:8px;padding:6px;}
.foot-bottom{border-top:1px solid var(--hair-light);padding-top:26px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.84rem;color:var(--on-green-soft);}
.foot-logo .logo-text b{color:#fff;}

/* ───────── Floating WhatsApp + sticky mobile CTA ───────── */
.wa-float{
  position:fixed;right:22px;bottom:22px;z-index:60;width:56px;height:56px;border-radius:50%;
  background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(37,211,102,.42);transition:transform .16s var(--ease-out),box-shadow .16s var(--ease-out);
}
.wa-float:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 12px 30px rgba(37,211,102,.5);}
.wa-float::after{
  content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;
  animation:wa-pulse 2.4s var(--ease-out) infinite;
}
@keyframes wa-pulse{0%{transform:scale(1);opacity:.6;}70%{transform:scale(1.5);opacity:0;}100%{opacity:0;}}
@media (prefers-reduced-motion:reduce){.wa-float::after{animation:none;}}

.sticky-cta{display:none;}

/* ───────── Responsive ───────── */
@media (max-width:760px){ /* journey stacks + sticky mobile CTA */
  .journey-flow{grid-template-columns:1fr;gap:14px;}
  .journey-flow li:not(:last-child)::after{
    top:auto;right:auto;left:44px;bottom:-11px;
    transform:rotate(135deg);border-top:2px solid var(--orange);border-right:2px solid var(--orange);
  }
  /* sticky bottom CTA bar on mobile */
  .sticky-cta{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:59;align-items:center;justify-content:space-between;
    gap:14px;padding:11px 16px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);
    border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(31,61,51,.1);
  }
  .sticky-cta b{display:block;font-family:var(--font-display);font-size:.98rem;color:var(--green);line-height:1.1;}
  .sticky-cta span{display:block;font-size:.76rem;color:var(--ink-soft);margin-top:2px;}
  .sticky-cta .btn{padding:11px 20px;font-size:.95rem;flex:0 0 auto;}
  .wa-float{bottom:78px;width:50px;height:50px;}
  .wa-float svg{width:25px;height:25px;}
}

@media (max-width:940px){
  .hero-grid,.expect-grid,.reg-grid{grid-template-columns:1fr;gap:44px;}
  .hero::after{opacity:.28;right:-20%;}
  .hero-photo{order:-1;max-width:520px;}
  .hero-photo::before{transform:translate(10px,10px);}
  .who-grid,.why-points,.tsms{grid-template-columns:1fr 1fr;}
  .stats.stats-4{grid-template-columns:1fr 1fr;}
  .venue-top{grid-template-columns:1fr;gap:26px;align-items:start;}
  .venue-hero{aspect-ratio:16/8;}
  .tsm:first-child{grid-row:auto;grid-column:span 2;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .nav-links{
    display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;
    align-items:flex-start;padding:18px 26px;gap:16px;border-bottom:1px solid var(--line);box-shadow:0 12px 30px rgba(31,61,51,.1);
  }
  .nav-links.open{display:flex;}
  .nav-toggle{display:block;}
  .nav-cta{display:none;}
  .menu-only{display:block;}
  .menu-only a{color:var(--orange);font-weight:600;}
}
@media (max-width:620px){
  section{padding:58px 0;}
  .need-grid,.who-grid,.why-points,.stats,.stats.stats-4,.tsms,.field-row,.foot-grid{grid-template-columns:1fr;}
  .venue-gallery{grid-template-columns:1fr 1fr;}
  .venue-hero{aspect-ratio:16/10;}
  .need-grid,.stats{border-top:none;}
  .fact{border-top:2px solid var(--green);padding:24px 0 8px;}
  .fact + .fact{border-left:none;padding-left:0;}
  .stat{border-top:1px solid var(--hair-light);padding:24px 0 6px;}
  .stat + .stat{border-left:none;padding-left:0;}
  .tsm:first-child{grid-column:auto;}
  .hero-photo::before{display:none;}
  .hero-photo .badge{left:0;}
  .cert-badge{flex-direction:column;text-align:center;}
  .cert-badge img{width:130px;}
}

/* ══════════════════════════════════════════════════════════════════
   v5 additions — real logo lockups, extended "Why this matters",
   Why-Custos photo cards, and ambient animation (embers + scroll spark)
   ══════════════════════════════════════════════════════════════════ */

/* ───────── Real logo lockup ───────── */
.logo-lockup{height:40px;width:auto;display:block;}
.foot-logo .logo-lockup{height:38px;}
@media (max-width:620px){.logo-lockup{height:34px;}}

/* ───────── Bigger hero photo ───────── */
.hero-grid{grid-template-columns:.95fr 1.1fr;}
.hero-photo{aspect-ratio:16/13;}
@media (max-width:940px){.hero-photo{max-width:560px;}}

/* ───────── Important Update strip ───────── */
.update-strip{background:var(--green-deep);border-bottom:1px solid rgba(255,255,255,.06);}
.update-strip .container{display:flex;align-items:center;gap:10px 20px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px;}
.update-strip .update-tag{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;font-family:var(--font-sans);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);}
.update-strip p{color:#C4D1CB;font-size:.96rem;margin:0;line-height:1.5;}
.update-strip b{color:#fff;font-weight:700;}

/* ───────── Why this matters — extended ───────── */
.need-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(34px,5vw,66px);align-items:center;margin-bottom:clamp(56px,7vw,86px);}
.need-photo{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3.4;box-shadow:0 24px 50px rgba(31,61,51,.13);}
.need-photo img{width:100%;height:100%;object-fit:cover;}
.need-photo figcaption{position:absolute;left:0;bottom:0;width:100%;padding:16px 18px;font-size:.85rem;font-weight:600;color:#fff;background:linear-gradient(to top,rgba(22,48,42,.9),transparent);}

.block-head{margin-bottom:clamp(24px,3vw,34px);}
.block-title{font-size:clamp(1.5rem,2.6vw,1.95rem);margin-bottom:10px;}
.block-intro{font-size:1.08rem;color:var(--ink-soft);max-width:60ch;}
.help-block{margin-bottom:clamp(56px,7vw,86px);}
.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,26px);}
.help-grid .card{padding:28px 28px 30px;}
.help-num{display:block;font-family:var(--font-display);font-weight:800;font-size:1.55rem;color:var(--orange);opacity:.55;margin-bottom:8px;letter-spacing:-.02em;}
.help-grid h3{margin-bottom:8px;font-size:1.16rem;}
.help-grid p{font-size:1rem;line-height:1.55;}
.block-cta{margin-top:26px;font-size:1.05rem;color:var(--ink);}
.block-cta a{color:var(--orange);font-weight:600;white-space:nowrap;}

.req-block{margin-bottom:clamp(56px,7vw,86px);}
.req-block .block-title{margin-bottom:26px;}

/* Who to nominate — table */
.nominate-table{width:100%;border-collapse:collapse;margin-top:18px;font-size:1rem;}
.nominate-table th{text-align:left;font-family:var(--font-sans);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);padding:0 20px 14px;border-bottom:2px solid var(--green);}
.nominate-table td{padding:24px 20px;border-bottom:1px solid var(--line);color:var(--ink-soft);line-height:1.55;vertical-align:top;}
.nominate-table td:first-child{padding-left:0;white-space:nowrap;}
.nominate-table td b{color:var(--green);font-family:var(--font-display);font-size:1.1rem;font-weight:700;}
.nominate-table tr:last-child td{border-bottom:none;}
@media (max-width:720px){
  .nominate-table,.nominate-table tbody,.nominate-table tr,.nominate-table td{display:block;width:100%;}
  .nominate-table thead{display:none;}
  .nominate-table tr{border:1px solid var(--line);border-radius:var(--r-md);padding:20px;margin-bottom:14px;}
  .nominate-table td{border:none;padding:6px 0;white-space:normal;}
  .nominate-table td:first-child{padding-top:0;}
}

/* ───────── Why Custos — photo cards ───────── */
.why-point{border-top:none;padding:0 0 26px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:box-shadow .2s var(--ease-out),transform .2s var(--ease-out),border-color .2s var(--ease-out);}
.why-point:hover{box-shadow:0 18px 42px rgba(31,61,51,.1);transform:translateY(-3px);border-color:var(--hair);}
.why-photo{aspect-ratio:16/10;overflow:hidden;margin:0 0 20px;}
.why-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out);}
.why-point:hover .why-photo img{transform:scale(1.05);}
.why-point .ico{margin:0 26px 16px;}
.why-point h3{padding:0 26px;}
.why-point p{padding:0 26px;}

/* ───────── Ambient animation: embers + scroll spark ───────── */
.scroll-spark{position:fixed;top:0;left:0;height:100vh;width:3px;z-index:45;pointer-events:none;}
.scroll-spark::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(255,138,0,.20),rgba(255,138,0,.03));}
.scroll-spark .spark-head{position:absolute;left:0;top:0;width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:0 0 9px 3px rgba(255,138,0,.7),0 0 20px 7px rgba(255,138,0,.32);will-change:top;}

.embers{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.embers i{position:absolute;bottom:-12px;width:6px;height:6px;border-radius:50%;background:var(--orange);opacity:0;box-shadow:0 0 8px 2px rgba(255,138,0,.55);animation:ember-rise linear infinite;}
@keyframes ember-rise{
  0%{transform:translate(0,0) scale(.5);opacity:0;}
  12%{opacity:.85;}
  60%{opacity:.5;}
  100%{transform:translate(24px,-92vh) scale(1);opacity:0;}
}
.proof-band{position:relative;overflow:hidden;}
.proof-band .container{position:relative;z-index:1;}
@media (prefers-reduced-motion:reduce){.embers,.scroll-spark{display:none;}}

/* Constrain the shield-mark image inside the hero badge */
.hero-photo .badge img{width:30px;height:30px;flex:0 0 auto;}

/* Count-up number spans must inherit the big stat/fact type, not the small label span rules */
.fact b .num,.stat b .num{font-size:inherit;display:inline;margin:0;color:inherit;letter-spacing:inherit;}
