/* ===== Optimistic Disability Services — Refined Professional ===== */
:root {
  --gold: #fdcb11;
  --tech-orange: #f68c1f;
  --orange: #f37421;
  --orange-deep: #c84d0d;
  --ink: #27201b;
  --ink-soft: #5f554d;
  --muted: #8a7d72;
  --bg: #ffffff;
  --paper: #fffaf2;
  --cream: #fff3dc;
  --warm-100: #ffedc8;
  --warm-200: #f9d79b;
  --line: #eadfd4;
  --line-soft: #f4ebe2;
  /* Brand-derived accent palette */
  --c-blue: #f37421;
  --c-teal: #f68c1f;
  --c-coral: #ed6417;
  --c-amber: #fdcb11;
  --c-pink: #e67817;
  --c-purple: #e9951e;
  --gradient-warm: linear-gradient(135deg, #fdcb11 0%, #f68c1f 52%, #f37421 100%);
  --gradient-warm-soft: linear-gradient(180deg, #fff0cf 0%, #ffffff 100%);
  --gradient-hero: radial-gradient(900px 500px at 85% 0%, rgba(253,203,17,0.14), transparent 60%),
                   radial-gradient(700px 420px at 0% 70%, rgba(243,116,33,0.08), transparent 60%);
  --shadow-xs: 0 1px 2px rgba(65,40,20,0.05);
  --shadow-sm: 0 4px 14px -6px rgba(65,40,20,0.12);
  --shadow-md: 0 16px 40px -18px rgba(65,40,20,0.18);
  --shadow-lg: 0 30px 60px -30px rgba(65,40,20,0.22);
  --shadow-warm: 0 20px 50px -22px rgba(243,116,33,0.38);
  --radius: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body {
  font-family: "Inter", system-ui, -apple-system, sans-serif;
  color: var(--ink);
  background: #ffffff;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  font-feature-settings: "ss01", "cv11";
}
h1, h2, h3, h4 {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  letter-spacing: -0.03em;
  line-height: 1.12;
  color: var(--ink);
  font-weight: 700;
}
h1 { font-size: clamp(2.5rem, 5vw, 4.25rem); font-weight: 800; }
h2 { font-size: clamp(1.85rem, 3.4vw, 2.85rem); font-weight: 700; }
h3 { font-size: 1.3rem; font-weight: 700; letter-spacing: -0.02em; }
h4 { font-size: 1.05rem; font-weight: 700; }
.italic { font-weight: 700; color: var(--orange-deep); }

p { color: var(--ink-soft); }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font: inherit; cursor: pointer; border: none; background: none; }

:focus-visible {
  outline: 2.5px solid var(--orange);
  outline-offset: 3px;
  border-radius: 6px;
}
::selection { background: var(--gold); color: var(--ink); }

.container { max-width: 1240px; margin: 0 auto; padding: 0 1.5rem; }

.text-gradient {
  background: var(--gradient-warm);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
}

/* ===== Utility bar ===== */
.utility {
  background: var(--ink);
  color: rgba(244,248,253,0.72);
  font-size: 0.82rem; padding: 0.6rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.utility-inner {
  max-width: 1240px; margin: 0 auto; padding: 0 1.5rem;
  display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap;
}
.utility a { color: rgba(244,248,253,0.82); font-weight: 600; transition: color 0.2s ease; }
.utility a:hover { color: var(--gold); }
.utility .util-left { display: inline-flex; gap: 1.5rem; align-items: center; }
.utility .util-left span { display: inline-flex; align-items: center; gap: 0.4rem; }
.utility .util-right { display: inline-flex; gap: 1.25rem; align-items: center; }
.utility .pill {
  display: inline-flex; align-items: center; gap: 0.4rem;
  padding: 0.2rem 0.75rem; border-radius: 999px;
  background: rgba(56,189,248,0.064); color: #c9defb;
  font-weight: 700; font-size: 0.78rem;
}
.utility .pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #93c5fd; }
@media (max-width: 700px) {
  .utility { font-size: 0.74rem; padding: 0.5rem 0; }
  .utility-inner { padding: 0 1rem; gap: 0.5rem 1rem; justify-content: center; }
  .utility .util-left { gap: 0.75rem; }
  .utility .util-left span:not(:first-child) { display: none; }
  .utility .util-right { gap: 0.9rem; }
  .utility .pill { font-size: 0.7rem; padding: 0.18rem 0.55rem; }
}

/* ===== Scroll progress ===== */
.scroll-progress {
  position: fixed; top: 0; left: 0; height: 3px; width: 0%;
  background: var(--gradient-warm); z-index: 100;
  transition: width 0.15s ease-out;
}

/* ===== Navbar (overlays hero on home) ===== */
:root { --nav-h: 108px; }
@media (max-width: 700px) { :root { --nav-h: 88px; } }

.nav {
  position: sticky; top: 0; z-index: 50;
  background: transparent;
  color: var(--ink);
  border-bottom: 1px solid transparent;
  transition: background 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease, backdrop-filter 0.35s ease;
}
.nav.scrolled {
  background: rgba(255,252,246,0.80);
  -webkit-backdrop-filter: blur(18px) saturate(165%);
  backdrop-filter: blur(18px) saturate(165%);
  border-bottom-color: var(--line);
  box-shadow: 0 10px 34px -20px rgba(21,34,78,0.20);
}
/* When the nav overlays a hero, pull the hero up behind it */
body.nav-overlay .hero {
  margin-top: calc(var(--nav-h) * -1);
  padding-top: calc(5.5rem + var(--nav-h));
}
@media (max-width: 960px) {
  body.nav-overlay .hero { padding-top: calc(3rem + var(--nav-h)); }
}
/* Inner pages without a hero: force solid frosted nav */
body.solid-nav .nav {
  background: rgba(255,252,246,0.86);
  -webkit-backdrop-filter: blur(18px) saturate(165%);
  backdrop-filter: blur(18px) saturate(165%);
  border-bottom-color: var(--line);
  box-shadow: 0 10px 34px -22px rgba(21,34,78,0.14);
}
.nav-inner {
  max-width: 1240px; margin: 0 auto; padding: 0 1.5rem;
  height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.nav-logo img { height: 70px; width: auto; transition: transform 0.3s ease; }
@media (max-width: 700px) { .nav-logo img { height: 58px; } }
.nav-logo:hover img { transform: scale(1.04); }

.nav-links { display: flex; list-style: none; gap: 0.35rem; align-items: center; }
.nav-links a {
  position: relative; padding: 0.55rem 0.95rem;
  font-weight: 600; font-size: 0.96rem; color: var(--ink-soft);
  transition: color 0.2s ease;
}
.nav-links a::after {
  content: ""; position: absolute; left: 0.95rem; right: 0.95rem; bottom: 0.3rem;
  height: 2px; border-radius: 2px; background: var(--gradient-warm);
  transform: scaleX(0); transform-origin: left; transition: transform 0.25s ease;
}
.nav-links a:hover { color: var(--ink); }
.nav-links a:hover::after { transform: scaleX(1); }
.nav-links a.active { color: var(--orange-deep); }
.nav-links a.active::after { transform: scaleX(1); }


.nav-cta-desktop { display: flex; align-items: center; gap: 1.3rem; }
.nav-phone { display: inline-flex; align-items: center; gap: 0.45rem; font-weight: 700; font-size: 0.92rem; color: var(--ink); transition: color 0.2s ease; }
.nav-phone .np-ico { font-size: 0.88rem; }
.nav-phone:hover { color: var(--orange-deep); }
@media (max-width: 1040px) { .nav-phone { display: none; } }

.btn {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.78rem 1.4rem; border-radius: 999px;
  font-weight: 600; font-size: 0.94rem;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease;
  border: 1.5px solid transparent;
}
.btn-primary {
  background: var(--ink); color: #fff;
  box-shadow: var(--shadow-sm);
}
.btn-primary:hover { background: var(--orange-deep); transform: translateY(-2px); box-shadow: var(--shadow-warm); }
.btn-warm {
  background: var(--gradient-warm); color: #fff;
  box-shadow: 0 10px 24px -10px rgba(30,80,200,0.3);
}
.btn-warm:hover { transform: translateY(-2px); box-shadow: 0 16px 36px -10px rgba(30,80,200,0.3); }
.btn-outline {
  background: transparent; color: var(--ink);
  border-color: var(--ink);
}
.btn-outline:hover { background: var(--ink); color: #fff; transform: translateY(-2px); }
.btn-ghost {
  background: var(--warm-100); color: var(--ink);
}
.btn-ghost:hover { background: var(--warm-200); }
.btn .arrow { transition: transform 0.3s ease; }
.btn:hover .arrow { transform: translateX(4px); }

/* Nav CTA button pops on the frosted-white bar */
.nav .btn-primary {
  background: var(--ink); color: #fff;
  box-shadow: 0 10px 24px -12px rgba(21,34,78,0.45);
}
.nav .btn-primary:hover { background: var(--orange-deep); color: #fff; transform: translateY(-2px); box-shadow: var(--shadow-warm); }


.nav-toggle {
  display: none; width: 46px; height: 46px; border-radius: 13px;
  background: var(--warm-100); border: 1px solid var(--line);
  color: var(--ink);
  align-items: center; justify-content: center; font-size: 1.3rem;
  transition: background 0.2s ease;
}
.nav-toggle:hover { background: var(--warm-200); }
.nav-mobile {
  display: none; background: rgba(255,252,246,0.97);
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
  border-top: 1px solid var(--line); padding: 1rem 1.5rem;
}
.nav-mobile.open { display: block; }
.nav-mobile ul { list-style: none; display: flex; flex-direction: column; gap: 0.25rem; }
.nav-mobile a { display: block; padding: 0.9rem 1.1rem; border-radius: 12px; font-weight: 600; color: var(--ink); }
.nav-mobile a:hover { background: var(--warm-100); color: var(--orange-deep); }
.nav-mobile .btn { margin-top: 0.75rem; justify-content: center; }

@media (max-width: 900px) {
  .nav-links, .nav-cta-desktop { display: none; }
  .nav-toggle { display: flex; }
}


/* ===== Hero ===== */
.hero {
  position: relative; padding: 5.5rem 0 7rem;
  background:
    radial-gradient(1100px 620px at 88% -10%, rgba(56,189,248,0.112), transparent 62%),
    radial-gradient(820px 500px at -10% 75%, rgba(30,80,200,0.14), transparent 65%),
    linear-gradient(180deg, #ffffff 0%, #f4f8fd 100%);
  overflow: hidden;
}
.hero-grid {
  display: grid; grid-template-columns: 1.05fr 1fr; gap: 4.5rem; align-items: center;
}
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 0.55rem;
  padding: 0.5rem 1rem; border-radius: 999px;
  background: #fff; border: 1px solid var(--line);
  color: var(--ink); font-weight: 600; font-size: 0.82rem;
  box-shadow: var(--shadow-xs);
  margin-bottom: 1.75rem;
}
.hero-eyebrow .dot { width: 7px; height: 7px; border-radius: 50%; background: #22a06b; box-shadow: 0 0 0 4px rgba(34,160,107,0.18); }
.hero h1 { margin-bottom: 1.5rem; }
.hero p.lead { font-size: 1.18rem; line-height: 1.7; margin-bottom: 2.25rem; max-width: 34rem; color: var(--ink-soft); }
.hero-cta { display: flex; gap: 0.85rem; flex-wrap: wrap; align-items: center; }

.trust-row {
  margin-top: 3rem; display: flex; gap: 2rem; align-items: center; flex-wrap: wrap;
  padding-top: 1.75rem; border-top: 1px solid var(--line-soft);
}
.trust-row .label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.12em; font-weight: 600; color: var(--muted); }
.trust-row .badges { display: inline-flex; gap: 1.5rem; flex-wrap: wrap; align-items: center; }
.trust-row .badge {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-size: 0.88rem; font-weight: 600; color: var(--ink-soft);
}
.trust-row .badge svg { width: 18px; height: 18px; color: var(--orange); }

.hero-visual { position: relative; padding: 0.5rem; }
.hero-img-wrap {
  position: relative; border-radius: var(--radius-xl); overflow: hidden;
  aspect-ratio: 5/6;
  box-shadow:
    0 30px 70px -30px rgba(21,34,78,0.28),
    0 10px 25px -15px rgba(30,80,200,0.25);
}
.hero-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s ease; }
.hero-img-wrap:hover img { transform: scale(1.05); }
.hero-img-wrap::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 58%, rgba(21,34,78,0.28) 100%);
}

/* Soft warm glow behind hero image instead of hard border */
.hero-visual::before {
  content: ""; position: absolute; inset: -12% -8%;
  background:
    radial-gradient(closest-side, rgba(56,189,248,0.12), transparent 70%),
    radial-gradient(closest-side at 70% 80%, rgba(30,80,200,0.30), transparent 70%);
  filter: blur(40px); z-index: 0; pointer-events: none;
}
.hero-visual > * { position: relative; z-index: 1; }

.float-card {
  position: absolute; z-index: 3;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.7);
  border-radius: 18px; padding: 0.95rem 1.1rem;
  box-shadow: 0 18px 40px -18px rgba(21,34,78,0.25), 0 2px 6px rgba(21,34,78,0.04);
  display: flex; gap: 0.85rem; align-items: center;
  max-width: 270px;
}
.float-card .ico {
  width: 42px; height: 42px; border-radius: 12px; flex-shrink: 0;
  background: var(--warm-100); display: grid; place-items: center; color: var(--orange-deep);
}
.float-card strong { display: block; font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1rem; color: var(--ink); margin-bottom: 0.1rem; }
.float-card span { font-size: 0.8rem; color: var(--muted); }
.float-card.fc-1 { top: 6%; left: -2rem; animation: floaty 6s ease-in-out infinite; }
.float-card.fc-2 { bottom: 8%; right: -2rem; animation: floaty 7s ease-in-out -2s infinite; }
@keyframes floaty { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

@media (max-width: 960px) {
  .hero { padding: 3rem 0 5rem; }
  .hero-grid { grid-template-columns: 1fr; gap: 3rem; }
  .hero-img-wrap { aspect-ratio: 1/1; max-width: 520px; margin: 0 auto; }
  .float-card { max-width: 220px; padding: 0.75rem 0.9rem; }
  .float-card.fc-1 { left: 0.5rem; top: 4%; }
  .float-card.fc-2 { right: 0.5rem; bottom: 4%; }
}
@media (max-width: 480px) {
  .float-card { max-width: 190px; padding: 0.65rem 0.8rem; gap: 0.6rem; }
  .float-card .ico { width: 36px; height: 36px; }
  .float-card strong { font-size: 0.9rem; }
  .float-card span { font-size: 0.72rem; }
}

/* ===== Sections ===== */
section { padding: 6rem 0; position: relative; }
.section-eyebrow {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.32rem 0.85rem; border-radius: 999px;
  background: var(--warm-100); color: var(--orange-deep);
  font-weight: 600; font-size: 0.78rem;
  text-transform: uppercase; letter-spacing: 0.1em;
  margin-bottom: 1rem;
}
.section-head { max-width: 720px; margin: 0 auto 4rem; text-align: center; }
.section-head p { font-size: 1.08rem; margin-top: 1rem; color: var(--ink-soft); }

/* ===== Stats strip ===== */
.stats {
  background: var(--paper);
  border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft);
  padding: 3.5rem 0;
}
.stats-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem;
}
.stat {
  text-align: center; padding: 0 1rem;
  border-left: 1px solid var(--line-soft);
}
.stat:first-child { border-left: none; }
.stat-num { font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: clamp(2.2rem, 3.5vw, 3rem); font-weight: 500; color: var(--ink); line-height: 1; }
.stat-num .accent { color: var(--orange-deep); }
.stat-label { font-size: 0.88rem; color: var(--muted); margin-top: 0.5rem; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600; }
@media (max-width: 760px) {
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 2.5rem 1rem; }
  .stat { border-left: none; }
  .stat:nth-child(odd) { border-right: 1px solid var(--line-soft); }
}

/* ===== Cards / Services ===== */
.cards {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem;
}
.card {
  background: #fff;
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-xs);
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1), box-shadow 0.4s ease, border-color 0.3s ease;
  display: flex; flex-direction: column;
}
.card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-md);
  border-color: var(--line);
}
.card-img { aspect-ratio: 16/10; overflow: hidden; background: var(--warm-100); }
.card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s ease; }
.card:hover .card-img img { transform: scale(1.06); }
.card-body { padding: 1.75rem; display: flex; flex-direction: column; flex: 1; }
.card-icon {
  width: 46px; height: 46px; border-radius: 12px;
  background: var(--warm-100); color: var(--orange-deep);
  display: grid; place-items: center; font-size: 1.25rem; margin-bottom: 1.1rem;
  transition: background 0.3s ease, color 0.3s ease;
}
.card:hover .card-icon { background: var(--gradient-warm); color: #fff; }
.card h3 { margin-bottom: 0.55rem; }
.card p { font-size: 0.96rem; margin-bottom: 1.4rem; }
.card-link {
  margin-top: auto; color: var(--orange-deep); font-weight: 600;
  display: inline-flex; align-items: center; gap: 0.4rem;
  font-size: 0.92rem; align-self: flex-start;
}
.card-link:hover { color: var(--ink); }
.card-link .arrow { transition: transform 0.3s ease; }
.card-link:hover .arrow { transform: translateX(4px); }

/* ===== About / Two-col ===== */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 4.5rem; align-items: center; }
.split-img {
  border-radius: var(--radius-xl); overflow: hidden;
  box-shadow: var(--shadow-md); position: relative;
}
.split-img img { aspect-ratio: 4/5; object-fit: cover; width: 100%; }
.split-quote {
  position: absolute; left: 1.25rem; bottom: 1.25rem; right: 1.25rem;
  background: rgba(255,255,255,0.96); backdrop-filter: blur(10px);
  border-radius: 16px; padding: 1.1rem 1.25rem;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-style: italic; font-size: 1rem;
  color: var(--ink); box-shadow: var(--shadow-sm);
}
.split-quote .cite { display: block; font-style: normal; font-size: 0.8rem; color: var(--muted); margin-top: 0.4rem; font-family: "Inter", sans-serif; font-weight: 600; }
@media (max-width: 900px) { .split { grid-template-columns: 1fr; gap: 2.5rem; } }

/* ===== Pillars ===== */
.pillars { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.25rem; }
.pillar {
  background: #fff; border: 1px solid var(--line-soft);
  border-radius: var(--radius-lg); padding: 1.75rem;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.3s ease;
}
.pillar:hover { transform: translateY(-4px); border-color: var(--gold); box-shadow: var(--shadow-sm); }
.pillar-icon {
  width: 44px; height: 44px; border-radius: 12px;
  background: var(--warm-100); color: var(--orange-deep);
  display: grid; place-items: center; font-size: 1.2rem; margin-bottom: 1.1rem;
}
.pillar h3 { font-size: 1.1rem; margin-bottom: 0.45rem; font-family: "Inter", sans-serif; font-weight: 600; letter-spacing: -0.01em; }
.pillar p { font-size: 0.93rem; }

/* ===== Mission / Vision ===== */
.mv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.75rem; }
.mv-card {
  padding: 3rem 2.75rem; border-radius: var(--radius-xl);
  background: #fff; border: 1px solid var(--line-soft);
  position: relative; overflow: hidden; box-shadow: var(--shadow-sm);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.mv-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.mv-card.warm { background: linear-gradient(160deg, var(--warm-100) 0%, #fff 62%); border-color: var(--warm-200); }
.mv-card.dark { background: linear-gradient(160deg, #2a231d 0%, var(--ink) 60%); border-color: var(--ink); }

.mv-icon {
  width: 60px; height: 60px; border-radius: 17px;
  display: grid; place-items: center; font-size: 1.65rem;
  background: var(--gradient-warm); color: #fff;
  box-shadow: var(--shadow-warm); margin-bottom: 1.5rem;
  position: relative; z-index: 1;
}
.mv-card .mv-eyebrow {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-size: 0.74rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em;
  color: var(--orange-deep); margin-bottom: 0.7rem;
  position: relative; z-index: 1;
}
.mv-card.dark .mv-eyebrow { color: var(--gold); }
.mv-card h3 { margin-bottom: 0.85rem; font-size: 1.6rem; color: var(--ink); position: relative; z-index: 1; }
.mv-card.dark h3 { color: #fff; }
.mv-card p { font-size: 1.02rem; line-height: 1.72; color: var(--ink-soft); margin: 0; position: relative; z-index: 1; }
.mv-card.dark p { color: rgba(244,248,253,0.80); }

/* soft decorative glow in the corner */
.mv-card::before {
  content: ""; position: absolute; right: -50px; bottom: -60px;
  width: 210px; height: 210px; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(30,80,200,0.10), transparent 72%);
  pointer-events: none; z-index: 0;
}
.mv-card.dark::before { background: radial-gradient(closest-side, rgba(56,189,248,0.20), transparent 72%); }

@media (max-width: 760px) { .mv-grid { grid-template-columns: 1fr; } .mv-card { padding: 2.25rem 1.85rem; } }

/* ===== Contact form ===== */
.contact-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 3rem; }
.form-card {
  background: #fff; border: 1px solid var(--line-soft);
  border-radius: var(--radius-xl); padding: 2.5rem;
  box-shadow: var(--shadow-sm);
}
.form-field { margin-bottom: 1.25rem; }
.form-field label { display: block; font-weight: 600; margin-bottom: 0.45rem; font-size: 0.85rem; color: var(--ink); }
.form-field input, .form-field textarea, .form-field select {
  width: 100%; padding: 0.85rem 1rem;
  border: 1.5px solid var(--line); border-radius: 12px;
  font: inherit; background: #fff; color: var(--ink);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.form-field input:focus, .form-field textarea:focus, .form-field select:focus {
  outline: none; border-color: var(--orange);
  box-shadow: 0 0 0 4px rgba(30,80,200,0.12);
}
.form-field textarea { min-height: 140px; resize: vertical; }

.contact-info { display: flex; flex-direction: column; gap: 1rem; }
.contact-item {
  display: flex; gap: 1rem; padding: 1.25rem;
  background: var(--paper); border: 1px solid var(--line-soft);
  border-radius: var(--radius-lg);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.contact-item:hover { transform: translateY(-2px); border-color: var(--line); box-shadow: var(--shadow-xs); }
.contact-item .ico {
  width: 44px; height: 44px; border-radius: 12px;
  background: var(--gradient-warm); color: #fff;
  display: grid; place-items: center; flex-shrink: 0; font-size: 1.15rem;
}
.contact-item strong { display: block; margin-bottom: 0.2rem; color: var(--ink); }
.contact-item p { font-size: 0.92rem; }
@media (max-width: 900px) { .contact-grid { grid-template-columns: 1fr; } }

/* ===== FAQ ===== */
.faq { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: 0.65rem; }
.faq-item {
  background: #fff; border: 1px solid var(--line-soft);
  border-radius: var(--radius); overflow: hidden;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.faq-item.open { border-color: var(--line); box-shadow: var(--shadow-xs); }
.faq-q {
  width: 100%; text-align: left; padding: 1.25rem 1.5rem;
  font-weight: 600; font-size: 1.02rem; color: var(--ink);
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
}
.faq-q .chev {
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--warm-100); color: var(--orange-deep);
  display: grid; place-items: center; flex-shrink: 0;
  transition: transform 0.35s ease, background 0.25s ease, color 0.25s ease;
  font-size: 1rem;
}
.faq-item.open .chev { transform: rotate(45deg); background: var(--orange); color: #fff; }
.faq-a { max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.4s ease; padding: 0 1.5rem; color: var(--ink-soft); }
.faq-item.open .faq-a { max-height: 320px; padding: 0 1.5rem 1.4rem; }

/* ===== CTA banner ===== */
.cta-banner {
  background: var(--ink); color: #fff;
  border-radius: var(--radius-xl); padding: 4.5rem 3rem; text-align: center;
  position: relative; overflow: hidden;
}
.cta-banner::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(600px 300px at 80% 0%, rgba(56,189,248,0.08), transparent 60%),
              radial-gradient(500px 300px at 10% 100%, rgba(30,80,200,0.18), transparent 60%);
}
.cta-banner > * { position: relative; }
.cta-banner h2 { color: #fff; margin-bottom: 1rem; }
.cta-banner p { color: rgba(244,248,253,0.80); font-size: 1.1rem; margin-bottom: 2.25rem; max-width: 580px; margin-left: auto; margin-right: auto; }
.cta-banner .btn-primary { background: var(--gold); color: var(--ink); }
.cta-banner .btn-primary:hover { background: #fff; color: var(--ink); }
.cta-banner .btn-outline { border-color: rgba(255,255,255,0.4); color: #fff; }
.cta-banner .btn-outline:hover { background: #fff; color: var(--ink); border-color: #fff; }

/* ===== Footer ===== */
.footer {
  background: var(--ink); color: rgba(244,248,253,0.65);
  padding: 5rem 0 2rem;
}
.footer h4 { color: #fff; margin-bottom: 1.1rem; font-size: 0.85rem; font-family: "Inter", sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; }
.footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 3rem; margin-bottom: 3.5rem; }
.footer-logo img { height: 72px; width: auto; margin-bottom: 1.25rem; }
.footer-logo p { font-size: 0.95rem; color: rgba(244,248,253,0.55); max-width: 30rem; line-height: 1.7; }
.footer-tags { display: flex; gap: 0.5rem; margin-top: 1.25rem; flex-wrap: wrap; }
.footer-tags span {
  font-size: 0.72rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em;
  padding: 0.32rem 0.7rem; border-radius: 999px;
  background: rgba(255,255,255,0.06); color: rgba(244,248,253,0.75);
  border: 1px solid rgba(255,255,255,0.08);
}
.footer ul { list-style: none; display: flex; flex-direction: column; gap: 0.55rem; }
.footer a { color: rgba(244,248,253,0.65); transition: color 0.2s ease; font-size: 0.93rem; }
.footer a:hover { color: var(--gold); }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08); padding-top: 2rem;
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem;
  font-size: 0.85rem; color: rgba(244,248,253,0.45);
}
@media (max-width: 820px) { .footer-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; } }
@media (max-width: 480px) { .footer-grid { grid-template-columns: 1fr; } }

/* ===== Reveal animations ===== */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.9s cubic-bezier(0.16,1,0.3,1), transform 0.9s cubic-bezier(0.16,1,0.3,1); }
.reveal.in { opacity: 1; transform: translateY(0); }
.reveal-left { opacity: 0; transform: translateX(-36px); transition: opacity 0.9s cubic-bezier(0.16,1,0.3,1), transform 0.9s cubic-bezier(0.16,1,0.3,1); }
.reveal-left.in { opacity: 1; transform: translateX(0); }
.reveal-right { opacity: 0; transform: translateX(36px); transition: opacity 0.9s cubic-bezier(0.16,1,0.3,1), transform 0.9s cubic-bezier(0.16,1,0.3,1); }
.reveal-right.in { opacity: 1; transform: translateX(0); }
.reveal-scale { opacity: 0; transform: scale(0.94); transition: opacity 0.9s cubic-bezier(0.16,1,0.3,1), transform 0.9s cubic-bezier(0.16,1,0.3,1); }
.reveal-scale.in { opacity: 1; transform: scale(1); }

/* ===== Page header ===== */
.page-header {
  padding: 5rem 0 4rem;
  background: radial-gradient(1000px 640px at 100% -30%, rgba(56,189,248,0.24), transparent 60%), linear-gradient(180deg, #fff8f1 0%, #ffffff 100%);
  border-bottom: 1px solid var(--line-soft);
}
.page-header h1 { font-size: clamp(2.4rem, 4.5vw, 4rem); margin-bottom: 1rem; }
.page-header p { font-size: 1.12rem; max-width: 640px; color: var(--ink-soft); }
.crumbs { font-size: 0.8rem; color: var(--muted); margin-bottom: 1.25rem; text-transform: uppercase; letter-spacing: 0.1em; font-weight: 600; }
.crumbs a { color: var(--orange-deep); }

/* ===== Service detail ===== */
.detail-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.detail-hero img {
  border-radius: var(--radius-xl); aspect-ratio: 4/5; object-fit: cover; width: 100%;
  box-shadow: var(--shadow-md);
}
.benefits-list { list-style: none; display: flex; flex-direction: column; gap: 0.7rem; margin-top: 1rem; }
.benefits-list li {
  display: flex; gap: 0.85rem; align-items: flex-start;
  padding: 0.95rem 1.1rem; background: var(--paper);
  border: 1px solid var(--line-soft); border-radius: 12px;
  font-weight: 500; color: var(--ink);
}
.benefits-list li::before {
  content: "✓"; color: #fff; background: var(--orange);
  width: 24px; height: 24px; border-radius: 50%;
  display: inline-grid; place-items: center; font-weight: 700; flex-shrink: 0; font-size: 0.75rem;
  margin-top: 2px;
}
@media (max-width: 860px) { .detail-hero { grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
  .reveal, .reveal-left, .reveal-right, .reveal-scale { opacity: 1; transform: none; }
}

/* ================================================================
   v2 — React-feel polish: orbs, glass, stagger, tilt, shimmer
   ================================================================ */

/* Animated gradient orbs behind hero */
.hero { isolation: isolate; }
.orb {
  position: absolute; border-radius: 50%; filter: blur(100px);
  opacity: 0.16; z-index: 0; pointer-events: none;
  animation: orbFloat 20s ease-in-out infinite;
  will-change: transform;
}
.orb-1 { width: 520px; height: 520px; background: radial-gradient(circle, #38bdf8, transparent 70%); top: -180px; right: -120px; }
.orb-2 { width: 460px; height: 460px; background: radial-gradient(circle, #1e50c8, transparent 70%); bottom: -200px; left: -140px; animation-delay: -6s; animation-duration: 24s; opacity: 0.12; }
.orb-3 { width: 360px; height: 360px; background: radial-gradient(circle, #2563eb, transparent 70%); top: 38%; left: 42%; animation-delay: -12s; animation-duration: 28s; opacity: 0.08; }
@keyframes orbFloat {
  0%,100% { transform: translate(0,0) scale(1); }
  33% { transform: translate(40px,-30px) scale(1.08); }
  66% { transform: translate(-30px,35px) scale(0.95); }
}
.hero > .container { position: relative; z-index: 2; }

/* Soft dotted backdrop — much subtler than a grid */
.mesh-bg {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background-image: radial-gradient(rgba(21,34,78,0.06) 1px, transparent 1.4px);
  background-size: 28px 28px;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 45%, #000 0%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 45%, #000 0%, transparent 75%);
  opacity: 0.55;
}

/* Hero h1 word-by-word stagger */
.word-stagger .word {
  display: inline-block; opacity: 0; transform: translateY(40px) rotate(2deg);
  transition: opacity 0.9s cubic-bezier(0.16,1,0.3,1), transform 0.9s cubic-bezier(0.16,1,0.3,1);
}
.word-stagger.in .word { opacity: 1; transform: translateY(0) rotate(0); }

/* Animated underline accent on italic */
.italic-anim {
  font-style: italic; color: var(--orange-deep);
  position: relative; display: inline-block;
}
.italic-anim::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -0.1em;
  height: 0.32em; background: var(--gold); opacity: 0.45; z-index: -1;
  border-radius: 4px;
  transform: scaleX(0); transform-origin: left;
  animation: underlineGrow 1s 0.9s cubic-bezier(0.16,1,0.3,1) forwards;
}
@keyframes underlineGrow { to { transform: scaleX(1); } }

/* Gradient text animated */
.text-gradient-anim {
  background: linear-gradient(120deg, #38bdf8, #2563eb, #1e50c8, #2563eb, #38bdf8);
  background-size: 300% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: gradientShift 8s ease-in-out infinite;
}
@keyframes gradientShift { 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }

/* Card tilt + shimmer */
.card { position: relative; transform-style: preserve-3d; }
.card::before {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,0.55) 50%, transparent 70%);
  transform: translateX(-110%); transition: transform 0.8s ease;
  border-radius: inherit;
}
.card:hover::before { transform: translateX(110%); }
.card[data-tilt] { transition: transform 0.25s cubic-bezier(0.16,1,0.3,1), box-shadow 0.4s ease, border-color 0.3s ease; }

/* Magnetic button */
.btn { position: relative; overflow: hidden; }
.btn::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit;
  background: radial-gradient(120px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,0.25), transparent 60%);
  opacity: 0; transition: opacity 0.3s ease;
  pointer-events: none;
}
.btn:hover::after { opacity: 1; }

/* Floating card pulse ring */
.float-card .ico { position: relative; }
.float-card .ico::before {
  content: ""; position: absolute; inset: -4px; border-radius: 14px;
  border: 2px solid var(--orange); opacity: 0;
  animation: pulseRing 2.4s ease-out infinite;
}
@keyframes pulseRing {
  0% { transform: scale(0.9); opacity: 0.7; }
  100% { transform: scale(1.35); opacity: 0; }
}

/* Marquee logo / trust strip */
.marquee {
  overflow: hidden; padding: 1.75rem 0;
  background: var(--paper); border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft);
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.marquee-track {
  display: flex; gap: 3.5rem; width: max-content;
  animation: marqueeScroll 32s linear infinite;
}
.marquee-track span {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-style: italic; font-size: 1.35rem; color: var(--ink-soft);
  display: inline-flex; align-items: center; gap: 1rem; white-space: nowrap;
}
.marquee-track span::after { content: "★"; color: var(--gold); font-style: normal; font-size: 0.9rem; }
@keyframes marqueeScroll { to { transform: translateX(-50%); } }

/* Stat number with animated counter */
.stat-num { display: inline-block; transition: color 0.3s ease; }
.stat:hover .stat-num { color: var(--orange-deep); }
.stat { transition: transform 0.3s ease; }
.stat:hover { transform: translateY(-3px); }

/* Pillar glow on hover */
.pillar { position: relative; overflow: hidden; }
.pillar::before {
  content: ""; position: absolute; top: -2px; left: -2px; right: -2px; bottom: -2px;
  background: var(--gradient-warm); border-radius: inherit;
  opacity: 0; z-index: -1; filter: blur(14px);
  transition: opacity 0.4s ease;
}
.pillar:hover::before { opacity: 0.35; }
.pillar:hover .pillar-icon { background: var(--gradient-warm); color: #fff; transform: rotate(-6deg) scale(1.08); }
.pillar-icon { transition: transform 0.35s ease, background 0.3s ease, color 0.3s ease; }

/* MV card animated gradient border */
.mv-card { position: relative; }
.mv-card.warm::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(120deg, transparent 40%, rgba(56,189,248,0.072) 50%, transparent 60%);
  background-size: 200% 100%; animation: shimmerSlow 6s ease-in-out infinite;
}
@keyframes shimmerSlow { 0%,100% { background-position: -100% 0; } 50% { background-position: 200% 0; } }

/* CTA banner subtle moving glow */
.cta-banner::after {
  content: ""; position: absolute; inset: 0;
  background: conic-gradient(from var(--ang,0deg) at 50% 50%, transparent, rgba(56,189,248,0.04), transparent 30%);
  animation: spinSlow 20s linear infinite;
  pointer-events: none;
}
@property --ang { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
@keyframes spinSlow { to { --ang: 360deg; transform: rotate(0); } }

/* Floating chip in section heads */
.section-eyebrow {
  background: linear-gradient(135deg, #fff, var(--warm-100));
  border: 1px solid var(--warm-200);
  box-shadow: 0 2px 8px -2px rgba(30,80,200,0.15);
  transition: transform 0.3s ease;
}
.section-eyebrow:hover { transform: translateY(-2px); }

/* Smooth float card entrance */
.float-card { animation: floaty 6s ease-in-out infinite, fcEnter 1s 0.4s cubic-bezier(0.16,1,0.3,1) backwards; }
.float-card.fc-2 { animation: floaty 7s ease-in-out -2s infinite, fcEnter 1s 0.7s cubic-bezier(0.16,1,0.3,1) backwards; }
@keyframes fcEnter { from { opacity: 0; transform: translateY(20px) scale(0.9); } to { opacity: 1; transform: translateY(0) scale(1); } }

/* Section eyebrow with line */
.eyebrow-line { display: inline-flex; align-items: center; gap: 0.6rem; }
.eyebrow-line::before {
  content: ""; width: 28px; height: 1.5px; background: var(--orange-deep);
}

/* Image wrap shine */
.hero-img-wrap::before {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,0.30) 50%, transparent 70%);
  transform: translateX(-110%);
  animation: shine 4s 1.5s ease-in-out infinite;
}
@keyframes shine {
  0%, 60% { transform: translateX(-110%); }
  75%, 100% { transform: translateX(110%); }
}

/* Smoother scroll progress */
.scroll-progress { height: 3px; background: var(--gradient-warm); box-shadow: 0 0 12px rgba(30,80,200,0.3); }

/* Reveal stagger children */
.stagger > * { opacity: 0; transform: translateY(24px); transition: opacity 0.7s cubic-bezier(0.16,1,0.3,1), transform 0.7s cubic-bezier(0.16,1,0.3,1); }
.stagger.in > * { opacity: 1; transform: translateY(0); }
.stagger.in > *:nth-child(1) { transition-delay: 0ms; }
.stagger.in > *:nth-child(2) { transition-delay: 80ms; }
.stagger.in > *:nth-child(3) { transition-delay: 160ms; }
.stagger.in > *:nth-child(4) { transition-delay: 240ms; }
.stagger.in > *:nth-child(5) { transition-delay: 320ms; }
.stagger.in > *:nth-child(6) { transition-delay: 400ms; }

/* Smooth link hover */
a, .card-link { transition: color 0.25s ease; }

/* (background noise removed for a cleaner, minimal surface) */

/* ================================================================
   Services Page — Enhanced Design
   ================================================================ */

/* ── Page Hero ───────────────────────────────────────────────── */
.svc-hero {
  position: relative;
  padding: 5.5rem 0 7rem;
  background: radial-gradient(1000px 640px at 100% -30%, rgba(56,189,248,0.24), transparent 60%), linear-gradient(180deg, #fff8f1 0%, #ffffff 100%);
  overflow: hidden;
  isolation: isolate;
}

.svc-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  pointer-events: none;
  z-index: 0;
  animation: orbFloat 22s ease-in-out infinite;
}
.svc-orb-1 {
  width: 520px; height: 520px;
  background: radial-gradient(circle, #38bdf8 0%, transparent 68%);
  top: -220px; right: -100px;
  opacity: 0.38;
}
.svc-orb-2 {
  width: 420px; height: 420px;
  background: radial-gradient(circle, #1e50c8 0%, transparent 68%);
  bottom: -180px; left: -100px;
  opacity: 0.22;
  animation-delay: -9s;
  animation-duration: 26s;
}

.svc-hero > .container { position: relative; z-index: 2; }

.svc-chips {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin-bottom: 1.85rem;
}
.svc-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.38rem 0.95rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.78);
  border: 1px solid var(--line);
  font-size: 0.79rem;
  font-weight: 600;
  color: var(--ink-soft);
  box-shadow: var(--shadow-xs);
  backdrop-filter: blur(6px);
}
.chip-live {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #22a06b;
  box-shadow: 0 0 0 3px rgba(34,160,107,0.22);
}

.svc-hero-title {
  font-size: clamp(2.8rem, 6vw, 5rem);
  margin-bottom: 1.25rem;
  max-width: 780px;
  line-height: 1.05;
}

.svc-hero-lead {
  font-size: 1.18rem;
  max-width: 580px;
  color: var(--ink-soft);
  line-height: 1.72;
  margin-bottom: 2.25rem;
}

.svc-hero-cta {
  display: flex;
  gap: 0.85rem;
  flex-wrap: wrap;
  align-items: center;
}

.svc-wave {
  position: absolute;
  bottom: -2px; left: 0; right: 0;
  z-index: 2;
}
.svc-wave svg {
  display: block;
  width: 100%;
  height: 72px;
}

@media (max-width: 700px) {
  .svc-hero { padding: 4rem 0 6rem; }
  .svc-hero-title { font-size: clamp(2.2rem, 8vw, 3rem); }
}

/* ── Service Cards ───────────────────────────────────────────── */
.svc-grid-section { padding: 7rem 0; }

.svc-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  gap: 1.75rem;
}

.svc-card {
  background: #fff;
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow-xs);
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1), box-shadow 0.4s ease, border-color 0.3s ease;
}
.svc-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-md);
  border-color: var(--line);
}

.svc-card-top-bar {
  height: 4px;
  background: var(--gradient-warm);
  flex-shrink: 0;
}

.svc-card-img {
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--warm-100);
}
.svc-card-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 1s ease;
}
.svc-card:hover .svc-card-img img { transform: scale(1.07); }

.svc-card-body {
  padding: 2rem 1.85rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.svc-card-icon {
  width: 52px; height: 52px;
  border-radius: 14px;
  background: var(--warm-100);
  display: grid;
  place-items: center;
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
  transition: background 0.35s ease, transform 0.35s ease;
}
.svc-card:hover .svc-card-icon {
  background: var(--gradient-warm);
  transform: rotate(-6deg) scale(1.1);
}

.svc-card h3 {
  font-size: 1.28rem;
  margin-bottom: 0.65rem;
}
.svc-card p {
  font-size: 0.97rem;
  color: var(--ink-soft);
  line-height: 1.72;
  margin-bottom: 1.5rem;
  flex: 1;
}

.svc-card-link {
  color: var(--orange-deep);
  font-weight: 700;
  font-size: 0.9rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  align-self: flex-start;
  transition: color 0.25s ease;
}
.svc-card-link .arrow { transition: transform 0.3s ease; }
.svc-card-link:hover { color: var(--ink); }
.svc-card-link:hover .arrow { transform: translateX(5px); }

/* card shimmer sweep */
.svc-card::before {
  content: "";
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(115deg, transparent 28%, rgba(255,255,255,0.52) 50%, transparent 72%);
  transform: translateX(-115%);
  transition: transform 0.85s ease;
  border-radius: inherit;
}
.svc-card:hover::before { transform: translateX(115%); }

/* ── Steps Section ───────────────────────────────────────────── */
.steps-section {
  background: var(--cream);
  padding: 7rem 0;
  position: relative;
  overflow: hidden;
}
.steps-section::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--warm-200) 30%, var(--warm-200) 70%, transparent);
}

.steps-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  position: relative;
  margin-bottom: 3.5rem;
  align-items: start;
}

.steps-line {
  position: absolute;
  top: 27px;
  left: calc(16.67% + 28px);
  right: calc(16.67% + 28px);
  height: 2px;
  background: linear-gradient(90deg, var(--gold), var(--orange));
  opacity: 0.4;
  z-index: 0;
  border-radius: 2px;
}

.step {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1.35rem;
}

.step-bubble {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--gradient-warm);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  box-shadow: 0 8px 28px -8px rgba(30,80,200,0.3);
  position: relative;
}
.step-bubble::after {
  content: "";
  position: absolute; inset: -5px;
  border-radius: 50%;
  border: 2px solid rgba(30,80,200,0.28);
  animation: pulseRing 2.8s ease-out infinite;
}
.step-bubble span {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: 1.45rem;
  font-weight: 600;
  color: #fff;
  line-height: 1;
}

.step-card {
  background: #fff;
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-lg);
  padding: 1.85rem 1.65rem;
  box-shadow: var(--shadow-xs);
  width: 100%;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.3s ease;
}
.step-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-sm);
  border-color: var(--warm-200);
}

.step-emoji {
  font-size: 2rem;
  margin-bottom: 0.9rem;
  line-height: 1;
}
.step-card h3 {
  font-size: 1.12rem;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin-bottom: 0.55rem;
}
.step-card p {
  font-size: 0.95rem;
  color: var(--ink-soft);
  line-height: 1.68;
}

.steps-cta {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

@media (max-width: 760px) {
  .steps-row { grid-template-columns: 1fr; gap: 1.5rem; }
  .steps-line { display: none; }
  .step { flex-direction: row; text-align: left; align-items: flex-start; }
  .step-bubble { margin-top: 0; }
  .step-card { padding: 1.5rem; }
}

/* ================================================================
   Footer v2 — Beautiful redesign
   ================================================================ */

.footer-v2 {
  position: relative;
  background: var(--ink);
  color: rgba(244,248,253,0.65);
}

.footer-glow-bar {
  height: 4px;
  background: var(--gradient-warm);
  box-shadow: 0 0 20px rgba(30,80,200,0.3);
}

.footer-body {
  padding: 5rem 0 4rem;
}

.ftr-grid {
  display: grid;
  grid-template-columns: 1.9fr 1fr 1fr 1.25fr;
  gap: 3rem;
}

/* Brand column */
.ftr-brand img {
  height: 70px; width: auto;
  margin-bottom: 1.15rem;
}
.ftr-brand > p {
  font-size: 0.95rem;
  color: rgba(244,248,253,0.52);
  line-height: 1.72;
  max-width: 240px;
  margin-bottom: 1.5rem;
}

.ftr-social {
  display: flex;
  gap: 0.55rem;
  margin-bottom: 1.75rem;
}
.ftr-social-icon {
  width: 38px; height: 38px;
  border-radius: 10px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  display: grid;
  place-items: center;
  color: rgba(244,248,253,0.55);
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}
.ftr-social-icon:hover {
  background: var(--gradient-warm);
  border-color: transparent;
  color: #fff;
  transform: translateY(-3px);
}

.ftr-ndis {
  display: inline-flex;
  align-items: center;
  gap: 0.9rem;
  padding: 0.8rem 1.1rem;
  border-radius: var(--radius);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
}
.ftr-ndis-icon {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: var(--gradient-warm);
  display: grid;
  place-items: center;
  font-size: 0.92rem;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
  box-shadow: 0 4px 12px -4px rgba(30,80,200,0.3);
}
.ftr-ndis strong {
  display: block;
  font-size: 0.84rem;
  color: rgba(244,248,253,0.9);
  font-weight: 600;
  margin-bottom: 0.1rem;
}
.ftr-ndis span {
  font-size: 0.75rem;
  color: rgba(244,248,253,0.42);
}

/* Nav columns */
.ftr-nav h4 {
  color: #fff;
  font-size: 0.8rem;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 1.3rem;
}
.ftr-nav ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.ftr-nav a {
  color: rgba(244,248,253,0.58);
  font-size: 0.92rem;
  transition: color 0.2s ease, padding-left 0.2s ease;
  display: inline-block;
}
.ftr-nav a:hover {
  color: var(--gold);
  padding-left: 5px;
}

/* Contact column */
.ftr-contact h4 {
  color: #fff;
  font-size: 0.8rem;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 1.3rem;
}
.ftr-contact-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-bottom: 1.75rem;
}
.ftr-contact-list li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: rgba(244,248,253,0.62);
  font-size: 0.91rem;
}
.ftr-cico {
  width: 32px; height: 32px;
  border-radius: 9px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  display: grid;
  place-items: center;
  font-size: 0.88rem;
  flex-shrink: 0;
}
.ftr-cta {
  font-size: 0.88rem;
  padding: 0.65rem 1.3rem;
}

/* Bottom bar */
.footer-bottom-bar {
  background: rgba(0,0,0,0.25);
  border-top: 1px solid rgba(255,255,255,0.07);
}
.ftr-bottom {
  padding: 1.4rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 0.82rem;
  color: rgba(244,248,253,0.38);
}
.ftr-legal {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.ftr-legal a {
  color: rgba(244,248,253,0.38);
  font-size: 0.82rem;
  transition: color 0.2s ease;
}
.ftr-legal a:hover { color: var(--gold); }

/* Responsive footer */
@media (max-width: 1050px) {
  .ftr-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
}
@media (max-width: 600px) {
  .ftr-grid { grid-template-columns: 1fr; gap: 2rem; }
  .footer-body { padding: 3.5rem 0 3rem; }
  .ftr-bottom { flex-direction: column; text-align: center; }
  .ftr-legal { justify-content: center; }
}

/* ================================================================
   Full Site Redesign — shared rich components
   ================================================================ */

/* ── Section rhythm helpers ─────────────────────────────────── */
.bg-cream { background: var(--cream); }
.bg-paper { background: var(--paper); border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.bg-ink { background: var(--ink); color: rgba(244,248,253,0.72); }
.bg-ink h2, .bg-ink h3 { color: #fff; }
.text-center { text-align: center; }
.mt-2 { margin-top: 2rem; } .mt-3 { margin-top: 3rem; }

/* ── Eyebrow number tag ─────────────────────────────────────── */
.reg-tag {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--orange-deep); margin-bottom: 0.9rem;
}
.reg-tag::before { content: ""; width: 26px; height: 2px; background: var(--orange); border-radius: 2px; }

/* ── Service detail hero (image + text) ─────────────────────── */
.detail-top {
  position: relative;
  padding: 4.5rem 0 5.5rem;
  background: radial-gradient(1000px 640px at 100% -30%, rgba(56,189,248,0.24), transparent 60%), linear-gradient(180deg, #fff8f1 0%, #ffffff 100%);
  border-bottom: 1px solid var(--line-soft);
  overflow: hidden;
}
.detail-top-grid {
  display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 4rem; align-items: center;
  position: relative; z-index: 2;
}
.detail-top h1 { font-size: clamp(2.4rem, 4.6vw, 3.9rem); margin-bottom: 1.1rem; }
.detail-top .lead { font-size: 1.14rem; color: var(--ink-soft); line-height: 1.72; margin-bottom: 1.75rem; max-width: 34rem; }
.detail-facts { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-bottom: 2rem; }
.detail-fact {
  display: inline-flex; align-items: center; gap: 0.45rem;
  padding: 0.4rem 0.85rem; border-radius: 999px;
  background: #fff; border: 1px solid var(--line);
  font-size: 0.8rem; font-weight: 600; color: var(--ink-soft);
  box-shadow: var(--shadow-xs);
}
.detail-fact .fk { color: var(--orange-deep); }
.detail-cta { display: flex; gap: 0.75rem; flex-wrap: wrap; }

.detail-visual { position: relative; }
.detail-visual .frame {
  position: relative; border-radius: var(--radius-xl); overflow: hidden;
  aspect-ratio: 4/3.4;
  box-shadow: 0 34px 70px -32px rgba(21,34,78,0.32), 0 12px 26px -16px rgba(30,80,200,0.22);
}
.detail-visual .frame img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s ease; }
.detail-visual:hover .frame img { transform: scale(1.05); }
.detail-visual::before {
  content: ""; position: absolute; inset: -10% -6%;
  background: radial-gradient(closest-side, rgba(56,189,248,0.12), transparent 70%),
              radial-gradient(closest-side at 70% 80%, rgba(30,80,200,0.28), transparent 70%);
  filter: blur(40px); z-index: -1;
}
.detail-badge {
  position: absolute; bottom: -1.1rem; left: -1.1rem; z-index: 3;
  background: rgba(255,255,255,0.94); backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.7); border-radius: 16px;
  padding: 0.95rem 1.15rem; display: flex; gap: 0.8rem; align-items: center;
  box-shadow: 0 18px 40px -18px rgba(21,34,78,0.28);
  max-width: 250px;
}
.detail-badge .ico { width: 42px; height: 42px; border-radius: 12px; background: var(--gradient-warm); color: #fff; display: grid; place-items: center; font-size: 1.2rem; flex-shrink: 0; }
.detail-badge strong { display: block; font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1rem; color: var(--ink); }
.detail-badge span { font-size: 0.78rem; color: var(--muted); }
@media (max-width: 900px) {
  .detail-top-grid { grid-template-columns: 1fr; gap: 3rem; }
  .detail-visual .frame { aspect-ratio: 16/11; max-width: 560px; }
}

/* ── Feature zigzag rows ────────────────────────────────────── */
.feature-row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center;
  margin-bottom: 5rem;
}
.feature-row:last-child { margin-bottom: 0; }
.feature-row.flip .feature-media { order: 2; }
.feature-media {
  border-radius: var(--radius-xl); overflow: hidden;
  box-shadow: var(--shadow-md); position: relative;
  aspect-ratio: 5/4;
}
.feature-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s ease; }
.feature-media:hover img { transform: scale(1.06); }
.feature-text h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); margin-bottom: 1rem; }
.feature-text p { font-size: 1.02rem; line-height: 1.75; margin-bottom: 1rem; }
@media (max-width: 860px) {
  .feature-row { grid-template-columns: 1fr; gap: 2.25rem; margin-bottom: 3.5rem; }
  .feature-row.flip .feature-media { order: 0; }
}

/* ── Check list (rich) ──────────────────────────────────────── */
.check-list { list-style: none; display: grid; gap: 0.6rem; margin-top: 1.25rem; }
.check-list li {
  display: flex; gap: 0.75rem; align-items: flex-start;
  font-size: 0.98rem; color: var(--ink); font-weight: 500;
}
.check-list li::before {
  content: "✓"; flex-shrink: 0; margin-top: 1px;
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--warm-100); color: var(--orange-deep);
  display: inline-grid; place-items: center; font-size: 0.7rem; font-weight: 800;
}

/* ── Deliverables grid (icon + title + desc) ────────────────── */
.deliv-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; }
.deliv-card {
  background: #fff; border: 1px solid var(--line-soft);
  border-radius: var(--radius-lg); padding: 2rem 1.85rem;
  box-shadow: var(--shadow-xs);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.3s ease;
  position: relative; overflow: hidden;
}
.deliv-card::after {
  content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 3px;
  background: var(--gradient-warm); transform: scaleX(0); transform-origin: left;
  transition: transform 0.4s ease;
}
.deliv-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: var(--line); }
.deliv-card:hover::after { transform: scaleX(1); }
.deliv-ico {
  width: 54px; height: 54px; border-radius: 15px;
  background: var(--warm-100); color: var(--orange-deep);
  display: grid; place-items: center; font-size: 1.55rem; margin-bottom: 1.25rem;
  transition: background 0.35s ease, transform 0.35s ease, color 0.35s ease;
}
.deliv-card:hover .deliv-ico { background: var(--gradient-warm); color: #fff; transform: rotate(-6deg); }
.deliv-card h3 { font-size: 1.15rem; margin-bottom: 0.55rem; }
.deliv-card p { font-size: 0.95rem; line-height: 1.7; color: var(--ink-soft); }

/* ── Callout / highlight band ───────────────────────────────── */
.callout {
  background: linear-gradient(135deg, var(--warm-100) 0%, #fff 100%);
  border: 1px solid var(--warm-200);
  border-radius: var(--radius-xl);
  padding: 3rem 3.25rem;
  display: grid; grid-template-columns: auto 1fr; gap: 2rem; align-items: center;
  position: relative; overflow: hidden;
}
.callout .callout-ico {
  width: 76px; height: 76px; border-radius: 20px;
  background: var(--gradient-warm); color: #fff;
  display: grid; place-items: center; font-size: 2rem; flex-shrink: 0;
  box-shadow: var(--shadow-warm);
}
.callout h3 { font-size: 1.5rem; margin-bottom: 0.6rem; }
.callout p { font-size: 1.02rem; line-height: 1.72; color: var(--ink-soft); margin: 0; }
@media (max-width: 700px) {
  .callout { grid-template-columns: 1fr; padding: 2rem 1.75rem; gap: 1.25rem; text-align: center; }
  .callout .callout-ico { margin: 0 auto; }
}

/* ── Zero-cost / big highlight ──────────────────────────────── */
.hl-band {
  background: var(--ink); color: #fff; border-radius: var(--radius-xl);
  padding: 3.5rem 3rem; text-align: center; position: relative; overflow: hidden;
}
.hl-band::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(600px 300px at 80% 0%, rgba(56,189,248,0.072), transparent 60%),
              radial-gradient(500px 300px at 10% 100%, rgba(30,80,200,0.16), transparent 60%);
}
.hl-band > * { position: relative; }
.hl-band .big { font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: clamp(2.4rem, 5vw, 3.6rem); color: var(--gold); line-height: 1; margin-bottom: 0.75rem; }
.hl-band h3 { color: #fff; font-size: 1.6rem; margin-bottom: 0.75rem; }
.hl-band p { color: rgba(244,248,253,0.75); max-width: 620px; margin: 0 auto; font-size: 1.05rem; }

/* ── Testimonials ───────────────────────────────────────────── */
.testi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; }
.testi-card {
  background: #fff; border: 1px solid var(--line-soft);
  border-radius: var(--radius-lg); padding: 2rem;
  box-shadow: var(--shadow-xs); display: flex; flex-direction: column; gap: 1.25rem;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.testi-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
.testi-stars { color: var(--gold); font-size: 1rem; letter-spacing: 2px; }
.testi-card blockquote {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.08rem; line-height: 1.6;
  color: var(--ink); font-style: italic; flex: 1;
}
.testi-who { display: flex; align-items: center; gap: 0.85rem; }
.testi-who img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; }
.testi-who strong { display: block; font-size: 0.92rem; color: var(--ink); }
.testi-who span { font-size: 0.8rem; color: var(--muted); }

/* ── Service index quick cards (numbered) ───────────────────── */
.svc-index { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1.5rem; }
.svc-tile {
  position: relative; display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--line-soft);
  border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-xs);
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1), box-shadow 0.4s ease, border-color 0.3s ease;
}
.svc-tile:hover { transform: translateY(-8px); box-shadow: var(--shadow-md); border-color: var(--line); }
.svc-tile-img { aspect-ratio: 16/10; overflow: hidden; position: relative; }
.svc-tile-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s ease; }
.svc-tile:hover .svc-tile-img img { transform: scale(1.07); }
.svc-tile-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(21,34,78,0.35)); }
.svc-tile-num {
  position: absolute; top: 1rem; left: 1rem; z-index: 2;
  width: 38px; height: 38px; border-radius: 11px;
  background: rgba(255,255,255,0.92); color: var(--orange-deep);
  display: grid; place-items: center; font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-weight: 600; font-size: 1.05rem;
  box-shadow: var(--shadow-sm);
}
.svc-tile-emoji { position: absolute; bottom: 1rem; left: 1.15rem; z-index: 2; font-size: 1.9rem; filter: drop-shadow(0 3px 6px rgba(0,0,0,0.3)); }
.svc-tile-body { padding: 1.6rem 1.65rem 1.75rem; display: flex; flex-direction: column; flex: 1; }
.svc-tile-body h3 { font-size: 1.22rem; margin-bottom: 0.5rem; }
.svc-tile-reg { display: none; }
.svc-tile-body p { font-size: 0.95rem; line-height: 1.68; color: var(--ink-soft); margin-bottom: 1.25rem; flex: 1; }
.svc-tile-link { color: var(--orange-deep); font-weight: 700; font-size: 0.9rem; display: inline-flex; align-items: center; gap: 0.4rem; align-self: flex-start; }
.svc-tile-link .arrow { transition: transform 0.3s ease; }
.svc-tile:hover .svc-tile-link .arrow { transform: translateX(5px); }

/* ── Blog ───────────────────────────────────────────────────── */
.blog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1.75rem; }
.blog-card {
  background: #fff; border: 1px solid var(--line-soft);
  border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-xs);
  display: flex; flex-direction: column;
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1), box-shadow 0.4s ease, border-color 0.3s ease;
}
.blog-card:hover { transform: translateY(-7px); box-shadow: var(--shadow-md); border-color: var(--line); }
.blog-card-img { aspect-ratio: 16/9; overflow: hidden; position: relative; }
.blog-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s ease; }
.blog-card:hover .blog-card-img img { transform: scale(1.06); }
.blog-tag {
  position: absolute; top: 1rem; left: 1rem; z-index: 2;
  padding: 0.32rem 0.8rem; border-radius: 999px;
  background: rgba(255,255,255,0.92); color: var(--orange-deep);
  font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
  box-shadow: var(--shadow-xs);
}
.blog-card-body { padding: 1.6rem 1.6rem 1.75rem; display: flex; flex-direction: column; flex: 1; }
.blog-meta { font-size: 0.78rem; color: var(--muted); margin-bottom: 0.7rem; display: flex; gap: 0.6rem; align-items: center; }
.blog-meta .dot-sep { width: 3px; height: 3px; border-radius: 50%; background: var(--muted); }
.blog-card-body h3 { font-size: 1.2rem; line-height: 1.25; margin-bottom: 0.6rem; }
.blog-card-body p { font-size: 0.94rem; line-height: 1.65; color: var(--ink-soft); margin-bottom: 1.25rem; flex: 1; }
.blog-card-link { color: var(--orange-deep); font-weight: 700; font-size: 0.88rem; display: inline-flex; gap: 0.4rem; align-items: center; align-self: flex-start; }
.blog-card:hover .blog-card-link .arrow { transform: translateX(5px); }
.blog-card-link .arrow { transition: transform 0.3s ease; }

/* Featured blog (first) */
.blog-featured {
  display: grid; grid-template-columns: 1.15fr 1fr; gap: 0; margin-bottom: 2.5rem;
  background: #fff; border: 1px solid var(--line-soft); border-radius: var(--radius-xl);
  overflow: hidden; box-shadow: var(--shadow-sm);
}
.blog-featured .bf-img { position: relative; overflow: hidden; min-height: 320px; }
.blog-featured .bf-img img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; transition: transform 1.2s ease; }
.blog-featured:hover .bf-img img { transform: scale(1.05); }
.blog-featured .bf-body { padding: 2.75rem; display: flex; flex-direction: column; justify-content: center; }
.blog-featured .bf-body h2 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); margin: 0.75rem 0 1rem; }
.blog-featured .bf-body p { font-size: 1.02rem; line-height: 1.7; color: var(--ink-soft); margin-bottom: 1.5rem; }
@media (max-width: 820px) {
  .blog-featured { grid-template-columns: 1fr; }
  .blog-featured .bf-img { min-height: 240px; }
  .blog-featured .bf-body { padding: 2rem; }
}

/* ── Blog post article ──────────────────────────────────────── */
.post-hero {
  padding: 3.5rem 0 2.5rem;
  background: radial-gradient(1000px 640px at 100% -30%, rgba(56,189,248,0.24), transparent 60%), linear-gradient(180deg, #fff8f1 0%, #ffffff 100%);
  border-bottom: 1px solid var(--line-soft);
}
.post-hero .post-tag {
  display: inline-block; padding: 0.35rem 0.9rem; border-radius: 999px;
  background: var(--warm-100); color: var(--orange-deep);
  font-size: 0.74rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 1rem;
}
.post-hero h1 { font-size: clamp(2.1rem, 4vw, 3.3rem); max-width: 900px; margin-bottom: 1.1rem; }
.post-hero .post-meta { display: flex; gap: 0.9rem; align-items: center; font-size: 0.88rem; color: var(--muted); }
.post-hero .post-meta img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.post-cover { max-width: 1000px; margin: -1px auto 0; padding: 0 1.5rem; }
.post-cover img { width: 100%; border-radius: var(--radius-xl); aspect-ratio: 16/8; object-fit: cover; box-shadow: var(--shadow-md); margin-top: 2.5rem; }
.post-body { max-width: 760px; margin: 0 auto; padding: 3.5rem 1.5rem 1rem; }
.post-body p { font-size: 1.08rem; line-height: 1.85; color: var(--ink-soft); margin-bottom: 1.5rem; }
.post-body h2 { font-size: 1.7rem; margin: 2.5rem 0 1rem; }
.post-body h3 { font-size: 1.25rem; margin: 1.75rem 0 0.75rem; }
.post-body ul { margin: 0 0 1.5rem 0; padding-left: 0; list-style: none; display: grid; gap: 0.6rem; }
.post-body ul li { position: relative; padding-left: 1.75rem; font-size: 1.05rem; line-height: 1.7; color: var(--ink-soft); }
.post-body ul li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--orange-deep); font-weight: 800; }
.post-body blockquote {
  margin: 2rem 0; padding: 1.5rem 1.75rem; border-left: 4px solid var(--orange);
  background: var(--warm-100); border-radius: 0 14px 14px 0;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-style: italic; font-size: 1.2rem; color: var(--ink);
}
.post-body a.inline { color: var(--orange-deep); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* ── Mini CTA inline ────────────────────────────────────────── */
.inline-cta {
  margin: 3rem auto 0; max-width: 760px;
  background: var(--ink); color: #fff; border-radius: var(--radius-xl);
  padding: 2.5rem; text-align: center; position: relative; overflow: hidden;
}
.inline-cta::before { content: ""; position: absolute; inset: 0; background: radial-gradient(500px 260px at 80% 0%, rgba(56,189,248,0.072), transparent 60%); }
.inline-cta > * { position: relative; }
.inline-cta h3 { color: #fff; font-size: 1.5rem; margin-bottom: 0.6rem; }
.inline-cta p { color: rgba(244,248,253,0.78); margin-bottom: 1.5rem; }
.inline-cta .btn-primary { background: var(--gold); color: var(--ink); }
.inline-cta .btn-primary:hover { background: #fff; }

/* ── About: values / timeline ───────────────────────────────── */
.about-hero-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 4rem; align-items: center; }
.about-collage { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; gap: 1rem; }
.about-collage img { width: 100%; border-radius: 18px; object-fit: cover; box-shadow: var(--shadow-sm); }
.about-collage img:nth-child(1) { aspect-ratio: 3/4; }
.about-collage img:nth-child(2) { aspect-ratio: 3/4; margin-top: 2rem; }
.about-collage img:nth-child(3) { aspect-ratio: 3/4; margin-top: -1rem; }
.about-collage img:nth-child(4) { aspect-ratio: 3/4; margin-top: 1rem; }
@media (max-width: 900px) { .about-hero-grid { grid-template-columns: 1fr; gap: 2.5rem; } }

/* ── Contact enhancements reuse existing .contact-grid ──────── */
.contact-hero-band { background: var(--gradient-warm); }

/* ── Generic gallery strip ──────────────────────────────────── */
.gallery-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.gallery-strip img { width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: 16px; box-shadow: var(--shadow-xs); transition: transform 0.4s ease; }
.gallery-strip img:hover { transform: scale(1.03); }
@media (max-width: 760px) { .gallery-strip { grid-template-columns: 1fr 1fr; } }

/* ── Process timeline (numbered, vertical on mobile) reuse steps ── */

/* ── FAQ tweaks for detail pages ────────────────────────────── */
.faq-wrap { max-width: 820px; margin: 0 auto; }

/* Active nav link (used across pages) */
.nav-links a.active { color: #15224e; }

/* ================================================================
   Service pages v2 — modern, image-rich sections
   ================================================================ */

/* ── Hero: second overlapping badge (top-right) ─────────────── */
.detail-badge.tr {
  bottom: auto; left: auto; top: -1.1rem; right: -1.1rem;
  max-width: 210px;
}
.detail-badge.tr .ico { background: var(--ink); }
@media (max-width: 900px) { .detail-badge.tr { top: 0.75rem; right: 0.75rem; } }

/* ── "Who it's for" tags ────────────────────────────────────── */
.who-tags { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1.6rem; }
.who-tag {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.6rem 1.05rem; border-radius: 13px;
  background: #fff; border: 1px solid var(--line-soft);
  font-weight: 600; font-size: 0.88rem; color: var(--ink);
  box-shadow: var(--shadow-xs); transition: transform 0.25s ease, border-color 0.25s ease;
}
.who-tag:hover { transform: translateY(-2px); border-color: var(--gold); }
.who-tag::before { content: "✓"; color: var(--orange-deep); font-weight: 800; font-size: 0.82rem; }

/* ── Full-bleed showcase band ───────────────────────────────── */
.showcase {
  position: relative; overflow: hidden;
  padding: 6rem 0; display: flex; align-items: center; min-height: 440px;
}
.showcase .sc-bg {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0;
  transform: scale(1.02);
}
.showcase::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(21,34,78,0.90) 0%, rgba(21,34,78,0.66) 42%, rgba(21,34,78,0.25) 78%, rgba(21,34,78,0.10) 100%);
}
.showcase .container { position: relative; z-index: 2; }
.showcase .sc-mark { font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 4rem; line-height: 0.6; color: var(--gold); display: block; margin-bottom: 0.5rem; }
.showcase .sc-quote {
  max-width: 760px; color: #fff;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-style: italic; font-weight: 400;
  font-size: clamp(1.5rem, 3vw, 2.5rem); line-height: 1.32; letter-spacing: -0.01em;
}
.showcase .sc-author {
  margin-top: 1.5rem; color: var(--gold);
  font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.78rem;
  display: inline-flex; align-items: center; gap: 0.6rem;
}
.showcase .sc-author::before { content: ""; width: 26px; height: 2px; background: var(--gold); }

/* ── Dark stat band ─────────────────────────────────────────── */
.stat-band { background: var(--ink); position: relative; overflow: hidden; padding: 4rem 0; }
.stat-band::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(600px 300px at 85% 0%, rgba(56,189,248,0.056), transparent 60%),
              radial-gradient(500px 280px at 5% 100%, rgba(30,80,200,0.12), transparent 60%);
}
.stat-band .container { position: relative; z-index: 1; }
.stat-band .sb-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.stat-band .sb-item { text-align: center; padding: 0 1rem; border-left: 1px solid rgba(255,255,255,0.1); }
.stat-band .sb-item:first-child { border-left: none; }
.stat-band .sb-num {
  font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: clamp(2.4rem, 4.5vw, 3.4rem); line-height: 1;
  background: var(--gradient-warm); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.stat-band .sb-label { margin-top: 0.7rem; color: rgba(244,248,253,0.62); font-size: 0.86rem; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600; }
@media (max-width: 700px) {
  .stat-band .sb-grid { grid-template-columns: 1fr; gap: 2rem; }
  .stat-band .sb-item { border-left: none; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 1.5rem; }
  .stat-band .sb-item:first-child { border-top: none; padding-top: 0; }
}

/* ── Modern 4-image collage gallery ─────────────────────────── */
.gallery-4 {
  display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 170px; gap: 1rem;
}
.gallery-4 figure { margin: 0; overflow: hidden; border-radius: 18px; box-shadow: var(--shadow-xs); position: relative; }
.gallery-4 img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; }
.gallery-4 figure:hover img { transform: scale(1.06); }
.gallery-4 figure:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.gallery-4 figure:nth-child(4) { grid-column: span 2; }
@media (max-width: 760px) {
  .gallery-4 { grid-template-columns: 1fr 1fr; grid-auto-rows: 150px; }
  .gallery-4 figure:nth-child(1) { grid-column: span 2; grid-row: span 1; }
  .gallery-4 figure:nth-child(4) { grid-column: span 2; }
}

/* ================================================================
   Home v2 — bold, modern hero + dark animated stats
   ================================================================ */
.home-hero {
  position: relative; overflow: hidden; isolation: isolate;
  padding: 4.5rem 0 6rem;
  background: radial-gradient(1100px 780px at 100% -25%, rgba(56,189,248,0.34), transparent 58%), linear-gradient(180deg, #fff8f1 0%, #ffffff 100%);
}
.home-hero-grid { display: grid; grid-template-columns: 1.04fr 1fr; gap: 4rem; align-items: center; position: relative; z-index: 2; }
.home-hero h1 { font-size: clamp(2.7rem, 5.4vw, 4.9rem); margin: 1.5rem 0 1.35rem; letter-spacing: -0.025em; }
.home-hero .lead { font-size: 1.18rem; line-height: 1.72; max-width: 34rem; margin-bottom: 2rem; color: var(--ink-soft); }
.home-hero .hero-cta { margin-bottom: 2.25rem; }

/* inline pill quick-facts under CTA */
.hh-quickfacts { display: flex; flex-wrap: wrap; gap: 1.75rem; padding-top: 1.6rem; border-top: 1px solid var(--line-soft); }
.hh-quickfacts .qf { display: flex; flex-direction: column; gap: 0.15rem; }
.hh-quickfacts .qf b { font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-size: 1.65rem; line-height: 1; color: var(--ink); }
.hh-quickfacts .qf b .accent { color: var(--orange-deep); }
.hh-quickfacts .qf span { font-size: 0.78rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.07em; font-weight: 600; }

/* single hero image + floating service pills */
.hh-media { position: relative; padding: 1.5rem 1rem; }
.hh-media::before {
  content: ""; position: absolute; inset: -6% 2% -6% 6%;
  background: radial-gradient(closest-side, rgba(56,189,248,0.20), transparent 72%),
              radial-gradient(closest-side at 62% 88%, rgba(30,80,200,0.12), transparent 72%);
  filter: blur(50px); z-index: 0; pointer-events: none;
}
.hero-figure {
  position: relative; z-index: 1;
  border-radius: 28px; overflow: hidden;
  aspect-ratio: 4 / 4.5; max-width: 430px; margin: 0 auto;
  box-shadow: 0 44px 90px -38px rgba(21,34,78,0.40), 0 12px 30px -18px rgba(30,80,200,0.20);
  border: 6px solid rgba(255,255,255,0.85);
}
.hero-figure img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s ease; }
.hero-figure:hover img { transform: scale(1.05); }

/* Layered 2-image meaningful care composition */
.hero-collage { position: relative; z-index: 1; max-width: 470px; margin: 0 auto; padding-bottom: 1.5rem; }
.hero-collage .hc-main {
  margin: 0; border-radius: 26px; overflow: hidden; aspect-ratio: 4 / 4.2;
  border: 6px solid #ffffff;
  box-shadow: 0 44px 90px -38px rgba(21,34,78,0.40), 0 12px 30px -18px rgba(30,80,200,0.16);
}
.hero-collage .hc-main img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s ease; }
.hero-collage:hover .hc-main img { transform: scale(1.05); }
.hero-collage .hc-inset {
  position: absolute; right: -1.3rem; bottom: -0.5rem; z-index: 3;
  width: 45%; aspect-ratio: 1 / 1; margin: 0;
  border-radius: 20px; overflow: hidden; border: 5px solid #ffffff;
  box-shadow: 0 26px 50px -20px rgba(21,34,78,0.35);
}
.hero-collage .hc-inset img { width: 100%; height: 100%; object-fit: cover; }
.hero-badge {
  position: absolute; z-index: 4; top: 1.1rem; left: -1.1rem;
  display: inline-flex; align-items: center; gap: 0.55rem;
  padding: 0.6rem 1rem; border-radius: 999px;
  background: rgba(255,255,255,0.95); backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.8);
  box-shadow: 0 16px 34px -16px rgba(21,34,78,0.28);
  font-weight: 700; font-size: 0.82rem; color: var(--ink);
}
.hero-badge .hb-dot { width: 8px; height: 8px; border-radius: 50%; background: #22a06b; box-shadow: 0 0 0 4px rgba(34,160,107,0.18); }

.hh-float {
  position: absolute; z-index: 4; left: -0.6rem; bottom: 6%;
  background: rgba(255,255,255,0.95); backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.75); border-radius: 18px;
  padding: 0.9rem 1.1rem; display: flex; gap: 0.8rem; align-items: center;
  box-shadow: 0 20px 44px -18px rgba(21,34,78,0.32);
  animation: floaty 7s ease-in-out -1s infinite;
}
.hh-float .ico { width: 42px; height: 42px; border-radius: 12px; background: var(--gradient-warm); color: #fff; display: grid; place-items: center; flex-shrink: 0; }
.hh-float strong { display: block; font-family: "Plus Jakarta Sans", "Inter", sans-serif; font-weight: 700; font-size: 1rem; color: var(--ink); }
.hh-float span { font-size: 0.78rem; color: var(--muted); }

@media (max-width: 960px) {
  .home-hero-grid { grid-template-columns: 1fr; gap: 3rem; }
  .hh-media { max-width: 500px; margin: 0 auto; width: 100%; }
}
@media (max-width: 560px) {
  .hh-float { left: 0; padding: 0.7rem 0.85rem; }
  .hero-badge { left: 0; }
  .hero-collage .hc-inset { right: 0; }
}

/* dark animated stats band (reuses .stat counters) */
.stats.dark-stats { background: var(--ink); border-color: rgba(255,255,255,0.08); position: relative; overflow: hidden; }
.stats.dark-stats::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(560px 280px at 85% 0%, rgba(56,189,248,0.056), transparent 60%),
              radial-gradient(460px 260px at 8% 100%, rgba(30,80,200,0.12), transparent 60%);
}
.stats.dark-stats .container { position: relative; z-index: 1; }
.stats.dark-stats .stat { border-left-color: rgba(255,255,255,0.1); }
.stats.dark-stats .stat-num { color: #fff; }
.stats.dark-stats .stat-num .accent { color: var(--gold); }
.stats.dark-stats .stat-label { color: rgba(244,248,253,0.6); }
.stats.dark-stats .stat:hover .stat-num { color: var(--gold); }

/* ── Trust bar — contained pill card ─────────────────────────── */
.trust-strip { background: transparent; padding: 0.5rem 0 1rem; }
.trust-bar {
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
  gap: 0.6rem 1.3rem;
  max-width: 1140px; margin: 0 auto;
  background: #ffffff; border: 1px solid var(--line-soft);
  border-radius: 20px; padding: 1.1rem 1.6rem;
  box-shadow: var(--shadow-sm);
}
.trust-item {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-weight: 600; font-size: 0.9rem; color: var(--ink);
}
.trust-item svg { width: 20px; height: 20px; color: var(--orange); flex-shrink: 0; }
.trust-div { width: 1px; height: 22px; background: var(--line); }
@media (max-width: 900px) {
  .trust-bar { border-radius: 18px; padding: 1.1rem 1.4rem; gap: 0.75rem 1.25rem; }
  .trust-div { display: none; }
  .trust-item { font-size: 0.86rem; }
}

/* ================================================================
   Services page — alternating feature rows (redesign)
   ================================================================ */
/* Full-bleed image hero banner (text over image) */
.svc-hero-banner {
  position: relative; overflow: hidden;
  min-height: 560px; display: flex; align-items: center;
  padding: 6.5rem 0 6rem;
}
.shb-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; z-index: 0; }
.svc-hero-banner::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(90deg, rgba(11,20,48,0.92) 0%, rgba(11,20,48,0.70) 46%, rgba(11,20,48,0.30) 100%),
    linear-gradient(180deg, rgba(11,20,48,0.30), rgba(11,20,48,0.10) 40%, rgba(11,20,48,0.45));
}
.svc-hero-banner .container { position: relative; z-index: 2; }
.shb-inner { max-width: 680px; }
.shb-inner .crumbs { color: rgba(255,255,255,0.72); }
.shb-inner .crumbs a { color: var(--gold); }
.shb-inner .svc-hero-title { color: #fff; margin-top: 0.25rem; }
.shb-inner .svc-hero-lead { color: rgba(255,255,255,0.90); }
.shb-inner .svc-chip {
  background: rgba(255,255,255,0.14); border-color: rgba(255,255,255,0.28); color: #fff;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.svc-hero-banner .btn-outline { border-color: rgba(255,255,255,0.55); color: #fff; }
.svc-hero-banner .btn-outline:hover { background: #fff; color: var(--ink); border-color: #fff; }
@media (max-width: 700px) { .svc-hero-banner { min-height: 480px; padding: 4.5rem 0; } }

.svc-hero-grid { display: grid; grid-template-columns: 1.05fr 0.92fr; gap: 4rem; align-items: center; position: relative; z-index: 2; }
.svc-hero-inner { max-width: 620px; }
@media (max-width: 960px) {
  .svc-hero-grid { grid-template-columns: 1fr; gap: 3rem; }
  .svc-hero-grid .hh-media { max-width: 470px; margin: 0 auto; width: 100%; }
}
.svc-rows { display: flex; flex-direction: column; gap: 5.5rem; }
.svc-row { display: grid; grid-template-columns: 1.05fr 1fr; gap: 4.5rem; align-items: center; }
.svc-row.alt .svc-row-media { order: 2; }

.svc-row-media {
  position: relative; border-radius: var(--radius-xl); overflow: hidden;
  aspect-ratio: 5 / 4;
  box-shadow: 0 34px 70px -34px rgba(21,34,78,0.32), 0 10px 26px -16px rgba(30,80,200,0.16);
}
.svc-row-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s ease; }
.svc-row:hover .svc-row-media img { transform: scale(1.06); }
.svc-row-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(21,34,78,0.28)); }
.svc-row-num {
  position: absolute; top: 1.1rem; left: 1.1rem; z-index: 2;
  width: 54px; height: 54px; border-radius: 15px;
  background: rgba(255,255,255,0.95); color: var(--orange-deep);
  font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: 1.3rem;
  display: grid; place-items: center; box-shadow: var(--shadow-sm);
}
.svc-row-emoji { position: absolute; bottom: 1rem; left: 1.25rem; z-index: 2; font-size: 2.1rem; filter: drop-shadow(0 3px 7px rgba(0,0,0,0.35)); }

.svc-row-text h2 { font-size: clamp(1.7rem, 2.9vw, 2.4rem); margin-bottom: 1rem; letter-spacing: -0.03em; }
.svc-row-text > p { font-size: 1.06rem; line-height: 1.75; color: var(--ink-soft); margin-bottom: 1.35rem; }
.svc-row-text .check-list { margin: 0 0 1.85rem; }
.svc-row-text .check-list li { font-size: 0.98rem; }

@media (max-width: 880px) {
  .svc-rows { gap: 3.5rem; }
  .svc-row { grid-template-columns: 1fr; gap: 2rem; }
  .svc-row.alt .svc-row-media { order: 0; }
}

/* ================================================================
   About page v2 — elegant hero trust + values
   ================================================================ */
.ah-trust {
  margin-top: 2.1rem; padding-top: 1.6rem; border-top: 1px solid var(--line-soft);
  display: flex; align-items: center; gap: 0.75rem;
  font-size: 0.92rem; color: var(--ink-soft); flex-wrap: wrap;
}
.ah-trust .stars { color: var(--gold); letter-spacing: 2px; font-size: 1rem; }
.ah-trust b { color: var(--ink); font-weight: 700; }

.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.value-card {
  background: #fff; border: 1px solid var(--line-soft); border-radius: var(--radius-lg);
  padding: 2.35rem 2rem 2.15rem; box-shadow: var(--shadow-xs);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.3s ease;
  position: relative; overflow: hidden;
}
.value-card::after {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 3px;
  background: var(--gradient-warm); transform: scaleX(0); transform-origin: left;
  transition: transform 0.4s ease;
}
.value-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: var(--warm-200); }
.value-card:hover::after { transform: scaleX(1); }
.value-ico {
  width: 58px; height: 58px; border-radius: 50%;
  background: var(--gradient-warm); color: #fff; display: grid; place-items: center;
  font-size: 1.5rem; margin-bottom: 1.3rem; box-shadow: var(--shadow-warm);
  transition: transform 0.35s ease;
}
.value-card:hover .value-ico { transform: scale(1.08) rotate(-5deg); }
.value-card h3 { font-size: 1.22rem; margin-bottom: 0.55rem; }
.value-card p { font-size: 0.96rem; color: var(--ink-soft); line-height: 1.7; }
@media (max-width: 900px) { .values-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .values-grid { grid-template-columns: 1fr; } }

/* ================================================================
   About page v3 — editorial redesign (distinct layout)
   ================================================================ */
.about-hero2 { padding: 3.5rem 0 4.5rem; }
.ah2-top { max-width: 1140px; }
.ah2-eyebrow {
  display: inline-flex; align-items: center; gap: 0.65rem;
  font-weight: 700; text-transform: uppercase; letter-spacing: 0.18em;
  font-size: 0.76rem; color: var(--orange-deep); margin-bottom: 1.5rem;
}
.ah2-eyebrow::before { content: ""; width: 36px; height: 2px; background: var(--gradient-warm); border-radius: 2px; }
.ah2-title { font-size: clamp(2.7rem, 6.2vw, 5.4rem); line-height: 1.02; letter-spacing: -0.04em; margin-bottom: 2.25rem; max-width: 16ch; }
.ah2-meta { display: grid; grid-template-columns: 1.5fr 1fr; gap: 2.5rem; align-items: end; }
.ah2-lead { font-size: 1.16rem; line-height: 1.72; color: var(--ink-soft); max-width: 44ch; }
.ah2-cta { display: flex; gap: 0.75rem; flex-wrap: wrap; }
@media (max-width: 780px) { .ah2-meta { grid-template-columns: 1fr; gap: 1.5rem; align-items: start; } }
.ah2-hero-img {
  margin-top: 3.25rem; border-radius: var(--radius-xl); overflow: hidden;
  aspect-ratio: 16 / 6.4; box-shadow: var(--shadow-lg); position: relative;
}
.ah2-hero-img img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.ah2-hero-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(21,34,78,0.28)); }
@media (max-width: 760px) { .ah2-hero-img { aspect-ratio: 16 / 12; } }

/* Manifesto band */
.manifesto { background: var(--ink); color: #fff; text-align: center; padding: 6.5rem 0; position: relative; overflow: hidden; }
.manifesto::before { content: ""; position: absolute; inset: 0; background: radial-gradient(760px 340px at 50% -12%, rgba(56,189,248,0.20), transparent 62%), radial-gradient(500px 300px at 10% 120%, rgba(30,80,200,0.14), transparent 60%); }
.manifesto .container { position: relative; }
.manifesto .m-eyebrow { color: var(--gold); font-weight: 700; text-transform: uppercase; letter-spacing: 0.18em; font-size: 0.78rem; margin-bottom: 1.75rem; display: block; }
.manifesto h2 { color: #fff; font-size: clamp(1.9rem, 3.8vw, 3.1rem); line-height: 1.3; max-width: 21ch; margin: 0 auto; letter-spacing: -0.02em; }
.manifesto h2 em { font-style: normal; background: var(--gradient-warm); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Values — numbered editorial list */
.val-list { max-width: 1000px; margin: 0 auto; border-top: 1px solid var(--line); }
.val-row {
  display: grid; grid-template-columns: auto 1fr; gap: 2rem; align-items: start;
  padding: 2.1rem 1rem; border-bottom: 1px solid var(--line);
  transition: background 0.3s ease, padding 0.3s ease;
}
.val-row:hover { background: var(--warm-100); padding-left: 1.85rem; }
.val-num { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: 2.5rem; line-height: 1; color: var(--line); transition: color 0.3s ease; min-width: 86px; }
.val-row:hover .val-num { background: var(--gradient-warm); -webkit-background-clip: text; background-clip: text; color: transparent; }
.val-info { display: grid; grid-template-columns: 1fr 1.7fr; gap: 1.75rem; align-items: baseline; }
.val-info h3 { font-size: 1.4rem; letter-spacing: -0.02em; }
.val-info p { font-size: 1.02rem; color: var(--ink-soft); line-height: 1.7; }
@media (max-width: 760px) { .val-info { grid-template-columns: 1fr; gap: 0.4rem; } .val-num { font-size: 1.9rem; min-width: 58px; } .val-row { gap: 1.15rem; } }

/* Editorial stat strip (light) */
.stat-strip2 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; text-align: center; }
.stat-strip2 .ss { padding: 0 1rem; position: relative; }
.stat-strip2 .ss + .ss::before { content: ""; position: absolute; left: 0; top: 12%; bottom: 12%; width: 1px; background: var(--line); }
.stat-strip2 .ss-num { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: clamp(2.4rem, 4vw, 3.5rem); line-height: 1; background: var(--gradient-warm); -webkit-background-clip: text; background-clip: text; color: transparent; }
.stat-strip2 .ss-label { margin-top: 0.65rem; color: var(--muted); font-size: 0.84rem; text-transform: uppercase; letter-spacing: 0.09em; font-weight: 600; }
@media (max-width: 700px) { .stat-strip2 { grid-template-columns: 1fr 1fr; gap: 2.5rem 1rem; } .stat-strip2 .ss + .ss::before { display: none; } }

/* ================================================================
   NDIS-provider style components (home rebuild)
   ================================================================ */
/* Colorful impact stat blocks */
.impact-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
.impact-block {
  border-radius: 22px 22px 22px 52px; padding: 2.3rem 1.8rem; color: #fff;
  min-height: 200px; display: flex; flex-direction: column; justify-content: center;
  box-shadow: var(--shadow-sm); transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.impact-block:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.impact-block .ib-num { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: clamp(2.2rem, 3.4vw, 3rem); line-height: 1; margin-bottom: 0.55rem; }
.impact-block .ib-label { font-size: 0.98rem; line-height: 1.45; opacity: 0.96; font-weight: 500; }
.impact-block.c-teal  { background: var(--c-teal); }
.impact-block.c-blue  { background: var(--c-blue); }
.impact-block.c-coral { background: var(--c-coral); }
.impact-block.c-amber { background: var(--c-amber); color: var(--ink); }
.impact-block.c-amber .ib-label { opacity: 0.85; }
.impact-block.c-purple{ background: var(--c-purple); }
@media (max-width: 900px) { .impact-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .impact-grid { grid-template-columns: 1fr; } }

/* Vibrant tilted people cards (who we support) */
.people-strip { display: flex; gap: 1.1rem; justify-content: center; flex-wrap: wrap; }
.person-card {
  width: 210px; aspect-ratio: 3 / 3.7; border-radius: 20px; overflow: hidden; position: relative;
  box-shadow: var(--shadow-md); transition: transform 0.4s cubic-bezier(0.16,1,0.3,1);
  border: 5px solid #fff;
}
.person-card::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 4px rgba(255,255,255,0.0); }
.person-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.person-card .pc-tag {
  position: absolute; left: 0.8rem; bottom: 0.8rem; z-index: 2;
  padding: 0.35rem 0.8rem; border-radius: 999px; font-size: 0.82rem; font-weight: 700; color: #fff;
}
.person-card::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, transparent 55%, rgba(11,20,48,0.45)); }
.person-card.t1 { transform: rotate(-4deg); }
.person-card.t2 { transform: rotate(3deg) translateY(14px); }
.person-card.t3 { transform: rotate(-2deg) translateY(4px); }
.person-card.t4 { transform: rotate(4deg) translateY(16px); }
.person-card.t5 { transform: rotate(-3deg) translateY(6px); }
.person-card:hover { transform: rotate(0) translateY(-8px) scale(1.04); z-index: 3; }
.pc-tag.b-teal{background:var(--c-teal);} .pc-tag.b-coral{background:var(--c-coral);}
.pc-tag.b-amber{background:var(--c-amber);color:var(--ink);} .pc-tag.b-blue{background:var(--c-blue);} .pc-tag.b-purple{background:var(--c-purple);}
@media (max-width: 760px) { .person-card { width: 150px; } }

/* Service color cards */
.svc-color-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px,1fr)); gap: 1.5rem; }
.svc-color-card {
  background:#fff; border:1px solid var(--line-soft); border-radius: var(--radius-lg);
  padding: 2rem 1.85rem; box-shadow: var(--shadow-xs); position: relative; overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.3s ease;
  display:flex; flex-direction:column;
}
.svc-color-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.svc-color-card .scc-ico { width: 56px; height: 56px; border-radius: 15px; display: grid; place-items: center; font-size: 1.5rem; color:#fff; margin-bottom: 1.15rem; }
.svc-color-card h3 { font-size: 1.2rem; margin-bottom: 0.5rem; }
.svc-color-card p { font-size: 0.95rem; color: var(--ink-soft); line-height: 1.65; margin-bottom: 1.2rem; flex:1; }
.svc-color-card .scc-link { color: var(--c-blue); font-weight: 700; font-size: 0.9rem; display:inline-flex; align-items:center; gap:0.4rem; }
.svc-color-card::before { content:""; position:absolute; top:0; left:0; right:0; height:5px; }
.scc-teal .scc-ico,.scc-teal::before{background:var(--c-teal);} .scc-coral .scc-ico,.scc-coral::before{background:var(--c-coral);}
.scc-blue .scc-ico,.scc-blue::before{background:var(--c-blue);} .scc-amber .scc-ico,.scc-amber::before{background:var(--c-amber);}
.scc-purple .scc-ico,.scc-purple::before{background:var(--c-purple);} .scc-pink .scc-ico,.scc-pink::before{background:var(--c-pink);}

/* Find support / locations band */
.locations-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px,1fr)); gap: 0.9rem; }
.loc-pill {
  display:flex; align-items:center; justify-content:space-between; gap:0.6rem;
  padding: 1rem 1.25rem; border-radius: 14px; background:#fff; border:1px solid var(--line);
  font-weight: 700; color: var(--ink); box-shadow: var(--shadow-xs);
  transition: transform 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
.loc-pill:hover { transform: translateY(-3px); border-color: var(--c-blue); color: var(--c-blue); }
.loc-pill .arrow { color: var(--c-blue); }

/* Big rounded hero image card (NDIS style) */
.hero-color-card {
  position: relative; border-radius: 28px; overflow: hidden; aspect-ratio: 5/4.4;
  background: linear-gradient(150deg, var(--c-blue), var(--c-teal));
  box-shadow: var(--shadow-lg);
}
.hero-color-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

/* ================================================================
   Locations — coverage map visual
   ================================================================ */
.locations2 .loc-grid2 { display: grid; grid-template-columns: 0.92fr 1.08fr; gap: 3.5rem; align-items: center; }
.loc-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0.35rem 1.5rem; margin: 1.75rem 0 2rem; }
.loc-list a { display: flex; align-items: center; gap: 0.55rem; font-weight: 600; color: var(--ink); padding: 0.5rem 0; transition: color 0.2s ease, transform 0.2s ease; }
.loc-list a:hover { color: var(--c-blue); transform: translateX(3px); }
.loc-list a .pin { color: var(--c-blue); flex-shrink: 0; display: inline-flex; }

.loc-map {
  position: relative; border-radius: 28px; overflow: hidden;
  background: radial-gradient(130% 130% at 58% 42%, #f0f6ff 0%, #e4edfb 58%, #d9e5f7 100%);
  border: 1px solid var(--line); aspect-ratio: 4 / 3.25; box-shadow: var(--shadow-lg);
}
.loc-map::before {
  content: ""; position: absolute; inset: 0;
  background-image: radial-gradient(rgba(30,80,200,0.16) 1.2px, transparent 1.4px);
  background-size: 26px 26px; opacity: 0.55;
}
.loc-map .coast {
  position: absolute; left: -5%; right: -5%; bottom: 4%; height: 40%;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  background: linear-gradient(180deg, rgba(15,181,166,0.10), transparent);
  border-top: 2px dashed rgba(30,80,200,0.22);
}
.map-ring {
  position: absolute; left: 55%; top: 66%; transform: translate(-50%,-50%);
  border: 1.5px solid rgba(30,80,200,0.20); border-radius: 50%; pointer-events: none;
}
.map-ring.r1 { width: 120px; height: 120px; }
.map-ring.r2 { width: 240px; height: 240px; border-color: rgba(30,80,200,0.14); }
.map-ring.r3 { width: 380px; height: 380px; border-color: rgba(30,80,200,0.09); }
@media (max-width: 520px) { .map-ring.r3 { display:none; } }

.map-pin { position: absolute; transform: translate(-50%,-50%); z-index: 4; }
.map-pin .dot {
  width: 14px; height: 14px; border-radius: 50%; background: var(--c-blue);
  box-shadow: 0 0 0 5px rgba(30,80,200,0.16); position: relative; display: block;
}
.map-pin .dot::after {
  content: ""; position: absolute; inset: -5px; border-radius: 50%;
  border: 2px solid var(--c-blue); opacity: 0; animation: mapPulse 2.6s ease-out infinite;
}
@keyframes mapPulse { 0% { transform: scale(0.7); opacity: 0.7; } 100% { transform: scale(2.4); opacity: 0; } }
.map-pin .lbl {
  position: absolute; left: 20px; top: 50%; transform: translateY(-50%); white-space: nowrap;
  background: #fff; padding: 0.28rem 0.66rem; border-radius: 9px; font-size: 0.74rem; font-weight: 700;
  box-shadow: var(--shadow-sm); color: var(--ink);
}
.map-pin.lft .lbl { left: auto; right: 20px; }
.map-pin.main { z-index: 5; }
.map-pin.main .dot { width: 22px; height: 22px; background: var(--gradient-warm); box-shadow: 0 0 0 8px rgba(30,80,200,0.14); }
.map-pin.main .dot::after { inset: -8px; border-color: var(--c-blue); }
.map-pin.main .lbl { font-size: 0.82rem; padding: 0.35rem 0.8rem; }
.map-badge {
  position: absolute; top: 1rem; right: 1rem; z-index: 6;
  background: #fff; padding: 0.4rem 0.85rem; border-radius: 999px; font-size: 0.76rem; font-weight: 700;
  color: var(--c-blue); box-shadow: var(--shadow-sm); display: inline-flex; align-items: center; gap: 0.4rem;
}
.map-badge .bd { width: 7px; height: 7px; border-radius: 50%; background: var(--c-teal); box-shadow: 0 0 0 3px rgba(15,181,166,0.2); }
@media (max-width: 900px) {
  .locations2 .loc-grid2 { grid-template-columns: 1fr; gap: 2.5rem; }
  .loc-map { aspect-ratio: 4 / 3; }
}

/* ================================================================
   Impact — elegant stat cards (v2)
   ================================================================ */
.impact2-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.impact2-card {
  background: #fff; border: 1px solid var(--line-soft); border-radius: var(--radius-lg);
  padding: 2.1rem 1.85rem 2rem; box-shadow: var(--shadow-xs);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.3s ease;
  position: relative; overflow: hidden;
}
.impact2-card::after { content: ""; position: absolute; left: 0; top: 1.6rem; bottom: 1.6rem; width: 4px; border-radius: 0 4px 4px 0; opacity: 0.9; }
.impact2-card:hover { transform: translateY(-7px); box-shadow: var(--shadow-md); border-color: var(--line); }
.impact2-ico { width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; margin-bottom: 1.25rem; transition: transform 0.35s ease; }
.impact2-ico svg { width: 27px; height: 27px; }
.impact2-card:hover .impact2-ico { transform: scale(1.08) rotate(-5deg); }
.impact2-num { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: clamp(2.2rem, 3.2vw, 2.9rem); line-height: 1; color: var(--ink); margin-bottom: 0.55rem; letter-spacing: -0.02em; }
.impact2-label { color: var(--ink-soft); font-size: 0.95rem; line-height: 1.5; }
.imp-teal::after  { background: var(--c-teal); }  .imp-teal .impact2-ico  { background: rgba(15,181,166,0.12); color: var(--c-teal); }
.imp-amber::after { background: var(--c-amber); } .imp-amber .impact2-ico { background: rgba(255,182,46,0.16); color: #d99200; }
.imp-blue::after  { background: var(--c-blue); }  .imp-blue .impact2-ico  { background: rgba(30,80,200,0.10); color: var(--c-blue); }
.imp-coral::after { background: var(--c-coral); } .imp-coral .impact2-ico { background: rgba(255,106,77,0.13); color: var(--c-coral); }
@media (max-width: 900px) { .impact2-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .impact2-grid { grid-template-columns: 1fr; } }

/* ---- Real map image + colorful pins ---- */
.loc-map { aspect-ratio: 1024 / 819; background: #dfeaf5; }
.loc-map::before { display: none; }
.loc-map-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.loc-map .map-vignette { position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: radial-gradient(130% 110% at 42% 45%, transparent 50%, rgba(21,34,78,0.14)); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.4); }
.map-pin.p-teal   .dot { background: var(--c-teal); box-shadow: 0 0 0 5px rgba(15,181,166,0.28); }  .map-pin.p-teal   .dot::after { border-color: var(--c-teal); }
.map-pin.p-coral  .dot { background: var(--c-coral); box-shadow: 0 0 0 5px rgba(255,106,77,0.26); }  .map-pin.p-coral  .dot::after { border-color: var(--c-coral); }
.map-pin.p-amber  .dot { background: var(--c-amber); box-shadow: 0 0 0 5px rgba(255,182,46,0.30); }  .map-pin.p-amber  .dot::after { border-color: var(--c-amber); }
.map-pin.p-purple .dot { background: var(--c-purple); box-shadow: 0 0 0 5px rgba(124,92,255,0.26); } .map-pin.p-purple .dot::after { border-color: var(--c-purple); }
.map-pin.p-pink   .dot { background: var(--c-pink); box-shadow: 0 0 0 5px rgba(230,53,122,0.24); }    .map-pin.p-pink   .dot::after { border-color: var(--c-pink); }

/* ================================================================
   About page — team, credentials, trust
   ================================================================ */
.cred-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(178px,1fr)); gap: 1rem; }
.cred-card { display: flex; align-items: center; gap: 0.85rem; padding: 1.1rem 1.2rem; background: #fff; border: 1px solid var(--line-soft); border-radius: 14px; box-shadow: var(--shadow-xs); transition: transform 0.25s ease, box-shadow 0.25s ease; }
.cred-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-sm); }
.cred-ico { width: 44px; height: 44px; border-radius: 12px; background: var(--warm-100); color: var(--c-blue); display: grid; place-items: center; flex-shrink: 0; }
.cred-ico svg { width: 22px; height: 22px; }
.cred-card b { font-size: 0.9rem; color: var(--ink); display: block; line-height: 1.25; }
.cred-card span { font-size: 0.75rem; color: var(--muted); }

.team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.team-card { background: #fff; border: 1px solid var(--line-soft); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-xs); transition: transform 0.35s ease, box-shadow 0.35s ease; }
.team-card:hover { transform: translateY(-7px); box-shadow: var(--shadow-md); }
.team-photo { aspect-ratio: 1 / 1; overflow: hidden; }
.team-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s ease; }
.team-card:hover .team-photo img { transform: scale(1.05); }
.team-body { padding: 1.3rem 1.4rem 1.6rem; }
.team-body h4 { font-size: 1.12rem; margin-bottom: 0.2rem; }
.team-role { color: var(--c-blue); font-weight: 700; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 0.65rem; }
.team-body p { font-size: 0.9rem; color: var(--ink-soft); line-height: 1.6; }
@media (max-width: 900px) { .team-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .team-grid { grid-template-columns: 1fr; } }

/* ================================================================
   Bigger imagery (site-wide)
   ================================================================ */
.svc-hero-banner { min-height: 640px; }
.showcase { min-height: 560px; }
.gallery-4 { grid-auto-rows: 225px; gap: 1.25rem; }
.feature-row { grid-template-columns: 1.12fr 0.88fr; gap: 4.5rem; }
.feature-media { aspect-ratio: 5 / 4.3; }
.hero-figure { max-width: 500px; }
.svc-row { gap: 5rem; }
.svc-row-media { aspect-ratio: 5 / 3.9; }
.split-img img { aspect-ratio: 4 / 5.1; }
.team-photo { aspect-ratio: 1 / 1.06; }
.hero-color-card { aspect-ratio: 5 / 4.7; }
@media (max-width: 760px) {
  .svc-hero-banner { min-height: 480px; }
  .showcase { min-height: 440px; }
  .feature-row { grid-template-columns: 1fr; gap: 2rem; }
}

/* ================================================================
   Impact — premium dark band (v3)
   ================================================================ */
.impact-band { background: var(--ink); position: relative; overflow: hidden; }
.impact-band::before { content: ""; position: absolute; inset: 0;
  background: radial-gradient(760px 340px at 50% -14%, rgba(56,189,248,0.16), transparent 62%),
              radial-gradient(560px 320px at 8% 120%, rgba(30,80,200,0.18), transparent 60%); }
.impact-band .container { position: relative; z-index: 1; }
.impact-band .section-eyebrow { background: rgba(255,255,255,0.08); color: #9dc2ff; border-color: rgba(255,255,255,0.14); box-shadow: none; }
.impact-band h2 { color: #fff; }
.impact-band .text-gradient { background: linear-gradient(120deg, #8fd0ff 0%, #38bdf8 60%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.impact-band-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; margin-top: 3rem; }
.ib2 { text-align: center; padding: 0 1.25rem; position: relative; }
.ib2 + .ib2::before { content: ""; position: absolute; left: 0; top: 12%; bottom: 12%; width: 1px; background: rgba(255,255,255,0.1); }
.ib2-ico { width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; margin: 0 auto 1.15rem; transition: transform 0.35s ease; }
.ib2-ico svg { width: 27px; height: 27px; }
.ib2:hover .ib2-ico { transform: translateY(-4px) scale(1.06); }
.ib2-num { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: clamp(2.4rem, 4vw, 3.3rem); line-height: 1; background: var(--gradient-warm); -webkit-background-clip: text; background-clip: text; color: transparent; letter-spacing: -0.02em; }
.ib2-label { margin-top: 0.7rem; color: rgba(255,255,255,0.64); font-size: 0.94rem; line-height: 1.45; }
.ib2.imp-teal  .ib2-ico { background: rgba(15,181,166,0.16); color: #3ee0d0; }
.ib2.imp-amber .ib2-ico { background: rgba(255,182,46,0.18); color: #ffcf6b; }
.ib2.imp-blue  .ib2-ico { background: rgba(56,189,248,0.16); color: #7cc4ff; }
.ib2.imp-coral .ib2-ico { background: rgba(255,106,77,0.16); color: #ff9b85; }
@media (max-width: 760px) {
  .impact-band-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem 1rem; }
  .ib2 + .ib2::before { display: none; }
}

/* ================================================================
   Impact — elegant image + stats split (v4)
   ================================================================ */
.impact-split-grid { display: grid; grid-template-columns: 0.92fr 1.08fr; gap: 4.5rem; align-items: center; }
.impact-split-media { border-radius: 28px; overflow: hidden; aspect-ratio: 4 / 4.6; box-shadow: var(--shadow-lg); position: relative; }
.impact-split-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s ease; }
.impact-split-media:hover img { transform: scale(1.05); }
.impact-split-media::after { content: ""; position: absolute; left: -1.4rem; bottom: -1.4rem; width: 130px; height: 130px; border-radius: 26px; background: var(--gradient-warm); opacity: 0.14; z-index: -1; }
.impact-mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem 2.75rem; margin-top: 2.4rem; }
.mini-stat { position: relative; padding-left: 1.25rem; }
.mini-stat::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 4px; border-radius: 4px; }
.mini-stat .ms-num { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; font-size: clamp(2rem, 3vw, 2.75rem); line-height: 1; color: var(--ink); letter-spacing: -0.02em; }
.mini-stat .ms-label { margin-top: 0.45rem; color: var(--ink-soft); font-size: 0.94rem; line-height: 1.45; }
.mini-stat.imp-teal::before  { background: var(--c-teal); }
.mini-stat.imp-amber::before { background: var(--c-amber); }
.mini-stat.imp-blue::before  { background: var(--c-blue); }
.mini-stat.imp-coral::before { background: var(--c-coral); }
@media (max-width: 900px) { .impact-split-grid { grid-template-columns: 1fr; gap: 2.75rem; } .impact-split-media { aspect-ratio: 16 / 11; max-width: 580px; } }
@media (max-width: 520px) { .impact-mini-grid { grid-template-columns: 1fr; gap: 1.5rem; } }

/* ================================================================
   Impact — bento layout (v5)
   ================================================================ */
.impact-bento { display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-rows: 188px; gap: 1.1rem; }
.impact-bento .bcell { border-radius: 24px; padding: 1.7rem 1.8rem; display: flex; flex-direction: column; justify-content: flex-end; position: relative; overflow: hidden; transition: transform 0.4s cubic-bezier(0.16,1,0.3,1), box-shadow 0.4s ease; }
.impact-bento .bcell:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.impact-bento .bn { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 800; line-height: 0.95; letter-spacing: -0.02em; }
.impact-bento .bl { margin-top: 0.5rem; font-size: 0.96rem; line-height: 1.4; }
.bcell .bicon { position: absolute; top: 1.5rem; left: 1.7rem; width: 46px; height: 46px; border-radius: 13px; display: grid; place-items: center; }
.bcell .bicon svg { width: 24px; height: 24px; }

.b-img { grid-column: 1 / 4; grid-row: 1 / 3; border-radius: 24px; overflow: hidden; margin: 0; position: relative; box-shadow: var(--shadow-md); }
.b-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s ease; }
.b-img:hover img { transform: scale(1.05); }
.b-img figcaption { position: absolute; left: 1.4rem; bottom: 1.3rem; right: 1.4rem; z-index: 2; color: #fff; font-family: "Plus Jakarta Sans", sans-serif; font-weight: 700; font-size: 1.05rem; text-shadow: 0 2px 10px rgba(0,0,0,0.4); }
.b-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(11,20,48,0.55)); }

.b-hero { grid-column: 4 / 7; grid-row: 1 / 2; background: var(--gradient-warm); color: #fff; }
.b-hero .bn { font-size: clamp(2.8rem, 4vw, 3.6rem); }
.b-hero .bl { opacity: 0.95; max-width: 22ch; }
.b-hero .bicon { background: rgba(255,255,255,0.18); color: #fff; }

.b-s1 { grid-column: 4 / 5; grid-row: 2 / 3; background: var(--c-teal); color: #fff; }
.b-s2 { grid-column: 5 / 6; grid-row: 2 / 3; background: #fff; border: 1px solid var(--line-soft); color: var(--ink); }
.b-s3 { grid-column: 6 / 7; grid-row: 2 / 3; background: var(--c-coral); color: #fff; }
.impact-bento .b-s1 .bn, .impact-bento .b-s2 .bn, .impact-bento .b-s3 .bn { font-size: clamp(1.9rem, 3vw, 2.4rem); }
.b-s2 .bl { color: var(--ink-soft); }
.b-s1 .bicon { background: rgba(255,255,255,0.2); color: #fff; }
.b-s2 .bicon { background: var(--warm-100); color: var(--c-blue); }
.b-s3 .bicon { background: rgba(255,255,255,0.2); color: #fff; }

@media (max-width: 860px) {
  .impact-bento { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 160px; }
  .b-img { grid-column: 1 / 3; grid-row: 1 / 2; min-height: 240px; }
  .b-hero { grid-column: 1 / 3; grid-row: 2 / 3; }
  .b-s1 { grid-column: 1 / 2; grid-row: 3 / 4; }
  .b-s2 { grid-column: 2 / 3; grid-row: 3 / 4; }
  .b-s3 { grid-column: 1 / 3; grid-row: 4 / 5; }
}

/* ================================================================
   Impact — editorial story layout (v6)
   ================================================================ */
.impact-story-section {
  background:
    radial-gradient(560px 280px at 10% 8%, rgba(56,189,248,0.09), transparent 70%),
    linear-gradient(180deg, #f7faff 0%, #eef4fc 100%);
  border-top: 1px solid var(--line-soft);
  border-bottom: 1px solid var(--line-soft);
  overflow: hidden;
}
.impact-story-head {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
  gap: 4rem;
  align-items: end;
  margin-bottom: 2.75rem;
}
.impact-story-head h2 { max-width: 680px; margin-top: 1rem; }
.impact-story-head > p {
  max-width: 470px;
  padding-bottom: 0.3rem;
  font-size: 1.02rem;
  line-height: 1.75;
}
.impact-story {
  min-height: 480px;
  display: grid;
  grid-template-columns: minmax(360px, 0.82fr) minmax(0, 1.18fr);
  gap: 1.15rem;
  padding: 1.15rem;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 32px;
  background:
    radial-gradient(520px 330px at 93% 2%, rgba(37,99,235,0.38), transparent 68%),
    #101c44;
  box-shadow: 0 30px 70px -34px rgba(21,34,78,0.48);
}
.impact-story::before {
  content: "";
  position: absolute;
  width: 320px;
  height: 320px;
  right: -170px;
  bottom: -190px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 50%;
  box-shadow: 0 0 0 55px rgba(255,255,255,0.025), 0 0 0 110px rgba(255,255,255,0.018);
}
.impact-story-photo {
  min-height: 455px;
  margin: 0;
  position: relative;
  overflow: hidden;
  border-radius: 23px;
  z-index: 1;
}
.impact-story-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 52%, rgba(8,16,43,0.78) 100%);
}
.impact-story-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 42%;
  transition: transform 0.8s cubic-bezier(0.16,1,0.3,1);
}
.impact-story:hover .impact-story-photo img { transform: scale(1.035); }
.impact-story-photo figcaption {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  bottom: 1.35rem;
  z-index: 2;
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.94rem;
  font-weight: 700;
}
.impact-pulse {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #2dd4bf;
  box-shadow: 0 0 0 6px rgba(45,212,191,0.18);
}
.impact-story-stats {
  display: grid;
  grid-template-rows: 1.1fr 0.9fr;
  gap: 1.15rem;
  min-width: 0;
  position: relative;
  z-index: 1;
}
.impact-primary {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  min-height: 0;
  padding: 2rem 2.2rem;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 23px;
  background: linear-gradient(125deg, rgba(56,189,248,0.98), rgba(37,99,235,0.96) 58%, rgba(30,80,200,0.94));
  color: #fff;
}
.impact-story-icon {
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: rgba(255,255,255,0.16);
  color: currentColor;
}
.impact-story-icon svg { width: 24px; height: 24px; }
.impact-primary strong,
.impact-stat strong {
  display: block;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 0.95;
}
.impact-primary strong { font-size: clamp(3.2rem, 5vw, 4.7rem); }
.impact-primary span {
  display: block;
  margin-top: 0.65rem;
  color: rgba(255,255,255,0.9);
  font-size: 1rem;
  font-weight: 600;
}
.impact-secondary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}
.impact-stat {
  min-width: 0;
  padding: 1.35rem;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 22px;
  color: #fff;
  transition: transform 0.35s cubic-bezier(0.16,1,0.3,1), border-color 0.35s ease, background 0.35s ease;
}
.impact-stat:hover {
  transform: translateY(-5px);
  border-color: rgba(255,255,255,0.22);
}
.impact-stat .impact-story-icon { width: 40px; height: 40px; margin-bottom: 1.5rem; border-radius: 12px; }
.impact-stat .impact-story-icon svg { width: 20px; height: 20px; }
.impact-stat strong { font-size: clamp(2rem, 3vw, 2.65rem); }
.impact-stat > span {
  display: block;
  margin-top: 0.6rem;
  color: rgba(255,255,255,0.72);
  font-size: 0.88rem;
  line-height: 1.45;
}
.impact-stat-teal { background: linear-gradient(145deg, rgba(15,181,166,0.24), rgba(15,181,166,0.08)); }
.impact-stat-teal .impact-story-icon { color: #5eead4; background: rgba(45,212,191,0.13); }
.impact-stat-blue { background: linear-gradient(145deg, rgba(96,165,250,0.2), rgba(96,165,250,0.06)); }
.impact-stat-blue .impact-story-icon { color: #93c5fd; background: rgba(147,197,253,0.13); }
.impact-stat-coral { background: linear-gradient(145deg, rgba(255,106,77,0.22), rgba(255,106,77,0.07)); }
.impact-stat-coral .impact-story-icon { color: #ff9b87; background: rgba(255,155,135,0.13); }

@media (max-width: 960px) {
  .impact-story-head { grid-template-columns: 1fr; gap: 1rem; }
  .impact-story-head > p { max-width: 680px; }
  .impact-story { grid-template-columns: 0.9fr 1.1fr; }
  .impact-secondary-grid { grid-template-columns: 1fr; }
  .impact-story-stats { grid-template-rows: auto; }
  .impact-stat { display: grid; grid-template-columns: 40px auto; column-gap: 1rem; align-items: center; padding: 1rem 1.15rem; }
  .impact-stat .impact-story-icon { grid-row: 1 / 3; margin: 0; }
  .impact-stat > span { margin-top: 0.25rem; }
  .impact-stat strong { font-size: 2rem; }
  .impact-stat br { display: none; }
}

@media (max-width: 700px) {
  .impact-story-section { padding: 4.5rem 0; }
  .impact-story-head { margin-bottom: 2rem; }
  .impact-story { grid-template-columns: 1fr; padding: 0.75rem; border-radius: 25px; }
  .impact-story-photo { min-height: 360px; border-radius: 18px; }
  .impact-story-stats { gap: 0.75rem; }
  .impact-primary { padding: 1.5rem; border-radius: 18px; }
  .impact-secondary-grid { gap: 0.75rem; }
  .impact-stat { border-radius: 18px; }
}

@media (max-width: 430px) {
  .impact-story-photo { min-height: 310px; }
  .impact-primary { align-items: flex-start; gap: 1rem; }
  .impact-primary .impact-story-icon { width: 42px; height: 42px; }
  .impact-primary strong { font-size: 3rem; }
  .impact-primary span { font-size: 0.9rem; line-height: 1.4; }
}

/* ================================================================
   Home hero v7 — centred cinematic editorial composition
   ================================================================ */
.home-hero-v7 {
  min-height: clamp(720px, calc(100vh - 142px), 860px);
  padding: 0;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #102e3f;
}
.home-hero-v7-bg {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 54%;
  animation: hero-v7-image 16s ease-out both;
}
.home-hero-v7-overlay {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(180deg, rgba(7,24,36,0.42) 0%, rgba(6,22,33,0.05) 30%, rgba(5,20,31,0.15) 58%, rgba(5,22,33,0.88) 100%),
    radial-gradient(ellipse at 50% 38%, rgba(6,25,37,0.16), rgba(5,23,35,0.04) 40%, rgba(5,23,35,0.28) 88%);
}
.home-hero-v7-frame {
  position: absolute;
  inset: 24px;
  z-index: -1;
  border: 1px solid rgba(255,255,255,0.22);
  pointer-events: none;
}
.home-hero-v7-frame::before,
.home-hero-v7-frame::after {
  content: "";
  width: 54px;
  height: 3px;
  position: absolute;
  background: #df9b67;
}
.home-hero-v7-frame::before { left: -1px; top: -1px; }
.home-hero-v7-frame::after { right: -1px; bottom: -1px; }
.home-hero-v7-inner {
  width: min(100% - 6rem, 1280px);
  min-height: inherit;
  margin: 0 auto;
  display: grid;
  grid-template-rows: auto 1fr auto;
  padding: 3.3rem 0 2.75rem;
}
.home-hero-v7-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: rgba(255,255,255,0.85);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.home-hero-v7-top > span { display: flex; align-items: center; gap: 0.7rem; }
.home-hero-v7-top i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #8de1d4;
  box-shadow: 0 0 0 5px rgba(141,225,212,0.15);
  animation: hero-v7-dot 2.4s ease-in-out infinite;
}
.home-hero-v7-top p { color: rgba(255,255,255,0.7); font-size: inherit; }
.home-hero-v7-main {
  width: min(100%, 780px);
  align-self: center;
  justify-self: center;
  padding: 2rem 0 4.3rem;
  text-align: center;
}
.home-hero-v7-eyebrow {
  color: #c2f4ec;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-shadow: 0 2px 14px rgba(5,21,32,0.4);
}
.home-hero-v7 h1 {
  margin-top: 1.15rem;
  color: #fff;
  font-size: clamp(4.4rem, 7.1vw, 7.25rem);
  line-height: 0.88;
  letter-spacing: -0.075em;
  text-shadow: 0 4px 32px rgba(5,22,33,0.28);
  animation: hero-v7-rise 0.95s 0.12s cubic-bezier(0.16,1,0.3,1) both;
}
.home-hero-v7 h1 em {
  color: #f5d3b3;
  font-style: normal;
  font-weight: 600;
}
.home-hero-v7-main > p {
  max-width: 550px;
  margin: 1.45rem auto 0;
  color: rgba(255,255,255,0.85);
  font-size: 1rem;
  line-height: 1.7;
  text-shadow: 0 2px 16px rgba(5,21,32,0.38);
  animation: hero-v7-rise 0.85s 0.3s cubic-bezier(0.16,1,0.3,1) both;
}
.home-hero-v7-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.35rem;
  margin-top: 1.8rem;
  animation: hero-v7-rise 0.85s 0.44s cubic-bezier(0.16,1,0.3,1) both;
}
.home-hero-v7-primary {
  color: #173440;
  background: #fff;
  box-shadow: 0 17px 40px -22px rgba(0,0,0,0.75);
}
.home-hero-v7-primary:hover {
  color: #16343f;
  background: #c5f1e9;
  transform: translateY(-2px);
}
.home-hero-v7-primary .arrow { animation: hero-v7-arrow 1.7s ease-in-out infinite; }
.home-hero-v7-link {
  padding: 0.8rem 0;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 750;
  border-bottom: 1px solid rgba(255,255,255,0.55);
  text-shadow: 0 2px 12px rgba(5,21,32,0.45);
  transition: border-color 0.25s ease, color 0.25s ease;
}
.home-hero-v7-link:hover { color: #c5f1e9; border-color: #c5f1e9; }
.home-hero-v7-proof {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: min(100%, 860px);
  justify-self: center;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255,255,255,0.3);
}
.home-hero-v7-proof > div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  color: rgba(255,255,255,0.7);
  font-size: 0.65rem;
  line-height: 1.3;
}
.home-hero-v7-proof > div + div { border-left: 1px solid rgba(255,255,255,0.2); }
.home-hero-v7-proof svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: #8de1d4;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
  animation: hero-v7-icon 3s ease-in-out infinite;
}
.home-hero-v7-proof > div:nth-child(2) svg { animation-delay: 0.3s; }
.home-hero-v7-proof > div:nth-child(3) svg { animation-delay: 0.6s; }
.home-hero-v7-proof strong {
  display: block;
  color: #fff;
  font-size: 0.76rem;
  font-weight: 750;
}
@keyframes hero-v7-image { from { transform: scale(1.045); } to { transform: scale(1); } }
@keyframes hero-v7-rise { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hero-v7-arrow { 0%,100% { transform: translateX(0); } 50% { transform: translateX(4px); } }
@keyframes hero-v7-icon { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes hero-v7-dot { 0%,100% { box-shadow: 0 0 0 5px rgba(141,225,212,0.12); } 50% { box-shadow: 0 0 0 9px rgba(141,225,212,0); } }
@media (max-width: 760px) {
  .home-hero-v7 { min-height: 750px; }
  .home-hero-v7-bg { object-position: 76% center; }
  .home-hero-v7-overlay {
    background: linear-gradient(180deg, rgba(6,24,36,0.52), rgba(6,24,36,0.14) 35%, rgba(6,23,34,0.32) 62%, rgba(5,21,32,0.9));
  }
  .home-hero-v7-frame { inset: 14px; }
  .home-hero-v7-inner { width: min(100% - 3rem, 1280px); padding: 2.6rem 0 2rem; }
  .home-hero-v7-top { justify-content: center; }
  .home-hero-v7-top p { display: none; }
  .home-hero-v7-main { padding-bottom: 3rem; }
  .home-hero-v7 h1 { font-size: clamp(3.8rem, 14vw, 5.5rem); }
}
@media (max-width: 520px) {
  .home-hero-v7 { min-height: 720px; }
  .home-hero-v7-bg { object-position: 82% center; }
  .home-hero-v7-inner { width: min(100% - 2.4rem, 1280px); padding-top: 2.2rem; }
  .home-hero-v7-main { padding: 1rem 0 2.4rem; }
  .home-hero-v7 h1 { font-size: clamp(3.25rem, 15vw, 4.25rem); line-height: 0.92; }
  .home-hero-v7-main > p { max-width: 360px; font-size: 0.9rem; }
  .home-hero-v7-actions { flex-direction: column; gap: 0.7rem; }
  .home-hero-v7-link { padding: 0.35rem 0; }
  .home-hero-v7-proof { grid-template-columns: repeat(2, 1fr); }
  .home-hero-v7-proof > div { justify-content: flex-start; padding-left: 0.5rem; }
  .home-hero-v7-proof > div:nth-child(3) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .home-hero-v7-bg,
  .home-hero-v7 h1,
  .home-hero-v7-main > p,
  .home-hero-v7-actions,
  .home-hero-v7-primary .arrow,
  .home-hero-v7-proof svg,
  .home-hero-v7-top i { animation: none; }
}

/* ================================================================
   Impact — reimagined editorial split (v7)
   ================================================================ */
.impact-reimagined-section {
  padding: 7rem 0;
  background:
    radial-gradient(circle at 5% 15%, rgba(15,181,166,0.08), transparent 23rem),
    radial-gradient(circle at 95% 88%, rgba(56,189,248,0.11), transparent 25rem),
    #f8fbff;
  overflow: hidden;
}
.impact-reimagined {
  min-height: 570px;
  display: grid;
  grid-template-columns: 40% 60%;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid #dce7f5;
  border-radius: 34px;
  background: #fff;
  box-shadow: 0 32px 80px -42px rgba(21,34,78,0.34);
}
.impact-reimagined::after {
  content: "";
  width: 240px;
  height: 240px;
  position: absolute;
  right: -145px;
  top: -145px;
  border: 1px solid rgba(37,99,235,0.1);
  border-radius: 50%;
  box-shadow: 0 0 0 40px rgba(37,99,235,0.025), 0 0 0 80px rgba(37,99,235,0.018);
  z-index: -1;
}
.impact-reimagined-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 4rem 6.4rem 4rem 3.5rem;
  position: relative;
  color: #fff;
  background:
    radial-gradient(300px 250px at 5% 100%, rgba(45,212,191,0.22), transparent 72%),
    linear-gradient(145deg, #17399e 0%, #1e50c8 58%, #2874e6 100%);
}
.impact-reimagined-copy::before {
  content: "";
  position: absolute;
  inset: 1.2rem;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 24px 0 0 24px;
  pointer-events: none;
}
.impact-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 1.6rem;
  color: #bcecff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.impact-kicker::before { content: ""; width: 28px; height: 2px; border-radius: 2px; background: #5eead4; }
.impact-reimagined-copy h2 {
  position: relative;
  color: #fff;
  font-size: clamp(2.2rem, 3.4vw, 3.35rem);
  line-height: 1.08;
  letter-spacing: -0.045em;
}
.impact-reimagined-copy h2 em { color: #80e5df; font-style: normal; }
.impact-reimagined-copy > p {
  max-width: 31ch;
  margin-top: 1.5rem;
  position: relative;
  color: rgba(255,255,255,0.76);
  font-size: 0.98rem;
  line-height: 1.75;
}
.impact-text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  margin-top: 2rem;
  position: relative;
  color: #fff;
  font-size: 0.88rem;
  font-weight: 750;
  border-bottom: 1px solid rgba(255,255,255,0.35);
  padding-bottom: 0.35rem;
  transition: gap 0.25s ease, border-color 0.25s ease;
}
.impact-text-link:hover { gap: 0.9rem; border-color: #fff; }
.impact-reimagined-photo {
  width: 286px;
  height: 390px;
  margin: 0;
  position: absolute;
  left: 40%;
  top: 50%;
  z-index: 3;
  transform: translate(-50%, -50%) rotate(-2.5deg);
  overflow: hidden;
  border: 8px solid #fff;
  border-radius: 148px 148px 28px 28px;
  background: #dce7f5;
  box-shadow: 0 28px 55px -24px rgba(13,31,81,0.5);
  transition: transform 0.5s cubic-bezier(0.16,1,0.3,1);
}
.impact-reimagined:hover .impact-reimagined-photo { transform: translate(-50%, -50%) rotate(0); }
.impact-reimagined-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 44%; }
.impact-reimagined-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 58%, rgba(9,25,65,0.75));
}
.impact-reimagined-photo figcaption {
  position: absolute;
  left: 1.1rem;
  right: 1.1rem;
  bottom: 1.1rem;
  z-index: 1;
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.79rem;
  font-weight: 750;
  text-align: center;
}
.impact-reimagined-photo figcaption span { color: #5eead4; margin-right: 0.25rem; }
.impact-reimagined-numbers {
  grid-column: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-content: center;
  padding: 3rem 3rem 3rem 8.8rem;
  position: relative;
}
.impact-number {
  min-width: 0;
  min-height: 175px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.6rem 1.2rem;
  position: relative;
  border-top: 1px solid var(--line);
}
.impact-number + .impact-number { border-left: 1px solid var(--line); }
.impact-number-main {
  min-height: 225px;
  grid-column: 1 / 4;
  display: grid;
  grid-template-columns: 58px auto;
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 1.1rem;
  padding: 1.2rem;
  border-top: 0;
  border-left: 0 !important;
}
.impact-number-icon {
  grid-row: 1 / 3;
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  align-self: center;
  border-radius: 17px;
  color: #2563eb;
  background: #eaf2ff;
}
.impact-number-icon svg { width: 25px; height: 25px; }
.impact-number strong {
  display: block;
  color: var(--ink);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: clamp(2.25rem, 3vw, 3.15rem);
  font-weight: 800;
  letter-spacing: -0.055em;
  line-height: 1;
}
.impact-number-main strong {
  color: #1e50c8;
  font-size: clamp(4rem, 6.2vw, 6.2rem);
  line-height: 0.86;
}
.impact-number p {
  max-width: 16ch;
  margin-top: 0.65rem;
  color: var(--ink-soft);
  font-size: 0.85rem;
  line-height: 1.5;
}
.impact-number-main p { max-width: none; margin-top: 0.75rem; font-size: 0.95rem; }
.impact-number-index {
  position: absolute;
  top: 1rem;
  right: 1rem;
  color: #a9b8cf;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

@media (max-width: 1050px) {
  .impact-reimagined { grid-template-columns: 42% 58%; }
  .impact-reimagined-copy { padding-left: 2.5rem; padding-right: 5rem; }
  .impact-reimagined-photo { left: 42%; width: 240px; height: 350px; }
  .impact-reimagined-numbers { padding-left: 7.3rem; padding-right: 1.5rem; }
  .impact-number { padding-left: 0.75rem; padding-right: 0.75rem; }
}

@media (max-width: 800px) {
  .impact-reimagined-section { padding: 5rem 0; }
  .impact-reimagined { display: block; border-radius: 28px; }
  .impact-reimagined-copy { min-height: 440px; padding: 3.5rem 3rem 8.5rem; }
  .impact-reimagined-copy::before { border-radius: 20px 20px 0 0; }
  .impact-reimagined-copy > p { max-width: 44ch; }
  .impact-reimagined-photo {
    width: min(270px, 70%);
    height: 330px;
    left: 50%;
    top: 440px;
    transform: translate(-50%, -46%);
  }
  .impact-reimagined:hover .impact-reimagined-photo { transform: translate(-50%, -46%); }
  .impact-reimagined-numbers { padding: 12.5rem 1.5rem 2rem; }
  .impact-number-main { min-height: 190px; }
}

@media (max-width: 540px) {
  .impact-reimagined-copy { min-height: 455px; padding: 3rem 2rem 9rem; }
  .impact-reimagined-copy h2 { font-size: 2.35rem; }
  .impact-text-link { font-size: 0.8rem; }
  .impact-reimagined-photo { top: 455px; height: 315px; }
  .impact-reimagined-numbers { grid-template-columns: 1fr; padding: 11.5rem 1.3rem 1.3rem; }
  .impact-number-main { grid-column: 1; min-height: 180px; }
  .impact-number { min-height: 120px; padding: 1.4rem; border-left: 0 !important; }
  .impact-number-main strong { font-size: 4.2rem; }
  .impact-number:not(.impact-number-main) { display: grid; grid-template-columns: 100px 1fr; align-items: center; }
  .impact-number:not(.impact-number-main) p { margin: 0; max-width: 20ch; }
}

/* ================================================================
   Impact — organic, open composition (v8)
   ================================================================ */
.impact-flow-section {
  min-height: 760px;
  padding: 7.5rem 0 8rem;
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(112deg, rgba(235,247,255,0.72) 0%, rgba(255,255,255,0.96) 44%, rgba(242,248,255,0.84) 100%);
}
.impact-flow-section::before {
  content: "";
  position: absolute;
  left: -9rem;
  top: 44%;
  width: 25rem;
  height: 25rem;
  border: 1px solid rgba(37,99,235,0.08);
  border-radius: 50%;
  box-shadow: 0 0 0 3.7rem rgba(37,99,235,0.022), 0 0 0 7.4rem rgba(37,99,235,0.016);
}
.impact-flow-orb { position: absolute; border-radius: 50%; pointer-events: none; filter: blur(2px); }
.impact-flow-orb-one {
  width: 240px;
  height: 240px;
  right: -95px;
  top: 70px;
  background: radial-gradient(circle at 35% 35%, rgba(45,212,191,0.18), rgba(45,212,191,0.02) 68%);
}
.impact-flow-orb-two {
  width: 110px;
  height: 110px;
  right: 13%;
  bottom: 8%;
  border: 22px solid rgba(56,189,248,0.06);
}
.impact-flow-section .container { position: relative; z-index: 1; }
.impact-flow-header {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.55fr);
  gap: 5rem;
  align-items: end;
  margin-bottom: 4.5rem;
}
.impact-flow-header h2 { margin-top: 1.2rem; font-size: clamp(2.5rem, 4.2vw, 4rem); line-height: 1.04; }
.impact-flow-header h2 span {
  background: linear-gradient(100deg, #159eaa 0%, #2475e5 55%, #1e50c8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.impact-flow-header > p {
  max-width: 430px;
  padding-left: 1.5rem;
  position: relative;
  color: #566180;
  font-size: 1.02rem;
  line-height: 1.75;
}
.impact-flow-header > p::before {
  content: "";
  width: 2px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 2px;
  background: linear-gradient(#25b8b0, #3181e9);
}
.impact-flow-body {
  display: grid;
  grid-template-columns: minmax(400px, 0.92fr) minmax(0, 1.08fr);
  gap: 6rem;
  align-items: center;
}
.impact-flow-portrait {
  min-height: 520px;
  margin: 0;
  position: relative;
  display: grid;
  place-items: center;
}
.impact-flow-portrait::before {
  content: "";
  width: 88%;
  aspect-ratio: 1;
  position: absolute;
  left: 2%;
  top: 3%;
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(45,212,191,0.19), rgba(37,99,235,0.1));
  transform: rotate(-8deg);
}
.impact-flow-portrait::after {
  content: "";
  width: 78%;
  aspect-ratio: 1;
  position: absolute;
  left: 8%;
  top: 10%;
  z-index: 0;
  border: 1px solid rgba(30,80,200,0.16);
  border-radius: 44% 56% 62% 38% / 48% 42% 58% 52%;
  transform: translate(-18px, -18px) rotate(9deg);
}
.impact-flow-portrait img {
  width: 76%;
  height: 455px;
  position: relative;
  z-index: 1;
  object-fit: cover;
  object-position: 50% 44%;
  border-radius: 47% 53% 58% 42% / 38% 43% 57% 62%;
  box-shadow: 0 30px 60px -32px rgba(20,47,105,0.38);
  transition: border-radius 0.7s ease, transform 0.7s cubic-bezier(0.16,1,0.3,1);
}
.impact-flow-portrait:hover img {
  border-radius: 55% 45% 48% 52% / 44% 57% 43% 56%;
  transform: scale(1.015);
}
.impact-flow-portrait figcaption {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  position: absolute;
  left: 13%;
  bottom: 0;
  z-index: 2;
  color: var(--ink);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.9rem;
  font-weight: 750;
}
.impact-flow-portrait figcaption span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #14b8a6;
  box-shadow: 0 0 0 6px rgba(20,184,166,0.12);
}
.impact-flow-dots {
  width: 96px;
  height: 96px;
  position: absolute;
  right: 3%;
  bottom: 8%;
  z-index: 2;
  opacity: 0.42;
  background-image: radial-gradient(#2b74df 1.7px, transparent 1.7px);
  background-size: 13px 13px;
}
.impact-flow-numbers { padding: 0 0 0.5rem; }
.impact-flow-lead {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding-bottom: 2.3rem;
}
.impact-flow-icon {
  width: 64px;
  height: 64px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  color: #1e66d2;
  border: 1px solid rgba(37,99,235,0.16);
  border-radius: 50%;
  background: rgba(234,242,255,0.7);
}
.impact-flow-icon svg { width: 27px; height: 27px; }
.impact-flow-lead strong,
.impact-flow-mini strong {
  display: block;
  color: var(--ink);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  letter-spacing: -0.065em;
  line-height: 0.9;
}
.impact-flow-lead strong { font-size: clamp(5rem, 8vw, 7.8rem); }
.impact-flow-lead strong span { color: #2c75df; font-size: 0.62em; vertical-align: top; }
.impact-flow-lead p {
  max-width: 31ch;
  margin-top: 0.8rem;
  color: var(--ink-soft);
  font-size: 0.98rem;
  line-height: 1.5;
}
.impact-flow-mini {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 2.15rem 0 2.35rem;
  border-top: 1px solid #d9e3f1;
  border-bottom: 1px solid #d9e3f1;
}
.impact-flow-mini > div { padding: 0 1.35rem; }
.impact-flow-mini > div:first-child { padding-left: 0; }
.impact-flow-mini > div + div { border-left: 1px solid #d9e3f1; }
.impact-flow-mini strong { font-size: clamp(2.5rem, 4vw, 3.7rem); }
.impact-flow-mini strong span { color: #2871db; font-size: 0.62em; }
.impact-flow-mini p { margin-top: 0.75rem; color: #66718e; font-size: 0.84rem; line-height: 1.5; }
.impact-flow-note {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1.1rem;
  align-items: center;
  padding-top: 2.2rem;
}
.impact-flow-signature { color: #18a99e; font-size: 1.7rem; }
.impact-flow-note p { color: var(--ink); font-family: "Plus Jakarta Sans", sans-serif; font-size: 1.02rem; line-height: 1.45; }
.impact-flow-note p em { color: #2871db; font-style: normal; font-weight: 750; }
.impact-flow-note a {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: #1e50c8;
  font-size: 0.84rem;
  font-weight: 750;
  white-space: nowrap;
  transition: gap 0.25s ease;
}
.impact-flow-note a:hover { gap: 0.8rem; }

@media (max-width: 980px) {
  .impact-flow-header { gap: 2.5rem; }
  .impact-flow-body { grid-template-columns: minmax(340px, 0.85fr) minmax(0, 1.15fr); gap: 2.5rem; }
  .impact-flow-portrait img { width: 80%; height: 420px; }
  .impact-flow-mini > div { padding: 0 0.8rem; }
  .impact-flow-note { grid-template-columns: auto 1fr; }
  .impact-flow-note a { grid-column: 2; }
}

@media (max-width: 760px) {
  .impact-flow-section { padding: 5rem 0 5.5rem; }
  .impact-flow-header { grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 2.5rem; }
  .impact-flow-header > p { max-width: 560px; }
  .impact-flow-body { grid-template-columns: 1fr; gap: 3.5rem; }
  .impact-flow-portrait { min-height: 480px; }
  .impact-flow-portrait img { width: min(76%, 390px); height: 420px; }
  .impact-flow-portrait::before { width: min(82%, 440px); left: 50%; transform: translateX(-54%) rotate(-8deg); }
  .impact-flow-portrait::after { width: min(72%, 390px); left: 50%; transform: translateX(-56%) translate(-18px,-18px) rotate(9deg); }
  .impact-flow-portrait figcaption { left: 50%; transform: translateX(-50%); white-space: nowrap; }
  .impact-flow-dots { right: 12%; }
  .impact-flow-numbers { max-width: 600px; margin: 0 auto; width: 100%; }
}

@media (max-width: 480px) {
  .impact-flow-header h2 { font-size: 2.45rem; }
  .impact-flow-header > p { font-size: 0.94rem; }
  .impact-flow-portrait { min-height: 420px; }
  .impact-flow-portrait img { width: 82%; height: 370px; }
  .impact-flow-lead { gap: 1rem; }
  .impact-flow-icon { width: 52px; height: 52px; }
  .impact-flow-lead strong { font-size: 4.5rem; }
  .impact-flow-mini { gap: 0; }
  .impact-flow-mini > div { padding: 0 0.5rem; }
  .impact-flow-mini strong { font-size: 2.15rem; }
  .impact-flow-mini p { font-size: 0.73rem; }
  .impact-flow-note { grid-template-columns: auto 1fr; }
}

/* ================================================================
   Home hero v4 — elegant open editorial composition
   ================================================================ */
.home-hero-v4 {
  padding: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 91% 2%, rgba(57, 181, 211, 0.09), transparent 24rem),
    linear-gradient(180deg, #fbfcfa 0%, #f5f8f4 100%);
}
.home-hero-v4-inner {
  width: min(100% - 3rem, 1320px);
  margin: 0 auto;
  padding: clamp(4rem, 6.5vw, 7rem) 0 2.2rem;
}
.home-hero-v4-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.55fr);
  align-items: end;
  gap: clamp(3rem, 8vw, 8rem);
  margin-bottom: clamp(2.6rem, 4vw, 4.2rem);
}
.home-hero-v4-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.72rem;
  margin-bottom: 1.35rem;
  color: #315e84;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.home-hero-v4-kicker i {
  width: 30px;
  height: 1px;
  background: #41a89d;
}
.home-hero-v4 h1 {
  max-width: 850px;
  color: #152a3b;
  font-size: clamp(4.35rem, 7.5vw, 7.3rem);
  font-weight: 700;
  line-height: 0.91;
  letter-spacing: -0.075em;
}
.home-hero-v4 h1 span {
  color: #31766f;
  font-weight: 600;
}
.home-hero-v4-copy {
  padding-bottom: 0.7rem;
}
.home-hero-v4-copy > p {
  max-width: 410px;
  color: #566a70;
  font-size: 1.02rem;
  line-height: 1.75;
}
.home-hero-v4-actions {
  display: flex;
  align-items: center;
  gap: 1.3rem;
  flex-wrap: wrap;
  margin-top: 1.75rem;
}
.home-hero-v4 .btn-warm {
  background: #173f4f;
  box-shadow: 0 15px 35px -20px rgba(10, 43, 54, 0.75);
}
.home-hero-v4 .btn-warm:hover { background: #266c68; }
.home-hero-v4-link {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: #244d5d;
  font-size: 0.78rem;
  font-weight: 750;
  border-bottom: 1px solid rgba(36, 77, 93, 0.35);
  padding-bottom: 0.18rem;
  transition: gap 0.25s ease, border-color 0.25s ease;
}
.home-hero-v4-link:hover { gap: 0.8rem; border-color: #244d5d; }
.home-hero-v4-image {
  height: clamp(430px, 47vw, 650px);
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 210px 28px 28px 28px;
  box-shadow: 0 30px 80px -48px rgba(17, 45, 55, 0.48);
}
.home-hero-v4-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 65%, rgba(8, 28, 32, 0.26) 100%);
  pointer-events: none;
}
.home-hero-v4-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
  transition: transform 1.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.home-hero-v4:hover .home-hero-v4-image img { transform: scale(1.018); }
.home-hero-v4-image figcaption {
  position: absolute;
  right: 2rem;
  bottom: 1.5rem;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.home-hero-v4-image figcaption i {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #a3e8da;
}
.home-hero-v4-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.5rem 0 0;
}
.home-hero-v4-foot p {
  color: #708084;
  font-size: 0.78rem;
}
.home-hero-v4-foot p strong { color: #1a3a47; font-weight: 750; }
.home-hero-v4-foot > div {
  display: flex;
  gap: 2rem;
  color: #63757a;
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.03em;
}
.home-hero-v4-foot > div span + span {
  position: relative;
}
.home-hero-v4-foot > div span + span::before {
  content: "";
  width: 3px;
  height: 3px;
  position: absolute;
  left: -1.05rem;
  top: 50%;
  border-radius: 50%;
  background: #55a59b;
}
@media (max-width: 920px) {
  .home-hero-v4-intro { grid-template-columns: 1fr; gap: 2rem; }
  .home-hero-v4-copy { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 2rem; }
  .home-hero-v4-actions { margin-top: 0; }
  .home-hero-v4-image { border-radius: 150px 24px 24px 24px; }
}
@media (max-width: 700px) {
  .home-hero-v4-inner { width: min(100% - 2rem, 1320px); padding-top: 3.5rem; }
  .home-hero-v4 h1 { font-size: clamp(3.05rem, 13.5vw, 4.15rem); letter-spacing: -0.068em; }
  .home-hero-v4-copy { display: block; }
  .home-hero-v4-actions { margin-top: 1.5rem; }
  .home-hero-v4-image { height: 470px; border-radius: 100px 18px 18px 18px; }
  .home-hero-v4-image img { object-position: 78% center; }
  .home-hero-v4-foot { align-items: flex-start; }
  .home-hero-v4-foot > div { display: none; }
}
@media (max-width: 460px) {
  .home-hero-v4-inner { padding-top: 2.8rem; }
  .home-hero-v4-intro { margin-bottom: 2.2rem; }
  .home-hero-v4 h1 { font-size: clamp(2.2rem, 11vw, 3.1rem); letter-spacing: -0.06em; }
  .home-hero-v4-copy > p { font-size: 0.92rem; }
  .home-hero-v4-actions { align-items: flex-start; flex-direction: column; }
  .home-hero-v4-image { height: 420px; border-radius: 72px 16px 16px 16px; }
  .home-hero-v4-image figcaption { left: 1rem; right: auto; bottom: 1rem; font-size: 0.58rem; }
}

/* ================================================================
   Home hero v5 — full-bleed image with elegant overlay
   ================================================================ */
.home-hero-v5 {
  min-height: clamp(690px, calc(100vh - 142px), 860px);
  padding: 0;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #122c3c;
}
.home-hero-v5-bg {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 52%;
  animation: hero-v5-breathe 14s ease-out both;
}
@keyframes hero-v5-breathe {
  from { transform: scale(1.045); }
  to { transform: scale(1); }
}
.home-hero-v5-shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(7, 29, 44, 0.88) 0%, rgba(8, 32, 47, 0.72) 31%, rgba(7, 28, 41, 0.25) 58%, rgba(7, 26, 38, 0.04) 82%),
    linear-gradient(0deg, rgba(5, 23, 34, 0.58) 0%, transparent 32%, rgba(4, 23, 35, 0.08) 100%);
}
.home-hero-v5-shade::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(112deg, transparent 28%, rgba(255,255,255,0.055) 45%, transparent 60%);
  transform: translateX(-45%);
  animation: hero-v5-light 8s 1.8s ease-in-out infinite;
  pointer-events: none;
}
@keyframes hero-v5-light {
  0%, 68%, 100% { transform: translateX(-45%); opacity: 0; }
  78% { opacity: 0.8; }
  92% { transform: translateX(48%); opacity: 0; }
}
.home-hero-v5-orbit {
  width: 560px;
  height: 560px;
  position: absolute;
  left: -260px;
  top: 50%;
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
.home-hero-v5-orbit::before,
.home-hero-v5-orbit::after {
  content: "";
  position: absolute;
  inset: 64px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
}
.home-hero-v5-orbit::after { inset: 128px; }
.home-hero-v5-orbit i {
  width: 8px;
  height: 8px;
  position: absolute;
  right: 38px;
  top: 148px;
  border-radius: 50%;
  background: #72dfcf;
  box-shadow: 0 0 0 7px rgba(114, 223, 207, 0.16);
}
.home-hero-v5-inner {
  width: min(100% - 3rem, 1240px);
  min-height: inherit;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(5.5rem, 9vh, 8rem) 0 2rem;
}
.home-hero-v5-copy {
  max-width: 690px;
  position: relative;
  z-index: 1;
}
.home-hero-v5-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  color: #b9f2e9;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}
.home-hero-v5-kicker i {
  width: 32px;
  height: 1px;
  background: #72dfcf;
  transform-origin: left;
  animation: hero-v5-line 0.75s 0.25s cubic-bezier(0.16,1,0.3,1) both;
}
@keyframes hero-v5-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.home-hero-v5 h1 {
  margin-top: 1.4rem;
  color: #fff;
  font-size: clamp(4rem, 6.3vw, 6.35rem);
  font-weight: 700;
  line-height: 0.96;
  letter-spacing: -0.068em;
  text-wrap: balance;
}
.home-hero-v5 h1 span {
  color: #9be8db;
  font-weight: 600;
}
.home-hero-v5 h1 {
  animation: hero-v5-rise 0.9s 0.15s cubic-bezier(0.16,1,0.3,1) both;
}
.home-hero-v5-copy > p {
  animation: hero-v5-rise 0.85s 0.32s cubic-bezier(0.16,1,0.3,1) both;
}
.home-hero-v5-actions {
  animation: hero-v5-rise 0.85s 0.46s cubic-bezier(0.16,1,0.3,1) both;
}
@keyframes hero-v5-rise {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
.home-hero-v5-copy > p {
  max-width: 555px;
  margin-top: 1.55rem;
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.02rem;
  line-height: 1.75;
}
.home-hero-v5-actions {
  display: flex;
  align-items: center;
  gap: 1.55rem;
  flex-wrap: wrap;
  margin-top: 2rem;
}
.home-hero-v5-primary {
  color: #10303b;
  background: #fff;
  box-shadow: 0 18px 40px -22px rgba(0, 0, 0, 0.65);
}
.home-hero-v5-primary:hover {
  color: #102f38;
  background: #b9f2e9;
  transform: translateY(-2px);
}
.home-hero-v5-link {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding-bottom: 0.25rem;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 700;
  border-bottom: 1px solid rgba(255, 255, 255, 0.48);
  transition: gap 0.25s ease, border-color 0.25s ease;
}
.home-hero-v5-link:hover { gap: 0.9rem; border-color: #9be8db; }
.home-hero-v5-primary .arrow,
.home-hero-v5-link span {
  animation: hero-v5-arrow 1.8s ease-in-out infinite;
}
@keyframes hero-v5-arrow {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(4px); }
}
.home-hero-v5-foot {
  min-height: 76px;
  display: grid;
  grid-template-columns: 1fr repeat(3, auto);
  align-items: center;
  gap: clamp(1.7rem, 4vw, 4.5rem);
  padding-top: 1.35rem;
  color: #fff;
  border-top: 1px solid rgba(255, 255, 255, 0.28);
}
.home-hero-v5-foot > p {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  color: rgba(255, 255, 255, 0.84);
  font-size: 0.78rem;
  font-weight: 600;
}
.home-hero-v5-foot > p span { color: #8fe3d6; }
.home-hero-v5-foot .home-hero-v5-journey {
  gap: 0.65rem;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.home-hero-v5-foot .home-hero-v5-journey span { color: inherit; white-space: nowrap; }
.home-hero-v5-foot .home-hero-v5-journey i {
  color: #83dfd2;
  font-size: 0.85rem;
  font-style: normal;
}
.home-hero-v5-foot > div {
  display: flex;
  align-items: center;
  gap: 0.58rem;
}
.home-hero-v5-stat svg {
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  fill: none;
  stroke: #8fe3d6;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 7px rgba(114,223,207,0.22));
  animation: hero-v5-icon 3.2s ease-in-out infinite;
}
.home-hero-v5-stat:nth-of-type(2) svg { animation-delay: 0.35s; }
.home-hero-v5-stat:nth-of-type(3) svg { animation-delay: 0.7s; }
@keyframes hero-v5-icon {
  0%, 100% { transform: translateY(0); opacity: 0.82; }
  50% { transform: translateY(-3px); opacity: 1; }
}
.home-hero-v5-foot strong {
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.25rem;
  letter-spacing: -0.04em;
}
.home-hero-v5-foot > div span {
  max-width: 70px;
  color: rgba(255, 255, 255, 0.65);
  font-size: 0.62rem;
  line-height: 1.3;
}
@media (max-width: 900px) {
  .home-hero-v5 { min-height: 740px; }
  .home-hero-v5-bg { object-position: 64% center; }
  .home-hero-v5-shade {
    background: linear-gradient(90deg, rgba(7, 29, 44, 0.88), rgba(8, 30, 44, 0.58) 65%, rgba(7, 26, 38, 0.12)), linear-gradient(0deg, rgba(5, 23, 34, 0.6), transparent 45%);
  }
  .home-hero-v5-foot { grid-template-columns: 1fr repeat(2, auto); }
  .home-hero-v5-foot > div:last-child { display: none; }
}
@media (max-width: 650px) {
  .home-hero-v5 { min-height: 720px; }
  .home-hero-v5-bg { object-position: 82% center; }
  .home-hero-v5-shade {
    background: linear-gradient(90deg, rgba(5, 26, 39, 0.84), rgba(5, 27, 40, 0.42) 100%), linear-gradient(0deg, rgba(4, 20, 31, 0.72), transparent 52%);
  }
  .home-hero-v5-inner { width: min(100% - 2rem, 1240px); padding: 4.5rem 0 1.25rem; }
  .home-hero-v5-copy { max-width: 92%; }
  .home-hero-v5 h1 { font-size: clamp(3.25rem, 14vw, 4.6rem); }
  .home-hero-v5-foot { grid-template-columns: 1fr auto; gap: 1rem; }
  .home-hero-v5-foot .home-hero-v5-journey span:nth-of-type(2),
  .home-hero-v5-foot .home-hero-v5-journey i:nth-of-type(2) { display: none; }
  .home-hero-v5-foot > div:nth-of-type(2),
  .home-hero-v5-foot > div:nth-of-type(3) { display: none; }
}
@media (max-width: 430px) {
  .home-hero-v5 { min-height: 690px; }
  .home-hero-v5-inner { padding-top: 3.7rem; }
  .home-hero-v5 h1 { font-size: clamp(3rem, 14.5vw, 3.85rem); }
  .home-hero-v5-copy > p { font-size: 0.9rem; line-height: 1.65; }
  .home-hero-v5-actions { align-items: flex-start; flex-direction: column; gap: 1.1rem; }
  .home-hero-v5-foot > p { max-width: 190px; line-height: 1.4; }
}
@media (prefers-reduced-motion: reduce) {
  .home-hero-v5-bg,
  .home-hero-v5-shade::after,
  .home-hero-v5-kicker i,
  .home-hero-v5 h1,
  .home-hero-v5-copy > p,
  .home-hero-v5-actions,
  .home-hero-v5-primary .arrow,
  .home-hero-v5-link span,
  .home-hero-v5-stat svg { animation: none; }
}

/* ================================================================
   Why choose us — open trust flow
   ================================================================ */
.trust-flow-section {
  padding: 7.5rem 0 6.5rem;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 9% 86%, rgba(45,212,191,0.08), transparent 22rem),
    radial-gradient(circle at 94% 12%, rgba(56,189,248,0.09), transparent 20rem),
    linear-gradient(180deg, #fff 0%, #f9fbff 100%);
}
.trust-flow-section::before {
  content: "";
  width: 270px;
  height: 270px;
  position: absolute;
  left: -185px;
  top: 10%;
  border: 1px solid rgba(37,99,235,0.08);
  border-radius: 50%;
  box-shadow: 0 0 0 46px rgba(37,99,235,0.018), 0 0 0 92px rgba(37,99,235,0.012);
}
.trust-flow-glow {
  width: 240px;
  height: 240px;
  position: absolute;
  right: -130px;
  bottom: -110px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, rgba(45,212,191,0.16), rgba(45,212,191,0.015) 70%);
}
.trust-flow-section .container { position: relative; z-index: 1; }
.trust-flow-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.62fr);
  gap: 5rem;
  align-items: end;
  margin-bottom: 5rem;
}
.trust-flow-head h2 {
  margin-top: 1.15rem;
  font-size: clamp(2.45rem, 4vw, 3.85rem);
  line-height: 1.05;
}
.trust-flow-head h2 span {
  background: linear-gradient(100deg, #15a7a5, #2c78df 58%, #1e50c8);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.trust-flow-head > p {
  max-width: 440px;
  padding-left: 1.5rem;
  position: relative;
  color: #596482;
  font-size: 1rem;
  line-height: 1.75;
}
.trust-flow-head > p::before {
  content: "";
  width: 2px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: linear-gradient(#25b8ae, #397de0);
  border-radius: 2px;
}
.trust-flow-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  position: relative;
  list-style: none;
}
.trust-flow-list::before {
  content: "";
  height: 1px;
  position: absolute;
  left: 4%;
  right: 4%;
  top: 81px;
  background: linear-gradient(90deg, rgba(229,88,112,0.28), rgba(37,99,235,0.2), rgba(15,181,166,0.26), rgba(255,161,85,0.3));
}
.trust-flow-item {
  min-width: 0;
  padding: 0 2.1rem;
  position: relative;
  text-align: left;
}
.trust-flow-item:first-child { padding-left: 0; }
.trust-flow-item:last-child { padding-right: 0; }
.trust-flow-number {
  display: block;
  margin-bottom: 1.15rem;
  color: #9aa8bf;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.15em;
}
.trust-flow-icon {
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  margin-bottom: 1.8rem;
  position: relative;
  z-index: 1;
  border: 8px solid #fbfdff;
  border-radius: 50%;
  transition: transform 0.45s cubic-bezier(0.16,1,0.3,1), color 0.3s ease, background 0.3s ease;
}
.trust-flow-icon svg { width: 27px; height: 27px; }
.trust-flow-item:hover .trust-flow-icon { transform: translateY(-7px) rotate(-5deg); }
.trust-flow-heart .trust-flow-icon { color: #e34f73; background: #fff0f4; box-shadow: 0 10px 28px -15px rgba(227,79,115,0.45); }
.trust-flow-shield .trust-flow-icon { color: #2d70df; background: #edf4ff; box-shadow: 0 10px 28px -15px rgba(45,112,223,0.45); }
.trust-flow-inclusive .trust-flow-icon { color: #0f9f97; background: #ebfbf8; box-shadow: 0 10px 28px -15px rgba(15,159,151,0.45); }
.trust-flow-reliable .trust-flow-icon { color: #e77e31; background: #fff5e9; box-shadow: 0 10px 28px -15px rgba(231,126,49,0.45); }
.trust-flow-item h3 {
  margin-bottom: 0.65rem;
  color: var(--ink);
  font-size: 1.12rem;
  letter-spacing: -0.025em;
}
.trust-flow-item p {
  max-width: 25ch;
  color: #65708d;
  font-size: 0.9rem;
  line-height: 1.65;
}
.trust-flow-promise {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  margin-top: 4.5rem;
  color: #19a59c;
}
.trust-flow-promise > span { font-size: 1.45rem; }
.trust-flow-promise p {
  color: #56617e;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.95rem;
}
.trust-flow-promise strong { color: #1e50c8; font-weight: 750; }

@media (max-width: 900px) {
  .trust-flow-head { grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 4rem; }
  .trust-flow-head > p { max-width: 620px; }
  .trust-flow-list { grid-template-columns: 1fr 1fr; gap: 3.5rem 2rem; }
  .trust-flow-list::before { display: none; }
  .trust-flow-item { padding: 0; }
  .trust-flow-item::after {
    content: "";
    height: 1px;
    position: absolute;
    left: 0;
    right: 12%;
    top: 79px;
    z-index: 0;
    background: #dce6f3;
  }
  .trust-flow-icon { z-index: 1; }
}

@media (max-width: 560px) {
  .trust-flow-section { padding: 5rem 0 4.5rem; }
  .trust-flow-head { margin-bottom: 3.25rem; }
  .trust-flow-head h2 { font-size: 2.45rem; }
  .trust-flow-list { grid-template-columns: 1fr; gap: 0; }
  .trust-flow-item {
    display: grid;
    grid-template-columns: 64px 1fr;
    grid-template-rows: auto auto;
    gap: 0.25rem 1.15rem;
    padding: 1.55rem 0;
    border-top: 1px solid #dce6f3;
  }
  .trust-flow-item:last-child { border-bottom: 1px solid #dce6f3; }
  .trust-flow-item::after, .trust-flow-number { display: none; }
  .trust-flow-icon { grid-row: 1 / 3; width: 58px; height: 58px; margin: 0; border-width: 5px; }
  .trust-flow-icon svg { width: 22px; height: 22px; }
  .trust-flow-item h3 { margin: 0; align-self: end; }
  .trust-flow-item p { max-width: none; align-self: start; font-size: 0.86rem; }
  .trust-flow-promise { align-items: flex-start; justify-content: flex-start; margin-top: 2.5rem; }
  .trust-flow-promise p { line-height: 1.55; }
}

/* ================================================================
   Life with us — organic editorial photo story
   ================================================================ */
.life-stories-section {
  padding: 7.5rem 0 8.5rem;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 16%, rgba(56,189,248,0.1), transparent 22rem),
    radial-gradient(circle at 93% 84%, rgba(45,212,191,0.08), transparent 24rem),
    #f4f8fd;
}
.life-stories-section::before {
  content: "";
  width: 330px;
  height: 330px;
  position: absolute;
  left: -210px;
  bottom: -120px;
  border: 1px solid rgba(37,99,235,0.08);
  border-radius: 50%;
  box-shadow: 0 0 0 55px rgba(37,99,235,0.018), 0 0 0 110px rgba(37,99,235,0.012);
}
.life-stories-ring {
  width: 150px;
  height: 150px;
  position: absolute;
  right: 7%;
  top: 9%;
  border: 25px solid rgba(45,212,191,0.07);
  border-radius: 50%;
}
.life-stories-section .container { position: relative; z-index: 1; }
.life-stories-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(290px, 0.56fr);
  gap: 5rem;
  align-items: end;
  margin-bottom: 3rem;
}
.life-stories-head h2 {
  margin-top: 1.15rem;
  font-size: clamp(2.5rem, 4.15vw, 3.95rem);
  line-height: 1.04;
}
.life-stories-head h2 span {
  background: linear-gradient(100deg, #14a7a5, #2d78e0 58%, #1e50c8);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.life-stories-intro {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.9rem;
  align-items: start;
  padding-bottom: 0.35rem;
}
.life-stories-intro > span { color: #18a79f; font-size: 1.5rem; line-height: 1.1; }
.life-stories-intro p { max-width: 410px; color: #5d6885; font-size: 1rem; line-height: 1.75; }
.life-stories-collage {
  min-height: 680px;
  position: relative;
}
.life-photo {
  margin: 0;
  position: absolute;
}
.life-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  box-shadow: 0 30px 58px -36px rgba(18,42,94,0.42);
  transition: transform 0.75s cubic-bezier(0.16,1,0.3,1), border-radius 0.75s ease;
}
.life-photo:hover img { transform: scale(1.025); }
.life-photo figcaption {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  position: absolute;
  color: var(--ink);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.82rem;
  font-weight: 750;
  letter-spacing: -0.01em;
}
.life-photo figcaption span { color: #1f6bd5; font-size: 0.65rem; letter-spacing: 0.12em; }
.life-photo-main { width: 48%; height: 555px; left: 0; top: 45px; }
.life-photo-main::before {
  content: "";
  position: absolute;
  inset: -14px 12px 12px -14px;
  border: 1px solid rgba(21,167,165,0.24);
  border-radius: 43% 57% 20% 80% / 34% 42% 58% 66%;
  transform: rotate(-2deg);
}
.life-photo-main img { position: relative; border-radius: 43% 57% 20% 80% / 34% 42% 58% 66%; }
.life-photo-main:hover img { border-radius: 50% 50% 27% 73% / 40% 48% 52% 60%; }
.life-photo-main figcaption { left: 7%; bottom: -35px; }

.life-photo-care { width: 205px; height: 205px; left: 45.5%; top: 2px; z-index: 3; }
.life-photo-care img { border: 7px solid #f4f8fd; border-radius: 50%; }
.life-photo-care figcaption { left: 50%; bottom: -29px; transform: translateX(-50%); white-space: nowrap; }

.life-photo-joy { width: 29%; height: 320px; right: 0; top: 25px; }
.life-photo-joy img { border-radius: 48% 48% 18px 18px; }
.life-photo-joy:hover img { border-radius: 42% 55% 28px 18px; }
.life-photo-joy figcaption { right: 5%; bottom: -31px; }

.life-photo-active { width: 47%; height: 245px; right: 0; bottom: 10px; }
.life-photo-active img { border-radius: 115px 24px 115px 24px; }
.life-photo-active:hover img { border-radius: 80px 40px 95px 40px; }
.life-photo-active figcaption { right: 9%; bottom: -32px; }

.life-stories-message {
  max-width: 25ch;
  position: absolute;
  left: 51.5%;
  top: 260px;
  color: #69738e;
  font-size: 0.94rem;
  line-height: 1.7;
}
.life-stories-message::before {
  content: "";
  width: 34px;
  height: 2px;
  display: block;
  margin-bottom: 1rem;
  border-radius: 2px;
  background: linear-gradient(90deg, #18aaa1, #2c75df);
}
.life-stories-message span { color: var(--ink); font-weight: 700; }

@media (max-width: 980px) {
  .life-stories-head { gap: 2.5rem; }
  .life-photo-main { width: 50%; }
  .life-photo-care { left: 45%; width: 175px; height: 175px; }
  .life-photo-joy { width: 28%; height: 290px; }
  .life-photo-active { width: 46%; height: 225px; }
  .life-stories-message { left: 52%; top: 230px; max-width: 22ch; }
}

@media (max-width: 760px) {
  .life-stories-section { padding: 5rem 0 6rem; }
  .life-stories-head { grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 3.5rem; }
  .life-stories-intro p { max-width: 560px; }
  .life-stories-collage {
    min-height: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.5rem 1.25rem;
  }
  .life-photo { width: auto; height: auto; position: relative; inset: auto; }
  .life-photo img { height: 270px; }
  .life-photo-main { grid-column: 1 / 3; }
  .life-photo-main img { height: 430px; }
  .life-photo-main::before { inset: -10px 10px 10px -10px; }
  .life-photo-main figcaption,
  .life-photo-care figcaption,
  .life-photo-joy figcaption,
  .life-photo-active figcaption { left: 0; right: auto; bottom: -28px; transform: none; }
  .life-photo-care img { border-width: 5px; }
  .life-photo-joy img { border-radius: 48% 48% 18px 18px; }
  .life-photo-active { grid-column: 1 / 3; }
  .life-photo-active img { height: 250px; }
  .life-stories-message {
    max-width: 520px;
    grid-column: 1 / 3;
    position: relative;
    inset: auto;
    margin-top: 0.5rem;
  }
}

@media (max-width: 480px) {
  .life-stories-head h2 { font-size: 2.4rem; }
  .life-stories-collage { gap: 3.25rem 0.8rem; }
  .life-photo-main img { height: 340px; }
  .life-photo img { height: 220px; }
  .life-photo-active img { height: 205px; }
  .life-photo figcaption { font-size: 0.74rem; }
}

/* ================================================================
   Services page — complete editorial redesign
   ================================================================ */
.services-v2 { overflow: hidden; }
.services-v2 .section-eyebrow { margin-bottom: 0; }

/* Hero */
.srv2-hero {
  padding: 5.5rem 0 0;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 7% 20%, rgba(45,212,191,0.1), transparent 25rem),
    radial-gradient(circle at 92% 14%, rgba(56,189,248,0.13), transparent 27rem),
    linear-gradient(135deg, #f7fbff 0%, #fff 55%, #edf5ff 100%);
}
.srv2-hero-orbit { position: absolute; border: 1px solid rgba(37,99,235,0.09); border-radius: 50%; pointer-events: none; }
.srv2-orbit-one { width: 410px; height: 410px; left: -290px; top: 10%; box-shadow: 0 0 0 70px rgba(37,99,235,0.018), 0 0 0 140px rgba(37,99,235,0.012); }
.srv2-orbit-two { width: 170px; height: 170px; right: 3%; bottom: 6%; border: 28px solid rgba(45,212,191,0.055); }
.srv2-hero-grid { min-height: 640px; display: grid; grid-template-columns: minmax(0,0.92fr) minmax(460px,1.08fr); gap: 5rem; align-items: center; position: relative; z-index: 1; }
.srv2-hero-copy { padding-bottom: 3rem; }
.srv2-hero-copy .crumbs { margin-bottom: 2rem; color: #8793ad; font-size: 0.8rem; font-weight: 650; }
.srv2-hero-copy .crumbs a { color: #315ec1; }
.srv2-hero-copy .crumbs span { margin: 0 0.45rem; color: #b1bbcd; }
.srv2-hero-copy h1 { max-width: 760px; margin-top: 1.4rem; font-size: clamp(3.2rem,5.4vw,5.2rem); line-height: 0.99; letter-spacing: -0.06em; }
.srv2-hero-copy h1 span { background: linear-gradient(100deg,#12a9a5,#2879e4 62%,#1e50c8); -webkit-background-clip:text; background-clip:text; color:transparent; }
.srv2-hero-lead { max-width: 570px; margin-top: 1.7rem; color: #586480; font-size: 1.08rem; line-height: 1.78; }
.srv2-hero-actions { display: flex; align-items: center; gap: 1.5rem; margin-top: 2.1rem; flex-wrap: wrap; }
.srv2-text-link { display: inline-flex; align-items: center; gap: 0.65rem; color: #1c3269; font-size: 0.9rem; font-weight: 750; border-bottom: 1px solid #b9c8df; padding-bottom: 0.25rem; transition: gap .25s ease,border-color .25s ease; }
.srv2-text-link:hover { gap: 0.9rem; border-color: #1e50c8; }
.srv2-hero-proof { display: flex; gap: 2.4rem; margin-top: 3rem; padding-top: 1.8rem; border-top: 1px solid #dbe5f1; }
.srv2-hero-proof > div { display: flex; align-items: center; gap: 0.7rem; }
.srv2-hero-proof > div + div { padding-left: 2.4rem; border-left: 1px solid #dbe5f1; }
.srv2-hero-proof strong { color: #173b98; font-family: "Plus Jakarta Sans",sans-serif; font-size: 1.85rem; letter-spacing: -0.05em; }
.srv2-hero-proof span { color: #6c7690; font-size: 0.72rem; line-height: 1.35; }
.srv2-hero-visual { min-height: 600px; position: relative; }
.srv2-hero-main-photo { width: 82%; height: 540px; margin: 0; position: absolute; right: 0; top: 0; }
.srv2-hero-main-photo::before { content:""; position:absolute; inset:-14px 18px 14px -14px; border:1px solid rgba(30,80,200,.18); border-radius:48% 52% 14% 86% / 34% 44% 56% 66%; transform:rotate(2deg); }
.srv2-hero-main-photo img { width:100%; height:100%; position:relative; object-fit:cover; border-radius:48% 52% 14% 86% / 34% 44% 56% 66%; box-shadow:0 34px 65px -35px rgba(20,42,94,.48); }
.srv2-hero-small-photo { width: 210px; height: 210px; margin:0; position:absolute; left:0; bottom:15px; z-index:2; }
.srv2-hero-small-photo img { width:100%; height:100%; object-fit:cover; border:8px solid #f7fbff; border-radius:50%; box-shadow:0 20px 40px -24px rgba(20,42,94,.45); }
.srv2-hero-note { display:flex; align-items:flex-start; gap:.7rem; position:absolute; right:0; bottom:14px; color:#14a59e; }
.srv2-hero-note p { color:#5d6884; font-size:.8rem; line-height:1.5; }
.srv2-hero-note strong { color:#172653; font-weight:750; }
.srv2-hero-marquee { overflow:hidden; position:relative; z-index:2; color:#fff; background:#142354; transform:rotate(-1deg) scale(1.015); }
.srv2-hero-marquee > div { display:flex; align-items:center; gap:2.2rem; width:max-content; padding:1rem 0; animation:marqueeScroll 34s linear infinite; }
.srv2-hero-marquee span { color:rgba(255,255,255,.82); font-family:"Plus Jakarta Sans",sans-serif; font-size:.78rem; font-weight:650; text-transform:uppercase; letter-spacing:.08em; white-space:nowrap; }
.srv2-hero-marquee i { color:#46d6c8; font-style:normal; }

/* Support compass */
.srv2-compass { padding:8rem 0 7rem; background:#fff; }
.srv2-section-head { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.55fr); gap:5rem; align-items:end; margin-bottom:5rem; }
.srv2-section-head > *, .srv2-hero-grid > *, .srv2-directory > *, .srv2-process-grid > *, .srv2-story-grid > * { min-width:0; }
.srv2-section-head h2,.srv2-directory-head h2,.srv2-process-intro h2 { margin-top:1.15rem; font-size:clamp(2.45rem,4vw,3.75rem); line-height:1.05; }
.srv2-section-head h2 span,.srv2-directory-head h2 span,.srv2-process-intro h2 span { background:linear-gradient(100deg,#14a7a3,#2c77df 60%,#1e50c8); -webkit-background-clip:text; background-clip:text; color:transparent; }
.srv2-section-head > p { max-width:430px; padding-left:1.4rem; position:relative; color:#616c88; font-size:1rem; line-height:1.75; }
.srv2-section-head > p::before { content:""; width:2px; position:absolute; left:0; top:0; bottom:0; background:linear-gradient(#1db2aa,#377be0); }
.srv2-pathways { display:grid; grid-template-columns:repeat(3,1fr); position:relative; }
.srv2-pathways::before { content:""; height:1px; position:absolute; left:3%; right:3%; top:77px; background:linear-gradient(90deg,rgba(20,167,163,.3),rgba(44,119,223,.24),rgba(255,117,84,.28)); }
.srv2-pathway { padding:0 3rem; position:relative; }
.srv2-pathway:first-child { padding-left:0; }
.srv2-pathway:last-child { padding-right:0; }
.srv2-pathway + .srv2-pathway { border-left:1px solid #e2e9f3; }
.srv2-path-number { display:block; margin-bottom:1rem; color:#9ca8bb; font-family:"Plus Jakarta Sans",sans-serif; font-size:.66rem; font-weight:800; letter-spacing:.14em; }
.srv2-path-icon { width:70px; height:70px; display:grid; place-items:center; margin-bottom:1.7rem; position:relative; z-index:1; color:#1f69d4; border:7px solid #fff; border-radius:50%; background:#edf4ff; transition:transform .4s cubic-bezier(.16,1,.3,1); }
.srv2-pathway:nth-child(2) .srv2-path-icon { color:#0c9e95; background:#ebfbf8; }
.srv2-pathway:nth-child(3) .srv2-path-icon { color:#e46545; background:#fff1ed; }
.srv2-pathway:hover .srv2-path-icon { transform:translateY(-6px) rotate(-5deg); }
.srv2-path-icon svg { width:27px; height:27px; }
.srv2-pathway h3 { margin-bottom:.7rem; font-size:1.25rem; }
.srv2-pathway p { max-width:31ch; color:#68738e; font-size:.92rem; line-height:1.7; }
.srv2-pathway a { display:inline-flex; gap:.55rem; margin-top:1.25rem; color:#1e50c8; font-size:.8rem; font-weight:750; }

/* Service directory */
.srv2-directory-section { padding:8rem 0; background:linear-gradient(135deg,#eef6ff 0%,#f9fbff 48%,#edf7f7 100%); }
.srv2-directory-head { max-width:800px; margin-bottom:5rem; }
.srv2-directory-head p { max-width:620px; margin-top:1.25rem; color:#616c87; font-size:1rem; line-height:1.75; }
.srv2-directory { display:grid; grid-template-columns:minmax(360px,.88fr) minmax(0,1.12fr); gap:6rem; align-items:start; }
.srv2-service-preview { position:sticky; top:8rem; }
.srv2-service-preview figure { height:540px; margin:0; position:relative; }
.srv2-service-preview figure::before { content:""; position:absolute; inset:-13px 15px 15px -13px; border:1px solid rgba(30,80,200,.17); border-radius:44% 56% 18% 82% / 34% 46% 54% 66%; transform:rotate(-2deg); }
.srv2-service-preview img { width:100%; height:100%; position:relative; object-fit:cover; border-radius:44% 56% 18% 82% / 34% 46% 54% 66%; box-shadow:0 35px 65px -38px rgba(21,49,105,.5); transition:opacity .15s ease,transform .35s ease; }
.srv2-service-preview img.is-changing { opacity:.25; transform:scale(.985); }
.srv2-service-preview figure > span { position:absolute; right:2rem; top:1.8rem; z-index:2; color:#fff; font-family:"Plus Jakarta Sans",sans-serif; font-size:2.4rem; font-weight:800; text-shadow:0 3px 14px rgba(10,30,70,.35); }
.srv2-preview-caption { display:flex; flex-direction:column; margin-top:2rem; padding-left:1.2rem; border-left:2px solid #20aaa3; }
.srv2-preview-caption span { color:#8390a8; font-size:.68rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.srv2-preview-caption strong { margin-top:.35rem; color:#172653; font-family:"Plus Jakarta Sans",sans-serif; font-size:1.05rem; }
.srv2-service-menu { border-top:1px solid #cfdbea; }
.srv2-service-item { display:grid; grid-template-columns:44px 1fr 40px; gap:1.2rem; align-items:center; padding:1.65rem .3rem; border-bottom:1px solid #cfdbea; transition:padding .3s ease,background .3s ease; }
.srv2-service-item:hover,.srv2-service-item.active { padding-left:1rem; background:rgba(255,255,255,.5); }
.srv2-service-num { align-self:start; padding-top:.3rem; color:#97a5bb; font-family:"Plus Jakarta Sans",sans-serif; font-size:.7rem; font-weight:800; letter-spacing:.1em; }
.srv2-service-item small { color:#8592a9; font-size:.62rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.srv2-service-item h3 { margin-top:.35rem; font-size:1.2rem; transition:color .25s ease; }
.srv2-service-item p { max-width:52ch; margin-top:.45rem; color:#68738d; font-size:.84rem; line-height:1.55; }
.srv2-service-arrow { width:36px; height:36px; display:grid; place-items:center; justify-self:end; color:#1e50c8; border:1px solid #c9d6e8; border-radius:50%; transition:transform .3s ease,color .3s ease,background .3s ease; }
.srv2-service-item:hover h3,.srv2-service-item.active h3 { color:#1e50c8; }
.srv2-service-item:hover .srv2-service-arrow,.srv2-service-item.active .srv2-service-arrow { color:#fff; background:#1e50c8; transform:rotate(45deg); }

/* Process */
.srv2-process { padding:8rem 0; position:relative; overflow:hidden; background:#132252; }
.srv2-process::before { content:""; width:420px; height:420px; position:absolute; left:-280px; bottom:-260px; border:1px solid rgba(255,255,255,.07); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.018),0 0 0 140px rgba(255,255,255,.012); }
.srv2-process-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:7rem; align-items:start; position:relative; }
.srv2-process-intro { position:sticky; top:8rem; }
.srv2-process .section-eyebrow { color:#9dcaff; border-color:rgba(255,255,255,.15); background:rgba(255,255,255,.05); }
.srv2-process-intro h2 { color:#fff; }
.srv2-process-intro h2 span { background:linear-gradient(100deg,#65dfd5,#79b7ff); -webkit-background-clip:text; background-clip:text; color:transparent; }
.srv2-process-intro > p { max-width:430px; margin:1.3rem 0 2rem; color:rgba(255,255,255,.67); line-height:1.75; }
.srv2-process-list { list-style:none; border-top:1px solid rgba(255,255,255,.14); }
.srv2-process-list li { display:grid; grid-template-columns:65px 1fr; gap:1.4rem; padding:2.2rem 0; border-bottom:1px solid rgba(255,255,255,.14); }
.srv2-process-list li > span { color:#5dd8cd; font-family:"Plus Jakarta Sans",sans-serif; font-size:.72rem; font-weight:800; letter-spacing:.12em; }
.srv2-process-list h3 { color:#fff; font-size:1.3rem; }
.srv2-process-list p { max-width:48ch; margin-top:.55rem; color:rgba(255,255,255,.6); font-size:.9rem; line-height:1.65; }

/* Story */
.srv2-story { padding:8rem 0; background:#fff; }
.srv2-story-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:6rem; align-items:center; }
.srv2-story figure { height:520px; margin:0; position:relative; }
.srv2-story figure::before { content:""; position:absolute; inset:-13px 14px 14px -13px; border:1px solid rgba(20,167,163,.22); border-radius:45% 55% 24% 76% / 34% 42% 58% 66%; transform:rotate(-2deg); }
.srv2-story img { width:100%; height:100%; position:relative; object-fit:cover; border-radius:45% 55% 24% 76% / 34% 42% 58% 66%; }
.srv2-story blockquote { position:relative; }
.srv2-quote-mark { display:block; height:75px; color:#2b74df; font-family:Georgia,serif; font-size:7rem; line-height:1; opacity:.22; }
.srv2-story blockquote > p { color:#172653; font-family:"Plus Jakarta Sans",sans-serif; font-size:clamp(1.8rem,3.2vw,3rem); font-weight:650; letter-spacing:-.04em; line-height:1.3; }
.srv2-story blockquote footer { display:flex; flex-direction:column; margin-top:2rem; padding-left:1.2rem; border-left:2px solid #19a9a0; }
.srv2-story blockquote footer strong { color:#172653; font-size:.9rem; }
.srv2-story blockquote footer span { margin-top:.25rem; color:#76829a; font-size:.78rem; }

/* Final CTA */
.srv2-final-cta { padding:8rem 0; position:relative; overflow:hidden; background:linear-gradient(135deg,#eff7ff,#f8fbff 48%,#edf9f7); }
.srv2-cta-orb { width:290px; height:290px; position:absolute; right:-130px; top:-140px; border:45px solid rgba(45,212,191,.07); border-radius:50%; }
.srv2-final-inner { position:relative; text-align:center; }
.srv2-final-inner h2 { max-width:1000px; margin:1.4rem auto 0; font-size:clamp(2.3rem,4.3vw,4rem); line-height:1.08; }
.srv2-final-inner h2 span { background:linear-gradient(100deg,#14a7a3,#2d75dc 62%,#1e50c8); -webkit-background-clip:text; background-clip:text; color:transparent; }
.srv2-final-inner > p { max-width:620px; margin:1.4rem auto 2.2rem; color:#616d87; font-size:1.03rem; line-height:1.75; }
.srv2-final-inner > div { display:flex; justify-content:center; align-items:center; gap:1.4rem; flex-wrap:wrap; }
.srv2-call-link { color:#173b98; font-size:.9rem; font-weight:750; border-bottom:1px solid #aebfd9; padding-bottom:.2rem; }

@media (max-width:1050px) {
  .srv2-hero-grid { grid-template-columns:1fr 1fr; gap:2.5rem; }
  .srv2-hero-main-photo { width:90%; height:500px; }
  .srv2-hero-small-photo { width:170px; height:170px; }
  .srv2-directory { grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr); gap:3.5rem; }
  .srv2-service-preview figure { height:470px; }
  .srv2-story-grid { gap:3.5rem; }
}

@media (max-width:820px) {
  .srv2-hero { padding-top:4.5rem; }
  .srv2-hero-grid { grid-template-columns:1fr; }
  .srv2-hero-copy { padding-bottom:0; }
  .srv2-hero-visual { min-height:560px; max-width:620px; width:100%; margin:0 auto 3rem; }
  .srv2-section-head { grid-template-columns:1fr; gap:1.5rem; }
  .srv2-pathways { grid-template-columns:1fr; }
  .srv2-pathways::before { display:none; }
  .srv2-pathway { display:grid; grid-template-columns:76px 1fr; grid-template-rows:auto auto auto; column-gap:1.4rem; padding:2rem 0; border-top:1px solid #dce5f1; }
  .srv2-pathway:last-child { border-bottom:1px solid #dce5f1; }
  .srv2-pathway + .srv2-pathway { border-left:0; }
  .srv2-path-number { display:none; }
  .srv2-path-icon { grid-row:1/4; margin:0; }
  .srv2-pathway h3 { align-self:end; }
  .srv2-pathway a { margin-top:.8rem; }
  .srv2-directory { grid-template-columns:1fr; }
  .srv2-service-preview { position:relative; top:auto; max-width:560px; margin:0 auto 2rem; width:100%; }
  .srv2-service-preview figure { height:440px; }
  .srv2-process-grid { grid-template-columns:1fr; gap:4rem; }
  .srv2-process-intro { position:relative; top:auto; }
  .srv2-story-grid { grid-template-columns:1fr; }
  .srv2-story figure { max-width:620px; width:100%; height:480px; }
}

@media (max-width:560px) {
  .services-v2 section > .container { width:100%; padding-left:1.15rem; padding-right:1.15rem; }
  .srv2-hero-copy h1 { max-width:100%; font-size:clamp(2.55rem,11.5vw,2.85rem); overflow-wrap:normal; }
  .srv2-hero-copy h1 br,
  .srv2-section-head h2 br,
  .srv2-directory-head h2 br,
  .srv2-process-intro h2 br,
  .srv2-final-inner h2 br { display:none; }
  .srv2-hero-lead,.srv2-section-head > p,.srv2-directory-head p { max-width:100%; }
  .srv2-hero-proof { gap:1rem; }
  .srv2-hero-proof > div { display:block; }
  .srv2-hero-proof > div + div { padding-left:1rem; }
  .srv2-hero-proof span { display:block; margin-top:.25rem; }
  .srv2-hero-visual { min-height:430px; }
  .srv2-hero-main-photo { height:390px; }
  .srv2-hero-small-photo { width:125px; height:125px; }
  .srv2-hero-note { display:none; }
  .srv2-compass,.srv2-directory-section,.srv2-process,.srv2-story,.srv2-final-cta { padding:5.5rem 0; }
  .srv2-section-head,.srv2-directory-head { margin-bottom:3.5rem; }
  .srv2-section-head h2,.srv2-directory-head h2,.srv2-process-intro h2 { max-width:100%; font-size:clamp(2.15rem,10vw,2.4rem); }
  .srv2-pathway { grid-template-columns:60px 1fr; }
  .srv2-path-icon { width:58px; height:58px; border-width:5px; }
  .srv2-service-preview figure { height:350px; }
  .srv2-service-item { grid-template-columns:32px 1fr 34px; gap:.75rem; padding:1.35rem 0; }
  .srv2-service-item:hover,.srv2-service-item.active { padding-left:.35rem; }
  .srv2-service-item p { display:none; }
  .srv2-service-item h3 { font-size:1.02rem; }
  .srv2-service-arrow { width:32px; height:32px; }
  .srv2-process-list li { grid-template-columns:45px 1fr; }
  .srv2-story figure { height:360px; }
  .srv2-final-inner h2 { font-size:2.35rem; }
}

/* ================================================================
   Services page v3 — bold editorial catalogue
   Deliberately distinct from the soft/organic home-page language.
   ================================================================ */
.services-v3 { overflow:hidden; background:#f7f6f1; }
.services-v3 .btn { border-radius:3px; }
.services-v3 .section-eyebrow { border:0; border-radius:0; padding:0; background:none; box-shadow:none; letter-spacing:.16em; }

/* Hard split hero */
.services-v3 .srv2-hero { padding:0; background:#f4f1e9; }
.services-v3 .srv2-hero-orbit { display:none; }
.services-v3 .srv2-hero-grid { min-height:680px; grid-template-columns:52% 48%; gap:0; }
.services-v3 .srv2-hero-copy { padding:5rem 5rem 4.5rem 0; }
.services-v3 .srv2-hero-copy .crumbs { margin-bottom:4rem; color:#6c7180; text-transform:uppercase; letter-spacing:.12em; }
.services-v3 .srv2-hero-copy .crumbs a { color:#151a2d; }
.services-v3 .srv2-hero-copy .section-eyebrow { color:#1e50c8; }
.services-v3 .srv2-hero-copy h1 { max-width:650px; margin-top:1.1rem; color:#11162a; font-size:clamp(4rem,6.2vw,6.3rem); line-height:.88; letter-spacing:-.075em; }
.services-v3 .srv2-hero-copy h1 span { color:#1e50c8; background:none; -webkit-text-fill-color:initial; }
.services-v3 .srv2-hero-lead { max-width:515px; margin-top:2.2rem; color:#4e5362; font-size:1rem; line-height:1.7; }
.services-v3 .srv2-hero-actions { margin-top:2.4rem; }
.services-v3 .srv2-text-link { color:#11162a; border-color:#11162a; }
.services-v3 .srv2-hero-proof { gap:0; margin-top:3.2rem; padding-top:0; border-top:0; }
.services-v3 .srv2-hero-proof > div { min-width:125px; display:block; padding:1.05rem 1.4rem; border-top:2px solid #11162a; }
.services-v3 .srv2-hero-proof > div:first-child { padding-left:0; }
.services-v3 .srv2-hero-proof > div + div { padding-left:1.4rem; border-left:1px solid #b9b7b0; }
.services-v3 .srv2-hero-proof strong { color:#11162a; font-size:2.1rem; }
.services-v3 .srv2-hero-proof span { display:block; margin-top:.3rem; color:#686d7a; text-transform:uppercase; letter-spacing:.08em; }
.services-v3 .srv2-hero-visual { min-height:680px; }
.services-v3 .srv2-hero-main-photo { width:calc(100% + max(1.5rem,(100vw - 1240px)/2)); height:680px; inset:0 auto auto 0; }
.services-v3 .srv2-hero-main-photo::before { display:none; }
.services-v3 .srv2-hero-main-photo img { border-radius:0; box-shadow:none; filter:saturate(.86) contrast(1.04); }
.services-v3 .srv2-hero-small-photo { width:175px; height:215px; left:-88px; bottom:0; border:10px solid #f4f1e9; background:#f4f1e9; }
.services-v3 .srv2-hero-small-photo img { border:0; border-radius:0; box-shadow:none; }
.services-v3 .srv2-hero-note { right:0; bottom:0; padding:1.25rem 1.6rem; color:#fff; background:#11162a; }
.services-v3 .srv2-hero-note p,.services-v3 .srv2-hero-note strong { color:#fff; }
.services-v3 .srv2-hero-marquee { color:#11162a; background:#f1d94f; transform:none; }
.services-v3 .srv2-hero-marquee > div { padding:1.15rem 0; }
.services-v3 .srv2-hero-marquee span { color:#11162a; font-size:.72rem; }
.services-v3 .srv2-hero-marquee i { color:#1e50c8; }

/* Dark manifesto / pathways */
.services-v3 .srv2-compass { padding:8.5rem 0; color:#fff; background:#11162a; }
.services-v3 .srv2-section-head { grid-template-columns:1.1fr .6fr; margin-bottom:6rem; }
.services-v3 .srv2-section-head .section-eyebrow { color:#f1d94f; }
.services-v3 .srv2-section-head h2 { color:#fff; font-size:clamp(3rem,5.1vw,5rem); line-height:.98; }
.services-v3 .srv2-section-head h2 span { color:#65dcd2; background:none; -webkit-text-fill-color:initial; }
.services-v3 .srv2-section-head > p { color:rgba(255,255,255,.65); border-left:1px solid rgba(255,255,255,.25); }
.services-v3 .srv2-section-head > p::before { display:none; }
.services-v3 .srv2-pathways { gap:3.5rem; }
.services-v3 .srv2-pathways::before { display:none; }
.services-v3 .srv2-pathway { min-height:320px; padding:2rem 0 0; border-top:1px solid rgba(255,255,255,.28); }
.services-v3 .srv2-pathway + .srv2-pathway { border-left:0; }
.services-v3 .srv2-path-number { margin-bottom:2.7rem; color:#f1d94f; font-size:4.6rem; line-height:.8; letter-spacing:-.08em; opacity:.95; }
.services-v3 .srv2-path-icon { display:none; }
.services-v3 .srv2-pathway h3 { color:#fff; font-size:1.55rem; }
.services-v3 .srv2-pathway p { color:rgba(255,255,255,.62); }
.services-v3 .srv2-pathway a { margin-top:auto; color:#65dcd2; }

/* Catalogue directory */
.services-v3 .srv2-directory-section { padding:9rem 0; background:#f7f6f1; }
.services-v3 .srv2-directory-head { max-width:none; display:grid; grid-template-columns:1.05fr .55fr; column-gap:6rem; margin-bottom:6rem; }
.services-v3 .srv2-directory-head .section-eyebrow { grid-column:1/3; margin-bottom:1.5rem; color:#1e50c8; }
.services-v3 .srv2-directory-head h2 { color:#11162a; font-size:clamp(3rem,5vw,5rem); line-height:.95; }
.services-v3 .srv2-directory-head h2 span { color:#1e50c8; background:none; -webkit-text-fill-color:initial; }
.services-v3 .srv2-directory-head p { align-self:end; padding-left:1.5rem; color:#5b606e; border-left:2px solid #1e50c8; }
.services-v3 .srv2-directory { grid-template-columns:40% 60%; gap:5rem; }
.services-v3 .srv2-service-preview { top:7rem; }
.services-v3 .srv2-service-preview figure { height:500px; }
.services-v3 .srv2-service-preview figure::before { display:none; }
.services-v3 .srv2-service-preview img { border-radius:0; box-shadow:14px 14px 0 #1e50c8; }
.services-v3 .srv2-service-preview figure > span { left:-.15rem; right:auto; top:auto; bottom:-.45rem; color:#f7f6f1; font-size:7.5rem; line-height:.8; text-shadow:none; }
.services-v3 .srv2-preview-caption { margin-top:2.4rem; padding:0 0 0 1rem; border-left:5px solid #f1d94f; }
.services-v3 .srv2-preview-caption span { color:#737986; }
.services-v3 .srv2-preview-caption strong { color:#11162a; }
.services-v3 .srv2-service-menu { border-top:2px solid #11162a; }
.services-v3 .srv2-service-item { grid-template-columns:55px 1fr 45px; padding:1.65rem 0; border-color:#bfc0bc; }
.services-v3 .srv2-service-item:hover,.services-v3 .srv2-service-item.active { padding-left:1rem; background:#f1d94f; }
.services-v3 .srv2-service-num { color:#1e50c8; }
.services-v3 .srv2-service-item small { color:#6f7480; }
.services-v3 .srv2-service-item h3 { color:#11162a; font-size:1.25rem; }
.services-v3 .srv2-service-item p { color:#5d626f; }
.services-v3 .srv2-service-arrow { border-radius:0; border-color:#11162a; color:#11162a; }
.services-v3 .srv2-service-item:hover .srv2-service-arrow,.services-v3 .srv2-service-item.active .srv2-service-arrow { color:#fff; background:#11162a; }
.services-v3 .srv2-service-item:hover h3,.services-v3 .srv2-service-item.active h3 { color:#11162a; }

/* High-contrast process */
.services-v3 .srv2-process { padding:8.5rem 0; background:#f1d94f; }
.services-v3 .srv2-process::before { display:none; }
.services-v3 .srv2-process-grid { grid-template-columns:.78fr 1.22fr; }
.services-v3 .srv2-process .section-eyebrow { color:#11162a; background:none; }
.services-v3 .srv2-process-intro h2 { color:#11162a; font-size:clamp(3rem,4.8vw,4.7rem); line-height:.98; }
.services-v3 .srv2-process-intro h2 span { color:#1e50c8; background:none; -webkit-text-fill-color:initial; }
.services-v3 .srv2-process-intro > p { color:#4d4c42; }
.services-v3 .srv2-process-list { border-color:rgba(17,22,42,.5); }
.services-v3 .srv2-process-list li { grid-template-columns:80px 1fr; padding:2.4rem 0; border-color:rgba(17,22,42,.38); }
.services-v3 .srv2-process-list li > span { color:#1e50c8; font-size:1.05rem; }
.services-v3 .srv2-process-list h3 { color:#11162a; font-size:1.45rem; }
.services-v3 .srv2-process-list p { color:#595748; }

/* Rectangular human story */
.services-v3 .srv2-story { padding:0; background:#11162a; }
.services-v3 .srv2-story .container { max-width:none; padding:0; }
.services-v3 .srv2-story-grid { grid-template-columns:50% 50%; gap:0; }
.services-v3 .srv2-story figure { width:100%; height:600px; }
.services-v3 .srv2-story figure::before { display:none; }
.services-v3 .srv2-story img { border-radius:0; filter:saturate(.8); }
.services-v3 .srv2-story blockquote { align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding:5rem clamp(3rem,7vw,8rem); background:#1e50c8; }
.services-v3 .srv2-quote-mark { color:#f1d94f; opacity:1; }
.services-v3 .srv2-story blockquote > p { color:#fff; }
.services-v3 .srv2-story blockquote footer { border-color:#f1d94f; }
.services-v3 .srv2-story blockquote footer strong { color:#fff; }
.services-v3 .srv2-story blockquote footer span { color:rgba(255,255,255,.62); }

/* Minimal final statement */
.services-v3 .srv2-final-cta { padding:9rem 0; background:#f7f6f1; }
.services-v3 .srv2-cta-orb { display:none; }
.services-v3 .srv2-final-inner { text-align:left; }
.services-v3 .srv2-final-inner .section-eyebrow { color:#1e50c8; }
.services-v3 .srv2-final-inner h2 { max-width:1100px; margin:1.3rem 0 0; color:#11162a; font-size:clamp(3rem,5.5vw,5.6rem); line-height:.96; }
.services-v3 .srv2-final-inner h2 span { color:#1e50c8; background:none; -webkit-text-fill-color:initial; }
.services-v3 .srv2-final-inner > p { margin:2rem 0; }
.services-v3 .srv2-final-inner > div { justify-content:flex-start; }
.services-v3 .srv2-call-link { color:#11162a; border-color:#11162a; }

@media (max-width:900px) {
  .services-v3 .srv2-hero-grid { grid-template-columns:1fr; }
  .services-v3 .srv2-hero-copy { padding-right:0; }
  .services-v3 .srv2-hero-visual { min-height:560px; }
  .services-v3 .srv2-hero-main-photo { width:100%; height:560px; }
  .services-v3 .srv2-section-head,.services-v3 .srv2-directory-head { grid-template-columns:1fr; }
  .services-v3 .srv2-directory-head .section-eyebrow { grid-column:1; }
  .services-v3 .srv2-directory-head p { margin-top:2rem; }
  .services-v3 .srv2-directory { grid-template-columns:1fr; }
  .services-v3 .srv2-service-preview { position:relative; top:auto; max-width:none; }
  .services-v3 .srv2-pathways { grid-template-columns:1fr; gap:1.5rem; }
  .services-v3 .srv2-pathway { min-height:0; }
  .services-v3 .srv2-process-grid { grid-template-columns:1fr; }
  .services-v3 .srv2-story-grid { grid-template-columns:1fr; }
  .services-v3 .srv2-story figure { height:500px; }
}

@media (max-width:560px) {
  .services-v3 section > .container { width:100%; padding-left:1.15rem; padding-right:1.15rem; }
  .services-v3 .srv2-hero-copy { padding-top:3.5rem; }
  .services-v3 .srv2-hero-copy .crumbs { margin-bottom:2.5rem; }
  .services-v3 .srv2-hero-copy h1 { font-size:clamp(3.2rem,15vw,4rem); }
  .services-v3 .srv2-hero-proof > div { min-width:0; flex:1; padding:.8rem; }
  .services-v3 .srv2-hero-proof > div:first-child { padding-left:0; }
  .services-v3 .srv2-hero-visual,.services-v3 .srv2-hero-main-photo { min-height:0; height:430px; }
  .services-v3 .srv2-hero-small-photo { width:115px; height:145px; left:0; }
  .services-v3 .srv2-compass,.services-v3 .srv2-directory-section,.services-v3 .srv2-process,.services-v3 .srv2-final-cta { padding:5.5rem 0; }
  .services-v3 .srv2-section-head h2,.services-v3 .srv2-directory-head h2,.services-v3 .srv2-process-intro h2 { font-size:2.75rem; }
  .services-v3 .srv2-path-number { margin-bottom:1.5rem; font-size:3.6rem; }
  .services-v3 .srv2-service-preview figure { height:360px; }
  .services-v3 .srv2-service-item { grid-template-columns:35px 1fr 34px; }
  .services-v3 .srv2-story figure { height:360px; }
  .services-v3 .srv2-story blockquote { padding:4rem 1.5rem; }
  .services-v3 .srv2-final-inner h2 { font-size:3rem; }
}

/* ================================================================
   Services page v4 — soft luxury editorial
   Cinematic imagery, serif display type, warm neutral palette.
   ================================================================ */
.services-v4 { overflow:hidden; color:#263b37; background:#f6f2eb; }
.services-v4 h1,.services-v4 h2,.services-v4 .srv2-story blockquote > p { font-family:"DM Serif Display",Georgia,serif; font-weight:400; letter-spacing:-.035em; }
.services-v4 .btn { border-radius:999px; }
.services-v4 .section-eyebrow { padding:0; border:0; border-radius:0; background:none; box-shadow:none; color:#97705e; letter-spacing:.18em; }

/* Cinematic split hero */
.services-v4 .srv2-hero { min-height:760px; padding:0; position:relative; background:#f6f2eb; }
.services-v4 .srv2-hero-orbit { display:none; }
.services-v4 .srv2-hero > .container { position:relative; z-index:2; }
.services-v4 .srv2-hero-grid { min-height:760px; grid-template-columns:47% 53%; gap:0; }
.services-v4 .srv2-hero-copy { padding:5rem 4.5rem 5rem 0; }
.services-v4 .srv2-hero-copy .crumbs { margin-bottom:4.5rem; color:#9a8f83; text-transform:uppercase; letter-spacing:.14em; }
.services-v4 .srv2-hero-copy .crumbs a { color:#31524b; }
.services-v4 .srv2-hero-copy h1 { max-width:610px; margin-top:1.3rem; color:#233f39; font-size:clamp(4.4rem,6.7vw,6.8rem); line-height:.89; }
.services-v4 .srv2-hero-copy h1 span { color:#bd765b; background:none; -webkit-text-fill-color:initial; }
.services-v4 .srv2-hero-lead { max-width:500px; margin-top:2rem; color:#69736f; font-family:"Inter",sans-serif; font-size:1rem; line-height:1.8; }
.services-v4 .srv2-hero-actions { margin-top:2.3rem; }
.services-v4 .srv2-hero-actions .btn-warm { background:#315c53; box-shadow:none; }
.services-v4 .srv2-text-link { color:#31524b; border-color:#aebbb6; }
.services-v4 .srv2-hero-proof { gap:0; margin-top:3rem; padding-top:1.5rem; border-color:#d9d1c6; }
.services-v4 .srv2-hero-proof > div { min-width:130px; display:block; }
.services-v4 .srv2-hero-proof > div + div { margin-left:1.6rem; padding-left:1.6rem; border-color:#d9d1c6; }
.services-v4 .srv2-hero-proof strong { color:#31524b; font-family:"DM Serif Display",Georgia,serif; font-size:2.2rem; font-weight:400; }
.services-v4 .srv2-hero-proof span { display:block; margin-top:.3rem; color:#8b8b82; }
.services-v4 .srv2-hero-visual { min-height:760px; }
.services-v4 .srv2-hero-main-photo { width:calc(100% + max(1.5rem,(100vw - 1240px)/2)); height:760px; inset:0 auto auto 0; }
.services-v4 .srv2-hero-main-photo::before { display:none; }
.services-v4 .srv2-hero-main-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(28,54,49,.16),transparent 40%),linear-gradient(0deg,rgba(19,42,37,.3),transparent 42%); }
.services-v4 .srv2-hero-main-photo img { border-radius:0; box-shadow:none; object-position:52% center; filter:saturate(.78) sepia(.08); }
.services-v4 .srv2-hero-small-photo { display:none; }
.services-v4 .srv2-hero-note { right:1.8rem; bottom:1.8rem; padding:1rem 1.2rem; color:#fff; background:rgba(28,56,50,.72); backdrop-filter:blur(12px); }
.services-v4 .srv2-hero-note p,.services-v4 .srv2-hero-note strong { color:#fff; }
.services-v4 .srv2-hero-marquee { color:#f6f2eb; background:#315c53; transform:none; }
.services-v4 .srv2-hero-marquee > div { padding:1.15rem 0; }
.services-v4 .srv2-hero-marquee span { color:rgba(255,255,255,.82); font-family:"Inter",sans-serif; font-weight:500; letter-spacing:.13em; }
.services-v4 .srv2-hero-marquee i { color:#e8b69e; }

/* Calm service pathways */
.services-v4 .srv2-compass { padding:9rem 0 8rem; background:#f6f2eb; }
.services-v4 .srv2-section-head { margin-bottom:6rem; }
.services-v4 .srv2-section-head h2 { color:#29473f; font-size:clamp(3.4rem,5.3vw,5.4rem); line-height:.98; }
.services-v4 .srv2-section-head h2 span { color:#bd765b; background:none; -webkit-text-fill-color:initial; }
.services-v4 .srv2-section-head > p { color:#747a75; border-left:1px solid #cbb9aa; }
.services-v4 .srv2-section-head > p::before { display:none; }
.services-v4 .srv2-pathways { gap:3.5rem; }
.services-v4 .srv2-pathways::before { top:83px; background:#cfc7bb; }
.services-v4 .srv2-pathway { padding-top:0; }
.services-v4 .srv2-pathway + .srv2-pathway { border-color:#d8d0c5; }
.services-v4 .srv2-path-number { color:#a68775; }
.services-v4 .srv2-path-icon { width:80px; height:80px; color:#315c53; border:10px solid #f6f2eb; background:#dfe9e4; }
.services-v4 .srv2-pathway:nth-child(2) .srv2-path-icon { color:#a3644e; background:#f0ded5; }
.services-v4 .srv2-pathway:nth-child(3) .srv2-path-icon { color:#546f78; background:#e0e8ea; }
.services-v4 .srv2-pathway h3 { color:#29473f; font-family:"DM Serif Display",Georgia,serif; font-size:1.65rem; font-weight:400; }
.services-v4 .srv2-pathway p { color:#777c76; }
.services-v4 .srv2-pathway a { color:#9d624c; font-weight:600; }

/* Deep green service atelier */
.services-v4 .srv2-directory-section { padding:9rem 0; background:#24473f; }
.services-v4 .srv2-directory-head { max-width:none; display:grid; grid-template-columns:1.05fr .55fr; column-gap:6rem; margin-bottom:6rem; }
.services-v4 .srv2-directory-head .section-eyebrow { grid-column:1/3; margin-bottom:1.5rem; color:#e6b39b; }
.services-v4 .srv2-directory-head h2 { color:#f8f3eb; font-size:clamp(3.6rem,5.5vw,5.7rem); line-height:.95; }
.services-v4 .srv2-directory-head h2 span { color:#e6b39b; background:none; -webkit-text-fill-color:initial; }
.services-v4 .srv2-directory-head p { align-self:end; color:rgba(255,255,255,.62); border-left:1px solid rgba(255,255,255,.25); }
.services-v4 .srv2-directory { grid-template-columns:43% 57%; gap:6rem; }
.services-v4 .srv2-service-preview { top:7rem; }
.services-v4 .srv2-service-preview figure { height:560px; }
.services-v4 .srv2-service-preview figure::before { display:none; }
.services-v4 .srv2-service-preview img { border-radius:0; box-shadow:16px 16px 0 rgba(230,179,155,.6); filter:saturate(.8); }
.services-v4 .srv2-service-preview figure > span { right:1.4rem; top:1rem; color:rgba(255,255,255,.88); font-family:"DM Serif Display",Georgia,serif; font-size:4rem; font-weight:400; text-shadow:none; }
.services-v4 .srv2-preview-caption { margin-top:2.5rem; border-color:#e6b39b; }
.services-v4 .srv2-preview-caption span { color:rgba(255,255,255,.45); }
.services-v4 .srv2-preview-caption strong { color:#fff; font-family:"DM Serif Display",Georgia,serif; font-size:1.25rem; font-weight:400; }
.services-v4 .srv2-service-menu { border-color:rgba(255,255,255,.28); }
.services-v4 .srv2-service-item { padding:1.65rem 0; border-color:rgba(255,255,255,.18); }
.services-v4 .srv2-service-item:hover,.services-v4 .srv2-service-item.active { padding-left:1rem; background:rgba(255,255,255,.075); }
.services-v4 .srv2-service-num { color:#e6b39b; }
.services-v4 .srv2-service-item small { color:rgba(255,255,255,.38); }
.services-v4 .srv2-service-item h3 { color:#fff; font-family:"DM Serif Display",Georgia,serif; font-size:1.35rem; font-weight:400; }
.services-v4 .srv2-service-item p { color:rgba(255,255,255,.56); }
.services-v4 .srv2-service-arrow { color:#e6b39b; border-color:rgba(255,255,255,.3); }
.services-v4 .srv2-service-item:hover h3,.services-v4 .srv2-service-item.active h3 { color:#f2c5af; }
.services-v4 .srv2-service-item:hover .srv2-service-arrow,.services-v4 .srv2-service-item.active .srv2-service-arrow { color:#24473f; background:#e6b39b; }

/* Sage process */
.services-v4 .srv2-process { padding:9rem 0; background:#dfe8e2; }
.services-v4 .srv2-process::before { border-color:rgba(49,92,83,.12); box-shadow:0 0 0 70px rgba(49,92,83,.025),0 0 0 140px rgba(49,92,83,.016); }
.services-v4 .srv2-process .section-eyebrow { color:#97705e; border:0; background:none; }
.services-v4 .srv2-process-intro h2 { color:#29473f; font-size:clamp(3.4rem,5vw,5rem); }
.services-v4 .srv2-process-intro h2 span { color:#b56f56; background:none; -webkit-text-fill-color:initial; }
.services-v4 .srv2-process-intro > p { color:#69746e; }
.services-v4 .srv2-process-list { border-color:rgba(49,92,83,.3); }
.services-v4 .srv2-process-list li { border-color:rgba(49,92,83,.25); }
.services-v4 .srv2-process-list li > span { color:#b56f56; font-family:"DM Serif Display",Georgia,serif; font-size:1.35rem; font-weight:400; }
.services-v4 .srv2-process-list h3 { color:#29473f; font-family:"DM Serif Display",Georgia,serif; font-size:1.5rem; font-weight:400; }
.services-v4 .srv2-process-list p { color:#6c756f; }
.services-v4 .srv2-process .btn-primary { background:#315c53; }

/* Quiet editorial story */
.services-v4 .srv2-story { padding:9rem 0; background:#f6f2eb; }
.services-v4 .srv2-story-grid { gap:7rem; }
.services-v4 .srv2-story figure { height:580px; }
.services-v4 .srv2-story figure::before { display:none; }
.services-v4 .srv2-story img { border-radius:0; filter:saturate(.72) sepia(.08); }
.services-v4 .srv2-story blockquote { padding:2rem 0; }
.services-v4 .srv2-quote-mark { height:80px; color:#bd765b; opacity:.45; }
.services-v4 .srv2-story blockquote > p { color:#29473f; font-size:clamp(2.4rem,3.8vw,3.8rem); }
.services-v4 .srv2-story blockquote footer { border-color:#bd765b; }
.services-v4 .srv2-story blockquote footer strong { color:#29473f; }
.services-v4 .srv2-story blockquote footer span { color:#85867f; }

/* Warm closing canvas */
.services-v4 .srv2-final-cta { padding:10rem 0; background:#c9876f; }
.services-v4 .srv2-cta-orb { display:none; }
.services-v4 .srv2-final-inner .section-eyebrow { color:#fff4ec; }
.services-v4 .srv2-final-inner h2 { max-width:1100px; color:#fffaf5; font-size:clamp(3.6rem,5.8vw,6rem); line-height:.96; }
.services-v4 .srv2-final-inner h2 span { color:#29473f; background:none; -webkit-text-fill-color:initial; }
.services-v4 .srv2-final-inner > p { color:rgba(255,255,255,.78); }
.services-v4 .srv2-final-inner .btn-warm { color:#fff; background:#29473f; box-shadow:none; }
.services-v4 .srv2-call-link { color:#fff; border-color:rgba(255,255,255,.6); }

@media (max-width:900px) {
  .services-v4 .srv2-hero-grid { grid-template-columns:1fr; }
  .services-v4 .srv2-hero-copy { padding-right:0; }
  .services-v4 .srv2-hero-visual { min-height:560px; }
  .services-v4 .srv2-hero-main-photo { width:100%; height:560px; }
  .services-v4 .srv2-section-head,.services-v4 .srv2-directory-head { grid-template-columns:1fr; }
  .services-v4 .srv2-directory-head .section-eyebrow { grid-column:1; }
  .services-v4 .srv2-directory-head p { margin-top:2rem; }
  .services-v4 .srv2-directory { grid-template-columns:1fr; }
  .services-v4 .srv2-service-preview { position:relative; top:auto; max-width:none; }
  .services-v4 .srv2-story-grid { gap:4rem; }
}

@media (max-width:560px) {
  .services-v4 section > .container { width:100%; padding-left:1.15rem; padding-right:1.15rem; }
  .services-v4 .srv2-hero-copy { padding-top:3.5rem; }
  .services-v4 .srv2-hero-copy .crumbs { margin-bottom:2.8rem; }
  .services-v4 .srv2-hero-copy h1 { font-size:clamp(3.8rem,17vw,4.7rem); }
  .services-v4 .srv2-hero-proof > div { min-width:0; flex:1; }
  .services-v4 .srv2-hero-proof > div + div { margin-left:.7rem; padding-left:.7rem; }
  .services-v4 .srv2-hero-visual,.services-v4 .srv2-hero-main-photo { min-height:0; height:450px; }
  .services-v4 .srv2-compass,.services-v4 .srv2-directory-section,.services-v4 .srv2-process,.services-v4 .srv2-story,.services-v4 .srv2-final-cta { padding:6rem 0; }
  .services-v4 .srv2-section-head h2,.services-v4 .srv2-directory-head h2,.services-v4 .srv2-process-intro h2 { font-size:3.1rem; }
  .services-v4 .srv2-path-icon { width:64px; height:64px; border-width:6px; }
  .services-v4 .srv2-service-preview figure { height:390px; }
  .services-v4 .srv2-service-item { grid-template-columns:34px 1fr 32px; }
  .services-v4 .srv2-story figure { height:390px; }
  .services-v4 .srv2-final-inner h2 { font-size:3.4rem; }
}

/* ================================================================
   Services page v5 — cinematic human-centred experience
   A new structure: immersive hero, service chapters, story-led flow.
   ================================================================ */
.services-v5 { overflow:hidden; background:#fff; }
.services-v5 .section-eyebrow { margin:0 0 1.3rem; }

/* Hero */
.sv5-hero { min-height:820px; position:relative; display:flex; color:#fff; overflow:hidden; background:#0e1b42; }
.sv5-hero-bg { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:center; filter:saturate(.82) contrast(1.04); transform:scaleX(-1); }
.sv5-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,20,52,.94) 0%,rgba(8,20,52,.76) 42%,rgba(8,20,52,.18) 75%),linear-gradient(0deg,rgba(8,20,52,.8) 0%,transparent 45%); }
.sv5-hero .container { min-height:820px; position:relative; z-index:1; width:100%; }
.sv5-hero-content { max-width:750px; padding:7rem 0 9rem; position:relative; z-index:2; }
.sv5-breadcrumb { margin-bottom:3.2rem; color:rgba(255,255,255,.6); font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; }
.sv5-breadcrumb a { color:#fff; }
.sv5-breadcrumb span { margin:0 .65rem; opacity:.45; }
.sv5-kicker { display:inline-flex; align-items:center; gap:.75rem; color:#8fe7de; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.15em; }
.sv5-kicker::before { content:""; width:34px; height:2px; background:#52d6c9; }
.sv5-hero h1 { margin-top:1.5rem; color:#fff; font-size:clamp(4.3rem,7.4vw,7.3rem); line-height:.86; letter-spacing:-.075em; }
.sv5-hero h1 em { color:#55d6ca; font-style:normal; }
.sv5-hero-content > p:last-of-type { max-width:590px; margin-top:2rem; color:rgba(255,255,255,.77); font-size:1.08rem; line-height:1.75; }
.sv5-hero-actions { display:flex; align-items:center; gap:1.6rem; margin-top:2.3rem; flex-wrap:wrap; }
.sv5-play-link { display:inline-flex; align-items:center; gap:.75rem; color:#fff; font-size:.86rem; font-weight:700; }
.sv5-play-link > span { width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.45); border-radius:50%; transition:background .25s ease,color .25s ease; }
.sv5-play-link:hover > span { color:#12224f; background:#fff; }
.sv5-hero-stats { display:flex; align-items:center; position:absolute; left:1.5rem; right:1.5rem; bottom:2.2rem; border-top:1px solid rgba(255,255,255,.24); }
.sv5-hero-stats > div { min-width:160px; display:flex; align-items:center; gap:.8rem; padding:1.4rem 2rem 0 0; }
.sv5-hero-stats > div + div { padding-left:2rem; border-left:1px solid rgba(255,255,255,.2); }
.sv5-hero-stats strong { color:#fff; font-family:"Plus Jakarta Sans",sans-serif; font-size:1.7rem; letter-spacing:-.04em; }
.sv5-hero-stats span { color:rgba(255,255,255,.58); font-size:.72rem; }
.sv5-hero-stats > p { display:flex; align-items:center; gap:.6rem; margin-left:auto; padding-top:1.4rem; color:rgba(255,255,255,.75); font-size:.74rem; font-weight:650; }
.sv5-hero-stats i { width:7px; height:7px; border-radius:50%; background:#43d6a7; box-shadow:0 0 0 6px rgba(67,214,167,.12); }

/* Human intro */
.sv5-intro { padding:8.5rem 0; background:#fff; }
.sv5-intro-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:7rem; align-items:center; }
.sv5-intro-copy h2 { color:#152454; font-size:clamp(2.9rem,4.7vw,4.6rem); line-height:1.02; }
.sv5-intro-copy h2 span { color:#2574df; }
.sv5-intro-copy > p { max-width:530px; margin-top:1.5rem; color:#626d89; font-size:1.02rem; line-height:1.78; }
.sv5-intro-copy ul { margin-top:2.3rem; list-style:none; border-top:1px solid #dce4ef; }
.sv5-intro-copy li { display:grid; grid-template-columns:42px 1fr; gap:1rem; padding:1.05rem 0; color:#27365f; font-size:.9rem; font-weight:650; border-bottom:1px solid #dce4ef; }
.sv5-intro-copy li span { color:#159f98; font-size:.7rem; letter-spacing:.1em; }
.sv5-intro-image { height:570px; margin:0; position:relative; }
.sv5-intro-image::before { content:""; position:absolute; inset:18px -18px -18px 18px; border:1px solid #9edfd9; border-radius:30px; }
.sv5-intro-image img { width:100%; height:100%; position:relative; object-fit:cover; border-radius:30px; box-shadow:0 35px 65px -40px rgba(20,43,98,.42); }
.sv5-intro-image figcaption { position:absolute; right:1.4rem; bottom:1.4rem; padding:.85rem 1rem; color:#fff; font-size:.8rem; font-weight:700; border-radius:999px; background:rgba(14,31,70,.72); backdrop-filter:blur(10px); }
.sv5-intro-image figcaption span { color:#5ce0d5; }

/* Service chapters */
.sv5-services-head { padding:8rem 0 6rem; text-align:center; background:#f2f7fd; }
.sv5-services-head h2 { color:#152454; font-size:clamp(3rem,5vw,5rem); line-height:1; }
.sv5-services-head h2 span { color:#2876df; }
.sv5-services-head p { max-width:620px; margin:1.4rem auto 0; color:#66718c; line-height:1.75; }
.sv5-chapter { padding:8rem 0; }
.sv5-chapter-grid { display:grid; grid-template-columns:1fr 1fr; gap:7rem; align-items:center; }
.sv5-chapter-image { height:680px; margin:0; position:relative; overflow:hidden; border-radius:34px; }
.sv5-chapter-image img { width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.16,1,.3,1); }
.sv5-chapter:hover .sv5-chapter-image img { transform:scale(1.035); }
.sv5-chapter-image > span { position:absolute; left:1.7rem; bottom:1.3rem; color:#fff; font-family:"Plus Jakarta Sans",sans-serif; font-size:4rem; font-weight:800; letter-spacing:-.07em; text-shadow:0 3px 18px rgba(8,20,52,.32); }
.sv5-chapter-label { display:flex; align-items:center; gap:.7rem; color:#1c62c5; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.15em; }
.sv5-chapter-label::before { content:""; width:30px; height:2px; background:currentColor; }
.sv5-chapter-content > h2 { margin-top:1.1rem; color:#152454; font-size:clamp(2.8rem,4.5vw,4.4rem); line-height:1.01; }
.sv5-chapter-content > p { max-width:510px; margin-top:1.3rem; color:#68738e; line-height:1.75; }
.sv5-service-links { margin-top:2.4rem; border-top:1px solid #d8e1ed; }
.sv5-service-links > a { display:grid; grid-template-columns:35px 1fr 42px; gap:1rem; align-items:center; padding:1.35rem 0; border-bottom:1px solid #d8e1ed; transition:padding .3s ease,color .3s ease; }
.sv5-service-links > a:hover { padding-left:.65rem; }
.sv5-service-links > a > span { align-self:start; padding-top:.25rem; color:#159f98; font-size:.68rem; font-weight:800; letter-spacing:.1em; }
.sv5-service-links h3 { color:#182858; font-size:1.07rem; transition:color .25s ease; }
.sv5-service-links p { margin-top:.3rem; color:#778098; font-size:.8rem; line-height:1.5; }
.sv5-service-links i { width:38px; height:38px; display:grid; place-items:center; justify-self:end; color:#1f68cf; font-style:normal; border:1px solid #cbd8e8; border-radius:50%; transition:transform .3s ease,background .3s ease,color .3s ease; }
.sv5-service-links > a:hover h3 { color:#1e67ce; }
.sv5-service-links > a:hover i { color:#fff; background:#1e67ce; transform:rotate(45deg); }
.sv5-chapter-one { background:#fff; }
.sv5-chapter-two { background:#eaf6f7; }
.sv5-chapter-two .sv5-chapter-label { color:#0d918a; }
.sv5-chapter-two .sv5-service-links { border-color:#c7e1e3; }
.sv5-chapter-two .sv5-service-links > a { border-color:#c7e1e3; }
.sv5-chapter-three { color:#fff; background:#142452; }
.sv5-chapter-three .sv5-chapter-label { color:#60dcd1; }
.sv5-chapter-three .sv5-chapter-content > h2 { color:#fff; }
.sv5-chapter-three .sv5-chapter-content > p { color:rgba(255,255,255,.64); }
.sv5-chapter-three .sv5-service-links { border-color:rgba(255,255,255,.18); }
.sv5-chapter-three .sv5-service-links > a { border-color:rgba(255,255,255,.18); }
.sv5-chapter-three .sv5-service-links h3 { color:#fff; }
.sv5-chapter-three .sv5-service-links p { color:rgba(255,255,255,.55); }
.sv5-chapter-three .sv5-service-links i { color:#72e2d8; border-color:rgba(255,255,255,.3); }
.sv5-chapter-three .sv5-service-links > a:hover i { color:#142452; background:#72e2d8; }

/* Journey */
.sv5-journey { padding:8.5rem 0; text-align:center; background:#fff; }
.sv5-journey-head h2 { color:#152454; font-size:clamp(3rem,4.8vw,4.8rem); line-height:1; }
.sv5-journey-head h2 span { color:#2374de; }
.sv5-journey-steps { display:grid; grid-template-columns:repeat(3,1fr); margin:4.5rem 0 3rem; list-style:none; position:relative; text-align:left; }
.sv5-journey-steps::before { content:""; height:1px; position:absolute; left:4%; right:4%; top:30px; background:#cfdbea; }
.sv5-journey-steps li { padding:0 2.5rem; position:relative; }
.sv5-journey-steps li:first-child { padding-left:0; }
.sv5-journey-steps li:last-child { padding-right:0; }
.sv5-journey-steps li > span { width:60px; height:60px; display:grid; place-items:center; position:relative; z-index:1; color:#fff; font-size:.75rem; font-weight:800; border:8px solid #fff; border-radius:50%; background:#1e69d2; }
.sv5-journey-steps h3 { margin-top:1.5rem; color:#172653; font-size:1.18rem; }
.sv5-journey-steps p { max-width:30ch; margin-top:.65rem; color:#707a94; font-size:.88rem; line-height:1.65; }

/* Immersive quote */
.sv5-story { min-height:700px; position:relative; display:flex; align-items:center; overflow:hidden; }
.sv5-story > img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:center 55%; filter:saturate(.78); }
.sv5-story-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,20,50,.9),rgba(7,20,50,.64) 45%,rgba(7,20,50,.1)); }
.sv5-story .container { position:relative; z-index:1; width:100%; }
.sv5-story blockquote { max-width:720px; }
.sv5-story blockquote > span { color:#65ded3; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.16em; }
.sv5-story blockquote > p { margin-top:1.5rem; color:#fff; font-family:"Plus Jakarta Sans",sans-serif; font-size:clamp(2.4rem,4.5vw,4.5rem); font-weight:650; letter-spacing:-.05em; line-height:1.18; }
.sv5-story blockquote footer { margin-top:2rem; color:rgba(255,255,255,.62); font-size:.82rem; }
.sv5-story blockquote footer strong { color:#fff; }

/* CTA */
.sv5-cta { padding:9rem 0; color:#fff; background:linear-gradient(120deg,#2387da,#1e50c8 65%,#173b98); }
.sv5-cta-inner { text-align:center; }
.sv5-cta-inner > span { color:#a7eee8; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.16em; }
.sv5-cta h2 { max-width:900px; margin:1.3rem auto 0; color:#fff; font-size:clamp(3rem,5.4vw,5.4rem); line-height:1; }
.sv5-cta p { max-width:600px; margin:1.5rem auto 2.2rem; color:rgba(255,255,255,.72); font-size:1rem; }
.sv5-cta-inner > div { display:flex; justify-content:center; align-items:center; gap:1.5rem; flex-wrap:wrap; }
.sv5-cta-inner > div > a:last-child { color:#fff; font-size:.88rem; font-weight:700; border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:.2rem; }

@media (max-width:900px) {
  .sv5-intro-grid,.sv5-chapter-grid { grid-template-columns:1fr; gap:4rem; }
  .sv5-intro-image { height:500px; }
  .sv5-chapter-two .sv5-chapter-content { order:2; }
  .sv5-chapter-two .sv5-chapter-image { order:1; }
  .sv5-chapter-image { height:560px; }
}

@media (max-width:620px) {
  .services-v5 section > .container { width:100%; padding-left:1.15rem; padding-right:1.15rem; }
  .sv5-hero,.sv5-hero .container { min-height:780px; }
  .sv5-hero-shade { background:linear-gradient(90deg,rgba(8,20,52,.92),rgba(8,20,52,.55)),linear-gradient(0deg,rgba(8,20,52,.9),transparent 55%); }
  .sv5-hero-content { padding:5rem 0 10rem; }
  .sv5-breadcrumb { margin-bottom:2.6rem; }
  .sv5-hero h1 { font-size:clamp(3.8rem,18vw,5rem); }
  .sv5-hero-stats { left:1.15rem; right:1.15rem; }
  .sv5-hero-stats > div { min-width:0; flex:1; display:block; padding-right:.6rem; }
  .sv5-hero-stats > div + div { padding-left:.7rem; }
  .sv5-hero-stats > p { display:none; }
  .sv5-hero-stats strong { font-size:1.3rem; }
  .sv5-hero-stats span { display:block; margin-top:.25rem; }
  .sv5-intro,.sv5-chapter,.sv5-journey,.sv5-cta { padding:5.5rem 0; }
  .sv5-intro-copy h2,.sv5-services-head h2,.sv5-chapter-content > h2,.sv5-journey-head h2 { font-size:2.75rem; }
  .sv5-intro-image { height:390px; }
  .sv5-intro-image::before { inset:10px -8px -8px 8px; }
  .sv5-services-head { padding:5.5rem 0 4.5rem; }
  .sv5-chapter-image { height:410px; border-radius:22px; }
  .sv5-service-links > a { grid-template-columns:28px 1fr 36px; gap:.65rem; }
  .sv5-service-links p { display:none; }
  .sv5-journey-steps { grid-template-columns:1fr; gap:0; margin-top:3.5rem; }
  .sv5-journey-steps::before { width:1px; height:auto; left:29px; right:auto; top:25px; bottom:25px; }
  .sv5-journey-steps li { display:grid; grid-template-columns:60px 1fr; gap:1.1rem; padding:1.2rem 0; }
  .sv5-journey-steps li > span { grid-row:1/3; }
  .sv5-journey-steps h3 { margin-top:.25rem; }
  .sv5-story { min-height:620px; }
  .sv5-story blockquote > p { font-size:2.45rem; }
  .sv5-cta h2 { font-size:3rem; }
}

/* ================= ABOUT EDITORIAL (abx) ================= */
.about-v5 { overflow:hidden; background:#fff; }
.about-v5 .section-eyebrow { margin:0 0 1.3rem; }
.abx-eyebrow { display:inline-flex; align-items:center; gap:.6rem; color:#12857e; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.abx-eyebrow::before { content:""; width:8px; height:8px; border-radius:50%; background:#2bb3a3; box-shadow:0 0 0 5px rgba(43,179,163,.16); }
.abx-serif { font-family:"DM Serif Display",Georgia,serif; font-weight:400; font-style:italic; letter-spacing:-.01em; }

/* HERO — editorial split with image collage */
.abx-hero { padding:3.5rem 0 6.5rem; background:linear-gradient(180deg,#eef3fb 0%,#fff 78%); }
.abx-hero-grid { display:grid; grid-template-columns:1.02fr .98fr; gap:5rem; align-items:center; }
.abx-hero-copy h1 { margin-top:1.4rem; color:#111f47; font-size:clamp(3rem,4.9vw,4.9rem); line-height:1.02; letter-spacing:-.03em; }
.abx-hero-copy h1 em { color:#1f68cf; }
.abx-hero-copy .lead { max-width:500px; margin-top:1.5rem; color:#5c6883; font-size:1.08rem; line-height:1.75; }
.abx-hero-actions { display:flex; gap:1rem; margin-top:2rem; flex-wrap:wrap; }
.abx-hero-trust { display:flex; align-items:center; gap:.85rem; margin-top:2.2rem; padding-top:1.6rem; border-top:1px solid #dde5f1; }
.abx-hero-trust .stars { color:#f5a623; letter-spacing:2px; font-size:1.05rem; }
.abx-hero-trust span { color:#5c6883; font-size:.9rem; }
.abx-hero-trust b { color:#111f47; }
.abx-hero-media { position:relative; height:565px; }
.abx-hero-img1 { margin:0; position:absolute; top:0; right:0; width:75%; height:100%; border-radius:34px; overflow:hidden; box-shadow:0 45px 75px -44px rgba(17,31,71,.55); }
.abx-hero-img1 img { width:100%; height:100%; object-fit:cover; }
.abx-hero-img2 { margin:0; position:absolute; left:0; bottom:2.2rem; width:47%; height:53%; border-radius:26px; overflow:hidden; border:7px solid #fff; box-shadow:0 34px 60px -34px rgba(17,31,71,.5); }
.abx-hero-img2 img { width:100%; height:100%; object-fit:cover; }
.abx-hero-badge { position:absolute; left:.8rem; top:1.4rem; display:inline-flex; align-items:center; gap:.55rem; padding:.6rem 1.05rem; background:#fff; border-radius:999px; font-size:.76rem; font-weight:700; color:#111f47; box-shadow:0 18px 34px -18px rgba(17,31,71,.5); }
.abx-hero-badge::before { content:""; width:8px; height:8px; border-radius:50%; background:#2bb3a3; }
.abx-hero-stat { position:absolute; right:1.3rem; bottom:1.3rem; padding:1rem 1.35rem; background:rgba(17,31,71,.85); backdrop-filter:blur(8px); border-radius:20px; color:#fff; }
.abx-hero-stat strong { display:block; font-size:1.55rem; letter-spacing:-.03em; }
.abx-hero-stat span { font-size:.72rem; color:rgba(255,255,255,.72); }

/* STAT BAND */
.abx-stats { background:#111f47; }
.abx-stats .container { display:grid; grid-template-columns:repeat(4,1fr); }
.abx-stat-cell { padding:3.2rem 2rem; text-align:center; border-right:1px solid rgba(255,255,255,.1); }
.abx-stat-cell:last-child { border-right:0; }
.abx-stat-cell strong { display:block; color:#fff; font-size:clamp(2.4rem,3.6vw,3.3rem); letter-spacing:-.04em; }
.abx-stat-cell strong span { color:#5ce0d5; }
.abx-stat-cell p { margin-top:.4rem; color:rgba(255,255,255,.6); font-size:.86rem; }

/* STORY split with pull-quote card */
.abx-story { padding:8.5rem 0; }
.abx-story-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:5.5rem; align-items:center; }
.abx-story-media { position:relative; height:600px; }
.abx-story-media > figure { margin:0; height:100%; border-radius:32px; overflow:hidden; }
.abx-story-media img { width:100%; height:100%; object-fit:cover; }
.abx-story-quote { position:absolute; right:-1.6rem; bottom:2.5rem; max-width:290px; padding:1.7rem 1.9rem; background:#fff; border-radius:24px; box-shadow:0 38px 65px -36px rgba(17,31,71,.5); }
.abx-story-quote p { color:#22315c; font-size:1rem; line-height:1.55; font-weight:600; }
.abx-story-quote cite { display:block; margin-top:.8rem; color:#12857e; font-size:.82rem; font-style:normal; font-weight:700; }
.abx-story-copy h2 { color:#111f47; font-size:clamp(2.6rem,4.4vw,4.2rem); line-height:1.04; letter-spacing:-.025em; }
.abx-story-copy h2 em { color:#1f68cf; }
.abx-story-copy > p { max-width:520px; margin-top:1.3rem; color:#5c6883; font-size:1.02rem; line-height:1.78; }
.abx-story-copy .check-list { margin-top:1.8rem; list-style:none; }
.abx-story-copy .check-list li { display:grid; grid-template-columns:26px 1fr; gap:.7rem; padding:.7rem 0; color:#27365f; font-weight:600; font-size:.95rem; }
.abx-story-copy .check-list li::before { content:"✓"; width:26px; height:26px; display:grid; place-items:center; color:#12857e; font-size:.75rem; font-weight:800; background:#e2f5f2; border-radius:50%; }

/* VALUES — editorial list beside image */
.abx-values { padding:8.5rem 0; background:#f2f7fd; }
.abx-values-grid { display:grid; grid-template-columns:1fr 1.08fr; gap:5.5rem; align-items:center; }
.abx-values-media { margin:0; height:640px; border-radius:32px; overflow:hidden; position:relative; }
.abx-values-media img { width:100%; height:100%; object-fit:cover; }
.abx-values-copy h2 { color:#111f47; font-size:clamp(2.5rem,4.2vw,4rem); line-height:1.05; letter-spacing:-.025em; }
.abx-values-copy h2 em { color:#1f68cf; }
.abx-values-copy > p { max-width:480px; margin-top:1.2rem; color:#5c6883; line-height:1.75; }
.abx-vlist { margin-top:2.2rem; list-style:none; }
.abx-vlist li { display:grid; grid-template-columns:56px 1fr; gap:1.3rem; padding:1.5rem 0; border-top:1px solid #d8e1ee; }
.abx-vlist li:last-child { border-bottom:1px solid #d8e1ee; }
.abx-vlist .abx-vnum { font-family:"DM Serif Display",Georgia,serif; font-size:1.9rem; color:#1f68cf; line-height:1; }
.abx-vlist h3 { color:#182858; font-size:1.12rem; }
.abx-vlist p { margin-top:.35rem; color:#68738e; font-size:.9rem; line-height:1.6; }

/* GALLERY — moments mosaic */
.abx-gallery { padding:8.5rem 0; background:#fff; }
.abx-gallery-head { max-width:640px; margin:0 auto 3.5rem; text-align:center; }
.abx-gallery-head h2 { color:#111f47; font-size:clamp(2.6rem,4.4vw,4.2rem); line-height:1.03; letter-spacing:-.025em; }
.abx-gallery-head h2 em { color:#1f68cf; }
.abx-gallery-head p { margin-top:1.1rem; color:#66718c; line-height:1.7; }
.abx-mosaic { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:200px; gap:1.1rem; }
.abx-mosaic figure { margin:0; overflow:hidden; border-radius:22px; }
.abx-mosaic img { width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.16,1,.3,1); }
.abx-mosaic figure:hover img { transform:scale(1.06); }
.abx-mosaic .g-tall { grid-row:span 2; }
.abx-mosaic .g-wide { grid-column:span 2; }

@media (max-width:900px){
  .abx-hero-grid,.abx-story-grid,.abx-values-grid { grid-template-columns:1fr; gap:3rem; }
  .abx-hero-media,.abx-story-media,.abx-values-media { height:480px; }
  .abx-values-media { order:-1; }
  .abx-stats .container { grid-template-columns:1fr 1fr; }
  .abx-stat-cell:nth-child(2){ border-right:0; }
  .abx-stat-cell:nth-child(1),.abx-stat-cell:nth-child(2){ border-bottom:1px solid rgba(255,255,255,.1); }
  .abx-mosaic { grid-template-columns:1fr 1fr; grid-auto-rows:180px; }
}
@media (max-width:620px){
  .abx-hero{ padding:2rem 0 4rem; }
  .abx-hero-media,.abx-story-media,.abx-values-media { height:400px; }
  .abx-story,.abx-values,.abx-gallery { padding:5.5rem 0; }
  .abx-story-quote{ right:0; left:0; max-width:none; }
  .abx-stat-cell{ padding:2.2rem 1rem; }
  .abx-mosaic .g-tall,.abx-mosaic .g-wide{ grid-row:auto; grid-column:auto; }
}


/* Principles / mission-vision */
.av5-principles { padding:8.5rem 0; background:#f2f7fd; }
.av5-principles-head { max-width:760px; margin:0 auto 4rem; text-align:center; }
.av5-principles-head h2 { color:#152454; font-size:clamp(2.9rem,5vw,4.8rem); line-height:1.02; }
.av5-principles-head h2 span { color:#2876df; }
.av5-principles-head p { margin-top:1.3rem; color:#66718c; line-height:1.75; }
.av5-mv { display:grid; grid-template-columns:1fr 1fr; gap:1.8rem; margin-bottom:1.8rem; }
.av5-mv-card { padding:3.4rem 3.2rem; border-radius:30px; position:relative; overflow:hidden; }
.av5-mv-ico { width:62px; height:62px; display:grid; place-items:center; font-size:1.65rem; border-radius:18px; margin-bottom:1.6rem; }
.av5-mv-eyebrow { font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.15em; margin-bottom:.75rem; }
.av5-mv-card h3 { font-size:1.75rem; line-height:1.12; letter-spacing:-.02em; }
.av5-mv-card > p { margin-top:1rem; line-height:1.72; font-size:1.02rem; }
.av5-mv-mission { background:#fff; border:1px solid #dce4ef; }
.av5-mv-mission .av5-mv-ico { color:#12857e; background:#e2f5f2; }
.av5-mv-mission .av5-mv-eyebrow { color:#12857e; }
.av5-mv-mission h3 { color:#152454; }
.av5-mv-mission > p { color:#5c6883; }
.av5-mv-vision { color:#fff; background:linear-gradient(140deg,#1c46ab,#101f49); }
.av5-mv-vision .av5-mv-ico { color:#8fe7de; background:rgba(143,231,222,.14); }
.av5-mv-vision .av5-mv-eyebrow { color:#8fe7de; }
.av5-mv-vision h3 { color:#fff; }
.av5-mv-vision > p { color:rgba(255,255,255,.74); }

/* Values grid */
.av5-values { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.av5-value { padding:2.5rem 2rem; background:#fff; border:1px solid #dce4ef; border-radius:24px; transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease; }
.av5-value:hover { transform:translateY(-6px); border-color:#bcd3ef; box-shadow:0 30px 55px -38px rgba(20,43,98,.42); }
.av5-value-ico { width:54px; height:54px; display:grid; place-items:center; font-size:1.45rem; border-radius:15px; background:#eef4fc; color:#1e67ce; margin-bottom:1.3rem; }
.av5-value h3 { color:#182858; font-size:1.14rem; }
.av5-value p { margin-top:.7rem; color:#68738e; font-size:.9rem; line-height:1.66; }

/* Team */
.av5-team { padding:8.5rem 0; background:#fff; }
.av5-team-head { max-width:720px; margin:0 auto 4rem; text-align:center; }
.av5-team-head h2 { color:#152454; font-size:clamp(2.9rem,4.8vw,4.6rem); line-height:1.02; }
.av5-team-head h2 span { color:#2876df; }
.av5-team-head p { margin-top:1.3rem; color:#66718c; line-height:1.75; }
.av5-team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; }
.av5-member figure { margin:0; height:350px; border-radius:24px; overflow:hidden; position:relative; }
.av5-member img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.16,1,.3,1); }
.av5-member:hover img { transform:scale(1.05); }
.av5-member h4 { margin-top:1.35rem; color:#152454; font-size:1.15rem; }
.av5-member .av5-role { margin-top:.28rem; color:#1e67ce; font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.av5-member p { margin-top:.75rem; color:#68738e; font-size:.88rem; line-height:1.62; }

/* Credentials */
.av5-cred { padding:8.5rem 0; background:#142452; color:#fff; }
.av5-cred-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:5rem; align-items:center; }
.av5-cred-copy h2 { color:#fff; font-size:clamp(2.6rem,4.4vw,4rem); line-height:1.04; }
.av5-cred-copy h2 span { color:#5ce0d5; }
.av5-cred-copy p { margin-top:1.3rem; color:rgba(255,255,255,.66); line-height:1.75; }
.av5-cred-copy .btn { margin-top:2rem; }
.av5-cred-list { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.av5-cred-item { display:flex; gap:1rem; align-items:flex-start; padding:1.4rem; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:rgba(255,255,255,.03); }
.av5-cred-item svg { width:24px; height:24px; flex:none; color:#5ce0d5; margin-top:2px; }
.av5-cred-item b { display:block; color:#fff; font-size:.95rem; }
.av5-cred-item span { display:block; margin-top:.2rem; color:rgba(255,255,255,.55); font-size:.8rem; }

@media (max-width:900px){
  .av5-mv,.av5-cred-grid { grid-template-columns:1fr; gap:1.8rem; }
  .av5-values { grid-template-columns:1fr 1fr; }
  .av5-team-grid { grid-template-columns:1fr 1fr; }
  .av5-cred-list { grid-template-columns:1fr; }
}
@media (max-width:620px){
  .av5-principles,.av5-team,.av5-cred { padding:5.5rem 0; }
  .av5-values,.av5-team-grid,.av5-cred-list { grid-template-columns:1fr; }
  .av5-mv-card { padding:2.5rem 1.9rem; }
  .av5-principles-head h2,.av5-team-head h2 { font-size:2.75rem; }
  .av5-member figure { height:320px; }
}

/* Site-wide back-to-top control */
.back-to-top {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 900;
  color: #fff;
  border: 1px solid rgba(255,255,255,0.28);
  border-radius: 50%;
  background: linear-gradient(135deg, #27a8e9, #1e50c8);
  box-shadow: 0 14px 35px -12px rgba(21,34,78,0.5);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(16px) scale(0.88);
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.35s cubic-bezier(0.16,1,0.3,1), box-shadow 0.25s ease;
}
.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}
.back-to-top:hover {
  transform: translateY(-4px) scale(1.04);
  box-shadow: 0 18px 40px -12px rgba(21,34,78,0.62);
}
.back-to-top svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.back-to-top:focus-visible { outline: 3px solid rgba(56,189,248,0.45); outline-offset: 4px; }

@media (max-width: 600px) {
  .back-to-top { width: 48px; height: 48px; right: 1rem; bottom: 1rem; }
  .back-to-top svg { width: 20px; height: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .back-to-top { transition: opacity 0.01ms, visibility 0.01ms; }
}

/* ================================================================
   Home hero v2 — cinematic mountain outlook
   ================================================================ */
.home-hero-v2 {
  min-height: 790px;
  display: flex;
  position: relative;
  overflow: hidden;
  color: #fff;
  background: #0c1b3d;
}
.home-hero-v2-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
  object-position: center;
  transform: scale(1.005);
  transition: transform 8s cubic-bezier(0.16,1,0.3,1);
}
.home-hero-v2:hover .home-hero-v2-bg { transform: scale(1.035); }
.home-hero-v2-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(6,18,46,0.96) 0%, rgba(8,24,57,0.83) 35%, rgba(8,24,57,0.32) 63%, rgba(8,24,57,0.08) 100%),
    linear-gradient(0deg, rgba(6,17,43,0.78) 0%, transparent 46%);
}
.home-hero-v2 .container {
  min-height: 790px;
  width: 100%;
  position: relative;
  z-index: 1;
}
.home-hero-v2-content {
  max-width: 690px;
  padding: 7rem 0 11rem;
}
.home-hero-v2-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  color: #bfe9ff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.home-hero-v2-kicker i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #37d7b6;
  box-shadow: 0 0 0 6px rgba(55,215,182,0.15);
}
.home-hero-v2 h1 {
  max-width: 680px;
  margin-top: 1.55rem;
  color: #fff;
  font-size: clamp(3.7rem, 6.4vw, 6.25rem);
  line-height: 0.91;
  letter-spacing: -0.065em;
}
.home-hero-v2 h1 span {
  background: linear-gradient(100deg, #56dcd1 0%, #64b9ff 52%, #8fa7ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.home-hero-v2-content > p {
  max-width: 565px;
  margin-top: 1.7rem;
  color: rgba(255,255,255,0.76);
  font-size: 1.05rem;
  line-height: 1.75;
}
.home-hero-v2-actions {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-top: 2.1rem;
  flex-wrap: wrap;
}
.home-hero-v2-link {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  padding-bottom: 0.25rem;
  color: #fff;
  font-size: 0.88rem;
  font-weight: 700;
  border-bottom: 1px solid rgba(255,255,255,0.42);
  transition: gap 0.25s ease, border-color 0.25s ease;
}
.home-hero-v2-link:hover { gap: 0.9rem; border-color: #fff; }
.home-hero-v2-meta {
  min-height: 94px;
  display: flex;
  align-items: center;
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  bottom: 0;
  border-top: 1px solid rgba(255,255,255,0.22);
}
.home-hero-v2-meta > div {
  min-width: 170px;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.home-hero-v2-meta > div + div {
  margin-left: 2rem;
  padding-left: 2rem;
  border-left: 1px solid rgba(255,255,255,0.2);
}
.home-hero-v2-meta strong {
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.55rem;
  letter-spacing: -0.045em;
}
.home-hero-v2-meta span {
  max-width: 92px;
  color: rgba(255,255,255,0.56);
  font-size: 0.7rem;
  line-height: 1.35;
}
.home-hero-v2-meta > p {
  margin-left: auto;
  color: rgba(255,255,255,0.68);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.76rem;
  font-style: italic;
}

@media (max-width: 800px) {
  .home-hero-v2,
  .home-hero-v2 .container { min-height: 760px; }
  .home-hero-v2-bg { object-position: 66% center; }
  .home-hero-v2-shade {
    background:
      linear-gradient(90deg, rgba(6,18,46,0.95), rgba(8,24,57,0.58)),
      linear-gradient(0deg, rgba(6,17,43,0.88), transparent 55%);
  }
  .home-hero-v2-content { padding: 6rem 0 10rem; }
  .home-hero-v2 h1 { font-size: clamp(3.4rem, 11vw, 5rem); }
  .home-hero-v2-meta > div { min-width: 0; flex: 1; display: block; }
  .home-hero-v2-meta > div + div { margin-left: 0.75rem; padding-left: 0.75rem; }
  .home-hero-v2-meta span { display: block; margin-top: 0.2rem; }
  .home-hero-v2-meta > p { display: none; }
}

@media (max-width: 500px) {
  .home-hero-v2,
  .home-hero-v2 .container { min-height: 720px; }
  .home-hero-v2 .container { padding-left: 1.15rem; padding-right: 1.15rem; }
  .home-hero-v2-bg { object-position: 69% center; }
  .home-hero-v2-content { padding: 4.5rem 0 9rem; }
  .home-hero-v2 h1 { font-size: clamp(3.1rem, 15vw, 4.15rem); }
  .home-hero-v2-content > p { font-size: 0.93rem; line-height: 1.65; }
  .home-hero-v2-actions { gap: 1rem; }
  .home-hero-v2-link { font-size: 0.8rem; }
  .home-hero-v2-meta { left: 1.15rem; right: 1.15rem; min-height: 80px; }
  .home-hero-v2-meta strong { font-size: 1.2rem; }
  .home-hero-v2-meta span { font-size: 0.61rem; }
}

/* ================================================================
   Home hero v3 — clean split-screen editorial layout
   ================================================================ */
.home-hero-v3 {
  padding: 0;
  overflow: hidden;
  background: #f4f8fd;
}
.home-hero-v3-grid {
  min-height: 700px;
  display: grid;
  grid-template-columns: minmax(0, 48%) minmax(0, 52%);
}
.home-hero-v3-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 5.5rem 4.5rem 4.5rem max(1.5rem, calc((100vw - 1240px) / 2 + 1.5rem));
  position: relative;
  background:
    radial-gradient(circle at 5% 14%, rgba(15,181,166,0.1), transparent 20rem),
    linear-gradient(145deg, #f8fbff 0%, #edf4fc 100%);
}
.home-hero-v3-copy::after {
  content: "";
  width: 210px;
  height: 210px;
  position: absolute;
  left: -135px;
  bottom: -120px;
  border: 1px solid rgba(37,99,235,0.1);
  border-radius: 50%;
  box-shadow: 0 0 0 42px rgba(37,99,235,0.02), 0 0 0 84px rgba(37,99,235,0.012);
  pointer-events: none;
}
.home-hero-v3-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  color: #2359b8;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.home-hero-v3-kicker i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #12b5a5;
  box-shadow: 0 0 0 6px rgba(18,181,165,0.12);
}
.home-hero-v3 h1 {
  max-width: 650px;
  margin-top: 1.45rem;
  color: #14234f;
  font-size: clamp(3.5rem, 5.4vw, 5.35rem);
  line-height: 0.96;
  letter-spacing: -0.06em;
}
.home-hero-v3 h1 span {
  background: linear-gradient(100deg, #13a9a3 0%, #2b78e3 60%, #1e50c8 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.home-hero-v3-copy > p {
  max-width: 555px;
  margin-top: 1.55rem;
  color: #5b6681;
  font-size: 1rem;
  line-height: 1.75;
}
.home-hero-v3-actions {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  margin-top: 2rem;
  flex-wrap: wrap;
}
.home-hero-v3-link {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding-bottom: 0.25rem;
  color: #173b98;
  font-size: 0.86rem;
  font-weight: 750;
  border-bottom: 1px solid #aebed8;
  transition: gap 0.25s ease, border-color 0.25s ease;
}
.home-hero-v3-link:hover { gap: 0.85rem; border-color: #173b98; }
.home-hero-v3-trust {
  display: flex;
  margin-top: 3.1rem;
  padding-top: 1.35rem;
  border-top: 1px solid #d4dfed;
}
.home-hero-v3-trust > div {
  min-width: 135px;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.home-hero-v3-trust > div + div {
  margin-left: 1.35rem;
  padding-left: 1.35rem;
  border-left: 1px solid #d4dfed;
}
.home-hero-v3-trust strong {
  color: #173b98;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.45rem;
  letter-spacing: -0.045em;
}
.home-hero-v3-trust span {
  max-width: 76px;
  color: #78839b;
  font-size: 0.67rem;
  line-height: 1.35;
}
.home-hero-v3-image {
  min-height: 700px;
  margin: 0;
  position: relative;
  overflow: hidden;
  background: #132650;
}
.home-hero-v3-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(15,31,68,0.12), transparent 36%), linear-gradient(0deg, rgba(8,22,52,0.34), transparent 38%);
}
.home-hero-v3-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% center;
  transition: transform 1.2s cubic-bezier(0.16,1,0.3,1);
}
.home-hero-v3:hover .home-hero-v3-image img { transform: scale(1.025); }
.home-hero-v3-image figcaption {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  position: absolute;
  right: 1.8rem;
  bottom: 1.6rem;
  z-index: 1;
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.78rem;
  font-weight: 650;
  text-shadow: 0 2px 12px rgba(8,20,48,0.35);
}
.home-hero-v3-image figcaption span { color: #62ded3; }

@media (max-width: 980px) {
  .home-hero-v3-grid { grid-template-columns: 52% 48%; }
  .home-hero-v3-copy { padding-right: 2rem; }
  .home-hero-v3 h1 { font-size: clamp(3.2rem, 6vw, 4.3rem); }
  .home-hero-v3-trust > div { min-width: 0; flex: 1; display: block; }
  .home-hero-v3-trust > div + div { margin-left: 0.7rem; padding-left: 0.7rem; }
  .home-hero-v3-trust span { display: block; margin-top: 0.2rem; }
}

@media (max-width: 760px) {
  .home-hero-v3-grid { grid-template-columns: 1fr; }
  .home-hero-v3-copy { min-height: 610px; padding: 5rem 1.5rem 3.5rem; }
  .home-hero-v3 h1 { font-size: clamp(3.3rem, 11vw, 4.7rem); }
  .home-hero-v3-image { min-height: 520px; }
  .home-hero-v3-image img { position: absolute; inset: 0; object-position: 68% center; }
}

@media (max-width: 480px) {
  .home-hero-v3-copy { min-height: 570px; padding: 4rem 1.15rem 3rem; }
  .home-hero-v3 h1 { font-size: clamp(3rem, 14.5vw, 3.9rem); }
  .home-hero-v3-copy > p { font-size: 0.92rem; line-height: 1.65; }
  .home-hero-v3-actions { gap: 1rem; }
  .home-hero-v3-link { font-size: 0.8rem; }
  .home-hero-v3-trust { margin-top: 2.3rem; }
  .home-hero-v3-trust strong { font-size: 1.15rem; }
  .home-hero-v3-trust span { font-size: 0.6rem; }
  .home-hero-v3-image { min-height: 410px; }
  .home-hero-v3-image figcaption { right: 1rem; bottom: 1rem; }
}

/* ================================================================
   Home hero v8 — geometric editorial overlay
   ================================================================ */
.home-hero-v8 {
  min-height: clamp(700px, calc(100vh - 142px), 830px);
  padding: 0;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #d9e5e8;
}
.home-hero-v8-bg {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 54%;
  animation: hero-v8-image 14s ease-out both;
}
.home-hero-v8::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(0deg, rgba(6,28,40,0.46), transparent 28%);
  pointer-events: none;
}
.home-hero-v8-panel {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(248,249,244,0.96);
  clip-path: polygon(0 0, 55% 0, 43% 100%, 0 100%);
}
.home-hero-v8-panel::after {
  content: "";
  width: 2px;
  height: 140%;
  position: absolute;
  left: 49%;
  top: -20%;
  background: linear-gradient(180deg, transparent, rgba(218,132,82,0.72), transparent);
  transform: rotate(7.5deg);
  transform-origin: center;
  animation: hero-v8-line 1.2s 0.4s cubic-bezier(0.16,1,0.3,1) both;
}
.home-hero-v8-inner {
  width: min(100% - 3rem, 1240px);
  min-height: inherit;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 52% 48%;
  align-items: center;
  position: relative;
}
.home-hero-v8-copy {
  max-width: 610px;
  padding: 3.8rem 3rem 3rem 0;
}
.home-hero-v8-kicker {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  color: #286b6b;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.home-hero-v8-kicker i {
  width: 52px;
  height: 1px;
  background: #db8554;
  transform-origin: left;
  animation: hero-v8-kicker 0.8s 0.25s cubic-bezier(0.16,1,0.3,1) both;
}
.home-hero-v8 h1 {
  max-width: 600px;
  margin-top: 1.45rem;
  color: #153044;
  font-size: clamp(3.55rem, 5.15vw, 5.2rem);
  line-height: 0.98;
  letter-spacing: -0.067em;
  animation: hero-v8-rise 0.95s 0.12s cubic-bezier(0.16,1,0.3,1) both;
}
.home-hero-v8 h1 span {
  color: #16867d;
  font-size: 0.69em;
  font-weight: 650;
  letter-spacing: -0.055em;
}
.home-hero-v8-copy > p {
  max-width: 510px;
  margin-top: 1.5rem;
  color: #52656b;
  font-size: 0.98rem;
  line-height: 1.75;
  animation: hero-v8-rise 0.85s 0.3s cubic-bezier(0.16,1,0.3,1) both;
}
.home-hero-v8-actions {
  display: flex;
  align-items: center;
  gap: 1.45rem;
  margin-top: 1.9rem;
  animation: hero-v8-rise 0.85s 0.44s cubic-bezier(0.16,1,0.3,1) both;
}
.home-hero-v8-primary {
  color: #fff;
  background: #153f50;
  box-shadow: 0 18px 36px -20px rgba(15,49,62,0.5);
}
.home-hero-v8-primary:hover {
  color: #fff;
  background: #16867d;
  transform: translateY(-2px);
}
.home-hero-v8-primary .arrow { animation: hero-v8-arrow 1.8s ease-in-out infinite; }
.home-hero-v8-link {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  color: #1e4755;
  font-size: 0.8rem;
  font-weight: 750;
}
.home-hero-v8-link i {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: #fff;
  font-style: normal;
  background: #dc8857;
  border-radius: 50%;
  transition: transform 0.25s ease;
}
.home-hero-v8-link:hover i { transform: translateX(4px); }
.home-hero-v8-assurance {
  display: flex;
  gap: 1.25rem;
  margin-top: 2.4rem;
  padding-top: 1.2rem;
  border-top: 1px solid #d5ded9;
}
.home-hero-v8-assurance span {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  color: #5b6e70;
  font-size: 0.67rem;
  font-weight: 650;
  white-space: nowrap;
}
.home-hero-v8-assurance svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: #16867d;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.home-hero-v8-caption {
  position: absolute;
  right: 0;
  bottom: 2.3rem;
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
  color: #fff;
  text-shadow: 0 2px 16px rgba(5,23,34,0.45);
}
.home-hero-v8-caption > span {
  color: #f0ae82;
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}
.home-hero-v8-caption p {
  max-width: 250px;
  color: rgba(255,255,255,0.72);
  font-size: 0.7rem;
  line-height: 1.45;
}
.home-hero-v8-caption strong {
  display: block;
  margin-bottom: 0.2rem;
  color: #fff;
  font-size: 0.8rem;
}
@keyframes hero-v8-image { from { transform: scale(1.045); } to { transform: scale(1); } }
@keyframes hero-v8-rise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hero-v8-arrow { 0%,100% { transform: translateX(0); } 50% { transform: translateX(4px); } }
@keyframes hero-v8-kicker { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes hero-v8-line { from { opacity: 0; transform: rotate(7.5deg) scaleY(0); } to { opacity: 1; transform: rotate(7.5deg) scaleY(1); } }
@media (max-width: 940px) {
  .home-hero-v8-panel { clip-path: polygon(0 0, 66% 0, 52% 100%, 0 100%); }
  .home-hero-v8-inner { grid-template-columns: 62% 38%; }
  .home-hero-v8-copy { padding-right: 2rem; }
}
@media (max-width: 680px) {
  .home-hero-v8 { min-height: 740px; }
  .home-hero-v8-bg { object-position: 80% center; }
  .home-hero-v8::after {
    background: linear-gradient(180deg, transparent 46%, rgba(6,27,39,0.22) 66%, rgba(6,27,39,0.78));
  }
  .home-hero-v8-panel {
    height: 67%;
    background: linear-gradient(180deg, rgba(248,249,244,0.97), rgba(248,249,244,0.9) 68%, rgba(248,249,244,0));
    clip-path: polygon(0 0, 100% 0, 100% 80%, 0 100%);
  }
  .home-hero-v8-panel::after { display: none; }
  .home-hero-v8-inner { width: min(100% - 2rem, 1240px); grid-template-columns: 1fr; align-items: start; }
  .home-hero-v8-copy { max-width: 100%; padding: 4rem 0 0; }
  .home-hero-v8 h1 { font-size: clamp(3.2rem, 13.8vw, 4.25rem); }
  .home-hero-v8-copy > p { max-width: 440px; font-size: 0.9rem; }
  .home-hero-v8-caption { right: 0.25rem; bottom: 1.6rem; }
}
@media (max-width: 460px) {
  .home-hero-v8 { min-height: 720px; }
  .home-hero-v8-copy { padding-top: 3.2rem; }
  .home-hero-v8 h1 { font-size: clamp(2.35rem, 11.2vw, 3rem); letter-spacing: -0.06em; }
  .home-hero-v8-actions { gap: 1rem; }
  .home-hero-v8-primary { padding-left: 1.2rem; padding-right: 1.2rem; }
  .home-hero-v8-link { gap: 0.6rem; color: #fff; font-size: 0.72rem; text-shadow: 0 2px 12px rgba(5,22,32,0.45); }
  .home-hero-v8-link i { width: 30px; height: 30px; }
  .home-hero-v8-assurance { gap: 0.7rem; margin-top: 1.6rem; }
  .home-hero-v8-assurance { border-color: rgba(255,255,255,0.5); }
  .home-hero-v8-assurance span { color: rgba(255,255,255,0.88); font-size: 0.58rem; text-shadow: 0 2px 10px rgba(5,22,32,0.4); }
  .home-hero-v8-caption p { max-width: 210px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-hero-v8-bg,
  .home-hero-v8-panel::after,
  .home-hero-v8-kicker i,
  .home-hero-v8 h1,
  .home-hero-v8-copy > p,
  .home-hero-v8-actions,
  .home-hero-v8-primary .arrow { animation: none; }
}

/* Full-image banner refinement — no opaque panel */
.home-hero-v8-panel { display: none; }
.home-hero-v8::after {
  background:
    linear-gradient(90deg, rgba(6,28,42,0.82) 0%, rgba(6,28,42,0.62) 30%, rgba(6,28,42,0.2) 58%, transparent 78%),
    linear-gradient(0deg, rgba(5,24,36,0.58), transparent 32%);
}
.home-hero-v8-kicker { color: #a9eee3; }
.home-hero-v8-kicker i { background: #efa06f; }
.home-hero-v8 h1 { color: #fff; text-shadow: 0 4px 28px rgba(4,20,31,0.32); }
.home-hero-v8 h1 span { color: #f3c9a8; }
.home-hero-v8-copy > p {
  color: rgba(255,255,255,0.82);
  text-shadow: 0 2px 14px rgba(4,20,31,0.34);
}
.home-hero-v8-link { color: #fff; text-shadow: 0 2px 12px rgba(4,20,31,0.4); }
.home-hero-v8-assurance { border-color: rgba(255,255,255,0.32); }
.home-hero-v8-assurance span { color: rgba(255,255,255,0.8); }
.home-hero-v8-assurance svg { stroke: #9be8dc; }

@media (max-width: 680px) {
  .home-hero-v8::after {
    background:
      linear-gradient(180deg, rgba(5,25,38,0.68) 0%, rgba(5,25,38,0.38) 55%, rgba(5,25,38,0.72) 100%),
      linear-gradient(90deg, rgba(5,25,38,0.35), transparent 85%);
  }
  .home-hero-v8 h1 { color: #fff; }
  .home-hero-v8-copy > p { color: rgba(255,255,255,0.84); }
}

/* ================================================================
   Home hero v9 — minimal magazine-style full-image banner
   ================================================================ */
.home-hero-v9 {
  min-height: clamp(700px, calc(100vh - 142px), 830px);
  padding: 0;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #102e3d;
}
.home-hero-v9-bg {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 54%;
  animation: hero-v9-image 16s ease-out both;
}
.home-hero-v9-overlay {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(5,27,40,0.76) 0%, rgba(5,27,40,0.5) 32%, rgba(5,27,40,0.12) 62%, transparent 78%),
    linear-gradient(0deg, rgba(4,22,33,0.66) 0%, transparent 34%);
}
.home-hero-v9-word {
  position: absolute;
  left: clamp(1.5rem, 5vw, 5rem);
  top: 8%;
  z-index: -1;
  color: transparent;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: clamp(6rem, 13vw, 13rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.07em;
  -webkit-text-stroke: 1px rgba(255,255,255,0.11);
  opacity: 0.8;
  user-select: none;
  animation: hero-v9-word 1.2s 0.2s cubic-bezier(0.16,1,0.3,1) both;
}
.home-hero-v9-inner {
  width: min(100% - 3rem, 1240px);
  min-height: inherit;
  margin: 0 auto;
  display: grid;
  grid-template-rows: auto 1fr auto;
  padding: 3.2rem 0 2rem;
}
.home-hero-v9-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: rgba(255,255,255,0.72);
  font-size: 0.66rem;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.home-hero-v9-top span:first-child { display: flex; align-items: center; gap: 0.7rem; }
.home-hero-v9-top i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #8fe5d7;
  box-shadow: 0 0 0 5px rgba(143,229,215,0.13);
  animation: hero-v9-dot 2.3s ease-in-out infinite;
}
.home-hero-v9-content {
  width: min(100%, 670px);
  align-self: center;
  padding-top: 3rem;
}
.home-hero-v9-kicker {
  color: #a5eee2;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.home-hero-v9 h1 {
  margin-top: 1rem;
  color: #fff;
  font-size: clamp(4.5rem, 7.5vw, 7.4rem);
  line-height: 0.87;
  letter-spacing: -0.075em;
  text-shadow: 0 4px 30px rgba(4,20,30,0.3);
  animation: hero-v9-rise 0.95s 0.12s cubic-bezier(0.16,1,0.3,1) both;
}
.home-hero-v9 h1 em {
  color: #f2c49f;
  font-style: normal;
  font-weight: 600;
}
.home-hero-v9-detail {
  display: grid;
  grid-template-columns: minmax(240px, 330px) auto;
  align-items: end;
  gap: 2rem;
  margin-top: 1.6rem;
  animation: hero-v9-rise 0.9s 0.32s cubic-bezier(0.16,1,0.3,1) both;
}
.home-hero-v9-detail > p {
  color: rgba(255,255,255,0.8);
  font-size: 0.9rem;
  line-height: 1.7;
  text-shadow: 0 2px 14px rgba(4,20,30,0.35);
}
.home-hero-v9-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  white-space: nowrap;
}
.home-hero-v9-primary {
  color: #173541;
  background: #fff;
  box-shadow: 0 16px 36px -20px rgba(0,0,0,0.7);
}
.home-hero-v9-primary:hover { color: #173541; background: #c9f2eb; transform: translateY(-2px); }
.home-hero-v9-primary .arrow { animation: hero-v9-arrow 1.8s ease-in-out infinite; }
.home-hero-v9-link {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding-bottom: 0.2rem;
  color: #fff;
  font-size: 0.76rem;
  font-weight: 750;
  border-bottom: 1px solid rgba(255,255,255,0.5);
}
.home-hero-v9-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 1.25rem;
  color: rgba(255,255,255,0.75);
  border-top: 1px solid rgba(255,255,255,0.28);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.home-hero-v9-bottom p span { color: #9be9dc; }
.home-hero-v9-bottom a { display: flex; align-items: center; gap: 0.65rem; }
.home-hero-v9-bottom a i {
  width: 1px;
  height: 25px;
  position: relative;
  background: rgba(255,255,255,0.5);
  overflow: hidden;
}
.home-hero-v9-bottom a i::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #fff;
  transform: translateY(-100%);
  animation: hero-v9-scroll 2s ease-in-out infinite;
}
.anchor-target { display: block; height: 0; position: relative; top: -5rem; }
@keyframes hero-v9-image { from { transform: scale(1.045); } to { transform: scale(1); } }
@keyframes hero-v9-word { from { opacity: 0; transform: translateX(-50px); } to { opacity: 0.8; transform: translateX(0); } }
@keyframes hero-v9-rise { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hero-v9-arrow { 0%,100% { transform: translateX(0); } 50% { transform: translateX(4px); } }
@keyframes hero-v9-dot { 0%,100% { box-shadow: 0 0 0 5px rgba(143,229,215,0.13); } 50% { box-shadow: 0 0 0 9px rgba(143,229,215,0); } }
@keyframes hero-v9-scroll { 0% { transform: translateY(-100%); } 55%,100% { transform: translateY(100%); } }
@media (max-width: 760px) {
  .home-hero-v9 { min-height: 750px; }
  .home-hero-v9-bg { object-position: 78% center; }
  .home-hero-v9-overlay {
    background: linear-gradient(180deg, rgba(5,25,38,0.68), rgba(5,25,38,0.28) 48%, rgba(5,24,36,0.76));
  }
  .home-hero-v9-inner { width: min(100% - 2rem, 1240px); padding: 2.6rem 0 1.5rem; }
  .home-hero-v9-top span:last-child { display: none; }
  .home-hero-v9-word { top: 14%; font-size: 22vw; }
  .home-hero-v9-content { padding-top: 1rem; }
  .home-hero-v9 h1 { font-size: clamp(4rem, 15vw, 5.8rem); }
}
@media (max-width: 520px) {
  .home-hero-v9 { min-height: 720px; }
  .home-hero-v9-bg { object-position: 82% center; }
  .home-hero-v9-content { align-self: center; padding-top: 2rem; }
  .home-hero-v9 h1 { font-size: clamp(3.4rem, 15.8vw, 4.45rem); }
  .home-hero-v9-detail { grid-template-columns: 1fr; gap: 1.2rem; margin-top: 1.3rem; }
  .home-hero-v9-detail > p { max-width: 350px; }
  .home-hero-v9-bottom a { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .home-hero-v9-bg,
  .home-hero-v9-word,
  .home-hero-v9 h1,
  .home-hero-v9-detail,
  .home-hero-v9-primary .arrow,
  .home-hero-v9-top i,
  .home-hero-v9-bottom a i::after { animation: none; }
}

/* Home hero v9 — final visual polish */
.home-hero-v9-bg {
  filter: saturate(1.04) contrast(1.025);
}
.home-hero-v9-overlay {
  background:
    radial-gradient(circle at 84% 22%, rgba(247,189,138,0.1), transparent 28%),
    linear-gradient(90deg, rgba(5,27,40,0.72) 0%, rgba(5,27,40,0.46) 32%, rgba(5,27,40,0.1) 63%, transparent 80%),
    linear-gradient(0deg, rgba(4,22,33,0.68) 0%, transparent 36%);
}
.home-hero-v9-word {
  top: 7.5%;
  -webkit-text-stroke-color: rgba(255,255,255,0.14);
}
.home-hero-v9-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
}
.home-hero-v9-kicker::after {
  content: "";
  width: 46px;
  height: 1px;
  background: linear-gradient(90deg, #f0a16e, transparent);
}
.home-hero-v9 h1 { margin-top: 0.9rem; }
.home-hero-v9-detail > p {
  padding-left: 1rem;
  border-left: 2px solid rgba(242,196,159,0.72);
}
.home-hero-v9-primary {
  border: 1px solid rgba(255,255,255,0.82);
  transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}
.home-hero-v9-primary:hover {
  box-shadow: 0 20px 42px -20px rgba(0,0,0,0.78);
}
.home-hero-v9-link {
  transition: gap 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.home-hero-v9-link:hover {
  gap: 0.8rem;
  color: #baf0e7;
  border-color: #baf0e7;
}
.home-hero-v9-bottom {
  position: relative;
  z-index: 2;
  text-shadow: 0 2px 12px rgba(4,20,30,0.4);
}
.home-hero-v9-bottom p {
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.home-hero-v9-bottom a { transition: color 0.25s ease; }
.home-hero-v9-bottom a:hover { color: #baf0e7; }

@media (max-width: 760px) {
  .home-hero-v9-overlay {
    background:
      linear-gradient(180deg, rgba(5,25,38,0.64), rgba(5,25,38,0.24) 45%, rgba(5,24,36,0.78)),
      radial-gradient(circle at 80% 25%, rgba(247,189,138,0.08), transparent 30%);
  }
}
@media (max-width: 520px) {
  .home-hero-v9-detail > p { padding-left: 0.8rem; }
  .home-hero-v9-bottom p { font-size: 0.61rem; }
}

/* ================================================================
   Home hero v6 — luminous, welcoming full-image treatment
   ================================================================ */
.home-hero-v5 {
  min-height: clamp(700px, calc(100vh - 142px), 820px);
  background: #dce8e6;
}
.home-hero-v5-bg {
  object-position: center 54%;
  filter: saturate(0.92) contrast(0.98);
}
.home-hero-v5-shade {
  background:
    linear-gradient(90deg, rgba(249,251,247,0.97) 0%, rgba(249,251,247,0.9) 29%, rgba(249,251,247,0.66) 44%, rgba(249,251,247,0.16) 62%, transparent 75%),
    linear-gradient(0deg, rgba(8,34,43,0.8) 0%, rgba(8,34,43,0.38) 13%, transparent 31%);
}
.home-hero-v5-shade::after { display: none; }
.home-hero-v5-inner {
  padding-top: clamp(5.2rem, 9vh, 7.3rem);
}
.home-hero-v5-copy { max-width: 620px; }
.home-hero-v5-kicker { color: #246a69; }
.home-hero-v5-kicker i { background: #df8a57; }
.home-hero-v5 h1 {
  max-width: 620px;
  margin-top: 1.25rem;
  color: #123044;
  font-size: clamp(3.8rem, 5.65vw, 5.7rem);
  line-height: 0.98;
  letter-spacing: -0.065em;
  text-shadow: none;
}
.home-hero-v5 h1 span { color: #17877c; }
.home-hero-v5-copy > p {
  max-width: 500px;
  margin-top: 1.45rem;
  color: #496268;
  font-size: 1rem;
  line-height: 1.75;
}
.home-hero-v5-primary {
  color: #fff;
  background: #153f50;
  box-shadow: 0 18px 36px -20px rgba(17,55,69,0.6);
}
.home-hero-v5-primary:hover {
  color: #fff;
  background: #17877c;
}
.home-hero-v5-link {
  color: #173e4c;
  border-color: rgba(23,62,76,0.38);
}
.home-hero-v5-link:hover { border-color: #17877c; }
.home-hero-v5-foot {
  min-height: 70px;
  padding-top: 1.15rem;
  border-color: rgba(255,255,255,0.32);
}
.home-hero-v5-foot .home-hero-v5-journey { color: #254b54; }
.home-hero-v5-foot .home-hero-v5-journey i { color: #17877c; }
.home-hero-v5-stat svg { stroke: #90e5d8; }

@media (max-width: 900px) {
  .home-hero-v5-shade {
    background:
      linear-gradient(90deg, rgba(249,251,247,0.96), rgba(249,251,247,0.78) 48%, rgba(249,251,247,0.16) 78%),
      linear-gradient(0deg, rgba(8,34,43,0.82), rgba(8,34,43,0.28) 18%, transparent 35%);
  }
}
@media (max-width: 650px) {
  .home-hero-v5 { min-height: 720px; }
  .home-hero-v5-bg { object-position: 82% center; }
  .home-hero-v5-shade {
    background:
      linear-gradient(180deg, rgba(249,251,247,0.94) 0%, rgba(249,251,247,0.85) 42%, rgba(249,251,247,0.28) 65%, transparent 76%),
      linear-gradient(0deg, rgba(7,30,40,0.86), rgba(7,30,40,0.24) 21%, transparent 39%);
  }
  .home-hero-v5-inner { padding-top: 4rem; }
  .home-hero-v5-copy { max-width: 100%; }
  .home-hero-v5 h1 {
    max-width: 410px;
    color: #123044;
    font-size: clamp(3.15rem, 13.7vw, 4.25rem);
  }
  .home-hero-v5-copy > p { max-width: 390px; color: #405d64; }
  .home-hero-v5-link { color: #173e4c; border-color: rgba(23,62,76,0.4); }
  .home-hero-v5-foot .home-hero-v5-journey { color: rgba(255,255,255,0.92); }
  .home-hero-v5-foot .home-hero-v5-journey i { color: #90e5d8; }
}
@media (max-width: 430px) {
  .home-hero-v5 { min-height: 700px; }
  .home-hero-v5-inner { padding-top: 3.4rem; }
  .home-hero-v5 h1 { font-size: clamp(2.9rem, 13.8vw, 3.7rem); }
  .home-hero-v5-copy > p { max-width: 360px; }
  .home-hero-v5-actions { flex-direction: row; align-items: center; gap: 1.15rem; }
  .home-hero-v5-primary { padding-left: 1.25rem; padding-right: 1.25rem; }
  .home-hero-v5-link {
    padding: 0.55rem 0.75rem;
    color: #123f4b;
    font-size: 0.73rem;
    background: rgba(255,255,255,0.58);
    border: 1px solid rgba(255,255,255,0.64);
    border-radius: 999px;
    backdrop-filter: blur(8px);
  }
}

/* ================================================================
   About v6 — immersive editorial story, no card-grid treatment
   ================================================================ */
.about-v6 { overflow: hidden; color: #132749; background: #fbfaf6; }
.about-v6 h1,
.about-v6 h2 { font-family: "Plus Jakarta Sans", sans-serif; }
.about-v6 em { font-family: "DM Serif Display", Georgia, serif; font-weight: 400; }
.ab6-index { display: inline-flex; align-items: center; gap: .75rem; color: #2b68c6; font-size: .7rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.ab6-index::before { content: ""; width: 28px; height: 1px; background: currentColor; }

/* Full-image opening */
.ab6-hero { min-height: clamp(640px, calc(100vh - 142px), 760px); position: relative; display: flex; color: #fff; background: #0a2239; isolation: isolate; }
.ab6-hero-image { width: 100%; height: 100%; position: absolute; inset: 0; z-index: -3; object-fit: cover; object-position: center 48%; animation: ab6HeroSettle 13s ease-out both; }
.ab6-hero-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(5,22,38,.93) 0%, rgba(5,22,38,.76) 39%, rgba(5,22,38,.2) 72%, rgba(5,22,38,.08)), linear-gradient(0deg, rgba(5,20,34,.88), transparent 38%); }
.ab6-hero-line { position: absolute; z-index: -1; pointer-events: none; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; }
.ab6-line-one { width: 460px; height: 460px; right: -180px; top: -210px; box-shadow: 0 0 0 70px rgba(255,255,255,.035), 0 0 0 140px rgba(255,255,255,.02); }
.ab6-line-two { width: 230px; height: 230px; left: -145px; bottom: 90px; border-color: rgba(94,224,210,.27); }
.ab6-hero-inner { min-height: inherit; width: 100%; position: relative; display: flex; flex-direction: column; justify-content: space-between; padding-top: 3rem; padding-bottom: 2.3rem; }
.ab6-hero-top { display: flex; justify-content: space-between; color: rgba(255,255,255,.72); font-size: .66rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.ab6-hero-top span:first-child { display: flex; align-items: center; gap: .65rem; }
.ab6-hero-top i { width: 7px; height: 7px; display: block; background: #64dfd3; border-radius: 50%; box-shadow: 0 0 0 5px rgba(100,223,211,.12); }
.ab6-hero-copy { max-width: 690px; margin: auto 0; padding: 3rem 0 2.25rem; animation: ab6HeroRise .9s .08s cubic-bezier(.16,1,.3,1) both; }
.ab6-kicker { display: flex; align-items: center; gap: .9rem; color: #75e4da; font-size: .72rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.ab6-kicker::after { content: ""; width: 42px; height: 1px; background: rgba(117,228,218,.65); }
.ab6-hero h1 { max-width: 720px; margin-top: 1.2rem; color: #fff; font-size: clamp(3.35rem, 5.25vw, 5.45rem); line-height: .98; letter-spacing: -.065em; text-shadow: 0 16px 38px rgba(0,0,0,.16); }
.ab6-hero h1 em { color: #ffd2a3; letter-spacing: -.04em; }
.ab6-hero-lead { max-width: 570px; margin-top: 1.35rem; color: rgba(255,255,255,.77); font-size: .96rem; line-height: 1.7; }
.ab6-hero-actions { display: flex; align-items: center; gap: 1.7rem; margin-top: 2rem; }
.ab6-quiet-link { display: inline-flex; align-items: center; gap: .65rem; padding-bottom: .25rem; color: #fff; font-size: .82rem; font-weight: 700; border-bottom: 1px solid rgba(255,255,255,.38); }
.ab6-quiet-link:hover { color: #75e4da; border-color: #75e4da; }
.ab6-hero-foot { display: grid; grid-template-columns: 1fr repeat(3, auto); gap: 2.4rem; align-items: end; padding-top: 1.35rem; border-top: 1px solid rgba(255,255,255,.22); }
.ab6-hero-foot > p { color: rgba(255,255,255,.56); font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.ab6-hero-foot > p strong { color: #75e4da; }
.ab6-hero-foot > div { display: grid; grid-template-columns: auto auto; align-items: baseline; gap: .45rem; }
.ab6-hero-foot > div strong { color: #fff; font-size: 1.3rem; }
.ab6-hero-foot > div span { max-width: 80px; color: rgba(255,255,255,.58); font-size: .62rem; line-height: 1.25; }
@keyframes ab6HeroSettle { from { transform: scale(1.045); } to { transform: scale(1); } }
@keyframes ab6HeroRise { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } }

/* Manifesto */
.ab6-manifesto { padding: 7rem 0 7.5rem; position: relative; background: #fbfaf6; }
.ab6-manifesto::after { content: ""; width: 420px; height: 420px; position: absolute; right: -300px; top: 90px; border: 1px solid rgba(34,91,169,.09); border-radius: 50%; box-shadow: 0 0 0 65px rgba(34,91,169,.025); }
.ab6-manifesto-head { max-width: 1120px; }
.ab6-manifesto-head h2 { max-width: 990px; margin-top: 1.55rem; color: #14264c; font-size: clamp(2.65rem, 4.25vw, 4.25rem); line-height: 1.05; letter-spacing: -.055em; }
.ab6-manifesto-head h2 em { color: #1b9a90; }
.ab6-story-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(3.5rem,7vw,7rem); align-items: center; margin-top: 4.5rem; }
.ab6-story-copy { padding-left: 2.1rem; border-left: 1px solid #cfd9e6; }
.ab6-story-copy > p { max-width: 500px; margin-top: 1.25rem; color: #657087; font-size: .98rem; line-height: 1.82; }
.ab6-story-copy .ab6-dropcap { margin-top: 0; color: #27395e; font-family: "DM Serif Display", Georgia, serif; font-size: 1.45rem; line-height: 1.52; }
.ab6-signoff { display: flex; flex-direction: column; gap: .25rem; margin-top: 2.2rem; }
.ab6-signoff span { color: #7f899e; font-size: .67rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.ab6-signoff strong { color: #168a82; font-family: "DM Serif Display", Georgia, serif; font-size: 1.7rem; font-weight: 400; font-style: italic; }
.ab6-story-visual { min-height: 570px; position: relative; }
.ab6-story-visual figure { margin: 0; overflow: hidden; }
.ab6-story-visual img { width: 100%; height: 100%; object-fit: cover; }
.ab6-story-main { width: 72%; height: 500px; position: absolute; right: 0; top: 0; border-radius: 46% 54% 10% 90% / 35% 42% 58% 65%; }
.ab6-story-small { width: 190px; height: 235px; position: absolute; left: 0; bottom: 0; border: 8px solid #fbfaf6; border-radius: 100px 100px 22px 22px; box-shadow: 0 25px 55px -35px rgba(14,36,76,.45); }
.ab6-story-visual blockquote { max-width: 330px; position: absolute; right: -1rem; bottom: -1rem; margin: 0; padding: 1.5rem 1.7rem; color: #fff; background: #176b8c; border-radius: 22px 0 22px 22px; box-shadow: 0 28px 54px -32px rgba(6,35,57,.62); font-family: "DM Serif Display", Georgia, serif; font-size: 1.15rem; line-height: 1.45; }
.ab6-story-visual cite { display: block; margin-top: .65rem; color: rgba(255,255,255,.65); font-family: "Inter", sans-serif; font-size: .67rem; font-style: normal; }

/* Impact band */
.ab6-impact { padding: 6.5rem 0 6rem; color: #fff; background: #10264d; }
.ab6-impact .ab6-index { color: #70dfd5; }
.ab6-impact-intro { display: grid; grid-template-columns: .7fr 1.4fr .8fr; gap: 3rem; align-items: end; }
.ab6-impact-intro h2 { color: #fff; font-size: clamp(2.35rem,3.6vw,3.55rem); line-height: 1.05; letter-spacing: -.05em; }
.ab6-impact-intro h2 em { color: #ffd2a3; }
.ab6-impact-intro > p { color: rgba(255,255,255,.58); font-size: .9rem; line-height: 1.7; }
.ab6-impact-numbers { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 3.5rem; border-top: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); }
.ab6-impact-numbers > div { min-height: 190px; padding: 2rem 1.7rem; display: flex; flex-direction: column; justify-content: space-between; }
.ab6-impact-numbers > div + div { border-left: 1px solid rgba(255,255,255,.15); }
.ab6-impact-numbers strong { color: #fff; font-family: "Plus Jakarta Sans", sans-serif; font-size: clamp(3rem,4.2vw,4.25rem); letter-spacing: -.07em; }
.ab6-impact-numbers strong span { color: #6be0d5; font-size: .62em; vertical-align: top; }
.ab6-impact-numbers p { max-width: 190px; color: rgba(255,255,255,.58); font-size: .75rem; line-height: 1.55; }

/* Values */
.ab6-values { padding: 7.5rem 0; background: #edf4f7; }
.ab6-values-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(4rem,8vw,8rem); align-items: start; }
.ab6-values-intro { position: sticky; top: 140px; }
.ab6-values-intro h2 { margin-top: 1.5rem; color: #162b4f; font-size: clamp(2.55rem,3.65vw,3.65rem); line-height: 1.04; letter-spacing: -.055em; }
.ab6-values-intro h2 em { color: #178d84; }
.ab6-values-intro > p { max-width: 470px; margin-top: 1.45rem; color: #67738a; line-height: 1.75; }
.ab6-values-intro figure { width: 76%; height: 235px; margin: 2.5rem 0 0 auto; overflow: hidden; border-radius: 48% 52% 12px 12px; }
.ab6-values-intro img { width: 100%; height: 100%; object-fit: cover; }
.ab6-values-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid #cbd7df; }
.ab6-values-list li { display: grid; grid-template-columns: 70px 1fr; gap: 1.25rem; padding: 2rem 0; border-bottom: 1px solid #cbd7df; }
.ab6-values-list li > span { padding-top: .25rem; color: #1b7f9b; font-family: "DM Serif Display", Georgia, serif; font-size: 1.15rem; }
.ab6-values-list h3 { color: #162b4f; font-size: 1.4rem; letter-spacing: -.025em; }
.ab6-values-list p { max-width: 500px; margin-top: .55rem; color: #6b768a; font-size: .91rem; line-height: 1.7; }

/* Mission and vision become one continuous canvas */
.ab6-purpose { display: grid; grid-template-columns: 1fr 1fr; }
.ab6-purpose-half { min-height: 500px; position: relative; display: flex; flex-direction: column; justify-content: center; padding: clamp(3.5rem,5.5vw,6rem); overflow: hidden; }
.ab6-purpose-half > span { font-size: .68rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.ab6-purpose-half h2 { max-width: 620px; margin-top: 1.7rem; font-size: clamp(2.45rem,3.25vw,3.35rem); line-height: 1.04; letter-spacing: -.055em; }
.ab6-purpose-half p { max-width: 560px; margin-top: 1.7rem; font-size: .95rem; line-height: 1.82; }
.ab6-purpose-half > i { position: absolute; right: 7%; bottom: 3%; font-family: "DM Serif Display", Georgia, serif; font-size: 9rem; font-style: normal; line-height: 1; opacity: .08; }
.ab6-purpose-mission { color: #18334a; background: #f2c08f; }
.ab6-purpose-mission > span { color: #785033; }
.ab6-purpose-mission h2 { color: #17334a; }
.ab6-purpose-mission p { color: rgba(23,51,74,.72); }
.ab6-purpose-vision { color: #fff; background: #177e78; }
.ab6-purpose-vision > span { color: #b8f2ec; }
.ab6-purpose-vision h2 { color: #fff; }
.ab6-purpose-vision p { color: rgba(255,255,255,.73); }

/* Founding belief */
.ab6-belief { min-height: 630px; position: relative; display: flex; align-items: center; overflow: hidden; background: #111b2f; }
.ab6-belief > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: center; filter: saturate(.82); }
.ab6-belief-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(7,19,35,.94),rgba(7,19,35,.72) 48%,rgba(7,19,35,.16)); }
.ab6-belief .container { position: relative; z-index: 1; width: 100%; }
.ab6-belief blockquote { max-width: 790px; margin: 0; }
.ab6-belief blockquote > span { color: #75e4da; font-size: .7rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.ab6-belief blockquote > p { margin-top: 1.55rem; color: #fff; font-family: "DM Serif Display", Georgia, serif; font-size: clamp(2.65rem,4.05vw,4.1rem); line-height: 1.1; letter-spacing: -.03em; }
.ab6-belief footer { display: flex; flex-direction: column; gap: .2rem; margin-top: 2rem; padding-left: 1rem; border-left: 2px solid #f2c08f; }
.ab6-belief footer strong { color: #fff; font-size: .85rem; }
.ab6-belief footer small { color: rgba(255,255,255,.52); font-size: .7rem; }

/* Team portraits */
.ab6-team { padding: 7.5rem 0 7rem; background: #fbfaf6; }
.ab6-team-head { display: grid; grid-template-columns: 1.15fr .85fr; gap: 4rem; align-items: end; margin-bottom: 3.5rem; }
.ab6-team-head h2 { margin-top: 1.5rem; color: #14284d; font-size: clamp(2.65rem,4vw,3.95rem); line-height: 1.02; letter-spacing: -.06em; }
.ab6-team-head h2 em { color: #188f86; }
.ab6-team-head > p { max-width: 440px; color: #69748a; line-height: 1.78; }
.ab6-team-line { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.5rem; padding-top: 1.5rem; border-top: 1px solid #d6dce4; }
.ab6-person { min-width: 0; }
.ab6-person figure { height: 340px; margin: 0; overflow: hidden; background: #e8edf0; }
.ab6-person:nth-child(1) figure { border-radius: 120px 8px 8px 8px; }
.ab6-person:nth-child(2) figure { border-radius: 8px 120px 8px 8px; }
.ab6-person:nth-child(3) figure { border-radius: 8px 8px 120px 8px; }
.ab6-person:nth-child(4) figure { border-radius: 8px 8px 8px 120px; }
.ab6-person img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.16,1,.3,1); }
.ab6-person:hover img { transform: scale(1.035); }
.ab6-person > div { display: grid; grid-template-columns: 30px 1fr; margin-top: 1.25rem; }
.ab6-person > div > span { grid-row: 1 / 3; color: #188f86; font-family: "DM Serif Display", Georgia, serif; font-size: .9rem; }
.ab6-person h3 { color: #192d50; font-size: 1.05rem; }
.ab6-person p { margin-top: .25rem; color: #7a8496; font-size: .73rem; }

/* Seamless proof band */
.ab6-proof { padding: 7rem 0; color: #fff; background: #11244a; }
.ab6-proof .ab6-index { color: #71dfd4; }
.ab6-proof-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(4rem,8vw,8rem); align-items: center; }
.ab6-proof-copy h2 { max-width: 590px; margin-top: 1.55rem; color: #fff; font-size: clamp(2.65rem,3.85vw,3.8rem); line-height: 1.04; letter-spacing: -.055em; }
.ab6-proof-copy h2 em { color: #f2c08f; }
.ab6-proof-copy > p { max-width: 530px; margin-top: 1.5rem; color: rgba(255,255,255,.59); line-height: 1.78; }
.ab6-proof-copy > a { display: inline-flex; gap: .7rem; margin-top: 2rem; padding-bottom: .35rem; color: #71dfd4; font-size: .8rem; font-weight: 750; border-bottom: 1px solid rgba(113,223,212,.45); }
.ab6-proof-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.14); }
.ab6-proof-list li { display: grid; grid-template-columns: 44px 1fr; gap: 1rem; padding: 1.35rem 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.ab6-proof-list i { width: 28px; height: 28px; display: grid; place-items: center; color: #0f365c; background: #71dfd4; border-radius: 50%; font-size: .7rem; font-style: normal; font-weight: 900; }
.ab6-proof-list strong { display: block; color: #fff; font-size: .9rem; }
.ab6-proof-list span { display: block; margin-top: .25rem; color: rgba(255,255,255,.5); font-size: .75rem; }

/* Warm close */
.ab6-close { padding: 7rem 0; position: relative; overflow: hidden; text-align: center; background: #f5c997; }
.ab6-close::before,.ab6-close::after { content: ""; position: absolute; border: 1px solid rgba(19,49,73,.12); border-radius: 50%; }
.ab6-close::before { width: 360px; height: 360px; left: -250px; top: -160px; box-shadow: 0 0 0 55px rgba(19,49,73,.025); }
.ab6-close::after { width: 220px; height: 220px; right: -110px; bottom: -120px; }
.ab6-close-inner { position: relative; z-index: 1; }
.ab6-close-inner > span { color: #6d4d39; font-size: .7rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.ab6-close h2 { max-width: 820px; margin: 1.4rem auto 0; color: #173249; font-size: clamp(2.8rem,4.45vw,4.4rem); line-height: 1.01; letter-spacing: -.065em; }
.ab6-close p { max-width: 610px; margin: 1.6rem auto 0; color: rgba(23,50,73,.68); line-height: 1.75; }
.ab6-close-inner > div { display: flex; align-items: center; justify-content: center; gap: 1.6rem; margin-top: 2.2rem; }
.ab6-close-inner > div > a:last-child { color: #173249; font-size: .86rem; font-weight: 800; border-bottom: 1px solid rgba(23,50,73,.35); }

@media (max-width: 1050px) {
  .ab6-story-grid,.ab6-values-grid,.ab6-proof-grid { gap: 4rem; }
  .ab6-story-main { width: 78%; }
  .ab6-impact-intro { grid-template-columns: .55fr 1.45fr; }
  .ab6-impact-intro > p { grid-column: 2; }
  .ab6-team-line { grid-template-columns: repeat(2,1fr); gap: 3rem 1.5rem; }
  .ab6-person figure { height: 400px; }
}

@media (max-width: 820px) {
  .ab6-hero { min-height: 700px; }
  .ab6-hero-shade { background: linear-gradient(90deg,rgba(5,22,38,.91),rgba(5,22,38,.66) 58%,rgba(5,22,38,.2)),linear-gradient(0deg,rgba(5,20,34,.9),transparent 48%); }
  .ab6-hero h1 { font-size: clamp(3.25rem,9vw,4.6rem); }
  .ab6-hero-foot { grid-template-columns: repeat(3,1fr); gap: 1rem; }
  .ab6-hero-foot > p { grid-column: 1 / -1; }
  .ab6-story-grid,.ab6-values-grid,.ab6-proof-grid { grid-template-columns: 1fr; }
  .ab6-manifesto { padding: 6rem 0; }
  .ab6-story-grid { margin-top: 4rem; }
  .ab6-story-copy { max-width: 650px; }
  .ab6-values-intro { position: static; }
  .ab6-values-intro figure { width: min(560px,88%); }
  .ab6-impact-intro { grid-template-columns: 1fr; }
  .ab6-impact-intro > p { grid-column: auto; max-width: 540px; }
  .ab6-impact-numbers { grid-template-columns: 1fr 1fr; }
  .ab6-impact-numbers > div:nth-child(3) { border-left: 0; border-top: 1px solid rgba(255,255,255,.15); }
  .ab6-impact-numbers > div:nth-child(4) { border-top: 1px solid rgba(255,255,255,.15); }
  .ab6-purpose { grid-template-columns: 1fr; }
  .ab6-purpose-half { min-height: 440px; }
  .ab6-team-head { grid-template-columns: 1fr; gap: 1.5rem; }
}

@media (max-width: 560px) {
  .ab6-hero { min-height: 680px; }
  .ab6-hero-image { object-position: 59% center; }
  .ab6-hero-inner { padding-top: 2rem; padding-bottom: 1.4rem; }
  .ab6-hero-top span:last-child { display: none; }
  .ab6-hero-copy { padding: 3rem 0 2rem; }
  .ab6-hero h1 { font-size: clamp(2.85rem,12.5vw,3.8rem); }
  .ab6-hero-lead { font-size: .9rem; line-height: 1.65; }
  .ab6-hero-actions { align-items: flex-start; gap: 1.1rem; }
  .ab6-hero-actions .btn { padding-left: 1rem; padding-right: 1rem; font-size: .73rem; }
  .ab6-quiet-link { margin-top: .65rem; font-size: .72rem; }
  .ab6-hero-foot > div { display: block; }
  .ab6-hero-foot > div strong { display: block; font-size: 1.1rem; }
  .ab6-hero-foot > div span { display: block; margin-top: .2rem; font-size: .55rem; }
  .ab6-manifesto-head h2 { font-size: 2.35rem; }
  .ab6-story-copy { padding-left: 1.25rem; }
  .ab6-story-visual { min-height: 520px; }
  .ab6-story-main { width: 86%; height: 440px; }
  .ab6-story-small { width: 145px; height: 190px; }
  .ab6-story-visual blockquote { max-width: 250px; right: 0; padding: 1.1rem; font-size: .95rem; }
  .ab6-impact,.ab6-values,.ab6-team,.ab6-proof,.ab6-close { padding: 5rem 0; }
  .ab6-impact-numbers { grid-template-columns: 1fr; }
  .ab6-impact-numbers > div { min-height: 155px; padding: 1.6rem 0; }
  .ab6-impact-numbers > div + div { border-left: 0; border-top: 1px solid rgba(255,255,255,.15); }
  .ab6-impact-numbers strong { font-size: 3.7rem; }
  .ab6-values-list li { grid-template-columns: 44px 1fr; gap: .8rem; padding: 1.8rem 0; }
  .ab6-values-intro figure { width: 100%; height: 230px; }
  .ab6-purpose-half { min-height: 420px; padding: 3.75rem 1.5rem; }
  .ab6-purpose-half h2 { font-size: 2.35rem; }
  .ab6-belief { min-height: 560px; }
  .ab6-belief > img { object-position: 58% center; }
  .ab6-belief blockquote > p { font-size: 2.35rem; }
  .ab6-team-line { grid-template-columns: 1fr; gap: 3.2rem; }
  .ab6-person figure { height: 310px; }
  .ab6-close h2 { font-size: 2.65rem; }
  .ab6-close-inner > div { flex-direction: column; gap: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .ab6-hero-image,.ab6-hero-copy { animation: none !important; }
}

/* ================================================================
   Official brand colour system — July 2026
   Palette sourced from the Optimistic Disability brand guidelines:
   Solid Gold #FDCB11 · Tech Orange #F68C1F · Orange #F37421
   ================================================================ */
::selection { color: #211a15; background: rgba(253,203,17,.58); }
body { color: var(--ink); background: #fff; }
.text-gradient {
  color: transparent;
  background: linear-gradient(115deg, #f37421 0%, #f68c1f 50%, #fdcb11 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
.section-eyebrow { color: #be4b0f; border-color: rgba(243,116,33,.18); background: #fff9ef; }
.section-eyebrow::before { background: var(--gradient-warm); }
.utility .pill { color:#ffe9a0; background:rgba(253,203,17,.10); }
.utility .pill::before { background:#fdcb11; }
.btn-primary,.btn-warm { color: #241b14; background: var(--gradient-warm); box-shadow: var(--shadow-warm); }
.btn-primary:hover,.btn-warm:hover { color: #241b14; background: linear-gradient(135deg,#ffe05a,#f7a02a 55%,#f47a24); }
.btn-outline { color: var(--ink); border-color: #cfb9a6; }
.btn-outline:hover { color: #fff; border-color: #34271f; background: #34271f; }
.nav-links a:hover,.nav-links a.active,.nav-phone:hover { color: #d65312; }
.nav .btn-primary,.nav .btn-primary:hover { color: #241b14; }
.hero,.page-header,.service-detail-hero {
  background:
    radial-gradient(900px 520px at 88% -8%, rgba(253,203,17,.20), transparent 62%),
    radial-gradient(760px 440px at -8% 78%, rgba(243,116,33,.10), transparent 64%),
    linear-gradient(180deg,#fffdf9 0%,#fff8ed 100%);
}
.detail-top,.post-hero {
  background:radial-gradient(1000px 640px at 100% -30%,rgba(253,203,17,.20),transparent 60%),linear-gradient(180deg,#fff8eb 0%,#fff 100%);
}
.orb-1 { background:radial-gradient(circle,#fdcb11,transparent 70%); }
.orb-2 { background:radial-gradient(circle,#f37421,transparent 70%); }
.orb-3 { background:radial-gradient(circle,#f68c1f,transparent 70%); }
.detail-visual::before { background:radial-gradient(closest-side,rgba(253,203,17,.15),transparent 70%),radial-gradient(closest-side at 70% 80%,rgba(243,116,33,.22),transparent 70%); }
.detail-visual .frame { box-shadow:0 34px 70px -32px rgba(65,40,20,.30),0 12px 26px -16px rgba(243,116,33,.20); }
.benefits-list li::before,.detail-badge .ico,.callout .callout-ico,.deliv-card:hover .deliv-ico { color:#241b14; }
.svc-tile-img::after { background:linear-gradient(180deg,transparent 55%,rgba(48,29,17,.38)); }
.impact-band .text-gradient { color:transparent; background:linear-gradient(120deg,#fdcb11,#f68c1f 62%,#f37421); -webkit-background-clip:text; background-clip:text; }
.hero-eyebrow .dot,.hero-badge .hb-dot { background:#f68c1f; box-shadow:0 0 0 4px rgba(246,140,31,.18); }
.card:hover .card-icon,.faq-item.open .chev,.detail-badge .ico,.deliv-card:hover .deliv-ico { color:#241b14; }
.cta-banner,.hl-band,.inline-cta { background:#2d211a; }
.cta-banner::before,.hl-band::before,.inline-cta::before {
  background:radial-gradient(620px 330px at 82% 0%,rgba(253,203,17,.15),transparent 62%),radial-gradient(520px 300px at 8% 110%,rgba(243,116,33,.17),transparent 62%);
}
.footer-v2 { color:rgba(255,249,240,.66); background:#241c17; }
.footer-glow-bar { box-shadow:0 0 22px rgba(246,140,31,.36); }
.ftr-brand > p,.ftr-nav a,.ftr-contact-list li { color:rgba(255,249,240,.58); }
.ftr-social-icon,.ftr-ndis,.ftr-cico { border-color:rgba(253,203,17,.12); background:rgba(255,255,255,.055); }
.ftr-social-icon:hover,.ftr-ndis-icon { color:#241b14; }
.back-to-top { color:#241b14; background:var(--gradient-warm); box-shadow:0 14px 35px -12px rgba(126,59,13,.55); }
.back-to-top:hover { box-shadow:0 18px 40px -12px rgba(126,59,13,.65); }
.back-to-top:focus-visible { outline-color:rgba(253,203,17,.55); }

/* Home — cinematic hero */
.home-hero-v9 { background:#291c13; }
.home-hero-v9-overlay {
  background:
    radial-gradient(circle at 84% 22%,rgba(253,203,17,.12),transparent 29%),
    linear-gradient(90deg,rgba(35,22,13,.80) 0%,rgba(35,22,13,.53) 34%,rgba(35,22,13,.12) 65%,transparent 82%),
    linear-gradient(0deg,rgba(30,18,10,.72) 0%,transparent 38%);
}
.home-hero-v9-top i { background:#fdcb11; box-shadow:0 0 0 5px rgba(253,203,17,.16); }
.home-hero-v9-kicker,.home-hero-v9-bottom p span { color:#ffd84e; }
.home-hero-v9-kicker::after { background:linear-gradient(90deg,#fdcb11,transparent); }
.home-hero-v9 h1 em { color:#ffd762; }
.home-hero-v9-detail > p { border-left-color:rgba(253,203,17,.75); }
.home-hero-v9-primary { color:#241b14; border-color:rgba(255,223,102,.72); background:var(--gradient-warm); }
.home-hero-v9-primary:hover { color:#241b14; background:linear-gradient(135deg,#ffe062,#fdcb11 52%,#f68c1f); }
.home-hero-v9-link:hover,.home-hero-v9-bottom a:hover { color:#ffd84e; border-color:#ffd84e; }
@keyframes hero-v9-dot { 0%,100% { box-shadow:0 0 0 5px rgba(253,203,17,.16); } 50% { box-shadow:0 0 0 9px rgba(253,203,17,0); } }

/* Home — impact, trust and life stories */
.impact-flow-section {
  background:radial-gradient(circle at 90% 12%,rgba(253,203,17,.10),transparent 22rem),linear-gradient(112deg,#fff7e8 0%,#fff 47%,#fff9f0 100%);
}
.impact-flow-section::before,.trust-flow-section::before,.life-stories-section::before { border-color:rgba(243,116,33,.10); box-shadow:0 0 0 3.7rem rgba(246,140,31,.025),0 0 0 7.4rem rgba(253,203,17,.018); }
.impact-flow-orb-one,.trust-flow-glow { background:radial-gradient(circle at 35% 35%,rgba(253,203,17,.20),rgba(246,140,31,.025) 68%); }
.impact-flow-orb-two,.life-stories-ring { border-color:rgba(246,140,31,.09); }
.impact-flow-header h2 span,.trust-flow-head h2 span,.life-stories-head h2 span { color:transparent; background:linear-gradient(100deg,#f37421,#f68c1f 56%,#fdcb11); -webkit-background-clip:text; background-clip:text; }
.impact-flow-header > p::before,.trust-flow-head > p::before,.life-stories-message::before { background:linear-gradient(#f37421,#fdcb11); }
.impact-flow-portrait::before { background:linear-gradient(145deg,rgba(253,203,17,.21),rgba(243,116,33,.11)); }
.impact-flow-portrait::after,.life-photo-main::before { border-color:rgba(243,116,33,.23); }
.impact-flow-portrait figcaption span { background:#f68c1f; box-shadow:0 0 0 6px rgba(246,140,31,.14); }
.impact-flow-dots { background-image:radial-gradient(#f68c1f 1.7px,transparent 1.7px); }
.impact-flow-icon { color:#d95512; border-color:rgba(243,116,33,.18); background:rgba(255,239,207,.75); }
.impact-flow-lead strong span,.impact-flow-mini strong span,.impact-flow-note p em,.impact-flow-note a,.impact-flow-signature { color:#dc5914; }
.impact-flow-mini,.impact-flow-mini > div + div { border-color:#eadfd4; }
.trust-flow-section { background:radial-gradient(circle at 9% 86%,rgba(253,203,17,.10),transparent 22rem),radial-gradient(circle at 94% 12%,rgba(243,116,33,.08),transparent 20rem),linear-gradient(180deg,#fff 0%,#fffaf3 100%); }
.trust-flow-list::before { background:linear-gradient(90deg,rgba(243,116,33,.28),rgba(246,140,31,.28),rgba(253,203,17,.35),rgba(243,116,33,.25)); }
.trust-flow-heart .trust-flow-icon { color:#e75e18; background:#fff1e8; box-shadow:0 10px 28px -15px rgba(243,116,33,.48); }
.trust-flow-shield .trust-flow-icon { color:#e67a18; background:#fff5df; box-shadow:0 10px 28px -15px rgba(246,140,31,.48); }
.trust-flow-inclusive .trust-flow-icon { color:#b97800; background:#fff9d9; box-shadow:0 10px 28px -15px rgba(253,203,17,.52); }
.trust-flow-reliable .trust-flow-icon { color:#d65312; background:#fff0e5; box-shadow:0 10px 28px -15px rgba(243,116,33,.48); }
.trust-flow-promise,.trust-flow-promise strong { color:#d65312; }
.life-stories-section { background:radial-gradient(circle at 8% 16%,rgba(253,203,17,.11),transparent 22rem),radial-gradient(circle at 93% 84%,rgba(243,116,33,.08),transparent 24rem),#fff9ef; }
.life-stories-intro > span,.life-photo figcaption span { color:#d65312; }
.life-photo-care img { border-color:#fff9ef; }
.map-pin.main .dot,.map-pin .dot { box-shadow:0 0 0 5px rgba(246,140,31,.24); }

/* Services — active v5 experience */
.sv5-hero { background:#2a1c13; }
.sv5-hero-shade { background:linear-gradient(90deg,rgba(38,23,13,.95) 0%,rgba(38,23,13,.78) 42%,rgba(38,23,13,.2) 76%),linear-gradient(0deg,rgba(34,20,11,.82),transparent 46%); }
.sv5-kicker,.sv5-hero h1 em { color:#ffd84a; }
.sv5-kicker::before { background:#fdcb11; }
.sv5-hero-stats i { background:#fdcb11; box-shadow:0 0 0 6px rgba(253,203,17,.16); }
.sv5-intro-copy h2,.sv5-services-head h2,.sv5-chapter-content > h2,.sv5-journey-head h2 { color:#2b211b; }
.sv5-intro-copy h2 span,.sv5-services-head h2 span,.sv5-journey-head h2 span { color:#e45e16; }
.sv5-intro-copy li span,.sv5-service-links > a > span,.sv5-chapter-label { color:#d95713; }
.sv5-intro-image::before { border-color:#f5b14f; }
.sv5-intro-image figcaption { background:rgba(45,30,19,.78); }
.sv5-intro-image figcaption span { color:#ffd84a; }
.sv5-services-head { background:#fff8ed; }
.sv5-chapter-label::before { background:currentColor; }
.sv5-service-links i { color:#d95613; border-color:#ebd2bd; }
.sv5-service-links > a:hover h3 { color:#d95613; }
.sv5-service-links > a:hover i { color:#241b14; background:#fdcb11; }
.sv5-chapter-two { background:#fff2d8; }
.sv5-chapter-two .sv5-chapter-label { color:#d65a15; }
.sv5-chapter-two .sv5-service-links,.sv5-chapter-two .sv5-service-links > a { border-color:#efd5ad; }
.sv5-chapter-three { background:#2b211b; }
.sv5-chapter-three .sv5-chapter-label,.sv5-chapter-three .sv5-service-links i { color:#ffd84a; }
.sv5-chapter-three .sv5-service-links > a:hover i { color:#2b211b; background:#fdcb11; }
.sv5-journey-steps::before { background:#ead7c4; }
.sv5-journey-steps li > span { color:#281e17; background:var(--gradient-warm); }
.sv5-story-overlay { background:linear-gradient(90deg,rgba(38,23,13,.92),rgba(38,23,13,.67) 46%,rgba(38,23,13,.1)); }
.sv5-story blockquote > span { color:#ffd84a; }
.sv5-cta { color:#241b14; background:var(--gradient-warm); }
.sv5-cta h2,.sv5-cta-inner > span,.sv5-cta p,.sv5-cta-inner > div > a:last-child { color:#241b14; }
.sv5-cta-inner > div > a:last-child { border-color:rgba(36,27,20,.5); }

/* About — editorial v6 */
.ab6-index { color:#d95613; }
.ab6-hero { background:#281c14; }
.ab6-hero-shade { background:linear-gradient(90deg,rgba(38,23,13,.94),rgba(38,23,13,.77) 40%,rgba(38,23,13,.2) 73%,rgba(38,23,13,.08)),linear-gradient(0deg,rgba(34,20,11,.89),transparent 39%); }
.ab6-line-two { border-color:rgba(253,203,17,.30); }
.ab6-hero-top i { background:#fdcb11; box-shadow:0 0 0 5px rgba(253,203,17,.14); }
.ab6-kicker,.ab6-hero-foot > p strong { color:#ffd84a; }
.ab6-kicker::after { background:rgba(253,203,17,.7); }
.ab6-hero h1 em { color:#ffd65b; }
.ab6-quiet-link:hover { color:#ffd84a; border-color:#ffd84a; }
.ab6-manifesto,.ab6-team { background:#fffaf2; }
.ab6-manifesto::after { border-color:rgba(243,116,33,.10); box-shadow:0 0 0 65px rgba(246,140,31,.03); }
.ab6-manifesto-head h2,.ab6-values-intro h2,.ab6-values-list h3,.ab6-team-head h2,.ab6-person h3 { color:#2b211b; }
.ab6-manifesto-head h2 em,.ab6-signoff strong,.ab6-values-intro h2 em,.ab6-values-list li > span,.ab6-team-head h2 em,.ab6-person > div > span { color:#d95613; }
.ab6-story-copy { border-color:#ead8c8; }
.ab6-story-small { border-color:#fffaf2; }
.ab6-story-visual blockquote { background:linear-gradient(145deg,#f68c1f,#f37421); }
.ab6-impact,.ab6-proof { background:#2b211b; }
.ab6-impact .ab6-index,.ab6-proof .ab6-index,.ab6-proof-copy > a { color:#ffd84a; }
.ab6-impact-intro h2 em,.ab6-impact-numbers strong span,.ab6-proof-copy h2 em { color:#fdcb11; }
.ab6-values { background:#fff3df; }
.ab6-values-list,.ab6-values-list li { border-color:#e9d3b9; }
.ab6-purpose-mission { color:#302218; background:linear-gradient(135deg,#ffe59a,#fdcb11); }
.ab6-purpose-mission > span,.ab6-purpose-mission h2,.ab6-purpose-mission p { color:#39271a; }
.ab6-purpose-vision { background:linear-gradient(145deg,#f68c1f,#f37421); }
.ab6-purpose-vision > span { color:#fff2bf; }
.ab6-belief { background:#241a13; }
.ab6-belief-shade { background:linear-gradient(90deg,rgba(34,20,11,.95),rgba(34,20,11,.74) 49%,rgba(34,20,11,.16)); }
.ab6-belief blockquote > span { color:#ffd84a; }
.ab6-belief footer { border-color:#fdcb11; }
.ab6-team-line { border-color:#e7d8ca; }
.ab6-person figure { background:#f2e8de; }
.ab6-proof-copy > a { border-color:rgba(253,203,17,.46); }
.ab6-proof-list i { color:#2b211b; background:#fdcb11; }
.ab6-close { background:linear-gradient(135deg,#ffe7a2,#fdcb11 56%,#f6a127); }
.ab6-close::before,.ab6-close::after { border-color:rgba(73,43,20,.16); }
.ab6-close-inner > span,.ab6-close h2,.ab6-close p,.ab6-close-inner > div > a:last-child { color:#3a281b; }

@media (max-width:760px) {
  .home-hero-v9-overlay { background:linear-gradient(180deg,rgba(38,23,13,.72),rgba(38,23,13,.30) 46%,rgba(34,20,11,.82)),radial-gradient(circle at 80% 25%,rgba(253,203,17,.10),transparent 30%); }
}
@media (max-width:620px) {
  .sv5-hero-shade { background:linear-gradient(90deg,rgba(38,23,13,.94),rgba(38,23,13,.58)),linear-gradient(0deg,rgba(34,20,11,.92),transparent 55%); }
}
@media (max-width:820px) {
  .ab6-hero-shade { background:linear-gradient(90deg,rgba(38,23,13,.93),rgba(38,23,13,.68) 58%,rgba(38,23,13,.2)),linear-gradient(0deg,rgba(34,20,11,.91),transparent 48%); }
}

/* ================================================================
   Services v6 — editorial directory (hero intentionally unchanged)
   ================================================================ */
.services-v6 { color:#2b211b; background:#fff; }
.sv6-kicker { display:inline-flex; align-items:center; gap:.75rem; color:#c64d0e; font-size:.7rem; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.sv6-kicker::before { content:""; width:32px; height:2px; background:linear-gradient(90deg,#f37421,#fdcb11); }

/* Opening editorial statement */
.sv6-opening { padding:8.5rem 0 9rem; position:relative; overflow:hidden; background:#fffdf9; }
.sv6-opening::before { content:""; width:410px; height:410px; position:absolute; left:-300px; bottom:-160px; border:1px solid rgba(243,116,33,.1); border-radius:50%; box-shadow:0 0 0 65px rgba(246,140,31,.025),0 0 0 130px rgba(253,203,17,.018); }
.sv6-opening-grid { display:grid; grid-template-columns:.88fr 1.12fr; gap:clamp(4rem,8vw,8rem); align-items:center; }
.sv6-opening-copy { position:relative; z-index:1; }
.sv6-opening h2 { max-width:620px; margin-top:1.45rem; color:#2b211b; font-family:"DM Serif Display",Georgia,serif; font-size:clamp(3rem,5vw,5.15rem); font-weight:400; line-height:.94; letter-spacing:-.045em; }
.sv6-opening h2 em { color:#e35d17; font-weight:400; }
.sv6-opening-lead { max-width:570px; margin-top:1.8rem; color:#6c6057; font-size:1.02rem; line-height:1.82; }
.sv6-promises { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:2.5rem; padding-top:2rem; border-top:1px solid #ebddd1; }
.sv6-promises p { display:grid; grid-template-columns:28px 1fr; gap:.7rem; color:#7d7167; font-size:.77rem; line-height:1.55; }
.sv6-promises i { width:24px; height:24px; display:grid; place-items:center; color:#312117; background:#fdcb11; border-radius:50%; font-size:.65rem; font-style:normal; font-weight:900; }
.sv6-promises strong { display:block; margin-bottom:.25rem; color:#33271f; font-size:.88rem; }
.sv6-opening-visual { min-height:590px; position:relative; }
.sv6-opening-visual figure { margin:0; overflow:hidden; }
.sv6-opening-visual img { width:100%; height:100%; object-fit:cover; transition:transform .9s cubic-bezier(.16,1,.3,1); }
.sv6-opening-main { width:78%; height:540px; position:absolute; right:0; top:0; border-radius:180px 12px 180px 12px; }
.sv6-opening-main:hover img,.sv6-opening-small:hover img { transform:scale(1.035); }
.sv6-opening-small { width:220px; height:220px; position:absolute; left:0; bottom:0; border:10px solid #fffdf9; border-radius:50%; box-shadow:0 24px 55px -32px rgba(72,42,20,.48); }
.sv6-opening-note { min-width:230px; display:flex; align-items:center; gap:.8rem; position:absolute; right:-1rem; bottom:1.5rem; padding:1rem 1.25rem; color:#fff; background:linear-gradient(135deg,#f68c1f,#f37421); border-radius:999px 0 0 999px; box-shadow:0 22px 44px -28px rgba(132,54,7,.7); }
.sv6-opening-note span { color:#fdcb11; font-size:1.1rem; }
.sv6-opening-note p { font-family:"DM Serif Display",Georgia,serif; font-size:1.05rem; }

/* Open typographic service directory */
.sv6-directory { padding:9rem 0; position:relative; background:#fff4df; }
.sv6-directory::after { content:"09"; position:absolute; right:-.03em; bottom:-.18em; color:rgba(243,116,33,.055); font-family:"Plus Jakarta Sans",sans-serif; font-size:25rem; font-weight:800; line-height:1; letter-spacing:-.12em; pointer-events:none; }
.sv6-directory-grid { display:grid; grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); gap:clamp(4rem,8vw,8rem); align-items:start; position:relative; z-index:1; }
.sv6-directory-intro { position:sticky; top:140px; }
.sv6-directory-intro h2 { margin-top:1.45rem; color:#2d211a; font-family:"DM Serif Display",Georgia,serif; font-size:clamp(3rem,4.6vw,4.7rem); font-weight:400; line-height:.96; letter-spacing:-.045em; }
.sv6-directory-intro h2 em { color:#df5914; font-weight:400; }
.sv6-directory-intro > p { max-width:430px; margin-top:1.6rem; color:#71645a; font-size:.96rem; line-height:1.78; }
.sv6-text-link { display:inline-flex; align-items:center; gap:.7rem; margin-top:2rem; padding-bottom:.3rem; color:#33261e; font-size:.82rem; font-weight:800; border-bottom:1px solid rgba(51,38,30,.35); transition:gap .25s ease,color .25s ease; }
.sv6-text-link:hover { gap:1rem; color:#d85411; }
.sv6-directory-proof { display:flex; align-items:center; gap:1rem; margin-top:4rem; padding-top:1.5rem; border-top:1px solid #e6cda9; }
.sv6-directory-proof strong { color:#e05b14; font-family:"DM Serif Display",Georgia,serif; font-size:4.4rem; font-weight:400; line-height:.8; }
.sv6-directory-proof span { color:#806f60; font-size:.73rem; font-weight:650; line-height:1.45; text-transform:uppercase; letter-spacing:.08em; }
.sv6-service-list { border-top:1px solid #dcbf98; }
.sv6-service-row { display:grid; grid-template-columns:58px minmax(0,1fr) 52px; gap:1.2rem; align-items:center; min-height:164px; padding:1.8rem .25rem; position:relative; border-bottom:1px solid #dcbf98; isolation:isolate; transition:padding .35s cubic-bezier(.16,1,.3,1); }
.sv6-service-row::before { content:""; position:absolute; inset:0 -1.5rem; z-index:-1; background:linear-gradient(90deg,rgba(253,203,17,.22),rgba(246,140,31,.06)); transform:scaleX(0); transform-origin:right; transition:transform .45s cubic-bezier(.16,1,.3,1); }
.sv6-service-row:hover { padding-left:1rem; }
.sv6-service-row:hover::before { transform:scaleX(1); transform-origin:left; }
.sv6-service-number { align-self:start; padding-top:.25rem; color:#d45a18; font-family:"DM Serif Display",Georgia,serif; font-size:1.05rem; }
.sv6-service-row small { display:block; margin-bottom:.45rem; color:#a16e47; font-size:.63rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.sv6-service-row h3 { color:#30251e; font-family:"DM Serif Display",Georgia,serif; font-size:clamp(1.65rem,2.4vw,2.2rem); font-weight:400; line-height:1.08; letter-spacing:-.025em; }
.sv6-service-row p { max-width:610px; margin-top:.55rem; color:#786b61; font-size:.82rem; line-height:1.65; }
.sv6-service-row > i { width:42px; height:42px; display:grid; place-items:center; justify-self:end; color:#c95115; border:1px solid #d8b98f; border-radius:50%; font-style:normal; transition:transform .3s ease,color .3s ease,background .3s ease,border-color .3s ease; }
.sv6-service-row:hover > i { color:#2b211b; border-color:#fdcb11; background:#fdcb11; transform:rotate(45deg); }

/* Guided start on an immersive image */
.sv6-journey { min-height:760px; display:flex; align-items:center; position:relative; overflow:hidden; color:#fff; background:#271c15; }
.sv6-journey-image,.sv6-journey-shade { position:absolute; inset:0; }
.sv6-journey-image img { width:100%; height:100%; object-fit:cover; object-position:center 44%; filter:saturate(.86); }
.sv6-journey-shade { background:linear-gradient(90deg,rgba(37,23,14,.96) 0%,rgba(37,23,14,.88) 42%,rgba(37,23,14,.46) 68%,rgba(37,23,14,.18)),linear-gradient(0deg,rgba(31,19,12,.76),transparent 50%); }
.sv6-journey .container { width:100%; position:relative; z-index:1; }
.sv6-journey-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(4rem,9vw,9rem); align-items:center; padding:7.5rem 0; }
.sv6-journey .sv6-kicker { color:#ffd84a; }
.sv6-journey-head h2 { max-width:570px; margin-top:1.5rem; color:#fff; font-family:"DM Serif Display",Georgia,serif; font-size:clamp(3.2rem,5vw,5.1rem); font-weight:400; line-height:.95; letter-spacing:-.045em; }
.sv6-journey-head h2 em { color:#fdcb11; font-weight:400; }
.sv6-journey-head > p { max-width:470px; margin-top:1.5rem; color:rgba(255,255,255,.65); line-height:1.75; }
.sv6-steps { margin:0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.2); }
.sv6-steps li { display:grid; grid-template-columns:54px 1fr; gap:1rem; padding:1.6rem 0; border-bottom:1px solid rgba(255,255,255,.2); }
.sv6-steps li > span { width:36px; height:36px; display:grid; place-items:center; color:#2b211b; background:#fdcb11; border-radius:50%; font-size:.66rem; font-weight:800; }
.sv6-steps h3 { color:#fff; font-family:"DM Serif Display",Georgia,serif; font-size:1.45rem; font-weight:400; }
.sv6-steps p { max-width:490px; margin-top:.35rem; color:rgba(255,255,255,.58); font-size:.82rem; line-height:1.65; }

/* Human story */
.sv6-story { padding:9rem 0; overflow:hidden; background:#fffdf9; }
.sv6-story-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(4rem,8vw,8rem); align-items:center; }
.sv6-story-photo { height:590px; margin:0; position:relative; }
.sv6-story-photo::before { content:""; position:absolute; inset:-14px 16px 16px -14px; border:1px solid rgba(243,116,33,.28); border-radius:48% 52% 12px 12px; transform:rotate(-1.5deg); }
.sv6-story-photo img { width:100%; height:100%; position:relative; object-fit:cover; border-radius:48% 52% 12px 12px; }
.sv6-story-photo figcaption { position:absolute; left:2rem; bottom:1.5rem; padding:.6rem 1rem; color:#2b211b; background:#fdcb11; border-radius:999px; font-size:.7rem; font-weight:800; letter-spacing:.06em; }
.sv6-story blockquote { margin:0; }
.sv6-story blockquote > p { max-width:630px; margin-top:1.6rem; color:#30241c; font-family:"DM Serif Display",Georgia,serif; font-size:clamp(2.7rem,4.25vw,4.2rem); line-height:1.05; letter-spacing:-.04em; }
.sv6-story blockquote footer { display:flex; flex-direction:column; gap:.18rem; margin-top:2rem; padding-left:1rem; border-left:2px solid #f37421; }
.sv6-story blockquote footer strong { color:#34271f; font-size:.86rem; }
.sv6-story blockquote footer span { color:#897b70; font-size:.72rem; }

/* Closing invitation */
.sv6-close { padding:8.5rem 0; position:relative; overflow:hidden; background:linear-gradient(125deg,#fdcb11 0%,#f7a11f 48%,#f37421 100%); }
.sv6-close-ring { position:absolute; border:1px solid rgba(53,33,20,.15); border-radius:50%; pointer-events:none; }
.sv6-close-ring-one { width:430px; height:430px; left:-290px; top:-190px; box-shadow:0 0 0 75px rgba(53,33,20,.035),0 0 0 150px rgba(53,33,20,.02); }
.sv6-close-ring-two { width:280px; height:280px; right:-120px; bottom:-170px; }
.sv6-close-inner { position:relative; z-index:1; text-align:center; }
.sv6-close-inner > span { color:#5d361c; font-size:.69rem; font-weight:850; letter-spacing:.17em; text-transform:uppercase; }
.sv6-close h2 { max-width:950px; margin:1.35rem auto 0; color:#2e2119; font-family:"DM Serif Display",Georgia,serif; font-size:clamp(3.3rem,5.4vw,5.5rem); font-weight:400; line-height:.94; letter-spacing:-.05em; }
.sv6-close h2 em { color:#fff8e5; font-weight:400; }
.sv6-close p { max-width:620px; margin:1.5rem auto 0; color:rgba(47,32,23,.72); line-height:1.75; }
.sv6-close-inner > div { display:flex; align-items:center; justify-content:center; gap:1.6rem; margin-top:2.2rem; }
.sv6-close .btn { color:#fff; background:#2d211a; box-shadow:0 18px 36px -22px rgba(49,26,12,.65); }
.sv6-close .btn:hover { color:#fff; background:#463124; transform:translateY(-2px); }
.sv6-close-inner > div > a:last-child { padding-bottom:.25rem; color:#39271c; font-size:.86rem; font-weight:800; border-bottom:1px solid rgba(57,39,28,.4); }

@media (max-width:980px) {
  .sv6-opening-grid,.sv6-directory-grid,.sv6-journey-grid,.sv6-story-grid { gap:4rem; }
  .sv6-opening-main { width:82%; }
  .sv6-service-row { grid-template-columns:46px minmax(0,1fr) 46px; }
}
@media (max-width:820px) {
  .sv6-opening-grid,.sv6-directory-grid,.sv6-journey-grid,.sv6-story-grid { grid-template-columns:1fr; }
  .sv6-opening,.sv6-directory,.sv6-story { padding:6.5rem 0; }
  .sv6-opening-visual { min-height:570px; }
  .sv6-directory-intro { position:static; }
  .sv6-directory-proof { width:min(380px,100%); margin-top:2.5rem; }
  .sv6-journey-shade { background:linear-gradient(180deg,rgba(37,23,14,.84),rgba(37,23,14,.75)),linear-gradient(0deg,rgba(31,19,12,.84),transparent 55%); }
  .sv6-journey-grid { padding:6.5rem 0; }
  .sv6-story-photo { height:520px; }
}
@media (max-width:560px) {
  .sv6-opening,.sv6-directory,.sv6-story,.sv6-close { padding:5.25rem 0; }
  .sv6-opening h2,.sv6-directory-intro h2,.sv6-journey-head h2,.sv6-close h2 { font-size:2.9rem; }
  .sv6-opening-lead { font-size:.92rem; }
  .sv6-promises { grid-template-columns:1fr; gap:1.1rem; }
  .sv6-opening-visual { min-height:455px; }
  .sv6-opening-main { width:88%; height:410px; border-radius:120px 10px 120px 10px; }
  .sv6-opening-small { width:145px; height:145px; border-width:7px; }
  .sv6-opening-note { min-width:190px; right:-1.15rem; bottom:.8rem; padding:.8rem 1rem; }
  .sv6-directory::after { font-size:13rem; }
  .sv6-service-row { grid-template-columns:34px minmax(0,1fr) 38px; gap:.65rem; min-height:0; padding:1.5rem 0; }
  .sv6-service-row::before { inset:0 -.75rem; }
  .sv6-service-row:hover { padding-left:.4rem; }
  .sv6-service-row h3 { font-size:1.55rem; }
  .sv6-service-row p { font-size:.76rem; }
  .sv6-service-row > i { width:34px; height:34px; }
  .sv6-journey { min-height:690px; }
  .sv6-journey-grid { padding:5.5rem 0; }
  .sv6-story-photo { height:410px; }
  .sv6-story blockquote > p { font-size:2.55rem; }
  .sv6-close-inner > div { flex-direction:column; gap:1.1rem; }
}

/* ================================================================
   Services v7 — image-led service catalogue
   ================================================================ */
.sv7-catalog { padding:8.5rem 0 7rem; overflow:hidden; background:#fffdf9; }
.sv7-catalog-head { display:grid; grid-template-columns:1.12fr .88fr; gap:clamp(3rem,8vw,8rem); align-items:end; padding-bottom:4.5rem; }
.sv7-catalog-head h2 { max-width:760px; margin-top:1.45rem; color:#2d211a; font-family:"DM Serif Display",Georgia,serif; font-size:clamp(3.35rem,5.45vw,5.6rem); font-weight:400; line-height:.93; letter-spacing:-.05em; }
.sv7-catalog-head h2 em { color:#df5914; font-weight:400; }
.sv7-catalog-intro { padding-left:1.6rem; border-left:2px solid #f37421; }
.sv7-catalog-intro p { max-width:470px; color:#74675d; font-size:.96rem; line-height:1.78; }
.sv7-catalog-intro a { display:inline-flex; align-items:center; gap:.65rem; margin-top:1.4rem; padding-bottom:.3rem; color:#33261e; font-size:.8rem; font-weight:800; border-bottom:1px solid rgba(51,38,30,.35); transition:gap .25s ease,color .25s ease; }
.sv7-catalog-intro a:hover { gap:.95rem; color:#d75411; }
.sv7-family { padding:5.5rem 0 6.5rem; position:relative; z-index:1; border-top:1px solid #e6d8cb; }
.sv7-family-warm { padding-top:6.5rem; }
.sv7-family-warm::before { content:""; width:100vw; position:absolute; inset:-1px 50% 0 auto; z-index:-1; transform:translateX(50%); background:#fff3df; }
.sv7-family-head { display:grid; grid-template-columns:72px minmax(0,1.3fr) minmax(280px,.7fr); gap:1.7rem; align-items:end; margin-bottom:3rem; }
.sv7-family-head > span { color:#e05b14; font-family:"DM Serif Display",Georgia,serif; font-size:2.5rem; line-height:1; }
.sv7-family-head small { display:block; margin-bottom:.55rem; color:#a16a43; font-size:.66rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.sv7-family-head h3 { max-width:680px; color:#30241d; font-family:"DM Serif Display",Georgia,serif; font-size:clamp(2rem,3.25vw,3.2rem); font-weight:400; line-height:1; letter-spacing:-.035em; }
.sv7-family-head > p { max-width:390px; padding-left:1.25rem; color:#76695f; font-size:.84rem; line-height:1.7; border-left:1px solid #e4c8aa; }
.sv7-gallery { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:1.65rem; align-items:start; }
.sv7-service { grid-column:span 3; min-width:0; display:block; }
.sv7-service.sv7-wide { grid-column:span 6; }
.sv7-service figure { height:330px; margin:0; position:relative; overflow:hidden; background:#eadfd4; border-radius:100px 8px 8px 8px; }
.sv7-service.sv7-wide figure { height:480px; border-radius:8px 150px 8px 8px; }
.sv7-service.sv7-tall figure { height:430px; border-radius:8px 8px 110px 8px; }
.sv7-gallery-two .sv7-service:first-child figure { border-radius:8px 8px 8px 105px; }
.sv7-gallery-three .sv7-wide figure { border-radius:145px 8px 8px 8px; }
.sv7-service figure::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 50%,rgba(35,22,13,.62)); }
.sv7-service img { width:100%; height:100%; object-fit:cover; transition:transform .85s cubic-bezier(.16,1,.3,1),filter .5s ease; }
.sv7-service:hover img { transform:scale(1.045); filter:saturate(1.08); }
.sv7-service figure > span { position:absolute; left:1.2rem; right:1.2rem; bottom:1rem; z-index:1; color:rgba(255,255,255,.88); font-size:.6rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.sv7-service > div { display:grid; grid-template-columns:30px minmax(0,1fr) 38px; gap:.7rem; align-items:start; margin-top:1.25rem; }
.sv7-service > div > span { grid-column:1; grid-row:1 / 3; padding-top:.25rem; color:#d95613; font-family:"DM Serif Display",Georgia,serif; font-size:.9rem; }
.sv7-service h4 { grid-column:2; grid-row:1; color:#30241d; font-family:"DM Serif Display",Georgia,serif; font-size:1.45rem; font-weight:400; line-height:1.08; letter-spacing:-.025em; transition:color .25s ease; }
.sv7-wide h4 { font-size:1.8rem; }
.sv7-service p { grid-column:2; grid-row:2; max-width:520px; margin-top:.45rem; color:#7b6e64; font-size:.76rem; line-height:1.58; }
.sv7-service i { width:34px; height:34px; grid-column:3; grid-row:1 / 3; align-self:center; display:grid; place-items:center; justify-self:end; color:#cc5214; border:1px solid #dfc9b6; border-radius:50%; font-style:normal; transition:transform .3s ease,background .3s ease,color .3s ease,border-color .3s ease; }
.sv7-service:hover h4 { color:#d95613; }
.sv7-service:hover i { color:#30241d; border-color:#fdcb11; background:#fdcb11; transform:rotate(45deg); }

@media (max-width:980px) {
  .sv7-catalog-head { gap:3.5rem; }
  .sv7-family-head { grid-template-columns:58px minmax(0,1fr); }
  .sv7-family-head > p { grid-column:2; max-width:620px; padding-left:0; border-left:0; }
  .sv7-service { grid-column:span 6; }
  .sv7-service.sv7-wide { grid-column:span 12; }
  .sv7-service figure,.sv7-service.sv7-tall figure { height:400px; }
  .sv7-service.sv7-wide figure { height:500px; }
}
@media (max-width:760px) {
  .sv7-catalog { padding:6rem 0 5rem; }
  .sv7-catalog-head { grid-template-columns:1fr; gap:2rem; padding-bottom:3.5rem; }
  .sv7-catalog-intro { max-width:600px; }
  .sv7-family { padding:4rem 0 4.5rem; }
  .sv7-family-head { grid-template-columns:44px minmax(0,1fr); gap:1rem; }
  .sv7-family-head > span { font-size:1.7rem; }
  .sv7-gallery { gap:3rem 1rem; }
  .sv7-service,.sv7-service.sv7-wide { grid-column:span 12; }
  .sv7-service figure,.sv7-service.sv7-tall figure,.sv7-service.sv7-wide figure { height:470px; border-radius:90px 8px 90px 8px; }
  .sv7-service > div { grid-template-columns:28px minmax(0,1fr) 36px; }
  .sv7-wide h4,.sv7-service h4 { font-size:1.65rem; }
}
@media (max-width:480px) {
  .sv7-catalog { padding-top:5rem; }
  .sv7-catalog-head h2 { font-size:3.05rem; }
  .sv7-catalog-intro { padding-left:1rem; }
  .sv7-family-head { margin-bottom:2.2rem; }
  .sv7-family-head h3 { font-size:2.2rem; }
  .sv7-family-head > p { grid-column:1 / -1; }
  .sv7-gallery { gap:2.7rem; }
  .sv7-service figure,.sv7-service.sv7-tall figure,.sv7-service.sv7-wide figure { height:360px; border-radius:70px 8px 70px 8px; }
  .sv7-service p { font-size:.78rem; }
}

/* ================================================================
   Services v8 — refined editorial image presentation
   ================================================================ */
.sv7-service {
  --image-accent:rgba(246,140,31,.2);
  position:relative;
  isolation:isolate;
}
.sv7-service:nth-child(2) { --image-accent:rgba(253,203,17,.22); }
.sv7-service:nth-child(3) { --image-accent:rgba(223,89,20,.17); }
.sv7-service::before {
  content:"";
  width:62%;
  aspect-ratio:1;
  position:absolute;
  top:12%;
  right:-8%;
  z-index:-1;
  border-radius:50%;
  background:radial-gradient(circle,var(--image-accent),transparent 68%);
  filter:blur(7px);
  pointer-events:none;
}
.sv7-service figure,
.sv7-service.sv7-wide figure,
.sv7-service.sv7-tall figure {
  border:6px solid rgba(255,255,255,.96);
  box-shadow:0 26px 55px rgba(72,45,26,.13),0 4px 14px rgba(72,45,26,.07),12px 13px 0 -5px var(--image-accent);
  transform:translate3d(0,0,0);
  transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .55s cubic-bezier(.16,1,.3,1);
}
.sv7-gallery-one .sv7-wide figure { border-radius:155px 18px 95px 18px; }
.sv7-gallery-one .sv7-tall figure { border-radius:18px 145px 18px 80px; }
.sv7-gallery-one .sv7-service:nth-child(3) figure { border-radius:88px 18px 88px 18px; }
.sv7-gallery-two .sv7-service:first-child figure { border-radius:18px 92px 18px 120px; }
.sv7-gallery-two .sv7-wide figure { border-radius:18px 155px 18px 100px; }
.sv7-gallery-two .sv7-tall figure { border-radius:120px 18px 85px 18px; }
.sv7-gallery-three .sv7-tall figure { border-radius:115px 18px 18px 88px; }
.sv7-gallery-three .sv7-service:nth-child(2) figure { border-radius:18px 105px 105px 18px; }
.sv7-gallery-three .sv7-wide figure { border-radius:145px 18px 95px 18px; }
.sv7-service figure::before {
  content:"";
  position:absolute;
  inset:12px;
  z-index:2;
  border:1px solid rgba(255,255,255,.42);
  border-radius:inherit;
  pointer-events:none;
}
.sv7-service figure::after {
  background:linear-gradient(180deg,rgba(24,15,10,.02) 35%,rgba(35,22,13,.7) 100%);
}
.sv7-service img {
  transform:scale(1.015);
  filter:saturate(.96) contrast(1.02);
}
.sv7-service figure > span {
  width:max-content;
  max-width:calc(100% - 2.4rem);
  right:auto;
  bottom:1.25rem;
  padding:.55rem .75rem;
  color:#fff;
  background:rgba(36,25,18,.4);
  border:1px solid rgba(255,255,255,.26);
  border-radius:999px;
  box-shadow:0 8px 22px rgba(0,0,0,.12);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}
.sv7-service:hover figure {
  transform:translate3d(0,-9px,0);
  box-shadow:0 35px 72px rgba(72,45,26,.18),0 7px 18px rgba(72,45,26,.08),15px 16px 0 -5px var(--image-accent);
}
.sv7-service:hover img { transform:scale(1.075); filter:saturate(1.08) contrast(1.025); }
.sv7-gallery-one .sv7-service:nth-child(2),
.sv7-gallery-three .sv7-service:nth-child(2) { margin-top:2.7rem; }
.sv7-gallery-two .sv7-service:first-child,
.sv7-gallery-two .sv7-service:nth-child(3) { margin-top:2.2rem; }

@media (max-width:980px) {
  .sv7-gallery-one .sv7-service:nth-child(2),
  .sv7-gallery-three .sv7-service:nth-child(2),
  .sv7-gallery-two .sv7-service:first-child,
  .sv7-gallery-two .sv7-service:nth-child(3) { margin-top:0; }
}
@media (max-width:760px) {
  .sv7-service figure,
  .sv7-service.sv7-wide figure,
  .sv7-service.sv7-tall figure { border-width:5px; box-shadow:0 20px 42px rgba(72,45,26,.13),8px 9px 0 -4px var(--image-accent); }
  .sv7-gallery-one .sv7-wide figure,
  .sv7-gallery-one .sv7-tall figure,
  .sv7-gallery-one .sv7-service:nth-child(3) figure,
  .sv7-gallery-two .sv7-service:first-child figure,
  .sv7-gallery-two .sv7-wide figure,
  .sv7-gallery-two .sv7-tall figure,
  .sv7-gallery-three .sv7-tall figure,
  .sv7-gallery-three .sv7-service:nth-child(2) figure,
  .sv7-gallery-three .sv7-wide figure { border-radius:82px 18px 82px 18px; }
  .sv7-service figure::before { inset:9px; }
  .sv7-service:hover figure { transform:translate3d(0,-4px,0); }
}
@media (prefers-reduced-motion:reduce) {
  .sv7-service figure,.sv7-service img { transition:none; }
  .sv7-service:hover figure { transform:none; }
}

/* ================================================================
   Services v9 — cinematic cut-corner image treatment
   ================================================================ */
.sv7-service {
  --cut:polygon(0 0,92% 0,100% 13%,100% 100%,8% 100%,0 87%);
  --image-accent:#fdcb11;
}
.sv7-service:nth-child(2) {
  --cut:polygon(9% 0,100% 0,100% 87%,91% 100%,0 100%,0 13%);
  --image-accent:#f68c1f;
}
.sv7-service:nth-child(3) {
  --cut:polygon(0 0,100% 0,100% 100%,14% 100%,0 83%);
  --image-accent:#f37421;
}
.sv7-service::before {
  width:calc(100% - 8px);
  height:330px;
  aspect-ratio:auto;
  top:13px;
  right:-13px;
  left:auto;
  border-radius:0;
  background:linear-gradient(145deg,var(--image-accent),#ffd96a);
  clip-path:var(--cut);
  filter:none;
  opacity:.36;
}
.sv7-service.sv7-wide::before { height:480px; }
.sv7-service.sv7-tall::before { height:430px; }
.sv7-service figure,
.sv7-service.sv7-wide figure,
.sv7-service.sv7-tall figure,
.sv7-gallery-one .sv7-wide figure,
.sv7-gallery-one .sv7-tall figure,
.sv7-gallery-one .sv7-service:nth-child(3) figure,
.sv7-gallery-two .sv7-service:first-child figure,
.sv7-gallery-two .sv7-wide figure,
.sv7-gallery-two .sv7-tall figure,
.sv7-gallery-three .sv7-tall figure,
.sv7-gallery-three .sv7-service:nth-child(2) figure,
.sv7-gallery-three .sv7-wide figure {
  border:0;
  border-radius:0;
  clip-path:var(--cut);
  box-shadow:0 28px 58px rgba(58,35,20,.16);
}
.sv7-service figure::before {
  inset:14px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:0;
  clip-path:var(--cut);
}
.sv7-service figure::after {
  background:linear-gradient(180deg,rgba(24,15,10,.02) 40%,rgba(29,18,11,.76) 100%);
}
.sv7-service figure > span {
  left:1.35rem;
  bottom:1.25rem;
  max-width:calc(100% - 2.7rem);
  padding:.15rem 0 .15rem .7rem;
  color:#fff;
  background:transparent;
  border:0;
  border-left:3px solid var(--image-accent);
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.sv7-service img { transform:scale(1.02); }
.sv7-service:hover figure {
  transform:translate3d(-5px,-7px,0);
  box-shadow:0 38px 72px rgba(58,35,20,.2);
}
.sv7-service:hover img { transform:scale(1.065); }

@media (max-width:980px) {
  .sv7-service::before,
  .sv7-service.sv7-tall::before { height:400px; }
  .sv7-service.sv7-wide::before { height:500px; }
}
@media (max-width:760px) {
  .sv7-service { --cut:polygon(0 0,92% 0,100% 9%,100% 100%,8% 100%,0 91%); }
  .sv7-service:nth-child(even) { --cut:polygon(8% 0,100% 0,100% 91%,92% 100%,0 100%,0 9%); }
  .sv7-service::before,
  .sv7-service.sv7-tall::before,
  .sv7-service.sv7-wide::before { height:470px; top:9px; right:-8px; }
  .sv7-service figure,
  .sv7-service.sv7-wide figure,
  .sv7-service.sv7-tall figure { border:0; box-shadow:0 21px 44px rgba(58,35,20,.15); }
  .sv7-service figure::before { inset:10px; }
}
@media (max-width:480px) {
  .sv7-service::before,
  .sv7-service.sv7-tall::before,
  .sv7-service.sv7-wide::before { height:360px; }
}

/* Official NDIS Registered Provider badge */
.ftr-ndis.ndis-provider-badge {
  display: block;
  width: min(100%, 255px);
  padding: 0.55rem;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 16px;
  box-shadow: 0 16px 35px rgba(0,0,0,.2);
}
.ftr-brand .ftr-ndis-logo {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border-radius: 10px;
}
@media (max-width:600px) {
  .ftr-ndis.ndis-provider-badge { width: min(100%, 280px); }
}

/* About — featured First Nations artwork */
.ab6-culture {
  position: relative;
  overflow: hidden;
  padding: 8rem 0;
  color: #fff;
  background: #201914;
}
.ab6-culture::before,
.ab6-culture::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(253,203,17,.14);
  border-radius: 50%;
  pointer-events: none;
}
.ab6-culture::before {
  width: 520px;
  height: 520px;
  left: -340px;
  top: -310px;
  box-shadow: 0 0 0 70px rgba(243,116,33,.035);
}
.ab6-culture::after {
  width: 280px;
  height: 280px;
  right: -180px;
  bottom: -170px;
  box-shadow: 0 0 0 45px rgba(42,214,189,.025);
}
.ab6-culture-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: clamp(3.5rem,7vw,7rem);
  align-items: center;
  margin-top: 5.5rem;
  padding-top: 5.5rem;
  border-top: 1px solid rgba(255,255,255,.13);
}
.ab6-culture .ab6-index { color: #65ded3; }
.ab6-acknowledgement-head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .6fr 1.05fr 1.35fr;
  gap: clamp(2rem,5vw,5rem);
  align-items: start;
}
.ab6-acknowledgement-kicker {
  color: #f8a72a;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.ab6-acknowledgement-head h2 {
  margin-top: 1rem;
  color: #fff;
  font-size: clamp(2.8rem,4.25vw,4.45rem);
  line-height: 1;
  letter-spacing: -.06em;
}
.ab6-acknowledgement-head h2 em { color: #fdcb11; }
.ab6-acknowledgement-copy {
  padding-left: 1.5rem;
  border-left: 1px solid rgba(255,255,255,.16);
}
.ab6-acknowledgement-copy p {
  color: rgba(255,255,255,.7);
  font-size: .94rem;
  line-height: 1.82;
}
.ab6-acknowledgement-copy p + p { margin-top: 1rem; }
.ab6-culture-kicker {
  color: #f8a72a;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.ab6-culture-copy h3 {
  margin-top: 1rem;
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: clamp(2.75rem,4vw,4.25rem);
  line-height: 1.02;
  letter-spacing: -.055em;
}
.ab6-culture-copy h3 em {
  color: #fdcb11;
  font-family: "DM Serif Display", Georgia, serif;
  font-weight: 400;
}
.ab6-culture-copy h3 span {
  color: rgba(255,255,255,.78);
  font-family: "DM Serif Display", Georgia, serif;
  font-weight: 400;
}
.ab6-culture-artist {
  display: flex;
  flex-direction: column;
  gap: .28rem;
  margin-top: 1.7rem;
  padding-left: 1rem;
  border-left: 3px solid #2ad6bd;
}
.ab6-culture-artist strong { color: #fff; font-size: .96rem; }
.ab6-culture-artist span { color: rgba(255,255,255,.55); font-size: .76rem; line-height: 1.5; }
.ab6-culture blockquote {
  margin: 2rem 0 0;
  color: rgba(255,255,255,.7);
  font-size: .91rem;
  line-height: 1.78;
}
.ab6-culture blockquote p + p { margin-top: 1rem; }
.ab6-culture-copy > a {
  display: inline-flex;
  gap: .65rem;
  margin-top: 2rem;
  padding-bottom: .35rem;
  color: #fdcb11;
  font-size: .78rem;
  font-weight: 800;
  border-bottom: 1px solid rgba(253,203,17,.48);
}
.ab6-culture-art {
  position: relative;
  aspect-ratio: 3 / 2;
  margin: 0;
  overflow: hidden;
  background: #090806;
  box-shadow: 18px 18px 0 #f37421, 0 34px 70px -38px rgba(0,0,0,.72);
}
.ab6-culture-art img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: top;
}
.ab6-culture-art figcaption {
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  padding: .65rem .85rem;
  color: rgba(255,255,255,.82);
  background: rgba(18,13,10,.8);
  border: 1px solid rgba(255,255,255,.13);
  font-size: .67rem;
  letter-spacing: .02em;
  backdrop-filter: blur(10px);
}
@media (max-width:900px) {
  .ab6-culture { padding: 6rem 0; }
  .ab6-acknowledgement-head { grid-template-columns: 1fr; }
  .ab6-acknowledgement-copy { max-width: 720px; padding: 1.8rem 0 0; border-top: 1px solid rgba(255,255,255,.16); border-left: 0; }
  .ab6-culture-grid { grid-template-columns: 1fr; }
  .ab6-culture-copy { max-width: 720px; }
  .ab6-culture-art { width: calc(100% - 18px); }
}
@media (max-width:560px) {
  .ab6-culture { padding: 5rem 0; }
  .ab6-acknowledgement-head h2 { font-size: 2.7rem; }
  .ab6-culture-grid { gap: 3rem; margin-top: 4rem; padding-top: 4rem; }
  .ab6-culture-copy h3 { font-size: 2.6rem; }
  .ab6-culture blockquote { font-size: .86rem; }
  .ab6-culture-art { box-shadow: 10px 10px 0 #f37421, 0 24px 55px -35px rgba(0,0,0,.72); }
  .ab6-culture-art figcaption { left: .6rem; right: .6rem; bottom: .6rem; font-size: .61rem; }
}

/* Site-wide Acknowledgement of Country */
.site-country-acknowledgement {
  position: relative;
  color: #fff;
  background: #17120f;
  border-top: 1px solid rgba(253,203,17,.26);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.site-country-acknowledgement::before {
  content: "";
  width: 160px;
  height: 160px;
  position: absolute;
  right: 6%;
  top: -80px;
  border: 1px solid rgba(42,214,189,.13);
  border-radius: 50%;
  box-shadow: 0 0 0 30px rgba(243,116,33,.025);
  pointer-events: none;
}
.site-country-acknowledgement-inner {
  position: relative;
  display: grid;
  grid-template-columns: .7fr 2fr auto;
  gap: clamp(1.5rem,4vw,4rem);
  align-items: center;
  padding-top: 2.4rem;
  padding-bottom: 2.4rem;
}
.site-country-acknowledgement h2 {
  color: #fdcb11;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.45;
  text-transform: uppercase;
}
.site-country-acknowledgement p {
  max-width: 790px;
  color: rgba(255,255,255,.68);
  font-size: .83rem;
  line-height: 1.75;
}
.site-country-acknowledgement a {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding-bottom: .3rem;
  color: #65ded3;
  border-bottom: 1px solid rgba(101,222,211,.42);
  font-size: .74rem;
  font-weight: 800;
  white-space: nowrap;
}
@media (max-width:900px) {
  .site-country-acknowledgement-inner { grid-template-columns: 1fr; gap: 1rem; }
  .site-country-acknowledgement p { max-width: 860px; }
  .site-country-acknowledgement a { width: fit-content; margin-top: .35rem; }
}

/* Footer image treatment — scenic background with accessible overlay */
.footer-v2 {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: rgba(255,255,255,.82);
  background-color: #171b18;
  background-image: url("assets/about-community.jpg");
  background-repeat: no-repeat;
  background-position: center 48%;
  background-size: cover;
}
.footer-v2::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(17,22,19,.90) 0%, rgba(23,28,23,.76) 48%, rgba(23,25,20,.64) 100%),
    linear-gradient(180deg, rgba(13,20,17,.04) 0%, rgba(16,17,14,.58) 100%);
  pointer-events: none;
}
.footer-v2 > * {
  position: relative;
  z-index: 1;
}
.footer-v2 .footer-glow-bar {
  height: 5px;
  background: linear-gradient(90deg, #f37421 0%, #fdcb11 45%, #2ad6bd 100%);
  box-shadow: 0 0 28px rgba(253,203,17,.32);
}
.footer-v2 .footer-body {
  padding: clamp(4.5rem,7vw,6.5rem) 0 clamp(4rem,6vw,5.5rem);
}
.footer-v2 .ftr-grid {
  align-items: start;
  gap: clamp(2.25rem,4vw,4.5rem);
}
.footer-v2 .ftr-brand > a:first-child {
  width: min(100%, 190px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  padding: .6rem 1rem;
  border: 1px solid rgba(255,255,255,.58);
  border-radius: 13px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 14px 30px -22px rgba(0,0,0,.8);
}
.footer-v2 .ftr-brand > a:first-child img {
  width: 150px;
  height: auto;
  margin: 0;
  filter: none;
}
.footer-v2 .ftr-brand img {
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.22));
}
.footer-v2 .ftr-brand > p {
  max-width: 250px;
  color: #fff;
  font-size: .96rem;
  font-weight: 600;
  text-shadow: 0 2px 10px rgba(0,0,0,.9), 0 0 24px rgba(0,0,0,.62);
}
.footer-v2 .ftr-nav,
.footer-v2 .ftr-contact {
  padding-left: 1.5rem;
  border-left: 1px solid rgba(255,255,255,.22);
}
.footer-v2 .ftr-nav h4,
.footer-v2 .ftr-contact h4 {
  position: relative;
  padding-bottom: .8rem;
  color: #fff;
  text-shadow: 0 2px 14px rgba(0,0,0,.32);
}
.footer-v2 .ftr-nav h4::after,
.footer-v2 .ftr-contact h4::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 34px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #fdcb11, #f37421);
}
.footer-v2 .ftr-nav a,
.footer-v2 .ftr-contact-list li {
  color: #fff;
  font-family: "Plus Jakarta Sans", "Inter", sans-serif;
  font-size: .91rem;
  font-weight: 600;
  line-height: 1.55;
  text-shadow: 0 2px 10px rgba(0,0,0,.96), 0 0 22px rgba(0,0,0,.72);
}
.footer-v2 .ftr-nav a:hover {
  color: #fdcb11;
}
.footer-v2 .ftr-social-icon,
.footer-v2 .ftr-cico {
  color: #fff;
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  box-shadow: 0 8px 22px -14px rgba(0,0,0,.72);
  backdrop-filter: blur(10px);
}
.footer-v2 .ftr-social-icon:hover {
  color: #211910;
  background: linear-gradient(135deg, #fdcb11, #f37421);
}
.footer-v2 .ftr-ndis {
  background: rgba(255,255,255,.94);
  border-color: rgba(255,255,255,.44);
  box-shadow: 0 18px 38px -24px rgba(0,0,0,.78);
  backdrop-filter: blur(12px);
}
.footer-v2 .ftr-cta {
  box-shadow: 0 14px 30px -18px rgba(253,203,17,.64);
}
.footer-v2 .footer-bottom-bar {
  background: rgba(10,13,11,.76);
  border-top-color: rgba(255,255,255,.14);
  backdrop-filter: blur(12px);
}
.footer-v2 .ftr-bottom,
.footer-v2 .ftr-legal a {
  color: rgba(255,255,255,.63);
}

@media (max-width:1050px) {
  .footer-v2 {
    background-position: 62% center;
  }
}

/* ================================================================
   Custom 404 page
   ================================================================ */
.error-page {
  min-height: 100vh;
  display: grid;
  grid-template-rows: auto 1fr auto;
  overflow-x: hidden;
  color: #fff;
  background: #17130f;
}
.error-skip {
  position: fixed;
  z-index: 100;
  top: 1rem;
  left: 1rem;
  padding: .75rem 1rem;
  color: #17130f;
  background: #fdcb11;
  border-radius: 8px;
  font-weight: 800;
  transform: translateY(-160%);
  transition: transform .2s ease;
}
.error-skip:focus { transform: translateY(0); }
.error-header {
  position: relative;
  z-index: 10;
  color: #241c17;
  background: rgba(255,252,247,.96);
  border-top: 4px solid #f37421;
  box-shadow: 0 12px 35px rgba(22,15,10,.12);
}
.error-header-inner {
  min-height: 104px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.error-logo {
  width: 164px;
  display: inline-flex;
  align-items: center;
}
.error-logo img { width: 100%; height: auto; display: block; }
.error-header-actions { display: flex; align-items: center; gap: 1.4rem; }
.error-phone { color: #332a24; font-weight: 800; }
.error-phone span { color: #f37421; }
.error-main {
  min-height: 660px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.error-bg,
.error-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.error-bg { z-index: -3; object-fit: cover; object-position: center 42%; }
.error-overlay {
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(18,15,12,.97) 0%, rgba(22,18,14,.89) 48%, rgba(20,17,14,.68) 100%),
    linear-gradient(180deg, rgba(10,8,6,.18), rgba(14,10,7,.82));
}
.error-orbit {
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(253,203,17,.17);
  border-radius: 50%;
  pointer-events: none;
}
.error-orbit-one { width: 430px; height: 430px; right: -110px; top: -130px; }
.error-orbit-two { width: 270px; height: 270px; right: 80px; bottom: -150px; border-color: rgba(42,214,189,.18); }
.error-content {
  display: grid;
  grid-template-columns: minmax(0,1.45fr) minmax(300px,.7fr);
  align-items: end;
  gap: clamp(3rem,8vw,8rem);
  padding-top: clamp(4.5rem,8vw,7rem);
  padding-bottom: clamp(4.5rem,8vw,7rem);
}
.error-copy { min-width: 0; max-width: 760px; }
.error-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  color: #fdcb11;
  font-size: .77rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.error-eyebrow i { width: 42px; height: 2px; display: block; background: linear-gradient(90deg,#fdcb11,#f37421); }
.error-code {
  margin: .6rem 0 -1.25rem;
  color: transparent;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: clamp(7.5rem,16vw,13.5rem);
  font-weight: 800;
  letter-spacing: -.09em;
  line-height: .85;
  -webkit-text-stroke: 2px rgba(255,255,255,.17);
  user-select: none;
}
.error-copy h1 {
  max-width: 780px;
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: clamp(2.6rem,5vw,5rem);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: .98;
  text-shadow: 0 8px 35px rgba(0,0,0,.48);
}
.error-copy h1 em { color: #fdcb11; font-style: normal; }
.error-message {
  max-width: 620px;
  margin-top: 1.75rem;
  color: rgba(255,255,255,.79);
  font-size: clamp(.98rem,1.4vw,1.08rem);
  line-height: 1.8;
}
.error-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.6rem; margin-top: 2.25rem; }
.error-home-btn {
  color: #24190e;
  background: linear-gradient(135deg,#fdcb11,#f37421);
  box-shadow: 0 16px 34px -18px rgba(253,203,17,.7);
}
.error-services-link {
  display: inline-flex;
  gap: .65rem;
  padding-bottom: .35rem;
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.45);
  font-weight: 800;
}
.error-help {
  min-width: 0;
  padding: 1.6rem;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 18px;
  background: rgba(17,14,11,.62);
  box-shadow: 0 24px 55px -30px rgba(0,0,0,.9);
  backdrop-filter: blur(12px);
}
.error-help > p {
  margin-bottom: .9rem;
  color: rgba(255,255,255,.62);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.error-help-links { display: grid; }
.error-help-links a {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  align-items: center;
  gap: .5rem;
  padding: 1rem 0;
  color: #fff;
  border-top: 1px solid rgba(255,255,255,.12);
  font-weight: 700;
  transition: color .2s ease, padding-left .2s ease;
}
.error-help-links a:hover { color: #fdcb11; padding-left: .35rem; }
.error-help-links span { color: #2ad6bd; font-size: .68rem; letter-spacing: .08em; }
.error-help-links b { font-size: .9rem; font-weight: 500; }
.error-footer { color: rgba(255,255,255,.58); background: #100d0a; border-top: 1px solid rgba(255,255,255,.09); }
.error-footer-inner {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .75rem 2rem;
  font-size: .78rem;
}
.error-footer a { color: rgba(255,255,255,.75); }
.error-footer a:hover { color: #fdcb11; }

@media (max-width:900px) {
  .error-content { grid-template-columns: 1fr; align-items: start; gap: 3.5rem; }
  .error-help { max-width: 620px; }
}
@media (max-width:600px) {
  .error-header-inner { min-height: 86px; gap: .75rem; }
  .error-logo { width: 118px; flex: 0 0 auto; }
  .error-header-actions { min-width: 0; gap: 0; }
  .error-phone { display: none; }
  .error-header-actions .btn { padding: .62rem .82rem; font-size: .7rem; white-space: nowrap; }
  .error-main { min-height: 700px; }
  .error-bg { object-position: 42% center; }
  .error-overlay { background: linear-gradient(180deg,rgba(18,15,12,.88),rgba(14,10,7,.94)); }
  .error-content { width: 100%; min-width: 0; padding-left: 1.25rem; padding-right: 1.25rem; }
  .error-code { margin-bottom: -.35rem; font-size: 7rem; }
  .error-copy h1 { max-width: min(100%,340px); font-size: clamp(2.05rem,10vw,2.65rem); overflow-wrap: anywhere; }
  .error-message { max-width: min(100%,340px); margin-top: 1.35rem; overflow-wrap: anywhere; }
  .error-actions { align-items: flex-start; flex-direction: column; gap: 1.25rem; }
  .error-footer-inner { padding-top: 1.2rem; padding-bottom: 1.2rem; flex-direction: column; align-items: flex-start; }
}
@media (max-width:430px) {
  .error-header-inner { justify-content: center; }
  .error-header-actions { display: none; }
}
@media (max-width:600px) {
  .footer-v2 {
    background-position: 68% center;
  }
  .footer-v2::before {
    background:
      linear-gradient(90deg, rgba(16,21,18,.84), rgba(20,24,20,.72)),
      linear-gradient(180deg, rgba(13,20,17,.08), rgba(14,15,13,.72));
  }
  .footer-v2 .ftr-nav,
  .footer-v2 .ftr-contact {
    padding-top: 1.4rem;
    padding-left: 0;
    border-top: 1px solid rgba(255,255,255,.22);
    border-left: 0;
  }
}
