/* ============================================================
   MABUHAY – Filipino Culture Festival · Vendor Landingpage
   Direction B — Festive Cinematic / Royal-Blue Night
   ============================================================ */

/* ---------- FONTS (self-hosted woff2, never Google CDN) ---------- */
@font-face{font-family:"Bricolage Grotesque";src:url("../fonts/bricolage-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:"Bricolage Grotesque";src:url("../fonts/bricolage-800.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap;}
@font-face{font-family:"Hanken Grotesk";src:url("../fonts/hanken-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Hanken Grotesk";src:url("../fonts/hanken-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"Hanken Grotesk";src:url("../fonts/hanken-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"Hanken Grotesk";src:url("../fonts/hanken-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;}

/* ---------- DESIGN TOKENS (Phase 6 lock) ---------- */
:root{
  /* color */
  --field:#16294F; --field-deep:#0F1E3D; --surface:#1E335F;
  --text:#FBF4E9; --muted:rgba(251,244,233,.70); --faint:rgba(251,244,233,.45);
  --accent:#C8951C; --accent-bright:#E0A92A; --punct:#A42A2A;
  --line:rgba(200,149,28,.30);            /* gold hairline */
  /* type */
  --font-display:"Bricolage Grotesque", Georgia, serif;
  --font-body:"Hanken Grotesk", system-ui, sans-serif;
  --step-display:clamp(2.6rem, 7vw, 6.5rem);
  --step-h2:clamp(1.9rem, 4vw, 3.1rem);
  --step-label:.78rem;
  /* layout */
  --container:1200px; --gut:clamp(1.25rem,5vw,3rem);
  --radius:10px; --radius-lg:18px;
  --nav-h:74px;
  /* motion */
  --e-out:cubic-bezier(.22,.61,.36,1);
}

/* ---------- RESET / BASE ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{
  font-family:var(--font-body); font-weight:400; font-size:1rem; line-height:1.6;
  color:var(--text); background:var(--field-deep);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,video,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:none;}
:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px;border-radius:4px;}
h1,h2,h3,h4,h5{color:var(--text);}  /* track themed --text per section */

.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gut);}

.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--accent);color:var(--field-deep);
  padding:.7rem 1.2rem;border-radius:0 0 var(--radius) 0;font-weight:700;}
.skip-link:focus{left:0;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* small-caps tracked label */
.eyebrow{font-size:var(--step-label);font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-bright);}

/* gold hairline divider */
.hairline{height:1px;border:0;background:linear-gradient(90deg,transparent,var(--line) 18%,var(--line) 82%,transparent);}

/* ============================================================
   SECTION THEMES (pitch-deck brand colour blocks)
   ============================================================ */
.theme-blue{background:var(--field);}
.theme-deep{background:var(--field-deep);}
.theme-ivory{background:#FBF4E9;
  --field:#FBF4E9; --field-deep:#F1E6D3; --surface:#FFFFFF;
  --text:#1C1813; --muted:#6E6456; --faint:#A89C8A;
  --line:rgba(164,37,42,.22); --accent-bright:#A4252A;}
.theme-gold{background:#C8951C;
  --field:#C8951C; --field-deep:#A6790F; --surface:#D7A52E;
  --text:#2A1E05; --muted:#5C4712; --faint:#7C6526;
  --line:rgba(42,30,5,.22); --accent-bright:#7D1D22;}
.theme-red{background:#7C1D22;
  --field:#7C1D22; --field-deep:#671519; --surface:#8E2A30;
  --text:#FBF4E9; --muted:rgba(251,244,233,.84); --faint:rgba(251,244,233,.6);
  --line:rgba(251,244,233,.2); --accent-bright:#E8B23A;}

/* ============================================================
   HEADER / NAV
   ============================================================ */
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav-h);
  display:flex;align-items:center;
  transition:background .3s var(--e-out),box-shadow .3s var(--e-out),height .3s var(--e-out);
}
.site-header.scrolled{
  background:rgba(15,30,61,.88);backdrop-filter:blur(10px);
  box-shadow:0 1px 0 var(--line),0 10px 30px rgba(0,0,0,.25);height:64px;
}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;}
.brand{display:flex;align-items:center;gap:.6rem;}
.brand img{height:52px;width:auto;transition:height .3s var(--e-out);}
.site-header.scrolled .brand img{height:44px;}
.brand .brand-fallback{font-family:var(--font-display);font-weight:800;letter-spacing:.02em;font-size:1.25rem;color:var(--text);}
.brand{cursor:pointer;}
.lang-btn{margin-left:.4rem;padding:.5rem .8rem;border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);
  font-size:.82rem;font-weight:700;letter-spacing:.06em;transition:color .2s var(--e-out),border-color .2s var(--e-out);}
.lang-btn:hover{color:var(--text);border-color:var(--accent-bright);}

.nav{display:flex;align-items:center;gap:1.5rem;flex:1;}
.nav-links{display:flex;align-items:center;justify-content:center;gap:1.75rem;list-style:none;flex:1;}
.nav-links a{font-size:.95rem;font-weight:500;color:var(--muted);position:relative;padding:.25rem 0;transition:color .2s var(--e-out);}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:100%;background:var(--accent-bright);
  transform:scaleX(0);transform-origin:left;transition:transform .2s var(--e-out);}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--text);}
.nav-links a:hover::after,.nav-links a:focus-visible::after{transform:scaleX(1);}

.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-weight:600;letter-spacing:.01em;border-radius:var(--radius);
  padding:.85rem 1.4rem;min-height:48px;transition:color .35s var(--e-out),transform .25s var(--e-out),border-color .25s var(--e-out);}
.btn::after{content:"";position:absolute;left:50%;top:50%;width:130%;aspect-ratio:1;border-radius:50%;
  background:var(--btn-fill,#16294F);transform:translate(-50%,-50%) scale(0);transition:transform .5s cubic-bezier(.16,1,.3,1);z-index:-1;}
.btn:hover::after,.btn:focus-visible::after{transform:translate(-50%,-50%) scale(1.7);}
.btn:active{transform:scale(.985);}
.btn-primary{background:var(--accent);color:#16294F;--btn-fill:#16294F;}
.btn-primary:hover,.btn-primary:focus-visible{color:var(--accent);transform:translateY(-2px);}
.btn-ghost{border:1px solid var(--line);color:var(--text);background:transparent;--btn-fill:var(--accent);}
.btn-ghost:hover,.btn-ghost:focus-visible{color:#16294F;border-color:var(--accent);transform:translateY(-2px);}
.btn-sm{padding:.6rem 1.1rem;min-height:44px;font-size:.9rem;}

/* burger */
.burger{display:none;width:46px;height:46px;border-radius:var(--radius);align-items:center;justify-content:center;}
.burger span{display:block;width:22px;height:2px;background:var(--text);position:relative;transition:.3s var(--e-out);}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:22px;height:2px;background:var(--text);transition:.3s var(--e-out);}
.burger span::before{top:-7px;}.burger span::after{top:7px;}
.burger[aria-expanded="true"] span{background:transparent;}
.burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg);}
.burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg);}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;
  padding-block:calc(var(--nav-h) + 3rem) clamp(2.5rem,8vh,5rem);overflow:hidden;isolation:isolate;}
.hero>.container{padding-inline:clamp(3.5rem,9vw,7rem);}
.hero__media{position:absolute;inset:0;z-index:-3;}
.hero__media>*{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;}
.hero__video{opacity:0;transition:opacity .8s var(--e-out);}
.hero__video.ready{opacity:1;}
/* royal-blue tint over the skyline (matches the design) */
.hero__tint{position:absolute;inset:0;z-index:-2;
  background:
    linear-gradient(180deg, rgba(15,30,61,.84) 0%, rgba(22,41,79,.66) 45%, rgba(15,30,61,.92) 100%),
    radial-gradient(120% 80% at 50% 38%, rgba(224,169,42,.12), transparent 62%);}
.hero__tint::before{content:"";position:absolute;inset:0;background:var(--field);opacity:.64;mix-blend-mode:color;}
/* side woven pattern bands, flush to the very edges, larger */
.hero__band{position:absolute;top:0;bottom:0;z-index:1;width:clamp(56px,7vw,118px);
  background:url("../img/pattern-band.png") repeat-y left top/100% auto;pointer-events:none;}
.hero__band--l{left:0;} .hero__band--r{right:0;transform:scaleX(-1);}
/* decorative flowers in the corners (brand fillers, like the pitch deck) */
.hero__flower{position:absolute;z-index:1;width:clamp(120px,16vw,250px);height:auto;pointer-events:none;opacity:.95;
  filter:drop-shadow(0 8px 24px rgba(0,0,0,.35));}
.hero__flower--tl{top:8%;left:clamp(56px,7vw,118px);transform:rotate(-6deg);}
.hero__flower--br{bottom:6%;right:clamp(56px,7vw,118px);transform:rotate(174deg);}
@media (max-width:860px){.hero__flower{width:108px;}.hero__flower--tl{left:18px;top:10%;}.hero__flower--br{right:18px;opacity:.65;}}

.hero__inner{position:relative;z-index:2;max-width:900px;margin-inline:auto;display:flex;flex-direction:column;align-items:center;}
.hero__logo{margin:0 0 1.4rem;line-height:0;}
.hero__logo img{width:min(620px,82vw);height:auto;filter:drop-shadow(0 6px 30px rgba(0,0,0,.4));}
.hero__sub{font-size:clamp(1.02rem,1.5vw,1.25rem);color:var(--text);max-width:60ch;margin:0 auto 2rem;line-height:1.55;
  text-shadow:0 1px 14px rgba(15,30,61,.55);}
.hero__ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem;margin-bottom:1.6rem;}
.hero__meta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1.1rem;
  color:rgba(251,244,233,.82);font-size:.92rem;text-shadow:0 1px 10px rgba(15,30,61,.55);}
.hero__meta .dot{width:5px;height:5px;border-radius:50%;background:var(--accent);display:inline-block;margin-right:.5rem;vertical-align:middle;}
.countdown{display:flex;align-items:flex-start;justify-content:center;gap:.7rem;margin-top:1.8rem;}
.countdown__item{display:flex;flex-direction:column;align-items:center;min-width:56px;}
.countdown__item span{font-family:var(--font-display);font-weight:800;font-size:clamp(1.7rem,3.6vw,2.5rem);color:var(--accent-bright);line-height:1;font-variant-numeric:tabular-nums;}
.countdown__item small{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(251,244,233,.68);margin-top:.4rem;}
.countdown__sep{font-family:var(--font-display);font-weight:800;font-size:clamp(1.4rem,3vw,2rem);color:rgba(251,244,233,.35);line-height:1;}

/* entrance: hidden until JS reveals (no-JS = visible) */
.js .hero [data-reveal]{opacity:0;transform:translateY(24px);}

/* ============================================================
   SECTION PRIMITIVES
   ============================================================ */
.section{padding:clamp(3.5rem,9vh,7rem) 0;position:relative;}
.section--surface{background:var(--field);}
.section__head{max-width:740px;margin-bottom:clamp(2rem,5vw,3.25rem);}
.section__head.center{margin-inline:auto;text-align:center;}
.section h2{font-family:var(--font-display);font-weight:800;line-height:1.06;letter-spacing:-.01em;
  font-size:var(--step-h2);margin:.55rem 0 0;text-wrap:balance;}
.section__lead{color:var(--muted);font-size:1.06rem;line-height:1.6;margin-top:1rem;max-width:62ch;}
.section__head.center .section__lead{margin-inline:auto;}

/* woven pattern divider (brand asset) */
.divider{height:30px;background:url("../img/pattern.png") repeat-x center/auto 100%;opacity:.45;}

/* scroll reveal */
.js [data-sr]{opacity:0;transform:translateY(28px);}

/* ===== SNAPSHOT ===== */
.snapshot__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;margin-top:.5rem;}
.snapshot__cell{background:var(--field);padding:1.35rem 1.25rem;}
.snapshot__cell .k{font-size:var(--step-label);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-bright);font-weight:600;}
.snapshot__cell .v{margin-top:.4rem;font-weight:600;color:var(--text);font-size:1.02rem;line-height:1.3;}
.snapshot__cell .v small{display:block;font-weight:400;color:var(--muted);font-size:.83rem;margin-top:.25rem;}
.trustline{display:flex;align-items:center;gap:.65rem;margin-top:1.6rem;color:var(--muted);font-size:.96rem;}
.trustline svg{flex:none;color:var(--accent-bright);}

/* ===== CARD GRID ===== */
.grid{display:grid;gap:1.25rem;}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.grid--benefits{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));max-width:1000px;margin-inline:auto;}
@media (min-width:880px){.grid--benefits{grid-template-columns:repeat(3,1fr);}}
.card{background:var(--surface);border:1px solid rgba(251,244,233,.08);border-radius:var(--radius-lg);padding:1.6rem;
  transition:transform .25s var(--e-out),border-color .25s var(--e-out),box-shadow .25s var(--e-out);}
.card:hover{transform:translateY(-4px);border-color:var(--line);box-shadow:0 18px 40px rgba(0,0,0,.28);}
.card__icon{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;
  background:rgba(200,149,28,.14);color:var(--accent-bright);margin-bottom:1.05rem;}
.card__icon svg{width:24px;height:24px;}
.card h3{font-family:var(--font-display);font-weight:700;font-size:1.2rem;margin-bottom:.5rem;}
.card p{color:var(--muted);font-size:.96rem;line-height:1.55;}
.card .tags{list-style:none;margin:.85rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem;}
.card .tags li{font-size:.78rem;color:var(--text);background:rgba(251,244,233,.06);
  border:1px solid rgba(251,244,233,.08);padding:.28rem .6rem;border-radius:99px;}
.cat{display:flex;flex-direction:column;padding:0;overflow:hidden;}
.cat__img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;}
.cat__inner{padding:1.5rem;display:flex;flex-direction:column;flex:1;}
.cat__inner h3{font-family:var(--font-display);font-weight:700;font-size:1.2rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.55rem;}
.cat__inner h3 svg{width:22px;height:22px;color:var(--accent-bright);flex:none;}
.cat__inner p{color:var(--muted);font-size:.96rem;line-height:1.55;}
.cat .card__foot{margin-top:auto;padding-top:1.35rem;}
.cat .btn{width:100%;}

/* ===== MARQUEE ===== */
.marquee{overflow:hidden;background:var(--field-deep);border-block:1px solid var(--line);padding:.85rem 0;}
.marquee__track{display:flex;width:max-content;animation:marquee 34s linear infinite;will-change:transform;}
.marquee:hover .marquee__track{animation-play-state:paused;}
.marquee__group{display:flex;align-items:center;flex:none;}
.marquee__group span{font-family:var(--font-display);font-weight:800;text-transform:uppercase;
  font-size:clamp(1.35rem,3.4vw,2.6rem);letter-spacing:.02em;color:var(--accent-bright);padding-inline:1.4rem;}
.marquee__group img{height:clamp(20px,3vw,30px);width:auto;opacity:.9;}
@keyframes marquee{to{transform:translateX(-50%);}}

/* ===== FEATURE (image cards) ===== */
.features{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));margin-top:2.75rem;text-align:left;}
.feature{background:var(--surface);border:1px solid rgba(251,244,233,.08);border-radius:var(--radius-lg);overflow:hidden;
  transition:transform .25s var(--e-out),box-shadow .25s var(--e-out);}
.feature:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.28);}
.feature__img{aspect-ratio:16/10;width:100%;object-fit:cover;display:block;}
.feature__body{padding:1.5rem;}
.feature__body h3{font-family:var(--font-display);font-weight:700;font-size:1.25rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.55rem;}
.feature__body h3 svg{width:22px;height:22px;color:var(--accent-bright);flex:none;}
.feature__body p{color:var(--muted);font-size:.96rem;line-height:1.55;}
.subhead{font-family:var(--font-display);font-weight:700;font-size:clamp(1.4rem,2.6vw,2rem);margin-top:3rem;text-align:center;}

/* centered sections */
.section--center .section__head{margin-inline:auto;text-align:center;}
.section--center .section__lead{margin-inline:auto;}   /* fix: lead box was pinned left → looked asymmetric */
.section--center .snapshot__grid{margin-inline:auto;}
.section--center .trustline{justify-content:center;}

/* ===== CRITERIA ===== */
.criteria{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));max-width:960px;margin:2.5rem auto 0;text-align:left;list-style:none;}
.criteria li{display:flex;gap:.8rem;align-items:flex-start;background:var(--surface);border:1px solid rgba(251,244,233,.08);border-radius:var(--radius);padding:1.05rem 1.2rem;}
.criteria li svg{flex:none;width:22px;height:22px;color:var(--accent-bright);margin-top:1px;}
.criteria li b{font-weight:600;color:var(--text);}
.criteria li small{display:block;color:var(--muted);font-size:.9rem;margin-top:.15rem;font-weight:400;}

/* ===== ZONES (image cards, unified blue overlay) ===== */
.zones{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));margin-top:2.5rem;text-align:left;}
.zone{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:215px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(251,244,233,.10);isolation:isolate;
  transition:transform .25s var(--e-out),box-shadow .25s var(--e-out);}
.zone:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.3);}
.zone img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.9) brightness(.92);}
.zone::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg, rgba(22,41,79,.40) 0%, rgba(15,30,61,.78) 58%, rgba(15,30,61,.96) 100%);}
.zone__body{padding:1.2rem;}
.zone__body h3{font-family:var(--font-display);font-weight:700;font-size:1.1rem;display:flex;align-items:center;gap:.5rem;}
.zone__body h3 svg{width:18px;height:18px;color:var(--accent-bright);flex:none;}
.zone__body p{color:rgba(251,244,233,.82);font-size:.86rem;margin-top:.3rem;line-height:1.45;}

/* ===== ZONES TABS ===== */
.ztabs__list{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:2.5rem;}
.ztab{padding:.6rem 1.15rem;border-radius:99px;border:1px solid var(--line);color:var(--muted);font-weight:600;font-size:.9rem;cursor:pointer;
  transition:color .2s var(--e-out),background .2s var(--e-out),border-color .2s var(--e-out);}
.ztab:hover{color:var(--text);}
.ztab.is-active{background:var(--accent);color:#16294F;border-color:var(--accent);}
.ztabs__panels{margin-top:2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.4rem,3vw,2.4rem);}
.zpanel{display:none;}
.zpanel.is-active{display:grid;gap:clamp(1.5rem,4vw,2.5rem);grid-template-columns:1.1fr 1fr;align-items:center;}
.zpanel img{width:100%;border-radius:var(--radius);aspect-ratio:16/11;object-fit:cover;}
.zpanel__body{text-align:left;}
.zpanel__body h3{font-family:var(--font-display);font-weight:800;font-size:clamp(1.4rem,2.6vw,2.1rem);margin-bottom:.7rem;}
.zpanel__body p{color:var(--muted);font-size:1.02rem;line-height:1.65;}
@media (max-width:760px){.zpanel.is-active{grid-template-columns:1fr;}}

/* ===== LINE-UP TEASER ===== */
.teaser-faces{display:flex;justify-content:center;gap:1rem;margin-top:2.5rem;flex-wrap:wrap;}
.teaser-face{width:86px;height:86px;border-radius:50%;border:2px dashed var(--line);display:grid;place-items:center;
  color:var(--accent-bright);background:var(--surface);font-family:var(--font-display);font-size:1.7rem;font-weight:800;}
.teaser-soon{width:max-content;max-width:90%;margin:1.85rem auto 0;color:var(--accent-bright);font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;border:1px solid var(--line);border-radius:99px;padding:.55rem 1.15rem;}

/* ===== PROCESS ===== */
.process{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));max-width:1100px;margin:2.5rem auto 0;text-align:left;}
@media (min-width:1060px){.process{grid-template-columns:repeat(5,1fr);}}
.step{background:var(--surface);border:1px solid rgba(251,244,233,.08);border-radius:var(--radius-lg);padding:1.5rem 1.35rem;}
.step__n{font-family:var(--font-display);font-weight:800;font-size:1.7rem;color:var(--accent-bright);line-height:1;}
.step h3{font-size:1.02rem;font-weight:600;margin:.6rem 0 .35rem;color:var(--text);}
.step p{color:var(--muted);font-size:.9rem;line-height:1.5;}

/* ===== FAQ ===== */
.faq{max-width:840px;margin:2.5rem auto 0;text-align:left;}
.faq__item{border-bottom:1px solid rgba(251,244,233,.12);}
.faq__q{list-style:none;width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:1.2rem 0;font-family:var(--font-display);font-weight:700;font-size:1.06rem;color:var(--text);cursor:pointer;}
.faq__q::-webkit-details-marker{display:none;}
.faq__q::after{content:"+";font-size:1.5rem;color:var(--accent-bright);line-height:1;flex:none;}
.faq__item[open] .faq__q::after{content:"–";}
.faq__a{padding:0 0 1.3rem;color:var(--muted);font-size:.98rem;line-height:1.6;max-width:72ch;}

/* ===== FORM ===== */
.form-wrap{max-width:780px;margin:2.5rem auto 0;text-align:left;}
.form{display:grid;gap:1.05rem;grid-template-columns:1fr 1fr;}
.form .full{grid-column:1/-1;}
.field label{display:block;font-size:.85rem;font-weight:600;color:var(--text);margin-bottom:.4rem;}
.field label .req{color:var(--accent-bright);}
.field input,.field select,.field textarea{width:100%;background:var(--field-deep);border:1px solid rgba(251,244,233,.16);
  border-radius:var(--radius);padding:.78rem .9rem;color:var(--text);font:inherit;font-size:.95rem;min-height:46px;
  transition:border-color .2s var(--e-out),box-shadow .2s var(--e-out);}
.field textarea{min-height:120px;resize:vertical;}
.field input::placeholder,.field textarea::placeholder{color:var(--faint);}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent-bright);box-shadow:0 0 0 3px rgba(200,149,28,.22);}
.field--error input,.field--error select,.field--error textarea{border-color:var(--punct);}
.field__err{color:#ff9b90;font-size:.8rem;margin-top:.3rem;display:none;}
.field--error .field__err{display:block;}
.food-fields{display:none;}
.food-fields.show{display:contents;}
.form .check{display:flex;gap:.6rem;align-items:flex-start;font-weight:400;color:var(--muted);font-size:.9rem;cursor:pointer;margin-bottom:0;}
.form .check input{width:auto;min-height:auto;margin-top:.2rem;flex:none;accent-color:var(--accent);}
.form .check a{color:var(--accent-bright);}
.form__legal{font-size:.82rem;color:var(--faint);line-height:1.5;}
.form__success{display:none;background:rgba(200,149,28,.10);border:1px solid var(--line);border-radius:var(--radius-lg);padding:2.5rem 2rem;text-align:center;}
.form__success.show{display:block;}
.form__error{display:none;background:rgba(164,42,42,.12);border:1px solid var(--punct);border-radius:var(--radius-lg);padding:1.5rem 1.75rem;margin-top:1.25rem;text-align:center;color:var(--text);}
.form__error.show{display:block;}
.form__error a{color:var(--accent-bright);text-decoration:underline;}
.form__success h3{font-family:var(--font-display);font-size:1.4rem;margin-bottom:.6rem;}
.form__success p{color:var(--muted);}

/* ===== PARTNERS ===== */
.partners__lead{display:flex;align-items:center;justify-content:center;gap:.7rem;font-size:1.05rem;color:var(--text);max-width:640px;margin:0 auto;}
.partners__lead svg{color:var(--accent-bright);flex:none;}
.partners__logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2.5rem 3rem;margin-top:2.25rem;}
.partners__logos img{height:50px;width:auto;opacity:.85;transition:opacity .2s var(--e-out);}
.partners__logos img:hover{opacity:1;}
.partners__cap{font-size:var(--step-label);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-top:2.25rem;}
.partners-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));max-width:1000px;margin:2.5rem auto 0;}
.partner-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.75rem 1.4rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.45rem;}
.partner-card__logo{height:66px;display:flex;align-items:center;justify-content:center;margin-bottom:.35rem;}
.partner-card__logo img{max-height:66px;max-width:150px;width:auto;object-fit:contain;}
.partner-card__logo .emblem{width:52px;height:52px;color:var(--accent-bright);}
.partner-card h3{font-family:var(--font-display);font-size:1.02rem;font-weight:700;color:var(--text);line-height:1.2;}
.partner-card p{color:var(--muted);font-size:.87rem;line-height:1.45;}
.partners{position:relative;overflow:hidden;isolation:isolate;}
.sparkles{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none;}
.partner-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.4rem;margin-top:2.75rem;}
.partner-logo{background:#fff;border-radius:var(--radius-lg);padding:1.3rem 1.5rem;height:128px;width:172px;
  display:flex;align-items:center;justify-content:center;box-shadow:0 12px 34px rgba(0,0,0,.3);transition:transform .25s var(--e-out);}
.partner-logo:hover{transform:translateY(-4px);}
.partner-logo img{max-height:94px;max-width:142px;width:auto;object-fit:contain;}
.logo-marquee{overflow:hidden;margin-top:2.75rem;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);}
.logo-marquee__track{display:flex;width:max-content;align-items:center;animation:marquee 28s linear infinite;}
.logo-marquee:hover .logo-marquee__track{animation-play-state:paused;}
.logo-marquee__group{display:flex;align-items:center;gap:clamp(2.5rem,5vw,4.5rem);padding-right:clamp(2.5rem,5vw,4.5rem);flex:none;}
.logo-marquee__group img{height:clamp(78px,9vw,118px);width:auto;object-fit:contain;}

/* ===== FINAL CTA ===== */
.final{position:relative;text-align:center;padding:clamp(4rem,11vh,7.5rem) 0;overflow:hidden;isolation:isolate;}
.final__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:0;transition:opacity 1s var(--e-out);}
.final__media.ready{opacity:.4;}
.final__ov{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg, rgba(103,21,25,.94) 0%, rgba(124,29,34,.78) 55%, rgba(103,21,25,.92) 100%);}
.final__sun{width:clamp(70px,9vw,110px);height:auto;margin:0 auto 1.5rem;filter:drop-shadow(0 0 26px rgba(224,169,42,.5));}
.final h2{font-family:var(--font-display);font-weight:800;font-size:var(--step-h2);line-height:1.08;max-width:18ch;margin:0 auto 1.2rem;text-wrap:balance;}
.final p{color:var(--muted);max-width:54ch;margin:0 auto 2rem;}

/* ===== FOOTER ===== */
.footer{background:var(--field-deep);border-top:1px solid var(--line);padding:3.25rem 0 2rem;}
.footer__grid{display:grid;gap:2.5rem;grid-template-columns:1.6fr 1fr 1fr;}
.footer__brand img{height:70px;width:auto;margin-bottom:1rem;}
.footer__brand p{color:var(--muted);font-size:.92rem;max-width:38ch;line-height:1.6;}
.footer h4{font-size:var(--step-label);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-bright);margin-bottom:1rem;}
.footer ul{list-style:none;display:flex;flex-direction:column;gap:.65rem;}
.footer a{color:var(--muted);font-size:.95rem;transition:color .2s var(--e-out);}
.footer a:hover{color:var(--text);}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(251,244,233,.1);color:var(--faint);font-size:.85rem;}
.footer__bottom a{color:var(--faint);}
.footer__social{display:flex;gap:.7rem;margin-top:.4rem;}
.footer__social a{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;color:var(--muted);transition:color .2s var(--e-out),border-color .2s var(--e-out),transform .2s var(--e-out);}
.footer__social a:hover{color:var(--accent-bright);border-color:var(--accent-bright);transform:translateY(-2px);}
.footer__social svg{width:20px;height:20px;}

/* ===== LEGAL PAGES ===== */
.legal{max-width:820px;margin-inline:auto;padding:calc(var(--nav-h) + 3rem) var(--gut) 4rem;}
.legal h1{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);margin-bottom:1.5rem;}
.legal h2{font-family:var(--font-display);font-size:1.3rem;margin:2rem 0 .6rem;}
.legal p,.legal address{color:var(--muted);line-height:1.7;font-style:normal;margin-bottom:.8rem;}
.legal .todo{color:var(--accent-bright);font-size:.9rem;}
.legal .agency{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line);}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:860px){
  .nav-links,.nav .btn{display:none;}
  .burger{display:flex;}
  .nav.open .nav-links{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;
    position:fixed;inset:var(--nav-h) 0 auto 0;background:rgba(15,30,61,.97);backdrop-filter:blur(12px);
    padding:1.75rem var(--gut) 2rem;border-bottom:1px solid var(--line);}
  .nav.open .btn{display:inline-flex;margin-top:.5rem;}
  .hero__media>*{object-position:58% 45%;}
  .hero__band{width:24px;}
  .hero>.container{padding-inline:2rem;}
  .hero__ctas .btn{flex:1 1 100%;}
  .form{grid-template-columns:1fr;}
  .footer__grid{grid-template-columns:1fr;gap:2rem;}
}

/* ---------- REDUCED MOTION ---------- */
@media (prefers-reduced-motion:reduce){
  .hero__sun{animation:none;}
  .js .hero [data-reveal]{opacity:1;transform:none;}
  *{scroll-behavior:auto!important;}
}
