
/* =============================================
   TOKENS — derived from actual logo palette
   ============================================= */
:root {
  --orange:      #E8521A;
  --orange-lt:   #FEF0E8;
  --orange-dk:   #C03F0F;
  --green:       #2E6B1F;
  --green-lt:    #EAF3E6;
  --green-mid:   #7DC22A;
  --green-dk:    #1E4A12;
  --red-logo:    #C8202A;
  --warm:        #FAF8F5;
  --ink:         #1A1A1A;
  --ink-mid:     #4A4A4A;
  --ink-lt:      #888;
  --white:       #FFFFFF;
  --border:      rgba(46,107,31,0.12);

  --ff-display: 'DM Serif Display', Georgia, serif;
  --ff-body:    'Inter', system-ui, sans-serif;

  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 22px;
  --r-xl: 40px;

  --max-w: 1120px;
  --max-w-wide: 1440px;
  --px: clamp(1.25rem, 5vw, 4rem);
  --px-wide: clamp(1.5rem, 6vw, 5rem);
  --gap: clamp(3.5rem, 8vw, 7rem);
}

/* =============================================
   RESET
   ============================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--ff-body); background: var(--white); color: var(--ink); line-height: 1.7; font-size: 16px; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
ul { list-style: none; }

/* =============================================
   PAGES — show/hide
   ============================================= */
.page {
  display: block;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  transition: opacity 220ms ease;
}
.page.active {
  opacity: 1;
  pointer-events: all;
  position: relative;
  height: auto;
  overflow: visible;
  visibility: visible;
  z-index: 1;
  transition: opacity 280ms ease;
}

/* =============================================
   ANIMATIONS
   ============================================= */
@keyframes fadeUp   { from { opacity:0; transform:translateY(26px); } to { opacity:1; transform:none; } }
@keyframes scaleIn  { from { opacity:0; transform:scale(0.96); } to { opacity:1; transform:scale(1); } }
@keyframes float    { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-7px);} }
@keyframes ring     { 0%{transform:scale(.9);opacity:.7;} 100%{transform:scale(1.55);opacity:0;} }
@keyframes barIn    { from{transform:scaleX(0);} to{transform:scaleX(1);} }
@keyframes gradFlow { 0%{background-position:0% 50%;} 100%{background-position:200% 50%;} }

.reveal { opacity:0; transform:translateY(14px); transition: opacity .5s cubic-bezier(.16,1,.3,1), transform .5s cubic-bezier(.16,1,.3,1); }
.reveal.in { opacity:1; transform:none; }
.d1{transition-delay:.1s;} .d2{transition-delay:.2s;} .d3{transition-delay:.3s;} .d4{transition-delay:.4s;}

@media (prefers-reduced-motion: reduce) { .reveal { transition:none!important; animation:none!important; opacity:1!important; transform:none!important; } }

/* =============================================
   UTILITIES
   ============================================= */
.container { margin:0 auto; padding:0 var(--px); }
.eyebrow { font-size:10.5px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--orange); }
.display { font-family:var(--ff-display); font-size:clamp(2.6rem,5.2vw,4.4rem); line-height:1.08; letter-spacing:-.02em; color:var(--ink); }
.h2 { font-family:var(--ff-display); font-size:clamp(1.7rem,3.2vw,2.7rem); line-height:1.15; letter-spacing:-.015em; color:var(--ink); }
.body-lg { font-size:clamp(.95rem,1.4vw,1.075rem); color:var(--ink-mid); line-height:1.78; }

/* =============================================
   BUTTONS
   ============================================= */
.btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 26px; border-radius:100px;
  font-size:14px; font-weight:600; line-height:1;
  transition: transform .18s, box-shadow .18s, background .18s, color .18s;
}
.btn:active { transform:scale(.98)!important; }
.btn svg { width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:2.5; flex-shrink:0; }

.btn-primary {
  background: linear-gradient(135deg, var(--orange) 0%, #F5720A 100%);
  color: white;
}
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(232,82,26,.3); }

.btn-outline {
  border: 1.5px solid rgba(0,0,0,.15);
  color: var(--ink);
}
.btn-outline:hover { border-color:var(--orange); color:var(--orange); background:var(--orange-lt); transform:translateY(-1px); }

.btn-green {
  background: var(--green);
  color: white;
}
.btn-green:hover { background:var(--green-dk); transform:translateY(-2px); box-shadow:0 8px 24px rgba(46,107,31,.3); }

.btn-white {
  background: white;
  color: var(--green);
}
.btn-white:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.15); }

/* =============================================
   NAV
   ============================================= */

.logo {
  display:flex; align-items:center; gap:10px;
  font-weight:700; font-size:15px; letter-spacing:-.01em;
  flex-shrink:0;
}
.logo-img {
  width:48px; height:48px; flex-shrink:0;
}
.logo-text-goto { color:var(--orange); }
.logo-text-health { color:var(--green); }

.nav-links { display:flex; align-items:center; gap:.1rem; }
.nav-links a {
  padding:7px 13px; border-radius:6px;
  font-size:13.5px; font-weight:500; color:var(--ink-mid);
  transition:color .2s, background .2s;
}
.nav-links a:hover, .nav-links a.active-link { color:var(--ink); background:rgba(0,0,0,.04); }
.nav-links a.active-link { color:var(--orange); }
.nav-book {
  background:var(--orange); color:white;
  padding:9px 18px; border-radius:100px;
  font-size:13px; font-weight:600; line-height:1;
  transition:background .2s, transform .15s;
  white-space:nowrap;
}
.nav-book:hover { background:var(--orange-dk); transform:translateY(-1px); }
.nav-tel {
  font-size:13px; font-weight:500; color:var(--ink-mid);
  display:flex; align-items:center; gap:5px;
  transition:color .2s;
}
.nav-tel:hover { color:var(--orange); }
.nav-tel svg { width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:2; }
.hamburger { display:none; flex-direction:column; gap:4.5px; padding:8px; border-radius:6px; transition:background .2s; }
.hamburger:hover { background:rgba(0,0,0,.05); }
.hamburger span { display:block; width:20px; height:2px; background:#fff; border-radius:2px; }

/* =============================================
   MOBILE NAV
   ============================================= */
/* =============================================
   PAGE HERO — shared
   ============================================= */
.page-hero {
  padding: calc(66px + 4rem) var(--px) 4rem;
  background: var(--warm);
  border-bottom: 1px solid var(--border);
}
.page-hero-inner { margin:0 auto; }
.page-hero .eyebrow { margin-bottom:1rem; }
.page-hero .h2 { margin-bottom:1rem; }
.page-hero .body-lg { max-width:580px; }

/* =============================================
   HOME — HERO
   ============================================= */
.hero {
  min-height:74vh; display:flex; align-items:center;
  padding-top:66px; background:var(--ink); overflow:hidden; position:relative;
}
.hero::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 55% 65% at 100% 50%, rgba(46,107,31,.18) 0%, transparent 65%),
    radial-gradient(ellipse 30% 40% at 5% 85%, rgba(232,82,26,.1) 0%, transparent 55%);
}
.hero-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:3.5rem; align-items:center;
  padding:5rem var(--px) 4rem; margin:0 auto; width:100%;
}
.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--green-lt); border:1px solid rgba(46,107,31,.18);
  border-radius:100px; padding:6px 14px 6px 7px;
  font-size:11.5px; font-weight:600; color:var(--green);
  margin-bottom:1.75rem;
  animation: fadeUp .55s cubic-bezier(.16,1,.3,1) .1s both;
}
.badge-dot {
  width:22px; height:22px; background:var(--green); border-radius:50%;
  display:flex; align-items:center; justify-content:center; position:relative; flex-shrink:0;
}
.badge-dot::after {
  content:''; position:absolute; inset:0; border-radius:50%;
  background:var(--green); animation:ring 2s cubic-bezier(.215,.61,.355,1) infinite;
}
.badge-dot svg { width:11px; height:11px; fill:white; position:relative; z-index:1; }
.hero-title {
  font-family:var(--ff-display);
  font-size:clamp(2.8rem,5.5vw,4.5rem);
  line-height:1.07; letter-spacing:-.022em; color:#fff;
  animation: fadeUp .6s cubic-bezier(.16,1,.3,1) .2s both;
}
.hero-title em { font-style:italic; color:var(--orange); }
.hero-desc {
  margin-top:1.4rem; font-size:1.05rem; color:rgba(255,255,255,.62);
  line-height:1.77; max-width:470px;
  animation: fadeUp .6s cubic-bezier(.16,1,.3,1) .3s both;
}
.hero-actions {
  display:flex; flex-wrap:wrap; gap:10px; margin-top:2.1rem;
  animation: fadeUp .6s cubic-bezier(.16,1,.3,1) .38s both;
}
/* Unified secondary CTA — all dark hero sections */
.hero-btn-sec {
  border-color: rgba(255,255,255,.25) !important;
  color: #fff !important;
  background: transparent !important;
}
.hero-btn-sec:hover {
  border-color: rgba(255,255,255,.55) !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

.hero-trust {
  display:flex; align-items:center; gap:1.1rem; margin-top:2.2rem;
  animation: fadeUp .6s cubic-bezier(.16,1,.3,1) .46s both;
}
.trust-avatars { display:flex; }
.trust-av {
  width:30px; height:30px; border-radius:50%; border:2px solid white;
  background:var(--green-lt); display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:700; color:var(--green); margin-left:-7px;
}
.trust-av:first-child { margin-left:0; }
.trust-meta { font-size:12.5px; color:var(--ink-mid); line-height:1.45; }
.trust-meta strong { color:var(--ink); display:block; font-size:12.5px; }

/* Hero visual */
.hero-visual {
  position:relative;
  animation: scaleIn .75s cubic-bezier(.16,1,.3,1) .32s both;
}
.hero-visual .hero-card {
  background:rgba(255,255,255,.09); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.14); border-radius:var(--r-lg); padding:1.75rem;
  box-shadow:none;
  position:relative; z-index:2;
}
.hero-card-img {
  width:100%; height:270px; border-radius:var(--r-md); overflow:hidden;
  position:relative;
}
.hero-card-img img {
  width:100%; height:100%; object-fit:cover; object-position:center top;
  display:block;
}
.hero-card-foot {
  margin-top:1.1rem; display:flex; align-items:center; gap:.8rem;
}
.hero-card-quote { font-size:13.5px; color:rgba(255,255,255,.75); font-style:italic; line-height:1.5; flex:1; }
.hero-stars { color:#F5A623; font-size:13.5px; flex-shrink:0; }
.hero-float-1 {
  position:absolute; top:-14px; right:-14px; z-index:3;
  background:var(--orange); color:white; border-radius:13px;
  padding:9px 15px; font-size:11.5px; font-weight:700;
  box-shadow:0 8px 24px rgba(232,82,26,.32);
  animation:float 4s ease-in-out infinite;
  line-height:1.3; text-align:center;
}
.hero-float-1 big { display:block; font-size:19px; }
.hero-float-2 {
  position:absolute; top:-14px; left:-14px; z-index:3;
  background:white; border:1px solid var(--border); border-radius:11px;
  padding:9px 13px; font-size:11.5px; font-weight:500; color:var(--ink-mid);
  box-shadow:0 4px 16px rgba(0,0,0,.08);
  animation:float 3.5s ease-in-out .5s infinite;
  display:flex; align-items:center; gap:8px;
}
.float-icon {
  width:27px; height:27px; background:var(--green-lt); border-radius:7px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.float-icon svg { width:15px; height:15px; stroke:var(--green); fill:none; stroke-width:2; }
.float-text-b { font-size:12px; font-weight:700; color:var(--ink); display:block; }
.float-text-s { font-size:10.5px; color:var(--ink-lt); display:block; margin-top:1px; }

/* =============================================
   TRUST BAR
   ============================================= */
.trust-bar { background:var(--green); padding:1.1rem var(--px-wide); }
.trust-bar-inner {
  margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  gap:1.5rem; flex-wrap:wrap;
}
.tb-item { display:flex; align-items:center; gap:9px; }
.tb-icon {
  width:30px; height:30px; background:rgba(255,255,255,.1);
  border-radius:7px; display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.tb-icon svg { width:15px; height:15px; stroke:white; fill:none; stroke-width:2; }
.tb-text { font-size:12.5px; color:rgba(255,255,255,.65); line-height:1.3; }
.tb-text strong { color:white; display:block; font-size:12.5px; font-weight:600; }
.tb-div { width:1px; height:28px; background:rgba(255,255,255,.1); }

/* =============================================
   STATS
   ============================================= */
.stats { padding:var(--gap) var(--px); background:white; }
.stats-inner { margin:0 auto; }
.stats-top { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; margin-bottom:3.5rem; }
.stats-top .eyebrow { margin-bottom:.9rem; }
.stats-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  border-radius:var(--r-md); overflow:hidden;
  gap:1.5px; background:var(--border);
}
.stat {
  background:white; padding:2.2rem 1.75rem; position:relative; overflow:hidden;
}
.stat-n {
  font-family:var(--ff-display); font-size:clamp(2.2rem,3.5vw,3.2rem);
  line-height:1; letter-spacing:-.03em; color:var(--ink);
}
.stat-n b { color:var(--orange); font-style:normal; }
.stat-l { margin-top:.55rem; font-size:12.5px; font-weight:500; color:var(--ink-mid); line-height:1.4; }
.stat-bar {
  position:absolute; bottom:0; left:0; right:0; height:3px;
  background: linear-gradient(90deg,
    var(--orange)   0%,
    var(--orange)   15%,
    #c8721a         30%,
    #9a8a1a         50%,
    #5a9a1a         70%,
    var(--green-mid) 100%
  );
  background-size: 400% 100%;
  transform:scaleX(0); transform-origin:left;
  transition:transform .55s cubic-bezier(.16,1,.3,1);
}
/* Each card reveals its own slice of the master gradient */
.stat:nth-child(1) .stat-bar { background-position: 0% 0%; }
.stat:nth-child(2) .stat-bar { background-position: 33.33% 0%; }
.stat:nth-child(3) .stat-bar { background-position: 66.66% 0%; }
.stat:nth-child(4) .stat-bar { background-position: 100% 0%; }
/* Sequential left → right: each bar fires after the previous finishes */
.stat.in .stat-bar                         { transform:scaleX(1); transition-delay:0s; }
.stat.in + .stat .stat-bar                 { transform:scaleX(1); transition-delay:.45s; }
.stat.in + .stat + .stat .stat-bar         { transform:scaleX(1); transition-delay:.9s; }
.stat.in + .stat + .stat + .stat .stat-bar { transform:scaleX(1); transition-delay:1.35s; }

/* =============================================
   ABOUT PREVIEW (home)
   ============================================= */
.about-prev { padding:var(--gap) var(--px-wide); background:var(--warm); }
.about-prev-inner {
  margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center;
}
.about-vis { position:relative; }
.about-stack { position:relative; height:460px; }
.about-img-main {
  position:absolute; top:0; left:0; right:52px; bottom:52px;
  background: #e8e8e8;
  border-radius:var(--r-lg); display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.about-img-main svg { width:72px; height:72px; opacity:.22; }
.about-img-sub {
  position:absolute; bottom:0; right:0; width:200px; height:175px;
  background:var(--green); border-radius:var(--r-md);
  box-shadow:0 16px 40px rgba(0,0,0,.18);
  padding:1.4rem; display:flex; flex-direction:column; justify-content:flex-end;
}
.about-img-sub q { font-size:12.5px; color:rgba(255,255,255,.88); font-style:italic; line-height:1.5; margin-bottom:.6rem; quotes:none; }
.about-img-sub cite { font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.5); font-style:normal; }
.about-badge {
  position:absolute; top:1.25rem; right:.75rem;
  background:white; border:1px solid rgba(232,82,26,.2);
  border-radius:var(--r-sm); padding:9px 13px; text-align:center;
  box-shadow:0 4px 16px rgba(0,0,0,.07);
}
.about-badge .yr { font-family:var(--ff-display); font-size:1.6rem; color:var(--orange); display:block; line-height:1; }
.about-badge .lbl { font-size:9.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-lt); margin-top:3px; display:block; }
.about-copy .eyebrow { margin-bottom:1.1rem; }
.about-copy .h2 { margin-bottom:1.3rem; }
.about-copy .body-lg { margin-bottom:1.1rem; }
.about-callout {
  background:white; border-left:3px solid var(--orange); border-radius:0 var(--r-sm) var(--r-sm) 0;
  padding:1.1rem 1.4rem; margin:1.6rem 0;
  font-size:14.5px; color:var(--ink-mid); font-style:italic; line-height:1.65;
}

/* =============================================
   SERVICES PREVIEW (home)
   ============================================= */
.services-prev { padding:var(--gap) var(--px); background:white; }
.services-prev-inner { margin:0 auto; }
.section-head { text-align:center; max-width:600px; margin:0 auto 3.5rem; }
.section-head .eyebrow { margin-bottom:.9rem; }
.section-head .h2 { margin-bottom:.9rem; }
.services-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
.svc-card {
  background:var(--warm); border:1px solid var(--border); border-radius:var(--r-lg);
  padding:2.25rem; transition:transform .23s, box-shadow .23s, border-color .23s;
  position:relative; overflow:hidden; cursor:default;
}
.svc-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--orange),var(--green-mid));
  transform:scaleX(0); transform-origin:left;
  transition:transform .3s cubic-bezier(.16,1,.3,1);
}
.svc-card:hover { transform:translateY(-4px); box-shadow:0 18px 44px rgba(0,0,0,.09); border-color:transparent; }
.svc-card:hover::before { transform:scaleX(1); }
.svc-icon {
  width:48px; height:48px; border-radius:12px; background:var(--orange-lt);
  display:flex; align-items:center; justify-content:center; margin-bottom:1.4rem;
  transition:background .23s, transform .23s;
}
.svc-card:hover .svc-icon { background:var(--orange); transform:scale(1.05); }
.svc-icon svg { width:22px; height:22px; stroke:var(--orange); fill:none; stroke-width:1.75; transition:stroke .23s; }
.svc-card:hover .svc-icon svg { stroke:white; }
.svc-eyebrow { font-size:9.5px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--orange); margin-bottom:.5rem; }
.svc-title { font-family:var(--ff-display); font-size:1.4rem; color:var(--ink); margin-bottom:.6rem; line-height:1.2; }
.svc-desc { font-size:13.5px; color:var(--ink-mid); line-height:1.68; margin-bottom:1.3rem; }
.svc-tags { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:1.5rem; }
.svc-tag { background:white; color:var(--green-dk); padding:3px 9px; border-radius:100px; font-size:10.5px; font-weight:600; border:1px solid var(--border); }
.svc-link { display:inline-flex; align-items:center; gap:5px; font-size:12.5px; font-weight:700; color:var(--orange); transition:gap .2s; }
.svc-card:hover .svc-link { gap:9px; }
.svc-link svg { width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2.5; }
/* featured card */
.svc-card.feat {
  grid-column:span 2;
  display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:center;
  background:var(--green); border-color:transparent;
}
.svc-card.feat::before { background:rgba(255,255,255,.25); }
.svc-card.feat .svc-icon { background:rgba(255,255,255,.15); }
.svc-card.feat .svc-icon svg { stroke:white; }
.svc-card.feat .svc-eyebrow { color:rgba(255,255,255,.55); }
.svc-card.feat .svc-title { color:white; }
.svc-card.feat .svc-desc { color:rgba(255,255,255,.72); }
.svc-card.feat .svc-tag { background:rgba(255,255,255,.12); color:white; border-color:transparent; }
.svc-card.feat .svc-link { color:rgba(255,255,255,.85); }
.feat-badge {
  width:140px; height:140px; background:rgba(255,255,255,.1);
  border-radius:50%; display:flex; flex-direction:column;
  align-items:center; justify-content:center; flex-shrink:0;
  border:1.5px solid rgba(255,255,255,.2);
}
.feat-badge big { font-family:var(--ff-display); font-size:2.4rem; color:white; line-height:1; }
.feat-badge span { font-size:11px; font-weight:600; color:rgba(255,255,255,.6); letter-spacing:.04em; margin-top:4px; }

/* =============================================
   TESTIMONIALS (home)
   ============================================= */
.testiSection { padding:var(--gap) var(--px); background:var(--ink); }
.testiSection .testiInner { margin:0 auto; }
.testi-head {
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:2rem; margin-bottom:2.75rem;
}
.testi-head .eyebrow { color:rgba(255,255,255,.45); margin-bottom:.7rem; }
.testi-head .h2 { color:white; }
.testi-track { display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
.tc {
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-lg); padding:1.75rem;
  transition:background .23s, border-color .23s, transform .23s;
}
.tc:hover { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.14); transform:translateY(-3px); }
.tc-stars { color:#F5A623; font-size:14px; margin-bottom:.9rem; letter-spacing:.05em; }
.tc-quote { font-size:14px; color:rgba(255,255,255,.82); line-height:1.75; font-style:italic; margin-bottom:1.6rem; }
.tc-author { display:flex; align-items:center; gap:9px; }
.tc-av {
  width:34px; height:34px; border-radius:50%; background:var(--orange);
  display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:700; color:white; flex-shrink:0;
}
.tc-name { font-size:13px; font-weight:600; color:white; }
.tc-role { font-size:11.5px; color:rgba(255,255,255,.42); margin-top:1px; }

/* =============================================
   CAREERS PREVIEW (home)
   ============================================= */
.careers-prev { padding:var(--gap) var(--px); background:var(--warm); }
.careers-prev-inner {
  margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center;
}
.car-copy .eyebrow { margin-bottom:1.1rem; }
.car-copy .h2 { margin-bottom:1rem; }
.car-copy .body-lg { margin-bottom:2rem; }
.car-vals { display:grid; grid-template-columns:1fr 1fr; gap:.9rem; margin-bottom:2.25rem; }
.car-val { background:white; border-radius:var(--r-sm); padding:1rem 1.1rem; border:1px solid var(--border); }
.car-val-ico {
  width:28px; height:28px; background:var(--orange-lt); border-radius:7px;
  display:flex; align-items:center; justify-content:center; margin-bottom:.55rem;
}
.car-val-ico svg { width:14px; height:14px; stroke:var(--orange); fill:none; stroke-width:2; }
.car-val-t { font-size:13px; font-weight:600; color:var(--ink); }
.car-val-d { font-size:11.5px; color:var(--ink-mid); margin-top:2px; line-height:1.45; }
.car-visual {
  background:var(--green); border-radius:var(--r-lg); padding:2.75rem;
  position:relative; overflow:hidden;
}
.car-visual::before { content:''; position:absolute; bottom:-50px; right:-50px; width:200px; height:200px; border-radius:50%; background:rgba(255,255,255,.05); }
.car-visual::after  { content:''; position:absolute; top:-60px; left:-60px; width:180px; height:180px; border-radius:50%; background:rgba(255,255,255,.04); }
.car-visual-content { position:relative; z-index:1; }
.car-visual-title { font-family:var(--ff-display); font-size:1.85rem; color:white; line-height:1.2; margin-bottom:.9rem; }
.car-visual-desc { font-size:14px; color:rgba(255,255,255,.72); line-height:1.7; margin-bottom:1.75rem; }
.car-perks { display:flex; flex-direction:column; gap:10px; margin-bottom:1.85rem; }
.car-perk { display:flex; align-items:center; gap:9px; font-size:13.5px; color:rgba(255,255,255,.82); }
.perk-chk { width:19px; height:19px; background:rgba(255,255,255,.15); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.perk-chk svg { width:10px; height:10px; stroke:white; fill:none; stroke-width:3; }

/* =============================================
   PARTNERS (home)
   ============================================= */
.partners {
  padding:2.75rem var(--px);
  background:white;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  overflow:hidden;
}
.partners-inner {
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:2.5rem;
}
.partners-lbl {
  font-size:10.5px; font-weight:700; letter-spacing:.11em;
  text-transform:uppercase; color:var(--ink-lt);
  white-space:nowrap; flex-shrink:0;
}
/* Marquee */
.partners-track-outer {
  flex:1;
  overflow:hidden;
  mask-image:linear-gradient(to right, transparent, black 8%, black 92%, transparent);
  -webkit-mask-image:linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}
/* 4 sets of 3 pills = 12 total. Animate -25% = scroll exactly 1 set (3 pills).
   The seam is always 9 pills ahead — never visible at any screen width. */
.partners-track {
  display:flex;
  align-items:center;
  gap:4rem;
  width:max-content;
  animation: partners-scroll 22s linear infinite;
}
.partners-track:hover { animation-play-state:paused; }
@keyframes partners-scroll {
  0%   { transform:translateX(0); }
  100% { transform:translateX(-25%); }
}
/* Pills */
.partner-pill {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border:1px solid var(--border);
  border-radius:var(--r-sm);
  opacity:.8;
  transition:opacity .2s, border-color .2s;
  flex-shrink:0;
  box-sizing:border-box;
  background:white;
  height:120px;
  width:160px;
}
.partner-pill:hover { opacity:1; border-color:rgba(46,107,31,.25); }
.partner-pill img {
  display:block;
  object-fit:contain;
}
/* NHS — wide landscape */
.partner-pill.pill-nhs img {
  width:110px;
  height:auto;
  max-height:72px;
}
/* Ofsted — near-square */
.partner-pill.pill-ofsted img {
  height:80px;
  width:auto;
  max-width:120px;
}
/* CQC — same pill size as before last change, overflow visible for iframe */
.partner-pill.pill-cqc {
  overflow:hidden;
  position:static;
  min-width:140px;
}
.partner-pill-name { font-size:14.5px; font-weight:800; letter-spacing:-.01em; }
.partner-pill-sub { font-size:10.5px; color:var(--ink-lt); font-weight:500; }
.nhs-color { color:#005EB8; }
.ofsted-color { color:#003087; }
.cqc-color { color:#1d388f; }

/* =============================================
   CTA BAND
   ============================================= */
.cta-band { padding:var(--gap) var(--px); background:var(--orange-lt); }
.cta-band-inner { margin:0 auto; text-align:center; }
.cta-band .eyebrow { margin-bottom:1.1rem; }
.cta-band .display { margin-bottom:1.1rem; }
.cta-band .body-lg { margin-bottom:2.25rem; max-width:500px; margin-left:auto; margin-right:auto; }
.cta-btns { display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; margin-bottom:2.25rem; }
.cta-contacts { display:flex; align-items:center; justify-content:center; gap:2rem; flex-wrap:wrap; }
.cta-item { display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--ink-mid); }
.cta-item svg { width:16px; height:16px; stroke:var(--orange); fill:none; stroke-width:2; }
.cta-item a { color:var(--orange); font-weight:600; }
.cta-item a:hover { text-decoration:underline; }

/* =============================================
   FOOTER
   ============================================= */
.footer { background:var(--ink); padding:3.75rem var(--px) 1.75rem; }
.footer-inner { margin:0 auto; }
.footer-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
  gap:3.5rem; padding-bottom:2.75rem;
  border-bottom:1px solid rgba(255,255,255,.08); margin-bottom:1.75rem;
}
.foot-brand {}
.foot-brand .logo { margin-bottom:.9rem; }
.foot-brand-desc { font-size:13px; color:rgba(255,255,255,.42); line-height:1.65; max-width:270px; }
.foot-col-h { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.45); margin-bottom:1.1rem; }
.foot-links { display:flex; flex-direction:column; gap:8px; }
.foot-links a { font-size:13.5px; color:rgba(255,255,255,.6); transition:color .2s; }
.foot-links a:hover { color:white; }
.foot-contact-row { display:flex; align-items:flex-start; gap:7px; font-size:13px; color:rgba(255,255,255,.52); margin-bottom:8px; }
.foot-contact-row svg { width:14px; height:14px; stroke:rgba(255,255,255,.35); fill:none; stroke-width:2; flex-shrink:0; margin-top:2px; }
.foot-contact-row a { color:rgba(255,255,255,.62); transition:color .2s; }
.foot-contact-row a:hover { color:white; }
.footer-bottom { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.footer-copy { font-size:11.5px; color:rgba(255,255,255,.35); }
.footer-legal { display:flex; gap:1.4rem; padding-top:2px; }
.footer-legal a { font-size:11.5px; color:rgba(255,255,255,.35); transition:color .2s; }
.footer-legal a:hover { color:rgba(255,255,255,.65); }
.footer-reg { font-size:10.5px; color:rgba(255,255,255,.25); margin-top:.4rem; max-width:480px; line-height:1.6; }

/* =============================================
   SERVICES PAGE — 2026 REDESIGN
   ============================================= */
.svcs-hero {
  min-height:72vh; display:flex; align-items:center;
  padding-top:66px; background:var(--ink); overflow:hidden; position:relative;
}
.svcs-hero::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 55% 65% at 100% 50%, rgba(46,107,31,.18) 0%, transparent 65%),
    radial-gradient(ellipse 30% 40% at 5% 85%, rgba(232,82,26,.1) 0%, transparent 55%);
}
.svcs-hero-inner {
  max-width:var(--max-w-wide); width:100%; margin:0 auto;
  padding:4.5rem var(--px-wide) 4rem;
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,6rem); align-items:center;
  position:relative; z-index:1;
}
.svcs-hero-copy .eyebrow { color:var(--green-mid); margin-bottom:1rem; }
.svcs-hero-title {
  font-family:var(--ff-display); font-size:clamp(2.4rem,4.8vw,4rem);
  line-height:1.07; letter-spacing:-.022em; color:white; margin-bottom:1rem;
  animation: fadeUp .6s cubic-bezier(.16,1,.3,1) .2s both;
}
.svcs-hero-title em { font-style:italic; color:var(--orange); }
.svcs-hero-desc {
  font-size:1.05rem; color:rgba(255,255,255,.6); line-height:1.75;
  max-width:440px; margin-bottom:2rem;
  animation: fadeUp .6s cubic-bezier(.16,1,.3,1) .3s both;
}
.svcs-hero-btns { display:flex; flex-wrap:wrap; gap:10px; animation: fadeUp .6s cubic-bezier(.16,1,.3,1) .38s both; }
.svcs-jump-grid { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; animation: scaleIn .75s cubic-bezier(.16,1,.3,1) .32s both; }
.svcs-jump-card {
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-md); padding:1.1rem 1.25rem; cursor:pointer;
  transition: background .2s, border-color .2s, transform .18s; text-decoration:none;
}
.svcs-jump-card:hover { background:rgba(255,255,255,.11); border-color:rgba(255,255,255,.2); transform:translateY(-2px); }
.svcs-jump-num { font-size:9.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:4px; }
.svcs-jump-name { font-size:13.5px; font-weight:600; color:white; margin-bottom:3px; line-height:1.25; }
.svcs-jump-sub { font-size:11px; color:rgba(255,255,255,.38); }
.svcs-trust-strip { background:var(--green); padding:1rem var(--px-wide); }
.svcs-trust-inner {
  max-width:var(--max-w-wide); margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
}
.svcs-trust-item { display:flex; align-items:center; gap:.7rem; }
.svcs-trust-ico { width:30px; height:30px; background:rgba(255,255,255,.14); border-radius:7px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.svcs-trust-ico svg { width:15px; height:15px; stroke:white; fill:none; stroke-width:2; }
.svcs-trust-label { font-size:12.5px; font-weight:700; color:white; display:block; line-height:1.2; }
.svcs-trust-sub { font-size:10.5px; color:rgba(255,255,255,.52); display:block; }
.svcs-trust-div { width:1px; height:28px; background:rgba(255,255,255,.15); }
.svc2-feature { padding:var(--gap) var(--px-wide); }
.svc2-feature-inner {
  max-width:var(--max-w-wide); margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,5vw,6rem); align-items:center;
}
.svc2-img-wrap { border-radius:var(--r-lg); overflow:hidden; position:relative; aspect-ratio:4/3; background:var(--warm); }
.svc2-img-wrap img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.svc2-num-badge { position:absolute; top:1rem; left:1rem; z-index:2; padding:.45rem .9rem; border-radius:var(--r-sm); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:white; }
.svc2-accred-badge { position:absolute; bottom:1rem; left:1rem; z-index:2; background:white; border-radius:var(--r-sm); padding:.55rem 1rem; display:flex; align-items:center; gap:.5rem; font-size:12px; font-weight:600; color:var(--ink); box-shadow:0 4px 16px rgba(0,0,0,.15); }
.svc2-accred-badge svg { width:15px; height:15px; fill:none; stroke-width:2; }
.svc2-copy .eyebrow { margin-bottom:.85rem; }
.svc2-copy .svc-title { font-family:var(--ff-display); font-size:clamp(1.6rem,2.8vw,2.3rem); color:var(--ink); margin-bottom:.9rem; line-height:1.15; }
.svc2-copy .body-lg { margin-bottom:1.1rem; }
.svc2-copy .svc-tags { margin-bottom:1.5rem; }
.svcs-activities { background:var(--ink); padding:2rem var(--px-wide); border-top:1px solid rgba(255,255,255,.05); border-bottom:1px solid rgba(255,255,255,.05); }
.svcs-activities-inner { max-width:var(--max-w-wide); margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.svcs-activities-copy .eyebrow { color:rgba(255,255,255,.38); margin-bottom:.5rem; }
.svcs-activities-copy .h2 { color:white; font-size:clamp(1.1rem,2vw,1.5rem); }
.svcs-activities-icons { display:grid; grid-template-columns:repeat(5,72px); gap:1.25rem; }
.svcs-act-item { text-align:center; }
.svcs-act-ico { width:44px; height:44px; border-radius:10px; margin:0 auto .45rem; display:flex; align-items:center; justify-content:center; }
.svcs-act-ico svg { width:22px; height:22px; fill:none; stroke-width:1.75; }
.svcs-act-lbl { font-size:10.5px; font-weight:600; color:rgba(255,255,255,.42); letter-spacing:.04em; }
.svcs-photo-grid-section { padding:var(--gap) var(--px-wide); background:var(--warm); }
.svcs-photo-grid-inner { max-width:var(--max-w-wide); margin:0 auto; }
.svcs-photo-grid-head { margin-bottom:2.5rem; }
.svcs-photo-grid-head .eyebrow { margin-bottom:.8rem; }
.svcs-photo-grid { display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:1fr 1fr; gap:.85rem; height:520px; }
.svcs-photo-cell { border-radius:var(--r-md); overflow:hidden; position:relative; }
.svcs-photo-cell img { width:100%; height:100%; object-fit:cover; display:block; }
.svcs-photo-cell.span-col { grid-column:1; grid-row:1/3; }
.svcs-photo-label { position:absolute; bottom:.6rem; left:.75rem; background:rgba(0,0,0,.52); color:white; font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; padding:3px 9px; border-radius:4px; }
.svcs-testi { padding:var(--gap) var(--px-wide); background:var(--ink); }
.svcs-testi-inner { max-width:var(--max-w-wide); margin:0 auto; }
.svcs-testi-inner .eyebrow { color:rgba(255,255,255,.4); margin-bottom:1rem; }
.svcs-testi-inner .h2 { color:white; margin-bottom:2rem; }
.svcs-testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.svcs-testi-card { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:var(--r-lg); padding:2rem; transition:background .2s, border-color .2s; }
.svcs-testi-card:hover { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.14); }
.svcs-testi-stars { color:var(--orange); font-size:14px; letter-spacing:2px; margin-bottom:.85rem; }
.svcs-testi-q { font-size:14.5px; color:rgba(255,255,255,.78); line-height:1.7; font-style:italic; margin-bottom:1.1rem; }
.svcs-testi-who { font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.35); }
.svcs-cta-strip { padding:4.5rem var(--px-wide); background:var(--orange-lt); border-top:1px solid rgba(232,82,26,.15); }
.svcs-cta-strip-inner { max-width:var(--max-w-wide); margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.svcs-cta-strip .h2 { margin-bottom:.5rem; }
.svcs-cta-strip .body-lg { max-width:520px; }
.svcs-cta-btns { display:flex; gap:10px; flex-shrink:0; }
@media (max-width:1100px) { .svcs-testi-grid { grid-template-columns:1fr 1fr; } .svcs-photo-grid { height:420px; } }
@media (max-width:900px) {
  .svcs-hero-inner { grid-template-columns:1fr; }
  .svcs-jump-grid { grid-template-columns:repeat(4,1fr); }
  .svc2-feature-inner { grid-template-columns:1fr; gap:2rem; }
  .svc2-feature-inner.reverse .svc2-img-wrap { order:-1; }
  .svcs-activities-inner { flex-direction:column; align-items:flex-start; gap:1.5rem; }
  .svcs-activities-icons { grid-template-columns:repeat(3,1fr); width:100%; gap:1rem; }
  .svcs-photo-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; height:auto; }
  .svcs-photo-cell.span-col { grid-column:1/3; grid-row:auto; aspect-ratio:16/7; }
  .svcs-testi-grid { grid-template-columns:1fr; }
  .svcs-cta-strip-inner { flex-direction:column; }
  .svcs-trust-inner { justify-content:center; }
}
@media (max-width:600px) { .svcs-jump-grid { grid-template-columns:1fr 1fr; } .svcs-photo-grid { grid-template-columns:1fr; } .svcs-photo-cell.span-col { grid-column:1; } }

/* =============================================
   ABOUT PAGE — 2026 REDESIGN
   ============================================= */

/* --- Hero --- */
.about-hero {
  min-height: 76vh; display:flex; align-items:center;
  padding-top:66px; background:var(--ink); overflow:hidden; position:relative;
}
.about-hero::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 70% at 100% 50%, rgba(46,107,31,.18) 0%, transparent 65%),
    radial-gradient(ellipse 35% 45% at 10% 80%, rgba(232,82,26,.1) 0%, transparent 60%);
}
.about-hero-inner {
  max-width:var(--max-w-wide); width:100%; margin:0 auto; padding:5rem var(--px-wide) 4rem;
  display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(2rem,5vw,6rem); align-items:center;
  position:relative; z-index:1;
}
.about-hero-copy .eyebrow { color:var(--green-mid); margin-bottom:1.1rem; }
.about-hero-title {
  font-family:var(--ff-display);
  font-size:clamp(2.6rem,5vw,4.2rem);
  line-height:1.07; letter-spacing:-.022em; color:white;
  margin-bottom:1.1rem;
  animation: fadeUp .6s cubic-bezier(.16,1,.3,1) .2s both;
}
.about-hero-title em { font-style:italic; color:var(--orange); }
.about-hero-desc {
  font-size:1.05rem; color:rgba(255,255,255,.6); line-height:1.75;
  max-width:460px; margin-bottom:2rem;
  animation: fadeUp .6s cubic-bezier(.16,1,.3,1) .3s both;
}
.about-hero-btns {
  display:flex; flex-wrap:wrap; gap:10px;
  animation: fadeUp .6s cubic-bezier(.16,1,.3,1) .38s both;
}
.about-proof-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:1rem;
  animation: scaleIn .75s cubic-bezier(.16,1,.3,1) .32s both;
}
.about-proof-pill {
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-md); padding:1.5rem 1.25rem; text-align:center;
  transition: background .2s, border-color .2s;
}
.about-proof-pill:hover { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.18); }
.about-proof-n {
  font-family:var(--ff-display); font-size:2.2rem; color:white; line-height:1;
}
.about-proof-n.orange { color:var(--orange); }
.about-proof-n.green  { color:var(--green-mid); }
.about-proof-l {
  font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:rgba(255,255,255,.42); margin-top:.4rem;
}

/* --- Timeline --- */
.about-timeline { padding:var(--gap) var(--px-wide); background:var(--warm); }
.about-timeline-inner { max-width:var(--max-w-wide); margin:0 auto; }
.about-tl-layout {
  display:grid; grid-template-columns:1fr 1.6fr; gap:clamp(3rem,7vw,8rem); align-items:start;
  margin-top:3rem;
}
.about-tl-sticky { position:sticky; top:calc(66px + 2rem); }
.about-tl-sticky .h2 { margin-top:.9rem; margin-bottom:1.1rem; }
.about-tl-sticky .body-lg { margin-bottom:1.75rem; }
.tl-track { position:relative; display:flex; flex-direction:column; gap:0; }
.tl-line {
  position:absolute; left:9px; top:8px; bottom:8px; width:2px;
  background:linear-gradient(to bottom, var(--green), var(--green-mid), rgba(125,194,42,.2));
}
.tl-item { display:flex; gap:1.25rem; align-items:flex-start; padding:.9rem 0; }
.tl-dot-wrap { flex-shrink:0; width:20px; display:flex; justify-content:center; padding-top:4px; position:relative; z-index:1; }
.tl-dot {
  width:20px; height:20px; border-radius:50%; background:var(--green);
  border:3px solid var(--warm); display:flex; align-items:center; justify-content:center;
}
.tl-dot.accent { background:var(--orange); }
.tl-dot.bright  { background:var(--green-mid); }
.tl-dot-inner { width:6px; height:6px; border-radius:50%; background:white; }
.tl-year { font-size:10px; font-weight:700; color:var(--orange); letter-spacing:.06em; margin-bottom:3px; }
.tl-event { font-size:15px; font-weight:600; color:var(--ink); font-family:var(--ff-display); margin-bottom:3px; }
.tl-detail { font-size:13.5px; color:var(--ink-mid); line-height:1.6; }

/* --- Quote band --- */
.about-quote-band {
  background:var(--green); padding:4rem var(--px-wide);
  display:flex; align-items:center; justify-content:center;
}
.about-quote-band-inner { max-width:var(--max-w-wide); width:100%; margin:0 auto; display:flex; align-items:center; gap:3rem; }
.quote-bigmark {
  font-family:var(--ff-display); font-size:6rem; color:rgba(255,255,255,.2);
  line-height:.8; flex-shrink:0; user-select:none;
}
.about-quote-text {
  font-family:var(--ff-display); font-size:clamp(1.3rem,2.4vw,1.8rem);
  color:white; line-height:1.45; font-style:italic;
}
.about-quote-cite {
  display:block; margin-top:.75rem; font-family:var(--ff-body);
  font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.5); font-style:normal;
}

/* --- Team --- */
.about-team { padding:var(--gap) var(--px-wide); background:white; }
.about-team-inner { max-width:var(--max-w-wide); margin:0 auto; }
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; margin-top:3rem; }
.team-card {
  background:var(--warm); border:1px solid var(--border); border-radius:var(--r-lg);
  padding:1.75rem; text-align:center; transition:transform .23s, box-shadow .23s;
}
.team-card:hover { transform:translateY(-3px); box-shadow:0 12px 32px rgba(0,0,0,.08); }
.team-card.founder-card {
  background:var(--orange-lt); border-color:rgba(232,82,26,.3);
  grid-column:span 2;
  display:flex; align-items:center; gap:2rem; text-align:left; padding:2rem;
}
.team-card.hire-card {
  border-style:dashed; border-color:rgba(0,0,0,.12); background:transparent;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem;
}
.team-founder-badge {
  display:inline-block; background:var(--orange); color:white;
  font-size:9.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  padding:3px 9px; border-radius:20px; margin-bottom:.8rem;
}
.team-av {
  width:72px; height:72px; border-radius:50%; background:var(--green);
  display:flex; align-items:center; justify-content:center;
  font-size:22px; font-weight:700; color:white; margin:0 auto 1rem;
  font-family:var(--ff-display); flex-shrink:0;
}
.team-card.founder-card .team-av { width:88px; height:88px; font-size:28px; margin:0; }
.team-name { font-family:var(--ff-display); font-size:1.15rem; color:var(--ink); margin-bottom:.3rem; }
.team-role { font-size:12px; font-weight:600; color:var(--orange); text-transform:uppercase; letter-spacing:.07em; margin-bottom:.65rem; }
.team-bio { font-size:13px; color:var(--ink-mid); line-height:1.6; }
.hire-circle {
  width:44px; height:44px; border-radius:50%; border:2px dashed rgba(0,0,0,.15);
  display:flex; align-items:center; justify-content:center; color:var(--ink-lt); font-size:22px;
  margin-bottom:.25rem;
}

/* --- Values --- */
.about-values { padding:var(--gap) var(--px-wide); background:var(--warm); }
.about-values-inner { max-width:var(--max-w-wide); margin:0 auto; }
.about-vals-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1.25rem; margin-top:2.5rem; }
.val-card {
  background:white; border:1px solid var(--border); border-radius:var(--r-lg);
  padding:1.75rem 1.5rem; transition:transform .23s, box-shadow .23s, border-color .23s;
}
.val-card:hover { transform:translateY(-3px); box-shadow:0 12px 32px rgba(0,0,0,.08); border-color:rgba(232,82,26,.2); }
.val-initial-wrap {
  width:48px; height:48px; border-radius:12px;
  display:flex; align-items:center; justify-content:center; margin-bottom:1rem;
}
.val-initial { font-family:var(--ff-display); font-size:1.6rem; line-height:1; font-weight:700; }
.val-title { font-family:var(--ff-display); font-size:1.15rem; color:var(--ink); margin-bottom:.4rem; }
.val-desc { font-size:13px; color:var(--ink-mid); line-height:1.65; }

/* --- Testimonials --- */
.about-testi { padding:var(--gap) var(--px-wide); background:var(--ink); }
.about-testi-inner { max-width:var(--max-w-wide); margin:0 auto; }
.about-testi-inner .eyebrow { color:rgba(255,255,255,.4); margin-bottom:1rem; }
.about-testi-inner .h2 { color:white; margin-bottom:.6rem; }
.about-testi-inner .body-lg { color:rgba(255,255,255,.5); margin-bottom:2.5rem; }
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.testi-card {
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-lg); padding:2rem; transition:background .2s, border-color .2s;
}
.testi-card:hover { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.14); }
.testi-stars { color:var(--orange); font-size:14px; letter-spacing:2px; margin-bottom:.85rem; }
.testi-q { font-size:14.5px; color:rgba(255,255,255,.78); line-height:1.7; font-style:italic; margin-bottom:1.1rem; }
.testi-who { font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.35); }

/* --- About CTA --- */
.about-cta-strip {
  padding:4.5rem var(--px-wide); background:var(--orange-lt);
  border-top:1px solid rgba(232,82,26,.15);
}
.about-cta-strip-inner {
  max-width:var(--max-w-wide); margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap;
}
.about-cta-strip .h2 { margin-bottom:.5rem; }
.about-cta-strip .body-lg { max-width:480px; }
.about-cta-btns { display:flex; gap:10px; flex-shrink:0; }

/* --- About Responsive --- */
@media (max-width:1100px) {
  .team-grid { grid-template-columns:repeat(3,1fr); }
  .team-card.founder-card { grid-column:span 3; }
  .about-vals-grid { grid-template-columns:repeat(5,1fr); }
  .testi-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px) {
  .about-hero-inner { grid-template-columns:1fr; }
  .about-proof-grid { grid-template-columns:repeat(4,1fr); }
  .about-tl-layout { grid-template-columns:1fr; gap:2.5rem; }
  .about-tl-sticky { position:static; }
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .team-card.founder-card { grid-column:span 2; }
  .about-vals-grid { grid-template-columns:repeat(3,1fr); }
  .testi-grid { grid-template-columns:1fr 1fr; }
  .about-cta-strip-inner { flex-direction:column; }
}
@media (max-width:600px) {
  .about-proof-grid { grid-template-columns:1fr 1fr; }
  .team-grid { grid-template-columns:1fr 1fr; }
  .team-card.founder-card { grid-column:span 2; flex-direction:column; text-align:center; }
  .team-card.founder-card .team-av { margin:0 auto; }
  .about-vals-grid { grid-template-columns:1fr 1fr; }
  .testi-grid { grid-template-columns:1fr; }
}

/* =============================================
   CONTACT PAGE
   ============================================= */
/* =============================================
   CONTACT PAGE — HERO
   ============================================= */
.contact-hero {
  padding-top: 66px;
  background: var(--warm);
  position: relative;
  overflow: hidden;
}
.contact-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 70% 80% at 100% 0%, rgba(232,82,26,.07) 0%, transparent 60%),
              radial-gradient(ellipse 50% 60% at 0% 100%, rgba(46,107,31,.06) 0%, transparent 55%);
  pointer-events: none;
}
.contact-hero-inner {
  max-width: var(--max-w-wide); margin: 0 auto; padding: 4rem var(--px-wide) 0;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 4rem; align-items: center;
}
.contact-hero-text .eyebrow { margin-bottom: 1rem; }
.contact-hero-text .h2 { margin-bottom: 1.1rem; font-size: clamp(2rem,3.8vw,3.2rem); }
.contact-hero-text .body-lg { margin-bottom: 2rem; max-width: 460px; }

@keyframes pulseRing { 0%{transform:scale(.9);opacity:.6;} 100%{transform:scale(1.6);opacity:0;} }

.urgent-strip {
  display: inline-flex; align-items: center; gap: 10px;
  background: white; border: 1.5px solid rgba(232,82,26,.2);
  border-radius: 100px; padding: 10px 18px 10px 12px;
  font-size: 13px; font-weight: 500; color: var(--ink-mid);
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
  text-decoration: none; transition: box-shadow .2s;
  max-width: max-content;
}
.urgent-strip:hover { box-shadow: 0 4px 20px rgba(232,82,26,.18); }
.urgent-dot { position: relative; width: 10px; height: 10px; flex-shrink: 0; }
.urgent-dot::before {
  content: ''; position: absolute; inset: 0;
  background: var(--orange); border-radius: 50%;
}
.urgent-dot::after {
  content: ''; position: absolute; inset: -4px;
  border: 1.5px solid var(--orange); border-radius: 50%;
  animation: pulseRing 1.8s ease-out infinite;
}
.urgent-strip strong { color: var(--orange); }

.hero-cards { display: flex; flex-direction: column; gap: 1rem; padding-bottom: 3rem; }
.hero-card {
  background: white; border: 1px solid var(--border);
  border-radius: var(--r-md); padding: 1.25rem 1.5rem;
  display: flex; align-items: center; gap: 1rem;
  box-shadow: 0 2px 12px rgba(0,0,0,.05);
  transition: transform .2s, box-shadow .2s;
  text-decoration: none; color: inherit;
}
.hero-card:hover { transform: translateY(-2px); box-shadow: 0 6px 24px rgba(0,0,0,.1); }
.hero-card-ico {
  width: 44px; height: 44px; border-radius: 11px;
  background: var(--orange-lt); flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.hero-card-ico svg { width: 20px; height: 20px; stroke: var(--orange); fill: none; stroke-width: 2; }
.hero-card-ico.green { background: var(--green-lt); }
.hero-card-ico.green svg { stroke: var(--green); }
.hero-card-label { font-size: 10.5px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--ink-lt); margin-bottom: 2px; }
.hero-card-val { font-size: 15px; font-weight: 600; color: var(--ink); }
.hero-card-sub { font-size: 12px; color: var(--ink-lt); margin-top: 1px; }
.hero-card-arrow { margin-left: auto; flex-shrink: 0; }
.hero-card-arrow svg { width: 16px; height: 16px; stroke: var(--ink-lt); fill: none; stroke-width: 2; }

.hero-wave { width: 100%; overflow: hidden; line-height: 0; border-top: 1px solid var(--border); }
.hero-wave svg { display: block; width: 100%; height: 48px; fill: white; }

/* =============================================
   CONTACT PAGE — TRUST BAR
   ============================================= */
.contact-trust {
  background: white;
  padding: 1.5rem var(--px-wide);
  border-bottom: 1px solid var(--border);
}
.contact-trust-inner {
  max-width: var(--max-w-wide); margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  gap: 2rem; flex-wrap: wrap;
}
.trust-label { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-lt); white-space: nowrap; }
.trust-items { display: flex; align-items: center; gap: 2.5rem; flex-wrap: wrap; }
.contact-trust-item { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ink-mid); }
.contact-trust-item svg { width: 16px; height: 16px; stroke: var(--green); fill: none; stroke-width: 2; flex-shrink: 0; }
.trust-divider { width: 1px; height: 28px; background: var(--border); }

/* =============================================
   CONTACT PAGE — BODY
   ============================================= */
.contact-body { padding: var(--gap) var(--px-wide); background: white; }
.contact-body-inner {
  max-width: var(--max-w-wide); margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1.25fr; gap: 5rem; align-items: start;
}

/* Pathway cards */
.contact-left .eyebrow { margin-bottom: .75rem; }
.contact-left .h2 { margin-bottom: .9rem; }
.contact-left .body-lg { margin-bottom: 2.5rem; }

.pathway-cards { display: flex; flex-direction: column; gap: .75rem; margin-bottom: 2.5rem; }
.pathway-card {
  border: 1.5px solid var(--border); border-radius: var(--r-md);
  padding: 1.1rem 1.25rem;
  display: flex; align-items: center; gap: 1rem;
  cursor: pointer; transition: border-color .2s, background .2s;
  background: var(--warm);
}
.pathway-card:hover { border-color: rgba(232,82,26,.4); background: white; }
.pathway-card.active { border-color: var(--orange); background: var(--orange-lt); }
.pathway-ico {
  width: 38px; height: 38px; border-radius: 9px;
  background: white; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--border);
}
.pathway-card.active .pathway-ico { background: var(--orange); border-color: var(--orange); }
.pathway-ico svg { width: 17px; height: 17px; stroke: var(--ink-mid); fill: none; stroke-width: 2; }
.pathway-card.active .pathway-ico svg { stroke: white; }
.pathway-title { font-size: 14px; font-weight: 600; color: var(--ink); }
.pathway-sub { font-size: 12px; color: var(--ink-lt); margin-top: 1px; }
.pathway-card.active .pathway-title { color: var(--orange-dk); }
.pathway-arrow { margin-left: auto; flex-shrink: 0; opacity: 0; transition: opacity .2s; }
.pathway-card:hover .pathway-arrow, .pathway-card.active .pathway-arrow { opacity: 1; }
.pathway-arrow svg { width: 14px; height: 14px; stroke: var(--orange); fill: none; stroke-width: 2.5; }

/* Hours */
.hours-block {
  background: var(--warm); border-radius: var(--r-md);
  padding: 1.4rem 1.5rem; border: 1px solid var(--border);
}
.hours-title {
  font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase;
  color: var(--ink-lt); margin-bottom: 1rem;
  display: flex; align-items: center; gap: 7px;
}
.hours-title svg { width: 13px; height: 13px; stroke: var(--ink-lt); fill: none; stroke-width: 2; }
.hours-row {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 13.5px; color: var(--ink-mid);
  padding: .5rem 0; border-bottom: 1px solid var(--border);
}
.hours-row:last-child { border-bottom: none; }
.hours-row .day { font-weight: 400; }
.hours-row .time { font-weight: 600; color: var(--ink); }
.hours-badge {
  display: inline-flex; align-items: center; gap: 4px;
  background: var(--green-lt); color: var(--green-dk);
  font-size: 10.5px; font-weight: 700; letter-spacing: .04em;
  text-transform: uppercase; padding: 2px 8px; border-radius: 100px;
}
.hours-badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--green-mid); }

/* Form card */
.contact-form-card {
  background: var(--warm); border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 2.5rem;
  position: sticky; top: 86px;
}
.form-header { margin-bottom: 1.75rem; }
.form-header-tag {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--green-lt); color: var(--green-dk);
  font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
  padding: 4px 10px; border-radius: 100px; margin-bottom: .9rem;
}
.form-header-tag svg { width: 12px; height: 12px; stroke: var(--green); fill: none; stroke-width: 2.5; }
.form-title { font-family: var(--ff-display); font-size: 1.5rem; color: var(--ink); line-height: 1.2; margin-bottom: .4rem; }
.form-sub { font-size: 13.5px; color: var(--ink-mid); line-height: 1.6; }
.form-sub strong { color: var(--ink); font-weight: 600; }

.form-context-hint {
  background: white; border: 1px solid rgba(232,82,26,.15);
  border-left: 3px solid var(--orange);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  padding: .75rem 1rem; font-size: 13px; color: var(--ink-mid);
  margin-bottom: 1.5rem; display: none;
}
.form-context-hint.show { display: block; }

.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }
.form-group { display:flex; flex-direction:column; gap:5px; margin-bottom:1rem; }
.form-group label { font-size:12.5px; font-weight:600; color:var(--ink); }
.form-group label .opt { font-weight:400; color:var(--ink-lt); }
.form-group input, .form-group select, .form-group textarea {
  background:white; border:1.5px solid rgba(46,107,31,.18); border-radius:var(--r-sm);
  padding:11px 14px; font-size:14px; font-family:var(--ff-body); color:var(--ink);
  transition:border-color .2s, box-shadow .2s; outline:none; resize:none; width:100%;
  appearance:none; -webkit-appearance:none;
}
.form-group select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; padding-right:36px;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
  border-color:var(--orange); box-shadow:0 0 0 3px rgba(232,82,26,.1);
}
.form-group input::placeholder, .form-group textarea::placeholder { color:#bbb; }
.form-group textarea { height:100px; }

.form-consent {
  display:flex; align-items:flex-start; gap:10px;
  font-size:12px; color:var(--ink-lt); line-height:1.55; margin-bottom:1.25rem;
}
.form-consent input[type="checkbox"] {
  width:16px; height:16px; margin-top:1px; flex-shrink:0;
  accent-color:var(--orange); cursor:pointer;
}
.form-consent a { color:var(--orange); text-decoration:underline; }

.btn-submit {
  width:100%; display:flex; align-items:center; justify-content:center; gap:8px;
  background:linear-gradient(135deg, var(--orange) 0%, #F5720A 100%);
  color:white; font-size:15px; font-weight:600;
  padding:14px 24px; border-radius:100px;
  border:none; cursor:pointer;
  transition:transform .18s, box-shadow .18s;
  font-family:var(--ff-body);
}
.btn-submit:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(232,82,26,.35); }
.btn-submit:active { transform:scale(.98); }
.btn-submit svg { width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2.5; flex-shrink:0; }

.form-success {
  display:none; align-items:flex-start; gap:12px;
  background:var(--green-lt); border:1px solid rgba(46,107,31,.2);
  border-radius:var(--r-sm); padding:1.1rem 1.25rem;
  font-size:14px; color:var(--green-dk); line-height:1.6; margin-top:1rem;
}
.form-success.show { display:flex; }
.form-success svg { width:20px; height:20px; stroke:var(--green); fill:none; stroke-width:2.5; flex-shrink:0; margin-top:1px; }

.response-badge {
  display:flex; align-items:center; gap:7px;
  font-size:12px; color:var(--ink-lt); margin-top:1rem; justify-content:center;
}
.response-badge svg { width:13px; height:13px; stroke:var(--ink-lt); fill:none; stroke-width:2; }

/* Referrals strip */
.referrals-strip { background:var(--green); padding:3.5rem var(--px); }
.referrals-strip-inner {
  max-width:var(--max-w-wide); margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:3rem; flex-wrap:wrap;
}
.referrals-text .eyebrow { color:var(--green-mid); margin-bottom:.75rem; }
.referrals-text .h2 { color:white; margin-bottom:.5rem; font-size:clamp(1.4rem,2.5vw,2rem); }
.referrals-text p { color:rgba(255,255,255,.65); font-size:14px; max-width:440px; line-height:1.7; }
.referrals-actions { display:flex; flex-direction:column; gap:.75rem; flex-shrink:0; }
.ref-btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 24px; border-radius:var(--r-sm);
  font-size:14px; font-weight:600; white-space:nowrap;
  transition:transform .18s, box-shadow .18s;
  font-family:var(--ff-body); cursor:pointer; border:none; text-decoration:none;
}
.ref-btn-primary { background:white; color:var(--green-dk); }
.ref-btn-primary:hover { transform:translateY(-1px); box-shadow:0 6px 20px rgba(0,0,0,.2); }
.ref-btn-outline { background:transparent; color:white; border:1.5px solid rgba(255,255,255,.35); }
.ref-btn-outline:hover { border-color:rgba(255,255,255,.7); }
.ref-btn svg { width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:2.5; }

/* =============================================
   CAREERS PAGE
   ============================================= */
.careers-page { padding:var(--gap) var(--px); background:white; }
.careers-page-inner { margin:0 auto; }
.careers-why { padding:var(--gap) var(--px); background:var(--warm); }
.careers-why-inner { margin:0 auto; }
.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:3rem; }
.why-card {
  background:white; border-radius:var(--r-lg); padding:2rem;
  border:1px solid var(--border); transition:transform .23s, box-shadow .23s;
}
.why-card:hover { transform:translateY(-3px); box-shadow:0 12px 32px rgba(0,0,0,.08); }
.why-icon {
  width:44px; height:44px; border-radius:11px; background:var(--green-lt);
  display:flex; align-items:center; justify-content:center; margin-bottom:1.1rem;
}
.why-icon svg { width:21px; height:21px; stroke:var(--green); fill:none; stroke-width:1.75; }
.why-title { font-family:var(--ff-display); font-size:1.2rem; color:var(--ink); margin-bottom:.5rem; }
.why-desc { font-size:13.5px; color:var(--ink-mid); line-height:1.65; }
.roles-section { padding:var(--gap) var(--px); background:white; }
.roles-section-inner { margin:0 auto; }
.roles-grid { display:flex; flex-direction:column; gap:1rem; margin-top:2.75rem; }
.role-card {
  background:var(--warm); border:1px solid var(--border); border-radius:var(--r-md);
  padding:1.75rem 2rem; display:flex; align-items:center; justify-content:space-between;
  gap:2rem; transition:border-color .23s, box-shadow .23s;
}
.role-card:hover { border-color:rgba(232,82,26,.3); box-shadow:0 6px 20px rgba(0,0,0,.06); }
.role-info { flex:1; }
.role-title { font-family:var(--ff-display); font-size:1.2rem; color:var(--ink); margin-bottom:.35rem; }
.role-meta { display:flex; align-items:center; gap:1.25rem; flex-wrap:wrap; }
.role-badge {
  display:inline-flex; align-items:center; gap:5px;
  font-size:11px; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
  background:var(--orange-lt); color:var(--orange); padding:3px 9px; border-radius:100px;
}
.role-badge.green { background:var(--green-lt); color:var(--green-dk); }
.role-loc { font-size:13px; color:var(--ink-lt); display:flex; align-items:center; gap:4px; }
.role-loc svg { width:12px; height:12px; stroke:currentColor; fill:none; stroke-width:2; }
.careers-apply { padding:var(--gap) var(--px); background:var(--green); }
.careers-apply-inner { margin:0 auto; text-align:center; }
.careers-apply .h2 { color:white; margin-bottom:1rem; }
.careers-apply .body-lg { color:rgba(255,255,255,.72); margin-bottom:2rem; max-width:500px; margin-left:auto; margin-right:auto; }

/* =============================================
   CAREERS PAGE v2 — enhanced
   ============================================= */

/* Hero — full bleed with photo overlay */
.car2-hero {
  position:relative; min-height:74vh; display:flex; align-items:flex-end;
  padding-bottom:5rem; overflow:hidden;
}
.car2-hero-bg {
  position:absolute; inset:0; z-index:0;
  background: linear-gradient(135deg, #1E4A12 0%, #2E6B1F 40%, #1A3A0A 100%);
}
.car2-hero-overlay {
  position:absolute; inset:0; z-index:1;
  background: linear-gradient(to top, rgba(10,30,5,.82) 0%, rgba(10,30,5,.4) 50%, rgba(10,30,5,.2) 100%);
}
.car2-hero-photo {
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%; object-fit:cover; object-position:center 20%;
  opacity:.45;
}
.car2-hero-inner {
  position:relative; z-index:2;
  padding:0 var(--px); width:100%;
  display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:flex-end;
}
.car2-hero-copy .eyebrow {
  color:rgba(255,255,255,.65); margin-bottom:1.1rem;
  display:flex; align-items:center; gap:8px;
}
.car2-hero-copy .eyebrow::before {
  content:''; display:block; width:20px; height:2px; background:var(--orange); border-radius:2px;
}
.car2-hero-title {
  font-family:var(--ff-display);
  font-size:clamp(2.6rem,5vw,4.2rem);
  line-height:1.06; letter-spacing:-.025em; color:white;
  margin-bottom:1.25rem;
}
.car2-hero-title em { font-style:italic; color:var(--green-mid); }
.car2-hero-desc {
  font-size:1rem; color:rgba(255,255,255,.72); line-height:1.78; max-width:460px;
  margin-bottom:2rem;
}
.car2-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }

/* Hero right — social proof card */
.car2-proof-card {
  background:rgba(255,255,255,.09); backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.14); border-radius:var(--r-lg);
  padding:2rem 2.25rem;
}
.car2-proof-top {
  display:flex; align-items:center; gap:12px; margin-bottom:1.5rem;
  padding-bottom:1.25rem; border-bottom:1px solid rgba(255,255,255,.1);
}
.car2-proof-icon {
  width:42px; height:42px; border-radius:11px;
  background:rgba(125,194,42,.2); display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.car2-proof-icon svg { width:20px; height:20px; stroke:var(--green-mid); fill:none; stroke-width:1.8; }
.car2-proof-label { font-size:12px; color:rgba(255,255,255,.55); margin-bottom:2px; }
.car2-proof-value { font-family:var(--ff-display); font-size:1.4rem; color:white; line-height:1.1; }
.car2-proof-stats { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.car2-stat-item { }
.car2-stat-num { font-family:var(--ff-display); font-size:2rem; color:white; line-height:1; }
.car2-stat-num span { font-size:1.1rem; color:var(--green-mid); }
.car2-stat-label { font-size:11.5px; color:rgba(255,255,255,.5); margin-top:3px; }
.car2-proof-avatars { margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid rgba(255,255,255,.1); display:flex; align-items:center; gap:10px; }
.car2-av-stack { display:flex; }
.car2-av {
  width:28px; height:28px; border-radius:50%; border:2px solid rgba(255,255,255,.2);
  background:var(--green-dk); display:flex; align-items:center; justify-content:center;
  font-size:10px; font-weight:700; color:var(--green-mid); margin-left:-6px;
}
.car2-av:first-child { margin-left:0; }
.car2-av-text { font-size:11.5px; color:rgba(255,255,255,.6); line-height:1.4; }
.car2-av-text strong { color:white; display:block; font-size:12px; }

/* Values strip */
.car2-values-strip {
  background:var(--green); border-bottom:none;
  padding:2.25rem var(--px-wide);
}
.car2-values-inner {
  margin:0 auto; display:flex; align-items:center; gap:0;
}
.car2-val-item {
  flex:1; display:flex; align-items:center; gap:11px;
  padding:0 1.5rem; border-right:1px solid rgba(255,255,255,.15);
}
.car2-val-item:first-child { padding-left:0; }
.car2-val-item:last-child { border-right:none; }
.car2-val-dot {
  width:30px; height:30px; border-radius:7px; background:rgba(255,255,255,.14);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.car2-val-dot svg { width:15px; height:15px; stroke:white; fill:none; stroke-width:2; }
.car2-val-name { font-size:12.5px; font-weight:700; color:white; line-height:1.2; }
.car2-val-tagline { font-size:10.5px; color:rgba(255,255,255,.52); margin-top:1px; }

/* Why join us — 2 col with photo */
.car2-why {
  padding:var(--gap) var(--px); background:var(--warm);
}
.car2-why-inner {
  margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start;
}
.car2-why-left { }
.car2-why-left .eyebrow { margin-bottom:1rem; }
.car2-why-left .h2 { margin-bottom:1rem; }
.car2-why-left .body-lg { margin-bottom:2.25rem; }
.car2-why-photo-wrap {
  position:relative; border-radius:var(--r-lg); overflow:hidden;
  height:320px; background:var(--green-lt);
}
.car2-why-photo-wrap img {
  width:100%; height:100%; object-fit:cover; object-position:center top;
}
.car2-why-photo-badge {
  position:absolute; bottom:1.25rem; left:1.25rem;
  background:white; border-radius:var(--r-md);
  padding:.9rem 1.1rem; display:flex; align-items:center; gap:10px;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.car2-why-photo-badge-icon {
  width:36px; height:36px; border-radius:9px; background:var(--green-lt);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.car2-why-photo-badge-icon svg { width:17px; height:17px; stroke:var(--green); fill:none; stroke-width:2; }
.car2-why-photo-badge-text { font-size:12px; font-weight:600; color:var(--ink); line-height:1.35; }
.car2-why-photo-badge-text span { display:block; font-weight:400; color:var(--ink-lt); font-size:11px; }

.car2-perks { display:flex; flex-direction:column; gap:.75rem; }
.car2-perk {
  background:white; border:1px solid var(--border); border-radius:var(--r-md);
  padding:1.1rem 1.25rem; display:flex; align-items:flex-start; gap:1rem;
  transition:border-color .2s, transform .2s;
}
.car2-perk:hover { border-color:rgba(46,107,31,.25); transform:translateX(3px); }
.car2-perk-icon {
  width:38px; height:38px; border-radius:9px; background:var(--green-lt);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px;
}
.car2-perk-icon svg { width:17px; height:17px; stroke:var(--green); fill:none; stroke-width:1.8; }
.car2-perk-body { flex:1; }
.car2-perk-title { font-size:14px; font-weight:600; color:var(--ink); margin-bottom:2px; }
.car2-perk-desc { font-size:12.5px; color:var(--ink-mid); line-height:1.55; }

/* Roles section v2 */
.car2-roles { padding:var(--gap) var(--px); background:white; }
.car2-roles-inner { margin:0 auto; }
.car2-roles-head {
  display:flex; align-items:flex-end; justify-content:space-between;
  margin-bottom:2.5rem; gap:1rem; flex-wrap:wrap;
}
.car2-roles-head-left .eyebrow { margin-bottom:.75rem; }
.car2-roles-tag-row {
  display:flex; gap:.5rem; flex-wrap:wrap; margin-top:1rem;
}
.car2-tag {
  padding:6px 14px; border-radius:100px; font-size:12px; font-weight:500;
  border:1.5px solid var(--border); color:var(--ink-mid); cursor:pointer;
  transition:border-color .18s, background .18s, color .18s;
}
.car2-tag.active, .car2-tag:hover {
  border-color:var(--green); background:var(--green-lt); color:var(--green-dk);
}
.car2-roles-grid { display:flex; flex-direction:column; gap:1px; background:var(--border); border-radius:var(--r-md); overflow:hidden; }
.car2-role {
  background:white; padding:1.75rem 2rem;
  display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center;
  transition:background .18s;
}
.car2-role:hover { background:var(--warm); }
.car2-role-title { font-family:var(--ff-display); font-size:1.15rem; color:var(--ink); margin-bottom:.5rem; }
.car2-role-meta { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }
.car2-role-pill {
  display:inline-flex; align-items:center; gap:4px;
  font-size:10.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
  padding:3px 9px; border-radius:100px;
}
.car2-role-pill.orange { background:var(--orange-lt); color:var(--orange-dk); }
.car2-role-pill.green { background:var(--green-lt); color:var(--green-dk); }
.car2-role-pill.slate { background:#f0f0f0; color:#555; }
.car2-role-loc { font-size:12.5px; color:var(--ink-lt); display:flex; align-items:center; gap:4px; }
.car2-role-loc svg { width:11px; height:11px; stroke:currentColor; fill:none; stroke-width:2; flex-shrink:0; }
.car2-role-actions { display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.car2-role-salary { font-size:12px; color:var(--ink-lt); text-align:right; }

/* Application form section */
.car2-apply {
  padding:var(--gap) var(--px); background:var(--warm);
  border-top:1px solid var(--border);
}
.car2-apply-inner {
  margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start;
}
.car2-apply-copy { }
.car2-apply-copy .eyebrow { margin-bottom:1rem; }
.car2-apply-copy .h2 { margin-bottom:1rem; }
.car2-apply-copy .body-lg { margin-bottom:2rem; }
.car2-apply-steps { display:flex; flex-direction:column; gap:.85rem; }
.car2-step {
  display:flex; align-items:flex-start; gap:12px;
}
.car2-step-num {
  width:28px; height:28px; border-radius:50%;
  background:var(--green); color:white;
  font-size:11px; font-weight:700;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  margin-top:1px;
}
.car2-step-text { font-size:13.5px; color:var(--ink-mid); line-height:1.55; }
.car2-step-text strong { color:var(--ink); display:block; font-size:13.5px; margin-bottom:1px; }

.car2-form-card {
  background:white; border:1px solid var(--border); border-radius:var(--r-lg);
  padding:2.25rem; box-shadow:0 4px 20px rgba(0,0,0,.05);
}
.car2-form-title { font-family:var(--ff-display); font-size:1.35rem; color:var(--ink); margin-bottom:.35rem; }
.car2-form-sub { font-size:13px; color:var(--ink-lt); margin-bottom:1.75rem; }
.car2-form-row { margin-bottom:1.1rem; }
.car2-form-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.1rem; }
.car2-label { display:block; font-size:12px; font-weight:600; color:var(--ink); margin-bottom:5px; letter-spacing:.02em; }
.car2-label span { color:var(--orange); }
.car2-input, .car2-select, .car2-textarea {
  width:100%; padding:10px 13px; border-radius:var(--r-sm);
  border:1.5px solid rgba(0,0,0,.12); font-family:var(--ff-body); font-size:13.5px;
  color:var(--ink); background:white; outline:none;
  transition:border-color .18s, box-shadow .18s;
}
.car2-input:focus, .car2-select:focus, .car2-textarea:focus {
  border-color:var(--green); box-shadow:0 0 0 3px rgba(46,107,31,.08);
}
.car2-textarea { resize:vertical; min-height:90px; }
.car2-consent { display:flex; align-items:flex-start; gap:9px; margin-bottom:1.4rem; }
.car2-consent input[type=checkbox] { margin-top:3px; width:15px; height:15px; accent-color:var(--green); flex-shrink:0; }
.car2-consent-text { font-size:12px; color:var(--ink-lt); line-height:1.55; }
.car2-consent-text a { color:var(--green); text-decoration:underline; }
.car2-form-success { display:none; text-align:center; padding:2rem 1rem; }
.car2-form-success.show { display:block; }
.car2-success-icon {
  width:52px; height:52px; border-radius:50%; background:var(--green-lt);
  display:flex; align-items:center; justify-content:center; margin:0 auto 1rem;
}
.car2-success-icon svg { width:24px; height:24px; stroke:var(--green); fill:none; stroke-width:2; }
.car2-success-title { font-family:var(--ff-display); font-size:1.4rem; color:var(--ink); margin-bottom:.5rem; }
.car2-success-desc { font-size:13.5px; color:var(--ink-mid); line-height:1.6; }

/* Speculative CTA */
.car2-spec {
  padding:4.5rem var(--px); background:var(--green-dk);
}
.car2-spec-inner {
  margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:3rem; flex-wrap:wrap;
}
.car2-spec-copy .eyebrow { color:rgba(255,255,255,.45); margin-bottom:.75rem; }
.car2-spec-copy .h2 { color:white; margin-bottom:.6rem; }
.car2-spec-copy p { font-size:14px; color:rgba(255,255,255,.6); max-width:420px; line-height:1.7; }

/* Mobile adjustments for new sections */
@media (max-width:900px) {
  .car2-hero-inner { grid-template-columns:1fr; gap:2.5rem; }
  .car2-proof-card { display:none; }
  .car2-values-inner { flex-wrap:wrap; gap:1rem; }
  .car2-val-item { flex:calc(50% - .5rem); border-right:none; padding:0; }
  .car2-why-inner { grid-template-columns:1fr; gap:3rem; }
  .car2-apply-inner { grid-template-columns:1fr; gap:3rem; }
  .car2-form-row-2 { grid-template-columns:1fr; }
  .car2-roles-head { flex-direction:column; align-items:flex-start; }
  .car2-role { grid-template-columns:1fr; gap:1rem; }
  .car2-role-actions { flex-direction:row; align-items:center; }
  .car2-spec-inner { flex-direction:column; }
}

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width:900px) {
  .hero-grid { grid-template-columns:1fr; padding:3.5rem var(--px) 3rem; }
  .hero-visual { display:none; }
  .stats-top { grid-template-columns:1fr; gap:1.25rem; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .about-prev-inner { grid-template-columns:1fr; gap:3rem; }
  .about-stack { height:280px; }
  .services-grid { grid-template-columns:1fr; }
  .svc-card.feat { grid-column:1; grid-template-columns:1fr; }
  .feat-badge { display:none; }
  .testi-track { grid-template-columns:1fr; }
  .testi-head { flex-direction:column; align-items:flex-start; }
  .careers-prev-inner { grid-template-columns:1fr; gap:3rem; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:2.25rem; }
  .about-page-intro-inner { grid-template-columns:1fr; gap:3rem; }
  .about-values-grid { grid-template-columns:1fr 1fr; }
  .team-grid { grid-template-columns:1fr 1fr; }
  .contact-hero-inner { grid-template-columns:1fr; gap:2.5rem; padding-bottom:3rem; }
  .hero-cards { padding-bottom:0; }
  .contact-body-inner { grid-template-columns:1fr; gap:3rem; }
  .contact-form-card { position:static; }
  .referrals-strip-inner { flex-direction:column; }
  .svcs-page-grid { grid-template-columns:1fr; }
  .svcs-cta-strip { grid-template-columns:1fr; }
  .why-grid { grid-template-columns:1fr 1fr; }
  .tb-div { display:none; }
  .trust-bar-inner { justify-content:center; }
}
@media (max-width:600px) {
  :root { --gap:3rem; }
  .nav-links, .nav-tel, .nav-cta-desk { display:none; }
  .hamburger { display:flex; }
  .stats-grid { grid-template-columns:1fr 1fr; }
  .car-vals { grid-template-columns:1fr; }
  .about-values-grid, .team-grid, .why-grid { grid-template-columns:1fr; }
  #page-about .team-grid { grid-template-columns:1fr 1fr !important; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; align-items:flex-start; }
  .form-row { grid-template-columns:1fr; }
  .svcs-cta-strip { padding:2rem; }
  .role-card { flex-direction:column; align-items:flex-start; gap:.9rem; }
  .contact-trust-inner { flex-direction:column; align-items:flex-start; gap:1rem; }
  .trust-divider { display:none; }
}

/* =============================================
   SERVICES PAGE — RICH LAYOUT
   ============================================= */
.svc-feature {
  padding: var(--gap) var(--px);
  border-bottom: 1px solid var(--border);
}
.svc-feature:last-of-type { border-bottom: none; }
.svc-feature-inner {
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
}
.svc-feature.reverse .svc-feature-inner { }
.svc-feature-img {
  border-radius: var(--r-lg);
  overflow: hidden;
  position: relative;
  background: var(--warm);
  min-height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.svc-feature-img-placeholder {
  width: 100%;
  height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.svc-feature-badge {
  position: absolute;
  bottom: 1.25rem;
  left: 1.25rem;
  background: white;
  border-radius: var(--r-sm);
  padding: .7rem 1.1rem;
  display: flex;
  align-items: center;
  gap: .6rem;
  box-shadow: 0 4px 16px rgba(0,0,0,.12);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ink);
}
.svc-feature-badge svg { width: 16px; height: 16px; stroke: var(--green); fill: none; stroke-width: 2; }
.svc-feature-copy .eyebrow { margin-bottom: .9rem; }
.svc-feature-copy .svc-title { font-family: var(--ff-display); font-size: clamp(1.6rem,2.8vw,2.2rem); color: var(--ink); margin-bottom: 1rem; line-height: 1.15; }
.svc-feature-copy .body-lg { margin-bottom: 1.1rem; }
.svc-feature-copy .svc-tags { margin-bottom: 1.5rem; }

/* Photo carousel */
.svc-carousel-section { padding: var(--gap) var(--px); background: var(--ink); }
.svc-carousel-inner { margin: 0 auto; }
.svc-carousel-head { text-align: center; margin-bottom: 2.5rem; }
.svc-carousel-head .eyebrow { color: rgba(255,255,255,.45); margin-bottom: .8rem; }
.svc-carousel-head h2 { color: white; }
.svc-carousel-track {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: .75rem;
}
.svc-carousel-photo {
  border-radius: var(--r-md);
  overflow: hidden;
  aspect-ratio: 4/3;
  background: rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.svc-carousel-photo svg { width: 36px; height: 36px; opacity: .2; }

/* Accommodation photo grid */
.svc-photo-grid-section { padding: var(--gap) var(--px); background: var(--warm); }
.svc-photo-grid-inner { margin: 0 auto; }
.svc-photo-grid-head { text-align: center; margin-bottom: 2.5rem; }
.svc-photo-grid-head .eyebrow { margin-bottom: .8rem; }
.svc-photo-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: .75rem;
  margin-bottom: 2rem;
}
.svc-photo-cell {
  border-radius: var(--r-md);
  overflow: hidden;
  aspect-ratio: 4/3;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
}
.svc-photo-cell svg { width: 32px; height: 32px; opacity: .18; }

/* Testimonial pull-quote */
.svc-testimonial {
  padding: 3rem var(--px);
  background: white;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.svc-testimonial-inner {
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 3rem;
}
.svc-testimonial-logo {
  flex-shrink: 0;
  width: 120px;
}
.svc-testimonial-logo img { width: 100%; }
.svc-testimonial-quote {
  font-family: var(--ff-display);
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  color: var(--ink);
  line-height: 1.45;
  font-style: italic;
}
.svc-testimonial-cite {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--ink-lt);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-top: .6rem;
  display: block;
}

@media (max-width: 900px) {
  .svc-feature-inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .svc-feature.reverse .svc-feature-inner .svc-feature-img { order: -1; }
  .svc-carousel-track, .svc-photo-grid { grid-template-columns: repeat(3, 1fr); }
  .svc-testimonial-inner { flex-direction: column; text-align: center; }
}
@media (max-width: 600px) {
  .svc-carousel-track { grid-template-columns: repeat(2, 1fr); }
  .svc-photo-grid { grid-template-columns: repeat(2, 1fr); }
}


/* --- Fun Activities Section --- */
.svcs-fun-activities { padding:var(--gap) var(--px-wide); background:var(--ink); }
.svcs-fun-inner { max-width:var(--max-w-wide); margin:0 auto; }
.svcs-fun-inner .eyebrow { color:rgba(255,255,255,.4); margin-bottom:1rem; }
.svcs-fun-inner .h2 { color:white; margin-bottom:.6rem; }
.svcs-fun-inner .body-lg { color:rgba(255,255,255,.55); max-width:560px; margin-bottom:2.5rem; }
.svcs-fun-grid {
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap:.85rem;
  height:380px;
}
.svcs-fun-cell {
  border-radius:var(--r-md); overflow:hidden; position:relative;
  transition:transform .23s;
}
.svcs-fun-cell:hover { transform:scale(1.015); }
.svcs-fun-cell img { width:100%; height:100%; object-fit:cover; display:block; }
.svcs-fun-cell::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.55) 0%, transparent 50%);
  pointer-events:none;
}
.svcs-fun-label {
  position:absolute; bottom:.75rem; left:.85rem; z-index:2;
  color:white; font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
}
.svcs-fun-pills {
  display:flex; flex-wrap:wrap; align-items:center; gap:.6rem;
  margin-top:1.5rem;
}
.svcs-fun-pill {
  display:inline-flex; align-items:center; gap:.4rem;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12);
  border-radius:100px; padding:.35rem .9rem;
  font-size:11.5px; color:rgba(255,255,255,.6);
}
.svcs-fun-pill svg { width:13px; height:13px; stroke:var(--green-mid); fill:none; stroke-width:2; flex-shrink:0; }
@media (max-width:1100px) { .svcs-fun-grid { grid-template-columns:1fr 1fr; height:auto; } .svcs-fun-cell { aspect-ratio:4/3; } }
@media (max-width:600px) { .svcs-fun-grid { grid-template-columns:1fr 1fr; } }

/* === Homepage 2026 Redesign additions === */

/* Stats image intro card */
.stats-img-intro {
  margin-bottom: 2.5rem;
  border-radius: 14px;
  overflow: hidden;
}
.stats-img-content {
  position: relative;
  min-height: 220px;
  background: linear-gradient(135deg, var(--green) 0%, #1a3a0e 100%);
  display: flex;
  align-items: flex-end;
}
.stats-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(26,26,24,.8) 0%, rgba(26,26,24,.2) 60%, transparent 100%);
  pointer-events: none;
}
.stats-img-caption {
  position: relative;
  z-index: 1;
  padding: 2rem 2rem 1.75rem;
  width: 100%;
}
@media (max-width: 640px) {
  .stats-img-content { min-height: 180px; }
  .stats-img-caption { padding: 1.5rem; }
}

/* Careers values 2×2 grid */
.car-vals-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.75rem !important;
}
.car-vals-grid .car-val {
  background: #fff;
  border: 1px solid rgba(0,0,0,.05);
  border-radius: 10px;
  padding: 0.9rem 1rem;
}
@media (max-width: 640px) {
  .car-vals-grid { grid-template-columns: 1fr !important; }
}

/* Stat card colour-bar underline */
.stat { position: relative; overflow: hidden; }

/* ═══════════════════════════════════════════
   PREMIUM FLOATING PILL NAV — 2026 (refined)
═══════════════════════════════════════════ */

/* Wrapper */
.nav {
  position:relative;
  padding:0;
  background:var(--ink);
  z-index:200;
  pointer-events:all;
}
.gnav-pill-wrap {
  display:flex;
  pointer-events:none;
}

/* Pill base — flat bar in hero, morphs to pill on scroll */
.gnav-pill {
  background:#1A1A18;
  border-radius:0;
  display:flex; align-items:center;
  padding:0 24px;
  height:62px;
  width:100%;
  max-width:100%;
  pointer-events:all;
  transition:
    max-width     380ms cubic-bezier(.16,1,.3,1),
    border-radius 380ms cubic-bezier(.16,1,.3,1),
    box-shadow    380ms cubic-bezier(.16,1,.3,1),
    height        380ms cubic-bezier(.16,1,.3,1),
    opacity       220ms ease,
    transform     220ms ease;
}

/* ── STATE 2: scrolled — morphs into floating pill ── */
/* scrolled state moved to floating pill */
/* pill scrolled state moved to floating pill */

/* ── STATE 3: scroll-active — quiet, peripheral ── */
/* scroll-active / scroll-idle only affect desktop — mobile nav stays always visible */
@media (min-width:769px) {
.nav.scroll-active .gnav-pill {
  opacity:0.42;
  transform:scale(0.985);
  transition:
    max-width     380ms cubic-bezier(.16,1,.3,1),
    box-shadow    380ms cubic-bezier(.16,1,.3,1),
    height        380ms cubic-bezier(.16,1,.3,1),
    opacity       80ms ease,
    transform     80ms ease;
}

/* ── STATE 4: scroll-idle — ghost, nearly invisible ── */
.nav.scroll-idle .gnav-pill {
  opacity:0;
  transform:scale(0.98);
  pointer-events:none;
  transition:
    max-width     380ms cubic-bezier(.16,1,.3,1),
    box-shadow    380ms cubic-bezier(.16,1,.3,1),
    height        380ms cubic-bezier(.16,1,.3,1),
    opacity       200ms ease,
    transform     200ms ease;
}
}

/* ── HOVER on pill — full presence, instant ── */
.gnav-pill:hover {
  opacity:1 !important;
  transform:scale(1) !important;
  transition:
    max-width     380ms cubic-bezier(.16,1,.3,1),
    box-shadow    380ms cubic-bezier(.16,1,.3,1),
    height        380ms cubic-bezier(.16,1,.3,1),
    opacity       150ms ease,
    transform     150ms ease;
}

/* ── LOGO ── */
.gnav-logo {
  display:flex; align-items:center; gap:8px;
  text-decoration:none; flex-shrink:0; margin-right:12px;
}
.gnav-logo-dot {
  width:42px; height:42px;
  background:transparent; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
}
.gnav-logo-img {
  width:100%; height:100%;
  object-fit:contain; display:block;
}
.gnav-wordmark {
  font-size:13.5px; font-weight:700; color:#FFA915;
  letter-spacing:.12em; white-space:nowrap; text-transform:uppercase;
}
.gnav-wordmark span { color:#FF320D; }

/* ── DIVIDER ── */
.gnav-div {
  width:1px; height:18px; background:rgba(255,255,255,.12);
  margin:0 14px; flex-shrink:0;
}

/* ── NAV LINKS ── */
.gnav-links {
  display:flex; align-items:center; gap:4px;
  flex:1; justify-content:center; list-style:none; margin:0; padding:0;
}
.gnav-link {
  font-size:13px; color:rgba(255,255,255,.55);
  text-decoration:none; padding:7px 14px; border-radius:100px;
  position:relative; white-space:nowrap;
  transition:color 180ms ease;
  display:flex; flex-direction:column; align-items:center;
  background:transparent;
}
.gnav-link:hover { color:#fff; }
.gnav-link.active { color:#fff; }
.gnav-link .nav-dot {
  width:4px; height:4px; border-radius:50%; background:#7DC22A;
  opacity:0; transform:translateY(2px);
  transition:opacity 220ms ease, transform 220ms ease;
  position:absolute; bottom:2px; left:50%; translate:-50% 0;
}
.gnav-link.active .nav-dot { opacity:1; transform:translateY(0); }

/* ── PHONE ── */
.gnav-tel {
  font-size:12px; font-weight:500; color:rgba(255,255,255,.50);
  display:flex; align-items:center; gap:5px;
  text-decoration:none; white-space:nowrap; flex-shrink:0;
  transition:color 180ms ease; margin-right:8px;
}
.gnav-tel:hover { color:rgba(255,255,255,.85); }
.gnav-tel svg {
  width:12px; height:12px; stroke:currentColor; fill:none;
  stroke-width:2; stroke-linecap:round; stroke-linejoin:round;
}

/* ── CTA ── */
.gnav-cta {
  background:#E8521A; color:#fff;
  font-size:12.5px; font-weight:600; letter-spacing:-.01em;
  padding:0 18px; height:36px; border-radius:100px;
  text-decoration:none; display:flex; align-items:center; gap:5px;
  white-space:nowrap; flex-shrink:0;
  transition:opacity 150ms ease, transform 150ms ease;
}
.gnav-cta:hover { opacity:.88; transform:translateY(-1px); }
.gnav-cta svg {
  width:11px; height:11px; stroke:#fff; fill:none;
  stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round;
}

/* ── FOCUS ── */
.gnav-link:focus-visible {
  outline:2px solid #E8521A; outline-offset:2px; border-radius:6px;
}
.gnav-cta:focus-visible { outline:2px solid #fff; outline-offset:3px; }

/* ── RESPONSIVE ── */
@media (max-width:900px) { .gnav-tel { display:none; } }
@media (max-width:768px) {
  .gnav-links, .gnav-div, .gnav-cta { display:none; }
  .gnav-pill { justify-content:space-between; padding:0 12px 0 16px; }
  .nav { padding:0; position:static; }
  .nav.scrolled { padding:0; }
  .hamburger { display:flex; }
}
/* ═══════════════════════════════════════════
   FAQ SECTION — Homepage
═══════════════════════════════════════════ */
.faq-section {
  background:var(--ink);
  padding:var(--gap) var(--px);
  position:relative;
  overflow:hidden;
}
.faq-section::before {
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 50% 60% at 100% 0%, rgba(46,107,31,.14) 0%, transparent 60%),
    radial-gradient(ellipse 35% 45% at 0% 100%, rgba(232,82,26,.08) 0%, transparent 55%);
  pointer-events:none;
}
.faq-inner {
  max-width:var(--max-w-wide);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1.6fr;
  gap:5rem;
  align-items:start;
  position:relative;
  z-index:1;
}
.faq-left {
  position:sticky;
  top:100px;
}
.faq-eyebrow {
  font-size:11px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--green-lt);
  margin-bottom:.75rem; display:block;
}
.faq-heading {
  font-family:var(--ff-display);
  font-size:clamp(2rem,3.5vw,3rem);
  font-weight:500; line-height:1.1;
  letter-spacing:-.02em; color:#fff;
  margin-bottom:1.25rem;
}
.faq-heading em { color:var(--green-lt); font-style:normal; }
.faq-subtext {
  font-size:.9rem; color:rgba(255,255,255,.55);
  line-height:1.7; margin-bottom:2rem;
}
.faq-contact-link {
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.85rem; font-weight:600; color:#fff;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.15);
  padding:.6rem 1.1rem; border-radius:100px;
  transition:border-color .2s, background .2s;
}
.faq-contact-link:hover {
  border-color:rgba(255,255,255,.35);
  background:rgba(255,255,255,.06);
}
.faq-contact-link svg {
  width:14px; height:14px; stroke:currentColor;
  fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;
}

/* Accordion */
.faq-list {
  display:flex; flex-direction:column;
  border-top:1px solid rgba(255,255,255,.08);
}
.faq-item {
  border-bottom:1px solid rgba(255,255,255,.08);
}
.faq-question {
  width:100%; background:none; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between;
  gap:1.5rem;
  padding:1.4rem 0;
  text-align:left;
}
.faq-q-text {
  font-size:1rem; font-weight:500; color:rgba(255,255,255,.85);
  line-height:1.4;
  transition:color .2s;
}
.faq-question:hover .faq-q-text { color:#fff; }
.faq-question[aria-expanded="true"] .faq-q-text { color:#fff; }
.faq-icon {
  width:28px; height:28px; border-radius:50%; flex-shrink:0;
  border:1px solid rgba(255,255,255,.15);
  display:flex; align-items:center; justify-content:center;
  transition:background .2s, border-color .2s, transform .3s ease;
}
.faq-icon svg {
  width:12px; height:12px; stroke:rgba(255,255,255,.6);
  fill:none; stroke-width:2.5; stroke-linecap:round;
  transition:stroke .2s;
}
.faq-question:hover .faq-icon {
  border-color:rgba(255,255,255,.3);
  background:rgba(255,255,255,.06);
}
.faq-question[aria-expanded="true"] .faq-icon {
  background:var(--green);
  border-color:var(--green);
  transform:rotate(45deg);
}
.faq-question[aria-expanded="true"] .faq-icon svg { stroke:#fff; }
.faq-answer {
  overflow:hidden;
  max-height:0;
  transition:max-height .38s cubic-bezier(.16,1,.3,1);
}
.faq-answer-inner {
  padding:0 0 1.4rem 0;
  font-size:.9rem; color:rgba(255,255,255,.6);
  line-height:1.75;
}
.faq-answer-inner strong { color:rgba(255,255,255,.85); font-weight:600; }
.faq-item.open .faq-answer { max-height:400px; }

/* Number accent on left sticky */
.faq-count {
  font-size:5rem; font-weight:700; line-height:1;
  color:rgba(255,255,255,.04); letter-spacing:-.04em;
  margin-top:2rem; user-select:none;
  font-family:var(--ff-display);
}

@media (max-width:860px) {
  .faq-inner { grid-template-columns:1fr; gap:2.5rem; }
  .faq-left { position:static; }
  .faq-count { display:none; }
}


/* Team member photos */
.team-av-wrap {
  position:relative; margin-bottom:1rem;
}
.team-photo {
  width:72px; height:72px; border-radius:50%;
  object-fit:cover; object-position:center top;
  display:block;
  border:2px solid rgba(0,0,0,.06);
}
.founder-card .team-photo {
  width:80px; height:80px;
}
/* Keep initials fallback hidden when photo present */
.team-av { display:none; }

/* Right group — never compress, always contained within pill */
.gnav-right {
  display:flex; align-items:center; gap:10px;
  flex-shrink:0; margin-left:auto;
}


/* ═══════════════════════════════════════════════════════════
   MOBILE OPTIMISATION — 2026
   Breakpoints: 768px (tablet), 480px (large phone), 390px (iPhone)
═══════════════════════════════════════════════════════════ */

/* ── 768px: Tablet ─────────────────────────────────────── */
@media (max-width:768px) {

  /* Hero heights — reduce on tablet */
  .hero, .svcs-hero, .about-hero, .car2-hero {
    min-height: 60vh;
  }

  /* Hero grid padding */
  .hero-grid { padding: 3rem var(--px) 2.5rem; }

  /* Stats image intro — reduce height */
  .stats-img-content { min-height: 180px; }

  /* About preview */
  .about-prev-inner { grid-template-columns: 1fr; gap: 2.5rem; }

  /* Services preview grid */
  .services-grid { grid-template-columns: 1fr; }

  /* FAQ */
  .faq-inner { grid-template-columns: 1fr; gap: 2rem; }
  .faq-left { position: static; }
  .faq-heading { font-size: clamp(1.8rem, 5vw, 2.4rem); }

  /* Testimonials */
  .testi-grid { grid-template-columns: 1fr; }

  /* Careers preview */
  .careers-prev-inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .car-vals-grid { grid-template-columns: 1fr 1fr; }

  /* Contact page */
  .contact-hero-inner { grid-template-columns: 1fr; }
  .contact-body-inner { grid-template-columns: 1fr; gap: 3rem; }

  /* Partners track — allow touch scroll */
  .partners-track-outer { overflow-x: auto; -webkit-overflow-scrolling: touch; }

}

/* ── 480px: Large phone ─────────────────────────────────── */
@media (max-width:480px) {

  /* Reduce hero heights further */
  .hero, .svcs-hero, .about-hero, .car2-hero {
    min-height: auto;
    padding-bottom: 3rem;
  }

  /* Typography scale down */
  :root {
    --gap: 2.5rem;
    --px: 1.1rem;
  }

  /* Hero */
  .hero-title { font-size: clamp(2rem, 8vw, 2.8rem); }
  .hero-desc { font-size: .9rem; }
  .hero-actions { flex-direction: column; gap: 10px; }
  .hero-actions .btn { width: 100%; justify-content: center; text-align: center; min-height: 48px; }
  .hero-trust { flex-direction: column; align-items: flex-start; gap: .75rem; }

  /* Hide stats image intro on small phones */
  .stats-img-intro { display: none; }

  /* Stats grid 2-col */
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat { padding: 1.5rem 1.1rem; }
  .stat-n { font-size: clamp(1.8rem, 7vw, 2.4rem); }

  /* About preview — hide image stack on very small screens */
  .about-stack { height: 220px; }

  /* Services cards */
  .svc-card { padding: 1.25rem; }

  /* Testimonial cards */
  .testi-card { padding: 1.25rem; }
  .testi-quote { font-size: .9rem; }

  /* Careers */
  .car-vals-grid { grid-template-columns: 1fr; }
  .car-val { padding: .75rem .9rem; }

  /* CTA band */
  .cta-band-inner { text-align: left; }
  .cta-btns { flex-direction: column; gap: 10px; }
  .cta-btns .btn { width: 100%; justify-content: center; min-height: 48px; }

  /* FAQ */
  .faq-question { padding: 1.1rem 0; }
  .faq-q-text { font-size: .9rem; }
  .faq-answer-inner { font-size: .85rem; }
  .faq-contact-link { width: 100%; justify-content: center; }

  /* Team grid */
  .team-grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .team-card { padding: 1.1rem; }
  .team-photo { width: 56px; height: 56px; }
  .founder-card .team-photo { width: 64px; height: 64px; }
  .team-card.founder-card { grid-column: span 2; }

  /* About values */
  .about-vals-grid { grid-template-columns: 1fr; gap: 1rem; }

  /* Services page */
  .svcs-hero-inner { padding: 2.5rem var(--px) 2rem; }
  .svc2-feature-inner { grid-template-columns: 1fr; }
  .svcs-testi-grid { grid-template-columns: 1fr; }
  .svcs-jump-grid { grid-template-columns: 1fr 1fr; gap: .75rem; }
  .svcs-jump-link { padding: .75rem 1rem; }

  /* Careers page */
  .car2-hero-inner { grid-template-columns: 1fr; gap: 2rem; }
  .car2-proof-card { display: none; }
  .car2-why-inner { grid-template-columns: 1fr; }
  .car2-apply-inner { grid-template-columns: 1fr; }
  .car2-role { grid-template-columns: 1fr; gap: .75rem; }
  .car2-values-inner { flex-wrap: wrap; gap: .75rem; }
  .car2-val-item { flex: calc(50% - .375rem); padding: 0; border-right: none; }

  /* Contact page */
  .contact-body { padding: 2rem var(--px); }
  .contact-hero-inner { padding: 2.5rem var(--px) 0; }
  .hero-cards { gap: .75rem; }
  .hero-card { padding: 1rem 1.1rem; gap: .75rem; }

  /* Footer */
  .footer { padding: 2.5rem var(--px) 1.5rem; }
  .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: .75rem; }
  .footer-legal { flex-wrap: wrap; gap: .75rem; }

  /* Partners */
  .partners { padding: 1.5rem 0; }
  .partners-lbl { display: none; }
  .partners-inner { gap: 0; }

  /* Mobile nav */
      /* Touch targets — ensure all interactive elements ≥ 44px */
  .btn { min-height: 44px; }
  @media (max-width:768px) { .gnav-link { min-height: 44px; } }
  .faq-question { min-height: 52px; }
  .car2-role-btn, .role-btn { min-height: 44px; }
}

/* ── 390px: iPhone / small Android ─────────────────────── */
@media (max-width:390px) {

  :root { --px: .9rem; }

  /* Hero title even smaller */
  .hero-title { font-size: 1.9rem; }
  .svcs-hero-title, .about-hero-title, .car2-hero-title { font-size: 1.9rem; }

  /* Stats single column on very small screens */
  .stats-grid { grid-template-columns: 1fr 1fr; }

  /* Slightly tighter team grid */
  .team-photo { width: 48px; height: 48px; }
  .team-name { font-size: .85rem; }
  .team-role { font-size: .72rem; }

  /* Services jump links — single column */
  .svcs-jump-grid { grid-template-columns: 1fr; }

  /* Careers val items — single column */
  .car2-val-item { flex: 100%; }

}

/* ── iOS input zoom prevention ──────────────────────────── */
/* Font size must be ≥ 16px on inputs to prevent auto-zoom on iOS */
@media (max-width:768px) {
  .form-group input,
  .form-group select,
  .form-group textarea,
  .car2-input,
  .car2-select,
  .car2-textarea,
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  select,
  textarea {
    font-size: 16px !important;
  }
}

/* ── Safe area insets (iPhone notch / home indicator) ───── */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
    .footer  { padding-bottom: calc(1.75rem + env(safe-area-inset-bottom)); }
}


/* Mobile nav — active page indicator */
/* ═══════════════════════════════════════════════════════════
   MOBILE TRUST BAR — Auto-sliding carousel (CSS only)
   One item visible at a time, loops every 3s per item
═══════════════════════════════════════════════════════════ */

@media (max-width:768px) {

  /* ── Homepage trust bar ── */
  .trust-bar { padding: 0; overflow: hidden; }
  .trust-bar-inner {
    max-width: none;
    margin: 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    width: 500%; /* 5 items (4 + 1 clone) × 100% */
    animation: trust-slide-4 15s cubic-bezier(.4,0,.6,1) infinite;
  }
  .trust-bar-inner .tb-item {
    flex: 0 0 20%; /* each item = 1/5 of track = 100% viewport */
    min-width: 20%;
    padding: 1.1rem 1.5rem;
    justify-content: flex-start;
    gap: 14px;
    box-sizing: border-box;
  }
  .trust-bar-inner .tb-div { display: none; }
  .tb-icon { width: 44px; height: 44px; border-radius: 10px; }
  .tb-icon svg { width: 20px; height: 20px; }
  .tb-text { font-size: 13.5px; }
  .tb-text strong { font-size: 14px; }

  /* ── Services trust strip ── */
  .svcs-trust-strip { padding: 0; overflow: hidden; }
  .svcs-trust-strip > .svcs-trust-inner,
  .svcs-trust-inner {
    max-width: none;
    margin: 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    width: 500%;
    animation: trust-slide-4 15s cubic-bezier(.4,0,.6,1) infinite;
  }
  .svcs-trust-item {
    flex: 0 0 20%;
    min-width: 20%;
    padding: 1.1rem 1.5rem;
    gap: 14px;
    box-sizing: border-box;
  }
  .svcs-trust-div { display: none; }
  .svcs-trust-ico { width: 44px; height: 44px; border-radius: 10px; }
  .svcs-trust-ico svg { width: 20px; height: 20px; }
  .svcs-trust-label { font-size: 14px; font-weight: 600; display: block; }
  .svcs-trust-sub { font-size: 12.5px; display: block; }

  /* ── Careers values strip ── */
  .car2-values-strip { padding: 0; overflow: hidden; }
  .car2-values-inner {
    max-width: none !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    width: 600%; /* 6 items (5 + 1 clone) */
    animation: trust-slide-5 18s cubic-bezier(.4,0,.6,1) infinite;
  }
  .car2-val-item {
    flex: 0 0 16.666% !important; /* 1/6 of track */
    min-width: 16.666% !important;
    border-right: none !important;
    padding: 1.1rem 1.5rem !important;
    gap: 14px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
  }
  .car2-val-dot { width: 44px; height: 44px; border-radius: 10px; flex-shrink: 0; }
  .car2-val-dot svg { width: 20px; height: 20px; }
  .car2-val-name { font-size: 14px; }
  .car2-val-tagline { font-size: 12.5px; }

  /* ── Contact trust bar — already simple list, make it slide ── */
  .contact-trust { padding: 0; overflow: hidden; }
  .trust-items {
    display: flex;
    flex-wrap: nowrap;
    width: 500%;
    animation: trust-slide-4 15s cubic-bezier(.4,0,.6,1) infinite;
  }
  .contact-trust-item {
    flex: 0 0 20%;
    padding: 1.1rem 1.5rem;
    box-sizing: border-box;
    font-size: 14px;
    gap: 12px;
  }
  .trust-label { display: none; }
  .trust-divider { display: none; }


}

/* ── Keyframe animations ─────────────────────────────────── */

/* 4-item seamless loop: 5 items in track (item 1 cloned at end)
   Track width = 500%, each item = 20% of track.
   Slides from 0 to -80% (reaching clone of item 1), then instantly resets. */
@keyframes trust-slide-4 {
  0%      { transform: translateX(0); }
  19%     { transform: translateX(0); }       /* hold item 1 */
  23%     { transform: translateX(-20%); }    /* slide to item 2 */
  42%     { transform: translateX(-20%); }    /* hold item 2 */
  46%     { transform: translateX(-40%); }    /* slide to item 3 */
  65%     { transform: translateX(-40%); }    /* hold item 3 */
  69%     { transform: translateX(-60%); }    /* slide to item 4 */
  88%     { transform: translateX(-60%); }    /* hold item 4 */
  92%     { transform: translateX(-80%); }    /* slide to clone of item 1 */
  99.99%  { transform: translateX(-80%); }    /* hold clone briefly */
  100%    { transform: translateX(0); }       /* instant reset — seamless */
}

/* 5-item seamless loop: 6 items in track (item 1 cloned at end)
   Track = 600%, each item = 16.666%. Slides to -83.333% (clone), resets instantly. */
@keyframes trust-slide-5 {
  0%      { transform: translateX(0); }
  15%     { transform: translateX(0); }
  18.33%  { transform: translateX(-16.666%); }
  33.33%  { transform: translateX(-16.666%); }
  36.66%  { transform: translateX(-33.333%); }
  51.66%  { transform: translateX(-33.333%); }
  55%     { transform: translateX(-50%); }
  70%     { transform: translateX(-50%); }
  73.33%  { transform: translateX(-66.666%); }
  88.33%  { transform: translateX(-66.666%); }
  91.66%  { transform: translateX(-83.333%); }
  99.99%  { transform: translateX(-83.333%); }
  100%    { transform: translateX(0); }
}

/* Pause on hover/touch */
@media (max-width:768px) {
  .trust-bar:hover .trust-bar-inner,
  .svcs-trust-strip:hover .svcs-trust-inner,
  .car2-values-strip:hover .car2-values-inner,
  .contact-trust:hover .trust-items {
    animation-play-state: paused;
  }
}

/* Respect reduced motion — show all items stacked */
@media (max-width:768px) and (prefers-reduced-motion: reduce) {
  .trust-bar-inner,
  .svcs-trust-inner,
  .car2-values-inner,
  .trust-items {
    flex-wrap: wrap !important;
    width: 100% !important;
    animation: none !important;
  }
  .trust-bar-inner .tb-item,
  .svcs-trust-item,
  .car2-val-item,
  .contact-trust-item {
    flex: 0 0 100% !important;
    border-bottom: 1px solid rgba(255,255,255,.1);
  }
}


/* Hide clone items on desktop — only used for mobile seamless loop */
.tb-clone, .svcs-trust-clone, .car2-val-clone { display:none; }
@media (max-width:768px) {
  .tb-clone, .svcs-trust-clone, .car2-val-clone { display:flex; }
}

/* ═══════════════════════════════════════════════════════════
   MOBILE FLOATING ACTION BUTTONS
═══════════════════════════════════════════════════════════ */

/* Only show on mobile */
.mob-fab-menu,
.mob-fab-top { display: none; }

@media (max-width:768px) {

  /* ── Shared FAB styles ── */
  .mob-fab-menu,
  .mob-fab-top {
    display: flex;
    position: fixed;
    z-index: 150;
    bottom: calc(28px + env(safe-area-inset-bottom));
    width: 52px; height: 52px;
    border-radius: 50%;
    border: none;
    align-items: center; justify-content: center;
    cursor: pointer;
    /* Hidden by default — appears below fold */
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none !important;
    transition: opacity 280ms ease, transform 280ms ease;
  }

  /* Visible state — added by JS when below fold */
  .mob-fab-menu.visible,
  .mob-fab-top.visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: all !important;
  }

  /* ── Hamburger FAB — bottom right ── */
  .mob-fab-menu {
    right: 20px;
    background: var(--ink);
    box-shadow: 0 4px 16px rgba(0,0,0,.25), 0 1px 4px rgba(0,0,0,.15);
  }
  .mob-fab-menu span {
    display: block;
    width: 20px; height: 2px;
    background: #fff;
    border-radius: 2px;
    position: absolute;
    transition: transform 250ms ease, opacity 200ms ease;
  }
  .mob-fab-menu span:nth-child(1) { transform: translateY(-6px); }
  .mob-fab-menu span:nth-child(2) { transform: translateY(0); }
  .mob-fab-menu span:nth-child(3) { transform: translateY(6px); }
  /* X state when menu is open */
  .mob-fab-menu.open span:nth-child(1) { transform: translateY(0) rotate(45deg); }
  .mob-fab-menu.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
  .mob-fab-menu.open span:nth-child(3) { transform: translateY(0) rotate(-45deg); }

  /* ── Back to top FAB — bottom left ── */
  .mob-fab-top {
    left: 20px;
    background: var(--green);
    box-shadow: 0 4px 16px rgba(46,107,31,.3), 0 1px 4px rgba(0,0,0,.1);
  }
  .mob-fab-top svg {
    width: 20px; height: 20px;
    stroke: #fff; fill: none;
    stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round;
  }

  /* ── Static nav bar on mobile — logo only, full width ── */
  .nav {
    background: var(--ink);
    pointer-events: all;
  }
  .gnav-pill {
    height: 56px;
  }
  /* Fade nav out when scrolled — content takes over */
  .nav.scrolled {
    padding: 0;
  }
  .nav.scrolled .gnav-pill {
    max-width: 100%;
    border-radius: 0;
    height: 56px;
    box-shadow: none;
    opacity: 0.85;
  }
}


@media (max-width:768px) {
  /* Nav is not fixed on mobile so heroes don't need top offset */
  .hero, .svcs-hero, .about-hero, .contact-hero, .car2-hero {
    padding-top: 0;
  }
}

/* ═══════════════════════════════════════════════════════════
   MOBILE IMAGE SLIDERS — Photo grid & Fun activities
═══════════════════════════════════════════════════════════ */
@media (max-width:768px) {

  /* ── Photo grid → slider ── */
  .svcs-photo-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    height: auto !important;
    overflow-x: scroll;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: .75rem;
    padding-bottom: .5rem;
    width: 100%;
    box-sizing: border-box;
    scrollbar-width: none;
  }
  .svcs-photo-grid::-webkit-scrollbar { display: none; }
  .svcs-photo-cell {
    flex: 0 0 82vw;
    min-width: 82vw;
    scroll-snap-align: center;
    grid-column: unset !important;
    grid-row: unset !important;
    height: 240px !important;
    border-radius: 12px;
    overflow: hidden;
  }
  .svcs-photo-cell.span-col {
    flex: 0 0 82vw;
    min-width: 82vw;
    aspect-ratio: unset;
    height: 240px !important;
  }
  .svcs-photo-cell img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
  }

  /* Scroll hint — peek of next card */
  .svcs-photo-grid::after {
    content: '';
    flex: 0 0 1rem;
  }

  /* ── Fun activities grid → slider ── */
  .svcs-fun-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    height: auto !important;
    overflow-x: scroll;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: .75rem;
    padding-bottom: .5rem;
    width: 100%;
    box-sizing: border-box;
    scrollbar-width: none;
  }
  .svcs-fun-grid::-webkit-scrollbar { display: none; }
  .svcs-fun-cell {
    flex: 0 0 72vw;
    min-width: 72vw;
    scroll-snap-align: center;
    height: 220px;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
  }
  .svcs-fun-cell img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
  }
  .svcs-fun-grid::after {
    content: '';
    flex: 0 0 1rem;
  }
}

/* ═══════════════════════════════════════════════════════════
   MOBILE TESTIMONIAL SLIDERS — all pages
═══════════════════════════════════════════════════════════ */
@media (max-width:768px) {

  /* ── Shared slider behaviour for all testi grids ── */
  .testi-grid,
  .svcs-testi-grid,
  .testi-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: scroll;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: .85rem !important;
    grid-template-columns: unset !important;
    padding-bottom: .75rem;
    scrollbar-width: none;
    width: 100%;
    box-sizing: border-box;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .testi-grid::-webkit-scrollbar,
  .svcs-testi-grid::-webkit-scrollbar,
  .testi-track::-webkit-scrollbar { display: none; }

  /* Each card takes 85vw so next peeks in */
  .testi-grid > *,
  .svcs-testi-grid > *,
  .testi-track > * {
    flex: 0 0 85vw !important;
    min-width: 85vw !important;
    scroll-snap-align: start;
    box-sizing: border-box;
  }

  /* Trailing spacer so last card can centre */
  .testi-grid::after,
  .svcs-testi-grid::after,
  .testi-track::after {
    content: '';
    flex: 0 0 1rem;
  }

  /* Scroll indicator dots — injected via CSS counter on parent */
  .testiSection,
  .svcs-testi-section,
  .testi-section {
    overflow: visible;
  }
  /* But clip vertically to avoid page-level horizontal scroll */
  .testiSection { overflow-x: visible; overflow-y: visible; }

}

/* ═══════════════════════════════════════════════════════════
   MOBILE TEAM SECTION — Horizontal scroll-snap carousel
═══════════════════════════════════════════════════════════ */
@media (max-width:768px) {

  .about-team { overflow: visible; }

  .team-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    grid-template-columns: unset !important;
    overflow-x: scroll;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: .85rem !important;
    margin-top: 1.75rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 1rem;
    scrollbar-width: none;
    width: 100%;
    box-sizing: border-box;
    align-items: stretch;
  }
  .team-grid::-webkit-scrollbar { display: none; }

  /* Trailing spacer */
  .team-grid::after {
    content: '';
    flex: 0 0 1rem;
  }

  /* All cards: 80vw wide, snap to start */
  .team-card {
    flex: 0 0 80vw !important;
    min-width: 80vw !important;
    grid-column: unset !important;
    scroll-snap-align: start;
    padding: 1.25rem !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: .75rem !important;
    box-sizing: border-box;
  }

  /* Founder card — slightly wider, retains side-by-side photo+text */
  .team-card.founder-card {
    flex: 0 0 88vw !important;
    min-width: 88vw !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 1rem !important;
    text-align: left !important;
    padding: 1.25rem !important;
  }
  .team-card.founder-card .team-photo {
    width: 64px !important;
    height: 64px !important;
    flex-shrink: 0;
  }
  .team-card.founder-card > div {
    flex: 1;
    min-width: 0;
  }

  /* Hire card — same size as others */
  .team-card.hire-card {
    flex: 0 0 80vw !important;
    min-width: 80vw !important;
  }

  /* Photo sizing in carousel */
  .team-photo {
    width: 56px !important;
    height: 56px !important;
  }

  .team-name { font-size: .95rem; }
  .team-role { font-size: .75rem; }
  .team-bio { font-size: .82rem; line-height: 1.55; }
  .team-founder-badge { font-size: .7rem; }

  /* Swipe hint moved to unified system below */
}

/* ── Desktop Back-to-Top button ── */
.desk-btt {
  display: none;
}

@media (min-width:769px) {
  .desk-btt {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    bottom: 20px;
    left: 40px;
    z-index: 200;
    width: 52px;
    height: 54px;
    border-radius: 100px;
    /* Resting: transparent bg, white icon — matches pill low-attention feel */
    background: rgba(26,26,24,0.6);
    border: 1px solid rgba(255,255,255,.15);
    box-shadow: 0 4px 24px rgba(0,0,0,.22), 0 1px 4px rgba(0,0,0,.14);
    cursor: pointer;
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
    transition: opacity 220ms ease, transform 280ms ease, background 180ms ease, border-color 180ms ease;
  }
  .desk-btt.visible {
    opacity: 0.42;
    transform: translateY(0);
    pointer-events: all;
  }
  /* Hover: full green, full opacity */
  .desk-btt:hover {
    opacity: 1 !important;
    background: var(--green) !important;
    border-color: transparent !important;
    box-shadow: 0 4px 16px rgba(46,107,31,.4), 0 1px 4px rgba(0,0,0,.1) !important;
    transform: translateY(-1px) !important;
  }
  .desk-btt svg {
    width: 20px; height: 20px;
    stroke: #fff; fill: none;
    stroke-width: 2.5;
    stroke-linecap: round; stroke-linejoin: round;
  }
  .desk-btt span { display: none; }
}





/* ── Static top nav bar (desktop) ── */
@media (min-width:769px) {
  .nav { background:var(--ink); }
  .gnav-pill {
    height:62px;
    padding:0 24px;
    background:transparent;
    border-radius:0;
    box-shadow:none;
    max-width:100%;
    width:100%;
  }
  /* Pill transitions handled per-element, not globally */
  /* Hide hamburger on desktop static bar */
  .nav .hamburger { display:none; }
}

/* ── Floating nav pill (desktop only) ── */
.float-pill-wrap {
  display:none; /* mobile hidden */
}

@media (min-width:769px) {
  .float-pill-wrap {
    display:block;
    position:fixed;
    bottom:0; left:0; right:0;
    z-index:200;
    overflow:visible;
    padding:0 40px 20px;
    pointer-events:none;
    /* States driven by JS classes */
  }
  .float-pill {
    background:#1A1A18;
    border-radius:100px;
    display:flex; align-items:center;
    padding:0 24px;
    height:54px;
    max-width:860px;
    margin:0 auto;
    box-shadow:0 4px 24px rgba(0,0,0,.22), 0 1px 4px rgba(0,0,0,.14);
    pointer-events:all;
    /* Hidden by default */
    opacity:0;
    transform:translateY(16px);
    transition:
      opacity       220ms ease,
      transform     220ms ease;
    will-change:opacity,transform;
  }
  /* scroll-active — low attention */
  .float-pill-wrap.scroll-active .float-pill {
    opacity:0.42;
    transform:translateY(0);
    transition:
      opacity       80ms ease,
      transform     300ms cubic-bezier(.16,1,.3,1);
  }
  /* scroll-idle — hidden */
  .float-pill-wrap.scroll-idle .float-pill {
    opacity:0;
    transform:translateY(8px);
    pointer-events:none;
    transition:
      opacity       200ms ease,
      transform     200ms ease;
  }
  /* hover — full visibility */
  .float-pill:hover {
    opacity:1 !important;
    transform:translateY(0) !important;
    transition:
      opacity       150ms ease,
      transform     150ms ease;
  }
  /* Above fold — hidden */
  .float-pill-wrap.above-fold .float-pill {
    opacity:0;
    transform:translateY(16px);
    pointer-events:none;
  }
}

/* ═══════════════════════════════════════════════════════════
   MOBILE NAV — 2026 Bottom Sheet
═══════════════════════════════════════════════════════════ */
.mob-nav {
  display: block;
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  visibility: hidden;
}
.mob-nav.open {
  z-index: 300;
  pointer-events: all;
  visibility: visible;
}

/* Backdrop */
.mob-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  opacity: 0;
  transition: opacity 320ms ease;
}
.mob-nav.open .mob-backdrop { opacity: 1; }

/* Sheet — slides up from bottom */
.mob-sheet {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  background: #1A1A18;
  border-radius: 20px 20px 0 0;
  padding: 0 0 calc(1.5rem + env(safe-area-inset-bottom));
  transform: translateY(100%);
  transition: transform 380ms cubic-bezier(.16,1,.3,1);
  max-height: 88vh;
  overflow-y: auto;
}
.mob-nav.open .mob-sheet { transform: translateY(0); }

/* Handle */
.mob-handle {
  display: flex;
  justify-content: center;
  padding: 12px 0 8px;
}
.mob-handle span {
  width: 36px; height: 4px;
  background: rgba(255,255,255,.2);
  border-radius: 2px;
}

/* Header row */
.mob-sheet-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 20px 16px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.mob-sheet-logo {
  display: flex;
  align-items: center;
  gap: 9px;
}
.mob-sheet-logo img {
  width: 34px; height: 34px;
  object-fit: contain;
}
.mob-sheet-wordmark {
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  letter-spacing: -.01em;
}
.mob-sheet-wordmark span { color: var(--orange); }
.mob-sheet-close {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  border: none;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: background .18s;
}
.mob-sheet-close:hover { background: rgba(255,255,255,.14); }
.mob-sheet-close svg {
  width: 16px; height: 16px;
  stroke: rgba(255,255,255,.8); fill: none; stroke-width: 2;
  stroke-linecap: round;
}

/* Nav links */
.mob-sheet-links {
  list-style: none;
  margin: 0;
  padding: 8px 12px;
}
.mob-sheet-links li { border-bottom: 1px solid rgba(255,255,255,.05); }
.mob-sheet-links li:last-child { border-bottom: none; }
.mob-sheet-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 12px;
  text-decoration: none;
  border-radius: 10px;
  transition: background .15s;
  min-height: 56px;
}
.mob-sheet-link:hover,
.mob-sheet-link:active { background: rgba(255,255,255,.05); }
.msl-label {
  font-size: 17px;
  font-weight: 500;
  color: rgba(255,255,255,.75);
  letter-spacing: -.01em;
}
.msl-text {
  display: flex;
  flex-direction: column;
}
.msl-arrow {
  width: 16px; height: 16px;
  stroke: rgba(255,255,255,.25); fill: none;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
  flex-shrink: 0;
  transition: stroke .15s, transform .15s;
}
.mob-sheet-link:hover .msl-arrow { stroke: rgba(255,255,255,.6); transform: translateX(2px); }

/* Active page */
.mob-sheet-link.mob-active .msl-label { color: #fff; font-weight: 600; }
.mob-sheet-link.mob-active .msl-arrow { stroke: var(--orange); }
.mob-sheet-link.mob-active { background: rgba(232,82,26,.06); }

/* Footer */
.mob-sheet-footer {
  padding: 16px 20px 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mob-sheet-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--orange);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  padding: 16px;
  border-radius: 12px;
  text-decoration: none;
  min-height: 52px;
  transition: opacity .15s;
}
.mob-sheet-cta:hover { opacity: .88; }
.mob-sheet-cta svg {
  width: 14px; height: 14px;
  stroke: #fff; fill: none; stroke-width: 2.5;
  stroke-linecap: round; stroke-linejoin: round;
}
.mob-sheet-tel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: rgba(255,255,255,.5);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  padding: 10px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.08);
  transition: color .18s, border-color .18s;
}
.mob-sheet-tel:hover { color: rgba(255,255,255,.85); border-color: rgba(255,255,255,.18); }
.mob-sheet-tel svg {
  width: 14px; height: 14px;
  stroke: currentColor; fill: none; stroke-width: 2;
  stroke-linecap: round; stroke-linejoin: round;
}

/* ═══════════════════════════════════════════════════════════
   SWIPE HINTS — orange, below all horizontal scroll sections
═══════════════════════════════════════════════════════════ */
@media (max-width:768px) {

  /* Shared swipe hint style */
  .swipe-hint {
    display: block;
    font-size: .78rem;
    font-weight: 600;
    color: var(--orange);
    letter-spacing: .02em;
    margin-top: .6rem;
    padding-left: 1.1rem;
  }

  /* Team grid hint — already exists via ::after, update colour */
  .about-team-inner::after {
    content: 'Swipe to meet the team →';
    display: block;
    font-size: .78rem;
    font-weight: 600;
    color: var(--orange);
    margin-top: .6rem;
    padding-left: 1.1rem;
    letter-spacing: .02em;
  }

  /* Accommodation photo grid */
  .svcs-photo-grid-section .svcs-photo-grid-inner::after {
    content: 'Swipe to see all spaces →';
    display: block;
    font-size: .78rem;
    font-weight: 600;
    color: var(--orange);
    margin-top: .6rem;
    padding-left: 1.1rem;
    letter-spacing: .02em;
  }

  /* Fun activities grid */
  .svcs-fun-activities .svcs-fun-inner::after {
    content: 'Swipe to explore activities →';
    display: block;
    font-size: .78rem;
    font-weight: 600;
    color: var(--orange);
    margin-top: .6rem;
    padding-left: 1.1rem;
    letter-spacing: .02em;
  }

  /* Testimonials — homepage */
  .testiSection .testiInner::after {
    content: 'Swipe to read more →';
    display: block;
    font-size: .78rem;
    font-weight: 600;
    color: var(--orange);
    margin-top: .6rem;
    padding-left: 1.1rem;
    letter-spacing: .02em;
  }

  /* Testimonials — services page */
  .svcs-testi::after {
    content: 'Swipe to read more →';
    display: block;
    font-size: .78rem;
    font-weight: 600;
    color: var(--orange);
    margin-top: .6rem;
    padding-left: 1.1rem;
    letter-spacing: .02em;
  }

  /* Testimonials — about page */
  .about-testi::after {
    content: 'Swipe to read more →';
    display: block;
    font-size: .78rem;
    font-weight: 600;
    color: var(--orange);
    margin-top: .6rem;
    padding-left: 1.1rem;
    letter-spacing: .02em;
  }

}

@media (max-width:768px) {
  /* Override contact-trust-inner constraints so slider can work */
  .contact-trust-inner {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    flex-direction: unset !important;
    flex-wrap: unset !important;
    gap: 0 !important;
    align-items: unset !important;
    justify-content: unset !important;
  }
  /* Ensure trust-items is the full-width slider track */
  .trust-items {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 500% !important;
    animation: trust-slide-4 15s cubic-bezier(.4,0,.6,1) infinite !important;
  }
  /* Each item = exactly 1 viewport width */
  .contact-trust-item {
    flex: 0 0 20% !important;
    min-width: 0 !important;
    padding: 1.25rem 1.5rem !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: white !important;
    width: 20% !important;
  }
  .contact-trust-item svg {
    stroke: white !important;
    flex-shrink: 0;
  }
  .trust-divider { display: none !important; }
  .trust-label { display: none !important; }
}

/* ── Desktop: partners — static, centred, no animation ── */
@media (min-width:769px) {
  .partners { overflow: visible; }
  .partners-lbl { display: block; }
  .partners-inner { justify-content: center; gap: 2rem; }
  .partners-track-outer {
    flex: none;
    overflow: visible;
    mask-image: none;
    -webkit-mask-image: none;
  }
  .partners-track {
    animation: none;
    width: auto;
    gap: 1.5rem;
  }
  /* Hide duplicate sets 2-4, show only set 1 */
  .partners-track .partner-pill:nth-child(n+4) { display: none; }
}

/* ── CQC static pill ── */
.pill-cqc { text-decoration: none; }
.cqc-pill-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 2px 8px;
}
.cqc-pill-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #6C1D82;
}
.cqc-pill-rating {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
}
.cqc-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #00A550;
  flex-shrink: 0;
}
.cqc-pill-date {
  font-size: 10px;
  color: var(--ink-lt);
}

/* ── Desktop partners — full width, centred, 3 pills equally spaced ── */
@media (min-width:769px) {
  .partners-inner {
    max-width: var(--max-w-wide);
    justify-content: center;
    gap: 3rem;
  }
  .partners-track-outer {
    flex: none;
    width: auto;
  }
  .partners-track {
    gap: 2rem;
    justify-content: center;
  }
  .partner-pill {
    min-width: 160px;
    justify-content: center;
  }
}

/* ── Desktop partners — full width fix ── */
@media (min-width:769px) {
  .partners { padding: 2.75rem var(--px-wide); }
  .partners-inner {
    max-width: var(--max-w-wide);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }
  .partners-lbl {
    display: block;
    text-align: center;
  }
  .partners-track-outer {
    width: 100%;
    flex: none;
    overflow: visible;
    mask-image: none;
    -webkit-mask-image: none;
  }
  .partners-track {
    animation: none;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 2rem;
  }
  .partners-track .partner-pill:nth-child(n+4) { display: none; }
  .partner-pill {
    flex: 1;
    max-width: 240px;
    justify-content: center;
  }
}

@media (max-width:768px) {
  .urgent-strip {
    display: flex;
    width: 100%;
    font-size: 14px;
    padding: 13px 18px 13px 14px;
    box-sizing: border-box;
    text-align: left;
  }
  .contact-pathway-prompt {
    display: flex;
    width: 100%;
    font-size: 13.5px;
    padding: 13px 18px;
    box-sizing: border-box;
  }
}

/* ═══════════════════════════════════════════════════════════
   UX AUDIT FIXES
═══════════════════════════════════════════════════════════ */

/* Fix 2: Hero card attribution */
.hero-card-attr {
  font-size: 11.5px;
  color: rgba(255,255,255,.45);
  margin-top: 4px;
  font-style: normal;
  letter-spacing: .01em;
}

/* Fix 3: Contact pathway prompt */
.contact-pathway-prompt {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 1rem;
  font-size: 13px;
  font-weight: 500;
  color: var(--orange);
  text-decoration: none;
  transition: gap 180ms ease;
}
.contact-pathway-prompt:hover { gap: 10px; }
.contact-pathway-prompt svg {
  width: 15px; height: 15px;
  stroke: currentColor; fill: none;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
  flex-shrink: 0;
}

/* Fix 7: Enhanced consent checkbox */
.form-consent-enhanced { margin-bottom: 1.25rem; }
.form-consent-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 13px;
  color: var(--ink-lt);
  line-height: 1.55;
}
.form-consent-label input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0; height: 0;
}
.form-consent-indicator {
  width: 20px; height: 20px;
  min-width: 20px;
  border: 2px solid var(--border);
  border-radius: 5px;
  margin-top: 1px;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s, border-color .15s;
  background: white;
}
.form-consent-label input:checked ~ .form-consent-indicator {
  background: var(--orange);
  border-color: var(--orange);
}
.form-consent-label input:checked ~ .form-consent-indicator::after {
  content: '';
  width: 5px; height: 9px;
  border: 2px solid white;
  border-top: none; border-left: none;
  transform: rotate(45deg) translate(-1px,-1px);
  display: block;
}
.form-consent-label a { color: var(--orange); text-decoration: underline; }

/* Fix 9: Hero differentiator line */
.hero-diff {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem .75rem;
  margin-top: .9rem;
}
.hero-diff-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 500;
  color: rgba(255,255,255,.55);
}
.hero-diff-item svg {
  width: 12px; height: 12px;
  stroke: var(--green-lt); fill: none;
  stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round;
  flex-shrink: 0;
}
.hero-diff-sep {
  color: rgba(255,255,255,.2);
  font-size: 12px;
}
@media (max-width:480px) {
  .hero-diff-sep { display: none; }
  .hero-diff { gap: .4rem; }
}

/* Fix 5: Font size floor on mobile — minimum 12px for readability */
@media (max-width:768px) {
  .eyebrow { font-size: 10.5px; }
  .svc-eyebrow, .svcs-jump-num, .about-badge .lbl { font-size: 10px; }
  .footer-copy, .footer-legal a, .footer-reg,
  .tc-role, .testi-who, .svcs-testi-who,
  .car2-stat-label, .car-val-d,
  .svcs-trust-sub, .svcs-act-lbl, .svcs-jump-sub,
  .partner-pill-sub, .float-text-s, .about-img-sub cite,
  .hero-card-label, .trust-label, .cqc-pill-date,
  .tl-year, .foot-col-h {
    font-size: 12px !important;
  }
}

/* Fix 7: Role filter tab touch targets */
@media (max-width:768px) {
  .car2-filter-btn, .role-filter-btn, [class*="filter-tab"] {
    min-height: 44px !important;
    padding: 10px 16px !important;
    font-size: 13px !important;
  }
}

/* ── Mobile UX audit fixes CSS ── */

/* Fix 2: Services tel strip */
.svcs-tel-strip {
  background: var(--green-pale, #EFF7E6);
  border-top: 1px solid rgba(46,107,31,.12);
  padding: 1rem var(--px);
  font-size: 13.5px;
  color: var(--ink-mid);
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.svcs-tel-strip svg {
  width: 16px; height: 16px;
  stroke: var(--green); fill: none;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
  flex-shrink: 0;
}
.svcs-tel-strip a {
  color: var(--green);
  font-weight: 700;
  text-decoration: none;
}
.svcs-tel-strip a:hover { text-decoration: underline; }

/* Fix 2: About tel link */
.about-tel-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,.55);
  text-decoration: none;
  margin-top: .75rem;
  transition: color .18s;
}
.about-tel-link:hover { color: rgba(255,255,255,.85); }

/* Fix 4: Bottom sheet sub-labels */
.msl-sub {
  font-size: 11.5px;
  color: rgba(255,255,255,.35);
  font-weight: 400;
  line-height: 1.3;
  margin-top: 1px;
}

/* Fix 9: Inline validation styles */
.field-error {
  display: block;
  font-size: 12px;
  color: #E8521A;
  margin-top: 4px;
  font-weight: 500;
}
.field-invalid {
  border-color: rgba(232,82,26,.5) !important;
  background: rgba(232,82,26,.03) !important;
}
.field-valid {
  border-color: rgba(46,107,31,.4) !important;
}
.field-valid + .field-error { display: none; }

/* Fix 6: Current page orange pill indicator — mobile only */
.mob-cur-page { display: none; }

@media (max-width:768px) {
  .mob-cur-page {
    display: flex;
    align-items: center;
    gap: 5px;
    background: rgba(232,82,26,.12);
    border: 1px solid rgba(232,82,26,.22);
    border-radius: 100px;
    padding: 3px 10px 3px 7px;
    margin-left: 6px;
    flex-shrink: 0;
  }
  .mob-cur-dot {
    width: 5px; height: 5px;
    border-radius: 50%;
    background: #E8521A;
    flex-shrink: 0;
  }
  .mob-cur-label {
    font-size: 11px;
    font-weight: 600;
    color: #E8521A;
    white-space: nowrap;
    letter-spacing: .01em;
  }
}

/* Fix 5 (desktop): Readable font floor for body-level labels */
@media (min-width:769px) {
  .footer-copy,
  .footer-legal a,
  .footer-reg,
  .tc-role,
  .testi-who,
  .svcs-testi-who,
  .car-val-d,
  .partner-pill-sub,
  .svcs-trust-sub,
  .car2-stat-label,
  .car2-av-text,
  .car2-role-pill,
  .hero-card-attr,
  .cqc-pill-date,
  .svcs-fun-pill,
  .hours-badge {
    font-size: 12px;
  }
}

/* ═══════════════════════════════════════════════════════════
   SERVICE DETAIL PAGES
═══════════════════════════════════════════════════════════ */
.svc-detail-hero{padding:5rem var(--px) 4rem;position:relative}
.svc-detail-hero-inner{max-width:var(--mw);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.svc-detail-eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.75rem;display:flex;align-items:center;gap:8px}
.svc-detail-eyebrow::before{content:'';display:block;width:24px;height:2px;border-radius:2px;background:currentColor;flex-shrink:0}
.svc-detail-h1{font-family:'Cambria',Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:700;line-height:1.1;margin-bottom:1.25rem}
.svc-detail-desc{font-size:1.0625rem;line-height:1.72;max-width:500px;margin-bottom:1.75rem}
.svc-detail-cta-row{display:flex;gap:.85rem;flex-wrap:wrap;align-items:center}
.svc-detail-hero-visual{position:relative}
.svc-detail-hero-badge{position:absolute;bottom:1.25rem;left:1.25rem;background:white;border-radius:100px;padding:.5rem 1rem;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;box-shadow:0 4px 20px rgba(0,0,0,.12)}
.svc-detail-placeholder{width:100%;aspect-ratio:4/3;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.5rem}
.svc-detail-includes{padding:4rem var(--px)}
.svc-detail-includes-inner{max-width:var(--mw);margin:0 auto}
.svc-detail-includes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2.5rem}
.svc-detail-include-card{background:white;border-radius:var(--r);padding:1.5rem;border:1px solid var(--border)}
.svc-detail-include-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.svc-detail-include-card h3{font-size:15px;font-weight:700;margin-bottom:.4rem;color:var(--ink)}
.svc-detail-include-card p{font-size:13px;line-height:1.6;color:var(--ink-lt)}
.svc-detail-who{padding:4rem var(--px)}
.svc-detail-who-inner{max-width:var(--mw);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.svc-detail-who-list{list-style:none;padding:0;margin:1.25rem 0 0;display:flex;flex-direction:column;gap:.65rem}
.svc-detail-who-list li{display:flex;align-items:flex-start;gap:10px;font-size:15px;color:var(--ink-mid);line-height:1.55}
.svc-detail-who-list li::before{content:'';width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:.6rem;background:var(--orange)}
.svc-detail-pull-quote{background:var(--ink);border-radius:var(--r-lg);padding:2.5rem}
.svc-detail-pull-quote blockquote{font-family:'Cambria',Georgia,serif;font-size:1.2rem;line-height:1.6;font-style:italic;color:white;margin:0 0 1.25rem}
.svc-detail-pull-quote cite{font-size:12px;color:rgba(255,255,255,.45);font-style:normal}
.svc-detail-steps{padding:4rem var(--px);background:var(--ink)}
.svc-detail-steps-inner{max-width:var(--mw);margin:0 auto}
.svc-detail-steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2.5rem}
.svc-detail-step{padding:1.5rem;border:1px solid rgba(255,255,255,.08);border-radius:var(--r)}
.svc-detail-step-num{font-size:11px;font-weight:700;letter-spacing:.1em;margin-bottom:.85rem}
.svc-detail-step h3{font-size:15px;font-weight:700;color:white;margin-bottom:.5rem}
.svc-detail-step p{font-size:12.5px;color:rgba(255,255,255,.55);line-height:1.6}
.svc-detail-trust{padding:2.5rem var(--px);background:var(--warm);border-top:1px solid var(--border)}
.svc-detail-trust-inner{max-width:var(--mw);margin:0 auto;display:flex;gap:2rem;align-items:center;flex-wrap:wrap}
.svc-detail-trust-pill{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--ink-mid)}
.svc-detail-trust-pill svg{stroke:var(--green)!important}
.svc-detail-cta-band{padding:5rem var(--px);text-align:center}
.svc-detail-cta-band h2{font-family:'Cambria',Georgia,serif;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;margin-bottom:1rem}
.svc-detail-cta-band p{font-size:1rem;max-width:480px;margin:0 auto 2rem;line-height:1.65}
.svc-detail-back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--ink-lt);text-decoration:none;margin-bottom:0;transition:color .18s}
.svc-detail-back-link:hover{color:var(--orange)}
@media(max-width:768px){
  .svc-detail-hero{padding:2.5rem var(--px) 2rem}
  .svc-detail-hero-inner{grid-template-columns:1fr;gap:1.75rem}
  .svc-detail-hero-visual{order:-1}
  .svc-detail-includes-grid{grid-template-columns:1fr 1fr}
  .svc-detail-who-inner{grid-template-columns:1fr;gap:2rem}
  .svc-detail-steps-grid{grid-template-columns:1fr 1fr;gap:1rem}
  .svc-detail-trust-inner{gap:1.25rem}
}
@media(max-width:480px){
  .svc-detail-includes-grid{grid-template-columns:1fr}
  .svc-detail-steps-grid{grid-template-columns:1fr}
}

.svc-detail-more {
  display: inline-flex;
  align-items: center;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ink-mid);
  text-decoration: none;
  transition: color .18s, gap .18s;
  gap: 4px;
}
.svc-detail-more:hover { color: var(--orange); }

/* Services nav dropdown — JS-driven, gap-free */
.gnav-dropdown-wrap {
  position: relative;
  display: flex;
  align-items: center;
  height: 36px;
}
.gnav-chevron {
  font-size: 9px;
  opacity: .5;
  margin-left: 3px;
  transition: transform .18s ease;
  display: inline-block;
}
.gnav-dropdown-wrap.open .gnav-chevron { transform: rotate(180deg); }

/* Dropdown panel */
.gnav-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  padding-top: 8px;
  background: transparent;
  border: none;
  box-shadow: none;
  width: 280px;
  min-width: 280px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, visibility .18s ease;
  z-index: 1000;
}
/* Rightmost trigger — right-align so the panel doesn't overflow the viewport edge */
#navCareersWrap .gnav-dropdown {
  left: auto;
  right: 0;
}
/* Inner panel that the user sees */
.gnav-dropdown-inner {
  background: #1E1E1C;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  padding: .5rem;
  box-shadow: 0 12px 48px rgba(0,0,0,.45);
}

/* Open state — applied by JS */
.gnav-dropdown-wrap.open .gnav-dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
/* Ensure dropdown is never clipped by pill z-index */
.gnav-pill { overflow: visible !important; }
.gnav-pill-wrap { overflow: visible !important; }
.gnav-links { overflow: visible !important; }

.gnav-drop-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: .75rem 1rem;
  border-radius: 8px;
  text-decoration: none;
  transition: background .15s;
}
.gnav-drop-item:hover { background: rgba(255,255,255,.06); }
.gnav-drop-num {
  font-size: 11px;
  font-weight: 700;
  color: var(--orange);
  min-width: 22px;
  flex-shrink: 0;
}
.gnav-drop-item strong {
  display: block;
  font-size: 13.5px;
  font-weight: 600;
  color: white;
  line-height: 1.3;
}
.gnav-drop-item em {
  display: block;
  font-size: 11px;
  font-style: normal;
  color: rgba(255,255,255,.4);
  margin-top: 1px;
}
@media (max-width: 768px) {
  .gnav-dropdown-wrap { display: none; }
}

.mob-svc-sub-links {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: .25rem 0 .5rem 1.25rem;
  border-left: 2px solid rgba(232,82,26,.2);
  margin: .25rem 0 .5rem 1.5rem;
}
.mob-svc-sub {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,.5);
  text-decoration: none;
  padding: .4rem 0;
  transition: color .15s;
}
.mob-svc-sub:hover, .mob-svc-sub:active { color: var(--orange); }

/* Pill dropdown — opens upward, anchored to its own trigger via CSS */
.gnav-dropdown-pill {
  position: absolute;
  top: auto;
  bottom: 100%;
  left: 0;
  margin-bottom: 8px;
  padding-top: 0;
  z-index: 1000;
}
#pillCarWrap .gnav-dropdown-pill {
  left: auto;
  right: 0;
}
/* Pill dropdown inner has reversed border-radius for upward appearance */
.gnav-dropdown-pill .gnav-dropdown-inner {
  /* Flip padding to be heavier at bottom so it feels anchored upward */
  padding: .5rem .5rem .75rem;
}

/* Light-background service pages — override white hero-diff text */
#page-svc-living .svc-detail-hero .hero-diff-item,
#page-svc-domiciliary .svc-detail-hero .hero-diff-item {
  color: var(--ink-mid) !important;
}
#page-svc-living .svc-detail-hero .hero-diff-sep,
#page-svc-domiciliary .svc-detail-hero .hero-diff-sep {
  color: var(--ink-lt) !important;
  display: inline !important;
}

/* ═══════════════════════════════════════════════════════
   ABOUT SUB-PAGES
═══════════════════════════════════════════════════════ */

/* Shared hero */
.about-sub-hero {
  background: var(--ink);
  padding: 5rem var(--px) 4.5rem;
}
.about-sub-hero-inner {
  max-width: var(--mw);
  margin: 0 auto;
}
.about-sub-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--orange);
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 8px;
}
.about-sub-eyebrow::before {
  content: '';
  display: block;
  width: 24px;
  height: 2px;
  background: var(--orange);
  border-radius: 2px;
  flex-shrink: 0;
}
.about-sub-h1 {
  font-family: 'Cambria', Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  font-weight: 700;
  color: white;
  line-height: 1.1;
  margin-bottom: 1.25rem;
  max-width: 700px;
}
.about-sub-lead {
  font-size: 1.0625rem;
  color: rgba(255,255,255,.65);
  line-height: 1.72;
  max-width: 580px;
  margin-bottom: 2rem;
}
.about-sub-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,.4);
  text-decoration: none;
  margin-bottom: 2.5rem;
  transition: color .18s;
}
.about-sub-back:hover { color: rgba(255,255,255,.8); }
.about-sub-back svg {
  width: 14px; height: 14px;
  stroke: currentColor; fill: none;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}

/* Values page */
.values-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  max-width: var(--mw);
  margin: 3rem auto 0;
  padding: 0 var(--px) 4rem;
}
.value-card {
  background: white;
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 2rem;
  position: relative;
  overflow: hidden;
}
.value-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--orange);
}
.value-letter {
  font-family: 'Cambria', Georgia, serif;
  font-size: 4rem;
  font-weight: 700;
  color: var(--orange);
  line-height: 1;
  margin-bottom: .5rem;
  opacity: .15;
  position: absolute;
  top: 1rem;
  right: 1.5rem;
}
.value-name {
  font-size: 18px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: .65rem;
}
.value-desc {
  font-size: 14px;
  color: var(--ink-lt);
  line-height: 1.7;
}
.value-card.v-green::before { background: var(--green); }
.value-card.v-green .value-letter { color: var(--green); }
.value-card.v-green-lt::before { background: var(--green-lt); }
.value-card.v-green-lt .value-letter { color: var(--green-lt); }

/* Values commitment section */
.values-commitment {
  background: var(--warm);
  padding: 4rem var(--px);
  border-top: 1px solid var(--border);
}
.values-commitment-inner {
  max-width: var(--mw);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.values-pull-quote {
  background: var(--ink);
  border-radius: var(--r-lg);
  padding: 2.5rem;
}
.values-pull-quote blockquote {
  font-family: 'Cambria', Georgia, serif;
  font-size: 1.3rem;
  font-style: italic;
  color: white;
  line-height: 1.6;
  margin: 0 0 1.25rem;
}
.values-pull-quote cite {
  font-size: 12px;
  color: rgba(255,255,255,.4);
  font-style: normal;
}

/* How We Work page */
.how-section {
  padding: 4rem var(--px);
}
.how-section-inner {
  max-width: var(--mw);
  margin: 0 auto;
}
.how-pillars {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
}
.how-pillar {
  padding: 2rem;
  border-radius: var(--r-lg);
  background: white;
  border: 1px solid var(--border);
}
.how-pillar-num {
  font-size: 11px;
  font-weight: 700;
  color: var(--orange);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: .75rem;
}
.how-pillar h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: .6rem;
}
.how-pillar p {
  font-size: 14px;
  color: var(--ink-lt);
  line-height: 1.7;
}
.how-timeline {
  padding: 4rem var(--px);
  background: var(--warm);
  border-top: 1px solid var(--border);
}
.how-timeline-inner {
  max-width: var(--mw);
  margin: 0 auto;
}
.how-tl-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
}
.how-tl-item {
  padding: 1.5rem;
  background: white;
  border-radius: var(--r);
  border: 1px solid var(--border);
}
.how-tl-year {
  font-size: 11px;
  font-weight: 700;
  color: var(--orange);
  letter-spacing: .08em;
  margin-bottom: .5rem;
}
.how-tl-item h4 {
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: .4rem;
}
.how-tl-item p {
  font-size: 12.5px;
  color: var(--ink-lt);
  line-height: 1.6;
}
/* Trust & affiliations */
.how-affiliations {
  padding: 4rem var(--px);
  background: white;
}
.how-affiliations-inner {
  max-width: var(--mw);
  margin: 0 auto;
}
.affil-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
}
.affil-card {
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 2rem;
  text-align: center;
}
.affil-card-logo {
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.25rem;
}
.affil-card-logo img { max-height: 48px; width: auto; }
.affil-card h3 {
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: .5rem;
}
.affil-card p {
  font-size: 13px;
  color: var(--ink-lt);
  line-height: 1.65;
}
.affil-card a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--orange);
  text-decoration: none;
  margin-top: .75rem;
}
.affil-card a:hover { text-decoration: underline; }
.affil-note {
  background: var(--warm);
  border: 1px solid var(--border);
  border-radius: var(--r);
  padding: 1.25rem 1.5rem;
  margin-top: 2.5rem;
  font-size: 13px;
  color: var(--ink-lt);
  line-height: 1.65;
}

/* Meet the Team page */
.team-sub-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  max-width: var(--mw);
  margin: 3rem auto 0;
  padding: 0 var(--px) 4rem;
}
.team-sub-card {
  background: white;
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.team-sub-photo {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}
.team-sub-info {
  padding: 1.25rem 1.5rem 1.5rem;
}
.team-sub-name {
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: .2rem;
}
.team-sub-role {
  font-size: 12px;
  font-weight: 600;
  color: var(--orange);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: .75rem;
}
.team-sub-bio {
  font-size: 13.5px;
  color: var(--ink-lt);
  line-height: 1.65;
}
.team-sub-divider {
  width: 32px;
  height: 2px;
  background: var(--orange);
  border-radius: 2px;
  margin: .75rem 0;
}

/* About sub nav bar */
.about-subnav {
  background: white;
  border-bottom: 1px solid var(--border);
  padding: 0 var(--px);
  position: sticky;
  top: 0;
  z-index: 10;
}
.about-subnav-inner {
  max-width: var(--mw);
  margin: 0 auto;
  display: flex;
  gap: 0;
}
.about-subnav-link {
  font-size: 13.5px;
  font-weight: 500;
  color: var(--ink-lt);
  text-decoration: none;
  padding: 1rem 1.25rem;
  border-bottom: 2px solid transparent;
  transition: color .18s, border-color .18s;
  white-space: nowrap;
}
.about-subnav-link:hover { color: var(--ink); }
.about-subnav-link.active {
  color: var(--orange);
  border-bottom-color: var(--orange);
}

/* Meet the Team — "why join us" CTA */
.team-cta-grid {
  max-width: var(--mw);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.team-cta-card {
  background: var(--ink);
  border-radius: var(--r-lg);
  padding: 2.5rem;
}
@media (max-width: 480px) {
  .team-cta-card { padding: 1.5rem; }
}

@media (max-width: 768px) {
  .values-grid { grid-template-columns: 1fr; }
  .how-pillars { grid-template-columns: 1fr; }
  .how-tl-grid { grid-template-columns: 1fr 1fr; }
  .affil-cards { grid-template-columns: 1fr; }
  .team-sub-grid { grid-template-columns: 1fr; }
  .values-commitment-inner { grid-template-columns: 1fr; }
  .about-sub-hero { padding: 3rem var(--px) 3rem; }
  .about-subnav-inner { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .team-cta-grid { grid-template-columns: 1fr; gap: 2.5rem; }
}
@media (max-width: 480px) {
  .how-tl-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════
   CULTURE PAGE
═══════════════════════════════════════════════════════ */

/* Services sub-nav — matches about-subnav pattern */
.svcs-subnav {
  background: white;
  border-bottom: 1px solid var(--border);
  padding: 0 var(--px);
  position: sticky;
  top: 0;
  z-index: 10;
}
.svcs-subnav-inner {
  max-width: var(--mw);
  margin: 0 auto;
  display: flex;
  gap: 0;
}
.svcs-subnav-link {
  font-size: 13.5px;
  font-weight: 500;
  color: var(--ink-lt);
  text-decoration: none;
  padding: 1rem 1.25rem;
  border-bottom: 2px solid transparent;
  transition: color .18s, border-color .18s;
  white-space: nowrap;
}
.svcs-subnav-link:hover { color: var(--ink); }
.svcs-subnav-link.active {
  color: var(--orange);
  border-bottom-color: var(--orange);
}
@media (max-width: 760px) {
  .svcs-subnav-inner { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* Careers sub-nav — matches about-subnav pattern */
.careers-subnav {
  background: white;
  border-bottom: 1px solid var(--border);
  padding: 0 var(--px);
  position: sticky;
  top: 0;
  z-index: 10;
}
.careers-subnav-inner {
  max-width: var(--mw);
  margin: 0 auto;
  display: flex;
  gap: 0;
}
.careers-subnav-link {
  font-size: 13.5px;
  font-weight: 500;
  color: var(--ink-lt);
  text-decoration: none;
  padding: 1rem 1.25rem;
  border-bottom: 2px solid transparent;
  transition: color .18s, border-color .18s;
  white-space: nowrap;
}
.careers-subnav-link:hover { color: var(--ink); }
.careers-subnav-link.active {
  color: var(--orange);
  border-bottom-color: var(--orange);
}

/* Culture hero */
.culture-hero {
  background: var(--ink);
  padding: 5rem var(--px) 4.5rem;
}
.culture-hero-inner {
  max-width: var(--mw);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.culture-hero-copy .eyebrow { color: var(--orange); margin-bottom: 1rem; }
.culture-hero-h1 {
  font-family: "Cambria", Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 700;
  color: white;
  line-height: 1.1;
  margin-bottom: 1.25rem;
}
.culture-hero-desc {
  font-size: 1.0625rem;
  color: rgba(255,255,255,.65);
  line-height: 1.72;
  margin-bottom: 2rem;
}
.culture-stat-row {
  display: flex;
  gap: 2rem;
  margin-top: 1rem;
}
.culture-stat-item { }
.culture-stat-n {
  font-family: "Cambria", Georgia, serif;
  font-size: 2rem;
  font-weight: 700;
  color: var(--orange);
  line-height: 1;
}
.culture-stat-l {
  font-size: 12px;
  color: rgba(255,255,255,.45);
  margin-top: .2rem;
}
.culture-hero-card {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r-lg);
  padding: 2.5rem;
}
.culture-hero-card-quote {
  font-family: "Cambria", Georgia, serif;
  font-size: 1.15rem;
  font-style: italic;
  color: white;
  line-height: 1.6;
  margin: 0 0 1.25rem;
}
.culture-hero-card-attr {
  font-size: 12px;
  color: rgba(255,255,255,.4);
}
.culture-hero-card-stars {
  color: #FBBF24;
  font-size: 14px;
  margin-bottom: .75rem;
}

/* What it feels like */
.culture-feel {
  padding: 5rem var(--px);
  background: var(--warm);
}
.culture-feel-inner {
  max-width: var(--mw);
  margin: 0 auto;
}
.culture-feel-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 2.5rem;
}
.culture-feel-card {
  background: white;
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 2rem;
}
.culture-feel-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.1rem;
}
.culture-feel-icon svg {
  width: 22px; height: 22px;
  stroke: currentColor; fill: none;
  stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
.culture-feel-card h3 {
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: .5rem;
}
.culture-feel-card p {
  font-size: 13.5px;
  color: var(--ink-lt);
  line-height: 1.7;
}

/* Values in practice */
.culture-values {
  padding: 5rem var(--px);
  background: white;
}
.culture-values-inner {
  max-width: var(--mw);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
}
.culture-values-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 2rem;
}
.culture-value-row {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  padding: 1.25rem;
  border: 1px solid var(--border);
  border-radius: var(--r);
  background: var(--warm);
}
.culture-value-letter {
  font-family: "Cambria", Georgia, serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--orange);
  line-height: 1;
  min-width: 28px;
  flex-shrink: 0;
}
.culture-value-row h4 {
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: .3rem;
}
.culture-value-row p {
  font-size: 13px;
  color: var(--ink-lt);
  line-height: 1.6;
}
.culture-values-pull {
  background: var(--ink);
  border-radius: var(--r-lg);
  padding: 2.5rem;
  position: sticky;
  top: 5rem;
}
.culture-values-pull blockquote {
  font-family: "Cambria", Georgia, serif;
  font-size: 1.2rem;
  font-style: italic;
  color: white;
  line-height: 1.6;
  margin: 0 0 1.25rem;
}
.culture-values-pull cite {
  font-size: 12px;
  color: rgba(255,255,255,.4);
  font-style: normal;
}

/* Day in the life */
.culture-day {
  padding: 5rem var(--px);
  background: var(--ink);
}
.culture-day-inner {
  max-width: var(--mw);
  margin: 0 auto;
}
.culture-day-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  margin-top: 2.5rem;
}
.culture-day-card {
  border: 1px solid rgba(255,255,255,.07);
  border-radius: var(--r);
  padding: 1.5rem;
}
.culture-day-time {
  font-size: 11px;
  font-weight: 700;
  color: var(--orange);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: .6rem;
}
.culture-day-card h4 {
  font-size: 14px;
  font-weight: 700;
  color: white;
  margin-bottom: .5rem;
}
.culture-day-card p {
  font-size: 12.5px;
  color: rgba(255,255,255,.5);
  line-height: 1.6;
}

/* Perks */
.culture-perks {
  padding: 5rem var(--px);
  background: var(--warm);
  border-top: 1px solid var(--border);
}
.culture-perks-inner {
  max-width: var(--mw);
  margin: 0 auto;
}
.culture-perks-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 2.5rem;
}
.culture-perk {
  display: flex;
  align-items: flex-start;
  gap: .9rem;
  padding: 1.5rem;
  background: white;
  border: 1px solid var(--border);
  border-radius: var(--r);
}
.culture-perk-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.culture-perk-icon svg {
  width: 18px; height: 18px;
  stroke: currentColor; fill: none;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.culture-perk h4 {
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: .3rem;
}
.culture-perk p {
  font-size: 12.5px;
  color: var(--ink-lt);
  line-height: 1.6;
}

/* Mobile */
@media (max-width: 768px) {
  .culture-hero-inner { grid-template-columns: 1fr; gap: 2rem; }
  .culture-feel-grid { grid-template-columns: 1fr; }
  .culture-values-inner { grid-template-columns: 1fr; }
  .culture-values-pull { position: static; }
  .culture-day-grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
  .culture-perks-grid { grid-template-columns: 1fr; }
  .careers-subnav-inner { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
@media (max-width: 480px) {
  .culture-day-grid { grid-template-columns: 1fr; }
}

/* ── FOOTER ADDITIONS ── */
.foot-link {
  display: block;
  font-size: 13px;
  color: rgba(255,255,255,.5);
  text-decoration: none;
  padding: 3px 0;
  transition: color .18s;
}
.foot-link:hover { color: rgba(255,255,255,.85); }

.footer-desc {
  font-size: 13px;
  color: rgba(255,255,255,.45);
  line-height: 1.65;
  margin: .75rem 0 1rem;
}
.footer-tel {
  font-size: 14px;
  font-weight: 600;
  color: var(--orange);
  text-decoration: none;
  display: inline-block;
}
.footer-tel:hover { color: white; }
.footer-logo { text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.footer-reg {
  font-size: 11px;
  color: rgba(255,255,255,.3);
}
