/* Dreem FireZone — full-bleed landing */
.fzl{width:100vw;margin-left:calc(50% - 50vw);background:#07090c;color:#e8edf2;font-family:inherit;overflow-x:hidden}
.fzl *{box-sizing:border-box}

/* hero */
.fzl-hero{position:relative;overflow:hidden;padding:clamp(2.5rem,7vw,5.5rem) 1.25rem clamp(2rem,5vw,3.5rem);
  background:radial-gradient(120% 90% at 50% 0%,#0d1219 0%,#080b0f 55%,#06080b 100%)}
.fzl-hero-bg{position:absolute;inset:0;pointer-events:none}
.fzl-hero-bg span{position:absolute;border-radius:50%;filter:blur(70px)}
.fzl-hero-bg span:nth-child(1){width:440px;height:440px;background:rgba(234,88,12,.28);left:-90px;bottom:-130px;animation:fzl-float 9s ease-in-out infinite}
.fzl-hero-bg span:nth-child(2){width:380px;height:380px;background:rgba(220,38,38,.22);right:-70px;bottom:-110px;animation:fzl-float 11s ease-in-out infinite reverse}
.fzl-hero-bg span:nth-child(3){width:320px;height:320px;background:rgba(56,189,248,.10);left:calc(50% - 160px);top:-140px;animation:fzl-float 13s ease-in-out infinite}
.fzl-hero-inner{position:relative;z-index:2;max-width:1000px;margin:0 auto;text-align:center}

/* ambient radar behind the hero (idle motion) */
.fzl-radar{position:absolute;top:56%;left:50%;width:min(720px,92vw);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;z-index:1;transition:opacity .5s}
.fzl-radar .r{position:absolute;inset:0;border:1px solid rgba(56,189,248,.16);border-radius:50%;animation:fzl-ring 4.2s ease-out infinite}
.fzl-radar .r:nth-child(2){animation-delay:1.4s}
.fzl-radar .r:nth-child(3){animation-delay:2.8s}
.fzl-radar .sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(56,189,248,.18),transparent 32%);animation:fzl-spin 6s linear infinite}

/* rising embers behind the hero (fade out during a scan) */
.fzl-hero .fzl-embers{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;--rise:-660px;transition:opacity .4s}
.fzl-hero.dfz-active .fzl-embers{opacity:0}

/* scanning: collapse hero chrome so the live scanner stage dominates */
.fzl-eyebrow,.fzl-lede,.fzl-trust{max-height:260px;transition:opacity .35s ease,max-height .4s ease,margin .35s ease}
.fzl-hero.dfz-active .fzl-radar{opacity:0}
/* give the result room — widen the hero container + widget once scanning */
.fzl-hero-inner{transition:max-width .5s ease}
.fzl-hero.dfz-active .fzl-hero-inner{max-width:1240px}
.fzl-hero .dfz-widget.dfz-revealed{max-width:1200px}
.fzl-hero.dfz-active .fzl-eyebrow,.fzl-hero.dfz-active .fzl-lede,.fzl-hero.dfz-active .fzl-trust{opacity:0;max-height:0;margin:0;padding:0;overflow:hidden;pointer-events:none;transition:opacity .35s,max-height .35s}
.fzl-hero.dfz-active .fzl-title{font-size:clamp(1.25rem,4vw,1.9rem);margin-bottom:1.1rem;transition:font-size .35s,margin .35s}
.fzl-eyebrow{display:inline-block;letter-spacing:.16em;font-size:.72rem;font-weight:700;color:#fb923c;background:rgba(251,146,60,.1);border:1px solid rgba(251,146,60,.3);padding:.35rem .85rem;border-radius:999px;margin-bottom:1.1rem}
.fzl-title{font-size:clamp(2rem,6vw,3.6rem);line-height:1.05;margin:0 0 1rem;font-weight:800;letter-spacing:-.02em;color:#fff}
.fzl-title span{background:linear-gradient(135deg,#fb923c,#ef4444);-webkit-background-clip:text;background-clip:text;color:transparent}
.fzl-lede{max-width:660px;margin:0 auto 1.8rem;font-size:clamp(1rem,2.5vw,1.18rem);line-height:1.55;color:#9aa7b4}
.fzl-hero .dfz-widget{margin:0 auto;max-width:680px}
.fzl-trust{list-style:none;display:flex;flex-wrap:wrap;gap:1.1rem;justify-content:center;padding:0;margin:1.5rem 0 0;color:#7c8a98;font-size:.9rem}
.fzl-trust li{display:flex;align-items:center;gap:.4rem}
.fzl-trust li:before{content:"\2713";color:#22c55e;font-weight:800}

/* stat / urgency bar */
.fzl-stats{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#161d27;border-bottom:1px solid #1c252f}
.fzl-stats:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#f97316,#fbbf24,#dc2626,#fb923c,#f97316);background-size:200% 100%;box-shadow:0 0 12px -2px rgba(249,115,22,.55);animation:fzl-flow 4.5s linear infinite}
.fzl-stat{background:#0a0e13;padding:1.7rem 1rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.45rem;transition:background .2s}
.fzl-stat:hover{background:#0e151e}
.fzl-stat-ic{display:flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:11px}
.fzl-stat-ic svg{width:22px;height:22px}
.fzl-stat b{display:block;font-size:clamp(1.5rem,3.6vw,2.15rem);font-weight:800;letter-spacing:-.02em;line-height:1;color:#fff}
.fzl-stat span{display:block;font-size:.82rem;color:#8b97a4;line-height:1.35;max-width:210px}
/* per-stat accents */
.fzl-stat--deadline .fzl-stat-ic{background:rgba(251,146,60,.14);color:#fb923c}
.fzl-stat--deadline b{background:linear-gradient(135deg,#fbbf24,#f97316);-webkit-background-clip:text;background-clip:text;color:transparent}
.fzl-stat--zones .fzl-stat-ic{background:rgba(239,68,68,.14);color:#f87171}
.fzl-stat--zones b{color:#fca5a5}
.fzl-stat--grants .fzl-stat-ic{background:rgba(34,197,94,.14);color:#4ade80}
.fzl-stat--grants b{color:#4ade80}
.fzl-stat--policies .fzl-stat-ic{background:rgba(251,191,36,.14);color:#fbbf24}
.fzl-stat--policies b{color:#fcd34d}

/* sections — LIGHT body between the dark hero & dark CTA (kills the black void) */
.fzl-h2{font-size:clamp(1.5rem,4vw,2.2rem);text-align:center;margin:0 0 1.8rem;font-weight:800;letter-spacing:-.01em}
.fzl-how,.fzl-why,.fzl-grants,.fzl-final{position:relative;overflow:hidden;padding:clamp(2.6rem,6vw,4.2rem) 1.25rem}
.fzl-how>*,.fzl-final>*{position:relative;z-index:1;max-width:1100px;margin-left:auto;margin-right:auto}
.fzl-why>*,.fzl-grants>*{position:relative;z-index:1}
.fzl-how .fzl-h2,.fzl-why .fzl-h2,.fzl-grants .fzl-h2{color:#0f1620}

/* how — clean light */
.fzl-how{background:#f4f6f9;border-top:1px solid #e6eaf0}
.fzl-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}

/* cards (steps + why) on light */
.fzl-step,.fzl-card{background:#fff;border:1px solid #e6eaf0;border-radius:14px;padding:1.6rem;box-shadow:0 14px 34px -18px rgba(15,30,60,.22);transition:transform .15s ease,box-shadow .2s}
.fzl-step:hover,.fzl-card:hover{transform:translateY(-3px);box-shadow:0 22px 44px -20px rgba(15,30,60,.3)}
.fzl-step i{display:flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#f97316,#dc2626);color:#fff;font-style:normal;font-weight:800;margin-bottom:.9rem;box-shadow:0 6px 16px -4px rgba(220,38,38,.45)}
.fzl-step h3{margin:0 0 .4rem;color:#0f1620;font-size:1.15rem}
.fzl-step p{margin:0;color:#51616f;line-height:1.5}

/* why — subtle warm light + iconed cards */
.fzl-why{background:#fdf4f1}
.fzl-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;max-width:920px;margin:0 auto}
.fzl-card{border-left:3px solid #ef4444}
.fzl-card-ic{display:flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:10px;background:rgba(239,68,68,.1);color:#dc2626;margin-bottom:.85rem}
.fzl-card-ic svg{width:22px;height:22px}
.fzl-card h3{margin:0 0 .5rem;color:#0f1620;font-size:1.15rem}
.fzl-card p{margin:0;color:#51616f;line-height:1.55}
.fzl-card b{color:#1f2937}

/* grants — light green */
.fzl-grants{background:#eff7f1}
.fzl-grants-inner{max-width:760px;margin:0 auto;text-align:center}
.fzl-grants .fzl-h2 span{color:#16a34a}
.fzl-grants p{color:#51616f;line-height:1.6;margin:0 0 1.6rem}

.fzl-btn{display:inline-block;padding:1rem 1.7rem;border-radius:12px;background:linear-gradient(135deg,#f97316,#dc2626);color:#fff;font-weight:700;font-size:1.05rem;text-decoration:none!important;box-shadow:0 12px 30px -8px rgba(220,38,38,.5);transition:transform .12s,box-shadow .2s}
.fzl-btn:hover,.fzl-btn:focus{transform:translateY(-2px);color:#fff;text-decoration:none!important;box-shadow:0 16px 36px -8px rgba(220,38,38,.6)}

/* final — animated ember/fire CTA bookend */
.fzl-final{text-align:center;padding-top:clamp(3rem,7vw,5rem);padding-bottom:clamp(3rem,7vw,5rem);
  background:radial-gradient(120% 100% at 50% 135%,#2c0f06 0%,#160a08 38%,#0a0c10 72%)}
.fzl-final .fzl-h2{color:#fff;text-shadow:0 2px 22px rgba(249,115,22,.25)}
.fzl-final p{color:#c2b3a8;margin:0 0 1.6rem}
.fzl-final .fzl-source{font-size:.74rem;color:#8a7c74;max-width:680px;margin:2.2rem auto 0;line-height:1.5}
/* flickering fire glow at the base */
.fzl-final:before{content:"";position:absolute;left:0;right:0;bottom:0;height:60%;pointer-events:none;z-index:0;
  background:radial-gradient(60% 100% at 50% 100%,rgba(249,115,22,.34),rgba(220,38,38,.12) 45%,transparent 75%);
  animation:fzl-flicker 3.2s ease-in-out infinite}
/* rising embers */
.fzl-final .fzl-embers{position:absolute;inset:0;max-width:none;margin:0;z-index:0;pointer-events:none;overflow:hidden}
.fzl-embers span{position:absolute;bottom:-12px;left:var(--x);width:var(--s);height:var(--s);border-radius:50%;
  background:radial-gradient(circle,#fde68a 0%,#fb923c 45%,#dc2626 100%);box-shadow:0 0 6px 1px rgba(249,115,22,.65);
  opacity:0;animation:fzl-rise var(--d,8s) linear var(--delay,0s) infinite}

@media (max-width:860px){
  .fzl-steps{grid-template-columns:1fr}
  .fzl-cards{grid-template-columns:1fr}
  .fzl-stats{grid-template-columns:repeat(2,1fr)}
}
@keyframes fzl-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-26px)}}
@keyframes fzl-rise{0%{transform:translate(0,0) scale(1);opacity:0}8%{opacity:1}60%{opacity:.9}100%{transform:translate(var(--drift,0),var(--rise,-340px)) scale(.3);opacity:0}}
@keyframes fzl-flicker{0%,100%{opacity:.82}50%{opacity:1}}
@keyframes fzl-flow{0%{background-position:0% 0}100%{background-position:200% 0}}
@keyframes fzl-ring{0%{transform:scale(.12);opacity:.5}80%{opacity:.06}100%{transform:scale(1);opacity:0}}
@keyframes fzl-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.fzl-hero-bg span,.fzl-radar .r,.fzl-radar .sweep,.fzl-embers span,.fzl-final:before,.fzl-stats:before{animation:none}.fzl-embers{display:none}}
