/* ============================================================
   CONSULT PAGE — extends site-base.css
   Only consult-unique sections live here: the raised-skyline hero
   tweak + overlapping stat card, the "what our free consulting
   covers" cards, the pledge band, the carrier-registration grid,
   and the who-we-help cards (shared with the buyout page, not in
   site-base). All shared chrome/components (reset, tokens, header,
   footer, bo-hero, bo-trust marquee, lead form, video modal, trust
   float, final-cta, responsive nav/footer collapse) come from
   site-base.css.
   ============================================================ */

/* active nav state (shared chrome + bo-hero + responsive now in site-base.css) */

/* mini-hero skyline (shared by buyout/consult/about; not in site-base) */
.hero-city{position:absolute;left:0;right:0;bottom:0;z-index:1;pointer-events:none}
.hero-city svg{display:block;width:100%;height:clamp(160px,22vh,235px)}
.hero-city .w{opacity:0;animation:winOn .6s ease-out forwards;animation-delay:calc(.7s + var(--i)*.14s)}
@keyframes winOn{to{opacity:1}}
.hero-city .tw{
  opacity:0;
  animation:winOn .6s ease-out forwards, twBreathe 9s ease-in-out infinite;
  animation-delay:calc(.7s + var(--i)*.14s), calc(4s + var(--i)*1.7s);
}
@keyframes twBreathe{0%,100%{opacity:1}50%{opacity:.3}}
.sky-beacon{animation:beaconBreathe 5s ease-in-out infinite}
.sky-beacon.b2{animation-delay:2.2s}
@keyframes beaconBreathe{0%,100%{opacity:1}50%{opacity:.3}}
.city-ring{fill:none;stroke:#3FC8BC;stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center;animation:cityPulse 7s ease-out 2.4s infinite}
@keyframes cityPulse{0%{opacity:0;transform:scale(.3)}8%{opacity:.5}55%{opacity:.12}70%,100%{opacity:0;transform:scale(2.2)}}
@media (prefers-reduced-motion:reduce){
  .hero-city .w,.hero-city .tw{animation:none;opacity:1}
  .sky-beacon,.city-ring{animation:none}
  .city-ring{opacity:0}
}

/* consult hero: raise the skyline and give the stat card a calm
   foreground strip to overlap, so buildings aren't chopped */
.bo-sub{margin:0 auto 2.2rem}
.bo-hero .hero-city svg{height:clamp(130px,18vh,200px)}
.co-hero .wrap{padding-bottom:clamp(230px,26vh,290px)}
.co-hero .hero-city{bottom:84px}
.co-hero .hero-city::after{content:"";position:absolute;top:100%;left:0;right:0;height:84px;background:#072939}
.co-stats{background:var(--paper)}
.stat-card{
  position:relative;z-index:3;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
  background:#fff;border:1px solid var(--line);border-radius:22px;
  padding:clamp(1.7rem,3.5vw,2.5rem) clamp(1rem,3vw,2rem);
  box-shadow:0 30px 60px -22px rgba(6,34,47,.4);
  margin-top:clamp(-58px,-4vw,-44px);
}
.co-stat{text-align:center;padding:.4rem}
.co-stat b{display:block;font-family:var(--font-display);font-weight:800;font-size:clamp(1.9rem,3.2vw,2.7rem);line-height:1.1}
.co-stat b em{font-style:normal;color:var(--teal-dark)}
.co-stat small{display:block;margin-top:.3rem;font-size:.88rem;color:var(--muted)}
.co-stat + .co-stat{border-left:1px solid var(--line)}
.co-stat.t1 b{color:var(--teal-dark)}
.co-stat.t2 b{color:var(--gold-deep)}
.co-stat.t3 b{color:var(--navy)}
.co-stat.t4 b{color:var(--navy)}
.co-stats .trust-note{padding:1.1rem 0 .8rem}
.co-trust-row{display:flex;justify-content:center;align-items:center;gap:.9rem;flex-wrap:wrap;padding:1rem 0 2.6rem}
/* BBB badge inside the rating chip (base style; site-base only narrows it) */
.bbb-mark{font-family:var(--font-display);font-weight:800;font-size:1rem;color:#fff;background:var(--navy-2);border:1px solid rgba(234,245,251,.2);border-radius:8px;padding:.15rem .5rem}

/* advisory covers */
.co-advisory{padding:clamp(2.8rem,5.5vw,4.5rem) 0 clamp(4.5rem,9vw,7rem);background:var(--paper)}
.free-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.free-card{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;
  padding:1.9rem 1.8rem;display:flex;gap:1.2rem;align-items:flex-start;
  transition:transform .3s, box-shadow .3s, border-color .3s;
}
.free-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--line-gold)}
.free-card .fc-icon{flex:none;width:50px;height:50px;border-radius:14px;background:var(--navy);color:var(--gold);display:grid;place-items:center}
.free-card .fc-icon svg{width:24px;height:24px}
.free-chip{
  position:absolute;top:1.4rem;right:1.4rem;
  font-family:var(--font-display);font-weight:800;font-size:.66rem;letter-spacing:.18em;
  color:var(--ink);background:linear-gradient(135deg,var(--gold),var(--gold-deep));
  border-radius:999px;padding:.3rem .7rem;
}
.free-card h3{font-size:1.16rem;margin-bottom:.5rem;padding-right:3.2rem}
.free-card p{font-size:.93rem;color:var(--muted)}
.co-advisory .adv-cta{text-align:center;margin-top:2.6rem}

/* pledge band */
.co-pledge{
  position:relative;overflow:hidden;color:var(--ice);
  padding:clamp(4.5rem,9vw,7rem) 0;
  background:
    radial-gradient(820px 420px at 82% 0%, rgba(50,176,166,.16), transparent 60%),
    linear-gradient(160deg,#051E2A, var(--navy) 60%, #0C3850);
}
.co-pledge-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2.2rem,5vw,4rem);align-items:center}
.co-pledge h2{color:#fff;font-size:clamp(1.9rem,3.9vw,2.9rem);margin:1rem 0 1rem}
.co-pledge h2 em{font-style:normal;color:var(--gold)}
.co-pledge .co-pledge-sub{color:var(--muted-ice);margin-bottom:1.8rem;max-width:44ch}
.pledge-quote{
  position:relative;background:rgba(234,245,251,.05);border:1px solid rgba(234,245,251,.14);
  border-radius:22px;padding:clamp(1.8rem,3.5vw,2.6rem);
}
.pledge-quote::before{
  content:"\201C";position:absolute;top:-.2em;left:.35rem;
  font-family:var(--font-display);font-weight:800;font-size:6rem;line-height:1;
  color:rgba(250,215,120,.25);pointer-events:none;
}
.pledge-quote p{font-family:var(--font-display);font-weight:500;font-size:clamp(1.1rem,1.8vw,1.3rem);line-height:1.5;color:var(--ice);margin-bottom:1.2rem}
.pledge-quote cite{font-style:normal;font-size:.9rem;color:var(--gold)}

/* carrier registration */
.co-carriers{padding:clamp(4.5rem,9vw,7rem) 0;background:#fff}
.carrier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2.2rem}
.carrier-card{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.4rem 1.5rem;
  font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--ink);
  transition:transform .3s, box-shadow .3s, border-color .3s;
}
.carrier-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:var(--line-gold)}
.carrier-card .cc-arrow{flex:none;width:34px;height:34px;border-radius:50%;background:var(--navy);color:var(--gold);display:grid;place-items:center}
.carrier-card .cc-arrow svg{width:15px;height:15px}
.carrier-card small{display:block;font-family:var(--font-body);font-weight:500;font-size:.78rem;color:var(--muted);margin-top:.15rem}
.co-carriers .rates-link{margin-top:1.6rem;font-size:.95rem;color:var(--muted)}
.co-carriers .rates-link a{color:var(--teal-dark);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* who we help (shared with the buyout page; not in site-base) */
.bo-who{padding:clamp(4.5rem,9vw,7rem) 0;background:#fff}
.who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.who-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:1.7rem 1.5rem;transition:transform .3s, box-shadow .3s, border-color .3s}
.who-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm);border-color:var(--line-gold)}
.who-card .ico{width:46px;height:46px;border-radius:13px;background:var(--navy);color:var(--gold);display:grid;place-items:center;margin-bottom:1rem}
.who-card .ico svg{width:22px;height:22px}
.who-card h3{font-size:1.1rem;margin-bottom:.5rem}
.who-card p{font-size:.9rem;color:var(--muted)}

@media (max-width:1080px){
  .stat-card{grid-template-columns:1fr 1fr;margin-top:-2.2rem}
  .co-stat:nth-child(3){border-left:0}
  .free-grid{grid-template-columns:1fr}
  .co-pledge-grid{grid-template-columns:1fr}
  .carrier-grid{grid-template-columns:1fr}
  .who-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .stat-card{grid-template-columns:1fr 1fr;gap:.6rem}
  .co-stat{padding:.5rem .2rem}
  .co-stat + .co-stat{border-left:0}
  .who-grid{grid-template-columns:1fr}
}
