
/* ============================================================
   Homepage v7 — StoryBrand copy layer (scoped to this page only)
   ============================================================ */
/* Preloader (logo → progress bar → panels split open) */
.preloader{position:fixed;inset:0;z-index:2000;overflow:hidden;animation:plGone 0s linear 2.7s forwards}
.preloader .pl-panel{position:absolute;left:0;width:100%;height:50.5%;background:var(--navy-deep);will-change:transform}
.preloader .pl-top{top:0;animation:plUp .95s cubic-bezier(.76,0,.24,1) 1.65s forwards}
.preloader .pl-bottom{bottom:0;animation:plDown .95s cubic-bezier(.76,0,.24,1) 1.65s forwards}
.preloader .pl-center{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:30px;animation:plFade .5s ease 1.7s forwards}
.preloader .pl-logo{width:min(320px,66vw);height:auto;opacity:0;transform:translateY(12px);
  animation:plLogoIn .9s var(--ease) .15s forwards}
.preloader .pl-bar{width:min(340px,62vw);height:2px;background:rgba(255,255,255,.16);border-radius:2px;overflow:hidden}
.preloader .pl-bar span{display:block;width:100%;height:100%;background:var(--gold);
  transform:scaleX(0);transform-origin:left center;animation:plBar 1.45s var(--ease) .3s forwards}
@keyframes plLogoIn{to{opacity:1;transform:none}}
@keyframes plBar{to{transform:scaleX(1)}}
@keyframes plUp{to{transform:translateY(-101%)}}
@keyframes plDown{to{transform:translateY(101%)}}
@keyframes plFade{to{opacity:0}}
@keyframes plGone{to{visibility:hidden;pointer-events:none}}
@media (prefers-reduced-motion:reduce){.preloader{display:none}}

/* Hero: no floating stat box now; trust strip sits directly below */
.hero{padding-bottom:118px}
/* Hero background — crossfading Ken Burns image carousel */
.hero-bg .hslide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s var(--ease)}
.hero-bg .hslide.on{opacity:1}
.hero-bg .hslide img{width:100%;height:100%;object-fit:cover;object-position:center 60%;
  animation:kenburns 22s var(--ease) infinite alternate}
.hero-copy{max-width:60%}
.hero h1{text-transform:none;letter-spacing:0}
.hero-sub{max-width:62ch}
.hero .tagline{margin-top:1.4rem;font-family:var(--ff-script);font-size:1.9rem;color:var(--gold-lt);line-height:1}
@media(max-width:1080px){.hero-copy{max-width:100%}}

/* Section 2 — Trust strip (6 signals, single dark band) */
.tstrip{background:var(--navy);border-bottom:1px solid var(--line-dark);position:relative;z-index:4}
.tstrip .wrap{display:grid;grid-template-columns:repeat(6,1fr);padding-block:0}
.tstrip .ts{padding:30px 16px;text-align:center;border-left:1px solid var(--line-dark)}
.tstrip .ts:first-child{border-left:none}
.tstrip .ts b{display:block;font-family:var(--ff-display);font-size:1.5rem;font-weight:300;
  color:var(--gold-lt);line-height:1.05;letter-spacing:.02em}
.tstrip .ts span{display:block;font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;
  color:rgba(255,255,255,.55);margin-top:10px;line-height:1.55}
@media(max-width:1080px){.tstrip .wrap{grid-template-columns:repeat(3,1fr)}
  .tstrip .ts:nth-child(-n+3){border-bottom:1px solid var(--line-dark)}
  .tstrip .ts:nth-child(3n+1){border-left:none}}
@media(max-width:560px){.tstrip .wrap{grid-template-columns:1fr 1fr}
  .tstrip .ts{border-left:none;border-bottom:1px solid var(--line-dark)}
  .tstrip .ts:nth-child(2n){border-left:1px solid var(--line-dark)}}

/* Section 3 — The Problem (two-column: content left, video right) */
.prob2{display:grid;grid-template-columns:1.05fr .9fr;gap:58px;align-items:stretch}
.prob2-copy{max-width:660px;align-self:center}
.prob-note{font-size:.9rem;color:var(--muted);margin:28px 0 6px;font-weight:500;letter-spacing:.01em}
.prob-list{margin-top:18px;display:grid;gap:22px}
.prob-list li{display:flex;gap:16px;align-items:flex-start}
.prob-list .pl-ic{flex:0 0 44px;width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);
  display:flex;align-items:center;justify-content:center;margin-top:2px;transition:.4s var(--ease)}
.prob-list li:hover .pl-ic{background:rgba(176,137,79,.1);transform:translateY(-3px)}
.prob-list .pl-ic svg{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round}
.prob-list h3{font-family:var(--ff-display);font-size:1.12rem;font-weight:400;color:var(--ink);letter-spacing:.01em}
.prob-list p{font-size:.85rem;color:var(--muted);line-height:1.65;margin-top:3px;max-width:48ch}
.prob-close2{font-family:var(--ff-display);font-weight:300;font-size:clamp(1.12rem,1.5vw,1.4rem);
  line-height:1.5;color:var(--ink);margin-top:34px;max-width:54ch}
.prob-close2 .gold{color:var(--gold)}
.prob2-media{position:relative;overflow:hidden;min-height:540px;background:var(--navy)}
.prob2-media img,.prob2-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.prob2{grid-template-columns:1fr;gap:34px}.prob2-media{min-height:300px}}

/* Section 4 — The Guide (checks live in cnc.css) */
.guide-sub{font-family:var(--ff-body);font-size:.72rem;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold-lt);margin:70px 0 32px;text-align:center}
.guide-split{grid-template-columns:1fr 1.32fr}
.guide-copy .body-sm{max-width:100%}
.guide-media{position:relative;overflow:hidden;min-height:520px;background:var(--navy-soft)}
.guide-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%;
  transition:transform .9s var(--ease)}
.guide-media:hover img{transform:scale(1.06)}
.guide-media::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,23,32,0) 50%,rgba(8,23,32,.6))}
.guide-media::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--gold);z-index:3}
.guide-media .sig-over{z-index:2;color:#fff}
.guide-checks{grid-template-columns:repeat(3,1fr);gap:26px 34px}
@media(max-width:1080px){.guide-split{grid-template-columns:1fr}.guide-media{min-height:400px}.guide-checks{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.guide-checks{grid-template-columns:1fr}}

/* Section 5 — Plan (full-width steps, readable line length) */
.steps .step p{max-width:44ch}
.plan-steps{grid-template-columns:repeat(3,1fr);gap:60px}
@media(max-width:900px){.plan-steps{grid-template-columns:1fr;gap:40px;max-width:560px;margin-inline:auto;text-align:center}
  .plan-steps .step p{max-width:none}
  .plan-steps .step:not(:last-child)::after{display:none}}
.plan-cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:56px}

/* Section 7 — Objection (content left, image right) */
.obj-body{max-width:62ch;margin:0 auto;font-size:.98rem;line-height:1.85;color:var(--muted)}
.obj-body + .obj-body{margin-top:16px}
.obj-split{align-items:stretch}
.obj-split .split-copy{align-self:center}
.obj-media{position:relative;overflow:hidden;min-height:500px}
.obj-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:1080px){.obj-media{min-height:320px}}

/* Section 9 — Service area */
.area{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.area .body-sm{max-width:100%}
.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px}
.chips span{border:1px solid var(--line);background:#fff;color:var(--ink);font-size:.75rem;
  padding:8px 14px;letter-spacing:.02em;transition:.3s var(--ease)}
.chips span:hover{border-color:var(--gold);color:var(--gold)}
.area-lbl{font-family:var(--ff-body);font-size:.7rem;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.area-lbl.mt{margin-top:32px}
.area-counties{columns:2;column-gap:26px;font-size:.8rem;color:var(--muted)}
.area-counties li{position:relative;padding-left:15px;line-height:2}
.area-counties li::before{content:"";position:absolute;left:0;top:.9em;width:5px;height:5px;
  border-radius:50%;background:var(--gold)}
@media(max-width:900px){.area{grid-template-columns:1fr;gap:38px}}

/* Section 10 — Closing vision */
.vision .found{font-family:var(--ff-script);font-size:clamp(2.2rem,4vw,3rem);color:var(--gold);
  line-height:1;margin-top:30px}
.vision .found-cap{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:14px}

/* Section 10b — full-bleed image CTA */
.cta2{position:relative;min-height:580px;display:flex;align-items:center;text-align:center;color:#fff;overflow:hidden;padding:130px 0}
.cta2-bg{position:absolute;inset:0}
.cta2-bg img{width:100%;height:100%;object-fit:cover;object-position:center 55%;animation:kenburns 26s var(--ease) infinite alternate}
.cta2::after{content:"";position:absolute;inset:0;z-index:1;
  background:radial-gradient(ellipse at center,rgba(8,23,32,.5),rgba(8,23,32,.84))}
.cta2-inner{position:relative;z-index:2;max-width:780px;margin:0 auto;padding-inline:24px}
.cta2 .eyebrow{color:var(--gold-lt);margin-bottom:1.3rem}
.cta2 h2{font-family:var(--ff-display);font-weight:300;font-size:clamp(1.7rem,3vw,2.5rem);
  color:#fff;line-height:1.18;letter-spacing:.01em}
.cta2 h2 .script{font-family:var(--ff-script);font-size:1.28em;color:var(--gold-lt);font-weight:400;letter-spacing:.01em}
@media(min-width:760px){.cta2 h2{white-space:nowrap}}
.cta2 p{margin:1.5rem auto 0;max-width:780px;color:rgba(255,255,255,.82);font-size:1rem;line-height:1.8;text-wrap:pretty}
.cta2 .hero-btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:2.5rem}
.cta2 .cta-line{margin-top:28px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.cta2 .cta-line a{color:var(--gold-lt)}

/* Footer — real certification / affiliation badges */
.certs{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.cert-b{background:#fff;border-radius:5px;padding:9px 12px;height:66px;min-width:70px;
  display:flex;align-items:center;justify-content:center;transition:transform .3s var(--ease)}
.cert-b:hover{transform:translateY(-3px)}
.cert-b img{height:100%;width:auto;max-width:160px;object-fit:contain;display:block}
