/* ============ HERO ============ */
.hero{
  position:relative;background:
    radial-gradient(1100px 600px at 85% -10%,rgba(74,127,167,.35),transparent 60%),
    linear-gradient(160deg,var(--graphite) 0%,var(--navy) 100%);
  color:#fff;overflow:hidden;padding:76px 0 90px;
}
.hero::after{
  content:"";position:absolute;right:-8%;bottom:-30%;width:640px;height:640px;
  background:conic-gradient(from 90deg,var(--card-green),var(--card-blue),var(--card-gold),var(--card-black),var(--card-red),var(--card-green));
  border-radius:50%;opacity:.08;filter:blur(4px);
}
.hero .container{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero-copy .eyebrow{color:var(--amber)}
.hero-copy .eyebrow::before{background:var(--amber)}
.hero-copy h1{color:#fff;margin-bottom:22px}
.hero-copy p.lede{color:#C7D2DE;font-size:1.2rem;margin-bottom:32px}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:36px}
.hero-trust{display:flex;gap:28px;flex-wrap:wrap}
.hero-panel{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;
  padding:30px;backdrop-filter:none;
}
.hero-panel__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.hero-panel__head span{font-family:var(--font-mono);font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;color:#9FB2C6}
.card-tier-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.card-tier-row:last-child{border-bottom:none}
.card-tier-row .swatch{width:30px;height:20px;border-radius:3px;flex-shrink:0}
.card-tier-row__label{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:1.05rem;text-transform:uppercase;letter-spacing:.4px}
.card-tier-row__sub{font-family:var(--font-mono);font-size:.72rem;color:#9FB2C6}
@media (max-width:980px){.hero .container{grid-template-columns:1fr}}

/* ============ TRUST MARQUEE ============ */
.marquee-strip{background:var(--offwhite);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;overflow:hidden}
.marquee-track{display:flex;gap:64px;width:max-content;animation:scroll-left 32s linear infinite}
.marquee-track:hover{animation-play-state:paused}
.marquee-item{display:flex;align-items:center;gap:14px;font-family:var(--font-mono);font-size:.85rem;color:var(--ink-soft);white-space:nowrap}
.marquee-item strong{font-family:var(--font-display);font-size:1.6rem;color:var(--graphite);font-weight:800}
@keyframes scroll-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ============ PATHWAY LADDER (services / card levels) ============ */
.pathway-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:48px}
.pathway-card{
  background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px 20px;
  border-top:6px solid var(--steel);transition:.2s;
}
.pathway-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.pathway-card[data-tier="green"]{border-top-color:var(--card-green)}
.pathway-card[data-tier="blue"]{border-top-color:var(--card-blue)}
.pathway-card[data-tier="gold"]{border-top-color:var(--card-gold)}
.pathway-card[data-tier="black"]{border-top-color:var(--card-black)}
.pathway-card[data-tier="red"]{border-top-color:var(--card-red)}
.pathway-card .tag{margin-bottom:14px}
.pathway-card h3{margin-bottom:8px}
.pathway-card p{font-size:.9rem;margin-bottom:14px}
.pathway-card a{font-family:var(--font-mono);font-size:.8rem;font-weight:600;color:var(--steel-deep);text-transform:uppercase}
@media (max-width:1180px){.pathway-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.pathway-grid{grid-template-columns:1fr}}

/* ============ ABOUT SPLIT ============ */
.about-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.about-split__visual{position:relative}
.about-frame{border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-md)}
.about-stat-float{
  position:absolute;bottom:-24px;left:-24px;background:var(--graphite);color:#fff;border-radius:10px;
  padding:20px 24px;box-shadow:var(--shadow-md);
}
@media (max-width:980px){.about-split{grid-template-columns:1fr}.about-stat-float{position:static;margin-top:20px;display:inline-block}}

/* ============ SERVICES GRID ============ */
.service-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:32px;position:relative;overflow:hidden}
.service-card__icon{width:50px;height:50px;border-radius:10px;background:var(--offwhite);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
/* self-contained text colour: a white card can sit inside a dark section, so it must not
   inherit the ambient .section--dark/.section--navy white heading/paragraph colour */
.service-card h3{margin-bottom:10px;color:var(--graphite)}
.service-card p{font-size:.92rem;margin-bottom:18px;color:var(--ink-soft)}
.service-card a{font-family:var(--font-mono);font-size:.8rem;font-weight:700;color:var(--steel-deep);text-transform:uppercase;display:inline-flex;align-items:center;gap:6px}

/* ============ PROCESS TIMELINE ============ */
.process-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;margin-top:56px}
.process-row::before{content:"";position:absolute;top:26px;left:6%;right:6%;height:2px;background:var(--line)}
.process-step{position:relative;padding:0 16px;text-align:center}
.process-step__num{
  width:54px;height:54px;border-radius:50%;background:var(--graphite);color:#fff;font-family:var(--font-display);
  font-size:1.4rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;position:relative;z-index:2;
}
.process-step h3{font-size:1.1rem}
.process-step p{font-size:.86rem}
@media (max-width:900px){.process-row{grid-template-columns:1fr;gap:36px}.process-row::before{display:none}}

/* ============ TESTIMONIAL SLIDER ============ */
.testi-wrap{position:relative;max-width:760px;margin:48px auto 0}
.testi-slide{display:none;background:#fff;border:1px solid var(--line);border-radius:14px;padding:44px;text-align:center}
.testi-slide.is-active{display:block}
.testi-stars{color:var(--amber-deep);font-size:1.1rem;letter-spacing:3px;margin-bottom:18px}
.testi-slide p{font-size:1.15rem;color:var(--graphite);font-family:var(--font-display);line-height:1.4}
.testi-name{margin-top:18px;font-family:var(--font-mono);font-size:.82rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.5px}
.testi-dots{display:flex;justify-content:center;gap:10px;margin-top:26px}
.testi-dots button{width:10px;height:10px;border-radius:50%;border:none;background:var(--line)}
.testi-dots button.is-active{background:var(--amber-deep)}

/* ============ FAQ ACCORDION (also reused on pages.css) ============ */
.accordion-item{border-bottom:1px solid var(--line)}
.accordion-item__q{
  width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;
  padding:22px 4px;font-family:var(--font-display);font-size:1.15rem;text-align:left;color:var(--graphite);text-transform:uppercase;letter-spacing:.3px;
}
.accordion-item__icon{font-size:1.4rem;color:var(--amber-deep);flex-shrink:0;margin-left:20px;transition:.2s}
.accordion-item.is-open .accordion-item__icon{transform:rotate(45deg)}
.accordion-item__a{max-height:0;overflow:hidden;transition:max-height .25s ease}
.accordion-item__a p{padding:0 4px 22px;font-size:.95rem}

/* ============ CLOSING CTA ============ */
.cta-banner{
  background:linear-gradient(120deg,var(--navy),var(--graphite));color:#fff;border-radius:18px;
  padding:64px 56px;display:flex;justify-content:space-between;align-items:center;gap:36px;flex-wrap:wrap;position:relative;overflow:hidden;
}
.cta-banner::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(100deg,rgba(255,255,255,.03) 0 2px,transparent 2px 40px)}
.cta-banner__text{position:relative;max-width:520px}
.cta-banner h2{color:#fff;margin-bottom:10px}
.cta-banner p{color:#C7D2DE;margin:0}
.cta-banner__actions{position:relative;display:flex;gap:14px;flex-wrap:wrap}
