﻿/* Ã¢â€â‚¬Ã¢â€â‚¬ Reset Ã¢â€â‚¬Ã¢â€â‚¬ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Manrope',system-ui,sans-serif;background:#07060D;color:#fff;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* FINAL â€” theme the browser's own scrollbar track/thumb to match the
   dark background. Without this, the native scrollbar leaves a bright
   white strip along the viewport's right edge that visibly breaks the
   full-bleed dark hero, no matter what color the page content itself is. */
html{scrollbar-color:rgba(168,113,255,.45) #07060D;scrollbar-width:thin}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#07060D}
::-webkit-scrollbar-thumb{background:rgba(168,113,255,.45);border-radius:6px}
::-webkit-scrollbar-thumb:hover{background:rgba(168,113,255,.65)}
img,svg{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button{font-family:inherit;border:none;cursor:pointer;background:none}
ul,ol{list-style:none}

/* Ã¢â€â‚¬Ã¢â€â‚¬ Design Tokens Ã¢â€â‚¬Ã¢â€â‚¬ */
:root {
  /* Background */
  --bg-hero:   #07060D;
  --bg-dark:   #08070E;
  --bg-dark2:  #0B0A14;
  --bg-light:  #F9F7F4;
  --bg-card:   #ffffff;

  /* Brand */
  --gold:      #C8A84B;
  --gold-lt:   #DFC06E;
  --gold-dk:   #A8892C;

  /* Accent */
  --purple:    #6D28D9;
  --purple-lt: #7C3AED;
  --purple-dk: #4C1D95;
  --indigo:    #3730A3;
  --teal:      #0D9488;
  --blue:      #2563EB;
  --green:     #059669;
  --amber:     #D97706;

  /* Gradient stops (restrained) */
  --g-orange:  #F97316;
  --g-pink:    #DB2777;
  --g-purple:  #7C3AED;

  /* Text */
  --text-ink:  #0F0E18;
  --text-dim:  rgba(255,255,255,.45);
  --text-muted:rgba(255,255,255,.28);

  /* Spacing scale */
  --s1:  4px;
  --s2:  8px;
  --s3:  12px;
  --s4:  16px;
  --s5:  20px;
  --s6:  24px;
  --s7:  32px;
  --s8:  40px;
  --s9:  56px;
  --s10: 72px;
  --s11: 96px;

  /* Layout */
  --pad-x: clamp(24px,5vw,72px);
  --section-py: clamp(56px,7vw,88px);

  /* Radii */
  --r-sm:  6px;
  --r-md:  10px;
  --r-lg:  14px;
  --r-xl:  20px;
  --r-pill:100px;

  /* Shadows (minimal) */
  --shadow-xs: 0 1px 3px rgba(0,0,0,.07);
  --shadow-sm: 0 2px 8px rgba(0,0,0,.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,.09);
  --shadow-lg: 0 6px 24px rgba(0,0,0,.1);
}

/* Ã¢â€â‚¬Ã¢â€â‚¬ Skip link Ã¢â€â‚¬Ã¢â€â‚¬ */
.skip-link{position:absolute;top:-100%;left:var(--s5);padding:var(--s2) var(--s5);background:var(--gold);color:#000;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;z-index:9999;border-radius:0 0 var(--r-md) var(--r-md);transition:top .2s}
.skip-link:focus{top:0}

/* Ã¢â€â‚¬Ã¢â€â‚¬ Visually hidden Ã¢â€â‚¬Ã¢â€â‚¬ */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}

/* Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â
   NAV
Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â */
.nav{
  position:sticky;top:0;z-index:100;
  height:66px;padding:0 var(--pad-x);
  display:flex;align-items:center;justify-content:space-between;gap:var(--s6);
  background:rgba(7,6,13,.94);
  border-bottom:1px solid rgba(255,255,255,.055);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)
}

/* PASS 1 Ã¢â‚¬â€ Logo: official asset placeholder.
   Replace .nav__logo-img src with the official E4LA logo PNG/SVG when available. */
.nav__logo{display:flex;flex-direction:column;gap:1px;text-decoration:none;flex-shrink:0}
.nav__logo-lockup{display:flex;align-items:flex-end;gap:0;line-height:1}
.nav__logo-e4{font-size:21px;font-weight:800;letter-spacing:.2px;color:#fff;font-family:'Manrope',sans-serif}
.nav__logo-palm{display:inline-flex;align-items:flex-end;margin:0 1px -2px;width:16px;height:20px}
.nav__logo-palm svg{width:16px;height:20px}
.nav__logo-la{font-size:21px;font-weight:800;letter-spacing:.2px;color:#fff;font-family:'Manrope',sans-serif}
.nav__logo-sub{font-size:6.5px;font-weight:600;letter-spacing:2.8px;text-transform:uppercase;color:rgba(255,255,255,.3);padding-left:1px}
.nav__logo-atelier{font-size:6px;font-weight:400;letter-spacing:2.2px;text-transform:uppercase;color:rgba(255,255,255,.16);padding-left:1px;margin-top:1px}

.nav__links{display:flex;align-items:center;gap:var(--s7)}
.nav__link{
  font-size:10.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  color:rgba(255,255,255,.5);transition:color .2s;padding:var(--s2) 0;
  display:inline-flex;align-items:center;gap:var(--s1)
}
.nav__link:hover{color:rgba(255,255,255,.9)}
.nav__link:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:var(--r-sm)}
.nav__link svg{width:11px;height:11px;opacity:.4;margin-top:1px}

.nav__cta{
  padding:8px 18px;border-radius:var(--r-pill);
  border:1px solid rgba(255,255,255,.28);color:#fff;
  font-size:10.5px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:var(--s2);
  transition:background .2s,border-color .2s;flex-shrink:0
}
.nav__cta:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.5)}
.nav__cta:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.nav__cta svg{width:12px;height:12px}

/* Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â
   HERO
Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â */
.hero{
  min-height:calc(100vh - 66px);
  display:grid;grid-template-columns:42% 58%;
  align-items:center;
  padding:var(--s10) var(--pad-x) var(--s9);
  background:var(--bg-hero);
  position:relative;overflow:hidden
}
/* Subtle radial ambient on left */
.hero::before{
  content:'';position:absolute;
  left:-10%;top:10%;width:50%;height:80%;
  background:radial-gradient(ellipse,rgba(60,20,120,.14) 0%,transparent 70%);
  pointer-events:none
}

.hero__left{z-index:2;position:relative;padding-right:var(--s8)}

.hero__eyebrow{
  display:inline-flex;align-items:center;gap:var(--s3);
  font-size:9.5px;font-weight:700;letter-spacing:3px;text-transform:uppercase;
  color:rgba(255,255,255,.35);margin-bottom:var(--s7)
}
.hero__eyebrow::before{content:'';width:18px;height:1px;background:var(--gold);opacity:.7}

.hero__h1{
  font-family:'Manrope',sans-serif;
  font-size:clamp(38px,3.8vw,54px);
  font-weight:700;
  line-height:1.1;letter-spacing:-.5px;
  color:#fff;margin-bottom:var(--s6)
}
.hero__h1 .word{
  background:linear-gradient(95deg,var(--g-orange) 0%,var(--g-pink) 48%,var(--g-purple) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  display:inline-block
}

.hero__desc{
  font-size:14px;line-height:1.75;font-weight:300;
  color:rgba(255,255,255,.48);max-width:360px;margin-bottom:var(--s8)
}

.hero__actions{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap}

.btn-outline-white{
  display:inline-flex;align-items:center;gap:var(--s3);
  padding:11px 22px;border-radius:var(--r-pill);
  border:1px solid rgba(255,255,255,.35);color:#fff;
  font-size:10.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  transition:background .22s,border-color .22s
}
.btn-outline-white:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.6)}
.btn-outline-white:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.btn-outline-white svg{width:13px;height:13px}

.btn-play{
  display:inline-flex;align-items:center;gap:var(--s3);
  padding:10px 20px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:#fff;
  font-size:10.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  transition:background .22s
}
.btn-play:hover{background:rgba(255,255,255,.12)}
.btn-play:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.btn-play__ring{
  width:24px;height:24px;border-radius:50%;
  background:rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.btn-play__ring svg{width:9px;height:10px;margin-left:1px}

/* Ã¢â€â‚¬Ã¢â€â‚¬ Hero Right / Ring Ã¢â€â‚¬Ã¢â€â‚¬ */
.hero__right{
  display:flex;justify-content:center;align-items:center;
  position:relative;z-index:1
}

/* PASS 2: ring ~15% smaller than initial 520px Ã¢â€ â€™ 445px */
.ring-wrap{
  width:445px;height:445px;
  position:relative;flex-shrink:0
}

/* PASS 5: Outer ambient Ã¢â‚¬â€ much more restrained */
.ring-wrap::before{
  content:'';position:absolute;
  inset:-44px;border-radius:50%;
  background:conic-gradient(from 240deg,
    rgba(109,40,217,.18) 0%,
    rgba(168,28,100,.22) 22%,
    rgba(219,39,119,.18) 40%,
    rgba(249,115,22,.22) 56%,
    rgba(249,115,22,.16) 64%,
    rgba(109,40,217,.18) 85%,
    rgba(109,40,217,.18) 100%
  );
  filter:blur(22px);z-index:0
}

.ring{
  position:absolute;inset:0;border-radius:50%;z-index:1
}

/* Ring border Ã¢â‚¬â€ sharper, less bloom */
.ring::before{
  content:'';position:absolute;
  inset:-2px;border-radius:50%;
  background:conic-gradient(from 240deg,
    #4C1D95 0%,
    #6D28D9 10%,
    #8B5CF6 18%,
    #A21CAF 30%,
    #DB2777 40%,
    #EC4899 50%,
    #F97316 58%,
    #FB923C 64%,
    #F97316 70%,
    #A21CAF 80%,
    #6D28D9 90%,
    #4C1D95 100%
  );
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3.5px),white calc(100% - 2.5px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 3.5px),white calc(100% - 2.5px))
}

/* Tighter glow halo Ã¢â‚¬â€ no heavy blur */
.ring::after{
  content:'';position:absolute;
  inset:-7px;border-radius:50%;
  background:conic-gradient(from 240deg,
    rgba(76,29,149,.4) 0%,
    rgba(162,28,175,.42) 26%,
    rgba(249,115,22,.4) 55%,
    rgba(109,40,217,.38) 86%,
    rgba(76,29,149,.4) 100%
  );
  filter:blur(5px);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 16px),white calc(100% - 7px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 16px),white calc(100% - 7px))
}

.ring-inner{
  position:absolute;
  inset:2.5px;border-radius:50%;
  background:radial-gradient(circle at 50% 30%,#120A38 0%,#0C0620 40%,#070418 72%,#050316 100%);
  overflow:hidden;z-index:2
}

.ring-city{
  position:absolute;bottom:0;left:0;right:0;height:55%
}

/* PASS 2: ring text ~15% smaller */
.ring-text{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-62%);
  text-align:center;z-index:3
}
.ring-text__logo{
  display:flex;align-items:flex-end;justify-content:center;gap:0;
  font-family:'Manrope',sans-serif;
  font-size:clamp(44px,5vw,60px);font-weight:800;letter-spacing:.5px;color:#fff;line-height:1
}
.ring-text__palm{
  display:inline-flex;align-items:flex-end;
  margin:0 2px -3px;
  width:clamp(34px,4vw,48px);height:auto
}
.ring-text__palm svg{width:100%;height:auto}
.ring-text__sub{
  font-size:8px;font-weight:600;letter-spacing:4.5px;text-transform:uppercase;
  color:rgba(255,255,255,.45);margin-top:var(--s2)
}

/* Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â
   SERVICES
Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â */
.sec-services{
  padding:var(--section-py) var(--pad-x);
  background:#FAFAF8
}
.services-top{
  display:grid;grid-template-columns:260px 1fr;
  align-items:end;gap:var(--s8);margin-bottom:var(--s8)
}
.label-tag{
  font-size:9.5px;font-weight:700;letter-spacing:3px;text-transform:uppercase;
  color:var(--purple-lt);margin-bottom:var(--s3)
}
.services-top__h2{
  font-family:'Manrope',sans-serif;
  font-size:clamp(24px,2.2vw,30px);line-height:1.18;color:var(--text-ink)
}
.services-top__link{
  display:inline-flex;align-items:center;gap:var(--s2);margin-top:var(--s4);
  font-size:9.5px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;
  color:var(--purple-lt);transition:gap .2s
}
.services-top__link:hover{gap:var(--s4)}
.services-top__link:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:var(--r-sm)}
.services-top__link svg{width:13px;height:13px}

.services-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s4)
}
.svc-card{
  background:var(--bg-card);border-radius:var(--r-lg);
  padding:var(--s6) var(--s5) var(--s5);
  display:flex;flex-direction:column;gap:var(--s3);
  border:1px solid rgba(0,0,0,.055);
  box-shadow:var(--shadow-xs);
  transition:box-shadow .25s,transform .25s
}
.svc-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}

/* PASS 6: smaller icons */
.svc-icon{
  width:42px;height:42px;border-radius:var(--r-md);
  display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.svc-icon svg{width:20px;height:20px}
.svc-icon--purple{background:rgba(109,40,217,.1);color:var(--purple-lt)}
.svc-icon--blue{background:rgba(37,99,235,.1);color:var(--blue)}
.svc-icon--green{background:rgba(5,150,105,.1);color:var(--green)}
.svc-icon--amber{background:rgba(217,119,6,.1);color:var(--amber)}
.svc-icon--indigo{background:rgba(55,48,163,.1);color:var(--indigo)}

.svc-card__title{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text-ink);margin-top:var(--s1)}
.svc-card__desc{font-size:12px;line-height:1.68;font-weight:300;color:rgba(15,14,24,.52);flex:1}
.svc-card__arr{
  width:26px;height:26px;border-radius:50%;
  border:1px solid rgba(0,0,0,.1);
  display:flex;align-items:center;justify-content:center;
  color:rgba(0,0,0,.32);align-self:flex-start;margin-top:var(--s2);flex-shrink:0;
  transition:background .2s,border-color .2s,color .2s
}
.svc-card__arr svg{width:11px;height:11px}
.svc-card:hover .svc-card__arr{background:var(--purple-lt);border-color:var(--purple-lt);color:#fff}
.svc-card__arr:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â
   APPROACH
Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â */
.sec-approach{
  padding:var(--section-py) var(--pad-x);
  background:var(--bg-dark2)
}
.approach-layout{
  display:grid;grid-template-columns:280px 1fr;
  align-items:center;gap:var(--s11)
}
.approach__label{
  font-size:9.5px;font-weight:700;letter-spacing:3px;text-transform:uppercase;
  color:rgba(255,255,255,.3);margin-bottom:var(--s3)
}
.approach__h2{
  font-family:'Manrope',sans-serif;
  font-size:clamp(22px,2.2vw,29px);line-height:1.22;color:#fff;margin-bottom:var(--s4)
}
.approach__h2 em{color:var(--gold);font-style:italic}
.approach__desc{
  font-size:13px;line-height:1.78;font-weight:300;
  color:rgba(255,255,255,.42);margin-bottom:var(--s7)
}
.btn-outline-gold{
  display:inline-flex;align-items:center;gap:var(--s2);
  padding:9px 20px;border-radius:var(--r-pill);
  border:1px solid rgba(200,168,75,.28);color:var(--gold);
  font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  transition:background .2s,border-color .2s
}
.btn-outline-gold:hover{background:rgba(200,168,75,.07);border-color:rgba(200,168,75,.55)}
.btn-outline-gold:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.btn-outline-gold svg{width:12px;height:12px}

/* PASS 7: timeline Ã¢â‚¬â€ smaller circles */
.timeline{position:relative;padding-top:var(--s2)}
.timeline__track{
  position:absolute;top:26px;left:26px;right:26px;height:1px;
  background:linear-gradient(90deg,
    rgba(109,40,217,.4) 0%,
    rgba(200,168,75,.35) 38%,
    rgba(37,99,235,.35) 68%,
    rgba(5,150,105,.4) 100%
  )
}
.timeline__steps{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s2)}
.tstep{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;z-index:1}

/* Reduced circle: 52px (was 70px) */
.tstep__circle{
  width:52px;height:52px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Manrope',sans-serif;font-size:15px;font-style:italic;color:#fff;
  border:1px solid;background:var(--bg-dark2);
  margin-bottom:var(--s4);
  transition:transform .22s
}
.tstep:hover:not(.tstep--auto-active) .tstep__circle{transform:none !important}

/* Softer glows */
.tstep--1 .tstep__circle{border-color:rgba(109,40,217,.65);box-shadow:0 0 12px rgba(109,40,217,.15)}
.tstep--2 .tstep__circle{border-color:rgba(200,168,75,.55);box-shadow:0 0 12px rgba(200,168,75,.12)}
.tstep--3 .tstep__circle{border-color:rgba(200,168,75,.5);box-shadow:0 0 12px rgba(200,168,75,.1)}
.tstep--4 .tstep__circle{border-color:rgba(37,99,235,.6);box-shadow:0 0 12px rgba(37,99,235,.15)}
.tstep--5 .tstep__circle{border-color:rgba(200,168,75,.5);box-shadow:0 0 12px rgba(200,168,75,.12)}
.tstep--6 .tstep__circle{border-color:rgba(5,150,105,.6);box-shadow:0 0 12px rgba(5,150,105,.15)}

.tstep__name{
  font-size:9.5px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;
  color:#fff;margin-bottom:var(--s1)
}
.tstep__sub{
  font-size:10px;font-weight:300;color:rgba(255,255,255,.32);
  line-height:1.55;max-width:78px
}

/* Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â
   STATS STRIP
Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â */
.sec-stats{
  padding:28px var(--pad-x);
  /* PASS 8: softer, less saturated gradient */
  background:linear-gradient(90deg,#160848 0%,#2D0C84 28%,#3B1690 50%,#2D0C84 72%,#160848 100%)
}
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.stat{
  display:flex;align-items:center;gap:var(--s4);
  padding:var(--s2) var(--s5);
  border-right:1px solid rgba(255,255,255,.08)
}
.stat:last-child{border-right:none}

/* PASS 8: smaller icons */
.stat__ico{width:28px;height:28px;flex-shrink:0;color:rgba(255,255,255,.6);opacity:.85}
.stat__ico svg{width:100%;height:100%}
.stat__num{font-size:23px;font-weight:700;color:#fff;line-height:1;letter-spacing:-.3px}
.stat__label{font-size:10px;font-weight:400;color:rgba(255,255,255,.48);margin-top:2px;letter-spacing:.2px}

/* Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â
   WHY E4LA
Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â */
.sec-why{
  padding:var(--section-py) var(--pad-x);
  background:var(--bg-dark)
}
.why-layout{
  display:grid;grid-template-columns:240px 1fr;
  gap:var(--s11);align-items:start
}
.why__label{
  font-size:9.5px;font-weight:700;letter-spacing:3px;text-transform:uppercase;
  color:rgba(255,255,255,.3);margin-bottom:var(--s3)
}
.why__h2{
  font-family:'Manrope',sans-serif;
  font-size:clamp(22px,2.1vw,28px);line-height:1.22;color:#fff
}
.why__rule{width:24px;height:1.5px;background:var(--gold);opacity:.7;margin-top:var(--s5)}

/* PASS 9: more whitespace */
.why-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:var(--s8) var(--s10)
}
.why-item__head{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s2)}
.why-item__ico{
  width:30px;height:30px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.why-item__ico svg{width:14px;height:14px}
.why-item__ico--blue  {background:rgba(37,99,235,.16); color:#93C5FD}
.why-item__ico--gold  {background:rgba(200,168,75,.16); color:var(--gold-lt)}
.why-item__ico--teal  {background:rgba(13,148,136,.16); color:#5EEAD4}
.why-item__ico--purple{background:rgba(109,40,217,.16); color:#C4B5FD}
.why-item__ico--pink  {background:rgba(219,39,119,.16); color:#FDA4AF}
.why-item__title{font-size:12.5px;font-weight:700;color:var(--gold-lt)}
.why-item__body{font-size:12px;line-height:1.68;font-weight:300;color:rgba(255,255,255,.36)}

/* Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â
   COACHING
Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â */
.sec-coaching{
  padding:var(--section-py) var(--pad-x);
  background:#fff
}
.coaching-layout{
  display:grid;grid-template-columns:1fr 320px;
  gap:var(--s9);align-items:start
}
.coaching__label{
  font-size:9.5px;font-weight:700;letter-spacing:3px;text-transform:uppercase;
  color:var(--purple-lt);margin-bottom:var(--s4)
}
.coaching__h2{
  font-family:'Manrope',sans-serif;
  font-size:clamp(22px,2.2vw,29px);line-height:1.2;color:var(--text-ink);margin-bottom:var(--s4)
}
.coaching__desc{
  font-size:13.5px;line-height:1.78;font-weight:300;
  color:rgba(15,14,24,.48);margin-bottom:var(--s7)
}

/* PASS 10: audience cards */
.audience-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3)}
.aud-card{
  padding:var(--s5) var(--s4) var(--s4);
  border-radius:var(--r-xl);
  border:1.5px solid rgba(0,0,0,.07);
  display:flex;flex-direction:column;gap:var(--s2);
  cursor:pointer;transition:border-color .2s,box-shadow .2s
}
.aud-card:hover{border-color:var(--purple-lt);box-shadow:0 3px 16px rgba(109,40,217,.09)}
.aud-card:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.aud-card__ico{width:32px;height:32px;color:rgba(0,0,0,.3)}
.aud-card__ico svg{width:100%;height:100%}
.aud-card__name{font-size:12.5px;font-weight:700;color:var(--text-ink)}
.aud-card__desc{font-size:11px;line-height:1.6;font-weight:300;color:rgba(15,14,24,.44);flex:1}
.aud-card__radio{
  width:14px;height:14px;border-radius:50%;
  border:1.5px solid rgba(0,0,0,.18);
  margin-top:var(--s1);flex-shrink:0
}

/* PASS 10: elegant calendar */
.calendar-widget{
  background:#FAFAF8;border-radius:var(--r-xl);
  padding:var(--s6);border:1px solid rgba(0,0,0,.07);
  box-shadow:var(--shadow-sm)
}
.cal__title{
  font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;
  color:rgba(15,14,24,.32);margin-bottom:var(--s5)
}
.cal__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s4)}
.cal__month{font-size:12.5px;font-weight:700;color:var(--text-ink)}
.cal__btn{
  width:24px;height:24px;border-radius:50%;
  border:1px solid rgba(0,0,0,.08);background:transparent;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:rgba(15,14,24,.4);font-size:11px;
  transition:background .18s
}
.cal__btn:hover{background:rgba(0,0,0,.05)}
.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.cal__day-name{
  font-size:9px;font-weight:600;
  color:rgba(15,14,24,.3);padding-bottom:var(--s2);letter-spacing:.5px
}
.cal__date{
  font-size:11.5px;font-weight:400;color:var(--text-ink);
  width:28px;height:28px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto;cursor:pointer;
  transition:background .14s
}
.cal__date:hover{background:rgba(0,0,0,.05)}
.cal__date--today{
  background:var(--teal);color:#fff;font-weight:600
}
.cal__date--today:hover{background:#0b8478}
.cal__date--empty{pointer-events:none}
.cal__cta{
  width:100%;margin-top:var(--s4);
  padding:12px;border-radius:var(--r-pill);
  background:linear-gradient(105deg,#0A0715,#1E0A5E);
  color:#fff;font-size:10.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  display:flex;align-items:center;justify-content:center;gap:var(--s3);
  cursor:pointer;transition:opacity .2s
}
.cal__cta:hover{opacity:.85}
.cal__cta:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.cal__cta svg{width:13px;height:13px}
.cal__note{
  font-size:10px;color:rgba(15,14,24,.3);
  text-align:center;margin-top:var(--s3);letter-spacing:.2px
}

/* Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â
   CTA BAND
Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â */
/* PASS 11: harmonized gradient blend */
.sec-cta{
  display:grid;grid-template-columns:1fr 1fr;
  min-height:200px
}
.cta-dark{
  padding:var(--s9) var(--pad-x);
  background:linear-gradient(130deg,#0B0A16 0%,#0E0B1C 60%,#120D28 100%);
  display:flex;flex-direction:column;justify-content:center
}
.cta-dark__h2{
  font-family:'Manrope',sans-serif;
  font-size:clamp(24px,2.5vw,33px);line-height:1.18;color:#fff
}
.cta-warm{
  padding:var(--s9) var(--s10);
  background:linear-gradient(130deg,#4A2400 0%,#7A3D00 35%,#B8780A 65%,var(--gold) 85%,var(--gold-lt) 100%);
  display:flex;flex-direction:column;justify-content:center;gap:var(--s5);
  position:relative;overflow:hidden
}
.cta-warm::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 75% 80% at 65% 50%,rgba(255,210,80,.12),transparent 60%)
}
.cta-warm__text{
  font-size:15px;line-height:1.7;color:rgba(255,255,255,.5);
  font-weight:300;position:relative;z-index:1
}
.cta-warm__btn{
  display:inline-flex;align-items:center;gap:var(--s3);
  padding:12px 24px;border-radius:var(--r-pill);
  background:rgba(8,5,0,.75);color:var(--gold);
  font-size:10.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  position:relative;z-index:1;align-self:flex-start;
  transition:background .2s
}
.cta-warm__btn:hover{background:rgba(8,5,0,.92)}
.cta-warm__btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.cta-warm__btn svg{width:13px;height:13px}

/* Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â
   FOOTER
Ã¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢ÂÃ¢â€¢Â */
.footer{
  background:var(--bg-dark);
  border-top:1px solid rgba(255,255,255,.04);
  padding:var(--s9) var(--pad-x) var(--s7)
}
/* PASS 12: generous top layout */
.footer__top{
  display:grid;grid-template-columns:180px 1fr;
  gap:var(--s11);margin-bottom:var(--s9)
}

/* Smaller footer logo */
.footer__brand{}
.footer__logo-lockup{
  display:flex;align-items:flex-end;gap:0;line-height:1;margin-bottom:2px
}
.footer__logo-e4{font-size:17px;font-weight:800;letter-spacing:.2px;color:#fff;font-family:'Manrope',sans-serif}
.footer__logo-palm{display:inline-flex;align-items:flex-end;margin:0 1px -2px;width:13px;height:17px}
.footer__logo-palm svg{width:13px;height:17px}
.footer__logo-la{font-size:17px;font-weight:800;letter-spacing:.2px;color:#fff;font-family:'Manrope',sans-serif}
.footer__logo-sub{font-size:6px;font-weight:600;letter-spacing:2.8px;text-transform:uppercase;color:rgba(255,255,255,.25);padding-left:1px}
.footer__logo-atelier{font-size:5.5px;font-weight:400;letter-spacing:2.2px;text-transform:uppercase;color:rgba(255,255,255,.13);padding-left:1px;margin-top:1px}
.footer__tagline{
  font-size:12px;font-weight:300;color:rgba(255,255,255,.3);
  line-height:1.65;margin:var(--s4) 0 var(--s5);max-width:160px
}
.footer__socials{display:flex;gap:var(--s2)}
.footer__soc{
  width:30px;height:30px;border-radius:50%;
  border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.3);
  transition:border-color .2s,color .2s
}
.footer__soc:hover{border-color:var(--gold);color:var(--gold)}
.footer__soc:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.footer__soc svg{width:13px;height:13px}

.footer__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s8)}
.footer__col-head{
  font-size:8.5px;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;
  color:rgba(255,255,255,.18);margin-bottom:var(--s5)
}
.footer__links{display:flex;flex-direction:column;gap:var(--s3)}
.footer__links a{
  font-size:12.5px;color:rgba(255,255,255,.3);
  font-weight:300;transition:color .2s
}
.footer__links a:hover{color:rgba(255,255,255,.7)}
.footer__links a:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:var(--r-sm)}
.footer__nl-note{
  font-size:12px;font-weight:300;color:rgba(255,255,255,.3);
  line-height:1.65;margin-bottom:var(--s4)
}

/* PASS 12: slimmer newsletter field */
.footer__form{
  display:flex;
  border:1px solid rgba(255,255,255,.09);
  border-radius:var(--r-pill);overflow:hidden;
  transition:border-color .2s
}
.footer__form:focus-within{border-color:rgba(200,168,75,.3)}
.footer__input{
  flex:1;background:transparent;border:none;
  padding:9px 16px;
  font-size:12.5px;color:#fff;font-family:inherit;outline:none;
  min-width:0
}
.footer__input::placeholder{color:rgba(255,255,255,.18)}
.footer__submit{
  padding:9px 16px;background:var(--gold);color:#000;
  font-size:13px;font-weight:700;flex-shrink:0;cursor:pointer;
  border-radius:0 var(--r-pill) var(--r-pill) 0;
  transition:background .2s
}
.footer__submit:hover{background:var(--gold-lt)}
.footer__submit:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.footer__bottom{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:var(--s3);
  padding-top:var(--s6);border-top:1px solid rgba(255,255,255,.04)
}
.footer__copy,.footer__made{
  font-size:10.5px;color:rgba(255,255,255,.18);font-weight:300
}

/* Ã¢â€â‚¬Ã¢â€â‚¬ Reveal Ã¢â€â‚¬Ã¢â€â‚¬ */
[data-r]{
  opacity:0;transform:translateY(12px);
  transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);
  will-change:opacity,transform
}
[data-r="left"]{transform:translateX(-12px)}
[data-r="right"]{transform:translateX(12px);opacity:0}
[data-r].in{opacity:1;transform:none}
[data-d="1"]{transition-delay:.08s}[data-d="2"]{transition-delay:.18s}
[data-d="3"]{transition-delay:.28s}[data-d="4"]{transition-delay:.38s}
[data-d="5"]{transition-delay:.48s}[data-d="6"]{transition-delay:.58s}

/* Ã¢â€â‚¬Ã¢â€â‚¬ Responsive Ã¢â€â‚¬Ã¢â€â‚¬ */
@media(max-width:1120px){
  .hero{grid-template-columns:1fr;min-height:auto;padding-bottom:var(--s7)}
  .hero__left{padding-right:0}
  .hero__right{display:none}
  .services-grid{grid-template-columns:repeat(3,1fr)}
  .why-grid{grid-template-columns:1fr 1fr}
  .footer__top{grid-template-columns:1fr;gap:var(--s7)}
}
@media(max-width:900px){
  .approach-layout{grid-template-columns:1fr;gap:var(--s8)}
  .timeline__steps{grid-template-columns:repeat(3,1fr);gap:var(--s6)}
  .timeline__track{display:none}
  .why-layout{grid-template-columns:1fr;gap:var(--s8)}
  .coaching-layout{grid-template-columns:1fr;gap:var(--s7)}
  .sec-cta{grid-template-columns:1fr}
  .footer__cols{grid-template-columns:repeat(2,1fr);gap:var(--s7)}
}
@media(max-width:640px){
  .nav__links{display:none}
  .services-grid{grid-template-columns:1fr 1fr}
  .audience-cards{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat:nth-child(5){grid-column:span 2}
  .why-grid{grid-template-columns:1fr}
  .footer__cols{grid-template-columns:1fr}
  .services-top{grid-template-columns:1fr}
}

/* Ã¢â€â‚¬Ã¢â€â‚¬ A11y Ã¢â€â‚¬Ã¢â€â‚¬ */
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:var(--r-sm)}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
  [data-r]{opacity:1!important;transform:none!important}
  html{scroll-behavior:auto}
}

/* ================================================================
   REFERENCE FIDELITY PASS Ã¢â‚¬â€ geometry sampled from the supplied art
   ================================================================ */
:root{
  --ref-black:#020713;
  --ref-black-2:#02111f;
  --ref-ivory:#fbfaf7;
  --ref-purple:#5a24d6;
  --ref-violet:#a245ee;
  --ref-gold:#e2a900;
  --pad-x:clamp(42px,4.86vw,94px);
  --section-py:clamp(34px,4vw,72px);
  --r-sm:4px;--r-md:8px;--r-lg:10px;--r-xl:12px
}
body{background:var(--ref-black);font-family:'Manrope',Arial,sans-serif}
.nav{height:76px;padding-inline:var(--pad-x);background:#02050d;border:0;backdrop-filter:none}
.brand-asset{display:block;object-fit:cover;object-position:center;mix-blend-mode:normal}
.nav__logo{width:132px;height:58px;overflow:hidden;justify-content:center;border-radius:6px}
.nav__logo .brand-asset{width:100%;height:100%;transform:scale(1.18)}
.nav__links{gap:34px}
.nav__link{font-size:9px;letter-spacing:0;font-weight:600;color:#fff}
.nav__cta{border-radius:5px;padding:10px 14px;font-size:9px;letter-spacing:0;border-color:rgba(255,255,255,.45)}

.hero{height:calc(100vh - 76px);min-height:540px;max-height:720px;grid-template-columns:46% 54%;padding:12px var(--pad-x) 14px;background:linear-gradient(90deg,#02050d 0%,#02050d 30%,rgba(2,5,13,.8) 43%,rgba(2,5,13,.24) 62%,#02050d 100%),radial-gradient(ellipse at 70% 52%,rgba(124,58,237,.18),transparent 56%),url('assets/e4la-hero-highres.jpeg') #02050d;background-repeat:no-repeat;background-size:auto auto,auto auto,cover;background-position:center,right center,center center}
.hero::before{display:none}
.hero__left{padding-right:18px;transform:translateY(-28px)}
.hero__eyebrow{display:none}
.hero__h1{font-family:'Manrope',Arial,sans-serif;font-size:clamp(32px,3.65vw,58px);line-height:1.04;font-weight:600;letter-spacing:-1.1px;margin-bottom:12px;max-width:520px}
.hero__h1 .word{background:linear-gradient(90deg,#ff9b00 0%,#f36c38 24%,#dc3d9e 58%,#7849eb 100%);-webkit-background-clip:text;background-clip:text}
.hero__desc{font-size:clamp(11px,.92vw,14px);line-height:1.5;max-width:430px;color:rgba(255,255,255,.82);margin-bottom:14px}
.hero__actions{gap:10px;transform:translateY(-2px)}
.btn-outline-white{background:#fff;color:#090b13;border:1px solid #d9d9d9;border-radius:5px;padding:10px 15px;font-size:8.5px;letter-spacing:0;box-shadow:0 2px 6px rgba(0,0,0,.22)}
.btn-outline-white:hover{background:#f7f7f7;color:#090b13}
.btn-play{background:transparent;border:1px solid rgba(255,255,255,.42);border-radius:5px;padding:7px 12px 7px 7px;font-size:8.5px;letter-spacing:0}
.btn-play__ring{width:25px;height:25px;background:transparent;border:1px solid #fff}
.hero__right{display:none}
.hero-reference-art{width:112%;height:calc(100% + 42px);position:relative;overflow:visible;background:none;filter:saturate(1.04) contrast(1.03)}
.hero__right>.ring-wrap{display:none}

.sec-services{height:265px;padding:40px var(--pad-x) 26px;background:#fff;display:grid;grid-template-columns:1.5fr repeat(5,1fr);gap:0}
.services-top{display:contents}
.services-top>div{padding-right:32px;align-self:start}
.services-top>p{display:none}
.label-tag{font-size:9px;letter-spacing:1px;margin-bottom:18px;color:#3625bd}
.services-top__h2{font-family:'Manrope',Arial,sans-serif;font-size:19px;line-height:1.28;font-weight:500;letter-spacing:-.5px;max-width:200px}
.services-top__link{border:1px solid #9f8bf3;border-radius:18px;padding:7px 12px;margin-top:18px;font-size:8px;letter-spacing:0;color:#3625bd}
.services-grid{display:contents}
.svc-card{border:0;border-left:1px solid rgba(67,44,111,.14);border-radius:0;background:transparent;box-shadow:none;padding:0 18px 0;gap:10px;min-width:0}
.svc-card:hover{transform:none;box-shadow:none}
.svc-icon{width:35px;height:35px;border-radius:8px;color:#fff!important;box-shadow:0 5px 12px rgba(43,22,110,.16)}
.svc-icon svg{width:18px;height:18px}
.svc-icon--purple{background:linear-gradient(145deg,#6b35dd,#3219a5)}
.svc-icon--blue{background:linear-gradient(145deg,#1477e6,#173baf)}
.svc-icon--green{background:linear-gradient(145deg,#16b89c,#087b72)}
.svc-icon--amber{background:linear-gradient(145deg,#ff8d14,#d45200)}
.svc-icon--indigo{background:linear-gradient(145deg,#7b35d9,#4017a0)}
.svc-card__title{font-size:11px;line-height:1.38;letter-spacing:0;font-weight:700;margin-top:4px}
.svc-card__desc{font-size:9px;line-height:1.62;color:#222;flex:1}
.svc-card__arr{width:24px;height:24px;margin-top:2px;border-color:rgba(0,0,0,.27);color:#111}

.sec-approach{height:255px;padding:31px var(--pad-x) 26px;background:#07060D}
.approach-layout{grid-template-columns:200px 1fr;gap:22px;height:100%}
.approach__label,.why__label{font-size:8px;letter-spacing:1px;color:#bd72f3;margin-bottom:13px}
.approach__h2{font-family:'Manrope',Arial,sans-serif;font-size:20px;line-height:1.3;font-weight:400;margin-bottom:11px}
.approach__h2 em{font-style:normal;color:#fff}
.approach__desc{font-size:9px;line-height:1.65;max-width:175px;margin-bottom:14px;color:rgba(255,255,255,.82)}
.btn-outline-gold{font-size:7.5px;letter-spacing:0;border-radius:5px;padding:8px 10px;color:#d6a8ff;border-color:#713cb2}
.timeline{padding-top:5px}
.timeline__track{top:25px;left:25px;right:25px;background:linear-gradient(90deg,#7446db,#0ba7c9,#16ac7e,#c88a08,#b42378,#5f2eae)}
.tstep__circle{width:42px;height:42px;font-family:'Manrope',Arial,sans-serif;font-size:14px;font-style:normal;margin-bottom:16px;background:#06101b;box-shadow:none!important}
.tstep__name{font-size:8px;letter-spacing:0;margin-bottom:12px}
.tstep__sub{font-size:8px;line-height:1.65;max-width:82px;color:rgba(255,255,255,.73)}

.sec-stats{height:103px;padding:0 var(--pad-x);display:flex;align-items:center;background:linear-gradient(100deg,#4e1cad 0%,#b13f9e 47%,#df655f 68%,#1a2a80 100%)}
.stats-grid{width:100%}
.stat{padding:0 18px;gap:12px;border-color:rgba(255,255,255,.16)}
.stat__ico{width:31px;height:31px;color:#fff;opacity:.88}
.stat__num{font-size:20px;font-weight:500}
.stat__label{font-size:8px;color:rgba(255,255,255,.83)}

.sec-why{height:196px;padding:31px var(--pad-x) 24px;background:radial-gradient(circle at 20% 70%,#031b2b,#020b17 55%,#020812)}
.why-layout{grid-template-columns:200px 1fr;gap:20px}
.why__h2{font-family:'Manrope',Arial,sans-serif;font-size:19px;line-height:1.35;font-weight:400}
.why__rule{width:42px;background:#a968e7;margin-top:17px}
.why-grid{grid-template-columns:repeat(3,1fr);gap:0 30px}
.why-item{padding:0 0 18px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:17px}
.why-item:nth-child(n+4){border-bottom:0;margin-bottom:0;padding-bottom:0}
.why-item__head{gap:12px;margin-bottom:4px}
.why-item__ico{width:36px;height:36px;border:1px solid #6f36b3;background:transparent!important;color:#a968e7!important}
.why-item__ico svg{width:18px;height:18px}
.why-item__title{font-size:9px;color:#bd72f3}
.why-item__body{font-size:8.5px;line-height:1.5;padding-left:48px;color:rgba(255,255,255,.78)}

.sec-coaching{height:231px;padding:29px var(--pad-x) 23px;background:linear-gradient(105deg,#fffdf9,#fff 60%,#fff8f1)}
.coaching-layout{grid-template-columns:minmax(0,2.2fr) minmax(235px,1fr);gap:22px;height:100%}
.coaching-layout>div:first-child{display:grid;grid-template-columns:1.18fr 2fr;grid-template-rows:auto auto 1fr;column-gap:22px}
.coaching__label{grid-column:1;font-size:8px;letter-spacing:1px;margin:6px 0 18px;color:#3b27be}
.coaching__h2{grid-column:1;font-family:'Manrope',Arial,sans-serif;font-size:19px;line-height:1.3;font-weight:400;margin-bottom:9px}
.coaching__desc{grid-column:1;font-size:9px;line-height:1.65;margin:0;color:#222}
.audience-cards{grid-column:2;grid-row:1/4;gap:9px}
.aud-card{height:171px;border-radius:8px;padding:16px 12px 12px;gap:8px;border:1px solid #d5d5d5;box-shadow:0 3px 10px rgba(0,0,0,.035)}
.aud-card__ico{width:30px;height:30px;color:#111}
.aud-card__name{font-size:12px;font-weight:500}
.aud-card__desc{font-size:8.5px;line-height:1.55;color:#222}
.aud-card__radio{width:13px;height:13px;margin-top:auto}
.calendar-widget{border:0;border-left:1px solid #e0e0e0;border-radius:0;padding:0 0 0 22px;box-shadow:none;background:transparent}
.cal__title{font-size:8px;letter-spacing:1px;margin-bottom:14px;color:#222}
.cal__nav{margin-bottom:8px}.cal__month{font-size:9px;font-weight:500}.cal__btn{border:0;width:20px;height:20px}
.cal__grid{gap:0}.cal__day-name{font-size:6px;padding-bottom:3px}.cal__date{font-size:8px;width:21px;height:21px}
.cal__date--today{background:#5423cf}
.cal__cta{margin-top:8px;padding:10px;border-radius:5px;background:#030d16;color:#ff5838;font-size:8px;letter-spacing:0;justify-content:space-between;padding-inline:52px 14px}
.cal__note{font-size:8px;margin-top:7px}

.sec-cta{height:101px;min-height:0;grid-template-columns:1fr 2fr;background:linear-gradient(105deg,#1c2782 0%,#5b1e9d 34%,#c12e70 56%,#e46d16 75%,#171354 100%)}
.cta-dark,.cta-warm{padding:20px var(--pad-x);background:transparent}
.cta-dark{padding-right:24px}.cta-dark__h2{font-family:'Manrope',Arial,sans-serif;font-size:25px;line-height:1.12;font-weight:400}
.cta-warm{display:grid;grid-template-columns:1fr 190px;align-items:center;gap:20px;padding-left:24px;padding-right:64px}
.cta-warm::before{display:none}.cta-warm__text{font-size:10px;line-height:1.55;color:#fff;max-width:210px}
.cta-warm__btn{width:184px;justify-content:space-between;background:transparent;border:1px solid rgba(255,255,255,.55);color:#fff;border-radius:5px;font-size:9px;letter-spacing:0;padding:12px 16px}

.footer{height:173px;padding:25px var(--pad-x) 16px;background:#07060D}
.footer__top{grid-template-columns:160px 1fr;gap:20px;margin-bottom:14px}
.footer__brand-logo{width:124px;height:58px;overflow:hidden;border-radius:6px}.footer__brand-logo .brand-asset{width:100%;height:100%;transform:scale(1.18)}
.footer__tagline{font-size:7px;line-height:1.55;margin:7px 0 8px;max-width:150px}
.footer__socials{gap:10px}.footer__soc{border:0;width:16px;height:16px;color:#fff}.footer__soc svg{width:13px;height:13px}
.footer__cols{gap:26px}.footer__col-head{font-size:6.5px;letter-spacing:0;color:#e2a900;margin-bottom:8px}.footer__links{gap:4px}.footer__links a,.footer__nl-note{font-size:7.5px;color:rgba(255,255,255,.82)}
.footer__nl-note{margin-bottom:9px}.footer__form{height:33px;border-color:#9b6500;border-radius:5px}.footer__input{font-size:8px;padding:7px 12px}.footer__submit{background:transparent;color:#e2a900;border-radius:0;font-size:17px;padding:4px 12px}
.footer__bottom{padding-top:8px;border:0}.footer__copy,.footer__made{font-size:7px;color:rgba(255,255,255,.55)}

[data-r]{opacity:1;transform:none;transition:none}
@media(min-width:1121px){.hero__right{display:block}}
@media(max-width:780px){
  .nav{height:62px}.nav__logo{width:104px;height:46px}.nav__cta{display:none}
  .hero{height:auto;min-height:620px;grid-template-columns:1fr;padding:34px 24px;background-size:auto auto,auto auto,cover;background-position:center,right center,center center}.hero__left{padding:0;transform:none}.hero__right{display:none}
  .sec-services{height:auto;display:block;padding:42px 24px}.services-top{display:block}.services-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:28px}.svc-card{border-left:0;border-top:1px solid rgba(67,44,111,.14);padding:22px 12px}
  .sec-approach,.sec-why,.sec-coaching,.footer{height:auto}.approach-layout,.why-layout{grid-template-columns:1fr}.timeline__steps{grid-template-columns:repeat(3,1fr)}
  .stats-grid{grid-template-columns:1fr 1fr}.sec-stats{height:auto;padding:24px}.stat{padding:14px}.stat:nth-child(5){grid-column:1/3}
  .coaching-layout{grid-template-columns:1fr}.coaching-layout>div:first-child{display:block}.audience-cards{margin-top:24px}.calendar-widget{border-left:0;border-top:1px solid #ddd;padding:24px 0 0}
  .sec-cta{height:auto;grid-template-columns:1fr}.cta-warm{grid-template-columns:1fr;padding:24px}.footer__top{grid-template-columns:1fr}.footer__cols{grid-template-columns:1fr 1fr}
}

/* FINAL HERO IMAGE FIX: use d.jpg as the only hero artwork and remove the old image block artifact. */
.hero{
  background:
    linear-gradient(90deg,#02050d 0%,rgba(2,5,13,.96) 24%,rgba(2,5,13,.68) 42%,rgba(2,5,13,.16) 64%,rgba(2,5,13,.12) 100%),
    url('assets/e4la-hero-highres.jpeg') #02050d !important;
  background-repeat:no-repeat !important;
  background-size:auto calc(100% - 18px) !important;
  background-position:right center !important;
}
.hero__right,
.hero-reference-art,
.hero-reference-art::before,
.hero-reference-art::after{
  display:none !important;
  content:none !important;
  background:none !important;
}
@media(max-width:780px){
  .hero{
    background-size:auto 44% !important;
    background-position:right bottom !important;
  }
}

/* FINAL HERO 16:9 COMPOSITION */
.hero{
  aspect-ratio:16 / 9 !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  grid-template-columns:minmax(360px,42%) 1fr !important;
  align-items:center !important;
  padding:clamp(36px,4vw,64px) var(--pad-x) clamp(32px,4vw,56px) !important;
  background:
    linear-gradient(90deg,rgba(2,5,13,.98) 0%,rgba(2,5,13,.92) 28%,rgba(2,5,13,.58) 46%,rgba(2,5,13,.12) 66%,rgba(2,5,13,.05) 100%),
    url('assets/e4la-hero-highres.jpeg') #02050d !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center center !important;
}
.hero__left{
  padding-right:clamp(18px,3vw,44px) !important;
  transform:translateY(-2%) !important;
  max-width:560px !important;
}
.hero__h1{
  font-size:clamp(38px,4.35vw,72px) !important;
  line-height:1.05 !important;
  max-width:560px !important;
  margin-bottom:clamp(14px,1.3vw,22px) !important;
}
.hero__desc{
  font-size:clamp(12px,1.02vw,16px) !important;
  line-height:1.58 !important;
  max-width:470px !important;
  margin-bottom:clamp(18px,1.8vw,30px) !important;
}
.hero__actions{
  gap:14px !important;
  transform:none !important;
}
.hero__right,
.hero-reference-art,
.hero-reference-art::before,
.hero-reference-art::after{
  display:none !important;
  content:none !important;
  background:none !important;
}
@media(max-width:780px){
  .hero{
    aspect-ratio:auto !important;
    min-height:680px !important;
    grid-template-columns:1fr !important;
    align-items:start !important;
    padding:34px 24px !important;
    background:
      linear-gradient(180deg,rgba(2,5,13,.98) 0%,rgba(2,5,13,.82) 48%,rgba(2,5,13,.2) 100%),
      url('assets/e4la-hero-highres.jpeg') #02050d !important;
    background-size:cover !important;
    background-position:center bottom !important;
  }
  .hero__left{transform:none !important;padding-right:0 !important;}
}

/* FINAL HERO SIZE + SHARPEN + STICKY NAV */
.nav{
  position:sticky !important;
  top:0 !important;
  z-index:9999 !important;
  background:rgba(2,5,13,.94) !important;
  border-bottom:1px solid rgba(255,255,255,.09) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
}
.hero{
  aspect-ratio:auto !important;
  height:clamp(560px,74vh,690px) !important;
  min-height:0 !important;
  max-height:none !important;
  grid-template-columns:minmax(390px,43%) 1fr !important;
  align-items:center !important;
  padding:clamp(28px,3.2vw,52px) var(--pad-x) clamp(24px,3vw,44px) !important;
  background:
    linear-gradient(90deg,rgba(2,5,13,.99) 0%,rgba(2,5,13,.94) 25%,rgba(2,5,13,.62) 45%,rgba(2,5,13,.18) 68%,rgba(2,5,13,.06) 100%),
    url('assets/e4la-hero-highres.jpeg') #02050d !important;
  background-repeat:no-repeat !important;
  background-size:auto 100% !important;
  background-position:right center !important;
}
.hero__left{
  transform:translateY(-1%) !important;
  max-width:590px !important;
}
.hero__h1{
  font-size:clamp(36px,4vw,66px) !important;
  line-height:1.04 !important;
  max-width:590px !important;
}
.hero__desc{
  max-width:480px !important;
}
.hero__right,
.hero-reference-art,
.hero-reference-art::before,
.hero-reference-art::after{
  display:none !important;
  content:none !important;
}
@media(max-width:780px){
  .hero{
    height:auto !important;
    min-height:620px !important;
    grid-template-columns:1fr !important;
    padding:30px 24px !important;
    background:
      linear-gradient(180deg,rgba(2,5,13,.98) 0%,rgba(2,5,13,.86) 44%,rgba(2,5,13,.28) 100%),
      url('assets/e4la-hero-highres.jpeg') #02050d !important;
    background-size:auto 46% !important;
    background-position:right bottom !important;
  }
  .hero__left{transform:none !important;}
}

/* FINAL SERVICES ACCORDION */
.sec-services{
  min-height:360px !important;
  height:auto !important;
  padding:clamp(46px,5vw,72px) var(--pad-x) !important;
  display:grid !important;
  grid-template-columns:minmax(220px,280px) minmax(0,1fr) !important;
  gap:clamp(22px,3vw,42px) !important;
  align-items:stretch !important;
  background:
    radial-gradient(circle at 88% 14%,rgba(249,115,22,.16),transparent 28%),
    radial-gradient(circle at 18% 82%,rgba(124,58,237,.13),transparent 30%),
    linear-gradient(105deg,#eee8ff 0%,#fffaf5 56%,#ffd9d2 100%) !important;
}
.sec-services .services-top{display:block !important;align-self:center !important;min-width:0 !important;}
.sec-services .services-top>div{padding-right:0 !important;}
.sec-services .services-top>p{display:none !important;}
.sec-services .label-tag{font-size:10px !important;letter-spacing:1.8px !important;margin-bottom:16px !important;color:#4e2ac2 !important;}
.sec-services .services-top__h2{font-family:'Manrope',Arial,sans-serif !important;font-size:clamp(24px,2.25vw,34px) !important;line-height:1.13 !important;font-weight:600 !important;letter-spacing:-.7px !important;max-width:260px !important;color:#100f1b !important;}
.sec-services .services-top__link{display:inline-flex !important;border:1px solid rgba(78,42,194,.24) !important;border-radius:999px !important;padding:10px 15px !important;margin-top:24px !important;font-size:9px !important;letter-spacing:.7px !important;color:#4e2ac2 !important;background:rgba(255,255,255,.34) !important;transition:transform .28s cubic-bezier(.2,.8,.2,1),background .28s cubic-bezier(.2,.8,.2,1),border-color .28s cubic-bezier(.2,.8,.2,1) !important;}
.sec-services .services-top__link:hover{transform:translateY(-1px) !important;background:rgba(255,255,255,.62) !important;border-color:rgba(78,42,194,.42) !important;}
.services-grid.services-grid{
  display:flex !important;
  gap:10px !important;
  align-items:stretch !important;
  min-width:0 !important;
  margin:0 !important;
}
.svc-card.svc-card{
  position:relative !important;
  flex:1 1 0 !important;
  min-width:0 !important;
  min-height:238px !important;
  border:1px solid rgba(55,38,82,.12) !important;
  border-left:1px solid rgba(55,38,82,.12) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.22) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.42) inset !important;
  padding:24px 18px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  gap:0 !important;
  overflow:hidden !important;
  cursor:pointer !important;
  isolation:isolate !important;
  transform:translateZ(0) !important;
  transition:flex .58s cubic-bezier(.22,1,.36,1), transform .42s cubic-bezier(.22,1,.36,1), background .42s cubic-bezier(.22,1,.36,1), border-color .42s cubic-bezier(.22,1,.36,1), box-shadow .42s cubic-bezier(.22,1,.36,1) !important;
}
.svc-card.svc-card::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.16));
  opacity:0;
  transition:opacity .42s cubic-bezier(.22,1,.36,1);
  z-index:-1;
}
.svc-card.svc-card:hover,
.svc-card.svc-card:focus-visible,
.svc-card.svc-card.is-active{
  flex:2.35 1 0 !important;
  transform:translateY(-8px) translateZ(0) !important;
  background:rgba(255,255,255,.68) !important;
  border-color:rgba(86,54,196,.28) !important;
  box-shadow:0 24px 60px rgba(73,43,120,.16),0 1px 0 rgba(255,255,255,.75) inset !important;
  outline:none !important;
}
.svc-card.svc-card:hover::before,
.svc-card.svc-card:focus-visible::before,
.svc-card.svc-card.is-active::before{opacity:1;}
.svc-card .svc-card__title{
  order:1 !important;
  font-size:clamp(12px,.95vw,16px) !important;
  line-height:1.22 !important;
  letter-spacing:.02em !important;
  font-weight:800 !important;
  color:#11101b !important;
  margin:0 !important;
  max-width:170px !important;
  transition:transform .42s cubic-bezier(.22,1,.36,1), color .32s cubic-bezier(.22,1,.36,1) !important;
}
.svc-card:hover .svc-card__title,
.svc-card:focus-visible .svc-card__title,
.svc-card.is-active .svc-card__title{transform:translateY(-8px);color:#160f38 !important;}
.svc-card .svc-icon,
.svc-card .svc-card__desc,
.svc-card .svc-card__arr{
  opacity:0 !important;
  transform:translateY(14px) translateZ(0) !important;
  pointer-events:none !important;
}
.svc-card .svc-icon{
  order:0 !important;
  width:42px !important;
  height:42px !important;
  margin:0 0 auto !important;
  max-height:0 !important;
  transition:opacity .32s cubic-bezier(.22,1,.36,1), transform .42s cubic-bezier(.22,1,.36,1), max-height .46s cubic-bezier(.22,1,.36,1), margin .46s cubic-bezier(.22,1,.36,1) !important;
}
.svc-card .svc-card__desc{
  order:2 !important;
  max-height:0 !important;
  max-width:310px !important;
  margin:0 !important;
  overflow:hidden !important;
  font-size:13px !important;
  line-height:1.65 !important;
  color:rgba(17,16,27,.62) !important;
  transition:max-height .56s cubic-bezier(.22,1,.36,1), opacity .34s cubic-bezier(.22,1,.36,1) .06s, transform .42s cubic-bezier(.22,1,.36,1) .06s !important;
}
.svc-card .svc-card__arr{
  order:3 !important;
  margin-top:0 !important;
  width:32px !important;
  height:32px !important;
  background:#120f24 !important;
  border-color:#120f24 !important;
  color:#fff !important;
  transition:opacity .3s cubic-bezier(.22,1,.36,1) .12s, transform .42s cubic-bezier(.22,1,.36,1) .12s, margin .42s cubic-bezier(.22,1,.36,1), background .22s !important;
}
.svc-card:hover .svc-icon,
.svc-card:focus-visible .svc-icon,
.svc-card.is-active .svc-icon{
  opacity:1 !important;
  transform:translateY(0) translateZ(0) !important;
  max-height:42px !important;
  margin-bottom:auto !important;
}
.svc-card:hover .svc-card__desc,
.svc-card:focus-visible .svc-card__desc,
.svc-card.is-active .svc-card__desc{
  opacity:1 !important;
  transform:translateY(0) translateZ(0) !important;
  max-height:120px !important;
  margin-top:2px !important;
}
.svc-card:hover .svc-card__arr,
.svc-card:focus-visible .svc-card__arr,
.svc-card.is-active .svc-card__arr{
  opacity:1 !important;
  transform:translateY(0) translateZ(0) !important;
  pointer-events:auto !important;
  margin-top:18px !important;
}
@media(hover:none){
  .svc-card.svc-card:hover{flex:1 1 0 !important;transform:none !important;}
  .svc-card.svc-card.is-active{flex:2.15 1 0 !important;transform:translateY(-6px) translateZ(0) !important;}
}
@media(max-width:780px){
  .sec-services{display:block !important;padding:44px 24px !important;}
  .services-grid.services-grid{display:grid !important;grid-template-columns:1fr !important;gap:10px !important;margin-top:26px !important;}
  .svc-card.svc-card{min-height:72px !important;padding:22px !important;transform:none !important;}
  .svc-card.svc-card:hover,.svc-card.svc-card:focus-visible,.svc-card.svc-card.is-active{flex:1 1 auto !important;transform:none !important;}
  .svc-card.is-active{min-height:212px !important;}
}

/* FINAL SERVICES: RESTORED CARDS WITH HOVER DETAILS */
.sec-services{
  height:auto !important;
  min-height:300px !important;
  padding:40px var(--pad-x) 32px !important;
  background:#fff !important;
  display:grid !important;
  grid-template-columns:1.5fr repeat(5,1fr) !important;
  gap:0 !important;
  align-items:stretch !important;
}
.sec-services .services-top{display:contents !important;}
.sec-services .services-top>div{padding-right:32px !important;align-self:start !important;}
.sec-services .services-top>p{display:none !important;}
.sec-services .label-tag{font-size:9px !important;letter-spacing:1px !important;margin-bottom:18px !important;color:#3625bd !important;}
.sec-services .services-top__h2{font-family:'Manrope',Arial,sans-serif !important;font-size:19px !important;line-height:1.28 !important;font-weight:500 !important;letter-spacing:-.5px !important;max-width:210px !important;color:#0f0e18 !important;}
.sec-services .services-top__link{display:inline-flex !important;border:1px solid #9f8bf3 !important;border-radius:18px !important;padding:7px 12px !important;margin-top:18px !important;font-size:8px !important;letter-spacing:0 !important;color:#3625bd !important;background:transparent !important;}
.services-grid.services-grid{
  display:contents !important;
}
.svc-card.svc-card{
  position:relative !important;
  flex:auto !important;
  min-width:0 !important;
  min-height:235px !important;
  border:0 !important;
  border-left:1px solid rgba(67,44,111,.14) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 18px 0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  gap:10px !important;
  overflow:visible !important;
  cursor:pointer !important;
  transform:none !important;
  transition:background .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s cubic-bezier(.2,.8,.2,1), transform .28s cubic-bezier(.2,.8,.2,1), border-color .28s cubic-bezier(.2,.8,.2,1) !important;
}
.svc-card.svc-card::before{display:none !important;}
.svc-card.svc-card:hover,
.svc-card.svc-card:focus-visible,
.svc-card.svc-card.is-active{
  flex:auto !important;
  transform:translateY(-4px) !important;
  background:rgba(255,255,255,.36) !important;
  border-color:rgba(67,44,111,.22) !important;
  box-shadow:0 18px 44px rgba(62,39,94,.12) !important;
  outline:none !important;
  border-radius:12px !important;
}
.svc-card .svc-icon{
  order:0 !important;
  opacity:1 !important;
  transform:none !important;
  pointer-events:auto !important;
  width:35px !important;
  height:35px !important;
  max-height:none !important;
  margin:0 0 0 !important;
  border-radius:8px !important;
  color:#fff !important;
  box-shadow:0 5px 12px rgba(43,22,110,.16) !important;
}
.svc-card .svc-card__title{
  order:1 !important;
  font-size:11px !important;
  line-height:1.38 !important;
  letter-spacing:0 !important;
  font-weight:700 !important;
  color:#111 !important;
  margin:4px 0 0 !important;
  max-width:none !important;
  transform:none !important;
}
.svc-card .svc-card__desc{
  order:2 !important;
  opacity:1 !important;
  transform:none !important;
  max-height:none !important;
  overflow:visible !important;
  margin:0 !important;
  font-size:9px !important;
  line-height:1.62 !important;
  color:#222 !important;
  flex:0 0 auto !important;
}
.svc-card .svc-card__more{
  order:3 !important;
  max-height:0 !important;
  opacity:0 !important;
  overflow:hidden !important;
  transform:translateY(8px) translateZ(0) !important;
  margin:0 !important;
  font-size:9px !important;
  line-height:1.58 !important;
  color:rgba(15,14,24,.62) !important;
  transition:max-height .42s cubic-bezier(.22,1,.36,1), opacity .28s cubic-bezier(.22,1,.36,1) .06s, transform .34s cubic-bezier(.22,1,.36,1) .06s !important;
}
.svc-card:hover .svc-card__more,
.svc-card:focus-visible .svc-card__more,
.svc-card.is-active .svc-card__more{
  max-height:118px !important;
  opacity:1 !important;
  transform:translateY(0) translateZ(0) !important;
  margin-top:2px !important;
}
.svc-card .svc-card__arr{
  order:4 !important;
  opacity:1 !important;
  transform:none !important;
  pointer-events:auto !important;
  width:24px !important;
  height:24px !important;
  margin-top:auto !important;
  border-color:rgba(0,0,0,.27) !important;
  background:transparent !important;
  color:#111 !important;
}
.svc-card:hover .svc-card__arr,
.svc-card:focus-visible .svc-card__arr,
.svc-card.is-active .svc-card__arr{
  background:var(--purple-lt) !important;
  border-color:var(--purple-lt) !important;
  color:#fff !important;
}
@media(max-width:780px){
  .sec-services{height:auto !important;display:block !important;padding:42px 24px !important;}
  .sec-services .services-top{display:block !important;}
  .services-grid.services-grid{display:grid !important;grid-template-columns:1fr 1fr !important;margin-top:28px !important;gap:0 !important;}
  .svc-card.svc-card{min-height:180px !important;border-left:0 !important;border-top:1px solid rgba(67,44,111,.14) !important;padding:22px 12px !important;border-radius:0 !important;}
  .svc-card.svc-card:hover,.svc-card.svc-card:focus-visible,.svc-card.svc-card.is-active{transform:none !important;border-radius:10px !important;}
}

/* FINAL SERVICES STABILITY + READABILITY TUNE */
.sec-services{
  min-height:340px !important;
  padding:46px var(--pad-x) 38px !important;
  align-items:stretch !important;
}
.sec-services .services-top__h2{
  font-size:clamp(22px,2vw,30px) !important;
  line-height:1.18 !important;
  max-width:260px !important;
}
.sec-services .services-top__link{
  padding:10px 16px !important;
  font-size:10px !important;
  font-weight:800 !important;
  min-height:40px !important;
}
.svc-card.svc-card{
  min-height:252px !important;
  padding:0 20px 0 !important;
  transform:none !important;
  box-shadow:none !important;
  transition:background .28s cubic-bezier(.2,.8,.2,1), border-color .28s cubic-bezier(.2,.8,.2,1) !important;
}
.svc-card.svc-card:hover,
.svc-card.svc-card:focus-visible,
.svc-card.svc-card.is-active{
  transform:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  background:rgba(255,255,255,.26) !important;
}
.svc-card .svc-icon{
  width:40px !important;
  height:40px !important;
}
.svc-card .svc-card__title{
  font-size:13px !important;
  line-height:1.28 !important;
  margin-top:8px !important;
}
.svc-card .svc-card__desc{
  font-size:11px !important;
  line-height:1.58 !important;
}
.svc-card .svc-card__more{
  font-size:10.5px !important;
  line-height:1.55 !important;
  max-height:0 !important;
}
.svc-card:hover .svc-card__more,
.svc-card:focus-visible .svc-card__more,
.svc-card.is-active .svc-card__more{
  max-height:92px !important;
}
.svc-card .svc-card__arr{
  width:30px !important;
  height:30px !important;
}
.svc-card__arr svg{width:13px !important;height:13px !important;}
@media(max-width:780px){
  .sec-services{padding:46px 24px !important;}
  .services-grid.services-grid{grid-template-columns:1fr !important;}
  .svc-card.svc-card{min-height:190px !important;padding:22px 16px !important;}
}

/* FINAL SERVICES NO-LAYOUT-SHIFT HOVER */
.sec-services{
  height:420px !important;
  min-height:420px !important;
  padding:52px var(--pad-x) 42px !important;
  overflow:hidden !important;
}
.svc-card.svc-card{
  min-height:310px !important;
  height:310px !important;
  padding:0 20px 0 !important;
  overflow:hidden !important;
}
.svc-card .svc-card__desc{
  min-height:54px !important;
}
.svc-card .svc-card__more{
  display:block !important;
  height:92px !important;
  max-height:none !important;
  opacity:0 !important;
  overflow:hidden !important;
  margin-top:4px !important;
  transform:translateY(8px) translateZ(0) !important;
  transition:opacity .28s cubic-bezier(.22,1,.36,1), transform .34s cubic-bezier(.22,1,.36,1) !important;
}
.svc-card:hover .svc-card__more,
.svc-card:focus-visible .svc-card__more,
.svc-card.is-active .svc-card__more{
  height:92px !important;
  max-height:none !important;
  opacity:1 !important;
  transform:translateY(0) translateZ(0) !important;
}
.svc-card .svc-card__arr{
  margin-top:auto !important;
}
@media(max-width:780px){
  .sec-services{height:auto !important;min-height:0 !important;overflow:visible !important;}
  .svc-card.svc-card{height:auto !important;min-height:240px !important;}
  .svc-card .svc-card__more{height:96px !important;}
}

/* FINAL SERVICES CENTERED REVEAL */
.sec-services{
  height:420px !important;
  min-height:420px !important;
  padding:52px var(--pad-x) 42px !important;
  overflow:hidden !important;
}
.svc-card.svc-card{
  min-height:310px !important;
  height:310px !important;
  padding:24px 20px !important;
  overflow:hidden !important;
  justify-content:center !important;
  gap:10px !important;
  text-align:left !important;
}
.svc-card .svc-icon{
  flex:0 0 auto !important;
  margin:0 !important;
  transition:transform .38s cubic-bezier(.22,1,.36,1) !important;
}
.svc-card .svc-card__title{
  flex:0 0 auto !important;
  margin:8px 0 0 !important;
  transition:transform .38s cubic-bezier(.22,1,.36,1) !important;
}
.svc-card .svc-card__desc,
.svc-card .svc-card__more,
.svc-card .svc-card__arr{
  opacity:0 !important;
  transform:translateY(12px) translateZ(0) !important;
  pointer-events:none !important;
}
.svc-card .svc-card__desc{
  min-height:0 !important;
  height:auto !important;
  margin-top:2px !important;
  transition:opacity .28s cubic-bezier(.22,1,.36,1) .05s, transform .34s cubic-bezier(.22,1,.36,1) .05s !important;
}
.svc-card .svc-card__more{
  height:auto !important;
  max-height:none !important;
  margin-top:2px !important;
  transition:opacity .28s cubic-bezier(.22,1,.36,1) .12s, transform .34s cubic-bezier(.22,1,.36,1) .12s !important;
}
.svc-card .svc-card__arr{
  margin-top:10px !important;
  transition:opacity .28s cubic-bezier(.22,1,.36,1) .18s, transform .34s cubic-bezier(.22,1,.36,1) .18s, background .22s !important;
}
.svc-card:hover,
.svc-card:focus-visible,
.svc-card.is-active{
  justify-content:flex-start !important;
}
.svc-card:hover .svc-icon,
.svc-card:focus-visible .svc-icon,
.svc-card.is-active .svc-icon,
.svc-card:hover .svc-card__title,
.svc-card:focus-visible .svc-card__title,
.svc-card.is-active .svc-card__title{
  transform:translateY(-2px) translateZ(0) !important;
}
.svc-card:hover .svc-card__desc,
.svc-card:focus-visible .svc-card__desc,
.svc-card.is-active .svc-card__desc,
.svc-card:hover .svc-card__more,
.svc-card:focus-visible .svc-card__more,
.svc-card.is-active .svc-card__more,
.svc-card:hover .svc-card__arr,
.svc-card:focus-visible .svc-card__arr,
.svc-card.is-active .svc-card__arr{
  opacity:1 !important;
  transform:translateY(0) translateZ(0) !important;
  pointer-events:auto !important;
}
@media(max-width:780px){
  .sec-services{height:auto !important;min-height:0 !important;overflow:visible !important;}
  .svc-card.svc-card{height:260px !important;min-height:260px !important;}
}

/* FINAL SERVICES TRUE CENTER RESTING STATE */
.svc-card.svc-card{
  display:grid !important;
  grid-template-rows:1fr auto auto auto auto 1fr !important;
  align-content:stretch !important;
  justify-content:stretch !important;
  height:310px !important;
  min-height:310px !important;
  padding:24px 20px !important;
}
.svc-card .svc-icon{
  grid-row:2 !important;
  align-self:end !important;
  justify-self:start !important;
}
.svc-card .svc-card__title{
  grid-row:3 !important;
  align-self:start !important;
  justify-self:start !important;
}
.svc-card .svc-card__desc{
  grid-row:4 !important;
}
.svc-card .svc-card__more{
  grid-row:5 !important;
}
.svc-card .svc-card__arr{
  grid-row:6 !important;
  align-self:start !important;
}
.svc-card:hover,
.svc-card:focus-visible,
.svc-card.is-active{
  grid-template-rows:0fr auto auto auto auto 1fr !important;
}
.svc-card:hover .svc-icon,
.svc-card:focus-visible .svc-icon,
.svc-card.is-active .svc-icon,
.svc-card:hover .svc-card__title,
.svc-card:focus-visible .svc-card__title,
.svc-card.is-active .svc-card__title{
  transform:none !important;
}
@media(max-width:780px){
  .svc-card.svc-card{height:260px !important;min-height:260px !important;}
}

/* CLEAN SERVICES FINAL OVERRIDE - predictable centered reveal */
.sec-services{
  height:420px !important;
  min-height:420px !important;
  padding:48px var(--pad-x) 40px !important;
  overflow:hidden !important;
}
.services-grid.services-grid{display:contents !important;}
.svc-card.svc-card{
  height:300px !important;
  min-height:300px !important;
  padding:24px 20px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  gap:10px !important;
  overflow:hidden !important;
  transform:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  background:transparent !important;
  transition:background .24s ease,border-color .24s ease !important;
}
.svc-card.svc-card:hover,
.svc-card.svc-card:focus-visible,
.svc-card.svc-card.is-active{
  justify-content:flex-start !important;
  background:rgba(255,255,255,.24) !important;
  border-color:rgba(67,44,111,.22) !important;
  transform:none !important;
  box-shadow:none !important;
}
.svc-card .svc-icon,
.svc-card .svc-card__title{
  opacity:1 !important;
  transform:none !important;
  flex:0 0 auto !important;
}
.svc-card .svc-card__desc,
.svc-card .svc-card__more,
.svc-card .svc-card__arr{
  flex:0 0 auto !important;
  max-height:0 !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  opacity:0 !important;
  overflow:hidden !important;
  transform:translateY(10px) !important;
  pointer-events:none !important;
  transition:max-height .34s ease,opacity .24s ease,transform .28s ease,margin .28s ease !important;
}
.svc-card:hover .svc-card__desc,
.svc-card:focus-visible .svc-card__desc,
.svc-card.is-active .svc-card__desc{
  max-height:72px !important;
  margin-top:4px !important;
  opacity:1 !important;
  transform:translateY(0) !important;
}
.svc-card:hover .svc-card__more,
.svc-card:focus-visible .svc-card__more,
.svc-card.is-active .svc-card__more{
  max-height:112px !important;
  margin-top:2px !important;
  opacity:1 !important;
  transform:translateY(0) !important;
}
.svc-card:hover .svc-card__arr,
.svc-card:focus-visible .svc-card__arr,
.svc-card.is-active .svc-card__arr{
  max-height:34px !important;
  margin-top:auto !important;
  opacity:1 !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
}
@media(max-width:780px){
  .sec-services{height:auto !important;min-height:0 !important;overflow:visible !important;}
  .services-grid.services-grid{display:grid !important;grid-template-columns:1fr !important;gap:10px !important;}
  .svc-card.svc-card{height:250px !important;min-height:250px !important;}
}

/* SERVICE CARD ALIGNMENT + TEXT VISIBILITY FIX */
.sec-services{
  height:460px !important;
  min-height:460px !important;
  padding:52px var(--pad-x) 44px !important;
}
.svc-card.svc-card{
  height:350px !important;
  min-height:350px !important;
  padding:26px 18px !important;
  justify-content:center !important;
  gap:0 !important;
}
.svc-card .svc-icon{
  margin:0 !important;
  width:40px !important;
  height:40px !important;
  flex:0 0 40px !important;
}
.svc-card .svc-card__title{
  margin:0 !important;
  font-size:13px !important;
  line-height:1.22 !important;
  flex:1 1 auto !important;
}
.svc-card .svc-icon + .svc-card__title{
  display:block !important;
}
.svc-card.svc-card{
  display:grid !important;
  grid-template-columns:40px minmax(0,1fr) !important;
  grid-template-rows:1fr auto 0fr 0fr 0fr 1fr !important;
  column-gap:12px !important;
  align-items:center !important;
}
.svc-card .svc-icon{grid-column:1 !important;grid-row:2 !important;align-self:center !important;justify-self:start !important;}
.svc-card .svc-card__title{grid-column:2 !important;grid-row:2 !important;align-self:center !important;justify-self:start !important;}
.svc-card .svc-card__desc{grid-column:1 / -1 !important;grid-row:3 !important;}
.svc-card .svc-card__more{grid-column:1 / -1 !important;grid-row:4 !important;}
.svc-card .svc-card__arr{grid-column:1 / -1 !important;grid-row:5 !important;justify-self:start !important;}
.svc-card:hover,
.svc-card:focus-visible,
.svc-card.is-active{
  grid-template-rows:0fr auto auto auto auto 1fr !important;
  align-items:start !important;
  justify-content:stretch !important;
}
.svc-card .svc-card__desc,
.svc-card .svc-card__more{
  font-size:10.5px !important;
  line-height:1.48 !important;
}
.svc-card:hover .svc-card__desc,
.svc-card:focus-visible .svc-card__desc,
.svc-card.is-active .svc-card__desc{
  max-height:86px !important;
  margin-top:16px !important;
  opacity:1 !important;
  transform:translateY(0) !important;
  overflow:visible !important;
}
.svc-card:hover .svc-card__more,
.svc-card:focus-visible .svc-card__more,
.svc-card.is-active .svc-card__more{
  max-height:150px !important;
  margin-top:8px !important;
  opacity:1 !important;
  transform:translateY(0) !important;
  overflow:visible !important;
}
.svc-card:hover .svc-card__arr,
.svc-card:focus-visible .svc-card__arr,
.svc-card.is-active .svc-card__arr{
  max-height:34px !important;
  margin-top:14px !important;
}
@media(max-width:780px){
  .svc-card.svc-card{height:310px !important;min-height:310px !important;}
}

/* SERVICES POLISH: CIRCULAR CTAS, COMPACT HEIGHT, LEFT ALIGNMENT */
.sec-services{
  height:410px !important;
  min-height:410px !important;
  padding:44px var(--pad-x) 36px !important;
  align-items:center !important;
}
.sec-services .services-top>div{
  align-self:center !important;
  transform:translateY(10px) !important;
}
.svc-card.svc-card{
  height:300px !important;
  min-height:300px !important;
  padding:24px 18px !important;
}
.svc-card .svc-card__desc,
.svc-card .svc-card__more{
  font-size:10px !important;
  line-height:1.42 !important;
}
.svc-card:hover .svc-card__desc,
.svc-card:focus-visible .svc-card__desc,
.svc-card.is-active .svc-card__desc{
  max-height:58px !important;
  margin-top:14px !important;
}
.svc-card:hover .svc-card__more,
.svc-card:focus-visible .svc-card__more,
.svc-card.is-active .svc-card__more{
  max-height:112px !important;
  margin-top:7px !important;
}
.svc-card .svc-card__arr{
  width:32px !important;
  min-width:32px !important;
  max-width:32px !important;
  height:32px !important;
  min-height:32px !important;
  max-height:32px !important;
  aspect-ratio:1 / 1 !important;
  padding:0 !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 32px !important;
}
.svc-card:hover .svc-card__arr,
.svc-card:focus-visible .svc-card__arr,
.svc-card.is-active .svc-card__arr{
  margin-top:20px !important;
  width:32px !important;
  height:32px !important;
  max-height:32px !important;
  border-radius:50% !important;
}
.svc-card__arr svg{
  width:12px !important;
  height:12px !important;
  flex:0 0 12px !important;
}
@media(max-width:780px){
  .sec-services{height:auto !important;min-height:0 !important;padding:42px 24px !important;}
  .sec-services .services-top>div{transform:none !important;}
  .svc-card.svc-card{height:280px !important;min-height:280px !important;}
}

/* APPROACH READABILITY + STEP INTERACTION */
.sec-approach .approach__label,
.sec-approach .why__label{
  font-size:11px !important;
  letter-spacing:1.8px !important;
  margin-bottom:16px !important;
  color:#d28cff !important;
}
.sec-approach .approach__h2{
  font-size:clamp(26px,2.55vw,40px) !important;
  line-height:1.12 !important;
  letter-spacing:-.6px !important;
  max-width:330px !important;
}
.sec-approach .approach__body{
  font-size:14px !important;
  line-height:1.65 !important;
  max-width:330px !important;
  color:rgba(255,255,255,.7) !important;
}
.sec-approach .btn-outline-gold{
  min-height:42px !important;
  padding:12px 17px !important;
  font-size:10px !important;
  letter-spacing:1px !important;
  border-radius:999px !important;
}
.sec-approach .timeline-step,
.sec-approach .timeline__step{
  transition:transform .32s cubic-bezier(.22,1,.36,1), opacity .32s cubic-bezier(.22,1,.36,1) !important;
}
.sec-approach .timeline-step:hover,
.sec-approach .timeline-step:focus-within,
.sec-approach .timeline__step:hover,
.sec-approach .timeline__step:focus-within{
  transform:translateY(-8px) !important;
}
.sec-approach .timeline-step:hover .timeline-step__num,
.sec-approach .timeline-step:focus-within .timeline-step__num,
.sec-approach .timeline__step:hover .timeline__num,
.sec-approach .timeline__step:focus-within .timeline__num{
  transform:scale(1.12) translateZ(0) !important;
  background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.18),rgba(124,58,237,.28) 45%,rgba(8,7,14,.98) 100%) !important;
  box-shadow:0 0 0 1px rgba(210,140,255,.55),0 0 26px rgba(124,58,237,.38),0 18px 40px rgba(0,0,0,.32) !important;
  color:#fff !important;
}
.sec-approach .timeline-step__num,
.sec-approach .timeline__num{
  transition:transform .32s cubic-bezier(.22,1,.36,1), box-shadow .32s cubic-bezier(.22,1,.36,1), background .32s cubic-bezier(.22,1,.36,1), color .32s cubic-bezier(.22,1,.36,1) !important;
}
.sec-approach .timeline-step:hover .timeline-step__title,
.sec-approach .timeline__step:hover .timeline__title{
  color:#fff !important;
}
.sec-approach .timeline-step:hover .timeline-step__body,
.sec-approach .timeline__step:hover .timeline__body{
  color:rgba(255,255,255,.72) !important;
}

/* APPROACH STEP TEXT TUNE */
.sec-approach .approach__label,
.sec-approach .why__label{
  font-size:8px !important;
  letter-spacing:1px !important;
  margin-bottom:13px !important;
  color:#bd72f3 !important;
}
.sec-approach .approach__h2{
  font-family:'Manrope',Arial,sans-serif !important;
  font-size:20px !important;
  line-height:1.3 !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  max-width:240px !important;
  margin-bottom:11px !important;
}
.sec-approach .approach__body{
  font-size:9px !important;
  line-height:1.7 !important;
  max-width:190px !important;
  color:rgba(255,255,255,.62) !important;
}
.sec-approach .btn-outline-gold{
  min-height:0 !important;
  padding:8px 10px !important;
  font-size:7.5px !important;
  letter-spacing:0 !important;
  border-radius:5px !important;
}
.sec-approach .timeline__title,
.sec-approach .timeline-step__title{
  font-size:12px !important;
  line-height:1.2 !important;
  letter-spacing:.6px !important;
  font-weight:800 !important;
  color:#fff !important;
}
.sec-approach .timeline__body,
.sec-approach .timeline-step__body{
  font-size:11px !important;
  line-height:1.62 !important;
  max-width:140px !important;
  color:rgba(255,255,255,.66) !important;
}
.sec-approach .timeline__num,
.sec-approach .timeline-step__num{
  font-size:15px !important;
}

/* APPROACH STEP VISIBILITY BOOST */
.sec-approach .timeline__title,
.sec-approach .timeline-step__title{
  font-size:14px !important;
  line-height:1.2 !important;
  letter-spacing:.7px !important;
  font-weight:900 !important;
  color:#ffffff !important;
  text-shadow:0 0 18px rgba(255,255,255,.08) !important;
}
.sec-approach .timeline__body,
.sec-approach .timeline-step__body{
  font-size:13px !important;
  line-height:1.58 !important;
  max-width:160px !important;
  font-weight:400 !important;
  color:rgba(255,255,255,.82) !important;
}
.sec-approach .timeline__num,
.sec-approach .timeline-step__num{
  font-size:16px !important;
  font-weight:700 !important;
}
.sec-approach .timeline__steps,
.sec-approach .timeline-steps{
  gap:clamp(10px,1.4vw,22px) !important;
}

/* APPROACH STEP VISIBILITY BOOST XL */
.sec-approach .timeline__title,
.sec-approach .timeline-step__title{
  font-size:16px !important;
  line-height:1.15 !important;
  letter-spacing:.5px !important;
  font-weight:900 !important;
  color:#ffffff !important;
}
.sec-approach .timeline__body,
.sec-approach .timeline-step__body{
  font-size:15px !important;
  line-height:1.5 !important;
  max-width:190px !important;
  font-weight:450 !important;
  color:rgba(255,255,255,.9) !important;
}
.sec-approach .timeline__num,
.sec-approach .timeline-step__num{
  font-size:18px !important;
  font-weight:800 !important;
}
.sec-approach .timeline__steps,
.sec-approach .timeline-steps{
  gap:clamp(12px,1.6vw,26px) !important;
}

/* APPROACH NUMBER RING COLORS */
.sec-approach .timeline__step:nth-child(1) .timeline__num,
.sec-approach .timeline-step:nth-child(1) .timeline-step__num{border-color:#8b5cf6 !important;box-shadow:0 0 0 1px rgba(139,92,246,.25),0 0 22px rgba(139,92,246,.22) !important;color:#efe8ff !important;}
.sec-approach .timeline__step:nth-child(2) .timeline__num,
.sec-approach .timeline-step:nth-child(2) .timeline-step__num{border-color:#2f7dff !important;box-shadow:0 0 0 1px rgba(47,125,255,.22),0 0 22px rgba(47,125,255,.2) !important;color:#e8f0ff !important;}
.sec-approach .timeline__step:nth-child(3) .timeline__num,
.sec-approach .timeline-step:nth-child(3) .timeline-step__num{border-color:#20c997 !important;box-shadow:0 0 0 1px rgba(32,201,151,.22),0 0 22px rgba(32,201,151,.2) !important;color:#eafff8 !important;}
.sec-approach .timeline__step:nth-child(4) .timeline__num,
.sec-approach .timeline-step:nth-child(4) .timeline-step__num{border-color:#f7c948 !important;box-shadow:0 0 0 1px rgba(247,201,72,.22),0 0 22px rgba(247,201,72,.18) !important;color:#fff8dc !important;}
.sec-approach .timeline__step:nth-child(5) .timeline__num,
.sec-approach .timeline-step:nth-child(5) .timeline-step__num{border-color:#ff4fa3 !important;box-shadow:0 0 0 1px rgba(255,79,163,.22),0 0 22px rgba(255,79,163,.2) !important;color:#ffeaf5 !important;}
.sec-approach .timeline__step:nth-child(6) .timeline__num,
.sec-approach .timeline-step:nth-child(6) .timeline-step__num{border-color:#8b5cf6 !important;box-shadow:0 0 0 1px rgba(139,92,246,.25),0 0 22px rgba(139,92,246,.22) !important;color:#efe8ff !important;}

/* APPROACH NUMBER RING COLORS - ACTUAL MARKUP */
.sec-approach .tstep--1 .tstep__circle{border-color:#8b5cf6 !important;box-shadow:0 0 0 1px rgba(139,92,246,.35),0 0 22px rgba(139,92,246,.28) !important;color:#f0e9ff !important;}
.sec-approach .tstep--2 .tstep__circle{border-color:#2f7dff !important;box-shadow:0 0 0 1px rgba(47,125,255,.32),0 0 22px rgba(47,125,255,.26) !important;color:#e8f0ff !important;}
.sec-approach .tstep--3 .tstep__circle{border-color:#20c997 !important;box-shadow:0 0 0 1px rgba(32,201,151,.32),0 0 22px rgba(32,201,151,.24) !important;color:#eafff8 !important;}
.sec-approach .tstep--4 .tstep__circle{border-color:#f7c948 !important;box-shadow:0 0 0 1px rgba(247,201,72,.34),0 0 22px rgba(247,201,72,.22) !important;color:#fff8dc !important;}
.sec-approach .tstep--5 .tstep__circle{border-color:#ff4fa3 !important;box-shadow:0 0 0 1px rgba(255,79,163,.34),0 0 22px rgba(255,79,163,.25) !important;color:#ffeaf5 !important;}
.sec-approach .tstep--6 .tstep__circle{border-color:#8b5cf6 !important;box-shadow:0 0 0 1px rgba(139,92,246,.35),0 0 22px rgba(139,92,246,.28) !important;color:#f0e9ff !important;}
/* Hover no longer lights the circle up (only the auto-cycle does that now). */

/* APPROACH ACTUAL STEP TEXT + SHINE */
.sec-approach .tstep__name{
  font-size:13px !important;
  line-height:1.2 !important;
  letter-spacing:.6px !important;
  font-weight:900 !important;
  color:#ffffff !important;
  margin-bottom:10px !important;
}
.sec-approach .tstep__sub{
  font-size:12px !important;
  line-height:1.52 !important;
  max-width:132px !important;
  font-weight:400 !important;
  color:rgba(255,255,255,.82) !important;
}
.sec-approach .tstep__circle{
  transition:transform .32s cubic-bezier(.22,1,.36,1), box-shadow .32s cubic-bezier(.22,1,.36,1), filter .32s cubic-bezier(.22,1,.36,1), background .32s cubic-bezier(.22,1,.36,1) !important;
}
/* Hover previously scaled/lifted/brightened the circle and lit up
   the name/sub text â€” removed entirely per request. Only the JS
   auto-cycle's .tstep--auto-active class controls the lit look now;
   hovering a step (active or not) no longer changes its appearance
   at all. */

/* APPROACH STEP TEXT BALANCE */
.sec-approach .tstep__name{
  font-size:12px !important;
  line-height:1.18 !important;
  letter-spacing:.5px !important;
  font-weight:850 !important;
  margin-bottom:9px !important;
}
.sec-approach .tstep__sub{
  font-size:11px !important;
  line-height:1.5 !important;
  max-width:124px !important;
  font-weight:400 !important;
  color:rgba(255,255,255,.82) !important;
}
.sec-approach .tstep__circle{
  font-size:15px !important;
}

/* APPROACH LEFT LABEL + CTA SIZE */
.sec-approach .approach__label{
  font-size:11px !important;
  letter-spacing:1.5px !important;
  font-weight:800 !important;
  margin-bottom:15px !important;
}
.sec-approach .btn-outline-gold{
  min-height:40px !important;
  padding:11px 16px !important;
  font-size:9.5px !important;
  letter-spacing:.7px !important;
  font-weight:800 !important;
  border-radius:999px !important;
}
.sec-approach .btn-outline-gold svg{
  width:13px !important;
  height:13px !important;
}

/* APPROACH BOTTOM BREATHING ROOM */
.sec-approach{
  padding-bottom:clamp(46px,5vw,72px) !important;
}
@media(max-width:780px){
  .sec-approach{padding-bottom:56px !important;}
}

/* APPROACH REAL BOTTOM SPACE FIX */
.sec-approach{
  height:315px !important;
  min-height:315px !important;
  padding-bottom:58px !important;
}
.sec-approach .approach-layout{
  height:auto !important;
  align-items:start !important;
}
.sec-approach .btn-outline-gold{
  margin-bottom:22px !important;
}
@media(max-width:780px){
  .sec-approach{
    height:auto !important;
    min-height:0 !important;
    padding-bottom:64px !important;
  }
}

/* WHY E4LA OPTION READABILITY */
.sec-why .why-item__title{
  font-size:15px !important;
  line-height:1.28 !important;
  font-weight:800 !important;
}
.sec-why .why-item__body{
  font-size:13px !important;
  line-height:1.62 !important;
  color:rgba(255,255,255,.68) !important;
}
.sec-why .why-item__ico{
  width:42px !important;
  height:42px !important;
}
.sec-why .why-item__ico svg{
  width:17px !important;
  height:17px !important;
}

/* WHY E4LA CONTAIN LARGER TEXT */
.sec-why{
  height:auto !important;
  min-height:360px !important;
  padding-top:52px !important;
  padding-bottom:58px !important;
  overflow:hidden !important;
}
.sec-why .why-layout{
  align-items:start !important;
}
.sec-why .why-grid{
  row-gap:24px !important;
}
@media(max-width:780px){
  .sec-why{
    min-height:0 !important;
    padding-top:48px !important;
    padding-bottom:54px !important;
    overflow:visible !important;
  }
}

/* WHY E4LA BALANCE TUNE */
.sec-why .why__label{
  font-size:11px !important;
  letter-spacing:1.5px !important;
  font-weight:800 !important;
  margin-bottom:15px !important;
  color:#bd72f3 !important;
}
.sec-why .why-item__title{
  font-size:14px !important;
  line-height:1.26 !important;
  font-weight:800 !important;
}
.sec-why .why-item__body{
  font-size:12px !important;
  line-height:1.58 !important;
  color:rgba(255,255,255,.64) !important;
}
.sec-why .why-item__ico{
  width:40px !important;
  height:40px !important;
}
.sec-why{
  min-height:340px !important;
  padding-bottom:52px !important;
}

/* COACHING CALENDAR CLEANUP */
.sec-coaching{
  height:auto !important;
  min-height:390px !important;
  padding:48px var(--pad-x) 52px !important;
  background:#fff !important;
}
.coaching-layout{
  grid-template-columns:minmax(0,2fr) minmax(330px,390px) !important;
  gap:clamp(28px,4vw,56px) !important;
  height:auto !important;
  align-items:stretch !important;
}
.coaching-layout>div:first-child{
  display:grid !important;
  grid-template-columns:minmax(220px,.78fr) minmax(420px,1.45fr) !important;
  grid-template-rows:auto auto 1fr !important;
  column-gap:clamp(24px,3vw,42px) !important;
}
.audience-cards{
  grid-column:2 !important;
  grid-row:1 / 4 !important;
  gap:14px !important;
  align-self:stretch !important;
}
.aud-card{
  height:250px !important;
  min-height:250px !important;
  border-radius:12px !important;
  padding:24px 18px 18px !important;
}
.aud-card__ico{width:38px !important;height:38px !important;}
.aud-card__name{font-size:16px !important;font-weight:600 !important;}
.aud-card__desc{font-size:11.5px !important;line-height:1.55 !important;}
.aud-card__radio{width:18px !important;height:18px !important;}
.calendar-widget{
  border:1px solid rgba(0,0,0,.08) !important;
  border-left:1px solid rgba(0,0,0,.08) !important;
  border-radius:16px !important;
  padding:24px !important;
  background:#fbfaf7 !important;
  box-shadow:0 18px 48px rgba(20,16,35,.08) !important;
  align-self:stretch !important;
}
.cal__title{
  font-size:10.5px !important;
  letter-spacing:1.4px !important;
  margin-bottom:18px !important;
  color:rgba(15,14,24,.58) !important;
}
.cal__nav{margin-bottom:14px !important;}
.cal__month{font-size:14px !important;font-weight:700 !important;color:#0f0e18 !important;}
.cal__btn{
  width:30px !important;
  height:30px !important;
  border:1px solid rgba(0,0,0,.1) !important;
  font-size:13px !important;
}
.cal__grid{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  gap:6px !important;
  text-align:center !important;
}
.cal__day-name{
  font-size:10px !important;
  font-weight:700 !important;
  color:rgba(15,14,24,.38) !important;
  padding-bottom:5px !important;
}
.cal__date{
  width:32px !important;
  height:32px !important;
  font-size:12px !important;
  margin:0 auto !important;
}
.cal__date--today{
  background:#5423cf !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(84,35,207,.22) !important;
}
.cal__cta{
  margin-top:18px !important;
  padding:14px 18px !important;
  min-height:48px !important;
  border-radius:8px !important;
  background:#030d16 !important;
  color:#ff6a3d !important;
  font-size:10px !important;
  letter-spacing:.3px !important;
  justify-content:center !important;
  gap:12px !important;
}
.cal__note{
  font-size:10.5px !important;
  margin-top:11px !important;
  color:rgba(15,14,24,.45) !important;
}
@media(max-width:900px){
  .coaching-layout{grid-template-columns:1fr !important;}
  .coaching-layout>div:first-child{display:block !important;}
  .audience-cards{margin-top:24px !important;grid-template-columns:1fr !important;}
  .aud-card{height:auto !important;min-height:170px !important;}
  .calendar-widget{margin-top:24px !important;}
}

/* COACHING CALENDAR SIZE BALANCE */
.sec-coaching{
  min-height:340px !important;
  padding:42px var(--pad-x) 44px !important;
}
.coaching-layout{
  grid-template-columns:minmax(0,2.15fr) minmax(270px,320px) !important;
  gap:32px !important;
  align-items:start !important;
}
.calendar-widget{
  width:100% !important;
  max-width:320px !important;
  align-self:start !important;
  padding:18px !important;
  border-radius:12px !important;
  box-shadow:0 10px 30px rgba(20,16,35,.06) !important;
}
.cal__title{
  font-size:9px !important;
  letter-spacing:1px !important;
  margin-bottom:13px !important;
}
.cal__nav{margin-bottom:10px !important;}
.cal__month{font-size:12px !important;}
.cal__btn{
  width:24px !important;
  height:24px !important;
  font-size:11px !important;
}
.cal__grid{
  gap:3px !important;
}
.cal__day-name{
  font-size:8px !important;
  padding-bottom:3px !important;
}
.cal__date{
  width:25px !important;
  height:25px !important;
  font-size:10px !important;
}
.cal__cta{
  margin-top:12px !important;
  min-height:40px !important;
  padding:10px 14px !important;
  border-radius:6px !important;
  font-size:8.5px !important;
}
.cal__note{
  font-size:8.5px !important;
  margin-top:8px !important;
}
.aud-card{
  height:220px !important;
  min-height:220px !important;
}
@media(max-width:900px){
  .calendar-widget{max-width:none !important;}
}

/* FINAL NAV FIXED + SECTION ANCHORS */
.nav{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:99999 !important;
  background:rgba(2,5,13,.94) !important;
  border-bottom:1px solid rgba(255,255,255,.1) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
}
/* main#main no longer needs its own top padding for nav clearance â€”
   the newer shared .e4la-site-nav system (bottom of this file) already
   reserves that space via `html body { padding-top }`. Keeping BOTH
   was double-counting nav height (body pushed everything down once,
   then main pushed its own content down again on top of that),
   which showed up as a large dead gap above the hero and pushed the
   hero's CTAs below the fold. */
main#main{
  padding-top:0 !important;
}
#services,
#approach,
#why,
#coaching,
#contact,
.coaching-more{
  scroll-margin-top:88px !important;
}
.nav__link{
  cursor:pointer !important;
}
@media(max-width:780px){
  main#main{padding-top:0 !important;}
  #services,#approach,#why,#coaching,#contact,.coaching-more{scroll-margin-top:74px !important;}
}

/* HERO ASSET + NAV LOGO SIZE UPDATE */
.hero{
  background:
    linear-gradient(90deg,rgba(2,5,13,.99) 0%,rgba(2,5,13,.94) 24%,rgba(2,5,13,.58) 43%,rgba(2,5,13,.12) 66%,rgba(2,5,13,.04) 100%),
    url('assets/e4la-hero-highres.jpeg') #02050d !important;
  background-repeat:no-repeat !important;
  background-size:auto 100% !important;
  background-position:right center !important;
}
.nav__logo{
  width:168px !important;
  height:66px !important;
  border-radius:8px !important;
}
.nav__logo .brand-asset{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  transform:scale(1.22) !important;
}
@media(max-width:780px){
  .nav__logo{width:122px !important;height:52px !important;}
  .hero{background-size:auto 100% !important;background-position:right center !important;}
}

/* LOGO ASSET SIZE UPDATE */
.nav__logo{
  width:210px !important;
  height:74px !important;
  border-radius:8px !important;
  overflow:hidden !important;
}
.nav__logo .brand-asset{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  transform:scale(1.32) !important;
  mix-blend-mode:normal !important;
}
.footer__brand-logo{
  width:170px !important;
  height:78px !important;
  border-radius:8px !important;
  overflow:hidden !important;
}
.footer__brand-logo .brand-asset{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  transform:scale(1.32) !important;
  mix-blend-mode:normal !important;
}
@media(max-width:780px){
  .nav__logo{width:150px !important;height:58px !important;}
  .footer__brand-logo{width:140px !important;height:62px !important;}
}

/* FINAL INTER + REFERENCE SERVICES SECTION */
html,body,button,input,textarea,select,a,p,h1,h2,h3,h4,h5,h6,span,li,div{
  font-family:'Manrope',Arial,sans-serif !important;
}
.sec-services{
  height:auto !important;
  min-height:360px !important;
  padding:clamp(54px,6vw,86px) var(--pad-x) clamp(46px,5vw,72px) !important;
  display:grid !important;
  grid-template-columns:minmax(300px,1.05fr) repeat(5,minmax(140px,1fr)) !important;
  gap:0 !important;
  align-items:stretch !important;
  overflow:hidden !important;
  background:linear-gradient(105deg,#eee5ff 0%,#f8ecff 26%,#fff2ee 64%,#ffd7cf 100%) !important;
  color:#0b0b12 !important;
}
.sec-services .services-top{
  display:contents !important;
}
.sec-services .services-top>div{
  align-self:start !important;
  padding-right:clamp(28px,3vw,54px) !important;
}
.sec-services .services-top>p{
  display:none !important;
}
.sec-services .label-tag{
  margin:0 0 28px !important;
  color:#2f23a7 !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}
.sec-services .services-top__h2{
  max-width:360px !important;
  color:#0b0b12 !important;
  font-size:clamp(34px,3.1vw,52px) !important;
  line-height:1.08 !important;
  font-weight:500 !important;
  letter-spacing:-.045em !important;
}
.sec-services .services-top__link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  min-height:54px !important;
  margin-top:32px !important;
  padding:0 24px !important;
  border:1px solid rgba(79,54,180,.28) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.28) !important;
  color:#2f23a7 !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  box-shadow:none !important;
}
.sec-services .services-top__link svg{
  width:20px !important;
  height:20px !important;
}
.services-grid,
.services-grid.services-grid{
  display:contents !important;
}
.svc-card,
.svc-card.svc-card{
  min-height:310px !important;
  height:auto !important;
  display:grid !important;
  grid-template-rows:auto auto 1fr auto !important;
  align-content:start !important;
  gap:0 !important;
  padding:0 clamp(24px,2.2vw,40px) !important;
  border:0 !important;
  border-left:1px solid rgba(66,42,104,.16) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#0b0b12 !important;
  transform:none !important;
  overflow:visible !important;
}
.svc-card:hover,
.svc-card:focus-visible,
.svc-card.is-active{
  transform:none !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.svc-card .svc-icon{
  width:64px !important;
  height:64px !important;
  margin:0 0 34px !important;
  border-radius:14px !important;
  color:#fff !important;
  opacity:1 !important;
  transform:none !important;
  box-shadow:0 14px 24px rgba(38,24,98,.18) !important;
}
.svc-card .svc-icon svg{
  width:32px !important;
  height:32px !important;
}
.svc-icon--purple{background:linear-gradient(145deg,#6b35dd,#3219a5) !important;}
.svc-icon--blue{background:linear-gradient(145deg,#1477e6,#173baf) !important;}
.svc-icon--green{background:linear-gradient(145deg,#16b89c,#087b72) !important;}
.svc-icon--amber{background:linear-gradient(145deg,#ff8d14,#d45200) !important;}
.svc-icon--indigo{background:linear-gradient(145deg,#7b35d9,#4017a0) !important;}
.svc-card .svc-card__title{
  max-width:210px !important;
  margin:0 0 20px !important;
  color:#111018 !important;
  font-size:clamp(18px,1.45vw,25px) !important;
  line-height:1.12 !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
  text-transform:uppercase !important;
  transform:none !important;
}
.svc-card .svc-card__desc{
  max-width:220px !important;
  min-height:92px !important;
  margin:0 !important;
  color:rgba(13,12,19,.72) !important;
  font-size:clamp(14px,1.1vw,19px) !important;
  line-height:1.52 !important;
  font-weight:400 !important;
  opacity:1 !important;
  transform:none !important;
}
.svc-card .svc-card__more{
  display:none !important;
}
.svc-card .svc-card__arr{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  max-width:42px !important;
  max-height:42px !important;
  margin-top:34px !important;
  padding:0 !important;
  border:1px solid rgba(30,28,43,.24) !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.22) !important;
  color:#111018 !important;
  opacity:1 !important;
  transform:none !important;
  pointer-events:auto !important;
}
.svc-card .svc-card__arr svg{
  width:18px !important;
  height:18px !important;
}
@media(max-width:1100px){
  .sec-services{grid-template-columns:1fr 1fr !important;gap:0 !important;}
  .sec-services .services-top{display:block !important;grid-column:1 / -1 !important;margin-bottom:36px !important;}
  .services-grid,.services-grid.services-grid{display:grid !important;grid-template-columns:repeat(2,1fr) !important;grid-column:1 / -1 !important;}
  .svc-card,.svc-card.svc-card{min-height:280px !important;padding:26px !important;border-top:1px solid rgba(66,42,104,.16) !important;}
}
@media(max-width:640px){
  .sec-services{display:block !important;padding:48px 24px !important;}
  .sec-services .services-top__h2{font-size:clamp(32px,9vw,44px) !important;}
  .services-grid,.services-grid.services-grid{display:grid !important;grid-template-columns:1fr !important;margin-top:34px !important;}
  .svc-card,.svc-card.svc-card{min-height:0 !important;padding:28px 0 !important;border-left:0 !important;border-top:1px solid rgba(66,42,104,.16) !important;}
  .svc-card .svc-card__title,.svc-card .svc-card__desc{max-width:none !important;}
}

/* FINAL SERVICES CLEAN READABILITY */
.sec-services{
  min-height:540px !important;
  height:auto !important;
  padding:64px var(--pad-x) 56px !important;
  grid-template-columns:minmax(280px,1.12fr) repeat(5,minmax(150px,1fr)) !important;
  align-items:stretch !important;
}
.sec-services .services-top>div{
  padding-right:34px !important;
}
.sec-services .label-tag{
  font-size:12px !important;
  margin-bottom:22px !important;
}
.sec-services .services-top__h2{
  font-size:clamp(30px,2.6vw,42px) !important;
  line-height:1.12 !important;
  max-width:330px !important;
}
.sec-services .services-top__link{
  min-height:46px !important;
  padding:0 20px !important;
  font-size:12px !important;
  margin-top:28px !important;
}
.svc-card,
.svc-card.svc-card{
  min-height:420px !important;
  height:auto !important;
  display:grid !important;
  grid-template-rows:72px minmax(74px,auto) 1fr auto !important;
  align-content:start !important;
  row-gap:18px !important;
  padding:0 clamp(24px,2vw,34px) !important;
  overflow:visible !important;
}
.svc-card .svc-icon{
  width:58px !important;
  height:58px !important;
  margin:0 0 0 !important;
  align-self:start !important;
  justify-self:start !important;
  grid-row:1 !important;
  grid-column:1 !important;
  border-radius:14px !important;
}
.svc-card .svc-icon svg{
  width:28px !important;
  height:28px !important;
}
.svc-card .svc-card__title{
  grid-row:2 !important;
  grid-column:1 !important;
  max-width:190px !important;
  margin:0 !important;
  font-size:clamp(18px,1.15vw,22px) !important;
  line-height:1.14 !important;
  font-weight:800 !important;
  letter-spacing:-.015em !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.svc-card .svc-card__desc{
  grid-row:3 !important;
  grid-column:1 !important;
  max-width:210px !important;
  min-height:0 !important;
  margin:0 !important;
  font-size:clamp(16px,1.04vw,20px) !important;
  line-height:1.5 !important;
  font-weight:400 !important;
  color:rgba(13,12,19,.72) !important;
  overflow:visible !important;
}
.svc-card .svc-card__arr{
  grid-row:4 !important;
  grid-column:1 !important;
  align-self:end !important;
  justify-self:start !important;
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  min-height:48px !important;
  max-width:48px !important;
  max-height:48px !important;
  margin:24px 0 0 !important;
}
.svc-card .svc-card__arr svg{
  width:18px !important;
  height:18px !important;
}
@media(max-width:1200px){
  .sec-services{grid-template-columns:minmax(260px,1fr) repeat(5,minmax(130px,1fr)) !important;}
  .svc-card,.svc-card.svc-card{padding:0 20px !important;}
  .svc-card .svc-card__title{font-size:18px !important;}
  .svc-card .svc-card__desc{font-size:16px !important;}
}
@media(max-width:1100px){
  .sec-services{display:block !important;}
  .sec-services .services-top{display:block !important;margin-bottom:34px !important;}
  .services-grid,.services-grid.services-grid{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:0 !important;}
  .svc-card,.svc-card.svc-card{min-height:340px !important;padding:28px !important;border-top:1px solid rgba(66,42,104,.16) !important;}
  .svc-card .svc-card__title,.svc-card .svc-card__desc{max-width:none !important;}
}
@media(max-width:640px){
  .services-grid,.services-grid.services-grid{grid-template-columns:1fr !important;}
  .svc-card,.svc-card.svc-card{min-height:0 !important;padding:28px 0 !important;}
}

/* FINAL SERVICES REFERENCE RATIO CLEAN */
.sec-services{
  min-height:410px !important;
  height:auto !important;
  padding:46px var(--pad-x) 42px !important;
  display:grid !important;
  grid-template-columns:minmax(250px,1.18fr) repeat(5,minmax(128px,1fr)) !important;
  gap:0 !important;
  align-items:stretch !important;
  overflow:visible !important;
  background:linear-gradient(105deg,#eee5ff 0%,#f9edff 28%,#fff3ee 64%,#ffd8cf 100%) !important;
}
.sec-services .services-top{display:contents !important;}
.sec-services .services-top>div{padding-right:34px !important;align-self:start !important;}
.sec-services .services-top>p{display:none !important;}
.sec-services .label-tag{
  margin:0 0 20px !important;
  color:#3020a6 !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.16em !important;
}
.sec-services .services-top__h2{
  max-width:310px !important;
  font-size:clamp(26px,2.35vw,38px) !important;
  line-height:1.13 !important;
  font-weight:500 !important;
  letter-spacing:-.04em !important;
  color:#101018 !important;
}
.sec-services .services-top__link{
  min-height:42px !important;
  margin-top:24px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  font-size:10px !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
}
.sec-services .services-top__link svg{width:16px !important;height:16px !important;}
.sec-services .services-grid,
.sec-services .services-grid.services-grid{display:contents !important;}
.sec-services .svc-card,
.sec-services .svc-card.svc-card{
  min-height:322px !important;
  height:auto !important;
  padding:0 clamp(20px,1.9vw,32px) !important;
  border:0 !important;
  border-left:1px solid rgba(72,48,112,.16) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  display:grid !important;
  grid-template-rows:54px 86px minmax(122px,1fr) 42px !important;
  row-gap:0 !important;
  align-content:start !important;
  overflow:visible !important;
  transform:none !important;
}
.sec-services .svc-card:hover,
.sec-services .svc-card:focus-visible,
.sec-services .svc-card.is-active{
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  border-radius:0 !important;
}
.sec-services .svc-card .svc-icon{
  grid-row:1 !important;
  grid-column:1 !important;
  align-self:start !important;
  justify-self:start !important;
  width:44px !important;
  height:44px !important;
  margin:0 !important;
  border-radius:10px !important;
  color:#fff !important;
  opacity:1 !important;
  transform:none !important;
  box-shadow:0 10px 20px rgba(38,24,98,.16) !important;
}
.sec-services .svc-card .svc-icon svg{width:23px !important;height:23px !important;}
.sec-services .svc-card .svc-card__title{
  grid-row:2 !important;
  grid-column:1 !important;
  align-self:start !important;
  max-width:155px !important;
  margin:0 !important;
  color:#111018 !important;
  font-size:clamp(15px,1.12vw,19px) !important;
  line-height:1.13 !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
  text-transform:uppercase !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.sec-services .svc-card .svc-card__desc{
  grid-row:3 !important;
  grid-column:1 !important;
  align-self:start !important;
  max-width:150px !important;
  min-height:0 !important;
  margin:0 !important;
  color:rgba(19,18,27,.72) !important;
  font-size:clamp(12px,.92vw,15px) !important;
  line-height:1.46 !important;
  font-weight:400 !important;
  opacity:1 !important;
  transform:none !important;
  overflow:visible !important;
}
.sec-services .svc-card .svc-card__more{display:none !important;}
.sec-services .svc-card .svc-card__arr{
  grid-row:4 !important;
  grid-column:1 !important;
  align-self:end !important;
  justify-self:start !important;
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  max-width:34px !important;
  max-height:34px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:50% !important;
  border:1px solid rgba(30,28,43,.24) !important;
  background:rgba(255,255,255,.18) !important;
  color:#111018 !important;
  opacity:1 !important;
  transform:none !important;
}
.sec-services .svc-card .svc-card__arr svg{width:14px !important;height:14px !important;}
@media(max-width:1100px){
  .sec-services{display:block !important;padding:48px 24px 42px !important;}
  .sec-services .services-top{display:block !important;margin-bottom:28px !important;}
  .sec-services .services-grid,.sec-services .services-grid.services-grid{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:0 !important;}
  .sec-services .svc-card,.sec-services .svc-card.svc-card{min-height:300px !important;padding:24px !important;border-top:1px solid rgba(72,48,112,.16) !important;}
  .sec-services .svc-card .svc-card__title,.sec-services .svc-card .svc-card__desc{max-width:220px !important;}
}
@media(max-width:640px){
  .sec-services .services-grid,.sec-services .services-grid.services-grid{grid-template-columns:1fr !important;}
  .sec-services .svc-card,.sec-services .svc-card.svc-card{min-height:0 !important;grid-template-rows:auto auto auto auto !important;row-gap:16px !important;padding:26px 0 !important;border-left:0 !important;}
  .sec-services .svc-card .svc-card__title,.sec-services .svc-card .svc-card__desc{max-width:none !important;}
}

/* FINAL SERVICES 2 ROW CLEAN GRID */
.sec-services{
  min-height:620px !important;
  height:auto !important;
  padding:56px var(--pad-x) 58px !important;
  display:grid !important;
  grid-template-columns:minmax(270px,.72fr) minmax(0,1.8fr) !important;
  gap:clamp(34px,4vw,64px) !important;
  align-items:start !important;
  overflow:visible !important;
  background:linear-gradient(105deg,#eee5ff 0%,#f9edff 30%,#fff3ee 66%,#ffd8cf 100%) !important;
}
.sec-services .services-top{
  display:block !important;
  grid-column:1 !important;
  align-self:start !important;
  margin:0 !important;
}
.sec-services .services-top>div{
  padding-right:0 !important;
}
.sec-services .services-top>p{
  display:none !important;
}
.sec-services .label-tag{
  margin:0 0 20px !important;
  color:#3020a6 !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.16em !important;
}
.sec-services .services-top__h2{
  max-width:330px !important;
  font-size:clamp(30px,2.6vw,42px) !important;
  line-height:1.12 !important;
  font-weight:500 !important;
  letter-spacing:-.04em !important;
  color:#101018 !important;
}
.sec-services .services-top__link{
  min-height:44px !important;
  margin-top:26px !important;
  padding:0 20px !important;
  border-radius:999px !important;
  font-size:11px !important;
  font-weight:700 !important;
}
.sec-services .services-grid,
.sec-services .services-grid.services-grid{
  grid-column:2 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(210px,1fr)) !important;
  gap:0 !important;
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.sec-services .svc-card,
.sec-services .svc-card.svc-card{
  min-height:252px !important;
  height:auto !important;
  padding:0 clamp(22px,2vw,34px) 22px !important;
  border:0 !important;
  border-left:1px solid rgba(72,48,112,.16) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  display:grid !important;
  grid-template-rows:52px minmax(52px,auto) minmax(92px,1fr) 40px !important;
  row-gap:12px !important;
  align-content:start !important;
  overflow:visible !important;
  transform:none !important;
}
.sec-services .svc-card:nth-child(n+4){
  padding-top:30px !important;
  border-top:1px solid rgba(72,48,112,.16) !important;
}
.sec-services .svc-card:hover,
.sec-services .svc-card:focus-visible,
.sec-services .svc-card.is-active{
  transform:none !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.sec-services .svc-card .svc-icon{
  grid-row:1 !important;
  grid-column:1 !important;
  width:46px !important;
  height:46px !important;
  margin:0 !important;
  border-radius:11px !important;
  align-self:start !important;
  justify-self:start !important;
  color:#fff !important;
  opacity:1 !important;
  transform:none !important;
  box-shadow:0 10px 20px rgba(38,24,98,.16) !important;
}
.sec-services .svc-card .svc-icon svg{
  width:24px !important;
  height:24px !important;
}
.sec-services .svc-card .svc-card__title{
  grid-row:2 !important;
  grid-column:1 !important;
  max-width:230px !important;
  margin:0 !important;
  color:#111018 !important;
  font-size:clamp(16px,1.05vw,19px) !important;
  line-height:1.12 !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
  text-transform:uppercase !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.sec-services .svc-card .svc-card__desc{
  grid-row:3 !important;
  grid-column:1 !important;
  max-width:250px !important;
  min-height:0 !important;
  margin:0 !important;
  color:rgba(19,18,27,.74) !important;
  font-size:clamp(16px,1.05vw,20px) !important;
  line-height:1.44 !important;
  font-weight:400 !important;
  opacity:1 !important;
  transform:none !important;
  overflow:visible !important;
}
.sec-services .svc-card .svc-card__more{
  display:none !important;
}
.sec-services .svc-card .svc-card__arr{
  grid-row:4 !important;
  grid-column:1 !important;
  align-self:end !important;
  justify-self:start !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  max-width:38px !important;
  max-height:38px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:50% !important;
  border:1px solid rgba(30,28,43,.24) !important;
  background:rgba(255,255,255,.18) !important;
  color:#111018 !important;
  opacity:1 !important;
  transform:none !important;
}
.sec-services .svc-card .svc-card__arr svg{
  width:15px !important;
  height:15px !important;
}
@media(max-width:1100px){
  .sec-services{display:block !important;padding:50px 24px 48px !important;}
  .sec-services .services-top{margin-bottom:34px !important;}
  .sec-services .services-grid,.sec-services .services-grid.services-grid{grid-template-columns:repeat(2,minmax(220px,1fr)) !important;}
  .sec-services .svc-card,.sec-services .svc-card.svc-card{min-height:260px !important;padding:26px !important;border-top:1px solid rgba(72,48,112,.16) !important;}
  .sec-services .svc-card .svc-card__title,.sec-services .svc-card .svc-card__desc{max-width:280px !important;}
}
@media(max-width:640px){
  .sec-services .services-grid,.sec-services .services-grid.services-grid{grid-template-columns:1fr !important;}
  .sec-services .svc-card,.sec-services .svc-card.svc-card{min-height:0 !important;grid-template-rows:auto auto auto auto !important;row-gap:16px !important;padding:26px 0 !important;border-left:0 !important;}
  .sec-services .svc-card .svc-card__title,.sec-services .svc-card .svc-card__desc{max-width:none !important;}
}

/* FINAL SERVICES ONE ROW MATCH REFERENCE */
.sec-services{
  height:auto !important;
  min-height:430px !important;
  padding:50px var(--pad-x) 46px !important;
  display:grid !important;
  grid-template-columns:minmax(240px,1.25fr) repeat(5,minmax(132px,1fr)) !important;
  gap:0 !important;
  align-items:stretch !important;
  overflow:visible !important;
  background:linear-gradient(105deg,#eee5ff 0%,#f9edff 28%,#fff3ee 65%,#ffd8cf 100%) !important;
}
.sec-services .services-top{
  display:contents !important;
}
.sec-services .services-top>div{
  align-self:start !important;
  padding-right:34px !important;
}
.sec-services .services-top>p{
  display:none !important;
}
.sec-services .label-tag{
  margin:0 0 18px !important;
  color:#3020a6 !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.16em !important;
}
.sec-services .services-top__h2{
  max-width:300px !important;
  color:#101018 !important;
  font-size:clamp(25px,2.25vw,36px) !important;
  line-height:1.13 !important;
  font-weight:500 !important;
  letter-spacing:-.04em !important;
}
.sec-services .services-top__link{
  min-height:40px !important;
  margin-top:24px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
}
.sec-services .services-grid,
.sec-services .services-grid.services-grid{
  display:contents !important;
}
.sec-services .svc-card,
.sec-services .svc-card.svc-card{
  min-height:330px !important;
  height:auto !important;
  padding:0 clamp(18px,1.65vw,28px) !important;
  border:0 !important;
  border-left:1px solid rgba(72,48,112,.16) !important;
  border-top:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  display:grid !important;
  grid-template-rows:52px 62px 150px 40px !important;
  row-gap:16px !important;
  align-content:start !important;
  overflow:visible !important;
  transform:none !important;
}
.sec-services .svc-card:nth-child(n+4){
  padding-top:0 !important;
  border-top:0 !important;
}
.sec-services .svc-card:hover,
.sec-services .svc-card:focus-visible,
.sec-services .svc-card.is-active{
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  border-radius:0 !important;
}
.sec-services .svc-card .svc-icon{
  grid-row:1 !important;
  grid-column:1 !important;
  width:44px !important;
  height:44px !important;
  margin:0 !important;
  border-radius:10px !important;
  align-self:start !important;
  justify-self:start !important;
  color:#fff !important;
  opacity:1 !important;
  transform:none !important;
  box-shadow:0 10px 20px rgba(38,24,98,.16) !important;
}
.sec-services .svc-card .svc-icon svg{
  width:23px !important;
  height:23px !important;
}
.sec-services .svc-card .svc-card__title{
  grid-row:2 !important;
  grid-column:1 !important;
  align-self:start !important;
  max-width:145px !important;
  margin:0 !important;
  color:#111018 !important;
  font-size:clamp(14px,1.02vw,18px) !important;
  line-height:1.12 !important;
  font-weight:800 !important;
  letter-spacing:-.015em !important;
  text-transform:uppercase !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.sec-services .svc-card .svc-card__desc{
  grid-row:3 !important;
  grid-column:1 !important;
  align-self:start !important;
  max-width:150px !important;
  min-height:0 !important;
  margin:0 !important;
  color:rgba(19,18,27,.72) !important;
  font-size:clamp(13px,.92vw,16px) !important;
  line-height:1.42 !important;
  font-weight:400 !important;
  opacity:1 !important;
  transform:none !important;
  overflow:visible !important;
}
.sec-services .svc-card .svc-card__more{
  display:none !important;
}
.sec-services .svc-card .svc-card__arr{
  grid-row:4 !important;
  grid-column:1 !important;
  align-self:end !important;
  justify-self:start !important;
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  max-width:34px !important;
  max-height:34px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:50% !important;
  border:1px solid rgba(30,28,43,.24) !important;
  background:rgba(255,255,255,.18) !important;
  color:#111018 !important;
  opacity:1 !important;
  transform:none !important;
}
.sec-services .svc-card .svc-card__arr svg{
  width:14px !important;
  height:14px !important;
}
@media(max-width:900px){
  .sec-services{
    display:block !important;
    padding:48px 24px !important;
  }
  .sec-services .services-top{
    display:block !important;
    margin-bottom:30px !important;
  }
  .sec-services .services-grid,
  .sec-services .services-grid.services-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(220px,1fr)) !important;
    gap:0 !important;
  }
  .sec-services .svc-card,
  .sec-services .svc-card.svc-card{
    min-height:300px !important;
    padding:24px !important;
    border-top:1px solid rgba(72,48,112,.16) !important;
  }
  .sec-services .svc-card .svc-card__title,
  .sec-services .svc-card .svc-card__desc{
    max-width:240px !important;
  }
}
@media(max-width:640px){
  .sec-services .services-grid,
  .sec-services .services-grid.services-grid{
    grid-template-columns:1fr !important;
  }
  .sec-services .svc-card,
  .sec-services .svc-card.svc-card{
    min-height:0 !important;
    grid-template-rows:auto auto auto auto !important;
    row-gap:16px !important;
    padding:26px 0 !important;
    border-left:0 !important;
  }
  .sec-services .svc-card .svc-card__title,
  .sec-services .svc-card .svc-card__desc{
    max-width:none !important;
  }
}

/* FINAL SERVICES NO INTERSECTION WRAP FIX */
.sec-services{
  min-height:470px !important;
  padding:48px 18px 48px !important;
  grid-template-columns:minmax(220px,.98fr) repeat(5,minmax(165px,1fr)) !important;
}
.sec-services .services-top>div{
  padding-right:26px !important;
}
.sec-services .services-top__h2{
  max-width:300px !important;
  font-size:clamp(25px,2.2vw,34px) !important;
  line-height:1.13 !important;
}
.sec-services .svc-card,
.sec-services .svc-card.svc-card{
  min-height:370px !important;
  padding:0 26px !important;
  grid-template-rows:56px 72px minmax(178px,auto) 42px !important;
  row-gap:14px !important;
  overflow:visible !important;
}
.sec-services .svc-card .svc-icon{
  width:54px !important;
  height:54px !important;
  border-radius:12px !important;
}
.sec-services .svc-card .svc-icon svg{
  width:27px !important;
  height:27px !important;
}
.sec-services .svc-card .svc-card__title{
  max-width:190px !important;
  font-size:20px !important;
  line-height:1.08 !important;
  letter-spacing:-.03em !important;
  margin:0 !important;
}
.sec-services .svc-card .svc-card__desc{
  max-width:190px !important;
  width:100% !important;
  font-size:18px !important;
  line-height:1.38 !important;
  margin:0 !important;
  color:rgba(19,18,27,.72) !important;
  overflow:visible !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}
.sec-services .svc-card .svc-card__arr{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  max-width:42px !important;
  max-height:42px !important;
  margin:0 !important;
  align-self:end !important;
}
@media(max-width:1200px){
  .sec-services{
    grid-template-columns:minmax(210px,.9fr) repeat(5,minmax(158px,1fr)) !important;
  }
  .sec-services .svc-card,
  .sec-services .svc-card.svc-card{
    padding:0 22px !important;
  }
  .sec-services .svc-card .svc-card__title{
    max-width:176px !important;
    font-size:18px !important;
  }
  .sec-services .svc-card .svc-card__desc{
    max-width:176px !important;
    font-size:16px !important;
    line-height:1.42 !important;
  }
}
@media(max-width:980px){
  .sec-services{display:block !important;padding:48px 24px !important;}
  .sec-services .services-top{display:block !important;margin-bottom:30px !important;}
  .sec-services .services-grid,
  .sec-services .services-grid.services-grid{display:grid !important;grid-template-columns:repeat(2,minmax(240px,1fr)) !important;}
  .sec-services .svc-card,
  .sec-services .svc-card.svc-card{min-height:330px !important;padding:26px !important;border-top:1px solid rgba(72,48,112,.16) !important;}
  .sec-services .svc-card .svc-card__title,
  .sec-services .svc-card .svc-card__desc{max-width:300px !important;}
}
@media(max-width:640px){
  .sec-services .services-grid,
  .sec-services .services-grid.services-grid{grid-template-columns:1fr !important;}
  .sec-services .svc-card,
  .sec-services .svc-card.svc-card{grid-template-rows:auto auto auto auto !important;min-height:0 !important;row-gap:16px !important;padding:26px 0 !important;border-left:0 !important;}
  .sec-services .svc-card .svc-card__title,
  .sec-services .svc-card .svc-card__desc{max-width:none !important;}
}

/* FINAL SERVICES REFERENCE CLEAN MATCH */
.sec-services{
  max-width:1180px !important;
  width:100% !important;
  min-height:280px !important;
  height:280px !important;
  margin:0 auto !important;
  padding:34px 28px 30px !important;
  display:grid !important;
  grid-template-columns:minmax(220px,1.15fr) repeat(5,minmax(145px,1fr)) !important;
  gap:0 !important;
  align-items:stretch !important;
  overflow:hidden !important;
  background:linear-gradient(105deg,#eee5ff 0%,#f8edff 30%,#fff4ef 66%,#ffd8cf 100%) !important;
  color:#101018 !important;
}
.sec-services .services-top{
  display:contents !important;
}
.sec-services .services-top>div{
  padding:0 28px 0 0 !important;
  align-self:stretch !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
}
.sec-services .services-top>p{
  display:none !important;
}
.sec-services .label-tag{
  margin:0 0 18px !important;
  color:#3020a6 !important;
  font-size:9px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}
.sec-services .services-top__h2{
  max-width:260px !important;
  margin:0 !important;
  color:#101018 !important;
  font-size:clamp(24px,2vw,32px) !important;
  line-height:1.13 !important;
  font-weight:500 !important;
  letter-spacing:-.04em !important;
}
.sec-services .services-top__link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  width:max-content !important;
  min-height:38px !important;
  margin-top:26px !important;
  padding:0 16px !important;
  border:1px solid rgba(79,54,180,.25) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.22) !important;
  color:#3020a6 !important;
  font-size:9px !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:.03em !important;
  text-transform:uppercase !important;
  box-shadow:none !important;
}
.sec-services .services-top__link svg{
  width:14px !important;
  height:14px !important;
}
.sec-services .services-grid,
.sec-services .services-grid.services-grid{
  display:contents !important;
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.sec-services .svc-card,
.sec-services .svc-card.svc-card{
  min-height:0 !important;
  height:100% !important;
  padding:0 26px !important;
  border:0 !important;
  border-left:1px solid rgba(72,48,112,.16) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#101018 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:14px !important;
  overflow:visible !important;
  transform:none !important;
  position:relative !important;
}
.sec-services .svc-card:hover,
.sec-services .svc-card:focus-visible,
.sec-services .svc-card.is-active{
  transform:none !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.sec-services .svc-card .svc-icon{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  margin:0 !important;
  border-radius:10px !important;
  color:#fff !important;
  opacity:1 !important;
  transform:none !important;
  box-shadow:0 10px 20px rgba(38,24,98,.14) !important;
  flex:0 0 auto !important;
}
.sec-services .svc-card .svc-icon svg{
  width:22px !important;
  height:22px !important;
}
.sec-services .svc-card .svc-card__title{
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  color:#111018 !important;
  font-size:clamp(15px,1.05vw,17px) !important;
  line-height:1.14 !important;
  font-weight:800 !important;
  letter-spacing:-.015em !important;
  text-transform:uppercase !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  white-space:normal !important;
  flex:0 0 auto !important;
}
.sec-services .svc-card .svc-card__desc{
  width:auto !important;
  max-width:none !important;
  min-height:0 !important;
  margin:0 !important;
  color:rgba(19,18,27,.72) !important;
  font-size:clamp(13px,.86vw,14px) !important;
  line-height:1.45 !important;
  font-weight:400 !important;
  opacity:1 !important;
  transform:none !important;
  overflow:visible !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  white-space:normal !important;
  hyphens:none !important;
  flex:1 1 auto !important;
}
.sec-services .svc-card .svc-card__more{
  display:none !important;
}
.sec-services .svc-card .svc-card__arr{
  position:static !important;
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  max-width:34px !important;
  max-height:34px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:50% !important;
  border:1px solid rgba(30,28,43,.24) !important;
  background:rgba(255,255,255,.18) !important;
  color:#111018 !important;
  opacity:1 !important;
  transform:none !important;
  flex:0 0 auto !important;
}
.sec-services .svc-card .svc-card__arr svg{
  width:14px !important;
  height:14px !important;
}
@media(max-width:1180px){
  .sec-services{
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    grid-template-columns:minmax(220px,1fr) repeat(5,minmax(135px,1fr)) !important;
    padding:34px 24px 30px !important;
  }
  .sec-services .svc-card,
  .sec-services .svc-card.svc-card{
    padding:0 20px !important;
  }
}
@media(max-width:980px){
  .sec-services{
    display:block !important;
    padding:48px 24px !important;
    overflow:visible !important;
  }
  .sec-services .services-top{display:block !important;margin-bottom:30px !important;}
  .sec-services .services-grid,
  .sec-services .services-grid.services-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(240px,1fr)) !important;
    gap:0 !important;
  }
  .sec-services .svc-card,
  .sec-services .svc-card.svc-card{
    min-height:260px !important;
    padding:24px !important;
    border-top:1px solid rgba(72,48,112,.16) !important;
  }
}
@media(max-width:640px){
  .sec-services .services-grid,
  .sec-services .services-grid.services-grid{
    grid-template-columns:1fr !important;
  }
  .sec-services .svc-card,
  .sec-services .svc-card.svc-card{
    min-height:0 !important;
    padding:26px 0 !important;
    border-left:0 !important;
  }
}

/* FINAL SERVICES STABLE INTERACTION */
.sec-services{
  font-family:'Manrope',Arial,sans-serif !important;
}
.sec-services .svc-card,
.sec-services .svc-card.svc-card{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  gap:0 !important;
  min-height:220px !important;
  height:100% !important;
  padding:0 26px 0 !important;
  position:relative !important;
  overflow:visible !important;
  transform-origin:center center !important;
  transition:transform .35s ease, background .35s ease, border-color .35s ease !important;
}
.sec-services .svc-card:hover,
.sec-services .svc-card:focus-visible,
.sec-services .svc-card.is-active{
  transform:scale(1.025) !important;
  background:rgba(255,255,255,.16) !important;
  box-shadow:none !important;
  border-radius:12px !important;
}
.sec-services .svc-card__content{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  width:100% !important;
  min-width:0 !important;
}
.sec-services .svc-card .svc-icon{
  flex:0 0 auto !important;
  margin:0 0 18px !important;
  transform-origin:center center !important;
  transition:transform .35s ease !important;
}
.sec-services .svc-card:hover .svc-icon,
.sec-services .svc-card:focus-visible .svc-icon,
.sec-services .svc-card.is-active .svc-icon{
  transform:scale(1.12) !important;
}
.sec-services .svc-card .svc-card__title{
  width:100% !important;
  max-width:none !important;
  margin:0 0 16px !important;
  font-size:clamp(15px,1.05vw,17px) !important;
  line-height:1.14 !important;
  font-weight:800 !important;
  letter-spacing:-.015em !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  white-space:normal !important;
  transform:none !important;
  transition:none !important;
}
.sec-services .svc-card:hover .svc-card__title,
.sec-services .svc-card:focus-visible .svc-card__title,
.sec-services .svc-card.is-active .svc-card__title{
  transform:none !important;
}
.sec-services .svc-card .svc-card__desc{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  font-size:clamp(14px,.92vw,14.5px) !important;
  line-height:1.48 !important;
  font-weight:400 !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  white-space:normal !important;
  hyphens:none !important;
  transform:none !important;
  transition:none !important;
}
.sec-services .svc-card:hover .svc-card__desc,
.sec-services .svc-card:focus-visible .svc-card__desc,
.sec-services .svc-card.is-active .svc-card__desc{
  transform:none !important;
}
.sec-services .svc-card .svc-card__more{
  display:none !important;
}
.sec-services .svc-card .svc-card__arr{
  position:static !important;
  flex:0 0 auto !important;
  margin-top:auto !important;
  margin-bottom:0 !important;
  transform:none !important;
  transition:background .25s ease, border-color .25s ease, color .25s ease !important;
}
.sec-services .svc-card__content + .svc-card__arr{
  margin-top:auto !important;
  padding-top:0 !important;
}
.sec-services .svc-card .svc-card__desc + .svc-card__more + .svc-card__arr,
.sec-services .svc-card .svc-card__desc + .svc-card__arr{
  margin-top:22px !important;
}
@media(min-width:981px){
  .sec-services .svc-card,
  .sec-services .svc-card.svc-card{
    min-height:220px !important;
    padding-bottom:0 !important;
  }
  .sec-services .svc-card__content{
    min-height:166px !important;
  }
  .sec-services .svc-card .svc-card__arr{
    margin-top:22px !important;
  }
}
@media(max-width:980px){
  .sec-services .svc-card,
  .sec-services .svc-card.svc-card{
    min-height:260px !important;
    padding:24px !important;
  }
  .sec-services .svc-card .svc-card__arr{
    margin-top:22px !important;
  }
}
@media(max-width:640px){
  .sec-services .svc-card,
  .sec-services .svc-card.svc-card{
    min-height:0 !important;
    padding:26px 0 !important;
  }
}

/* FINAL SERVICES CTA SEPARATE ROW */
.sec-services{
  min-height:380px !important;
  height:380px !important;
  padding-top:48px !important;
  padding-bottom:42px !important;
}
.sec-services .svc-card,
.sec-services .svc-card.svc-card{
  height:100% !important;
  min-height:288px !important;
  padding-bottom:0 !important;
  justify-content:flex-start !important;
}
.sec-services .svc-card__content{
  min-height:220px !important;
  flex:0 0 auto !important;
}
.sec-services .svc-card .svc-card__desc{
  margin-bottom:0 !important;
}
.sec-services .svc-card .svc-card__arr{
  position:static !important;
  margin-top:26px !important;
  margin-bottom:0 !important;
  align-self:flex-start !important;
  flex:0 0 42px !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  max-width:42px !important;
  max-height:42px !important;
}
@media(max-width:980px){
  .sec-services{height:auto !important;min-height:0 !important;}
  .sec-services .svc-card__content{min-height:0 !important;}
  .sec-services .svc-card .svc-card__arr{margin-top:26px !important;}
}
@media(max-width:640px){
  /* On phones the description sits directly above the arrow with
     nothing to push them apart (auto-height cards, so the desc's
     flex:1 grow has no extra space to consume) â€” 26px reads as too
     tight against the site's usual mobile rhythm. Widen just this
     gap on real phones; tablets keep the 26px above. */
  .sec-services .svc-card .svc-card__arr{margin-top:40px !important;}
}

/* FINAL MATCHED SECTION LABELS */
.sec-services .label-tag,
.sec-approach .approach__label,
.sec-why .why__label,
.sec-coaching .coaching__label{
  font-family:'Manrope',Arial,sans-serif !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  margin:0 0 24px !important;
}
.sec-services .label-tag{color:#3020a6 !important;}
.sec-approach .approach__label,
.sec-why .why__label{color:#bd72f3 !important;}
.sec-coaching .coaching__label{color:#3b27be !important;}
@media(max-width:768px){
  .sec-services .label-tag,
  .sec-approach .approach__label,
  .sec-why .why__label,
  .sec-coaching .coaching__label{
    font-size:14px !important;
    margin-bottom:18px !important;
  }
}

/* FINAL APPROACH TIMELINE SCALE MATCH */
.sec-approach{
  min-height:420px !important;
  height:auto !important;
  padding:48px var(--pad-x) 50px !important;
}
.sec-approach .approach-layout{
  grid-template-columns:230px minmax(0,820px) !important;
  gap:clamp(28px,4vw,54px) !important;
  align-items:center !important;
  justify-content:start !important;
}
.sec-approach .timeline{
  max-width:820px !important;
  width:100% !important;
  padding-top:8px !important;
  justify-self:start !important;
}
.sec-approach .timeline__track{
  top:38px !important;
  left:38px !important;
  right:38px !important;
  height:2px !important;
}
.sec-approach .timeline__steps{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(92px,1fr)) !important;
  gap:clamp(8px,1vw,14px) !important;
  align-items:start !important;
}
.sec-approach .tstep{
  align-items:center !important;
  text-align:center !important;
  min-width:0 !important;
}
.sec-approach .tstep__circle{
  width:74px !important;
  height:74px !important;
  min-width:74px !important;
  min-height:74px !important;
  border-width:2px !important;
  margin:0 auto 22px !important;
  font-family:'Manrope',Arial,sans-serif !important;
  font-size:22px !important;
  line-height:1 !important;
  font-weight:600 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.sec-approach .tstep__name{
  margin:0 0 14px !important;
  font-family:'Manrope',Arial,sans-serif !important;
  font-size:13px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  color:#fff !important;
}
.sec-approach .tstep__sub{
  max-width:118px !important;
  margin:0 auto !important;
  font-family:'Manrope',Arial,sans-serif !important;
  font-size:14px !important;
  line-height:1.48 !important;
  font-weight:400 !important;
  color:rgba(255,255,255,.76) !important;
}
@media(max-width:1024px){
  .sec-approach .approach-layout{
    grid-template-columns:1fr !important;
  }
  .sec-approach .timeline{
    max-width:none !important;
  }
  .sec-approach .timeline__steps{
    grid-template-columns:repeat(3,1fr) !important;
    gap:34px 16px !important;
  }
  .sec-approach .timeline__track{
    display:none !important;
  }
}
@media(max-width:640px){
  .sec-approach .timeline__steps{
    grid-template-columns:1fr !important;
  }
  .sec-approach .tstep__sub{
    max-width:260px !important;
  }
}

/* FINAL APPROACH CIRCLE 20 PERCENT SMALLER */
.sec-approach .timeline__track{
  top:30px !important;
  left:30px !important;
  right:30px !important;
}
.sec-approach .tstep__circle{
  width:60px !important;
  height:60px !important;
  min-width:60px !important;
  min-height:60px !important;
  font-size:18px !important;
  margin-bottom:20px !important;
}

/* FINAL APPROACH CIRCLE ANOTHER 20 PERCENT SMALLER */
.sec-approach .timeline__track{
  top:24px !important;
  left:24px !important;
  right:24px !important;
}
.sec-approach .tstep__circle{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  min-height:48px !important;
  font-size:15px !important;
  margin-bottom:18px !important;
}

/* FINAL SERVICES APPROACH WIDTH ALIGNMENT ONLY */
.sec-services{
  max-width:none !important;
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:var(--pad-x) !important;
  padding-right:var(--pad-x) !important;
  grid-template-columns:minmax(240px,1.05fr) repeat(5,minmax(155px,1fr)) !important;
  border:0 !important;
  outline:0 !important;
}
.sec-services .services-top>div{
  padding-right:clamp(26px,3vw,48px) !important;
}
.sec-services .services-grid,
.sec-services .services-grid.services-grid{
  width:100% !important;
  max-width:none !important;
}
.sec-services .svc-card,
.sec-services .svc-card.svc-card{
  padding-left:clamp(22px,2vw,32px) !important;
  padding-right:clamp(22px,2vw,32px) !important;
}
.sec-approach .approach-layout{
  width:100% !important;
  max-width:none !important;
  grid-template-columns:320px minmax(0,1fr) !important;
  gap:clamp(32px,4vw,58px) !important;
  justify-content:stretch !important;
}
.sec-approach .timeline{
  width:100% !important;
  max-width:none !important;
  justify-self:stretch !important;
}
.sec-approach .timeline__steps{
  width:100% !important;
  max-width:none !important;
  grid-template-columns:repeat(6,minmax(96px,1fr)) !important;
  gap:clamp(6px,.8vw,12px) !important;
}
.sec-approach .timeline__track{
  left:24px !important;
  right:24px !important;
}

/* FINAL â€” soften the timeline connector line. The base rule for
   .timeline__track winning at cascade-time was a flat, fully-opaque
   6-stop rainbow gradient (from an older "reference fidelity" pass)
   at only 1px tall, which reads as a hard, sharp painted wire rather
   than a soft gradient glow. Using the higher-specificity
   .sec-approach .timeline__track selector to win outright: keep the
   same 6 hues (they match each circle above), but add height + blur
   + a touch of transparency so it reads as a soft luminous gradient
   bar instead of a crisp line. */
.sec-approach .timeline__track{
  height:3px !important;
  border-radius:999px !important;
  opacity:.62 !important;
  filter:blur(1.4px) !important;
  box-shadow:0 0 16px rgba(124,58,237,.3) !important;
}
@media(max-width:1180px){
  .sec-services{
    padding-left:24px !important;
    padding-right:24px !important;
    grid-template-columns:minmax(220px,.95fr) repeat(5,minmax(140px,1fr)) !important;
  }
}
@media(max-width:1024px){
  .sec-approach .approach-layout{
    grid-template-columns:1fr !important;
  }
}

/* FINAL SHARED SECTION INTRO TYPOGRAPHY SYSTEM */
.section-eyebrow,
.sec-services .label-tag.section-eyebrow,
.sec-approach .approach__label.section-eyebrow,
.sec-why .why__label.section-eyebrow,
.sec-coaching .coaching__label.section-eyebrow{
  font-family:'Manrope',Arial,sans-serif !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:.28em !important;
  text-transform:uppercase !important;
  margin:0 0 30px !important;
}
.section-heading,
.sec-services .services-top__h2.section-heading,
.sec-approach .approach__h2.section-heading,
.sec-why .why__h2.section-heading,
.sec-coaching .coaching__h2.section-heading{
  font-family:'Manrope',Arial,sans-serif !important;
  font-size:clamp(32px,3vw,48px) !important;
  line-height:1.12 !important;
  font-weight:500 !important;
  letter-spacing:-.04em !important;
  max-width:340px !important;
  margin:0 !important;
}
.section-description,
.sec-approach .approach__desc.section-description,
.sec-coaching .coaching__desc.section-description{
  font-family:'Manrope',Arial,sans-serif !important;
  font-size:15px !important;
  line-height:1.55 !important;
  font-weight:400 !important;
  max-width:340px !important;
  margin:20px 0 0 !important;
}
.section-cta,
.sec-services .services-top__link.section-cta,
.sec-approach .btn-outline-gold.section-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  min-height:48px !important;
  padding:0 24px !important;
  border-radius:999px !important;
  font-family:'Manrope',Arial,sans-serif !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  margin-top:30px !important;
}
.section-cta svg,
.sec-services .services-top__link.section-cta svg,
.sec-approach .btn-outline-gold.section-cta svg{
  width:16px !important;
  height:16px !important;
  flex:0 0 16px !important;
}
.sec-services .services-top__h2.section-heading{
  max-width:340px !important;
}
.sec-approach .approach__h2.section-heading{
  max-width:360px !important;
}
.sec-coaching .coaching__desc.section-description{
  margin-top:20px !important;
}
@media(max-width:768px){
  .section-eyebrow,
  .sec-services .label-tag.section-eyebrow,
  .sec-approach .approach__label.section-eyebrow,
  .sec-why .why__label.section-eyebrow,
  .sec-coaching .coaching__label.section-eyebrow{
    font-size:12px !important;
    letter-spacing:.22em !important;
    margin-bottom:20px !important;
  }
  .section-heading,
  .sec-services .services-top__h2.section-heading,
  .sec-approach .approach__h2.section-heading,
  .sec-why .why__h2.section-heading,
  .sec-coaching .coaching__h2.section-heading{
    font-size:clamp(30px,8vw,42px) !important;
  }
  .section-cta,
  .sec-services .services-top__link.section-cta,
  .sec-approach .btn-outline-gold.section-cta{
    min-height:44px !important;
    padding:0 20px !important;
    font-size:11px !important;
  }
}

/* FINAL GLOBAL RESPONSIVE LAYOUT SYSTEM */
:root{
  --page-max:1520px;
  --page-pad:clamp(24px,4vw,72px);
  --section-y:clamp(56px,6vw,92px);
}
html,
body{
  overflow-x:hidden;
}
body,
section,
div,
p,
h1,
h2,
h3,
h4,
h5,
h6,
a,
button,
li{
  word-break:normal !important;
  overflow-wrap:normal !important;
  white-space:normal !important;
  hyphens:none !important;
}
.hero,
.sec-services,
.sec-approach,
.sec-stats,
.sec-why,
.sec-coaching,
.sec-cta,
.footer{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box !important;
}
.sec-services,
.sec-approach,
.sec-why,
.sec-coaching,
.footer{
  height:auto !important;
  overflow:visible !important;
}
.sec-services,
.sec-approach,
.sec-why,
.sec-coaching{
  padding-left:var(--page-pad) !important;
  padding-right:var(--page-pad) !important;
}
.hero{
  min-height:clamp(540px,calc(100vh - 80px),720px) !important;
  height:auto !important;
  max-height:none !important;
  padding-left:var(--page-pad) !important;
  padding-right:var(--page-pad) !important;
  grid-template-columns:minmax(420px,.92fr) minmax(0,1.08fr) !important;
  gap:clamp(28px,4vw,64px) !important;
}
.hero__left,
.hero__right,
.approach-layout,
.why-layout,
.coaching-layout,
.footer__top{
  max-width:var(--page-max) !important;
  width:100% !important;
  margin-inline:auto !important;
  box-sizing:border-box !important;
}
.hero__h1{
  max-width:720px !important;
}
.hero__desc{
  max-width:620px !important;
}
.btn-outline-white,
.btn-play,
.btn-outline-gold,
.services-top__link,
.cal__cta,
.cta-warm__btn,
.nav__cta{
  position:static !important;
  flex-shrink:0 !important;
}
.sec-services{
  min-height:0 !important;
  padding-top:clamp(44px,5vw,68px) !important;
  padding-bottom:clamp(42px,5vw,64px) !important;
  grid-template-columns:minmax(250px,1.05fr) repeat(5,minmax(150px,1fr)) !important;
  align-items:stretch !important;
}
.sec-services .services-grid,
.sec-services .services-grid.services-grid{
  width:100% !important;
  max-width:none !important;
  overflow:visible !important;
}
.sec-services .svc-card,
.sec-services .svc-card.svc-card{
  min-height:260px !important;
  overflow:visible !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
}
.sec-services .svc-card__content{
  width:100% !important;
  min-height:0 !important;
  flex:1 1 auto !important;
}
.sec-services .svc-card .svc-card__title,
.sec-services .svc-card .svc-card__desc{
  max-width:none !important;
}
.sec-services .svc-card .svc-card__arr{
  position:static !important;
  margin-top:24px !important;
  flex:0 0 auto !important;
}
.sec-approach{
  min-height:0 !important;
  padding-top:var(--section-y) !important;
  padding-bottom:var(--section-y) !important;
}
.sec-approach .approach-layout{
  display:grid !important;
  grid-template-columns:minmax(280px,340px) minmax(0,1fr) !important;
  gap:clamp(36px,5vw,76px) !important;
  align-items:center !important;
}
/* FINAL -- shrink the plain black gap above Approach's content: the
   section previously used the same generous --section-y (up to 92px)
   for both top and bottom padding, plus vertically centered its
   layout -- between hero's own bottom padding and this section's own
   top padding, that read as a large dead black band before any
   content/color appeared. Pull padding-top down and align content to
   the top of the section instead of centering it. */
.sec-approach{
  padding-top:clamp(24px,2.8vw,40px) !important;
}
.sec-approach .approach-layout{
  align-items:start !important;
}
.sec-approach .timeline{
  max-width:none !important;
  width:100% !important;
  justify-self:stretch !important;
}
.sec-approach .timeline__steps{
  width:100% !important;
  grid-template-columns:repeat(6,minmax(96px,1fr)) !important;
  gap:clamp(8px,1vw,16px) !important;
}
.sec-approach .tstep__sub{
  max-width:150px !important;
}

/* FINAL â€” no full card wrap after all; instead a thin top/bottom
   rule using the exact same stroke color as the site's card borders
   (.coaching-card / .sec-faq .faq-layout: rgba(157,129,255,.28)) so
   Approach reads as its own distinct section without a full card
   background/wash. */
.sec-approach{
  border-top:1px solid rgba(157,129,255,.28) !important;
  border-bottom:1px solid rgba(157,129,255,.28) !important;
}
.sec-stats{
  height:auto !important;
  min-height:0 !important;
  padding:clamp(22px,3vw,34px) var(--page-pad) !important;
  overflow:visible !important;
}
.stats-grid{
  max-width:var(--page-max) !important;
  margin-inline:auto !important;
}
.sec-why{
  min-height:0 !important;
  padding-top:var(--section-y) !important;
  padding-bottom:var(--section-y) !important;
}
.why-layout{
  display:grid !important;
  grid-template-columns:minmax(260px,340px) minmax(0,1fr) !important;
  gap:clamp(34px,5vw,72px) !important;
  align-items:start !important;
}
.why-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:clamp(22px,3vw,44px) !important;
}
.why-item__body{
  max-width:none !important;
  font-size:13.5px !important;
  line-height:1.55 !important;
}
.sec-coaching{
  min-height:0 !important;
  padding-top:var(--section-y) !important;
  padding-bottom:var(--section-y) !important;
}
.coaching-layout{
  display:grid !important;
  grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr) !important;
  gap:clamp(32px,4vw,64px) !important;
  align-items:start !important;
}
.coaching-layout>div:first-child{
  min-width:0 !important;
}
.audience-cards{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:clamp(14px,2vw,22px) !important;
}
.aud-card{
  height:auto !important;
  min-height:190px !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:visible !important;
}
.aud-card__desc{
  font-size:13.5px !important;
  line-height:1.5 !important;
}
.aud-card__radio{
  margin-top:auto !important;
  position:static !important;
}
.calendar-widget{
  min-width:0 !important;
  overflow:visible !important;
}
.sec-cta{
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
}
.cta-warm,
.cta-dark{
  min-width:0 !important;
}
.footer{
  height:auto !important;
  min-height:0 !important;
  padding-left:var(--page-pad) !important;
  padding-right:var(--page-pad) !important;
}
.footer__top{
  grid-template-columns:minmax(180px,260px) minmax(0,1fr) !important;
  gap:clamp(30px,5vw,80px) !important;
}
.footer__cols{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:clamp(24px,4vw,56px) !important;
}
.section-eyebrow,
.sec-services .label-tag.section-eyebrow,
.sec-approach .approach__label.section-eyebrow,
.sec-why .why__label.section-eyebrow,
.sec-coaching .coaching__label.section-eyebrow{
  font-size:14px !important;
  letter-spacing:.28em !important;
  line-height:1 !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  margin-bottom:30px !important;
}
.section-heading,
.sec-services .services-top__h2.section-heading,
.sec-approach .approach__h2.section-heading,
.sec-why .why__h2.section-heading,
.sec-coaching .coaching__h2.section-heading{
  font-size:clamp(30px,2.2vw,42px) !important;
  line-height:1.12 !important;
  font-weight:500 !important;
  max-width:360px !important;
}
.section-description,
.sec-approach .approach__desc.section-description,
.sec-coaching .coaching__desc.section-description{
  font-size:14.5px !important;
  line-height:1.55 !important;
  font-weight:400 !important;
  max-width:340px !important;
}
.section-cta,
.sec-services .services-top__link.section-cta,
.sec-approach .btn-outline-gold.section-cta{
  min-height:46px !important;
  padding-inline:22px !important;
  border-radius:999px !important;
}
@media(min-width:1400px){
  .hero,
  .sec-services,
  .sec-approach,
  .sec-why,
  .sec-coaching,
  .footer{
    padding-left:clamp(72px,6vw,110px) !important;
    padding-right:clamp(72px,6vw,110px) !important;
  }
  .sec-services{
    grid-template-columns:minmax(300px,1.08fr) repeat(5,minmax(170px,1fr)) !important;
  }
}
@media(max-width:1100px){
  .hero{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }
  .hero__right{
    display:none !important;
  }
  .sec-services{
    display:block !important;
  }
  .sec-services .services-top{
    display:block !important;
    margin-bottom:34px !important;
  }
  .sec-services .services-grid,
  .sec-services .services-grid.services-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(240px,1fr)) !important;
    gap:0 !important;
  }
  .sec-services .svc-card,
  .sec-services .svc-card.svc-card{
    min-height:260px !important;
    padding:24px !important;
    border-top:1px solid rgba(72,48,112,.16) !important;
  }
  .sec-approach .approach-layout,
  .why-layout,
  .coaching-layout,
  .footer__top{
    grid-template-columns:1fr !important;
  }
  .sec-approach .timeline__steps{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:34px 18px !important;
  }
  .sec-approach .timeline__track{
    display:none !important;
  }
  .why-grid,
  .audience-cards{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .footer__cols{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:700px){
  :root{
    --page-pad:24px;
    --section-y:48px;
  }
  .nav__links,
  .nav__cta{
    display:none !important;
  }
  .hero,
  .sec-services,
  .sec-approach,
  .sec-why,
  .sec-coaching,
  .sec-cta,
  .footer{
    padding-left:24px !important;
    padding-right:24px !important;
  }
  .hero{
    min-height:auto !important;
    padding-top:42px !important;
    padding-bottom:52px !important;
  }
  .hero__h1{
    font-size:clamp(36px,12vw,58px) !important;
  }
  .sec-services .services-grid,
  .sec-services .services-grid.services-grid,
  .sec-approach .timeline__steps,
  .why-grid,
  .audience-cards,
  .stats-grid,
  .footer__cols{
    grid-template-columns:1fr !important;
  }
  .sec-services .svc-card,
  .sec-services .svc-card.svc-card{
    min-height:0 !important;
    padding:26px 0 !important;
    border-left:0 !important;
  }
  .sec-approach .tstep__sub{
    max-width:280px !important;
  }
  .coaching-layout>div:first-child{
    display:block !important;
  }
  .calendar-widget{
    max-width:none !important;
    border-left:0 !important;
    border-top:1px solid rgba(0,0,0,.12) !important;
    padding-top:24px !important;
  }
  .sec-cta,
  .cta-warm{
    grid-template-columns:1fr !important;
  }
  .cta-warm{
    padding:24px !important;
  }
}

/* FINAL BOOKING BALANCE REFINEMENT */
.sec-coaching {
  height: auto !important;
  min-height: 0 !important;
  padding-block: clamp(48px, 5vw, 72px) !important;
}

.sec-coaching .coaching-layout {
  width: 100% !important;
  max-width: 1520px !important;
  margin-inline: auto !important;
  display: grid !important;
  grid-template-columns: minmax(280px, 0.78fr) minmax(560px, 1.34fr) minmax(410px, 0.98fr) !important;
  gap: clamp(28px, 3vw, 48px) !important;
  align-items: stretch !important;
}

.sec-coaching .coaching-layout > div:first-child {
  display: contents !important;
}

.sec-coaching .coaching__label,
.sec-coaching .coaching__h2,
.sec-coaching .coaching__desc {
  grid-column: 1 !important;
}

.sec-coaching .coaching__label {
  grid-row: 1 !important;
  align-self: end !important;
  margin: 0 0 26px !important;
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.1 !important;
  letter-spacing: 0.28em !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

.sec-coaching .coaching__h2 {
  grid-row: 2 !important;
  max-width: 360px !important;
  margin: 0 !important;
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: clamp(32px, 2.8vw, 46px) !important;
  line-height: 1.08 !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

.sec-coaching .coaching__desc {
  grid-row: 3 !important;
  max-width: 340px !important;
  margin: 18px 0 0 !important;
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
}

.sec-coaching .audience-cards {
  grid-column: 2 !important;
  grid-row: 1 / span 3 !important;
  align-self: stretch !important;
  height: 100% !important;
  min-height: 340px !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(170px, 1fr)) !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sec-coaching .audience-cards > li {
  min-width: 0 !important;
  height: 100% !important;
  display: flex !important;
}

.sec-coaching .aud-card {
  width: 100% !important;
  height: 100% !important;
  min-height: 340px !important;
  padding: 26px 22px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  font-family: 'Manrope', Arial, sans-serif !important;
}

.sec-coaching .aud-card__ico {
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px !important;
  display: grid !important;
  place-items: center !important;
}

.sec-coaching .aud-card__ico svg {
  width: 22px !important;
  height: 22px !important;
}

.sec-coaching .aud-card__name {
  margin: 10px 0 0 !important;
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

.sec-coaching .aud-card__desc {
  margin: 0 !important;
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.sec-coaching .aud-card__radio {
  margin-top: auto !important;
}

.sec-coaching .calendar-widget {
  grid-column: 3 !important;
  grid-row: 1 / span 3 !important;
  width: 100% !important;
  max-width: 460px !important;
  min-width: 410px !important;
  min-height: 340px !important;
  align-self: stretch !important;
  padding: 28px 30px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  font-family: 'Manrope', Arial, sans-serif !important;
}

.sec-coaching .cal__title {
  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  margin-bottom: 14px !important;
}

.sec-coaching .cal__nav {
  margin-bottom: 12px !important;
}

.sec-coaching .cal__month {
  font-size: 14px !important;
  font-weight: 750 !important;
}

.sec-coaching .cal__grid {
  gap: 5px !important;
  margin-bottom: 18px !important;
}

.sec-coaching .cal__day,
.sec-coaching .cal__date {
  font-size: 12px !important;
}

.sec-coaching .cal__date {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
}

.sec-coaching .cal__cta {
  width: 100% !important;
  min-height: 54px !important;
  padding: 0 24px !important;
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  letter-spacing: 0.06em !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
}

.sec-coaching .cal__note {
  margin-top: 12px !important;
  font-size: 12.5px !important;
  line-height: 1.4 !important;
}

@media (max-width: 1280px) {
  .sec-coaching .coaching-layout {
    grid-template-columns: minmax(0, 1fr) minmax(380px, 460px) !important;
  }

  .sec-coaching .coaching__label,
  .sec-coaching .coaching__h2,
  .sec-coaching .coaching__desc {
    grid-column: 1 / -1 !important;
  }

  .sec-coaching .audience-cards {
    grid-column: 1 !important;
    grid-row: 4 !important;
    grid-template-columns: repeat(3, minmax(150px, 1fr)) !important;
  }

  .sec-coaching .calendar-widget {
    grid-column: 2 !important;
    grid-row: 4 !important;
    min-width: 0 !important;
  }
}

@media (max-width: 900px) {
  .sec-coaching .coaching-layout {
    grid-template-columns: 1fr !important;
  }

  .sec-coaching .audience-cards,
  .sec-coaching .calendar-widget {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .sec-coaching .audience-cards {
    min-height: 0 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .sec-coaching .aud-card {
    min-height: 260px !important;
  }

  .sec-coaching .calendar-widget {
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
  }
}

@media (max-width: 640px) {
  .sec-coaching .audience-cards {
    grid-template-columns: 1fr !important;
  }

  .sec-coaching .aud-card {
    min-height: 220px !important;
  }

  .sec-coaching .calendar-widget {
    padding: 24px 20px !important;
  }

  .sec-coaching .cal__date {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
  }
}

/* FINAL BOOKING ICON + SPACING REFINEMENT */
.sec-coaching .coaching__label {
  margin: 0 0 14px !important;
}

.sec-coaching .coaching__h2 {
  margin: 0 !important;
  line-height: 1.06 !important;
}

.sec-coaching .coaching__desc {
  margin: 14px 0 0 !important;
  line-height: 1.52 !important;
}

.sec-coaching .aud-card {
  min-height: 340px !important;
  padding: 24px 22px 24px !important;
  gap: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.sec-coaching .aud-card__ico {
  width: 112px !important;
  height: 112px !important;
  flex: 0 0 112px !important;
  border-radius: 28px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 0 0 !important;
}

.sec-coaching .aud-card__ico svg {
  width: 82px !important;
  height: 82px !important;
  display: block !important;
}

.sec-coaching .aud-card__name {
  margin: auto 0 0 !important;
  font-size: 17px !important;
  line-height: 1.18 !important;
}

.sec-coaching .aud-card__desc {
  margin: 8px 0 0 !important;
  font-size: 14.5px !important;
  line-height: 1.48 !important;
}

.sec-coaching .aud-card__radio {
  margin-top: 20px !important;
  flex: 0 0 auto !important;
}

@media (max-width: 900px) {
  .sec-coaching .aud-card__ico {
    width: 92px !important;
    height: 92px !important;
    flex-basis: 92px !important;
    border-radius: 24px !important;
  }

  .sec-coaching .aud-card__ico svg {
    width: 66px !important;
    height: 66px !important;
  }
}

@media (max-width: 640px) {
  .sec-coaching .coaching__label {
    margin-bottom: 12px !important;
  }

  .sec-coaching .coaching__desc {
    margin-top: 12px !important;
  }

  .sec-coaching .aud-card {
    min-height: 250px !important;
  }

  .sec-coaching .aud-card__ico {
    width: 84px !important;
    height: 84px !important;
    flex-basis: 84px !important;
  }

  .sec-coaching .aud-card__ico svg {
    width: 58px !important;
    height: 58px !important;
  }
}

/* FINAL BOOKING CALENDAR BODY ALIGNMENT */
.sec-coaching .coaching-layout {
  grid-template-rows: auto 288px auto !important;
  align-items: start !important;
}

.sec-coaching .coaching__label {
  grid-row: 1 !important;
  align-self: end !important;
  margin-bottom: 12px !important;
}

.sec-coaching .coaching__h2 {
  grid-row: 2 !important;
  align-self: start !important;
}

.sec-coaching .coaching__desc {
  grid-row: 3 !important;
  align-self: start !important;
  margin-top: 12px !important;
}

.sec-coaching .audience-cards {
  grid-row: 2 !important;
  align-self: stretch !important;
  min-height: 0 !important;
  height: 288px !important;
}

.sec-coaching .aud-card {
  height: 288px !important;
  min-height: 0 !important;
  padding: 20px 20px 18px !important;
  gap: 0 !important;
  transform-origin: center center !important;
  transition: transform 0.32s ease, background 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease !important;
  will-change: transform !important;
}

.sec-coaching .aud-card:hover,
.sec-coaching .aud-card:focus-visible {
  transform: scale(1.04) !important;
  background: rgba(255,255,255,0.105) !important;
  border-color: rgba(184,117,255,0.45) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,0.22) !important;
}

.sec-coaching .aud-card__ico {
  width: 92px !important;
  height: 92px !important;
  flex: 0 0 92px !important;
  border-radius: 24px !important;
  transition: transform 0.32s ease !important;
  transform-origin: center center !important;
  will-change: transform !important;
}

.sec-coaching .aud-card:hover .aud-card__ico,
.sec-coaching .aud-card:focus-visible .aud-card__ico {
  transform: scale(1.12) !important;
}

.sec-coaching .aud-card__ico svg {
  width: 66px !important;
  height: 66px !important;
}

.sec-coaching .aud-card__name {
  margin: 18px 0 0 !important;
  font-size: 16.5px !important;
  line-height: 1.18 !important;
}

.sec-coaching .aud-card__desc {
  margin: 7px 0 0 !important;
  font-size: 14.25px !important;
  line-height: 1.45 !important;
}

.sec-coaching .aud-card__radio {
  margin-top: auto !important;
}

.sec-coaching .calendar-widget {
  grid-row: 1 / span 3 !important;
  min-height: 0 !important;
  align-self: stretch !important;
  display: grid !important;
  grid-template-rows: auto 288px auto !important;
  align-content: start !important;
  justify-content: stretch !important;
  gap: 18px !important;
}

.sec-coaching .cal__header,
.sec-coaching .cal__body,
.sec-coaching .cal__footer {
  min-width: 0 !important;
}

.sec-coaching .cal__header {
  align-self: end !important;
}

.sec-coaching .cal__body {
  height: 288px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.sec-coaching .cal__footer {
  align-self: start !important;
}

.sec-coaching .cal__title {
  margin: 0 !important;
}

.sec-coaching .cal__nav {
  flex: 0 0 auto !important;
  margin-bottom: 12px !important;
}

.sec-coaching .cal__grid {
  flex: 0 0 auto !important;
  margin-bottom: 0 !important;
}

.sec-coaching .cal__cta {
  min-height: 54px !important;
}

.sec-coaching .cal__note {
  margin-top: 11px !important;
}

@media (max-width: 1280px) {
  .sec-coaching .coaching-layout {
    grid-template-rows: auto auto auto !important;
  }

  .sec-coaching .audience-cards,
  .sec-coaching .calendar-widget {
    grid-row: 4 !important;
  }
}

@media (max-width: 900px) {
  .sec-coaching .audience-cards,
  .sec-coaching .aud-card,
  .sec-coaching .cal__body {
    height: auto !important;
  }

  .sec-coaching .aud-card {
    min-height: 250px !important;
  }

  .sec-coaching .calendar-widget {
    display: flex !important;
    gap: 16px !important;
  }
}

@media (max-width: 640px) {
  .sec-coaching .aud-card {
    min-height: 230px !important;
  }

  .sec-coaching .aud-card__ico {
    width: 82px !important;
    height: 82px !important;
    flex-basis: 82px !important;
  }

  .sec-coaching .aud-card__ico svg {
    width: 58px !important;
    height: 58px !important;
  }
}

/* FINAL BOOKING SKETCH ALIGNMENT REFINEMENT */
.sec-coaching .coaching-layout {
  grid-template-columns: minmax(280px, 0.76fr) minmax(540px, 1.26fr) minmax(430px, 1fr) !important;
  grid-template-rows: auto 260px auto !important;
  column-gap: clamp(28px, 3vw, 46px) !important;
  row-gap: 16px !important;
  align-items: start !important;
}

.sec-coaching .coaching__label {
  grid-column: 1 !important;
  grid-row: 1 !important;
  margin: 0 0 10px !important;
  align-self: end !important;
}

.sec-coaching .coaching__h2 {
  grid-column: 1 !important;
  grid-row: 2 !important;
  align-self: start !important;
  max-width: 360px !important;
  line-height: 1.05 !important;
}

.sec-coaching .coaching__desc {
  grid-column: 1 !important;
  grid-row: 3 !important;
  margin-top: 10px !important;
  max-width: 340px !important;
}

.sec-coaching .audience-cards {
  grid-column: 2 !important;
  grid-row: 2 !important;
  height: 260px !important;
  min-height: 0 !important;
  align-self: stretch !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(165px, 1fr)) !important;
  gap: 18px !important;
  overflow: visible !important;
}

.sec-coaching .audience-cards > li {
  height: 100% !important;
  overflow: visible !important;
}

.sec-coaching .aud-card {
  height: 260px !important;
  min-height: 0 !important;
  padding: 18px 18px 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  overflow: visible !important;
  cursor: pointer !important;
  transform-origin: center center !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease, border-color 0.3s ease !important;
  will-change: transform !important;
}

.sec-coaching .aud-card:hover,
.sec-coaching .aud-card:focus-visible {
  transform: scale(1.04) !important;
  background: rgba(255,255,255,0.11) !important;
  border-color: rgba(184,117,255,0.5) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,0.24) !important;
}

.sec-coaching .aud-card__ico {
  width: 86px !important;
  height: 86px !important;
  flex: 0 0 86px !important;
  border-radius: 22px !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center !important;
  transition: transform 0.3s ease !important;
  transform-origin: center center !important;
  will-change: transform !important;
}

.sec-coaching .aud-card:hover .aud-card__ico,
.sec-coaching .aud-card:focus-visible .aud-card__ico {
  transform: scale(1.12) !important;
}

.sec-coaching .aud-card__ico svg {
  width: 60px !important;
  height: 60px !important;
}

.sec-coaching .aud-card__name {
  margin: 16px 0 0 !important;
  font-size: 16.5px !important;
  line-height: 1.16 !important;
  font-weight: 800 !important;
}

.sec-coaching .aud-card__desc {
  margin: 7px 0 0 !important;
  font-size: 14px !important;
  line-height: 1.42 !important;
}

.sec-coaching .aud-card__radio {
  margin-top: auto !important;
}

.sec-coaching .calendar-widget {
  grid-column: 3 !important;
  grid-row: 1 / span 3 !important;
  display: grid !important;
  grid-template-rows: auto 260px auto !important;
  gap: 16px !important;
  align-self: start !important;
  justify-content: stretch !important;
  max-width: 470px !important;
  min-width: 430px !important;
}

.sec-coaching .cal__header {
  grid-row: 1 !important;
  align-self: end !important;
}

.sec-coaching .cal__body {
  grid-row: 2 !important;
  height: 260px !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.sec-coaching .cal__footer {
  grid-row: 3 !important;
  align-self: start !important;
}

.sec-coaching .cal__title {
  margin: 0 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

.sec-coaching .cal__nav {
  margin: 0 0 10px !important;
}

.sec-coaching .cal__grid {
  margin: 0 !important;
  gap: 4px !important;
}

.sec-coaching .cal__date {
  width: 31px !important;
  height: 31px !important;
  min-width: 31px !important;
  min-height: 31px !important;
}

.sec-coaching .cal__cta {
  min-height: 54px !important;
}

@media (max-width: 1280px) {
  .sec-coaching .coaching-layout {
    grid-template-columns: minmax(0, 1fr) minmax(390px, 470px) !important;
    grid-template-rows: auto auto auto auto !important;
  }

  .sec-coaching .coaching__label,
  .sec-coaching .coaching__h2,
  .sec-coaching .coaching__desc {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  .sec-coaching .audience-cards {
    grid-column: 1 !important;
    grid-row: 4 !important;
    height: 260px !important;
  }

  .sec-coaching .calendar-widget {
    grid-column: 2 !important;
    grid-row: 4 !important;
    min-width: 0 !important;
  }
}

@media (max-width: 900px) {
  .sec-coaching .coaching-layout {
    grid-template-columns: 1fr !important;
  }

  .sec-coaching .audience-cards,
  .sec-coaching .calendar-widget {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .sec-coaching .audience-cards,
  .sec-coaching .aud-card,
  .sec-coaching .cal__body {
    height: auto !important;
  }

  .sec-coaching .aud-card {
    min-height: 240px !important;
  }

  .sec-coaching .calendar-widget {
    grid-template-rows: auto auto auto !important;
    max-width: none !important;
  }
}

@media (max-width: 640px) {
  .sec-coaching .audience-cards {
    grid-template-columns: 1fr !important;
  }

  .sec-coaching .aud-card {
    min-height: 220px !important;
  }

  .sec-coaching .aud-card__ico {
    width: 78px !important;
    height: 78px !important;
    flex-basis: 78px !important;
  }

  .sec-coaching .aud-card__ico svg {
    width: 54px !important;
    height: 54px !important;
  }
}

/* FINAL BOOKING SAFE CLEANUP */
.sec-coaching .coaching-intro {
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
  align-self: center !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  max-width: 360px !important;
  min-width: 0 !important;
  position: static !important;
}

.sec-coaching .coaching__label,
.sec-coaching .coaching__h2,
.sec-coaching .coaching__desc {
  grid-column: auto !important;
  grid-row: auto !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
}

.sec-coaching .coaching__label {
  margin: 0 0 32px !important;
}

.sec-coaching .coaching__h2 {
  margin: 0 !important;
  max-width: 360px !important;
  line-height: 1.08 !important;
}

.sec-coaching .coaching__desc {
  margin: 22px 0 0 !important;
  max-width: 340px !important;
  line-height: 1.55 !important;
}

.sec-coaching .calendar-widget {
  border: 1px solid rgba(0,0,0,0.08) !important;
  border-left: 1px solid rgba(0,0,0,0.08) !important;
  border-radius: 16px !important;
  background: #fbfaf7 !important;
  box-shadow: 0 18px 48px rgba(20,16,35,0.08) !important;
  padding: 24px !important;
  overflow: visible !important;
}

.sec-coaching .cal__body {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.sec-coaching .cal__header,
.sec-coaching .cal__footer {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 1280px) {
  .sec-coaching .coaching-intro {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    align-self: start !important;
  }

  .sec-coaching .coaching__label {
    margin-bottom: 28px !important;
  }

  .sec-coaching .coaching__desc {
    margin-top: 20px !important;
  }
}

/* FINAL CALENDAR CARD ONLY BODY */
.sec-coaching .calendar-widget {
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-rows: auto 260px auto !important;
  gap: 14px !important;
  align-self: start !important;
  overflow: visible !important;
}

.sec-coaching .cal__header {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 2px !important;
  align-self: end !important;
}

.sec-coaching .cal__body {
  height: 260px !important;
  box-sizing: border-box !important;
  padding: 20px 22px !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  border-radius: 16px !important;
  background: #fbfaf7 !important;
  box-shadow: 0 18px 48px rgba(20,16,35,0.08) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.sec-coaching .cal__footer {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 2px !important;
  align-self: start !important;
}

.sec-coaching .audience-cards {
  grid-row: 2 !important;
  height: 260px !important;
  align-self: stretch !important;
}

.sec-coaching .aud-card {
  height: 260px !important;
}

.sec-coaching .cal__title {
  margin: 0 !important;
}

.sec-coaching .cal__cta {
  width: 100% !important;
}

@media (max-width: 900px) {
  .sec-coaching .calendar-widget {
    display: flex !important;
    gap: 14px !important;
  }

  .sec-coaching .cal__body,
  .sec-coaching .audience-cards,
  .sec-coaching .aud-card {
    height: auto !important;
  }
}

/* FINAL CALENDAR CARD ROW ALIGNMENT */
.sec-coaching .coaching-layout {
  grid-template-rows: auto 260px auto !important;
  align-items: stretch !important;
}

.sec-coaching .calendar-widget {
  display: contents !important;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.sec-coaching .cal__header {
  grid-column: 3 !important;
  grid-row: 1 !important;
  align-self: end !important;
  padding: 0 2px !important;
}

.sec-coaching .cal__body {
  grid-column: 3 !important;
  grid-row: 2 !important;
  align-self: stretch !important;
  height: 260px !important;
  min-height: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 20px 22px !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  border-radius: 16px !important;
  background: #fbfaf7 !important;
  box-shadow: 0 18px 48px rgba(20,16,35,0.08) !important;
}

.sec-coaching .cal__footer {
  grid-column: 3 !important;
  grid-row: 3 !important;
  align-self: start !important;
  padding: 0 2px !important;
}

.sec-coaching .audience-cards {
  grid-column: 2 !important;
  grid-row: 2 !important;
  height: 260px !important;
  align-self: stretch !important;
}

.sec-coaching .aud-card {
  height: 260px !important;
  min-height: 0 !important;
}

@media (max-width: 1280px) {
  .sec-coaching .calendar-widget {
    display: grid !important;
    grid-column: 2 !important;
    grid-row: 4 !important;
    grid-template-rows: auto 260px auto !important;
    gap: 14px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  .sec-coaching .cal__header,
  .sec-coaching .cal__body,
  .sec-coaching .cal__footer {
    grid-column: auto !important;
    grid-row: auto !important;
  }
}

@media (max-width: 900px) {
  .sec-coaching .calendar-widget {
    grid-column: 1 !important;
    grid-row: auto !important;
    grid-template-rows: auto auto auto !important;
  }

  .sec-coaching .cal__body,
  .sec-coaching .audience-cards,
  .sec-coaching .aud-card {
    height: auto !important;
  }
}

/* FINAL BOOKING LEFT INTRO TOP ALIGN */
.sec-coaching .coaching-intro {
  grid-column: 1 !important;
  grid-row: 2 !important;
  align-self: start !important;
  margin-top: 0 !important;
}

.sec-coaching .coaching__label {
  margin: 0 0 28px !important;
}

.sec-coaching .coaching__h2 {
  margin: 0 !important;
}

.sec-coaching .coaching__desc {
  margin: 20px 0 0 !important;
}

@media (max-width: 1280px) {
  .sec-coaching .coaching-intro {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }
}

/* FINAL CTA + FOOTER TYPOGRAPHY CONSISTENCY */
.sec-cta,
.footer {
  font-family: 'Manrope', Arial, sans-serif !important;
}

.sec-cta {
  min-height: 280px !important;
  height: auto !important;
}

.sec-cta .cta-dark,
.sec-cta .cta-warm {
  min-height: 280px !important;
}

.sec-cta .cta-dark__h2 {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: clamp(34px, 3vw, 52px) !important;
  line-height: 1.08 !important;
  font-weight: 520 !important;
  letter-spacing: 0 !important;
}

.sec-cta .cta-warm__text {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  max-width: 360px !important;
}

.sec-cta .cta-warm__btn {
  min-height: 56px !important;
  width: auto !important;
  min-width: 220px !important;
  padding: 0 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.sec-cta .cta-warm__btn svg {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
}

.footer {
  height: auto !important;
  min-height: 300px !important;
  padding-top: 42px !important;
  padding-bottom: 24px !important;
}

.footer__top {
  gap: clamp(34px, 4vw, 72px) !important;
  margin-bottom: 28px !important;
  align-items: start !important;
}

.footer__tagline {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  max-width: 240px !important;
  margin-top: 14px !important;
  margin-bottom: 16px !important;
}

.footer__cols {
  gap: clamp(26px, 3vw, 56px) !important;
}

.footer__col-head {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 12.5px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.1em !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  margin-bottom: 14px !important;
}

.footer__links {
  gap: 8px !important;
}

.footer__links a {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
}

.footer__nl-note {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  margin-bottom: 14px !important;
  max-width: 260px !important;
}

.footer__form {
  height: 50px !important;
  min-height: 50px !important;
  border-radius: 6px !important;
}

.footer__input {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1 !important;
  padding: 0 15px !important;
}

.footer__submit {
  min-width: 52px !important;
  height: 50px !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

.footer__copy,
.footer__made {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
}

.footer__soc {
  width: 22px !important;
  height: 22px !important;
}

.footer__soc svg {
  width: 16px !important;
  height: 16px !important;
}

@media (max-width: 900px) {
  .sec-cta,
  .sec-cta .cta-dark,
  .sec-cta .cta-warm {
    min-height: auto !important;
  }

  .sec-cta .cta-dark,
  .sec-cta .cta-warm {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  .sec-cta .cta-warm__btn {
    width: 100% !important;
    min-width: 0 !important;
  }

  .footer {
    min-height: 0 !important;
  }
}

@media (max-width: 560px) {
  .sec-cta .cta-dark__h2 {
    font-size: clamp(30px, 9vw, 38px) !important;
  }

  .sec-cta .cta-warm__text,
  .footer__tagline,
  .footer__links a,
  .footer__nl-note {
    font-size: 14px !important;
  }
}

/* FINAL CTA BUTTON TEXT ALIGNMENT */
.sec-cta .cta-warm {
  align-items: center !important;
}

.sec-cta .cta-warm__btn {
  align-self: center !important;
  justify-self: start !important;
  min-width: 250px !important;
  white-space: nowrap !important;
}

.sec-cta .cta-warm__btn,
.sec-cta .cta-warm__btn * {
  white-space: nowrap !important;
}

@media (max-width: 900px) {
  .sec-cta .cta-warm__btn {
    justify-self: stretch !important;
    width: 100% !important;
  }
}

/* FINAL CTA RIGHT EDGE ALIGNMENT */
.sec-cta .cta-warm {
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  padding-right: var(--pad-x) !important;
}

.sec-cta .cta-warm__text {
  justify-self: start !important;
}

.sec-cta .cta-warm__btn {
  justify-self: end !important;
  align-self: center !important;
  white-space: nowrap !important;
  min-width: 250px !important;
}

@media (max-width: 900px) {
  .sec-cta .cta-warm {
    grid-template-columns: 1fr !important;
    padding-right: 24px !important;
  }

  .sec-cta .cta-warm__btn {
    justify-self: stretch !important;
    width: 100% !important;
  }
}

/* FINAL CTA ALIGN TO CALENDAR RIGHT EDGE */
.sec-cta .cta-warm {
  position: relative !important;
}

.sec-cta .cta-warm__btn {
  justify-self: end !important;
  margin-right: -22px !important;
  white-space: nowrap !important;
}

@media (min-width: 1400px) {
  .sec-cta .cta-warm__btn {
    margin-right: -34px !important;
  }
}

@media (max-width: 900px) {
  .sec-cta .cta-warm__btn {
    margin-right: 0 !important;
  }
}

/* FINAL SHARED RIGHT EDGE CONTAINER ALIGNMENT */
:root {
  --e4la-page-max: 1520px;
  --e4la-page-pad: clamp(24px, 4vw, 72px);
}

.sec-coaching {
  padding-inline: var(--e4la-page-pad) !important;
}

.sec-coaching .coaching-layout {
  width: min(100%, var(--e4la-page-max)) !important;
  max-width: var(--e4la-page-max) !important;
  margin-inline: auto !important;
}

.sec-cta {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  display: grid !important;
  grid-template-columns:
    minmax(var(--e4la-page-pad), 1fr)
    minmax(0, calc(var(--e4la-page-max) / 2))
    minmax(0, calc(var(--e4la-page-max) / 2))
    minmax(var(--e4la-page-pad), 1fr) !important;
}

.sec-cta .cta-dark {
  grid-column: 1 / 3 !important;
  padding-left: max(var(--e4la-page-pad), calc((100vw - var(--e4la-page-max)) / 2 + var(--e4la-page-pad))) !important;
  padding-right: clamp(28px, 4vw, 64px) !important;
}

.sec-cta .cta-warm {
  grid-column: 3 / 5 !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  padding-left: clamp(28px, 4vw, 64px) !important;
  padding-right: max(var(--e4la-page-pad), calc((100vw - var(--e4la-page-max)) / 2 + var(--e4la-page-pad))) !important;
  align-items: center !important;
}

.sec-cta .cta-warm__btn {
  justify-self: end !important;
  margin-right: 0 !important;
  white-space: nowrap !important;
}

@media (max-width: 900px) {
  .sec-cta {
    grid-template-columns: 1fr !important;
  }

  .sec-cta .cta-dark,
  .sec-cta .cta-warm {
    grid-column: 1 !important;
    padding-left: var(--e4la-page-pad) !important;
    padding-right: var(--e4la-page-pad) !important;
  }

  .sec-cta .cta-warm__btn {
    justify-self: stretch !important;
    width: 100% !important;
    margin-right: 0 !important;
  }
}

/* FINAL STATS + WHY TYPOGRAPHY CONSISTENCY */
.sec-stats,
.sec-why {
  font-family: 'Manrope', Arial, sans-serif !important;
}

.sec-stats {
  height: auto !important;
  min-height: 118px !important;
  padding-block: 26px !important;
}

.sec-stats .stats-grid {
  align-items: center !important;
}

.sec-stats .stat {
  gap: 14px !important;
  align-items: center !important;
}

.sec-stats .stat__ico {
  width: 36px !important;
  height: 36px !important;
  flex: 0 0 36px !important;
}

.sec-stats .stat__num {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: clamp(24px, 2vw, 34px) !important;
  line-height: 1 !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

.sec-stats .stat__label {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  margin-top: 5px !important;
}

.sec-why .why__label.section-eyebrow {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.1 !important;
  letter-spacing: 0.28em !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

.sec-why .why__h2.section-heading {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: clamp(34px, 2.6vw, 48px) !important;
  line-height: 1.12 !important;
  font-weight: 520 !important;
  letter-spacing: 0 !important;
}

.sec-why .why-item__head {
  gap: 14px !important;
  align-items: center !important;
}

.sec-why .why-item__title {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 19px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

.sec-why .why-item__body {
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  margin-top: 10px !important;
}

.sec-why .why-item__ico {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
}

.sec-why .why-item__ico svg {
  width: 18px !important;
  height: 18px !important;
}

@media (max-width: 900px) {
  .sec-stats {
    min-height: 0 !important;
    padding-block: 24px !important;
  }

  .sec-stats .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  .sec-stats .stat:nth-child(5) {
    grid-column: 1 / -1 !important;
  }

  .sec-why .why__h2.section-heading {
    font-size: clamp(30px, 8vw, 42px) !important;
  }
}

@media (max-width: 560px) {
  .sec-stats .stats-grid {
    grid-template-columns: 1fr !important;
  }

  .sec-stats .stat:nth-child(5) {
    grid-column: auto !important;
  }

  .sec-stats .stat__label,
  .sec-why .why-item__body {
    font-size: 14.5px !important;
  }

  .sec-why .why-item__title {
    font-size: 18px !important;
  }
}

/* FINAL RESPONSIVE HOMEPAGE SYSTEM */
:root {
  --e4la-container-max: 1520px;
  --e4la-container-pad: clamp(24px, 4vw, 72px);
}

html,
body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body * {
  box-sizing: border-box !important;
}

.sec-services,
.sec-stats,
.sec-approach,
.sec-why,
.sec-coaching,
.sec-cta,
.footer {
  overflow-x: clip !important;
}

.services-top,
.services-grid,
.stats-grid,
.approach-layout,
.why-layout,
.sec-coaching .coaching-layout,
.footer__top,
.footer__bottom {
  width: min(100%, var(--e4la-container-max)) !important;
  max-width: var(--e4la-container-max) !important;
  margin-inline: auto !important;
}

.sec-services,
.sec-stats,
.sec-approach,
.sec-why,
.sec-coaching,
.footer {
  padding-left: var(--e4la-container-pad) !important;
  padding-right: var(--e4la-container-pad) !important;
}

.sec-services p,
.sec-services h2,
.sec-services h3,
.sec-approach p,
.sec-approach h2,
.sec-why p,
.sec-why h2,
.sec-coaching p,
.sec-coaching h2,
.sec-cta p,
.sec-cta h2,
.footer p,
.footer a,
.footer input {
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
}

.sec-coaching .cal__cta,
.sec-cta .cta-warm__btn {
  position: static !important;
}

.sec-coaching .calendar-widget,
.sec-coaching .cal__body,
.sec-coaching .cal__footer,
.sec-coaching .cal__cta {
  max-width: 100% !important;
}

.sec-coaching .cal__grid {
  width: 100% !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
}

.sec-coaching .cal__date,
.sec-coaching .cal__day-name {
  max-width: 100% !important;
}

@media (min-width: 1400px) {
  .sec-coaching .coaching-layout {
    grid-template-columns: minmax(300px, 0.78fr) minmax(600px, 1.3fr) minmax(460px, 1fr) !important;
  }
}

@media (max-width: 1100px) {
  .hero,
  .sec-services,
  .sec-stats,
  .sec-approach,
  .sec-why,
  .sec-coaching,
  .sec-cta,
  .footer {
    height: auto !important;
  }

  .hero {
    min-height: 620px !important;
  }

  .sec-coaching {
    padding-top: clamp(56px, 8vw, 84px) !important;
    padding-bottom: clamp(56px, 8vw, 84px) !important;
  }

  .sec-coaching .coaching-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    gap: 40px !important;
    align-items: start !important;
  }

  .sec-coaching .coaching-layout > div:first-child {
    display: block !important;
    min-width: 0 !important;
  }

  .sec-coaching .coaching-intro {
    display: flex !important;
    flex-direction: column !important;
    grid-column: auto !important;
    grid-row: auto !important;
    max-width: 620px !important;
    margin: 0 !important;
  }

  .sec-coaching .coaching__label,
  .sec-coaching .coaching__h2,
  .sec-coaching .coaching__desc {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .sec-coaching .coaching__label {
    margin: 0 0 28px !important;
  }

  .sec-coaching .coaching__h2 {
    margin: 0 !important;
    max-width: 620px !important;
  }

  .sec-coaching .coaching__desc {
    margin: 20px 0 0 !important;
    max-width: 560px !important;
  }

  .sec-coaching .audience-cards {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin-top: 30px !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  .sec-coaching .audience-cards > li,
  .sec-coaching .aud-card {
    width: 100% !important;
    height: auto !important;
    min-height: 240px !important;
  }

  .sec-coaching .calendar-widget {
    display: grid !important;
    grid-column: auto !important;
    grid-row: auto !important;
    grid-template-rows: auto auto auto !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 720px !important;
    min-width: 0 !important;
    justify-self: start !important;
  }

  .sec-coaching .cal__header,
  .sec-coaching .cal__body,
  .sec-coaching .cal__footer {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
  }

  .sec-coaching .cal__body {
    height: auto !important;
    min-height: 260px !important;
  }

  .sec-coaching .cal__cta {
    width: 100% !important;
  }

  .sec-cta {
    min-height: 0 !important;
  }

  .sec-cta .cta-dark,
  .sec-cta .cta-warm {
    min-height: 240px !important;
  }

  .footer__top {
    grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.8fr) !important;
  }
}

@media (max-width: 700px) {
  :root {
    --e4la-container-pad: 22px;
  }

  .hero {
    min-height: auto !important;
    padding: 120px var(--e4la-container-pad) 64px !important;
    grid-template-columns: 1fr !important;
  }

  .hero__left,
  .hero__copy {
    max-width: 100% !important;
  }

  .sec-services,
  .sec-stats,
  .sec-approach,
  .sec-why,
  .sec-coaching,
  .footer {
    padding-left: var(--e4la-container-pad) !important;
    padding-right: var(--e4la-container-pad) !important;
  }

  .services-grid,
  .stats-grid,
  .why-grid,
  .footer__cols {
    grid-template-columns: 1fr !important;
  }

  .approach-layout,
  .why-layout,
  .footer__top,
  .footer__bottom {
    grid-template-columns: 1fr !important;
  }

  .sec-stats .stat:nth-child(5) {
    grid-column: auto !important;
  }

  .sec-coaching .coaching-layout {
    gap: 28px !important;
  }

  .sec-coaching .audience-cards {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .sec-coaching .aud-card {
    min-height: 220px !important;
    padding: 20px !important;
  }

  .sec-coaching .calendar-widget {
    max-width: 100% !important;
  }

  .sec-coaching .cal__body {
    padding: 18px 14px !important;
    min-height: 0 !important;
  }

  .sec-coaching .cal__date {
    width: auto !important;
    min-width: 0 !important;
    height: 34px !important;
    min-height: 34px !important;
    font-size: 12px !important;
  }

  .sec-coaching .cal__day-name {
    font-size: 10px !important;
  }

  .sec-coaching .cal__cta {
    width: 100% !important;
    min-height: 54px !important;
  }

  .sec-cta {
    grid-template-columns: 1fr !important;
  }

  .sec-cta .cta-dark,
  .sec-cta .cta-warm {
    grid-column: 1 !important;
    min-height: 0 !important;
    padding: 42px var(--e4la-container-pad) !important;
  }

  .sec-cta .cta-warm {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .sec-cta .cta-warm__btn {
    width: 100% !important;
    min-width: 0 !important;
    justify-self: stretch !important;
  }

  .footer__form {
    width: 100% !important;
  }
}

@media (max-width: 430px) {
  :root {
    --e4la-container-pad: 18px;
  }

  .sec-coaching .cal__body {
    padding: 16px 10px !important;
  }

  .sec-coaching .cal__grid {
    gap: 3px !important;
  }

  .sec-coaching .cal__date {
    height: 31px !important;
    min-height: 31px !important;
    font-size: 11px !important;
  }
}

/* FINAL HOMEPAGE TYPOGRAPHY + SPACING POLISH */
:root {
  --e4la-font: 'Manrope', Arial, sans-serif;
  --e4la-container-max: 1520px;
  --e4la-container-pad: clamp(24px, 4vw, 72px);
  --e4la-section-y: clamp(64px, 7vw, 112px);
  --e4la-gap-lg: clamp(24px, 3vw, 40px);
}

body,
button,
input,
a {
  font-family: var(--e4la-font) !important;
}

.section-inner,
.container,
.services-top,
.services-grid,
.stats-grid,
.approach-layout,
.why-layout,
.sec-coaching .coaching-layout,
.footer__top,
.footer__bottom {
  width: min(100%, var(--e4la-container-max)) !important;
  max-width: var(--e4la-container-max) !important;
  margin-inline: auto !important;
}

.section-eyebrow,
.hero__eyebrow,
.label-tag,
.approach__label,
.why__label,
.coaching__label {
  font-family: var(--e4la-font) !important;
  font-size: 14px !important;
  line-height: 1.1 !important;
  letter-spacing: 0.24em !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  margin-bottom: 28px !important;
}

.section-heading,
.services-top__h2,
.approach__h2,
.why__h2,
.coaching__h2,
.cta-dark__h2 {
  font-family: var(--e4la-font) !important;
  font-size: clamp(32px, 2.4vw, 44px) !important;
  line-height: 1.12 !important;
  font-weight: 560 !important;
  letter-spacing: 0 !important;
}

.section-description,
.hero__desc,
.approach__desc,
.coaching__desc,
.cta-warm__text,
.footer__tagline,
.footer__nl-note,
.faq-item__a > p,
.schedule-card__desc {
  font-family: var(--e4la-font) !important;
  font-size: clamp(14.5px, 1vw, 16px) !important;
  line-height: 1.56 !important;
  font-weight: 400 !important;
}

.card-title,
.svc-card__title,
.why-item__title,
.aud-card__name,
.tstep__name,
.footer__col-head,
.howwork-step__name {
  font-family: var(--e4la-font) !important;
  font-size: clamp(16px, 1.1vw, 20px) !important;
  line-height: 1.24 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

/* .faq-item__q was briefly grouped with the bold card-title role
   above (20px/800) â€” direct feedback was that this read as too
   heavy/bold for a clickable question row, so it now shares the
   small-text scale instead, with its own semibold (not bold) weight
   set right below, same treatment as .gain-item__text /
   .schedule-card__meta li. */
.card-description,
.svc-card__desc,
.svc-card__more,
.why-item__body,
.aud-card__desc,
.tstep__sub,
.footer__links a,
.gain-item__text,
.howwork-step__desc,
.schedule-card__note,
.schedule-card__meta li,
.faq-item__q {
  font-family: var(--e4la-font) !important;
  font-size: clamp(14px, 0.95vw, 15.5px) !important;
  line-height: 1.52 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.site-cta,
.btn-outline-white,
.btn-play,
.btn-outline-gold,
.services-top__link,
.cal__cta,
.cta-warm__btn {
  min-height: 52px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  padding-inline: 28px 34px !important;
  font-family: var(--e4la-font) !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.site-cta svg,
.btn-outline-white svg,
.btn-outline-gold svg,
.services-top__link svg,
.cal__cta svg,
.cta-warm__btn svg {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
}

.hero__actions {
  gap: 16px !important;
  align-items: center !important;
}

.hero__h1 {
  font-family: var(--e4la-font) !important;
  line-height: 1.04 !important;
  margin-bottom: 20px !important;
}

.hero__desc {
  margin-bottom: 32px !important;
  max-width: 620px !important;
}

.btn-play {
  padding-left: 16px !important;
}

.btn-play__ring {
  width: 30px !important;
  height: 30px !important;
  flex: 0 0 30px !important;
}

.btn-play__ring svg {
  width: 11px !important;
  height: 12px !important;
}

.services-top,
.approach-layout,
.why-layout,
.sec-coaching .coaching-layout {
  gap: var(--e4la-gap-lg) !important;
}

.services-grid,
.why-grid,
.audience-cards {
  gap: clamp(18px, 2vw, 28px) !important;
}

.approach__desc,
.coaching__desc {
  margin-top: 20px !important;
}

.btn-outline-gold,
.services-top__link {
  margin-top: 30px !important;
}

.stat__num {
  font-family: var(--e4la-font) !important;
  font-size: clamp(24px, 2vw, 34px) !important;
  line-height: 1 !important;
  font-weight: 650 !important;
}

.stat__label {
  font-family: var(--e4la-font) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
}

.footer__col-head {
  font-size: 12.5px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

@media (max-width: 700px) {
  .section-eyebrow,
  .hero__eyebrow,
  .label-tag,
  .approach__label,
  .why__label,
  .coaching__label {
    font-size: 12.5px !important;
    letter-spacing: 0.18em !important;
    margin-bottom: 22px !important;
  }

  .section-heading,
  .services-top__h2,
  .approach__h2,
  .why__h2,
  .coaching__h2,
  .cta-dark__h2 {
    font-size: clamp(30px, 8vw, 40px) !important;
  }

  .hero__actions {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  .hero__actions .btn-outline-white,
  .hero__actions .btn-play {
    width: 100% !important;
    justify-content: center !important;
  }

  .site-cta,
  .btn-outline-white,
  .btn-play,
  .btn-outline-gold,
  .services-top__link,
  .cal__cta,
  .cta-warm__btn {
    min-height: 52px !important;
    padding-inline: 22px !important;
    font-size: 12.5px !important;
  }
}


/* FINAL HERO CLEAN SINGLE IMAGE RESET */
@media (min-width: 1121px) {
  .hero__right {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative !important;
    overflow: visible !important;
    perspective: none !important;
  }

  .hero-reference-art {
    display: block !important;
    width: min(45vw, 700px) !important;
    height: min(58vh, 610px) !important;
    max-width: 100% !important;
    position: relative !important;
    overflow: visible !important;
    background-image: url('assets/e4la-hero-highres.jpeg') !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: center center !important;
    opacity: 1 !important;
    filter: saturate(1.04) contrast(1.03) !important;
    transform: none !important;
    scale: 1 !important;
    transition: none !important;
    will-change: auto !important;
  }

  .hero-reference-art::before,
  .hero-reference-art::after {
    display: none !important;
    content: none !important;
    background: none !important;
    background-image: none !important;
    opacity: 0 !important;
    transform: none !important;
  }

  .hero__right > .ring-wrap {
    display: none !important;
  }
}

@media (max-width: 1120px) {
  .hero-reference-art,
  .hero-reference-art::before,
  .hero-reference-art::after {
    display: none !important;
    content: none !important;
    background: none !important;
    background-image: none !important;
    transform: none !important;
  }
}

/* FINAL REMOVE SECOND HERO IMAGE */
.hero-reference-art,
.hero-reference-art::before,
.hero-reference-art::after {
  display: none !important;
  content: none !important;
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
  transform: none !important;
}

.hero__right {
  display: none !important;
}

/* FINAL NAV LINK FONT SIZE INCREASE */
.nav__links a,
.nav a:not(.nav__logo):not(.nav__cta) {
  font-size: 13.5px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}

@media (max-width: 900px) {
  .nav__links a,
  .nav a:not(.nav__logo):not(.nav__cta) {
    font-size: 13px !important;
  }
}

/* FINAL NAV LINK SIZE WITHOUT BOLD */
.nav__links a,
.nav a:not(.nav__logo):not(.nav__cta) {
  font-size: 13.5px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
}

@media (max-width: 900px) {
  .nav__links a,
  .nav a:not(.nav__logo):not(.nav__cta) {
    font-size: 13px !important;
    font-weight: 400 !important;
  }
}

/* FINAL SERVICES CARD GRID + 3D HOVER */
/* FINAL v5 â€” DARK GLASS REDESIGN, matching the about.html reference
   (dark base + soft blurred brand-color glow blobs, translucent
   "glass" cards on top). Reuses the site's own dark/brand palette
   (#07060D + purple/magenta/gold) instead of about.css's separate
   #020817 palette, so this section stays visually consistent with
   the rest of the homepage's dark sections (hero/approach/FAQ/footer). */
.sec-services {
  position: relative !important;
  width: min(calc(100% - 48px), 1520px) !important;
  max-width: 1520px !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto clamp(56px, 7vw, 96px) !important;
  padding: clamp(80px, 8.5vw, 130px) clamp(24px, 4vw, 44px) clamp(72px, 8vw, 110px) !important;
  display: block !important;
  overflow: visible !important;
  border-radius: 0 0 clamp(24px, 3vw, 36px) clamp(24px, 3vw, 36px) !important;
  background: linear-gradient(180deg, #07060D 0%, #0c0a17 50%, #07060D 100%) !important;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .4) !important;
  color: #fff !important;
  font-family: 'Manrope', Arial, sans-serif !important;
  isolation: isolate !important;
}
/* FINAL â€” the left-to-right color wash used to sit at full strength
   starting at y:0, i.e. right where the hero's flat black ends, so it
   read as a visible seam no matter how the vertical fade above was
   tuned. Move it to a masked ::before that only fades in after the
   top ~18% of the section, behind a z-index:-1 stacking context, so
   the very top edge stays pure hero-black and the color only appears
   once safely past the hero/services boundary. */
.sec-services::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, rgba(79, 125, 255, .18) 0%, rgba(124, 58, 237, .18) 50%, rgba(219, 39, 119, .15) 100%) !important;
  /* Top edge (hero -> services): soft fade back in, restoring the
     smooth blend that existed before the approach-boundary hard-cut
     fix collapsed this mask to a near-instant 6px reveal â€” that
     6px value made the color wash snap on abruptly right under the
     hero, which is the harsh line being complained about here.
     Bottom edge stays untouched: solid all the way to 100%, no
     fade-out, per the earlier explicit "hard boundary at approach"
     requirement â€” only the top got softened. */
  -webkit-mask-image: linear-gradient(180deg, transparent 0px, #000 90px, #000 100%) !important;
  mask-image: linear-gradient(180deg, transparent 0px, #000 90px, #000 100%) !important;
  pointer-events: none !important;
}

/* FINAL â€” the boundary itself (the border-top line on .sec-approach)
   is meant to BE the hard edge: colored wash above it, flat dark
   hero-color below it, no fade on either side. The wash above now
   runs at full strength all the way down to the line; .sec-approach
   already uses a flat #07060D with no gradient of its own, so the
   line reads as a clean, deliberate boundary instead of a blend. */

.sec-services .services-top {
  display: block !important;
  width: min(100%, 820px) !important;
  max-width: 820px !important;
  margin: 0 auto clamp(56px, 7vw, 90px) !important;
  padding: 0 !important;
  text-align: center !important;
}

.sec-services .services-top > div {
  display: block !important;
  padding: 0 !important;
  max-width: none !important;
}

.sec-services .label-tag,
.sec-services .label-tag.section-eyebrow {
  display: block !important;
  margin: 0 0 20px !important;
  color: #d8a8ff !important;
  font-size: clamp(12px, 1vw, 14px) !important;
  line-height: 1.1 !important;
  letter-spacing: 0.32em !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

.sec-services .services-top__h2,
.sec-services .services-top__h2.section-heading {
  max-width: 720px !important;
  margin: 0 auto !important;
  color: #fff !important;
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: clamp(40px, 4.2vw, 66px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.035em !important;
  font-weight: 850 !important;
  text-align: center !important;
}

.sec-services .services-top > p {
  display: block !important;
  max-width: 660px !important;
  margin: 22px auto 0 !important;
  color: rgba(255, 255, 255, 0.68) !important;
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: clamp(16px, 1.35vw, 21px) !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  text-align: center !important;
}

.sec-services .services-top__link,
.sec-services .services-top__link.section-cta {
  display: none !important;
}

.sec-services .services-grid,
.sec-services .services-grid.services-grid {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: clamp(20px, 2.2vw, 32px) !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  overflow: visible !important;
  perspective: 1200px !important;
}

.sec-services .svc-card,
.sec-services .svc-card.svc-card {
  position: relative !important;
  min-width: 0 !important;
  width: 100% !important;
  height: auto !important;
  min-height: clamp(360px, 32vw, 500px) !important;
  padding: clamp(24px, 2.2vw, 34px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 24px !important;
  border: 1px solid rgba(15, 14, 24, 0.08) !important;
  border-left: 1px solid rgba(15, 14, 24, 0.08) !important;
  border-top: 1px solid rgba(15, 14, 24, 0.08) !important;
  border-radius: clamp(18px, 1.7vw, 24px) !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(15, 14, 24, 0.08) !important;
  color: #11121b !important;
  overflow: visible !important;
  cursor: pointer !important;
  transform-style: preserve-3d !important;
  transform: perspective(1200px) translateY(var(--svc-lift, 0px)) rotateX(var(--svc-rx, 0deg)) rotateY(var(--svc-ry, 0deg)) scale(var(--svc-scale, 1)) !important;
  transition: transform 0.38s cubic-bezier(.22,1,.36,1), box-shadow 0.38s cubic-bezier(.22,1,.36,1), background 0.38s cubic-bezier(.22,1,.36,1), border-color 0.38s cubic-bezier(.22,1,.36,1) !important;
  will-change: transform !important;
  contain: layout paint !important;
}

.sec-services .svc-card:hover,
.sec-services .svc-card:focus-visible,
.sec-services .svc-card.is-active {
  background: #fff !important;
  border-color: rgba(15, 14, 24, 0.12) !important;
  box-shadow: 0 16px 38px rgba(15, 14, 24, 0.14) !important;
}

.sec-services .svc-card__content {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  gap: 0 !important;
  transform-style: preserve-3d !important;
}

.sec-services .svc-card .svc-icon {
  width: clamp(92px, 8vw, 142px) !important;
  height: clamp(92px, 8vw, 142px) !important;
  flex: 0 0 auto !important;
  margin: 0 0 clamp(30px, 3vw, 48px) !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 24px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: currentColor !important;
  transform: translateZ(50px) !important;
  transition: transform 0.38s cubic-bezier(.22,1,.36,1) !important;
}

.sec-services .svc-card .svc-icon svg {
  width: 100% !important;
  height: 100% !important;
  stroke-width: 1.15 !important;
}

.sec-services .svc-card .svc-icon--purple { color: #5f43d3 !important; }
.sec-services .svc-card .svc-icon--blue { color: #236ec7 !important; }
.sec-services .svc-card .svc-icon--green { color: #15a28e !important; }
.sec-services .svc-card .svc-icon--amber { color: #e87516 !important; }
.sec-services .svc-card .svc-icon--indigo { color: #8d35b2 !important; }

.sec-services .svc-card .svc-card__title {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 16px !important;
  color: #11121b !important;
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: clamp(19px, 1.45vw, 27px) !important;
  line-height: 1.16 !important;
  letter-spacing: -0.025em !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
  transform: translateZ(35px) !important;
}

.sec-services .svc-card .svc-card__desc {
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  color: rgba(17, 18, 27, 0.74) !important;
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: clamp(14px, 1vw, 16px) !important;
  line-height: 1.58 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transform: translateZ(25px) !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
}

.sec-services .svc-card .svc-card__more {
  display: none !important;
}

.sec-services .svc-card .svc-card__arr {
  position: static !important;
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  min-height: 54px !important;
  margin: auto 0 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  border: 1px solid currentColor !important;
  background: rgba(255, 255, 255, 0.24) !important;
  color: inherit !important;
  transform: translateZ(35px) !important;
  transition: transform 0.28s ease, background 0.28s ease !important;
}

.sec-services .svc-card:hover .svc-card__arr,
.sec-services .svc-card:focus-visible .svc-card__arr,
.sec-services .svc-card.is-active .svc-card__arr {
  transform: translateZ(44px) translateX(3px) !important;
  background: rgba(255, 255, 255, 0.48) !important;
}

.sec-services .svc-card .svc-card__arr svg {
  width: 20px !important;
  height: 20px !important;
}

@media (max-width: 1180px) {
  .sec-services .services-grid,
  .sec-services .services-grid.services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .sec-services .svc-card,
  .sec-services .svc-card.svc-card {
    min-height: 360px !important;
  }
}

@media (max-width: 640px) {
  .sec-services {
    width: calc(100% - 28px) !important;
    margin-block: 48px !important;
    padding: 44px 18px 24px !important;
    border-radius: 24px !important;
  }

  .sec-services .services-grid,
  .sec-services .services-grid.services-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .sec-services .services-top {
    margin-bottom: 32px !important;
  }

  .sec-services .services-top__h2,
  .sec-services .services-top__h2.section-heading {
    font-size: clamp(32px, 10vw, 44px) !important;
  }

  .sec-services .svc-card,
  .sec-services .svc-card.svc-card {
    min-height: 0 !important;
    padding: 26px !important;
    transform: none !important;
  }

  .sec-services .svc-card .svc-icon {
    width: 92px !important;
    height: 92px !important;
    margin-bottom: 26px !important;
  }
}

@media (prefers-reduced-motion: reduce), (hover: none), (pointer: coarse) {
  .sec-services .svc-card,
  .sec-services .svc-card.svc-card {
    transform: none !important;
    transition: box-shadow 0.25s ease, background 0.25s ease !important;
  }

  .sec-services .svc-card:hover,
  .sec-services .svc-card:focus-visible,
  .sec-services .svc-card.is-active {
    transform: none !important;
  }

  .sec-services .svc-card .svc-icon,
  .sec-services .svc-card .svc-card__title,
  .sec-services .svc-card .svc-card__desc,
  .sec-services .svc-card .svc-card__arr {
    transform: none !important;
  }
}

/* FINAL SERVICES SMOOTH 3D MOTION */
.sec-services .svc-card,
.sec-services .svc-card.svc-card {
  --svc-rx: 0deg;
  --svc-ry: 0deg;
  --svc-scale: 1;
  --svc-lift: 0px;
  transform: perspective(1200px) translateY(var(--svc-lift, 0px)) rotateX(var(--svc-rx, 0deg)) rotateY(var(--svc-ry, 0deg)) scale(var(--svc-scale, 1)) !important;
  transform-style: preserve-3d !important;
  backface-visibility: hidden !important;
  will-change: transform !important;
  transition: box-shadow 650ms cubic-bezier(.22, 1, .36, 1), background 650ms cubic-bezier(.22, 1, .36, 1), border-color 650ms cubic-bezier(.22, 1, .36, 1) !important;
}

.sec-services .svc-card:hover,
.sec-services .svc-card:focus-visible,
.sec-services .svc-card.is-active,
.sec-services .svc-card.is-hovering,
.sec-services .svc-card.is-tilting {
  transform: perspective(1200px) translateY(var(--svc-lift, 0px)) rotateX(var(--svc-rx, 0deg)) rotateY(var(--svc-ry, 0deg)) scale(var(--svc-scale, 1)) !important;
}

.sec-services .svc-card.is-hovering,
.sec-services .svc-card.is-tilting {
  box-shadow: 0 16px 38px rgba(15, 14, 24, 0.14) !important;
}

.sec-services .svc-card .svc-icon,
.sec-services .svc-card .svc-card__title,
.sec-services .svc-card .svc-card__desc,
.sec-services .svc-card .svc-card__arr {
  transform-style: preserve-3d !important;
  backface-visibility: hidden !important;
  will-change: transform !important;
  transition: transform 760ms cubic-bezier(.22, 1, .36, 1) !important;
}

.sec-services .svc-card .svc-icon {
  transform: translateZ(50px) !important;
}

.sec-services .svc-card .svc-card__title {
  transform: translateZ(35px) !important;
}

.sec-services .svc-card .svc-card__desc {
  transform: translateZ(25px) !important;
}

.sec-services .svc-card .svc-card__arr {
  transform: translateZ(35px) !important;
}

.sec-services .svc-card.is-hovering .svc-icon,
.sec-services .svc-card.is-tilting .svc-icon {
  transform: translateZ(70px) translateY(-4px) scale(1.08) !important;
}

.sec-services .svc-card.is-hovering .svc-card__title,
.sec-services .svc-card.is-tilting .svc-card__title {
  transform: translateZ(50px) translateY(-3px) scale(1.035) !important;
}

.sec-services .svc-card.is-hovering .svc-card__desc,
.sec-services .svc-card.is-tilting .svc-card__desc {
  transform: translateZ(32px) translateY(-2px) scale(1.015) !important;
}

.sec-services .svc-card.is-hovering .svc-card__arr,
.sec-services .svc-card.is-tilting .svc-card__arr {
  transform: translateZ(55px) translateY(-2px) scale(1.08) !important;
}

@media (max-width: 899px), (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  .sec-services .svc-card,
  .sec-services .svc-card.svc-card,
  .sec-services .svc-card:hover,
  .sec-services .svc-card:focus-visible,
  .sec-services .svc-card.is-active,
  .sec-services .svc-card.is-hovering,
  .sec-services .svc-card.is-tilting {
    --svc-rx: 0deg !important;
    --svc-ry: 0deg !important;
    --svc-scale: 1 !important;
    transform: none !important;
    transition: background 320ms ease, border-color 320ms ease, box-shadow 320ms ease !important;
  }

  .sec-services .svc-card:hover,
  .sec-services .svc-card:focus-visible,
  .sec-services .svc-card.is-active {
    transform: scale(1.01) !important;
  }

  .sec-services .svc-card .svc-icon,
  .sec-services .svc-card .svc-card__title,
  .sec-services .svc-card .svc-card__desc,
  .sec-services .svc-card .svc-card__arr,
  .sec-services .svc-card.is-hovering .svc-icon,
  .sec-services .svc-card.is-hovering .svc-card__title,
  .sec-services .svc-card.is-hovering .svc-card__desc,
  .sec-services .svc-card.is-hovering .svc-card__arr {
    transform: none !important;
    transition: transform 320ms ease !important;
  }
}

/* FINAL SERVICES INNER CONTENT STABILITY FIX */
.sec-services .services-grid .svc-card.svc-card {
  justify-content: space-between !important;
  grid-template-rows: none !important;
  overflow: visible !important;
  transform-style: preserve-3d !important;
}

.sec-services .services-grid .svc-card.svc-card .svc-card__content {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  gap: 0 !important;
  margin: 0 !important;
  opacity: 1 !important;
  overflow: visible !important;
  transform-style: preserve-3d !important;
}

.sec-services .services-grid .svc-card.svc-card .svc-icon,
.sec-services .services-grid .svc-card.svc-card .svc-card__title,
.sec-services .services-grid .svc-card.svc-card .svc-card__desc,
.sec-services .services-grid .svc-card.svc-card .svc-card__arr {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  max-height: none !important;
  overflow: visible !important;
  transition: transform 820ms cubic-bezier(.22, 1, .36, 1), background 420ms ease, border-color 420ms ease, color 420ms ease !important;
  transform-style: preserve-3d !important;
  backface-visibility: hidden !important;
  will-change: transform !important;
}

.sec-services .services-grid .svc-card.svc-card .svc-icon {
  margin: 0 0 clamp(30px, 3vw, 48px) !important;
  transform: translateZ(0) translateY(0) scale(1) !important;
}

.sec-services .services-grid .svc-card.svc-card .svc-card__title {
  margin: 0 0 16px !important;
  transform: translateZ(0) translateY(0) scale(1) !important;
}

.sec-services .services-grid .svc-card.svc-card .svc-card__desc {
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  transform: translateZ(0) translateY(0) scale(1) !important;
}

.sec-services .services-grid .svc-card.svc-card .svc-card__more {
  display: none !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  opacity: 1 !important;
  overflow: visible !important;
  transform: none !important;
  transition: none !important;
}

.sec-services .services-grid .svc-card.svc-card .svc-card__arr,
.sec-services .services-grid .svc-card.svc-card .svc-card__desc + .svc-card__arr,
.sec-services .services-grid .svc-card.svc-card .svc-card__desc + .svc-card__more + .svc-card__arr,
.sec-services .services-grid .svc-card.svc-card .svc-card__content + .svc-card__arr {
  margin: auto 0 0 !important;
  flex: 0 0 54px !important;
  transform: translateZ(0) translateY(0) scale(1) !important;
}

.sec-services .svc-card:hover .svc-icon,
.sec-services .svc-card:focus-visible .svc-icon,
.sec-services .svc-card.is-active .svc-icon,
.sec-services .svc-card.is-hovering .svc-icon,
.sec-services .svc-card.is-tilting .svc-icon {
  transform: translateZ(55px) translateY(-3px) scale(1.035) !important;
}

.sec-services .svc-card:hover .svc-card__title,
.sec-services .svc-card:focus-visible .svc-card__title,
.sec-services .svc-card.is-active .svc-card__title,
.sec-services .svc-card.is-hovering .svc-card__title,
.sec-services .svc-card.is-tilting .svc-card__title {
  transform: translateZ(42px) translateY(-2px) scale(1.015) !important;
}

.sec-services .svc-card:hover .svc-card__desc,
.sec-services .svc-card:focus-visible .svc-card__desc,
.sec-services .svc-card.is-active .svc-card__desc,
.sec-services .svc-card.is-hovering .svc-card__desc,
.sec-services .svc-card.is-tilting .svc-card__desc {
  transform: translateZ(28px) translateY(-1px) scale(1) !important;
}

.sec-services .svc-card:hover .svc-card__arr,
.sec-services .svc-card:focus-visible .svc-card__arr,
.sec-services .svc-card.is-active .svc-card__arr,
.sec-services .svc-card.is-hovering .svc-card__arr,
.sec-services .svc-card.is-tilting .svc-card__arr {
  transform: translateZ(38px) translateY(-2px) scale(1.04) !important;
}

@media (max-width: 899px), (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  .sec-services .svc-card .svc-icon,
  .sec-services .svc-card .svc-card__title,
  .sec-services .svc-card .svc-card__desc,
  .sec-services .svc-card .svc-card__arr {
    transform: none !important;
    transition: background 320ms ease, border-color 320ms ease, color 320ms ease !important;
  }
}

/* FINAL SERVICES CUSTOM ICONS + CTA COLORS */
.sec-services .services-grid .svc-card.svc-card .svc-icon img {
 width: 100% !important;
 height: 100% !important;
 display: block !important;
 object-fit: contain !important;
 mix-blend-mode: multiply !important;
 filter: contrast(1.08) saturate(1.05) !important;
 pointer-events: none !important;
}

.sec-services .services-grid .svc-card:nth-child(1) .svc-card__arr {
 color: #493481 !important;
 border-color: #493481 !important;
}

.sec-services .services-grid .svc-card:nth-child(2) .svc-card__arr {
 color: #1f3f7a !important;
 border-color: #1f3f7a !important;
}

.sec-services .services-grid .svc-card:nth-child(3) .svc-card__arr {
 color: #0e6f59 !important;
 border-color: #0e6f59 !important;
}

.sec-services .services-grid .svc-card:nth-child(4) .svc-card__arr {
 color: #a94f12 !important;
 border-color: #a94f12 !important;
}

.sec-services .services-grid .svc-card:nth-child(5) .svc-card__arr {
 color: #64206f !important;
 border-color: #64206f !important;
}

.sec-services .services-grid .svc-card:nth-child(1):hover .svc-card__arr,
.sec-services .services-grid .svc-card:nth-child(1):focus-visible .svc-card__arr,
.sec-services .services-grid .svc-card:nth-child(1).is-active .svc-card__arr,
.sec-services .services-grid .svc-card:nth-child(1).is-hovering .svc-card__arr {
 background: rgba(73, 52, 129, .10) !important;
}

.sec-services .services-grid .svc-card:nth-child(2):hover .svc-card__arr,
.sec-services .services-grid .svc-card:nth-child(2):focus-visible .svc-card__arr,
.sec-services .services-grid .svc-card:nth-child(2).is-active .svc-card__arr,
.sec-services .services-grid .svc-card:nth-child(2).is-hovering .svc-card__arr {
 background: rgba(31, 63, 122, .10) !important;
}

.sec-services .services-grid .svc-card:nth-child(3):hover .svc-card__arr,
.sec-services .services-grid .svc-card:nth-child(3):focus-visible .svc-card__arr,
.sec-services .services-grid .svc-card:nth-child(3).is-active .svc-card__arr,
.sec-services .services-grid .svc-card:nth-child(3).is-hovering .svc-card__arr {
 background: rgba(14, 111, 89, .10) !important;
}

.sec-services .services-grid .svc-card:nth-child(4):hover .svc-card__arr,
.sec-services .services-grid .svc-card:nth-child(4):focus-visible .svc-card__arr,
.sec-services .services-grid .svc-card:nth-child(4).is-active .svc-card__arr,
.sec-services .services-grid .svc-card:nth-child(4).is-hovering .svc-card__arr {
 background: rgba(169, 79, 18, .11) !important;
}

.sec-services .services-grid .svc-card:nth-child(5):hover .svc-card__arr,
.sec-services .services-grid .svc-card:nth-child(5):focus-visible .svc-card__arr,
.sec-services .services-grid .svc-card:nth-child(5).is-active .svc-card__arr,
.sec-services .services-grid .svc-card:nth-child(5).is-hovering .svc-card__arr {
 background: rgba(100, 32, 111, .10) !important;
}
/* FINAL SERVICES INNER MOTION - TRANSFORM ONLY */
.sec-services .svc-card .svc-icon,
.sec-services .svc-card .svc-card__title,
.sec-services .svc-card .svc-card__desc,
.sec-services .svc-card .svc-card__arr {
  transform-origin: left center !important;
  transform-style: preserve-3d !important;
  backface-visibility: hidden !important;
  will-change: transform !important;
  opacity: 1 !important;
  transition: transform 850ms cubic-bezier(.22, 1, .36, 1) !important;
}

.sec-services .svc-card .svc-icon {
  transform: translateZ(0) translateY(0) scale(1) !important;
}

.sec-services .svc-card .svc-card__title {
  transform: translateZ(0) translateY(0) scale(1) !important;
}

.sec-services .svc-card .svc-card__desc {
  transform: translateZ(0) translateY(0) scale(1) !important;
}

.sec-services .svc-card .svc-card__arr {
  transform: translateZ(0) translateY(0) scale(1) !important;
}

.sec-services .svc-card:hover .svc-icon,
.sec-services .svc-card.is-hovering .svc-icon,
.sec-services .svc-card.is-tilting .svc-icon {
  transform: translateZ(48px) translateY(-5px) scale(1.075) !important;
}

.sec-services .svc-card:hover .svc-card__title,
.sec-services .svc-card.is-hovering .svc-card__title,
.sec-services .svc-card.is-tilting .svc-card__title {
  transform: translateZ(34px) translateY(-3px) scale(1.015) !important;
}

.sec-services .svc-card:hover .svc-card__desc,
.sec-services .svc-card.is-hovering .svc-card__desc,
.sec-services .svc-card.is-tilting .svc-card__desc {
  transform: translateZ(22px) translateY(-2px) scale(1) !important;
}

.sec-services .svc-card:hover .svc-card__arr,
.sec-services .svc-card.is-hovering .svc-card__arr,
.sec-services .svc-card.is-tilting .svc-card__arr {
  transform: translateZ(36px) translateY(-3px) scale(1.06) !important;
}

@media (max-width: 899px), (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  .sec-services .svc-card .svc-icon,
  .sec-services .svc-card .svc-card__title,
  .sec-services .svc-card .svc-card__desc,
  .sec-services .svc-card .svc-card__arr,
  .sec-services .svc-card:hover .svc-icon,
  .sec-services .svc-card:hover .svc-card__title,
  .sec-services .svc-card:hover .svc-card__desc,
  .sec-services .svc-card:hover .svc-card__arr,
  .sec-services .svc-card.is-hovering .svc-icon,
  .sec-services .svc-card.is-hovering .svc-card__title,
  .sec-services .svc-card.is-hovering .svc-card__desc,
  .sec-services .svc-card.is-hovering .svc-card__arr,
  .sec-services .svc-card.is-tilting .svc-icon,
  .sec-services .svc-card.is-tilting .svc-card__title,
  .sec-services .svc-card.is-tilting .svc-card__desc,
  .sec-services .svc-card.is-tilting .svc-card__arr {
    transform: none !important;
  }
}
/* ================================================================
   FINAL PATCH â€” SERVICES 3D CARD + INNER MOTION
   Keep this as the LAST services block. Do not add service-card rules after it.
   ================================================================ */

/* Stable Aceternity-style card body: JS controls only these variables. */
.sec-services .services-grid .svc-card.svc-card,
.sec-services .services-grid .svc-card.svc-card:hover,
.sec-services .services-grid .svc-card.svc-card:focus-visible,
.sec-services .services-grid .svc-card.svc-card.is-active,
.sec-services .services-grid .svc-card.svc-card.is-hovering,
.sec-services .services-grid .svc-card.svc-card.is-tilting {
  --svc-rx: 0deg;
  --svc-ry: 0deg;
  --svc-scale: 1;

  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
  gap: 0 !important;

  overflow: visible !important;
  transform:
    perspective(1200px)
    rotateX(var(--svc-rx, 0deg))
    rotateY(var(--svc-ry, 0deg))
    scale(var(--svc-scale, 1)) !important;
  transform-style: preserve-3d !important;
  transform-origin: center center !important;
  backface-visibility: hidden !important;
  will-change: transform !important;

  transition:
    box-shadow 650ms cubic-bezier(.22, 1, .36, 1),
    background 650ms cubic-bezier(.22, 1, .36, 1),
    border-color 650ms cubic-bezier(.22, 1, .36, 1) !important;
}

.sec-services .services-grid .svc-card.svc-card:hover,
.sec-services .services-grid .svc-card.svc-card:focus-visible,
.sec-services .services-grid .svc-card.svc-card.is-hovering,
.sec-services .services-grid .svc-card.svc-card.is-tilting {
  box-shadow: 0 16px 38px rgba(15, 14, 24, .14) !important;
}

/* Kill the old accordion/reveal behavior. Nothing inside the card should collapse. */
.sec-services .services-grid .svc-card.svc-card .svc-card__content {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  overflow: visible !important;
  transform: translateZ(0) !important;
  transform-style: preserve-3d !important;
}

.sec-services .services-grid .svc-card.svc-card .svc-card__more {
  display: none !important;
}

/* Shared inner CardItem behavior. Transform only; no height/margin animation. */
.sec-services .services-grid .svc-card.svc-card .svc-icon,
.sec-services .services-grid .svc-card.svc-card .svc-card__title,
.sec-services .services-grid .svc-card.svc-card .svc-card__desc,
.sec-services .services-grid .svc-card.svc-card .svc-card__arr {
  opacity: 1 !important;
  visibility: visible !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  pointer-events: auto !important;
  transform-style: preserve-3d !important;
  backface-visibility: hidden !important;
  will-change: transform !important;
  transition:
    transform 850ms cubic-bezier(.22, 1, .36, 1),
    background 650ms cubic-bezier(.22, 1, .36, 1),
    border-color 650ms cubic-bezier(.22, 1, .36, 1),
    color 650ms cubic-bezier(.22, 1, .36, 1) !important;
}

/* Icon: centered, larger, visible. */
.sec-services .services-grid .svc-card.svc-card .svc-icon {
  width: 82px !important;
  height: 82px !important;
  min-width: 82px !important;
  min-height: 82px !important;
  flex: 0 0 82px !important;
  margin: 0 auto 24px !important;
  align-self: center !important;
  display: grid !important;
  place-items: center !important;
  background: transparent !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  transform-origin: center center !important;
  transform: translateZ(64px) translateY(0) scale(1) !important;
}

.sec-services .services-grid .svc-card.svc-card .svc-icon img,
.sec-services .services-grid .svc-card.svc-card .svc-icon svg {
  width: 72px !important;
  height: 72px !important;
  max-width: 72px !important;
  max-height: 72px !important;
  object-fit: contain !important;
  display: block !important;
  opacity: 1 !important;
}

/* Title: less heavy, centered, stable. */
.sec-services .services-grid .svc-card.svc-card .svc-card__title {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
  color: #11121b !important;
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: clamp(16px, 1.05vw, 19px) !important;
  line-height: 1.16 !important;
  font-weight: 600 !important;
  letter-spacing: -0.012em !important;
  text-transform: none !important;
  text-align: center !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
  transform-origin: center center !important;
  transform: translateZ(44px) translateY(0) scale(1) !important;
}

/* Description: readable and visible by default. */
.sec-services .services-grid .svc-card.svc-card .svc-card__desc {
  width: 100% !important;
  max-width: 27ch !important;
  margin: 0 auto !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
  color: rgba(17, 18, 27, .72) !important;
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: clamp(13px, .88vw, 15px) !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  text-align: center !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
  transform-origin: center top !important;
  transform: translateZ(28px) translateY(0) scale(1) !important;
}

/* Arrow: stable, not part of any reveal. */
.sec-services .services-grid .svc-card.svc-card .svc-card__arr,
.sec-services .services-grid .svc-card.svc-card .svc-card__content + .svc-card__arr {
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  min-height: 54px !important;
  flex: 0 0 54px !important;
  margin: auto auto 0 !important;
  align-self: center !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  transform-origin: center center !important;
  transform: translateZ(38px) translateY(0) scale(1) !important;
}

.sec-services .services-grid .svc-card.svc-card .svc-card__arr svg {
  width: 18px !important;
  height: 18px !important;
}

/* Hover / active inner motion: smooth, visible, no layout shift. */
.sec-services .services-grid .svc-card.svc-card:hover .svc-icon,
.sec-services .services-grid .svc-card.svc-card:focus-visible .svc-icon,
.sec-services .services-grid .svc-card.svc-card.is-hovering .svc-icon,
.sec-services .services-grid .svc-card.svc-card.is-tilting .svc-icon {
  transform: translateZ(76px) translateY(-5px) scale(.88) !important;
}

.sec-services .services-grid .svc-card.svc-card:hover .svc-card__title,
.sec-services .services-grid .svc-card.svc-card:focus-visible .svc-card__title,
.sec-services .services-grid .svc-card.svc-card.is-hovering .svc-card__title,
.sec-services .services-grid .svc-card.svc-card.is-tilting .svc-card__title {
  transform: translateZ(54px) translateY(-6px) scale(.96) !important;
}

.sec-services .services-grid .svc-card.svc-card:hover .svc-card__desc,
.sec-services .services-grid .svc-card.svc-card:focus-visible .svc-card__desc,
.sec-services .services-grid .svc-card.svc-card.is-hovering .svc-card__desc,
.sec-services .services-grid .svc-card.svc-card.is-tilting .svc-card__desc {
  transform: translateZ(40px) translateY(3px) scale(1.045) !important;
}

.sec-services .services-grid .svc-card.svc-card:hover .svc-card__arr,
.sec-services .services-grid .svc-card.svc-card:focus-visible .svc-card__arr,
.sec-services .services-grid .svc-card.svc-card.is-hovering .svc-card__arr,
.sec-services .services-grid .svc-card.svc-card.is-tilting .svc-card__arr {
  transform: translateZ(48px) translateY(3px) scale(1.04) !important;
}

/* Mobile/reduced-motion: keep layout, remove 3D tracking. */
@media (max-width: 899px), (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  .sec-services .services-grid .svc-card.svc-card,
  .sec-services .services-grid .svc-card.svc-card:hover,
  .sec-services .services-grid .svc-card.svc-card:focus-visible,
  .sec-services .services-grid .svc-card.svc-card.is-hovering,
  .sec-services .services-grid .svc-card.svc-card.is-tilting {
    --svc-rx: 0deg !important;
    --svc-ry: 0deg !important;
    --svc-scale: 1 !important;
    transform: none !important;
  }

  .sec-services .services-grid .svc-card.svc-card .svc-icon,
  .sec-services .services-grid .svc-card.svc-card .svc-card__title,
  .sec-services .services-grid .svc-card.svc-card .svc-card__desc,
  .sec-services .services-grid .svc-card.svc-card .svc-card__arr {
    transform: none !important;
  }
}

/* FINAL SERVICES SECTION â€” ICON SIZE/POSITION + HOVER MOTION */
/* Single consolidated source of truth for .svc-icon. Only touches the icon inside
   Services cards. Card tilt, title, desc, arrow, and every other section are untouched. */

.sec-services .services-grid .svc-card.svc-card .svc-icon {
  display: block !important;
  position: relative !important;
  left: 50% !important;
  right: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  flex: 0 0 auto !important;
  margin: 0 0 24px !important;
  align-self: center !important;
  justify-self: center !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  transform-origin: center center !important;
  transform: translateX(-50%) translateY(0) scale(1) !important;
  transition: transform 800ms cubic-bezier(.22, 1, .36, 1) !important;
  will-change: transform !important;
}

.sec-services .services-grid .svc-card.svc-card .svc-icon img,
.sec-services .services-grid .svc-card.svc-card .svc-icon svg {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}

.sec-services .services-grid .svc-card.svc-card:hover .svc-icon,
.sec-services .services-grid .svc-card.svc-card:focus-visible .svc-icon,
.sec-services .services-grid .svc-card.svc-card.is-hovering .svc-icon,
.sec-services .services-grid .svc-card.svc-card.is-tilting .svc-icon {
  transform: translateX(-50%) translateY(-18px) scale(0.72) !important;
}

/* Preserve reduced-motion / touch fallback for the icon specifically. */
@media (max-width: 899px), (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  .sec-services .services-grid .svc-card.svc-card .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:hover .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:focus-visible .svc-icon,
  .sec-services .services-grid .svc-card.svc-card.is-hovering .svc-icon,
  .sec-services .services-grid .svc-card.svc-card.is-tilting .svc-icon {
    transform: translateX(-50%) translateY(0) scale(1) !important;
  }
}

/* FINAL SERVICES HEADING â€” gradient accent on "modern businesses." */
.sec-services .services-top__h2 .grad-text {
  background: linear-gradient(92deg, #7c3aed 0%, #a855f7 45%, #f97316 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* FINAL SERVICES CARD HEIGHT â€” taller cards, more breathing room before the arrow.
   The arrow already sits at the bottom via the card's justify-content:space-between
   + its own margin-top:auto, so a taller card directly widens that gap. */
.sec-services .services-grid .svc-card.svc-card {
  min-height: clamp(430px, 36vw, 570px) !important;
}

@media (max-width: 640px) {
  .sec-services .services-grid .svc-card.svc-card {
    min-height: 0 !important;
  }
}

/* FINAL SERVICES ICON 1 SIZE FIX â€” the source artwork for card 1 (assets/1.png)
   only fills ~70% of its own square canvas, versus ~91-94% for icons 2-5, so it
   renders visibly smaller than the others despite an identical icon box. Scale
   just this image up to match the others' apparent size. */
.sec-services .services-grid .svc-card.svc-card:nth-child(1) .svc-icon img {
  transform: scale(1.37) !important;
  transform-origin: center center !important;
}

/* FINAL SERVICES SECTION FULL-BLEED â€” remove the "floating rounded card" look.
   Section now spans edge-to-edge and sits flush against the sections above/below
   (no side inset, no rounded corners, no vertical margin gap). Inner padding is
   unchanged so the heading/cards still have breathing room from the edges. */
.sec-services {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* FINAL MOBILE NAV MENU */
/* Adds a hamburger + slide-down panel so navigation isn't lost when
   .nav__links/.nav__cta are hidden at narrow widths (they currently have
   no replacement, which is a real responsiveness gap). */

.nav__burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  flex-shrink: 0;
  z-index: 60;
  -webkit-tap-highlight-color: transparent;
}

.nav__burger span {
  display: block;
  width: 22px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: transform 0.28s cubic-bezier(.22, 1, .36, 1), opacity 0.28s cubic-bezier(.22, 1, .36, 1);
}

.nav__burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav__burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav__burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.nav__mobile {
  position: fixed;
  top: 62px;
  left: 0;
  right: 0;
  background: #02050d;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 24px var(--pad-x) 28px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 0.32s cubic-bezier(.22, 1, .36, 1), transform 0.32s cubic-bezier(.22, 1, .36, 1), visibility 0s linear 0.32s;
  z-index: 55;
  max-height: calc(100vh - 62px);
  overflow-y: auto;
}

.nav__mobile.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity 0.32s cubic-bezier(.22, 1, .36, 1), transform 0.32s cubic-bezier(.22, 1, .36, 1);
}

.nav__mobile-links {
  display: flex;
  flex-direction: column;
  gap: 18px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav__mobile-links a {
  display: block;
  color: #fff;
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 6px 0;
}

.nav__mobile-links a:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 4px;
}

.nav__mobile-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 18px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 6px;
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
}

.nav__mobile-cta svg {
  width: 12px;
  height: 12px;
}

body.nav-open {
  overflow: hidden;
}

@media (max-width: 780px) {
  .nav__burger {
    display: inline-flex;
  }
  /* Nav links used to only hide at max-width:700px (see the older
     700px pass above) while .nav__cta and the nav's own compact
     sizing already switch at 780px (line ~924) â€” that left a ~79px
     window (701-780px) where the CTA button vanished with no burger
     menu yet shown to reach it. Hiding the links at the same 780px
     breakpoint the burger now appears at closes that gap. */
  .nav__links {
    display: none !important;
  }
}

@media (min-width: 781px) {
  .nav__mobile {
    display: none !important;
  }
}

/* ============================================================
   FINAL CTA â€” NEON PALM PILL (permanent, site-wide, reusable).
   Single shared system, applied via the existing .cta-neon class
   already present on all 7 CTAs (nav__cta, nav__mobile-cta,
   btn-outline-white, btn-play, btn-outline-gold.section-cta,
   cal__cta, cta-warm__btn). Additive only: does not set
   font-size/width/height, so each button's footprint stays as
   close as possible to its original size.

   Default: dark pill fill, colored neon stroke (gold or purple,
   per the --cta-neon--gold/--cta-neon--purple variant already on
   each button) with a soft static glow â€” always visible, not
   hover-only. Left badge is a FILLED circle that stretches to the
   button's own line-height and is pulled outward via negative
   margin so it reads flush/plugged-in with the pill's edges
   (visually very close to full CTA height on every variant, per
   spec â€” an exact px-perfect fit differs slightly per button
   since each has a different base padding). White palm icon
   inside, text unchanged to the right.

   Hover/focus: glow intensifies, a tiny 1.01 scale (no layout
   shift, transform never affects box size), and one bright comet
   continuously traces the exact rounded-rect perimeter (SVG rect
   + stroke-dasharray, sized live by script.js â€” mechanism
   unchanged from before).
   ============================================================ */

.cta-neon {
  --neon: #C8A84B;
  --neon-g1: rgba(200, 168, 75, .3);
  --neon-g2: rgba(200, 168, 75, .16);
  --neon-g3: rgba(200, 168, 75, .1);
  --neon-g1h: rgba(223, 192, 110, .45);
  --neon-g2h: rgba(223, 192, 110, .28);
  --neon-g3h: rgba(223, 192, 110, .16);
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 999px !important;
  background: #0a0612 !important;
  border: 1.5px solid var(--neon) !important;
  color: #fff !important;
  overflow: visible !important;
  isolation: isolate !important;
  box-shadow:
    0 0 8px var(--neon-g1),
    0 0 18px var(--neon-g2),
    inset 0 0 8px var(--neon-g3) !important;
  transition: box-shadow .3s ease, border-color .3s ease, transform .3s ease !important;
}

.cta-neon:hover,
.cta-neon:focus-visible {
  box-shadow:
    0 0 12px var(--neon-g1h),
    0 0 26px var(--neon-g2h),
    inset 0 0 10px var(--neon-g3h) !important;
  transform: scale(1.01) !important;
}

.cta-neon--gold {
  --neon: #C8A84B;
  --neon-g1: rgba(200, 168, 75, .3);
  --neon-g2: rgba(200, 168, 75, .16);
  --neon-g3: rgba(200, 168, 75, .1);
  --neon-g1h: rgba(223, 192, 110, .45);
  --neon-g2h: rgba(223, 192, 110, .28);
  --neon-g3h: rgba(223, 192, 110, .16);
}
.cta-neon--purple {
  --neon: #7c3aed;
  --neon-g1: rgba(124, 58, 237, .35);
  --neon-g2: rgba(124, 58, 237, .2);
  --neon-g3: rgba(124, 58, 237, .12);
  --neon-g1h: rgba(168, 85, 247, .5);
  --neon-g2h: rgba(168, 85, 247, .32);
  --neon-g3h: rgba(168, 85, 247, .18);
}

.cta-neon > * {
  position: relative !important;
  z-index: 2 !important;
}

/* Left badge: diameter = the button's exact rendered height (padding-
   box, i.e. the full visible pill height minus only the thin border
   stroke), flush against the left wall. Computed live by script.js
   from the LABEL's own height + the button's static CSS padding â€”
   never from the button's own offsetHeight, which would be circular
   (see the long comment in script.js: an earlier version measured
   offsetHeight directly and produced a runaway badge that grew to
   cover most of the page). max-width/max-height below are a hard
   safety ceiling â€” comfortably above every real button on this site,
   so even if the computed value were ever wrong, the badge still
   cannot balloon past a sane size. The em-based values are only the
   fallback for the instant before JS runs on load. */
.cta-neon .cta-neon__badge,
.cta-neon .btn-play__ring {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  flex: 0 0 auto !important;
  width: var(--badge-d, 2.2em) !important;
  height: var(--badge-d, 2.2em) !important;
  min-width: 26px !important;
  min-height: 26px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  margin: var(--badge-my, 0) .65em var(--badge-my, 0) var(--badge-ml, -.3em) !important;
  border-radius: 50% !important;
  background: var(--neon) !important;
  background: radial-gradient(circle at 35% 28%, color-mix(in srgb, var(--neon) 65%, #fff 35%), var(--neon) 72%) !important;
  box-shadow: 0 0 8px var(--neon-g1h) !important;
}

.cta-neon .cta-neon__badge svg,
.cta-neon .btn-play__ring svg {
  width: 46% !important;
  height: 56% !important;
  object-fit: contain !important;
  fill: #fff !important;
  stroke: none !important;
}

.cta-neon .cta-neon__badge img,
.cta-neon .btn-play__ring img {
  width: 58% !important;
  height: 58% !important;
  object-fit: contain !important;
}

.cta-neon .cta-neon__label {
  white-space: nowrap !important;
}

/* Beam overlay: sized/positioned to the button in JS (script.js).
   The rect's stroke covers the button's full perimeter (no dasharray
   gap â€” previously it was a short comet). Its color is a repeating
   gradient built and tinted in JS from THIS button's own --neon
   (gold or purple) â€” not white â€” with exactly 3 bright "shine"
   peaks evenly spaced around the loop (period = perimeter/3, not a
   dense sea-wave of many small ripples), continuously traveling
   together via a native SVG animation. Glow is tinted to --neon too. */
.cta-neon__beam {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: visible !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.cta-neon__beam-rect {
  fill: none !important;
  stroke-linecap: butt !important;
  opacity: 0 !important;
  filter: drop-shadow(0 0 4px var(--neon)) !important;
  transition: opacity .3s ease !important;
}

.cta-neon:hover .cta-neon__beam-rect,
.cta-neon:focus-visible .cta-neon__beam-rect {
  opacity: 1 !important;
}

@media (prefers-reduced-motion: reduce) {
  .cta-neon:hover,
  .cta-neon:focus-visible {
    transform: none !important;
  }
  .cta-neon:hover .cta-neon__beam-rect,
  .cta-neon:focus-visible .cta-neon__beam-rect {
    opacity: 0 !important;
  }
}

/* ============================================================
   CTA HARDENING â€” extra-specificity reinforcement for the 5
   buttons that have many separate historical rules targeting their
   own class name directly, scattered across this file from past
   editing passes (.nav__cta: 12 rules, .nav__mobile-cta, .btn-
   outline-white: 11, .btn-outline-gold: multiple, .cal__cta: 19).
   .btn-play and .cta-warm__btn already render correctly with the
   generic .cta-neon rules above and are not repeated here.

   Every selector below is doubled (e.g. .btn-outline-white.cta-neon)
   so its specificity is strictly higher than a lone rule anywhere
   else in the file â€” this wins regardless of what else is declared
   for these specific classes, past or future.

   .nav__cta / .nav__mobile-cta have been removed from this shared
   group: the nav CTA is now owned exclusively by nav.css with its
   own fixed, non-traveling badge, so it no longer needs or wants
   anything from this system. */
.btn-outline-white.cta-neon,
.btn-outline-gold.cta-neon,
.cal__cta.cta-neon {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 999px !important;
  background: #0a0612 !important;
  border: 1.5px solid var(--neon) !important;
  color: #fff !important;
  overflow: visible !important;
  isolation: isolate !important;
  box-shadow:
    0 0 8px var(--neon-g1),
    0 0 18px var(--neon-g2),
    inset 0 0 8px var(--neon-g3) !important;
  transition: box-shadow .3s ease, border-color .3s ease, transform .3s ease !important;
}

.btn-outline-white.cta-neon:hover,
.btn-outline-gold.cta-neon:hover,
.cal__cta.cta-neon:hover,
.btn-outline-white.cta-neon:focus-visible,
.btn-outline-gold.cta-neon:focus-visible,
.cal__cta.cta-neon:focus-visible {
  box-shadow:
    0 0 12px var(--neon-g1h),
    0 0 26px var(--neon-g2h),
    inset 0 0 10px var(--neon-g3h) !important;
  transform: scale(1.01) !important;
}

.btn-outline-white.cta-neon > *,
.btn-outline-gold.cta-neon > *,
.cal__cta.cta-neon > * {
  position: relative !important;
  z-index: 2 !important;
}

.btn-outline-white.cta-neon .cta-neon__badge,
.btn-outline-gold.cta-neon .cta-neon__badge,
.cal__cta.cta-neon .cta-neon__badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  flex: 0 0 auto !important;
  width: var(--badge-d, 2.2em) !important;
  height: var(--badge-d, 2.2em) !important;
  min-width: 26px !important;
  min-height: 26px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  margin: var(--badge-my, 0) .65em var(--badge-my, 0) var(--badge-ml, -.3em) !important;
  border-radius: 50% !important;
  background: var(--neon) !important;
  background: radial-gradient(circle at 35% 28%, color-mix(in srgb, var(--neon) 65%, #fff 35%), var(--neon) 72%) !important;
  box-shadow: 0 0 8px var(--neon-g1h) !important;
}

.btn-outline-white.cta-neon .cta-neon__badge img,
.btn-outline-gold.cta-neon .cta-neon__badge img,
.cal__cta.cta-neon .cta-neon__badge img {
  width: 58% !important;
  height: 58% !important;
  object-fit: contain !important;
}

.btn-outline-white.cta-neon .cta-neon__label,
.btn-outline-gold.cta-neon .cta-neon__label,
.cal__cta.cta-neon .cta-neon__label {
  white-space: nowrap !important;
}

.btn-outline-white.cta-neon .cta-neon__beam,
.btn-outline-gold.cta-neon .cta-neon__beam,
.cal__cta.cta-neon .cta-neon__beam {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: visible !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* Root cause of the visible square in "Learn Our Approach"'s corner:
   an old rule scoped to .sec-approach forces ANY svg inside
   .btn-outline-gold.section-cta down to a fixed 16x16px â€”
   `.sec-approach .btn-outline-gold.section-cta svg { width:16px;
   height:16px !important }` (line ~4039). That selector has higher
   specificity (3 classes + 1 type) than the hardening rule just
   above (3 classes + 0 type), so it was winning and shrinking the
   beam SVG into a tiny square pinned in a corner by the
   position:absolute + inset:0 + fixed-16px combination. This
   selector matches that exact scoping with one more class, so it
   wins outright. */
.sec-approach .btn-outline-gold.section-cta.cta-neon .cta-neon__beam {
  width: 100% !important;
  height: 100% !important;
  flex: none !important;
}

.btn-outline-white.cta-neon .cta-neon__beam-rect,
.btn-outline-gold.cta-neon .cta-neon__beam-rect,
.cal__cta.cta-neon .cta-neon__beam-rect {
  fill: none !important;
  stroke-linecap: butt !important;
  opacity: 0 !important;
  filter: drop-shadow(0 0 4px var(--neon)) !important;
  transition: opacity .3s ease !important;
}

.btn-outline-white.cta-neon:hover .cta-neon__beam-rect,
.btn-outline-gold.cta-neon:hover .cta-neon__beam-rect,
.cal__cta.cta-neon:hover .cta-neon__beam-rect,
.btn-outline-white.cta-neon:focus-visible .cta-neon__beam-rect,
.btn-outline-gold.cta-neon:focus-visible .cta-neon__beam-rect,
.cal__cta.cta-neon:focus-visible .cta-neon__beam-rect {
  opacity: 1 !important;
}

@media (prefers-reduced-motion: reduce) {
  .btn-outline-white.cta-neon:hover,
  .btn-outline-gold.cta-neon:hover,
  .cal__cta.cta-neon:hover,
  .btn-outline-white.cta-neon:focus-visible,
  .btn-outline-gold.cta-neon:focus-visible,
  .cal__cta.cta-neon:focus-visible {
    transform: none !important;
  }
  .btn-outline-white.cta-neon:hover .cta-neon__beam-rect,
  .btn-outline-gold.cta-neon:hover .cta-neon__beam-rect,
  .cal__cta.cta-neon:hover .cta-neon__beam-rect,
  .btn-outline-white.cta-neon:focus-visible .cta-neon__beam-rect,
  .btn-outline-gold.cta-neon:focus-visible .cta-neon__beam-rect,
  .cal__cta.cta-neon:focus-visible .cta-neon__beam-rect {
    opacity: 0 !important;
  }
}

/* ============================================================
   #js-book (Book Session / cal__cta) â€” MAXIMUM-SPECIFICITY fix.
   An ID selector beats every class-based rule in this file
   outright, no ambiguity, so this is the definitive word on this
   one button regardless of anything else declared for .cal__cta
   anywhere (there are ~19 separate historical rules touching it).

   Also: this is the ONLY CTA sitting on a LIGHT background
   (.calendar-widget is cream/white â€” every other CTA sits on a
   dark section). The same soft colored glow that reads as "neon"
   against black looks like a hazy smudge against white, which is
   almost certainly the "fog" being described â€” so the glow here is
   tightened (smaller blur radius, lower opacity, no outer bloom)
   instead of the wider ambient glow used elsewhere. */
#js-book.cta-neon {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  /* justify-content:center here now only affects the LABEL (the
     badge is pulled out of flex flow below, so it doesn't
     participate) â€” this is what actually centers the button's
     text while the badge is independently pinned to the left. */
  justify-content: center !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1.5px solid var(--neon) !important;
  color: #0a0612 !important;
  overflow: visible !important;
  isolation: isolate !important;
  box-shadow: 0 0 5px var(--neon-g1), inset 0 0 5px var(--neon-g3) !important;
  transition: box-shadow .3s ease, border-color .3s ease, transform .3s ease !important;
}

#js-book.cta-neon:hover,
#js-book.cta-neon:focus-visible {
  box-shadow: 0 0 8px var(--neon-g1h), inset 0 0 6px var(--neon-g3h) !important;
  transform: scale(1.01) !important;
}

#js-book.cta-neon > * {
  position: relative !important;
  z-index: 2 !important;
}

/* Per request: the badge must be pinned flush to the left wall
   while the label text stays centered in the full pill â€” those are
   two different alignment rules for two different elements, which
   plain flex justify-content can't express at once (it only
   controls the group as a whole). Fix: take the badge OUT of the
   flex flow entirely (position:absolute, vertically centered) so
   it's independent of alignment, pinned via `left` directly against
   the border's inner edge. With the badge no longer a flex
   participant, the button's justify-content:center (above) now
   centers the LABEL ALONE within the full button width â€” exactly
   the requested behavior. */
#js-book.cta-neon .cta-neon__badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  /* For an absolutely positioned child, the containing block is the
     PADDING box of the nearest positioned ancestor (per spec) â€” NOT
     the border box. That padding box already starts ~1.5px in from
     the true edge (this button's own border-width), so `left:0`
     alone still leaves a hair of a gap, and the previous `left:2px`
     added an extra 2px on top of that (~3.5px total) â€” visible as
     the persisting gap. Shifting left by the border-width itself
     lands the circle exactly on the border line, touching it with
     no gap at all. */
  left: -1.5px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  flex: none !important;
  width: var(--badge-d, 2.2em) !important;
  height: var(--badge-d, 2.2em) !important;
  min-width: 26px !important;
  min-height: 26px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  margin: 0 !important;
  border-radius: 50% !important;
  background: var(--neon) !important;
  background: radial-gradient(circle at 35% 28%, color-mix(in srgb, var(--neon) 65%, #fff 35%), var(--neon) 72%) !important;
  box-shadow: 0 0 6px var(--neon-g1h) !important;
}

#js-book.cta-neon .cta-neon__badge img {
  width: 58% !important;
  height: 58% !important;
  object-fit: contain !important;
}

#js-book.cta-neon .cta-neon__label {
  white-space: nowrap !important;
}

#js-book.cta-neon .cta-neon__beam {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: visible !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

#js-book.cta-neon .cta-neon__beam-rect {
  fill: none !important;
  stroke-linecap: butt !important;
  opacity: 0 !important;
  filter: drop-shadow(0 0 2px var(--neon)) !important;
  transition: opacity .3s ease !important;
}

#js-book.cta-neon:hover .cta-neon__beam-rect,
#js-book.cta-neon:focus-visible .cta-neon__beam-rect {
  opacity: 1 !important;
}

@media (prefers-reduced-motion: reduce) {
  #js-book.cta-neon:hover,
  #js-book.cta-neon:focus-visible {
    transform: none !important;
  }
  #js-book.cta-neon:hover .cta-neon__beam-rect,
  #js-book.cta-neon:focus-visible .cta-neon__beam-rect {
    opacity: 0 !important;
  }
}

/* ============================================================
   FINAL "LET'S CONNECT" (cta-warm__btn) â€” same hardening pattern.
   This one was assumed fine earlier (it renders reasonably on the
   surface), but it was never actually added to the reinforcement
   block, and it turns out to have the exact same two problems as
   the other buttons did:
   1) `.sec-cta .cta-warm__btn { justify-content: space-between
      !important }` â€” this button has a forced min-width (220-
      250px, wider than its natural content), so space-between
      shoves the badge and label apart with a large gap, unlike
      every other CTA's tight, consistent spacing.
   2) `.sec-cta .cta-warm__btn svg { width:18px; height:18px
      !important }` (2 classes + svg tag) has higher specificity
      than the generic .cta-neon__beam rule (1 class), so its beam
      SVG was ALSO being shrunk to an 18x18 square â€” the same bug
      already fixed for "Learn Our Approach".
   Background stays dark (unlike Book Session) since this button
   sits on the warm gold gradient band, which was already working
   visually â€” only alignment + beam sizing needed correcting. */
.sec-cta .cta-warm__btn.cta-neon,
.cta-warm__btn.cta-neon {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  border-radius: 999px !important;
  background: #0a0612 !important;
  border: 1.5px solid var(--neon) !important;
  color: #fff !important;
  overflow: visible !important;
  isolation: isolate !important;
  box-shadow:
    0 0 8px var(--neon-g1),
    0 0 18px var(--neon-g2),
    inset 0 0 8px var(--neon-g3) !important;
  transition: box-shadow .3s ease, border-color .3s ease, transform .3s ease !important;
}

.sec-cta .cta-warm__btn.cta-neon:hover,
.cta-warm__btn.cta-neon:hover,
.sec-cta .cta-warm__btn.cta-neon:focus-visible,
.cta-warm__btn.cta-neon:focus-visible {
  box-shadow:
    0 0 12px var(--neon-g1h),
    0 0 26px var(--neon-g2h),
    inset 0 0 10px var(--neon-g3h) !important;
  transform: scale(1.01) !important;
}

.sec-cta .cta-warm__btn.cta-neon > *,
.cta-warm__btn.cta-neon > * {
  position: relative !important;
  z-index: 2 !important;
}

.sec-cta .cta-warm__btn.cta-neon .cta-neon__badge,
.cta-warm__btn.cta-neon .cta-neon__badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  flex: 0 0 auto !important;
  width: var(--badge-d, 2.2em) !important;
  height: var(--badge-d, 2.2em) !important;
  min-width: 26px !important;
  min-height: 26px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  margin: var(--badge-my, 0) .65em var(--badge-my, 0) var(--badge-ml, -.3em) !important;
  border-radius: 50% !important;
  background: var(--neon) !important;
  background: radial-gradient(circle at 35% 28%, color-mix(in srgb, var(--neon) 65%, #fff 35%), var(--neon) 72%) !important;
  box-shadow: 0 0 8px var(--neon-g1h) !important;
}

.sec-cta .cta-warm__btn.cta-neon .cta-neon__badge img,
.cta-warm__btn.cta-neon .cta-neon__badge img {
  width: 58% !important;
  height: 58% !important;
  object-fit: contain !important;
}

.sec-cta .cta-warm__btn.cta-neon .cta-neon__label,
.cta-warm__btn.cta-neon .cta-neon__label {
  white-space: nowrap !important;
}

.sec-cta .cta-warm__btn.cta-neon .cta-neon__beam,
.cta-warm__btn.cta-neon .cta-neon__beam {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: visible !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.sec-cta .cta-warm__btn.cta-neon .cta-neon__beam-rect,
.cta-warm__btn.cta-neon .cta-neon__beam-rect {
  fill: none !important;
  stroke-linecap: butt !important;
  opacity: 0 !important;
  filter: drop-shadow(0 0 4px var(--neon)) !important;
  transition: opacity .3s ease !important;
}

.sec-cta .cta-warm__btn.cta-neon:hover .cta-neon__beam-rect,
.cta-warm__btn.cta-neon:hover .cta-neon__beam-rect,
.sec-cta .cta-warm__btn.cta-neon:focus-visible .cta-neon__beam-rect,
.cta-warm__btn.cta-neon:focus-visible .cta-neon__beam-rect {
  opacity: 1 !important;
}

@media (prefers-reduced-motion: reduce) {
  .sec-cta .cta-warm__btn.cta-neon:hover,
  .cta-warm__btn.cta-neon:hover,
  .sec-cta .cta-warm__btn.cta-neon:focus-visible,
  .cta-warm__btn.cta-neon:focus-visible {
    transform: none !important;
  }
  .sec-cta .cta-warm__btn.cta-neon:hover .cta-neon__beam-rect,
  .cta-warm__btn.cta-neon:hover .cta-neon__beam-rect,
  .sec-cta .cta-warm__btn.cta-neon:focus-visible .cta-neon__beam-rect,
  .cta-warm__btn.cta-neon:focus-visible .cta-neon__beam-rect {
    opacity: 0 !important;
  }
}

/* FINAL CTA TYPOGRAPHY â€” regular weight for every CTA label.
   Historical per-button rules across this file set font-weight to
   700/800/850/900 for nav__cta, nav__mobile-cta, btn-outline-white,
   btn-outline-gold, cal__cta, cta-warm__btn and btn-play at various
   breakpoints. .cta-neon is present on all 7 buttons, so this single
   rule reaches every one of them. The class is repeated to push
   specificity above any existing selector in this file (max found
   was 4 classes), and this block is last in source order so it also
   wins any specificity tie. */
.cta-neon.cta-neon.cta-neon.cta-neon,
.cta-neon.cta-neon.cta-neon.cta-neon .cta-neon__label {
  font-weight: 400 !important;
}

/* ============================================================
   FINAL COACHING SECTION REDESIGN â€” light "book a session" layout
   matching the reference mockup (soft gradient wash, left content
   stack: intro + meta row + focus cards + session timeline, right
   column: calendar + Book Session CTA (unchanged neon style, kept
   for site-wide consistency) + a new "this session is for you if"
   checklist card).

   #coaching (ID selector) is used throughout so this block beats
   every historical .sec-coaching rule anywhere else in this file,
   regardless of their specificity or source order. */

#coaching {
  position: relative !important;
  height: auto !important;
  min-height: 0 !important;
  padding-top: clamp(32px, 4.5vw, 56px) !important;
  padding-right: clamp(20px, 4vw, 56px) !important;
  padding-bottom: clamp(16px, 2.2vw, 26px) !important;
  padding-left: clamp(20px, 4vw, 56px) !important;
  background: linear-gradient(180deg, #07060D 0%, #0c0a17 50%, #07060D 100%) !important;
  border-radius: 28px 28px 0 0 !important;
  margin: clamp(24px, 4vw, 48px) 0 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  isolation: isolate !important;
}
/* FINAL â€” match the services section's left-to-right color wash so
   the booking section's background reads as the same family instead
   of a plain flat dark fade. Same masked ::before technique: color
   only appears in the middle band, fading out near the top/bottom
   edges so it doesn't create a seam against neighboring sections. */
#coaching::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, rgba(79, 125, 255, .18) 0%, rgba(124, 58, 237, .18) 50%, rgba(219, 39, 119, .15) 100%) !important;
  -webkit-mask-image: linear-gradient(180deg, transparent 0px, #000 2px, #000 100%) !important;
  mask-image: linear-gradient(180deg, transparent 0px, #000 2px, #000 100%) !important;
  pointer-events: none !important;
}

#coaching .coaching-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr) !important;
  gap: clamp(28px, 4vw, 56px) !important;
  height: auto !important;
  align-items: stretch !important;
}

#coaching .coaching-main {
  display: flex !important;
  flex-direction: column !important;
  gap: 26px !important;
}

#coaching .coaching-intro {
  display: block !important;
  grid-column: auto !important;
}

#coaching .coaching__label {
  display: block !important;
  grid-column: auto !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase !important;
  color: #d8a8ff !important;
  margin: 0 0 12px !important;
}

#coaching .coaching__h2 {
  display: block !important;
  grid-column: auto !important;
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: clamp(24px, 2.8vw, 36px) !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px !important;
  color: #fff !important;
  margin: 0 0 12px !important;
  max-width: 560px !important;
}

#coaching .coaching__desc {
  display: block !important;
  grid-column: auto !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, .68) !important;
  max-width: 480px !important;
  margin: 0 !important;
}

#coaching .coaching__meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px 22px !important;
  list-style: none !important;
  margin: 4px 0 0 !important;
  padding: 0 !important;
}
#coaching .coaching__meta li {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, .72) !important;
}
#coaching .coaching__meta svg {
  width: 16px !important;
  height: 16px !important;
  color: #a78bfa !important;
  flex: 0 0 16px !important;
}

#coaching .coaching__section-label {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase !important;
  color: #fff !important;
  margin: 6px 0 2px !important;
}

#coaching .audience-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  grid-column: auto !important;
  grid-row: auto !important;
  gap: 18px !important;
  list-style: none !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
}
#coaching .audience-cards > li { display: block !important; }

#coaching .aud-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 7px !important;
  height: auto !important;
  min-height: 0 !important;
  background: #03041D !important;
  border: 1px solid rgba(157, 129, 255, .28) !important;
  border-radius: 14px !important;
  padding: 14px 14px 12px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 12px 32px rgba(0, 0, 0, .3) !important;
  cursor: pointer !important;
  transition: border-color .2s, box-shadow .2s, transform .2s !important;
}
#coaching .aud-card:hover,
#coaching .aud-card:focus-visible {
  border-color: rgba(157, 129, 255, .5) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 16px 40px rgba(0, 0, 0, .4) !important;
  transform: translateY(-2px) !important;
}
#coaching .aud-card__ico {
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: rgba(109, 40, 217, .09) !important;
  color: #6d28d9 !important;
}
#coaching .aud-card__ico svg { width: 18px !important; height: 18px !important; }
#coaching .aud-card__name {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #fff !important;
}
#coaching .aud-card__desc {
  font-size: 11.5px !important;
  line-height: 1.55 !important;
  color: rgba(255, 255, 255, .66) !important;
  flex: 1 !important;
}
#coaching .aud-card__radio {
  width: 28px !important;
  height: 28px !important;
  margin: 0 !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255, 255, 255, .22) !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(255, 255, 255, .75) !important;
  transition: background .2s, border-color .2s, color .2s !important;
}
#coaching .aud-card__radio svg { width: 13px !important; height: 13px !important; }
#coaching .aud-card[aria-checked="true"] {
  border-color: #8B5CF6 !important;
  box-shadow: 0 8px 22px rgba(139, 92, 246, .3) !important;
}
#coaching .aud-card[aria-checked="true"] .aud-card__radio {
  background: #7C3AED !important;
  border-color: #7C3AED !important;
  color: #fff !important;
}

#coaching .coaching__timeline {
  display: flex !important;
  list-style: none !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  position: relative !important;
  gap: 4px !important;
}
#coaching .coaching__timeline::before {
  content: '' !important;
  position: absolute !important;
  top: 23px !important;
  left: 36px !important;
  right: 36px !important;
  height: 0 !important;
  border-top: 1.5px dotted rgba(255, 255, 255, .16) !important;
}
#coaching .coaching__timeline li {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 4px !important;
  position: relative !important;
  padding: 0 6px !important;
}
#coaching .ctime__ico {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: 1px solid rgba(20, 12, 40, .12) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #6d28d9 !important;
  box-shadow: 0 3px 10px rgba(30, 12, 60, .06) !important;
}
#coaching .ctime__ico svg { width: 17px !important; height: 17px !important; }
#coaching .ctime__num {
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  color: rgba(255, 255, 255, .4) !important;
  margin: 4px 0 0 !important;
}
#coaching .ctime__name {
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 !important;
}
#coaching .ctime__sub {
  font-size: 9.5px !important;
  line-height: 1.4 !important;
  color: rgba(255, 255, 255, .6) !important;
  margin: 0 !important;
  max-width: 108px !important;
}

#coaching .coaching-side {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}

/* Frosted glass, matching the site's established glass-card recipe
   (rgba(255,255,255,.06) + purple border) instead of a flat solid
   fill, per direct request. */
#coaching .calendar-widget {
  background: rgba(255, 255, 255, .06) !important;
  border: 1px solid rgba(157, 129, 255, .28) !important;
  border-left: 1px solid rgba(157, 129, 255, .28) !important;
  border-radius: 18px !important;
  padding: 22px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 18px 44px rgba(0, 0, 0, .35) !important;
}
/* .cal__body is a nested wrapper inside .calendar-widget that still
   carried its own old cream/white card background+border (from a
   much earlier light-theme pass, .sec-coaching .cal__body at ~line
   5383) -- that's what was rendering as a white box with the day
   numbers' white text invisible on top of it. Neutralize it so the
   glass background above shows through instead of a second, mismatched
   box nested inside the first. */
#coaching .cal__body {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
#coaching .cal__header { margin-bottom: 14px !important; }
#coaching .cal__title {
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase !important;
  color: #fff !important;
  margin: 0 !important;
}
#coaching .cal__nav {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 12px !important;
}
#coaching .cal__month {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #fff !important;
}
#coaching .cal__btn {
  width: 26px !important;
  height: 26px !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .04) !important;
  color: #fff !important;
}
#coaching .cal__btn:hover { background: rgba(124, 58, 237, .25) !important; }
#coaching .cal__grid { gap: 2px !important; }
#coaching .cal__day-name {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, .4) !important;
  padding-bottom: 6px !important;
}
#coaching .cal__date {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, .82) !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
}
#coaching .cal__date[aria-disabled="true"],
#coaching .cal__date.cal__date--disabled {
  opacity: .32 !important;
  pointer-events: none !important;
}
#coaching .cal__date:hover { background: rgba(124, 58, 237, .28) !important; }
#coaching .cal__date--today {
  background: #7C3AED !important;
  color: #fff !important;
  font-weight: 700 !important;
}
#coaching .cal__date--today:hover { background: #6d28d9 !important; }
#coaching .cal__footer {
  margin-top: 16px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(255, 255, 255, .1) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
}
#coaching .cal__cta { width: 100% !important; }
#coaching .cal__note {
  font-size: 13px !important;
  color: rgba(255, 255, 255, .5) !important;
  margin: 0 !important;
  text-align: center !important;
}

#coaching .coaching__checklist {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  flex: 1 !important;
  background: linear-gradient(160deg, rgba(124, 58, 237, .16), rgba(219, 39, 119, .1)) !important;
  border: 1px solid rgba(157, 129, 255, .28) !important;
  border-radius: 18px !important;
  padding: 24px 26px !important;
}
#coaching .coaching__checklist-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: #d8a8ff !important;
  margin: 0 0 16px !important;
}
#coaching .coaching__checklist ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}
#coaching .coaching__checklist li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 11px !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  color: rgba(255, 255, 255, .8) !important;
}
#coaching .coaching__checklist svg {
  width: 19px !important;
  height: 19px !important;
  flex: 0 0 19px !important;
  margin-top: 1px !important;
  color: #a78bfa !important;
}

@media (max-width: 960px) {
  #coaching .coaching-layout {
    grid-template-columns: 1fr !important;
  }
  #coaching .audience-cards {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 700px) {
  #coaching {
    border-radius: 20px !important;
    padding: 28px 18px !important;
  }
  #coaching .audience-cards {
    grid-template-columns: 1fr !important;
  }
  #coaching .coaching__timeline {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 18px !important;
  }
  #coaching .coaching__timeline::before {
    display: none !important;
  }
  #coaching .coaching__timeline li {
    flex-direction: row !important;
    text-align: left !important;
    gap: 12px !important;
    width: 100% !important;
  }
  #coaching .ctime__num { display: none !important; }
  #coaching .ctime__sub { max-width: none !important; }
}

/* FINAL BOOK SESSION CTA â€” white matte pill with black text, per
   direct request (the surrounding calendar card is now dark glass,
   so a solid black button on it read as almost invisible; flipping
   to a light pill gives it real contrast as the primary action). */
#js-book.cta-neon {
  background: rgba(245, 244, 248, .94) !important;
  border: 1.5px solid rgba(255, 255, 255, .9) !important;
  color: #0f0e18 !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .3) !important;
  padding: 18px 26px !important;
  min-height: 58px !important;
}
#js-book.cta-neon .cta-neon__label {
  color: #0f0e18 !important;
  font-size: 13px !important;
  letter-spacing: 2px !important;
}
#js-book.cta-neon:hover,
#js-book.cta-neon:focus-visible {
  background: #fff !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, .35) !important;
  transform: scale(1.025) !important;
}
#js-book.cta-neon .cta-neon__beam,
#js-book.cta-neon:hover .cta-neon__beam-rect,
#js-book.cta-neon:focus-visible .cta-neon__beam-rect {
  opacity: 0 !important;
}

/* FINAL FOCUS-ON CARD ICONS â€” user-supplied artwork (target rings /
   starburst / magnifying glass) replacing the inline SVG icons for
   the 3 "What We'll Focus On" cards. Used as-is, not redrawn. */
#coaching .aud-card__ico {
  background: transparent !important;
  padding: 0 !important;
}
#coaching .aud-card__ico svg { display: none !important; }
#coaching .coaching__word {
  background: linear-gradient(90deg, #6d28d9, #db2777) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

#coaching .aud-card__ico {
  width: 60px !important;
  height: 60px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
}
#coaching .audience-cards > li:nth-child(1) .aud-card__ico {
  background-image: url('assets/booking1-01.png') !important;
}
#coaching .audience-cards > li:nth-child(2) .aud-card__ico {
  background-image: url('assets/booking1-02.png') !important;
}
#coaching .audience-cards > li:nth-child(3) .aud-card__ico {
  background-image: url('assets/booking1-03.png') !important;
}

/* FINAL v4 â€” "HOW THE SESSION WORKS" TIMELINE ICONS. The uploaded
   artwork (booking 3-01..05.png) was a RASTER export (1467x1469px)
   despite looking like clean vector line-art â€” a raster file is
   always bound to its pixel grid, so once the browser scales it down
   into a ~46-54px badge it can look visibly softer than true vector
   line-art, no matter how high the source resolution is. Traced each
   PNG into a true vector .svg (assets/booking3-0N.svg) preserving the
   exact same artwork/colors, so the browser now renders crisp vector
   edges at any display size instead of downsampling a bitmap. */
#coaching .ctime__ico {
  width: 46px !important;
  height: 46px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
#coaching .ctime__ico svg { display: none !important; }
/* The icon artwork moved from .ctime__ico's own background to a
   ::after pseudo-element. Reason: a box's own background always
   paints FIRST within its stacking context, before any descendant â€”
   including a negative z-index pseudo-element. The frosted-glass
   layer added below is .ctime__ico::before at z-index:-1, which is
   meant to sit behind the icon, but with the icon as .ctime__ico's
   own background it was actually behind the icon already at the
   box level, so the glass pseudo (a descendant, painted after the
   box's own background regardless of its negative z-index) ended up
   rendering ON TOP of the icon artwork instead â€” the reported "glass
   circle needs to go behind the icons" bug. Moving the artwork onto
   ::after (a real descendant, z-index:1) puts it in its own paint
   step after ::before, so the stacking order becomes correct: glass
   (-1) behind, icon artwork (1) in front. */
#coaching .ctime__ico::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 50%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none;
}
#coaching .coaching__timeline li:nth-child(1) .ctime__ico::after {
  background-image: url('assets/booking3-01-fix.png?v=1') !important;
}
#coaching .coaching__timeline li:nth-child(2) .ctime__ico::after {
  background-image: url('assets/booking3-02.svg') !important;
}
#coaching .coaching__timeline li:nth-child(3) .ctime__ico::after {
  background-image: url('assets/booking3-03.svg') !important;
}
#coaching .coaching__timeline li:nth-child(4) .ctime__ico::after {
  background-image: url('assets/booking3-04-fix.png?v=1') !important;
}
#coaching .coaching__timeline li:nth-child(5) .ctime__ico::after {
  background-image: url('assets/booking3-05.svg') !important;
}

/* ============================================================
   FINAL CTA COLOR REFRESH â€” retiring the flat gold/purple neon
   colors. The site already has an established gradient identity
   used on bold accent text (hero word, services heading accent):
   --g-orange #F97316 -> --g-pink #DB2777 -> --g-purple #7C3AED.
   Applying that same combination here instead of inventing a new
   palette. Covers all CTAs except Book Session, which stays a
   plain black pill per an earlier explicit request. */
.cta-neon--gold,
.cta-neon--purple {
  --neon: #DB2777 !important;
  --neon-g1: rgba(219, 39, 119, .3) !important;
  --neon-g2: rgba(219, 39, 119, .16) !important;
  --neon-g3: rgba(219, 39, 119, .1) !important;
  --neon-g1h: rgba(236, 72, 153, .45) !important;
  --neon-g2h: rgba(236, 72, 153, .28) !important;
  --neon-g3h: rgba(236, 72, 153, .16) !important;
}

.cta-neon,
.btn-outline-white.cta-neon,
.btn-outline-gold.cta-neon,
.cal__cta.cta-neon,
.cta-warm__btn.cta-neon {
  background:
    linear-gradient(#0a0612, #0a0612) padding-box,
    linear-gradient(90deg, #F97316, #DB2777, #7C3AED) border-box !important;
  border: 1.5px solid transparent !important;
}

.cta-neon .cta-neon__badge,
.cta-neon .btn-play__ring,
.btn-outline-white.cta-neon .cta-neon__badge,
.btn-outline-gold.cta-neon .cta-neon__badge,
.cal__cta.cta-neon .cta-neon__badge,
.cta-warm__btn.cta-neon .cta-neon__badge {
  background: radial-gradient(circle at 32% 28%, #fdba74, #F97316 24%, #DB2777 60%, #7C3AED 100%) !important;
}

/* FINAL BOOK SESSION CTA â€” remove the palm badge circle entirely,
   per direct request; the button is now a plain black pill with
   just its label. */
#js-book.cta-neon .cta-neon__badge {
  display: none !important;
}

/* FINAL "EXPLORE OUR SERVICES" CTA â€” reversed treatment, per direct
   request: gradient FILL instead of gradient stroke/border, and a
   plain black circle badge instead of the gradient-filled badge
   used on the other CTAs. */
.btn-outline-white.cta-neon {
  background: linear-gradient(90deg, #F97316, #DB2777, #7C3AED) !important;
  border: 1.5px solid transparent !important;
}
.btn-outline-white.cta-neon .cta-neon__label {
  color: #fff !important;
}
.btn-outline-white.cta-neon .cta-neon__badge {
  background: rgba(255, 255, 255, .4) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}

/* Paint-wipe reveal: as the badge travels left -> right on hover, a
   wash of its own color (white, frosted, same tone as the badge)
   sweeps across the button behind it â€” like the circle is a brush
   dragging a new color across the pill. Synced to the exact same
   duration/easing as the badge's own "left" transition so they
   visibly move together. */
/* Rebuilt to animate its own width (anchored to the left edge)
   instead of an animated clip-path. A plain box resize always keeps
   correctly rounded corners for free (border-radius on a normal box
   is never "reinterpolated" the way an animated clip-path shape is),
   so this can never show a jagged/square corner or a ghosting
   artifact mid-travel the way the clip-path version could. */
.btn-outline-white.cta-neon::before {
  content: '' !important;
  position: absolute !important;
  top: -1.5px !important;
  bottom: -1.5px !important;
  left: -1.5px !important;
  width: 0 !important;
  border-radius: 999px !important;
  background: #0a0612 !important;
  transition: width .45s cubic-bezier(.4, 0, .2, 1) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
.btn-outline-white.cta-neon:hover::before,
.btn-outline-white.cta-neon:focus-visible::before {
  width: calc(100% + 3px) !important;
}

/* Hover: the black badge travels across and becomes flush with the
   RIGHT wall instead of sitting still on the left. Taking it out of
   flex flow (same technique already used for Book Session) so it
   can move independently of the label; padding-left reserves the
   same visual gap the badge occupied in flow, so the label doesn't
   jump when the badge is pulled out of flex. The -1.5px / +1.5px
   offsets cancel the border-width so the badge sits exactly on the
   pill's edge on both sides (containing block is the padding box,
   which is inset from the true border-box edge by the border
   width). */
.btn-outline-white.cta-neon {
  padding-left: calc(var(--badge-d, 2.2em) + 14px) !important;
}
.btn-outline-white.cta-neon .cta-neon__badge {
  position: absolute !important;
  top: 50% !important;
  left: -1.5px !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  flex: none !important;
  transition: left .45s cubic-bezier(.4, 0, .2, 1) !important;
}
.btn-outline-white.cta-neon:hover .cta-neon__badge,
.btn-outline-white.cta-neon:focus-visible .cta-neon__badge {
  left: calc(100% + 1.5px - var(--badge-d, 2.2em)) !important;
}

/* FINAL "HOW WE WORK" CTA â€” same badge-travel + paint-wipe mechanism
   as Explore Our Services (white, 40% opacity, frosted badge sliding
   left -> right on hover). The one difference: this button's fill
   starts black at rest, so the wipe it drags reveals the orange-
   pink-purple gradient instead of white â€” the CTA itself changes
   color from black to gradient as the badge passes over it. */
.btn-play.cta-neon {
  padding-left: calc(var(--badge-d, 2.2em) + 14px) !important;
}
.btn-play.cta-neon .cta-neon__badge {
  position: absolute !important;
  top: 50% !important;
  left: -1.5px !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  flex: none !important;
  background: radial-gradient(circle at 32% 28%, #fdba74, #F97316 24%, #DB2777 60%, #7C3AED 100%) !important;
  transition: left .45s cubic-bezier(.4, 0, .2, 1) !important;
}
.btn-play.cta-neon:hover .cta-neon__badge,
.btn-play.cta-neon:focus-visible .cta-neon__badge {
  left: calc(100% + 1.5px - var(--badge-d, 2.2em)) !important;
}
/* Rebuilt to animate width (left-anchored) instead of clip-path â€”
   see the matching note on .btn-outline-white.cta-neon::before just
   above for why: a resized plain box keeps correctly rounded corners
   automatically, with no risk of the jagged-corner/ghosting artifacts
   an animated clip-path shape could show mid-travel. */
.btn-play.cta-neon::before {
  content: '' !important;
  position: absolute !important;
  top: -1.5px !important;
  bottom: -1.5px !important;
  left: -1.5px !important;
  width: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #F97316, #DB2777, #7C3AED) !important;
  transition: width .45s cubic-bezier(.4, 0, .2, 1) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
.btn-play.cta-neon:hover::before,
.btn-play.cta-neon:focus-visible::before {
  width: calc(100% + 3px) !important;
}

/* FINAL â€” enlarge both traveling-badge CTAs (Explore Our Services,
   How We Work) so the badge has room to slide across without
   covering the label text; and fade the label to black on hover, in
   step with the badge/wipe transition, so the text stays readable
   whatever is now behind it (white wipe or gradient wipe). */
.btn-outline-white.cta-neon,
.btn-play.cta-neon {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
  padding-right: 56px !important;
}
.btn-outline-white.cta-neon .cta-neon__label,
.btn-play.cta-neon .cta-neon__label {
  transition: color .45s cubic-bezier(.4, 0, .2, 1) !important;
}

/* The top nav "Let's Connect" (desktop + mobile menu) padding is no
   longer set here â€” nav.css owns the CTA's full box model as a fixed,
   non-animated pill. See nav.css. */
.btn-play.cta-neon:hover .cta-neon__label,
.btn-play.cta-neon:focus-visible .cta-neon__label {
  color: #0a0612 !important;
  font-weight: 700 !important;
}
.btn-outline-white.cta-neon:hover .cta-neon__label,
.btn-outline-white.cta-neon:focus-visible .cta-neon__label {
  color: #fff !important;
  font-weight: 700 !important;
}

/* FINAL "LET'S CONNECT" (final section CTA) â€” reverted back to flat
   purple per direct request; this one button opts out of the
   orange-pink-purple gradient treatment applied to the rest. */
.cta-warm__btn.cta-neon {
  --neon: #7C3AED !important;
  --neon-g1: rgba(124, 58, 237, .35) !important;
  --neon-g2: rgba(124, 58, 237, .2) !important;
  --neon-g3: rgba(124, 58, 237, .12) !important;
  --neon-g1h: rgba(168, 85, 247, .5) !important;
  --neon-g2h: rgba(168, 85, 247, .32) !important;
  --neon-g3h: rgba(168, 85, 247, .18) !important;
  background: #0a0612 !important;
  border: 1.5px solid var(--neon) !important;
}
.cta-warm__btn.cta-neon .cta-neon__badge {
  background: var(--neon) !important;
  background: radial-gradient(circle at 35% 28%, color-mix(in srgb, var(--neon) 65%, #fff 35%), var(--neon) 72%) !important;
}

/* ============================================================
   FINAL HERO VIDEO â€” square video (960x960) placed on the right
   side of the hero, on top of the existing hero background image
   (left untouched, per request). A left-edge gradient mask on the
   frame itself blends its edge into the hero's own dark vignette
   color (#02050d) so the transition from text-side to video feels
   continuous rather than a hard cut. Experimental first pass. */
.hero {
  position: relative !important;
}
.hero__video-frame {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  width: auto !important;
  overflow: hidden !important;
  z-index: 2 !important;
}
.hero__video-frame video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.hero__video-frame::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg,
    #07060D 0%,
    rgba(7, 6, 13, .94) 8%,
    rgba(7, 6, 13, .82) 16%,
    rgba(7, 6, 13, .62) 26%,
    rgba(7, 6, 13, .42) 38%,
    rgba(7, 6, 13, .26) 50%,
    rgba(7, 6, 13, .14) 64%,
    rgba(7, 6, 13, .06) 78%,
    transparent 94%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

@media (max-width: 900px) {
  /* Was position:static, pushing the video into normal flow BELOW
     the hero text with its own margin/height â€” on top of .hero's
     own solid #000 background (see the "remove the old hero photo"
     rule further down) that left a dead black gap under the video
     wherever .hero's padding/min-height ran taller than the text.
     Make the video a true full-bleed background behind the text
     instead, matching how it already works on desktop. */
  .hero {
    min-height: 560px !important;
    height: auto !important;
    padding-top: 44px !important;
    padding-bottom: 40px !important;
  }
  .hero__video-frame {
    position: absolute !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    z-index: 0 !important;
  }
  .hero__video-frame::before {
    background: linear-gradient(180deg,
      rgba(7, 6, 13, .78) 0%,
      rgba(7, 6, 13, .5) 30%,
      rgba(7, 6, 13, .3) 55%,
      rgba(7, 6, 13, .5) 75%,
      rgba(7, 6, 13, .82) 100%) !important;
  }
}

/* FINAL â€” remove the old hero photo entirely now that the video
   covers that area. The .hero background is set via the `background`
   shorthand across ~8 different breakpoint rules throughout this
   file, each bundling its own gradient + the photo url(). Rather
   than edit all 8, overriding just the background-image longhand
   here drops the photo layer everywhere at once (a longhand set
   later always replaces the full value the shorthand assigned to
   it), leaving a clean dark backdrop with a soft purple glow. */
.hero {
  background-image: none !important;
  background-color: var(--bg-hero) !important;
}

/* FINAL â€” the "Let's Connect" CTA in the page-bottom section adopts
   the exact same mechanism as How We Work: black at rest, a gradient
   badge that travels left -> right on hover, and a gradient
   paint-wipe reveal. This also undoes the earlier flat-purple-only
   treatment given to the final section's Let's Connect, per this
   newer, broader consistency request. (The top-nav / mobile-nav
   Let's Connect CTAs are no longer styled here â€” that component now
   lives exclusively in nav.css, which owns its own static badge with
   no travel/wipe animation. See nav.css.) */
.cta-warm__btn.cta-neon {
  --neon: #DB2777 !important;
  --neon-g1: rgba(219, 39, 119, .3) !important;
  --neon-g2: rgba(219, 39, 119, .16) !important;
  --neon-g3: rgba(219, 39, 119, .1) !important;
  --neon-g1h: rgba(236, 72, 153, .45) !important;
  --neon-g2h: rgba(236, 72, 153, .28) !important;
  --neon-g3h: rgba(236, 72, 153, .16) !important;
  background: #0a0612 !important;
  border: 1.5px solid transparent !important;
  padding-left: calc(var(--badge-d, 2.2em) + 14px) !important;
}
.cta-warm__btn.cta-neon .cta-neon__badge {
  position: absolute !important;
  top: 50% !important;
  left: -1.5px !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  flex: none !important;
  background: radial-gradient(circle at 32% 28%, #fdba74, #F97316 24%, #DB2777 60%, #7C3AED 100%) !important;
  transition: left .45s cubic-bezier(.4, 0, .2, 1) !important;
}
/* The badge-travel + gradient-wipe below is a :hover effect, but
   touch devices don't have a real "hover" â€” a tap fires :hover and
   then leaves the button stuck showing it (classic mobile Safari/
   Chrome behavior) until the person taps elsewhere. That read as the
   button being broken/unresponsive on phones (badge stuck on the
   right, whole pill lit up, nothing seeming to happen on tap). Gating
   the animated part to "real hover" devices only (mouse, not touch)
   fixes this; :focus-visible is left ungated everywhere since it's
   keyboard-only and doesn't have this stuck-state problem. */
@media (hover: hover) and (pointer: fine) {
  .cta-warm__btn.cta-neon:hover .cta-neon__badge {
    left: calc(100% + 1.5px - var(--badge-d, 2.2em)) !important;
  }
}
.cta-warm__btn.cta-neon:focus-visible .cta-neon__badge {
  left: calc(100% + 1.5px - var(--badge-d, 2.2em)) !important;
}
/* Rebuilt to animate width (left-anchored) instead of clip-path â€” see
   the matching note on .btn-outline-white.cta-neon::before for why. */
.cta-warm__btn.cta-neon::before {
  content: '' !important;
  position: absolute !important;
  top: -1.5px !important;
  bottom: -1.5px !important;
  left: -1.5px !important;
  width: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #F97316, #DB2777, #7C3AED) !important;
  transition: width .45s cubic-bezier(.4, 0, .2, 1) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
@media (hover: hover) and (pointer: fine) {
  .cta-warm__btn.cta-neon:hover::before {
    width: calc(100% + 3px) !important;
  }
}
.cta-warm__btn.cta-neon:focus-visible::before {
  width: calc(100% + 3px) !important;
}
/* Touch devices get a quick, self-resetting tap press instead of a
   state that can get stuck. */
@media (hover: none), (pointer: coarse) {
  .cta-warm__btn.cta-neon:active {
    opacity: .88 !important;
  }
}

/* FINAL â€” APPROACH TIMELINE AUTO-CYCLE. Mirrors the exact "lit" look
   already defined for :hover, but driven by a JS-toggled class
   (.tstep--auto-active) instead, so the steps light up one at a
   time on their own, continuously, without needing the mouse. See
   the auto-cycle IIFE in script.js. */
.sec-approach .tstep--auto-active .tstep__circle {
  transform: scale(1.16) translateY(-3px) translateZ(0) !important;
  background: radial-gradient(circle at 35% 25%, rgba(255, 255, 255, .28), rgba(255, 255, 255, .06) 35%, #06101b 72%) !important;
  filter: brightness(1.35) saturate(1.35) !important;
}
.sec-approach .tstep--1.tstep--auto-active .tstep__circle { box-shadow: 0 0 0 1px rgba(139, 92, 246, .75), 0 0 18px rgba(139, 92, 246, .65), 0 0 42px rgba(139, 92, 246, .35) !important; }
.sec-approach .tstep--2.tstep--auto-active .tstep__circle { box-shadow: 0 0 0 1px rgba(47, 125, 255, .75), 0 0 18px rgba(47, 125, 255, .65), 0 0 42px rgba(47, 125, 255, .35) !important; }
.sec-approach .tstep--3.tstep--auto-active .tstep__circle { box-shadow: 0 0 0 1px rgba(32, 201, 151, .75), 0 0 18px rgba(32, 201, 151, .62), 0 0 42px rgba(32, 201, 151, .32) !important; }
.sec-approach .tstep--4.tstep--auto-active .tstep__circle { box-shadow: 0 0 0 1px rgba(247, 201, 72, .8), 0 0 18px rgba(247, 201, 72, .66), 0 0 42px rgba(247, 201, 72, .34) !important; }
.sec-approach .tstep--5.tstep--auto-active .tstep__circle { box-shadow: 0 0 0 1px rgba(255, 79, 163, .78), 0 0 18px rgba(255, 79, 163, .66), 0 0 42px rgba(255, 79, 163, .35) !important; }
.sec-approach .tstep--6.tstep--auto-active .tstep__circle { box-shadow: 0 0 0 1px rgba(139, 92, 246, .75), 0 0 18px rgba(139, 92, 246, .65), 0 0 42px rgba(139, 92, 246, .35) !important; }
.sec-approach .tstep--auto-active .tstep__name {
  color: #ffffff !important;
  text-shadow: 0 0 18px rgba(255, 255, 255, .18) !important;
}
.sec-approach .tstep--auto-active .tstep__sub {
  color: rgba(255, 255, 255, .94) !important;
}

/* FINAL â€” Book Session: taller, and flush with the calendar's own
   left/right edges (same width as the header/date-grid above it,
   inside the calendar card's padding, with zero extra margin of its
   own that could inset it further). */
#js-book.cta-neon {
  width: 100% !important;
  margin: 0 !important;
  padding-top: 22px !important;
  padding-bottom: 22px !important;
  min-height: 66px !important;
}
#coaching .cal__footer {
  align-items: stretch !important;
}

/* FINAL â€” "Let's Connect" (final section) reverted to purple, per
   direct request: keeps the exact same badge-travel + paint-wipe
   mechanism as How We Work (flush-left at rest, slides to flush-
   right on hover), just recolored from the orange-pink-purple
   gradient to a purple-only wash/badge. Also enlarged (taller +
   more right-side room) so the traveling badge clears the label. */
.cta-warm__btn.cta-neon {
  --neon: #7C3AED !important;
  --neon-g1: rgba(124, 58, 237, .35) !important;
  --neon-g2: rgba(124, 58, 237, .2) !important;
  --neon-g3: rgba(124, 58, 237, .12) !important;
  --neon-g1h: rgba(168, 85, 247, .5) !important;
  --neon-g2h: rgba(168, 85, 247, .32) !important;
  --neon-g3h: rgba(168, 85, 247, .18) !important;
  padding-top: 15px !important;
  padding-bottom: 15px !important;
  padding-right: 56px !important;
}
.cta-warm__btn.cta-neon .cta-neon__badge {
  background: radial-gradient(circle at 32% 28%, #c4b5fd, #a855f7 30%, #7C3AED 75%, #5b21b6 100%) !important;
}
.cta-warm__btn.cta-neon::before {
  background: linear-gradient(90deg, #5b21b6, #7C3AED, #a855f7) !important;
}
.cta-warm__btn.cta-neon .cta-neon__label {
  transition: color .45s cubic-bezier(.4, 0, .2, 1) !important;
}
.cta-warm__btn.cta-neon:hover .cta-neon__label,
.cta-warm__btn.cta-neon:focus-visible .cta-neon__label {
  color: #fff !important;
  font-weight: 700 !important;
}

/* FINAL â€” "Schedule Your Session" recolored to match the NAV "Let's
   Connect" CTA (gold border-glow + orangeâ†’pinkâ†’purple gradient
   badge), per direct request. This deliberately does NOT touch the
   bottom-of-page ".sec-cta" "Let's Connect" button just above â€” that
   one shares the same .cta-warm__btn.cta-neon base classes but was
   purposefully kept purple per an earlier, separate direct request
   (see the comment above). Scoping to .schedule-card__btn specifically
   (same specificity as the purple rules above, but later in source,
   so it wins only for this one button) keeps that distinction intact. */
.schedule-card__btn.cta-neon {
  --neon: #C8A84B !important;
  --neon-g1: rgba(200, 168, 75, .3) !important;
  --neon-g2: rgba(200, 168, 75, .16) !important;
  --neon-g3: rgba(200, 168, 75, .1) !important;
  --neon-g1h: rgba(223, 192, 110, .45) !important;
  --neon-g2h: rgba(223, 192, 110, .28) !important;
  --neon-g3h: rgba(223, 192, 110, .16) !important;
}
.schedule-card__btn.cta-neon .cta-neon__badge {
  background: radial-gradient(circle at 32% 28%, #fdba74, #F97316 24%, #DB2777 60%, #7C3AED 100%) !important;
}
.schedule-card__btn.cta-neon::before {
  background: linear-gradient(90deg, #F97316, #DB2777, #7C3AED) !important;
}

/* ============================================================
   FINAL â€” BULLETPROOF BADGE-TRAVEL FIX (all 5 traveling CTAs).

   Root cause of "the badge stops short / floats away from the
   button, overlapping other page text": this stylesheet has a very
   long edit history, and somewhere upstream something is preventing
   each button from reliably being its own positioning container.
   When an absolutely-positioned child's nearest ancestor isn't
   actually positioned, the browser walks UP the tree to the next
   one that is â€” for these buttons that turned out to be a much
   bigger, differently-sized ancestor (the whole text+button row),
   so "left" percentages were being measured against the WRONG box
   entirely. That also meant the old hover formula
   `left: calc(100% - var(--badge-d))` was measuring "100%" of the
   wrong element's width on top of depending on --badge-d being
   numerically exact.

   Fix, in two parts:
   1) Re-assert `position: relative` on the button itself at maximum
      selector specificity (class repeated 4x) so nothing earlier in
      the file can contest it â€” the button is now guaranteed to be
      the badge's containing block.
   2) Replace the hover math so it no longer needs to know the
      badge's exact diameter at all: `left: 100%` anchors the
      badge's left edge to the button's right wall, and
      `translateX(-100%)` (a transform percentage, which is always
      relative to the badge's OWN rendered size, whatever that
      actually is) pulls it back by exactly its own width â€” landing
      it flush on the right, correctly, regardless of what
      --badge-d resolves to. +1.5px mirrors the -1.5px used at rest
      to cancel the border width on both sides. */
/* nav__cta / nav__mobile-cta removed from this system entirely â€”
   their badge is now a fixed, non-traveling circle owned solely by
   nav.css. Only the other 3 buttons that still use the classic
   hover-travel badge remain here. */
.btn-outline-white.cta-neon.cta-neon.cta-neon,
.btn-play.cta-neon.cta-neon.cta-neon,
.cta-warm__btn.cta-neon.cta-neon.cta-neon {
  position: relative !important;
}

.btn-outline-white.cta-neon.cta-neon.cta-neon .cta-neon__badge,
.btn-play.cta-neon.cta-neon.cta-neon .cta-neon__badge,
.cta-warm__btn.cta-neon.cta-neon.cta-neon .cta-neon__badge {
  position: absolute !important;
  top: 50% !important;
  left: -1.5px !important;
  margin: 0 !important;
  flex: none !important;
  transform: translateY(-50%) translateX(0) !important;
  transition:
    left .45s cubic-bezier(.4, 0, .2, 1),
    transform .45s cubic-bezier(.4, 0, .2, 1) !important;
}

/* cta-warm__btn's :hover portion is gated to real-hover devices
   only â€” see the touch "stuck hover" note near its base rule.
   btn-outline-white and btn-play aren't part of that report, so
   their :hover stays ungated here. */
.btn-outline-white.cta-neon.cta-neon.cta-neon:hover .cta-neon__badge,
.btn-play.cta-neon.cta-neon.cta-neon:hover .cta-neon__badge {
  left: 100% !important;
  transform: translateY(-50%) translateX(calc(-100% + 1.5px)) !important;
}
@media (hover: hover) and (pointer: fine) {
  .cta-warm__btn.cta-neon.cta-neon.cta-neon:hover .cta-neon__badge {
    left: 100% !important;
    transform: translateY(-50%) translateX(calc(-100% + 1.5px)) !important;
  }
}
.btn-outline-white.cta-neon.cta-neon.cta-neon:focus-visible .cta-neon__badge,
.btn-play.cta-neon.cta-neon.cta-neon:focus-visible .cta-neon__badge,
.cta-warm__btn.cta-neon.cta-neon.cta-neon:focus-visible .cta-neon__badge {
  left: 100% !important;
  transform: translateY(-50%) translateX(calc(-100% + 1.5px)) !important;
}

/* FINAL â€” "Explore Our Services" badge: white stroke ring around the
   circle at rest, and once it finishes traveling to the right wall
   on hover, its fill switches from frosted white to the same orange-
   pink-purple gradient used everywhere else on the site. */
.btn-outline-white.cta-neon .cta-neon__badge {
  border: 1.5px solid rgba(255, 255, 255, .85) !important;
}
.btn-outline-white.cta-neon:hover .cta-neon__badge,
.btn-outline-white.cta-neon:focus-visible .cta-neon__badge {
  background: radial-gradient(circle at 32% 28%, #fdba74, #F97316 24%, #DB2777 60%, #7C3AED 100%) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-color: rgba(255, 255, 255, .5) !important;
}

/* FINAL v2 â€” service card hover-video icons (cards 1-4: Experience
   Strategy, Creative Direction, SEO & GEO Growth, AI & Digital
   Innovation): the video IS the icon now (no more static <img>, no
   more swapping between two elements â€” that swap was what caused
   the visible size-jump on hover). Each sits paused on its first
   frame at rest (looks like a normal static icon) and only starts
   playing while hovered; script.js handles the actual play()/
   pause(). Same box sizing rule as every other card's icon image,
   so these line up with card 5's icon (still a static image). */
.sec-services .services-grid .svc-card.svc-card:nth-child(1) .svc-icon .svc-icon__video,
.sec-services .services-grid .svc-card.svc-card:nth-child(2) .svc-icon .svc-icon__video,
.sec-services .services-grid .svc-card.svc-card:nth-child(3) .svc-icon .svc-icon__video,
.sec-services .services-grid .svc-card.svc-card:nth-child(4) .svc-icon .svc-icon__video,
.sec-services .services-grid .svc-card.svc-card:nth-child(5) .svc-icon .svc-icon__video {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}

/* FINAL â€” these 4 video icons read ~20% smaller than intended (the
   source clips are full-bleed line art with no internal padding, so
   at the same box size they look lighter/smaller than the old flat
   PNG icons). Scale the icon box itself up 20% so the enlargement
   also applies correctly to the existing hover shrink+lift animation
   (rest scale 1 -> 1.2, hover scale 0.72 -> 0.864, same ratio). */
.sec-services .services-grid .svc-card.svc-card:nth-child(1) .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(2) .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(3) .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(4) .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(5) .svc-icon {
  /* Superseded by FIX v3 below: the icon box is now sized to exactly
     match the card's content box (100% width, 0 margin), so the old
     "left:50% + translateX(-50%)" centering trick is not just
     unnecessary but actively wrong â€” on a 100%-wide box it shifts the
     whole element half the card's width to the LEFT, which is exactly
     the "video is outside the card" bug. Neutralized to no transform. */
  transform: none !important;
}
.sec-services .services-grid .svc-card.svc-card:nth-child(1):hover .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(1):focus-visible .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(1).is-hovering .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(1).is-tilting .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(2):hover .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(2):focus-visible .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(2).is-hovering .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(2).is-tilting .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(3):hover .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(3):focus-visible .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(3).is-hovering .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(3).is-tilting .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(4):hover .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(4):focus-visible .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(4).is-hovering .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(4).is-tilting .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(5):hover .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(5):focus-visible .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(5).is-hovering .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(5).is-tilting .svc-icon {
  transform: none !important;
}

@media (max-width: 899px), (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  .sec-services .services-grid .svc-card.svc-card:nth-child(1) .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(1):hover .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(1):focus-visible .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(1).is-hovering .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(1).is-tilting .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(2) .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(2):hover .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(2):focus-visible .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(2).is-hovering .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(2).is-tilting .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(3) .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(3):hover .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(3):focus-visible .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(3).is-hovering .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(3).is-tilting .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(4) .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(4):hover .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(4):focus-visible .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(4).is-hovering .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(4).is-tilting .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(5) .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(5):hover .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(5):focus-visible .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(5).is-hovering .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(5).is-tilting .svc-icon {
    transform: none !important;
  }
}

/* FINAL â€” Book Session: robust re-assert that the button spans the
   exact same left/right edges as the calendar above it (belt-and-
   braces re-declaration in case anything upstream still constrains
   its width), plus swap the hover feedback from a soft blurred glow
   (read as "foggy") to a crisp lift + directional shadow, so it
   visibly pops off the card instead of just hazing outward. */
#coaching .cal__footer {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
}
#js-book.cta-neon {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  transition: transform .25s cubic-bezier(.2, .8, .2, 1), box-shadow .25s cubic-bezier(.2, .8, .2, 1) !important;
}
#js-book.cta-neon:hover,
#js-book.cta-neon:focus-visible {
  transform: translateY(-5px) scale(1.015) !important;
  box-shadow:
    0 16px 24px -10px rgba(14, 12, 20, .55),
    0 6px 10px -2px rgba(14, 12, 20, .35) !important;
}

/* FINAL â€” kill any leftover forced height on the calendar widget
   (an earlier layout pass used an internal 3-row grid with a fixed-
   height middle row for the date grid; if any part of that is still
   in effect it leaves visible dead space inside the card before the
   next card below it). The widget's height is now purely content-
   driven end to end: header, then the date grid, then the footer â€”
   nothing forced taller than it needs to be. */
#coaching .calendar-widget {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 0 !important;
}
#coaching .cal__body {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
}

/* FINAL â€” real root cause of the huge blank gap at the bottom of the
   whole coaching card: several old rules from an earlier grid-based
   layout (.sec-coaching .audience-cards { height: 260px / 288px /
   340px !important }, scattered across multiple past redesign
   passes) were never actually overridden â€” the current #coaching-
   scoped redesign block sets display/columns/gap on .audience-cards
   but never touches its height, so those old fixed pixel heights
   were still winning (class selectors don't need to beat an ID rule
   that simply never mentions the property). Since .audience-cards
   and its wrapper are plain transparent layout boxes (no card
   background of their own), that forced extra height was invisible
   empty space, not a visible box â€” reading as "empty space at the
   bottom" once it pushed the whole section's auto-height taller
   than its actual visible content. Re-asserted at ID specificity so
   nothing upstream can reintroduce it. */
#coaching .audience-cards {
  height: auto !important;
  min-height: 0 !important;
}
#coaching .coaching-main,
#coaching .coaching__how {
  height: auto !important;
  min-height: 0 !important;
}
#coaching .coaching-side,
#coaching .coaching__checklist {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

/* FINAL v2 â€” bottom-align the two columns again now that the real
   root cause of the old empty-space bug (a stale grid-template-rows:
   auto 260px auto reserving a fixed empty row) is fixed below via
   grid-template-rows:auto. That means align-items:stretch is safe
   again: the right column's checklist card already has flex:1 inside
   its flex-column parent (.coaching-side), so when the grid stretches
   it taller to match the left column, the card's own background
   grows to fill that space (centering its items) instead of leaving
   dead air â€” the timeline and the checklist now end at the same
   baseline. */
#coaching .coaching-layout {
  align-items: stretch !important;
  grid-template-rows: auto !important;
}

/* FINAL â€” the whole coaching section reads as a separate floating
   rounded card (margin above/below, radius on all 4 corners), unlike
   every other section on the page (services, approach, why, cta),
   which are all flush, full-bleed, edge-to-edge. Matching that here:
   no side/vertical margin, no corner radius, so it sits flush against
   the sections directly above and below it and reaches the true
   left/right edges of the page like they do. */
#coaching {
  margin: 0 !important;
  border-radius: 0 !important;
  padding-bottom: clamp(32px, 4vw, 52px) !important;
}

/* FINAL â€” "What We'll Focus On" cards: equalize height + enlarge
   text. The grid (.audience-cards) already stretches its 3 <li>
   grid items to equal height by default, but .aud-card itself (the
   actual visible card box, one level down inside each <li>) had
   height:auto with no height:100%, so it only ever grew to fit its
   OWN text â€” different description lengths meant different card
   heights despite the equal-height grid row underneath. Filling the
   full 100% now makes all 3 literally the same height regardless of
   copy length; .aud-card__desc's existing flex:1 does the rest,
   pushing the arrow icon down to the same spot on every card. */
#coaching .aud-card {
  height: 100% !important;
  min-height: 225px !important;
  padding: 20px 16px 18px !important;
}
#coaching .aud-card__name {
  font-size: 17px !important;
}
#coaching .aud-card__desc {
  font-size: 13.5px !important;
  line-height: 1.5 !important;
}
#coaching .aud-card__radio {
  margin-top: 18px !important;
}

/* FINAL â€” "How The Session Works" timeline: everything (icon badge,
   step number, title, description) was noticeably smaller here than
   the rest of the page's type scale. Enlarging all of it, and giving
   the timeline more breathing room to match. */
#coaching .coaching__timeline {
  margin-top: 18px !important;
  gap: 8px !important;
}
#coaching .coaching__timeline::before {
  top: 34px !important;
}
#coaching .coaching__timeline li {
  gap: 10px !important;
}
#coaching .ctime__ico {
  width: 54px !important;
  height: 54px !important;
  box-shadow: 0 4px 14px rgba(30, 12, 60, .09) !important;
}
#coaching .ctime__num {
  font-size: 12.5px !important;
  margin: 8px 0 0 !important;
}
#coaching .ctime__name {
  font-size: 12.8px !important;
}
#coaching .ctime__sub {
  font-size: 12.5px !important;
  line-height: 1.5 !important;
  max-width: 140px !important;
}

/* Per-step glow halo around each icon badge, matching the color
   language already used for the Approach section's timeline
   (violet / blue / teal / gold / pink). Icons are the user's own
   colored PNG artwork on a transparent background, so the glow is
   layered purely via box-shadow â€” the artwork itself is untouched.
   Rest state gets a soft, subtle version of each color; the
   auto-active state (below, driven by script.js) blooms brighter,
   mirroring .tstep--auto-active exactly. */
#coaching .coaching__timeline li:nth-child(1) .ctime__ico { box-shadow: 0 0 0 1px rgba(139, 92, 246, .28), 0 0 16px rgba(139, 92, 246, .22), 0 4px 14px rgba(30, 12, 60, .09) !important; }
#coaching .coaching__timeline li:nth-child(2) .ctime__ico { box-shadow: 0 0 0 1px rgba(47, 125, 255, .28), 0 0 16px rgba(47, 125, 255, .22), 0 4px 14px rgba(30, 12, 60, .09) !important; }
#coaching .coaching__timeline li:nth-child(3) .ctime__ico { box-shadow: 0 0 0 1px rgba(32, 201, 151, .28), 0 0 16px rgba(32, 201, 151, .22), 0 4px 14px rgba(30, 12, 60, .09) !important; }
#coaching .coaching__timeline li:nth-child(4) .ctime__ico { box-shadow: 0 0 0 1px rgba(247, 201, 72, .3), 0 0 16px rgba(247, 201, 72, .22), 0 4px 14px rgba(30, 12, 60, .09) !important; }
#coaching .coaching__timeline li:nth-child(5) .ctime__ico { box-shadow: 0 0 0 1px rgba(255, 79, 163, .3), 0 0 16px rgba(255, 79, 163, .22), 0 4px 14px rgba(30, 12, 60, .09) !important; }

#coaching .coaching__timeline li.is-ctime-active .ctime__ico {
  transform: scale(1.1) !important;
  transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s cubic-bezier(.2, .8, .2, 1) !important;
}
#coaching .coaching__timeline li .ctime__ico {
  transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s cubic-bezier(.2, .8, .2, 1) !important;
}
#coaching .coaching__timeline li:nth-child(1).is-ctime-active .ctime__ico { box-shadow: 0 0 0 1px rgba(139, 92, 246, .8), 0 0 20px rgba(139, 92, 246, .68), 0 0 46px rgba(139, 92, 246, .38) !important; }
#coaching .coaching__timeline li:nth-child(2).is-ctime-active .ctime__ico { box-shadow: 0 0 0 1px rgba(47, 125, 255, .8), 0 0 20px rgba(47, 125, 255, .68), 0 0 46px rgba(47, 125, 255, .38) !important; }
#coaching .coaching__timeline li:nth-child(3).is-ctime-active .ctime__ico { box-shadow: 0 0 0 1px rgba(32, 201, 151, .8), 0 0 20px rgba(32, 201, 151, .65), 0 0 46px rgba(32, 201, 151, .35) !important; }
#coaching .coaching__timeline li:nth-child(4).is-ctime-active .ctime__ico { box-shadow: 0 0 0 1px rgba(247, 201, 72, .82), 0 0 20px rgba(247, 201, 72, .68), 0 0 46px rgba(247, 201, 72, .36) !important; }
#coaching .coaching__timeline li:nth-child(5).is-ctime-active .ctime__ico { box-shadow: 0 0 0 1px rgba(255, 79, 163, .8), 0 0 20px rgba(255, 79, 163, .68), 0 0 46px rgba(255, 79, 163, .38) !important; }
#coaching .coaching__timeline li.is-ctime-active .ctime__name {
  color: #fff !important;
  text-shadow: 0 0 18px rgba(255, 255, 255, .18) !important;
}

@media (max-width: 700px) {
  #coaching .ctime__ico {
    width: 45px !important;
    height: 45px !important;
  }
  #coaching .ctime__name {
    font-size: 12px !important;
  }
  #coaching .ctime__sub {
    font-size: 12px !important;
    max-width: none !important;
  }
  /* The unconditional "enlarge" pass above sets gap:8px for the
     desktop row layout, but that same value carries into the
     stacked mobile layout (flex-direction:column, set further up in
     the file at this same breakpoint) â€” 8px between full-width rows
     that each carry a 45px icon + multi-line description reads as
     cramped/overlapping. Give the stacked steps real breathing room. */
  #coaching .coaching__timeline {
    gap: 24px !important;
  }
  #coaching .coaching__timeline li {
    gap: 14px !important;
  }
}

/* FINAL â€” "Why E4LA" heading: remove the small stray accent rule
   that sat under "Your strategic partner." (it read as a random,
   out-of-place underline), and give "strategic partner" the site's
   signature orangeâ†’pinkâ†’purple gradient treatment instead, matching
   the accent already used on the hero's scrambling word. */
.why__rule {
  display: none !important;
}
.why__h2.section-heading .grad-text {
  background: linear-gradient(95deg, var(--g-orange) 0%, var(--g-pink) 48%, var(--g-purple) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  display: inline-block !important;
}

/* FINAL â€” real E4LA wordmark (assets/e4la-logo-palm.png, background
   already removed) replacing the old cropped-photo placeholder in
   both the header and footer. The previous rules used object-fit:
   cover + a heavy scale() because they were zooming into a cropped
   corner of a wide photo to fake a logo chip â€” wrong approach for an
   actual logotype, which needs to be shown in FULL and undistorted.
   Switching to object-fit:contain and dropping the crop/zoom/rounded
   chip treatment entirely so the real logo just sits cleanly on the
   nav/footer's own dark background. */
.nav__logo,
.footer__brand-logo {
  border-radius: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}
.nav__logo {
  width: 150px !important;
  height: 46px !important;
}
.footer__brand-logo {
  width: 140px !important;
  height: 50px !important;
}
.nav__logo .brand-asset,
.footer__brand-logo .brand-asset {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}
@media (max-width: 780px) {
  .nav__logo {
    width: 120px !important;
    height: 40px !important;
  }
  .footer__brand-logo {
    width: 120px !important;
    height: 44px !important;
  }
}

/* FINAL v3 â€” BOOK SESSION hover, take 3. Dropping the translateY
   lift entirely (it read as the whole button shifting upward,
   changing its position) in favor of a scale-only "pop toward the
   viewer" â€” same spot, just bigger â€” plus a tighter, closer, more
   defined shadow instead of a large soft blur radius (which is what
   was reading as "foggy": a big diffuse blur haze rather than a
   crisp elevation edge). Re-declared at doubled class specificity so
   this is guaranteed to beat the earlier shared .cal__cta.cta-neon
   :hover glow rule for every button also carrying the cal__cta
   class. */
#js-book.cta-neon.cta-neon:hover,
#js-book.cta-neon.cta-neon:focus-visible {
  transform: scale(1.035) !important;
  box-shadow:
    0 6px 10px -4px rgba(14, 12, 20, .55),
    0 2px 4px -1px rgba(14, 12, 20, .4) !important;
}

/* FINAL v2 â€” SERVICES CARDS: ONE continuous gradient border across
   the whole row, not five independent copies of the same gradient.
   Each card is a transparent-bordered window (border-box layer) onto
   ONE shared orangeâ†’pinkâ†’purple gradient stretched to 5x the row
   width (background-size:500%), with each card's background-position
   shifted by exactly one card-width (0/25/50/75/100%) so the color
   a card shows picks up exactly where its neighbor left off â€” like
   cutting one continuous ribbon into 5 pieces. Full-strength colors,
   no white/opacity mixed into the gradient layer itself (the frosted
   glass fill is a SEPARATE background layer in the padding-box, so
   it never dilutes the border color). */
.sec-services .svc-card.svc-card {
  border: 2.5px solid transparent !important;
  background-image:
    linear-gradient(rgba(255, 255, 255, .6), rgba(255, 255, 255, .6)),
    linear-gradient(90deg, var(--g-orange), var(--g-pink) 50%, var(--g-purple)) !important;
  background-origin: padding-box, border-box !important;
  background-clip: padding-box, border-box !important;
  background-repeat: no-repeat, no-repeat !important;
  background-size: 100% 100%, 500% 100% !important;
}
.sec-services .services-grid .svc-card.svc-card:nth-child(1) { background-position: 0% 0 !important; }
.sec-services .services-grid .svc-card.svc-card:nth-child(2) { background-position: 25% 0 !important; }
.sec-services .services-grid .svc-card.svc-card:nth-child(3) { background-position: 50% 0 !important; }
.sec-services .services-grid .svc-card.svc-card:nth-child(4) { background-position: 75% 0 !important; }
.sec-services .services-grid .svc-card.svc-card:nth-child(5) { background-position: 100% 0 !important; }

.sec-services .svc-card.svc-card:hover,
.sec-services .svc-card.svc-card:focus-visible,
.sec-services .svc-card.svc-card.is-active {
  border: 2.5px solid transparent !important;
  background-image:
    linear-gradient(rgba(255, 255, 255, .74), rgba(255, 255, 255, .74)),
    linear-gradient(90deg, var(--g-orange), var(--g-pink) 50%, var(--g-purple)) !important;
}

/* FINAL v3 â€” full-strength vivid fill, matching the user's reference
   swatch (deep indigo â†’ violet â†’ magenta â†’ orange, same intensity as
   the site's CTA gradient) instead of the previous pastel/white-
   diluted wash. The white overlay layer is gone entirely â€” the
   gradient itself is now the whole card's background, border
   included, so there's nothing left to mute it. Title/description
   flip to white/near-white for contrast against the now-saturated
   background; the arrow circle becomes an outlined white ring to
   match. Card icons are transparent-background videos with their own
   baked-in line colors, so they're left as-is (can't be recolored
   via CSS) â€” flag if any specific icon reads poorly against its
   card's segment of the gradient and it can be addressed directly. */
.sec-services .svc-card.svc-card {
  border: 0 !important;
  background-image:
    linear-gradient(90deg, #2b2170 0%, var(--g-purple) 30%, var(--g-pink) 62%, var(--g-orange) 100%) !important;
  background-origin: border-box !important;
  background-clip: border-box !important;
  background-repeat: no-repeat !important;
  background-size: 500% 100% !important;
  box-shadow: 0 20px 50px rgba(75, 58, 110, .28) !important;
}
.sec-services .svc-card.svc-card:hover,
.sec-services .svc-card.svc-card:focus-visible,
.sec-services .svc-card.svc-card.is-active {
  border: 0 !important;
  box-shadow: 0 28px 70px rgba(75, 58, 110, .4) !important;
}

/* Belt-and-suspenders: explicitly re-assert the exact same gradient
   (not just leave it to inherit) on hover/active/focus at bumped-up
   specificity, in case any older hover rule elsewhere in this very
   long file (e.g. a leftover "background: rgba(255,255,255,.68)"
   glass-hover treatment from an earlier redesign pass) is still
   winning the cascade for the `background` property specifically.
   This guarantees the card reads as the exact same solid color
   before, during, and after hover â€” nothing lightens or fades. */
.sec-services .services-grid .svc-card.svc-card.svc-card:hover,
.sec-services .services-grid .svc-card.svc-card.svc-card:focus-visible,
.sec-services .services-grid .svc-card.svc-card.svc-card.is-active,
.sec-services .services-grid .svc-card.svc-card.svc-card.is-hovering,
.sec-services .services-grid .svc-card.svc-card.svc-card.is-tilting {
  background-color: transparent !important;
  background-image:
    linear-gradient(90deg, #2b2170 0%, var(--g-purple) 30%, var(--g-pink) 62%, var(--g-orange) 100%) !important;
  background-origin: border-box !important;
  background-clip: border-box !important;
  background-repeat: no-repeat !important;
  background-size: 500% 100% !important;
  opacity: 1 !important;
  filter: none !important;
}
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(1):hover,
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(1).is-active,
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(1).is-hovering,
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(1).is-tilting { background-position: 0% 0 !important; }
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(2):hover,
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(2).is-active,
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(2).is-hovering,
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(2).is-tilting { background-position: 25% 0 !important; }
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(3):hover,
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(3).is-active,
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(3).is-hovering,
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(3).is-tilting { background-position: 50% 0 !important; }
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(4):hover,
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(4).is-active,
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(4).is-hovering,
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(4).is-tilting { background-position: 75% 0 !important; }
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(5):hover,
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(5).is-active,
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(5).is-hovering,
.sec-services .services-grid .svc-card.svc-card.svc-card:nth-child(5).is-tilting { background-position: 100% 0 !important; }
@media (max-width: 1180px) {
  .sec-services .services-grid .svc-card.svc-card:nth-child(1),
  .sec-services .services-grid .svc-card.svc-card:nth-child(2),
  .sec-services .services-grid .svc-card.svc-card:nth-child(3),
  .sec-services .services-grid .svc-card.svc-card:nth-child(4),
  .sec-services .services-grid .svc-card.svc-card:nth-child(5) {
    background-size: 100% 100% !important;
    background-position: 0 0 !important;
  }
}
.sec-services .services-grid .svc-card.svc-card .svc-card__title {
  color: #fff !important;
}
.sec-services .services-grid .svc-card.svc-card .svc-card__desc {
  color: rgba(255, 255, 255, .85) !important;
}
.sec-services .services-grid .svc-card.svc-card .svc-card__arr {
  border: 1.5px solid rgba(255, 255, 255, .75) !important;
  background: rgba(255, 255, 255, .14) !important;
  color: #fff !important;
}
.sec-services .services-grid .svc-card.svc-card .svc-card__arr svg {
  color: #fff !important;
  stroke: #fff !important;
}

/* FINAL â€” recolor the service card icons to plain white so they read
   cleanly against the new vivid gradient fill (previously each was
   its own theme color â€” purple/blue/green/amber â€” which no longer
   matches). The 4 animated icons are transparent-background <video>
   elements, and video color can't be changed with `color` the way an
   inline SVG can; brightness(0) crushes every opaque pixel to black
   regardless of its original hue while leaving transparent pixels
   transparent, then invert(1) flips that black to white â€” the net
   effect is a clean solid-white version of the line art with the
   same shape/transparency, no matter what color it was filmed in.
   All 5 cards use this same video-icon setup, so one rule covers
   all of them consistently. */
.sec-services .services-grid .svc-card.svc-card .svc-icon .svc-icon__video,
.sec-services .services-grid .svc-card.svc-card .svc-icon img,
.sec-services .services-grid .svc-card.svc-card .svc-icon svg {
  filter: brightness(0) invert(1) !important;
}
.sec-services .services-grid .svc-card.svc-card .svc-icon svg {
  color: #fff !important;
}

/* ============================================================
   SERVICES DETAIL PAGE (services.html) â€” standalone page,
   prefixed .svcd- to avoid colliding with the homepage's
   heavily-scoped .sec-services rules above.
   ============================================================ */
.svcd-page{
  background-color:#07060D;
  /* Two star layers at deliberately different, non-matching tile sizes
     (853px / 611px, coprime-ish) so their dots never re-align into an
     obvious repeating grid the way a single small tile does â€” the
     previous single 480x480 tile made the same handful of dots visibly
     stamp out across the page. */
  background-image:
    radial-gradient(1.6px 1.6px at 6% 14%,  rgba(255,255,255,.85) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 18% 63%,  rgba(255,255,255,.6) 50%, transparent 51%),
    radial-gradient(2px 2px at 29% 30%, rgba(255,255,255,.8) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 41% 82%,  rgba(255,255,255,.55) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 52% 8%,  rgba(255,255,255,.7) 50%, transparent 51%),
    radial-gradient(1.8px 1.8px at 63% 55%, rgba(255,255,255,.85) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 74% 22%,  rgba(255,255,255,.55) 50%, transparent 51%),
    radial-gradient(1.9px 1.9px at 85% 71%, rgba(255,255,255,.8) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 95% 40%,  rgba(255,255,255,.55) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 10% 92%, rgba(255,255,255,.65) 50%, transparent 51%),
    radial-gradient(1.6px 1.6px at 88% 5%,  rgba(255,255,255,.8) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 36% 47%,  rgba(255,255,255,.5) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 23% 8%,  rgba(255,255,255,.5) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 68% 88%, rgba(255,255,255,.5) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 79% 48%, rgba(255,255,255,.5) 50%, transparent 51%),

    radial-gradient(1.4px 1.4px at 15% 45%, rgba(255,255,255,.7) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 33% 92%,  rgba(255,255,255,.55) 50%, transparent 51%),
    radial-gradient(1.8px 1.8px at 48% 20%, rgba(255,255,255,.8) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 60% 68%,  rgba(255,255,255,.55) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 72% 40%, rgba(255,255,255,.72) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 84% 88%,  rgba(255,255,255,.55) 50%, transparent 51%),
    radial-gradient(1.6px 1.6px at 93% 15%, rgba(255,255,255,.8) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 5% 70%,   rgba(255,255,255,.55) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 40% 60%, rgba(255,255,255,.5) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 57% 30%, rgba(255,255,255,.5) 50%, transparent 51%),

    radial-gradient(3.5px 3.5px at 22% 20%, rgba(255,255,255,1) 0%, rgba(255,255,255,.35) 40%, transparent 72%),
    radial-gradient(3px 3px at 68% 12%,  rgba(255,255,255,1) 0%, rgba(255,255,255,.3) 40%, transparent 72%),
    radial-gradient(3.5px 3.5px at 80% 62%, rgba(255,255,255,1) 0%, rgba(255,255,255,.35) 40%, transparent 72%),
    radial-gradient(3px 3px at 12% 78%,  rgba(255,255,255,1) 0%, rgba(255,255,255,.3) 40%, transparent 72%),
    radial-gradient(3.2px 3.2px at 47% 88%, rgba(255,255,255,1) 0%, rgba(255,255,255,.32) 40%, transparent 72%);
  background-size:
    853px 853px, 853px 853px, 853px 853px, 853px 853px, 853px 853px, 853px 853px,
    853px 853px, 853px 853px, 853px 853px, 853px 853px, 853px 853px, 853px 853px,
    853px 853px, 853px 853px, 853px 853px,
    611px 611px, 611px 611px, 611px 611px, 611px 611px, 611px 611px, 611px 611px,
    611px 611px, 611px 611px, 611px 611px, 611px 611px,
    920px 920px, 920px 920px, 920px 920px, 920px 920px, 920px 920px;
  background-repeat: repeat;
  /* Pin the starfield to the viewport itself so it never drifts with
     scroll anywhere on the page â€” this is what actually keeps it
     "fixed" (previous attempt papered over it with an opaque panel
     instead, which just hid the stars; this keeps them visible AND
     still). */
  background-attachment: fixed;
}
.svcd-hero{max-width:1100px;margin:0 auto;padding:64px var(--pad-x) 8px}
.svcd-eyebrow{font-size:12px;font-weight:700;letter-spacing:1.6px;color:var(--g-purple);text-transform:uppercase;margin-bottom:16px}
.svcd-h1{font-family:'Manrope',sans-serif;font-size:clamp(30px,4vw,46px);line-height:1.12;font-weight:700;letter-spacing:-1px;max-width:640px;margin-bottom:18px}
.svcd-h1 .is-purple{color:var(--g-purple)}
.svcd-h1 .is-grad{background:linear-gradient(95deg,var(--g-pink) 0%,var(--g-orange) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.svcd-sub{font-size:15px;line-height:1.7;font-weight:300;color:rgba(255,255,255,.55);max-width:560px;margin-bottom:56px}

/* â”€â”€ Pinned scroll-step interaction (fantasy.co-style) â”€â”€
   One 100vh "stage" stays pinned in the viewport while a tall
   wrapper scrolls past it; JS toggles which panel is .is-active
   based on how far we've scrolled through the wrapper.
   NOTE: this deliberately does NOT use `position:sticky` â€” the
   site's global `body{overflow-x:hidden}` (style.css line 4)
   breaks sticky positioning for all descendants in Chrome/Safari
   (a well-known engine quirk: any non-visible overflow on an
   ancestor can disable sticky down the tree). So instead the JS
   toggles the stage between static / fixed / absolute-at-bottom
   â€” see the "svcd-pin" controller in script.js. On narrow screens
   the whole thing degrades to a plain stacked list (media query
   at the bottom) so nothing is scroll-jacked on mobile. */
.svcd-pin{position:relative;height:100vh}
.svcd-pin__stage{
  height:100vh;overflow:hidden;
  display:flex;align-items:center;
  /* No background here on purpose â€” the starfield itself is pinned to
     the viewport via background-attachment:fixed on .svcd-page below,
     so the stars stay visible AND stationary, instead of being covered
     up by an opaque panel (which was the wrong fix â€” it hid them). */
}
.svcd-pin__stage.is-fixed{position:fixed;top:0;left:0;width:100%;z-index:3}
.svcd-pin__stage.is-end{position:absolute;left:0;bottom:0;width:100%}
.svcd-pin__list{position:relative;width:100%;height:100%;list-style:none;max-width:1180px;margin:0 auto;overflow:hidden}
/* Registered as a <color> so transitioning it (see .svcd-pin__blob-wrap)
   smoothly cross-fades the gradient/shadow built from it, instead of the
   custom property snapping instantly between colors. */
@property --row-c {
  syntax: '<color>';
  inherits: true;
  initial-value: #7C3AED;
}
@property --row-g1 {
  syntax: '<color>';
  inherits: true;
  initial-value: #2A1B78;
}
@property --row-g2 {
  syntax: '<color>';
  inherits: true;
  initial-value: #E02D6F;
}
@property --row-g3 {
  syntax: '<color>';
  inherits: true;
  initial-value: #8A2FFF;
}

.svcd-pin__panel{
  --row-c:#7C3AED;
  position:absolute;inset:0;height:100%;
  max-width:1180px;padding:0 var(--pad-x);margin:0 auto;
  display:grid;grid-template-columns:1.1fr .9fr;align-items:center;column-gap:48px;
  pointer-events:none;
  /* transform + opacity are driven per-frame from script.js, continuously
     coupled to scroll position (no CSS transition â€” a transition here
     would make it lag behind the scrubbing instead of tracking 1:1) */
  transform:translateY(100%);
  opacity:0;
}
.svcd-pin__panel.is-active{pointer-events:auto}

.svcd-pin__num{font-size:80px;font-weight:700;letter-spacing:1.2px;color:var(--row-c);margin-bottom:16px}
.svcd-pin__icon{display:none}
.svcd-pin__title{font-family:'Manrope',sans-serif;font-size:clamp(36px,4.2vw,56px);font-weight:700;letter-spacing:-.6px;margin-bottom:16px;color:#fff}
.svcd-pin__desc{font-size:30px;line-height:1.5;font-weight:300;color:rgba(255,255,255,.55);max-width:520px;margin-bottom:26px}
/* Tags now sit over the circle itself rather than in the text column â€”
   script.js places .svcd-pin__panel's markup so this lands in the same grid
   cell as .svcd-pin__visual (see grid-column/grid-row below). Plain text,
   stacked vertically, no more pill/chip styling. */
.svcd-pin__tags{
  grid-column:2;grid-row:1;align-self:end;justify-self:start;
  list-style:none;display:flex;flex-direction:column;gap:16px;padding:0;
  margin-bottom:64px;pointer-events:none;
}
.svcd-pin__tags li{
  display:flex;align-items:center;gap:14px;
  font-size:22px;font-weight:500;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35);
}
/* Hollow bullet by default; script.js cycles .is-tag-active through the list
   automatically (once settled) â€” bold text, bullet fills in solid. */
.svcd-pin__tags li::before{
  content:'';width:12px;height:12px;border-radius:50%;flex-shrink:0;
  border:2px solid rgba(255,255,255,.55);background:transparent;
  transition:background-color .25s ease, border-color .25s ease;
}
.svcd-pin__tags li.is-tag-active{font-weight:800}
.svcd-pin__tags li.is-tag-active::before{background:#fff;border-color:#fff}

/* FINAL â€” "Paint Events" gradient treatment. Reuses this exact
   panel's own already-declared accent colors (--row-g2/--row-g3/
   --row-g4, set inline on .svcd-pin__panel#workshops-experiences)
   rather than importing an unrelated gradient, so the tag's color
   is intentionally tied to its own panel's identity. Fallback color
   (plain white, matching its sibling tags) is declared first for
   browsers without background-clip:text support; font-weight bumped
   for legibility against the gradient. Does not affect the other
   4 tags in this panel or any other panel's tags. */
.svcd-pin__tags li.svcd-pin__tag--paint{
  color:#fff;
  font-weight:700;
  background:linear-gradient(90deg,var(--row-g2,#8A2FFF) 0%,var(--row-g3,#C026D3) 50%,var(--row-g4,#F02D64) 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
@supports not (background-clip:text){
  .svcd-pin__tags li.svcd-pin__tag--paint{color:#fff;-webkit-text-fill-color:initial}
}
.svcd-pin__tags li.svcd-pin__tag--paint.is-tag-active{font-weight:800}

.svcd-pin__visual{position:relative;height:380px;display:flex;align-items:center;justify-content:center;perspective:1000px}
/* Outer wrapper: owns the scroll-driven scale/rotate/blur (set live by
   script.js from the panel's scroll progress). Kept separate from
   .svcd-pin__blob itself so it never fights with that element's own
   idle CSS "organic wobble" animation (svcd-blob-morph below), which
   also animates `transform` â€” two elements, two independent transforms,
   no collision. */
.svcd-pin__blob-wrap{
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  will-change:transform,filter;
  transition:filter .15s linear, --row-c .5s ease, --row-g1 .5s ease, --row-g2 .5s ease, --row-g3 .5s ease, --row-g4 .5s ease, --row-g5 .5s ease;
}
@property --blob-spin {
  syntax: '<angle>';
  inherits: true;
  initial-value: 0deg;
}

.svcd-pin__blob{
  width:280px;height:280px;
  border-radius:48% 52% 55% 45% / 45% 48% 52% 55%;
  background:
    radial-gradient(circle at 10% 82%, rgba(0,0,0,.48) 0 17%, transparent 50%),
    radial-gradient(circle at 88% 88%, rgba(0,0,0,.5) 0 14%, transparent 46%),
    radial-gradient(circle at 34% 24%, rgba(190,165,255,.24) 0 10%, transparent 34%),
    radial-gradient(circle at 64% 68%, rgba(255,92,198,.32) 0 16%, transparent 48%),
    radial-gradient(circle at 28% 62%, rgba(72,112,255,.28) 0 18%, transparent 52%),
    linear-gradient(calc(var(--blob-spin, 0deg) + 112deg),
      #4f46e5 0%,
      #6d35f2 24%,
      #8b3ff5 43%,
      #ba34d0 62%,
      #e23b88 82%,
      #7c3aed 100%);
  background-blend-mode:multiply,multiply,screen,screen,screen,normal;
  box-shadow:
    inset -82px -94px 118px rgba(0,0,0,.58),
    inset -28px -34px 66px rgba(0,0,0,.38),
    inset 28px 22px 58px rgba(150,122,255,.28),
    0 0 130px rgba(89,70,220,.44),
    0 0 82px rgba(172,76,224,.28),
    0 44px 112px rgba(0,0,0,.48);
  transition:--blob-spin 1200ms cubic-bezier(.22,1,.36,1), box-shadow 650ms cubic-bezier(.22,1,.36,1);
  animation:svcd-blob-morph 9s ease-in-out infinite;
}
.svcd-pin__panel.is-active .svcd-pin__blob{animation-play-state:running}
.svcd-pin__panel:not(.is-active) .svcd-pin__blob{animation-play-state:paused}
@keyframes svcd-blob-morph{
  0%,100%{border-radius:48% 52% 55% 45% / 45% 48% 52% 55%;transform:rotate(0deg) scale(1)}
  33%{border-radius:55% 45% 48% 52% / 52% 55% 45% 48%;transform:rotate(8deg) scale(1.05)}
  66%{border-radius:45% 55% 52% 48% / 48% 45% 55% 52%;transform:rotate(-7deg) scale(.96)}
}
@keyframes svcd-blob-gradient-orbit{
  0%{
    background-position:50% 50%, 50% 50%, 12% 18%, 76% 24%, 50% 68%, 84% 56%, 30% 76%, 44% 48%;
    background-size:100% 100%, 100% 100%, 145% 145%, 156% 156%, 150% 150%, 142% 142%, 138% 138%, 170% 170%;
  }
  20%{
    background-position:50% 50%, 50% 50%, 42% 16%, 84% 42%, 28% 56%, 66% 78%, 54% 28%, 56% 44%;
    background-size:100% 100%, 100% 100%, 156% 156%, 142% 142%, 160% 160%, 148% 148%, 144% 144%, 182% 182%;
  }
  40%{
    background-position:50% 50%, 50% 50%, 76% 34%, 58% 74%, 18% 32%, 34% 60%, 80% 64%, 66% 54%;
    background-size:100% 100%, 100% 100%, 150% 150%, 162% 162%, 144% 144%, 156% 156%, 150% 150%, 176% 176%;
  }
  60%{
    background-position:50% 50%, 50% 50%, 52% 78%, 22% 46%, 72% 22%, 26% 34%, 60% 80%, 50% 62%;
    background-size:100% 100%, 100% 100%, 162% 162%, 148% 148%, 156% 156%, 142% 142%, 160% 160%, 188% 188%;
  }
  80%{
    background-position:50% 50%, 50% 50%, 20% 52%, 44% 18%, 82% 48%, 72% 28%, 22% 64%, 38% 54%;
    background-size:100% 100%, 100% 100%, 152% 152%, 158% 158%, 146% 146%, 152% 152%, 142% 142%, 180% 180%;
  }
  100%{
    background-position:50% 50%, 50% 50%, 12% 18%, 76% 24%, 50% 68%, 84% 56%, 30% 76%, 44% 48%;
    background-size:100% 100%, 100% 100%, 145% 145%, 156% 156%, 150% 150%, 142% 142%, 138% 138%, 170% 170%;
  }
}

/* Single persistent blob: lives outside any one panel (script.js moves the
   real .svcd-pin__blob-wrap node in here on desktop) so panel 0's own
   scroll-driven transform can't carry it away once it's done rising. Mirrors
   .svcd-pin__panel's own grid exactly (empty first cell + visual in the
   second) so it lands in the identical on-screen slot every panel uses. */
/* align-items:end (rather than center) plus the bottom padding anchors the
   blob toward the bottom-right instead of filling the full stage height â€”
   leaving clear space above it for a future character/illustration to
   stand on top of it. */
.svcd-pin__blob-slot{
  --row-c:#7C3AED;
  /* Anchored to the VIEWPORT, not the document â€” this is what keeps the
     blob's approach purely a scale/rotate/blur/opacity change with zero
     scroll-linked vertical travel, mirroring the exit exactly. Before this,
     position:absolute here still scrolled with the page like any other
     in-flow content until the pinned section's own JS-driven fixed layout
     kicked in, which is what made the blob visibly "rise up from below"
     during the approach â€” a plain absolute position was never going to look
     like the exit (which happens entirely inside the JS-fixed stage). */
  position:fixed;inset:0;height:100vh;
  max-width:1180px;padding:0 var(--pad-x) 48px;margin:0 auto;
  display:grid;grid-template-columns:1.1fr .9fr;align-items:end;column-gap:48px;
  pointer-events:none;
  transform:translateY(20%); /* pushed further down, per request */
}
/* Each panel's OWN visual slot is desktop-hidden â€” panel 0's is emptied by
   script.js (its blob moved into .svcd-pin__blob-slot above), and panels
   1-4 keep their unused blob markup only for the mobile fallback below. */
.svcd-pin__panel .svcd-pin__visual{display:none}
/* Mobile's own persistent sphere (separate node, see services.html + the
   "MOBILE PINNED-SPHERE FALLBACK" block in script.js) â€” desktop-hidden by
   default, shown fixed-to-viewport only inside the mobile media query
   below. */
.svcd-pin__mobile-blob{display:none}

/* HASH-ENTRY HOLD (desktop deep links from the home cards). While a
   visitor arrives at services.html#<service>, script.js gives display
   duty for the target panel to THIS stylesheet rule and orders its own
   paint pipeline to leave the panel alone (see "HASH-ENTRY HOLD" in
   script.js). A stylesheet rule cannot be killed by any JS failure
   mode, which is what finally guarantees the service's text is visible
   on arrival. The hold lifts (classes removed) on the first real step
   change, after which the normal pinned interaction repaints as usual. */
.svcd-pin.is-hash-entry .svcd-pin__panel.is-hash-active{
  transform:translateY(0) !important;
  opacity:1 !important;
  filter:none !important;
  pointer-events:auto;
}
.svcd-pin.is-hash-entry .svcd-pin__panel.is-hash-active .svcd-pin__tags{
  transform:none !important;
  opacity:1 !important;
}

.svcd-pin__progress{
  position:absolute;right:22px;top:50%;transform:translateY(-50%);
  display:flex;flex-direction:column;gap:11px;z-index:5;
}
.svcd-pin__dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.22);transition:background .3s ease,transform .3s ease}
.svcd-pin__dot.is-active{background:#fff;transform:scale(1.5)}

@media (prefers-reduced-motion: reduce){
  .svcd-pin__blob{animation:none}
  .svcd-pin__blob-wrap{transform:none!important;filter:none!important}
}

.svcd-cta{max-width:1100px;margin:0 auto;padding:0 var(--pad-x) 80px}
.svcd-cta__box{
  position:relative;border-radius:20px;padding:1.5px;
  background:linear-gradient(95deg,var(--g-purple),var(--g-pink) 50%,var(--g-orange));
}
.svcd-cta__inner{
  border-radius:18.5px;background:#0b0a14;padding:26px 28px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.svcd-cta__left{display:flex;align-items:center;gap:18px}
.svcd-cta__icon{
  width:52px;height:52px;border-radius:50%;flex-shrink:0;
  border:1.5px solid rgba(255,255,255,.5);
  display:flex;align-items:center;justify-content:center;
  color:#fff;
}
.svcd-cta__icon svg{width:20px;height:20px;transform:rotate(-45deg)}
.svcd-cta__title{font-size:17px;font-weight:700;color:#fff;margin-bottom:3px}
.svcd-cta__sub{font-size:13px;font-weight:300;color:rgba(255,255,255,.55)}
.svcd-cta__btn{
  display:inline-flex;align-items:center;gap:8px;flex-shrink:0;
  background:linear-gradient(95deg,var(--g-purple),var(--g-pink) 50%,var(--g-orange));
  color:#fff;font-size:14px;font-weight:600;text-decoration:none;
  padding:14px 24px;border-radius:999px;white-space:nowrap;
  transition:transform .2s ease, box-shadow .2s ease;
}
.svcd-cta__btn svg{width:15px;height:15px}
.svcd-cta__btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(124,58,237,.35)}

/* Cross-document View Transitions between index.html and services.html
   used to be set up here. Removed: this was one of TWO separate,
   conflicting view-transition-name declarations for .nav in this same
   file (this one named it "site-nav", a second block further down
   named it "e4la-nav") â€” only the later one actually won the cascade,
   which is exactly the kind of duplicated/competing-authority setup
   that caused the nav to behave inconsistently depending on load
   order. See the note further down (where the surviving block used
   to be) for why view transitions were dropped entirely rather than
   just de-duplicated. */

/* SERVICES ROBOT CHARACTER PATH */
.svcd-pin__robot{
  --robot-x:3vw;
  --robot-y:17vh;
  --robot-scale:1;
  position:absolute;
  left:0;
  top:0;
  bottom:auto;
  width:clamp(132px,15vw,230px);
  height:auto;
  z-index:8;
  pointer-events:none;
  filter:drop-shadow(0 24px 34px rgba(0,0,0,.34));
  opacity:0;
  transform:translate3d(var(--robot-x),var(--robot-y),0) scale(calc(var(--robot-scale) * .96));
  transition:
    opacity .45s ease,
    transform 1050ms cubic-bezier(.22,1,.36,1);
  will-change:transform,opacity;
}
.svcd-pin__robot.is-visible{
  opacity:.96;
  transform:translate3d(var(--robot-x),var(--robot-y),0) scale(var(--robot-scale));
}
@media (max-width:639px){
  .svcd-pin__robot{
    position:relative;
    left:auto;
    bottom:auto;
    width:min(220px,58vw);
    margin:10px 0 0;
    order:1;
  }
}









































/* HERO ROBOT INTRO - services page only */
.svcd-hero{
  position:relative !important;
  min-height:clamp(360px,48vh,560px) !important;
  overflow:visible !important;
  isolation:auto !important;
}
.svcd-hero__copy{
  position:relative !important;
  z-index:2 !important;
  max-width:720px !important;
}
.svcd-hero__robot{
  --hero-robot-scale:2.45;
  --hero-robot-x:58vw;
  --hero-robot-y:24vh;
  --hero-robot-opacity:.96;
  position:fixed !important;
  left:0 !important;
  top:0 !important;
  right:auto !important;
  bottom:auto !important;
  width:clamp(132px,15vw,230px) !important;
  max-height:none !important;
  height:auto !important;
  object-fit:contain !important;
  z-index:9 !important;
  pointer-events:none !important;
  opacity:var(--hero-robot-opacity) !important;
  transform:translate3d(var(--hero-robot-x),var(--hero-robot-y),0) scale(var(--hero-robot-scale)) !important;
  transform-origin:50% 82% !important;
  filter:drop-shadow(0 34px 70px rgba(0,0,0,.32)) saturate(1.06) !important;
  transition:opacity 260ms ease, transform 1050ms cubic-bezier(.22,1,.36,1) !important;
  will-change:transform,opacity !important;
}
@media (max-width:900px){
  .svcd-hero{min-height:auto !important;}
  .svcd-hero__robot{display:none !important;}
}
@media (prefers-reduced-motion: reduce){
  .svcd-hero__robot{
    --hero-robot-scale:1;
    --hero-robot-x:3vw;
    --hero-robot-y:17vh;
    --hero-robot-opacity:.72;
  }
}

/* FINAL v5 â€” HOMEPAGE SERVICE CARDS: dark glass treatment matching
   the about.html reference (translucent dark card over the section's
   glow, colored per-card border, light text). Replaces the v4 "plain
   white card" reset directly above this comment's old position â€”
   background/border/shadow/text-color all flipped to dark-on-dark. */
.sec-services .svc-card.svc-card,
.sec-services .services-grid .svc-card.svc-card {
  border: 1px solid var(--svc-card-line, rgba(157, 129, 255, .28)) !important;
  background-color: #03041D !important;
  background-image: none !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 18px 44px rgba(0, 0, 0, .34) !important;
}
.sec-services .services-grid .svc-card.svc-card:nth-child(1),
.sec-services .services-grid .svc-card.svc-card:nth-child(2),
.sec-services .services-grid .svc-card.svc-card:nth-child(3),
.sec-services .services-grid .svc-card.svc-card:nth-child(4),
.sec-services .services-grid .svc-card.svc-card:nth-child(5) {
  background-position: 0 0 !important;
}
.sec-services .services-grid .svc-card.svc-card:nth-child(1) { --svc-card-line: rgba(124, 58, 237, .38); }
.sec-services .services-grid .svc-card.svc-card:nth-child(2) { --svc-card-line: rgba(79, 125, 255, .38); }
.sec-services .services-grid .svc-card.svc-card:nth-child(3) { --svc-card-line: rgba(21, 162, 142, .4); }
.sec-services .services-grid .svc-card.svc-card:nth-child(4) { --svc-card-line: rgba(232, 117, 22, .4); }
.sec-services .services-grid .svc-card.svc-card:nth-child(5) { --svc-card-line: rgba(141, 53, 178, .4); }
.sec-services .svc-card.svc-card:hover,
.sec-services .svc-card.svc-card:focus-visible,
.sec-services .svc-card.svc-card.is-active,
.sec-services .services-grid .svc-card.svc-card.svc-card:hover,
.sec-services .services-grid .svc-card.svc-card.svc-card:focus-visible,
.sec-services .services-grid .svc-card.svc-card.svc-card.is-active,
.sec-services .services-grid .svc-card.svc-card.svc-card.is-hovering,
.sec-services .services-grid .svc-card.svc-card.svc-card.is-tilting {
  border-color: var(--svc-card-line, rgba(157, 129, 255, .5)) !important;
  background-color: #03041D !important;
  background-image: none !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 26px 58px rgba(0, 0, 0, .44) !important;
  opacity: 1 !important;
  filter: none !important;
}

.sec-services .services-grid .svc-card.svc-card .svc-card__title,
.sec-services .svc-card .svc-card__title {
  color: #fff !important;
}
.sec-services .services-grid .svc-card.svc-card .svc-card__desc,
.sec-services .svc-card .svc-card__desc {
  color: rgba(255, 255, 255, .66) !important;
}
.sec-services .services-grid .svc-card.svc-card .svc-card__arr {
  border: 1.5px solid rgba(255, 255, 255, .26) !important;
  background: rgba(255, 255, 255, .06) !important;
  color: #fff !important;
}
.sec-services .services-grid .svc-card.svc-card .svc-card__arr svg {
  color: #fff !important;
  stroke: #fff !important;
}
.sec-services .services-grid .svc-card.svc-card:hover .svc-card__arr,
.sec-services .services-grid .svc-card.svc-card:focus-visible .svc-card__arr,
.sec-services .services-grid .svc-card.svc-card.is-active .svc-card__arr {
  border-color: rgba(255, 255, 255, .5) !important;
  background: rgba(255, 255, 255, .12) !important;
}

/* Icon area becomes a solid-white "photo header" block spanning the
   card's full width (it already is full-width/square per the FIX v3
   sizing rules below) â€” this is deliberate: the 5 icon clips are
   pre-recorded videos with a baked-in solid white background (not
   real alpha transparency), so floating them directly on a dark card
   would show an ugly white rectangle. Framing that white as an
   intentional "cover image" strip, flush with the card's own top
   corners, turns the same asset into a clean, common media-card
   pattern instead of a bug. */
.sec-services .services-grid .svc-card.svc-card .svc-icon {
  background: #03041D !important;
  border-radius: clamp(18px, 1.7vw, 24px) clamp(18px, 1.7vw, 24px) 0 0 !important;
}

/* Icons: show the clips in their native color again instead of the
   flattened white-silhouette treatment. */
.sec-services .services-grid .svc-card.svc-card .svc-icon .svc-icon__video,
.sec-services .services-grid .svc-card.svc-card .svc-icon img,
.sec-services .services-grid .svc-card.svc-card .svc-icon svg {
  filter: none !important;
}
.sec-services .services-grid .svc-card.svc-card .svc-icon svg {
  color: inherit !important;
}

/* FIX â€” the icon video was growing on hover from a center-anchored
   transform-origin while also shifting UP 18px, so the enlarged box
   pushed past the card's own top edge (the card has overflow:visible,
   so that spillover was fully visible instead of being clipped â€” read
   as "the video exits the frame from the top"). Anchoring the scale
   to the icon's own top edge (transform-origin 50% 0%) keeps that top
   edge fixed in place no matter how big it grows, so it only ever
   grows DOWNWARD, into the card, never past the top. Dropping the
   upward shift (translateY -18px -> a small downward nudge instead)
   removes the other half of the problem. The icon's bottom margin is
   increased so the title/description sit lower, opening real room for
   the enlarged video to grow into before it reaches the text, and the
   card gets extra top padding + a bit more height so nothing feels
   cramped. */
.sec-services .services-grid .svc-card.svc-card {
  padding-top: clamp(34px, 3vw, 48px) !important;
  min-height: clamp(420px, 34.5vw, 546px) !important;
}
.sec-services .services-grid .svc-card.svc-card .svc-icon {
  transform-origin: 50% 0% !important;
  margin: 0 0 68px !important;
}
.sec-services .services-grid .svc-card.svc-card:nth-child(1) .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(2) .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(3) .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(4) .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(5) .svc-icon {
  /* Same root-cause fix as the earlier duplicate block above: no more
     translateX(-50%) centering on a box that's already 100% width â€”
     that was shifting the icon/video half the card's width to the
     left, i.e. the exact "video is outside the card, should come to
     the right" bug the user is seeing. */
  transform: none !important;
}
.sec-services .services-grid .svc-card.svc-card:nth-child(1):hover .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(1):focus-visible .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(1).is-hovering .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(1).is-tilting .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(2):hover .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(2):focus-visible .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(2).is-hovering .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(2).is-tilting .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(3):hover .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(3):focus-visible .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(3).is-hovering .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(3).is-tilting .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(4):hover .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(4):focus-visible .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(4).is-hovering .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(4).is-tilting .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(5):hover .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(5):focus-visible .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(5).is-hovering .svc-icon,
.sec-services .services-grid .svc-card.svc-card:nth-child(5).is-tilting .svc-icon {
  transform: none !important;
}
@media (max-width: 899px), (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  .sec-services .services-grid .svc-card.svc-card:nth-child(1) .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(1):hover .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(1):focus-visible .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(1).is-hovering .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(1).is-tilting .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(2) .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(2):hover .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(2):focus-visible .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(2).is-hovering .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(2).is-tilting .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(3) .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(3):hover .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(3):focus-visible .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(3).is-hovering .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(3).is-tilting .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(4) .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(4):hover .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(4):focus-visible .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(4).is-hovering .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(4).is-tilting .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(5) .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(5):hover .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(5):focus-visible .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(5).is-hovering .svc-icon,
  .sec-services .services-grid .svc-card.svc-card:nth-child(5).is-tilting .svc-icon {
    transform: none !important;
  }
}

/* FIX v3 â€” icon FRAME truly flush on 3 sides, no calc/guessing.
   The previous attempt tried to cancel the card's own padding with a
   matching negative margin on the icon (width: 100% + 2*padding,
   margin: -padding) â€” that depends on correctly re-guessing the
   card's real padding value, and if that guess is even slightly off
   (or something else in this file's long history still contributes
   to it) the icon overshoots or undershoots the real edge, which is
   exactly the "half the video is outside the card" result.
   Bulletproof fix instead: remove the card's own padding entirely
   (0 on every side), so .svc-icon (100% width, first child, 0
   margin) is now GUARANTEED to exactly match the card's real box on
   the top/left/right with no arithmetic involved â€” it's simply the
   card's full content box. The inset that padding used to provide is
   moved onto the specific elements that still need it (title, desc,
   the "more" text, and the arrow button), via margin instead. Bottom
   inset is preserved the same way, now living on the arrow button's
   bottom margin instead of the card's own bottom padding. */
.sec-services .services-grid .svc-card.svc-card {
  --svc-card-pt: clamp(40px, 3.6vw, 58px);
  --svc-card-px: clamp(24px, 2.2vw, 34px);
  --svc-card-pb: clamp(24px, 2.2vw, 34px);
  padding: 0 !important;
}
.sec-services .services-grid .svc-card.svc-card .svc-icon {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
  left: 0 !important;
  transform: none !important;
}
.sec-services .services-grid .svc-card.svc-card:hover .svc-icon,
.sec-services .services-grid .svc-card.svc-card:focus-visible .svc-icon,
.sec-services .services-grid .svc-card.svc-card.is-hovering .svc-icon,
.sec-services .services-grid .svc-card.svc-card.is-tilting .svc-icon {
  transform: none !important;
}
/* Belt-and-braces: force the <video> itself to exactly fill the icon
   box no matter what size it would otherwise want to render at.
   Whatever was making the clip drift left/right before, an absolutely
   positioned, inset:0, 100%x100% video inside an overflow:hidden box
   physically cannot render outside that box's edges â€” this removes
   the guesswork entirely instead of chasing which upstream rule was
   responsible for the wrong size. */
.sec-services .services-grid .svc-card.svc-card .svc-icon .svc-icon__video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
}
/* Title/desc keep their own centering (text-align/margin:auto) from
   the base rules â€” they must NOT get an explicit width:100% PLUS a
   fixed left/right margin at the same time, because border-box only
   excludes padding/border from width, never margin: a 100%-wide box
   with extra margin-left/right on top overflows the card by 2x that
   margin, which reads as "shifted/misplaced" text. Constrain the
   width itself instead, with auto margins doing the centering. */
.sec-services .services-grid .svc-card.svc-card .svc-card__title {
  margin-top: var(--svc-card-pt) !important;
  width: calc(100% - (var(--svc-card-px) * 2)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Desc/more already center themselves (max-width + margin:0 auto)
   from the base rules and are narrower than the card, so they don't
   need â€” and must not get â€” an extra explicit left/right margin. */

/* Arrow centers itself horizontally via margin-left/right:auto from
   its base rule; only the bottom inset needs to be added here. Do
   NOT set margin-left/right to a fixed value â€” that replaces the
   auto-centering with a fixed offset and drags the button off-center.

   Vertical position: the card is `justify-content: space-between`
   with only 2 flex children (.svc-card__content and .svc-card__arr),
   AND the arrow's own base rule gives it `margin: auto auto 0`. Auto
   margins on a flex item always win over justify-content and absorb
   every pixel of leftover space along the main axis â€” so as soon as
   the card's min-height is taller than the actual content (which it
   now is, since the icon alone is a full-card-width square), the
   arrow gets shoved all the way down with a big dead gap above it.
   That's the "CTA went very low" bug. Fix: stop the arrow's own
   margin-top from being auto (so it can't self-absorb leftover
   space) and stop the card from distributing leftover space via
   space-between â€” both must change together or the other still
   pushes the arrow down. The selector list here matches (and beats,
   via the extra combinator entry) the higher-specificity
   ".svc-card__content + .svc-card__arr" rule that originally set
   margin: auto auto 0. */
.sec-services .services-grid .svc-card.svc-card .svc-card__arr,
.sec-services .services-grid .svc-card.svc-card .svc-card__content + .svc-card__arr {
  margin: 0 auto var(--svc-card-pb) !important;
}
.sec-services .services-grid .svc-card.svc-card {
  justify-content: flex-start !important;
}
/* Mobile only: the rule above zeroes the arrow's top margin (needed on
   desktop to defeat the auto-margin "CTA shoved to the bottom" bug),
   but in the stacked single-column mobile layout that left the arrow
   sitting flush against the description text. Re-open a clear gap on
   narrow screens; desktop keeps margin-top:0 untouched. Same selector
   list as the rule above, placed after it, so it wins on ties. */
@media (max-width: 700px) {
  .sec-services .services-grid .svc-card.svc-card .svc-card__arr,
  .sec-services .services-grid .svc-card.svc-card .svc-card__content + .svc-card__arr {
    margin-top: 28px !important;
  }
}

/* FINAL â€” service card titles: gradient text instead of flat black,
   using the same brand gradient already used for the "grad-text"
   accent in the services heading (purple -> orange), so it matches
   the existing gold/purple neon system instead of inventing a new
   palette. */
.sec-services .services-grid .svc-card.svc-card .svc-card__title {
  background: linear-gradient(92deg, #7c3aed 0%, #a855f7 45%, #f97316 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* ============================================================
   NEW â€” "Why E4LA" stats band, rebuilt from scratch and repositioned
   right after #coaching. Deliberately uses a NEW section class
   (.sec-why2, keeping the existing id="why" so the footer's "About
   Us" anchor still works) instead of reusing .sec-why â€” the old
   .sec-why class carries a long history of dark-theme overrides
   (backgrounds, colors, the old 6-item .why-grid layout) scattered
   across this file; fighting all of them with !important would be
   fragile, whereas a fresh class sidesteps that history cleanly. The
   inner .why__label/.why__h2 element classes are kept as-is so they
   still pick up the shared base .section-eyebrow/.section-heading
   typography rules (those are unscoped by parent class and harmless
   to reuse), just not any of the old .sec-why-scoped color/layout
   rules. */
/* Why/Gain/HowWork now render as ONE unified card (see
   .coaching-extra__inner, which carries the shared background, border,
   radius and color-wash for all three) -- this section is just an
   internal content segment inside that card, not its own boxed panel. */
.sec-why2 {
  padding: 0 0 clamp(28px, 3vw, 40px);
}
.why-card {
  max-width: var(--e4la-page-max);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 36px;
  transition: border-color .2s, box-shadow .2s;
}
.why-card:hover {
  border-color: rgba(157, 129, 255, .5);
}
.why-card__intro {
  flex: 1 1 320px;
  min-width: 280px;
}
.sec-why2 .why__label.section-eyebrow {
  color: #d8a8ff;
  margin-bottom: 14px;
}
.sec-why2 .why__h2.section-heading {
  color: #fff;
  max-width: 440px;
  margin-bottom: 14px;
}
.sec-why2 .why__h2 .grad-text {
  background: linear-gradient(92deg, #7c3aed 0%, #a855f7 45%, #f97316 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.why__desc {
  font-size: 13.5px;
  line-height: 1.6;
  color: rgba(255, 255, 255, .68);
  max-width: 46ch;
  margin-bottom: 12px;
}
.why__attribution {
  font-size: 12px;
  font-weight: 700;
  color: rgba(255, 255, 255, .5);
}
.why-stats {
  flex: 2 1 480px;
  display: flex;
  gap: 18px;
}
.why-stat {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
}
.why-stat__ico {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s cubic-bezier(.2, .8, .2, 1);
}
.why-stat__ico svg { width: 19px; height: 19px; }
.why-stat__ico--purple { background: rgba(109, 40, 217, .1); color: #C4B5FD; box-shadow: 0 0 0 1px rgba(196, 181, 253, .32), 0 0 14px rgba(196, 181, 253, .22); }
.why-stat__ico--pink   { background: rgba(219, 39, 119, .1); color: #db2777; box-shadow: 0 0 0 1px rgba(219, 39, 119, .22), 0 0 14px rgba(219, 39, 119, .16); }
.why-stat__ico--amber  { background: rgba(217, 119, 6, .1);  color: #d97706; box-shadow: 0 0 0 1px rgba(217, 119, 6, .24),  0 0 14px rgba(217, 119, 6, .16); }
.why-stat__ico--green  { background: rgba(5, 150, 105, .1);  color: #059669; box-shadow: 0 0 0 1px rgba(5, 150, 105, .22),  0 0 14px rgba(5, 150, 105, .16); }
.why-stat__ico--blue   { background: rgba(37, 99, 235, .1);  color: #2563eb; box-shadow: 0 0 0 1px rgba(37, 99, 235, .22),  0 0 14px rgba(37, 99, 235, .16); }

/* Auto-cycle "light up" state â€” same mechanism as #coaching
   .coaching__timeline (is-ctime-active): script.js cycles one
   .why-stat active every 2s via .is-why-active, the icon blooms
   brighter + scales up, and the number brightens to match. */
.why-stat.is-why-active .why-stat__ico {
  transform: scale(1.12);
}
.why-stat:nth-child(1).is-why-active .why-stat__ico { box-shadow: 0 0 0 1px rgba(196, 181, 253, .85), 0 0 20px rgba(196, 181, 253, .6), 0 0 42px rgba(196, 181, 253, .34); }
.why-stat:nth-child(2).is-why-active .why-stat__ico { box-shadow: 0 0 0 1px rgba(219, 39, 119, .75), 0 0 20px rgba(219, 39, 119, .55), 0 0 42px rgba(219, 39, 119, .3); }
.why-stat:nth-child(3).is-why-active .why-stat__ico { box-shadow: 0 0 0 1px rgba(217, 119, 6, .78),  0 0 20px rgba(217, 119, 6, .55),  0 0 42px rgba(217, 119, 6, .3); }
.why-stat:nth-child(4).is-why-active .why-stat__ico { box-shadow: 0 0 0 1px rgba(5, 150, 105, .75),   0 0 20px rgba(5, 150, 105, .55),  0 0 42px rgba(5, 150, 105, .3); }
.why-stat:nth-child(5).is-why-active .why-stat__ico { box-shadow: 0 0 0 1px rgba(37, 99, 235, .75),   0 0 20px rgba(37, 99, 235, .55),  0 0 42px rgba(37, 99, 235, .3); }

.why-stat__num {
  font-size: clamp(18px, 1.6vw, 22px);
  font-weight: 800;
  line-height: 1.1;
  transition: transform .35s cubic-bezier(.2, .8, .2, 1);
}
.why-stat:nth-child(1) .why-stat__num { color: #C4B5FD; }
.why-stat:nth-child(2) .why-stat__num { color: #db2777; }
.why-stat:nth-child(3) .why-stat__num { color: #d97706; }
.why-stat:nth-child(4) .why-stat__num { color: #059669; }
.why-stat:nth-child(5) .why-stat__num { color: #2563eb; }
.why-stat.is-why-active .why-stat__num {
  transform: scale(1.08);
}
.why-stat__label {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  color: rgba(255, 255, 255, .6);
  max-width: 13ch;
  transition: color .35s ease;
}
.why-stat.is-why-active .why-stat__label {
  color: #fff;
}
@media (max-width: 900px) {
  .why-card {
    flex-direction: column;
    align-items: stretch;
  }
  .why-stats {
    flex-wrap: wrap;
  }
  .why-stat {
    flex: 1 1 40%;
  }
}
@media (max-width: 560px) {
  .why-stat {
    flex: 1 1 100%;
    flex-direction: row;
    align-items: center;
    text-align: left;
  }
  .why-stat__num {
    flex: 0 0 auto;
  }
  .why-stat__label {
    /* Was capped at 13ch for the centered column layout â€” in this row
       layout that made longer labels ("Event participants &
       communities") wrap narrower than the row has room for. Let it
       fill the remaining row width instead so wrapping is even. */
    max-width: none;
    flex: 1 1 auto;
  }
}

/* ============================================================
   FINAL â€” post-booking sections: What You'll Gain / How We Work
   Together / FAQ / final Schedule CTA card. Converted from the old
   light (cream/white) theme to the same dark theme already used by
   the hero, .sec-services, .sec-approach and #coaching above these
   sections, reusing the exact same section-background gradient +
   masked color-wash overlay, and the same dark-glass card treatment
   as #coaching's .aud-card (background ~#03041D, purple-tinted
   border, inset highlight + dark drop shadow). Existing tokens
   (--purple, --g-pink, --amber, --green, --blue, --pad-x,
   --section-py, --r-lg/--r-xl, .section-eyebrow, .section-heading,
   .grad-text, .cta-neon) are still reused rather than introducing a
   new palette or component system.
   ============================================================ */

.sec-schedule {
  position: relative !important;
  isolation: isolate !important;
  background: linear-gradient(180deg, #07060D 0%, #0c0a17 50%, #07060D 100%) !important;
  padding: clamp(40px, 4.5vw, 64px) var(--e4la-page-pad);
}
/* .sec-gain / .sec-howwork are internal segments of the single unified
   Why/Gain/HowWork card now (background/border/radius all live on
   .coaching-extra__inner) -- just vertical rhythm + a soft divider
   between segments here. */
.sec-gain,
.sec-howwork {
  padding: clamp(28px, 3vw, 40px) 0;
  border-top: 1px solid rgba(255, 255, 255, .08);
}
.sec-schedule::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, rgba(79, 125, 255, .18) 0%, rgba(124, 58, 237, .18) 50%, rgba(219, 39, 119, .15) 100%) !important;
  pointer-events: none !important;
}

.gain-layout,
.howwork-layout {
  max-width: var(--e4la-page-max);
  margin: 0 auto;
}

.sec-gain .gain__label.section-eyebrow,
.sec-howwork .howwork__label.section-eyebrow {
  color: #d8a8ff;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* FAQ band: the section now shares the same dark theme as its
   neighbors â€” the brand gradient (same one used by the closing
   "Ready to elevate..." CTA band) is scoped to the card box
   (.faq-layout) only, sized to the question grid's own content
   width, NOT full-bleed. The mascot video sits outside/beside that
   box, on the plain section background, sharing a flex row with it
   so both stay centered together within the page's max-width. */
.sec-faq {
  position: relative !important;
  isolation: isolate !important;
  background: linear-gradient(180deg, #07060D 0%, #0c0a17 50%, #07060D 100%) !important;
  /* clamp(20px,4vw,56px), not var(--e4la-page-pad) -- matches
     #coaching/.coaching-card's own left/right inset exactly so the
     FAQ card (now on the left, see .faq-mascot order below) lines up
     with the card above it. */
  padding: clamp(52px, 6vw, 80px) clamp(20px, 4vw, 56px);
}
.sec-faq::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, rgba(79, 125, 255, .18) 0%, rgba(124, 58, 237, .18) 50%, rgba(219, 39, 119, .15) 100%) !important;
  pointer-events: none !important;
}
.sec-faq .faq-outer {
  max-width: var(--e4la-page-max);
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: clamp(20px, 3vw, 44px);
}
.sec-faq .faq-layout {
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
  margin: 0;
  /* Frosted glass, matching .coaching-card's recipe -- flat translucent
     color, no backdrop-filter:blur(). The FAQ items inside use the same
     grid-template-rows 0fr/1fr accordion animation that caused visible
     jank earlier this session when paired with a real blur() on an
     ancestor; a flat rgba tint gets the "glass" look without that risk. */
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(157, 129, 255, .28);
  border-radius: var(--r-xl);
  padding: clamp(28px, 3vw, 44px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 18px 46px rgba(0, 0, 0, .35), 0 4px 14px rgba(0, 0, 0, .25);
}
.sec-faq .faq__label.section-eyebrow {
  color: #fff;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Decorative mascot video â€” real alpha-transparent WebM (luminance-
   keyed from the source clip), so it floats cleanly over the plain
   section background instead of showing a background box. Sits
   outside the gradient card, sized generously since it now has its
   own room instead of overlapping the cards. Purely decorative, so
   it's dropped once the layout narrows and there's no room to show
   it beside the card without squeezing the questions. */
.faq-mascot {
  flex: 0 0 auto;
  /* moved to the right of the card -- .faq-outer's DOM order still has
     the mascot <video> first (markup unchanged), so push it after
     .faq-layout visually with flex order instead of restructuring the
     HTML. */
  order: 2;
  width: clamp(200px, 17vw, 300px);
  height: auto;
  object-fit: contain;
  pointer-events: none;
  filter: drop-shadow(0 18px 26px rgba(0, 0, 0, .3));
}
@media (max-width: 1180px) {
  .faq-mascot {
    display: none;
  }
}

.howwork__label-ico {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  color: #d8a8ff;
}

/* -- What You'll Gain -- */
.gain-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 28px;
  margin-top: 28px;
}
.gain-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 14px;
}
.gain-item__ico {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s cubic-bezier(.2, .8, .2, 1);
}
.gain-item__ico svg { width: 22px; height: 22px; }
.gain-item__ico--purple { background: rgba(109, 40, 217, .1); color: #C4B5FD; box-shadow: 0 0 0 1px rgba(196, 181, 253, .36), 0 0 16px rgba(196, 181, 253, .24); }
.gain-item__ico--pink   { background: rgba(219, 39, 119, .1); color: #db2777; box-shadow: 0 0 0 1px rgba(219, 39, 119, .26), 0 0 16px rgba(219, 39, 119, .18); }
.gain-item__ico--amber  { background: rgba(217, 119, 6, .1);  color: #d97706; box-shadow: 0 0 0 1px rgba(217, 119, 6, .28),  0 0 16px rgba(217, 119, 6, .18); }
.gain-item__ico--green  { background: rgba(5, 150, 105, .1);  color: #059669; box-shadow: 0 0 0 1px rgba(5, 150, 105, .26),  0 0 16px rgba(5, 150, 105, .18); }
.gain-item__ico--blue   { background: rgba(37, 99, 235, .1);  color: #2563eb; box-shadow: 0 0 0 1px rgba(37, 99, 235, .26),  0 0 16px rgba(37, 99, 235, .18); }

/* Auto-cycle "light up" â€” same mechanism as #coaching
   .coaching__timeline / .why-stats, driven by script.js toggling
   .is-gain-active every 2s. */
.gain-item.is-gain-active .gain-item__ico { transform: scale(1.12); }
.gain-item:nth-child(1).is-gain-active .gain-item__ico { box-shadow: 0 0 0 1px rgba(196, 181, 253, .88), 0 0 22px rgba(196, 181, 253, .62), 0 0 46px rgba(196, 181, 253, .34); }
.gain-item:nth-child(2).is-gain-active .gain-item__ico { box-shadow: 0 0 0 1px rgba(219, 39, 119, .78), 0 0 22px rgba(219, 39, 119, .58), 0 0 46px rgba(219, 39, 119, .3); }
.gain-item:nth-child(3).is-gain-active .gain-item__ico { box-shadow: 0 0 0 1px rgba(217, 119, 6, .8),  0 0 22px rgba(217, 119, 6, .58),  0 0 46px rgba(217, 119, 6, .3); }
.gain-item:nth-child(4).is-gain-active .gain-item__ico { box-shadow: 0 0 0 1px rgba(5, 150, 105, .78),  0 0 22px rgba(5, 150, 105, .58),  0 0 46px rgba(5, 150, 105, .3); }
.gain-item:nth-child(5).is-gain-active .gain-item__ico { box-shadow: 0 0 0 1px rgba(37, 99, 235, .78),  0 0 22px rgba(37, 99, 235, .58),  0 0 46px rgba(37, 99, 235, .3); }

.gain-item__text {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
  color: #fff;
  max-width: 20ch;
  transition: transform .35s cubic-bezier(.2, .8, .2, 1);
}
.gain-item.is-gain-active .gain-item__text {
  transform: scale(1.04);
}

/* -- How We Work Together -- */
.howwork-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 28px;
}
.howwork-step {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  padding: 0 12px;
}
/* Connector: a dashed line + arrowhead from THIS step's icon toward
   the NEXT step's icon (1â†’2, 2â†’3, 3â†’4). Both ends are inset by the
   icon's radius (27px, since the icon is now 54px) plus a fixed gap,
   so the line/arrow visibly clears each circle instead of touching
   it. Math: with equal-width columns, "50%" of one step's own box
   plus a further "100%" reaches exactly the center of the next
   column's icon regardless of actual column width â€” so these
   offsets work without knowing the column's pixel width. */
.howwork-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 26px;
  left: calc(50% + 37px);
  width: calc(100% - 82px);
  border-top: 2px dashed rgba(255, 255, 255, .22);
  z-index: 0;
}
.howwork-step:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 21px;
  left: calc(150% - 44px);
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 7px solid rgba(255, 255, 255, .32);
  z-index: 0;
}
.howwork-step__ico {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  position: relative;
  z-index: 1;
  background: #03041D;
  transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s cubic-bezier(.2, .8, .2, 1);
}
.howwork-step__ico svg { width: 23px; height: 23px; }
.howwork-step__ico--purple { background: rgba(109, 40, 217, .1); color: #C4B5FD; box-shadow: 0 0 0 1px rgba(196, 181, 253, .36), 0 0 16px rgba(196, 181, 253, .24); }
.howwork-step__ico--pink   { background: rgba(219, 39, 119, .1); color: #db2777; box-shadow: 0 0 0 1px rgba(219, 39, 119, .26), 0 0 16px rgba(219, 39, 119, .18); }
.howwork-step__ico--amber  { background: rgba(217, 119, 6, .1);  color: #d97706; box-shadow: 0 0 0 1px rgba(217, 119, 6, .28),  0 0 16px rgba(217, 119, 6, .18); }
.howwork-step__ico--green  { background: rgba(5, 150, 105, .1);  color: #059669; box-shadow: 0 0 0 1px rgba(5, 150, 105, .26),  0 0 16px rgba(5, 150, 105, .18); }

/* Auto-cycle "light up" â€” same mechanism as #coaching
   .coaching__timeline / .why-stats / .gain-item, driven by
   script.js toggling .is-howwork-active every 2s. */
.howwork-step.is-howwork-active .howwork-step__ico { transform: scale(1.12); }
.howwork-step:nth-child(1).is-howwork-active .howwork-step__ico { box-shadow: 0 0 0 1px rgba(196, 181, 253, .88), 0 0 22px rgba(196, 181, 253, .62), 0 0 46px rgba(196, 181, 253, .34); }
.howwork-step:nth-child(2).is-howwork-active .howwork-step__ico { box-shadow: 0 0 0 1px rgba(219, 39, 119, .78), 0 0 22px rgba(219, 39, 119, .58), 0 0 46px rgba(219, 39, 119, .3); }
.howwork-step:nth-child(3).is-howwork-active .howwork-step__ico { box-shadow: 0 0 0 1px rgba(217, 119, 6, .8),  0 0 22px rgba(217, 119, 6, .58),  0 0 46px rgba(217, 119, 6, .3); }
.howwork-step:nth-child(4).is-howwork-active .howwork-step__ico { box-shadow: 0 0 0 1px rgba(5, 150, 105, .78),  0 0 22px rgba(5, 150, 105, .58),  0 0 46px rgba(5, 150, 105, .3); }

.howwork-step__name {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  transition: transform .35s cubic-bezier(.2, .8, .2, 1);
}
.howwork-step.is-howwork-active .howwork-step__name {
  transform: scale(1.04);
}
.howwork-step__desc {
  font-size: 12.5px;
  line-height: 1.55;
  color: rgba(255, 255, 255, .6);
  max-width: 22ch;
}

/* -- FAQ -- */
.faq-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 14px 20px;
  margin-top: 28px;
}
.faq-item {
  border: 1px solid rgba(157, 129, 255, .28);
  border-radius: var(--r-md);
  background: #03041D;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 12px 32px rgba(0, 0, 0, .3);
  transition: box-shadow .28s ease, border-color .28s ease, transform .28s cubic-bezier(.2, .8, .2, 1);
}
.faq-item:has(.faq-item__q[aria-expanded="true"]) {
  border-color: rgba(157, 129, 255, .55);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 16px 40px rgba(0, 0, 0, .4);
}
.faq-item__q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-align: left;
}
.faq-item__chev {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  color: rgba(255, 255, 255, .5);
  transition: transform .25s ease;
}
.faq-item__q[aria-expanded="true"] .faq-item__chev {
  transform: rotate(180deg);
}
.faq-item__a {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .3s ease;
}
.faq-item__q[aria-expanded="true"] + .faq-item__a {
  grid-template-rows: 1fr;
}
.faq-item__a > p {
  overflow: hidden;
  min-height: 0;
  padding: 0 18px;
  font-size: 13px;
  line-height: 1.6;
  color: rgba(255, 255, 255, .68);
}
.faq-item__q[aria-expanded="true"] + .faq-item__a > p {
  padding-bottom: 16px;
}

/* -- Final schedule CTA card -- */
.sec-schedule {
  border-top: 0;
}
.schedule-card {
  max-width: var(--e4la-page-max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
  border: 1px solid rgba(157, 129, 255, .28);
  background: linear-gradient(120deg, rgba(124, 58, 237, .14), #03041D 55%, rgba(219, 39, 119, .12));
  border-radius: var(--r-xl);
  padding: 32px clamp(24px, 3vw, 40px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 18px 46px rgba(0, 0, 0, .35), 0 4px 14px rgba(0, 0, 0, .25);
  transition: border-color .2s, box-shadow .2s;
}
.schedule-card:hover {
  border-color: rgba(157, 129, 255, .5);
}
.schedule-card__ico {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(124, 58, 237, .1);
  color: #6d28d9;
  flex: 0 0 auto;
}
.schedule-card__ico svg { width: 24px; height: 24px; }
.schedule-card__h2 {
  max-width: none !important;
  font-size: clamp(22px, 1.8vw, 28px) !important;
  margin-bottom: 8px;
  color: #fff;
}
.schedule-card__h2 .grad-text {
  background: linear-gradient(92deg, #7c3aed 0%, #a855f7 45%, #f97316 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.schedule-card__desc {
  font-size: 13.5px;
  line-height: 1.55;
  color: rgba(255, 255, 255, .68);
  max-width: 46ch;
}
.schedule-card__action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
/* Restyled to match the About page's "Book a Strategy Call" button
   (flat gradient rounded-rect, no badge/beam) per direct request â€”
   replaces the previous .cta-warm__btn/.cta-neon pill+badge reuse.
   Same recipe as about.css's ".btn": linear gradient fill, 8px
   radius (not a pill), plain trailing arrow icon, soft lift on
   hover. Markup no longer carries the cta-neon classes. */
.schedule-card__btn {
  min-height: 48px;
  width: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 24px;
  border-radius: 8px;
  color: #fff;
  background: linear-gradient(100deg, #5b57ff 0%, #cf49d9 52%, #ff497d 100%);
  box-shadow: 0 10px 30px rgba(207, 73, 217, .28);
  font-family: 'Manrope', Arial, sans-serif;
  font-weight: 800;
  font-size: 15px;
  text-decoration: none;
  white-space: nowrap;
  transition: transform .2s, box-shadow .2s;
}
.schedule-card__btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 36px rgba(207, 73, 217, .38);
}
.schedule-card__btn svg {
  width: 15px;
  height: 15px;
}
@media (prefers-reduced-motion: reduce) {
  .schedule-card__btn:hover { transform: none; }
}

/* Right-edge alignment: "Let's Connect" (.sec-cta .cta-warm__btn)
   sits in a special full-bleed grid built just for the 2-tone CTA
   band (.sec-cta uses its own smart calc()-based padding formula,
   unlike the normal max-width+auto-margin content wrapper every
   other section â€” including this Schedule card â€” uses), and per
   direct visual comparison it currently reaches slightly further
   right than the Schedule button above it. Pull it in to match. */
.sec-cta .cta-warm__btn {
  margin-right: clamp(20px, 2.4vw, 32px) !important;
}
.schedule-card__note {
  font-size: 11.5px;
  color: rgba(255, 255, 255, .55);
  white-space: nowrap;
}
.schedule-card__meta {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  border-top: 1px solid rgba(255, 255, 255, .12);
  padding-top: 20px;
  margin-top: 4px;
}
.schedule-card__meta li {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, .68);
}
.schedule-card__meta svg {
  width: 15px;
  height: 15px;
  color: #a78bfa;
}

@media (max-width: 900px) {
  .gain-grid {
    grid-template-columns: 1fr 1fr;
  }
  /* 5 items in a 2-column grid leaves the last one stranded alone on
     its own row with a lopsided gap beside it â€” span it across both
     columns and center it instead. */
  .gain-item:last-child {
    grid-column: 1 / -1;
    max-width: 200px;
    margin: 0 auto;
  }
  .howwork-steps {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .howwork-step:not(:last-child)::after,
  .howwork-step:not(:last-child)::before {
    display: none;
  }
  .faq-grid {
    grid-template-columns: 1fr;
  }
  .schedule-card {
    grid-template-columns: 1fr;
    text-align: center;
    justify-items: center;
  }
  .schedule-card__desc {
    max-width: none;
  }
}
@media (max-width: 560px) {
  .gain-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* -- Coaching "Read More" reveal toggle -- */
/* .coaching-more-band is a full-bleed section, same gradient-wash
   background as #coaching/.sec-faq, so the area around the card
   continues the site's dark-blue/purple/pink theme instead of
   dropping to flat black in the gap above/below the card. */
.coaching-more-band {
  position: relative;
  width: 100%;
  padding: clamp(32px, 4vw, 56px) 0;
  background: linear-gradient(180deg, #07060D 0%, #0c0a17 50%, #07060D 100%);
  isolation: isolate;
}
.coaching-more-band::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(79, 125, 255, .18) 0%, rgba(124, 58, 237, .18) 50%, rgba(219, 39, 119, .15) 100%);
  pointer-events: none;
}
/* .coaching-card is the ONE single painted box for the whole
   Why/Gain/HowWork unit -- background, border, radius, shadow all
   live here, on a single shared parent, instead of being split across
   .coaching-more and .coaching-extra__inner as two independently-
   painted adjacent boxes (that approach kept producing a hairline
   seam where the two met). Left/right margin matches #coaching's own
   padding-left/right exactly (clamp(20px,4vw,56px)) so this card's
   edges line up with the arrow-cards / "This Session For You" panel
   inside #coaching directly above it -- not a narrower centered box,
   not a full-bleed edge-to-edge bar. overflow:hidden here also
   backstops the accordion's own clipping so nothing can visually leak
   past the rounded corners while collapsed. */
.coaching-card {
  position: relative;
  width: auto;
  margin: 0 clamp(20px, 4vw, 56px);
  border: 1px solid rgba(157, 129, 255, .28);
  border-radius: var(--r-xl);
  background:
    linear-gradient(90deg, rgba(79, 125, 255, .18) 0%, rgba(124, 58, 237, .18) 50%, rgba(219, 39, 119, .15) 100%),
    rgba(255, 255, 255, .06);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 18px 46px rgba(0, 0, 0, .35), 0 4px 14px rgba(0, 0, 0, .25);
  overflow: hidden;
}
/* .coaching-more is just the always-visible header row inside
   .coaching-card now -- no background/border/radius of its own. */
.coaching-more {
  width: 100%;
  margin: 0;
  padding: 28px clamp(24px, 4vw, 44px) 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  text-align: center;
}
.coaching-more__text {
  font-size: 14px;
  font-weight: 600;
  color: rgba(255, 255, 255, .6);
}
.coaching-more__btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: none;
  border-radius: 999px;
  padding: 15px 32px;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: .4px;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(100deg, #6d28d9 0%, #a855f7 55%, #db2777 100%);
  box-shadow: 0 8px 22px rgba(109, 40, 217, .32), 0 2px 8px rgba(219, 39, 119, .22);
  transition: transform .28s cubic-bezier(.2, .8, .2, 1),
    box-shadow .28s cubic-bezier(.2, .8, .2, 1);
}
.coaching-more__btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(109, 40, 217, .4), 0 4px 12px rgba(219, 39, 119, .28);
}
.coaching-more__chev {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  color: #fff;
  transition: transform .25s ease;
}
.coaching-more__btn[aria-expanded="true"] .coaching-more__chev {
  transform: rotate(180deg);
}

/* Smooth open/close for the revealed sections â€” same grid-template-
   rows 0fr/1fr trick already used for .faq-item__a, so height animates
   to the real content height with no JS measurement needed. The
   .coaching-more button stays in place (not inside this wrapper) and
   the JS below scrolls it to the top of the viewport at the same time
   this expands, so it reads as "the button settles near the top while
   the sections unfold beneath it" rather than an instant jump. */
.coaching-extra {
  display: grid;
  /* minmax(0, 0fr) -- not bare 0fr -- overrides the row's implicit
     "auto" minimum track size (which otherwise floors at the content's
     min-content height, e.g. the WHY E4LA eyebrow label's own line
     height) so the collapsed state actually reaches zero instead of
     leaving a sliver of the first section visible underneath the
     button. */
  grid-template-rows: minmax(0, 0fr);
  transition: grid-template-rows .6s cubic-bezier(.22, 1, .36, 1);
}
.coaching-extra.is-open {
  grid-template-rows: minmax(0, 1fr);
}
/* .coaching-extra__inner is just the revealed content's padding/
   layout wrapper now -- .coaching-card (above) owns all the visual
   framing. overflow:hidden + min-height:0 here are what make the
   grid-template-rows 0fr/1fr collapse actually reach zero height. */
.coaching-extra__inner {
  overflow: hidden;
  min-height: 0;
  width: 100%;
  margin: 0;
  padding: clamp(28px, 3.5vw, 44px) clamp(24px, 4vw, 44px) clamp(32px, 3.5vw, 48px);
}


/* FINAL SINGLE ROBOT HANDOFF - hero and services use the same video element */
.svcd-hero__robot.svcd-pin__robot.is-service-mode{
  --robot-x:3vw;
  --robot-y:17vh;
  --robot-scale:1;
  position:fixed !important;
  left:0 !important;
  top:0 !important;
  right:auto !important;
  bottom:auto !important;
  width:clamp(132px,15vw,230px) !important;
  height:auto !important;
  z-index:9 !important;
  pointer-events:none !important;
  opacity:0 !important;
  visibility:hidden;
  transform:translate3d(var(--robot-x),var(--robot-y),0) scale(calc(var(--robot-scale) * .96)) !important;
  transform-origin:50% 82% !important;
  filter:drop-shadow(0 24px 34px rgba(0,0,0,.34)) saturate(1.06) !important;
  transition:opacity .45s ease, transform 1050ms cubic-bezier(.22,1,.36,1) !important;
}
.svcd-hero__robot.svcd-pin__robot.is-service-mode.is-visible{
  opacity:.96 !important;
  visibility:visible;
  transform:translate3d(var(--robot-x),var(--robot-y),0) scale(var(--robot-scale)) !important;
}
@media (max-width:900px){
  .svcd-hero__robot.svcd-pin__robot.is-service-mode{display:none !important;}
}



/* FINAL UNIFIED ROBOT MOTION - one transform system for hero and services */
.svcd-hero__robot.svcd-pin__robot,
.svcd-hero__robot.svcd-pin__robot.is-service-mode,
.svcd-hero__robot.svcd-pin__robot.is-service-mode.is-visible {
  --unified-robot-x: 1100px;
  --unified-robot-y: 408px;
  --unified-robot-scale: 2.51;
  --unified-robot-opacity: .96;
  position: fixed !important;
  left: 0 !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  width: clamp(132px,15vw,230px) !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  z-index: 9 !important;
  pointer-events: none !important;
  visibility: visible !important;
  opacity: var(--unified-robot-opacity) !important;
  transform: translate3d(var(--unified-robot-x), var(--unified-robot-y), 0) scale(var(--unified-robot-scale)) !important;
  transform-origin: 50% 82% !important;
  filter: drop-shadow(0 30px 58px rgba(0,0,0,.33)) saturate(1.06) !important;
  transition: transform 1050ms cubic-bezier(.22,1,.36,1), opacity 320ms ease !important;
  will-change: transform, opacity !important;
}
@media (max-width:900px){
  .svcd-hero__robot.svcd-pin__robot,
  .svcd-hero__robot.svcd-pin__robot.is-service-mode,
  .svcd-hero__robot.svcd-pin__robot.is-service-mode.is-visible { display:none !important; }
}

/* FINAL AFTER-SERVICES CTA + FOOTER REVEAL */
.svcd-page .svcd-after-services {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: clamp(54px, 8vh, 92px) var(--pad-x) clamp(34px, 6vh, 72px) !important;
  opacity: 0;
  transform: translate3d(0, 86px, 0);
  transition: opacity 720ms ease, transform 1050ms cubic-bezier(.22, 1, .36, 1);
  will-change: opacity, transform;
}

.svcd-page .svcd-after-services.is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* FINAL â€” reskinned to match Home's established dark-glass card
   treatment (.sec-services .svc-card: border rgba(157,129,255,.28),
   background-color #03041D, inset-highlight + drop-shadow box-shadow;
   hover deepens both) instead of this card's previous distinct
   gradient-border-banner look. Content/layout/padding/radius/place-
   in-page are all unchanged â€” only background/border/shadow moved
   to the shared card language. The old padding:1.5px + gradient
   background "clip trick" (used to fake a gradient border) is
   replaced by a real 1px border directly on .svcd-cta__box, so
   .svcd-cta__inner no longer needs its own background layer. */
.svcd-page .svcd-after-services .svcd-cta__box {
  border-radius: 22px !important;
  padding: 0 !important;
  border: 1px solid rgba(157, 129, 255, .28) !important;
  background: #03041D !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 18px 44px rgba(0, 0, 0, .34) !important;
  transition: border-color .28s ease, box-shadow .28s ease !important;
}
.svcd-page .svcd-after-services .svcd-cta__box:hover,
.svcd-page .svcd-after-services .svcd-cta__box:focus-within {
  border-color: rgba(157, 129, 255, .5) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 26px 58px rgba(0, 0, 0, .44) !important;
}

.svcd-page .svcd-after-services .svcd-cta__inner {
  min-height: 104px !important;
  border-radius: 20.5px !important;
  background: transparent !important;
  padding: clamp(22px, 2.2vw, 30px) clamp(24px, 3vw, 42px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: clamp(22px, 3vw, 42px) !important;
}

.svcd-page .svcd-after-services .svcd-cta__left {
  display: flex !important;
  align-items: center !important;
  gap: clamp(18px, 2.2vw, 28px) !important;
  min-width: 0 !important;
}

.svcd-page .svcd-after-services .svcd-cta__icon {
  width: clamp(58px, 5vw, 78px) !important;
  height: clamp(58px, 5vw, 78px) !important;
  border-radius: 999px !important;
  border: 1.5px solid rgba(178, 96, 255, .72) !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  box-shadow: inset 0 0 20px rgba(124, 58, 237, .18), 0 0 34px rgba(124, 58, 237, .26) !important;
}

.svcd-page .svcd-after-services .svcd-cta__icon svg {
  width: clamp(26px, 2.5vw, 36px) !important;
  height: clamp(26px, 2.5vw, 36px) !important;
  transform: none !important;
}

.svcd-page .svcd-after-services .svcd-cta__title,
.svcd-page .svcd-after-services .svcd-cta__sub {
  display: block !important;
  font-family: 'Manrope', Arial, sans-serif !important;
}

.svcd-page .svcd-after-services .svcd-cta__title {
  color: #fff !important;
  font-size: clamp(19px, 1.45vw, 25px) !important;
  line-height: 1.18 !important;
  font-weight: 800 !important;
  margin: 0 0 6px !important;
}

.svcd-page .svcd-after-services .svcd-cta__sub {
  color: rgba(255, 255, 255, .68) !important;
  font-size: clamp(14px, 1vw, 16px) !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
}

.svcd-page .svcd-after-services .svcd-cta__btn {
  min-height: 58px !important;
  padding: 0 clamp(24px, 2.4vw, 34px) !important;
  border-radius: 9px !important;
  background: linear-gradient(95deg, #7438FF 0%, #D62B9F 58%, #FF4D64 100%) !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  font-size: clamp(13px, .9vw, 15px) !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  white-space: nowrap !important;
  box-shadow: 0 16px 34px rgba(214, 43, 159, .24) !important;
}

.svcd-page .svcd-after-services .svcd-cta__btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 20px 44px rgba(214, 43, 159, .32) !important;
}

.svcd-page .footer {
  opacity: 0;
  transform: translate3d(0, 88px, 0);
  transition: opacity 720ms ease, transform 1050ms cubic-bezier(.22, 1, .36, 1);
  will-change: opacity, transform;
}

.svcd-page .footer.is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@media (max-width: 720px) {
  .svcd-page .svcd-after-services {
    padding: 44px 22px 34px !important;
  }

  .svcd-page .svcd-after-services .svcd-cta__inner {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  .svcd-page .svcd-after-services .svcd-cta__left {
    align-items: flex-start !important;
  }

  .svcd-page .svcd-after-services .svcd-cta__btn {
    width: 100% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .svcd-page .svcd-after-services,
  .svcd-page .footer {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* FINAL FIX: after-services CTA/footer must stay in normal page flow */
.svcd-page .svcd-after-services,
.svcd-page .footer {
  position: relative !important;
  inset: auto !important;
}

/* FINAL FIX: CTA follows the service-5 exit step, not window scroll reveal */
.svcd-page .svcd-after-services,
.svcd-page .footer {
  position: relative !important;
  inset: auto !important;
  opacity: 1 !important;
  transform: none !important;
}

.svcd-page:not(.is-service-cta-active):not(.is-past-services) .svcd-after-services {
  opacity: 0 !important;
  transform: translate3d(0, 110px, 0) scale(.94) !important;
  pointer-events: none !important;
}

.svcd-page.is-service-cta-active .svcd-after-services {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: clamp(34px, 5vh, 72px) !important;
  z-index: 8 !important;
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  margin: 0 !important;
  padding: 0 var(--pad-x) !important;
  opacity: 1 !important;
  transform: translate3d(-50%, 0, 0) scale(1) !important;
  pointer-events: auto !important;
  transition: opacity 760ms ease, transform 1120ms cubic-bezier(.22, 1, .36, 1) !important;
}

.svcd-page.is-past-services .svcd-after-services {
  position: relative !important;
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: clamp(54px, 8vh, 92px) var(--pad-x) clamp(34px, 6vh, 72px) !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
}

.svcd-page:not(.is-past-services) .footer {
  opacity: 1 !important;
  transform: none !important;
}

@media (max-width: 720px) {
  .svcd-page.is-service-cta-active .svcd-after-services {
    width: 100% !important;
    bottom: 24px !important;
    padding: 0 22px !important;
  }
}

/* FINAL CTA STABILITY OVERRIDE: normal section after services, no pin/overlay */
.svcd-page,
.svcd-page.is-service-cta-active,
.svcd-page.is-past-services {
  /* keep old state classes harmless if browser cache still has them */
}

.svcd-page .svcd-after-services,
.svcd-page.is-service-cta-active .svcd-after-services,
.svcd-page.is-past-services .svcd-after-services,
.svcd-page:not(.is-service-cta-active):not(.is-past-services) .svcd-after-services {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  z-index: auto !important;
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: clamp(54px, 8vh, 92px) var(--pad-x) clamp(34px, 6vh, 72px) !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
  transition: none !important;
}

.svcd-page .footer,
.svcd-page .footer.is-revealed {
  position: relative !important;
  inset: auto !important;
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* FINAL HARD FIX: bottom CTA/footer are invisible until services fully release */
.svcd-page .svcd-after-services,
.svcd-page .footer,
.svcd-page.is-service-cta-active .svcd-after-services,
.svcd-page:not(.is-service-cta-active):not(.is-past-services) .svcd-after-services {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  z-index: auto !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: none !important;
  pointer-events: none !important;
  transition: none !important;
}

.svcd-page.is-past-services .svcd-after-services,
.svcd-page.is-past-services .footer {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  z-index: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto !important;
  transition: none !important;
}

.svcd-page.is-past-services .svcd-after-services {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: clamp(54px, 8vh, 92px) var(--pad-x) clamp(34px, 6vh, 72px) !important;
}



/* FINAL PINNED SERVICE STAR BACKGROUND ONLY */
body.svcd-page {
  background-color: #07060D !important;
  background-image:
    radial-gradient(1.6px 1.6px at 6% 14%, rgba(255,255,255,.9) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 18% 63%, rgba(255,255,255,.62) 50%, transparent 51%),
    radial-gradient(2px 2px at 29% 30%, rgba(255,255,255,.82) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 41% 82%, rgba(255,255,255,.58) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 52% 8%, rgba(255,255,255,.74) 50%, transparent 51%),
    radial-gradient(1.8px 1.8px at 63% 55%, rgba(255,255,255,.88) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 74% 22%, rgba(255,255,255,.58) 50%, transparent 51%),
    radial-gradient(1.9px 1.9px at 85% 71%, rgba(255,255,255,.82) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 95% 40%, rgba(255,255,255,.58) 50%, transparent 51%),
    radial-gradient(1.4px 1.4px at 15% 45%, rgba(255,255,255,.72) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 33% 92%, rgba(255,255,255,.58) 50%, transparent 51%),
    radial-gradient(1.8px 1.8px at 48% 20%, rgba(255,255,255,.84) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 60% 68%, rgba(255,255,255,.58) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 72% 40%, rgba(255,255,255,.74) 50%, transparent 51%),
    radial-gradient(3.2px 3.2px at 22% 20%, rgba(255,255,255,1) 0%, rgba(255,255,255,.34) 40%, transparent 72%),
    radial-gradient(3px 3px at 68% 12%, rgba(255,255,255,1) 0%, rgba(255,255,255,.3) 40%, transparent 72%),
    radial-gradient(3.2px 3.2px at 80% 62%, rgba(255,255,255,1) 0%, rgba(255,255,255,.34) 40%, transparent 72%) !important;
  background-size:
    853px 853px, 853px 853px, 853px 853px, 853px 853px, 853px 853px,
    853px 853px, 853px 853px, 853px 853px, 853px 853px,
    611px 611px, 611px 611px, 611px 611px, 611px 611px, 611px 611px,
    920px 920px, 920px 920px, 920px 920px !important;
  background-repeat: repeat !important;
  background-position: 0 0 !important;
  background-attachment: fixed !important;
}

/* FINAL DENSER PINNED SERVICE STARS ONLY */
body.svcd-page {
  background-image:
    radial-gradient(1.6px 1.6px at 6% 14%, rgba(255,255,255,.9) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 18% 63%, rgba(255,255,255,.62) 50%, transparent 51%),
    radial-gradient(2px 2px at 29% 30%, rgba(255,255,255,.82) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 41% 82%, rgba(255,255,255,.58) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 52% 8%, rgba(255,255,255,.74) 50%, transparent 51%),
    radial-gradient(1.8px 1.8px at 63% 55%, rgba(255,255,255,.88) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 74% 22%, rgba(255,255,255,.58) 50%, transparent 51%),
    radial-gradient(1.9px 1.9px at 85% 71%, rgba(255,255,255,.82) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 95% 40%, rgba(255,255,255,.58) 50%, transparent 51%),
    radial-gradient(1.4px 1.4px at 15% 45%, rgba(255,255,255,.72) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 33% 92%, rgba(255,255,255,.58) 50%, transparent 51%),
    radial-gradient(1.8px 1.8px at 48% 20%, rgba(255,255,255,.84) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 60% 68%, rgba(255,255,255,.58) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 72% 40%, rgba(255,255,255,.74) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 8% 88%, rgba(255,255,255,.52) 50%, transparent 51%),
    radial-gradient(1.4px 1.4px at 12% 33%, rgba(255,255,255,.7) 50%, transparent 51%),
    radial-gradient(1.1px 1.1px at 21% 17%, rgba(255,255,255,.5) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 25% 78%, rgba(255,255,255,.68) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 36% 54%, rgba(255,255,255,.5) 50%, transparent 51%),
    radial-gradient(1.4px 1.4px at 44% 11%, rgba(255,255,255,.68) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 55% 36%, rgba(255,255,255,.52) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 66% 82%, rgba(255,255,255,.72) 50%, transparent 51%),
    radial-gradient(1.1px 1.1px at 77% 58%, rgba(255,255,255,.5) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 88% 24%, rgba(255,255,255,.7) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 92% 86%, rgba(255,255,255,.52) 50%, transparent 51%),
    radial-gradient(1.1px 1.1px at 4% 52%, rgba(255,255,255,.46) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 27% 44%, rgba(255,255,255,.58) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 39% 28%, rgba(255,255,255,.5) 50%, transparent 51%),
    radial-gradient(1.4px 1.4px at 51% 73%, rgba(255,255,255,.64) 50%, transparent 51%),
    radial-gradient(1.1px 1.1px at 69% 29%, rgba(255,255,255,.48) 50%, transparent 51%),
    radial-gradient(1.3px 1.3px at 81% 9%, rgba(255,255,255,.6) 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 97% 67%, rgba(255,255,255,.5) 50%, transparent 51%),
    radial-gradient(3.2px 3.2px at 22% 20%, rgba(255,255,255,1) 0%, rgba(255,255,255,.34) 40%, transparent 72%),
    radial-gradient(3px 3px at 68% 12%, rgba(255,255,255,1) 0%, rgba(255,255,255,.3) 40%, transparent 72%),
    radial-gradient(3.2px 3.2px at 80% 62%, rgba(255,255,255,1) 0%, rgba(255,255,255,.34) 40%, transparent 72%) !important;
  background-size:
    853px 853px, 853px 853px, 853px 853px, 853px 853px, 853px 853px,
    853px 853px, 853px 853px, 853px 853px, 853px 853px,
    611px 611px, 611px 611px, 611px 611px, 611px 611px, 611px 611px,
    733px 733px, 733px 733px, 733px 733px, 733px 733px, 733px 733px,
    733px 733px, 733px 733px, 733px 733px, 733px 733px, 733px 733px,
    733px 733px, 997px 997px, 997px 997px, 997px 997px, 997px 997px,
    997px 997px, 997px 997px, 997px 997px,
    920px 920px, 920px 920px, 920px 920px !important;
  background-repeat: repeat !important;
  background-position: 0 0 !important;
  background-attachment: fixed !important;
}

/* FINAL BRIGHT DENSE SERVICE STARS ONLY */
/* Density reduced twice per direct request: 33 small/4 glow -> 17/3
   -> now 9/2 (~70% fewer than the original 37 total). Each round
   kept every other star from the prior evenly-spread sequence
   (rather than clustering removals), so the spread across x (3% to
   98%) and y stays balanced with no empty/overcrowded patches. Same
   per-star size/opacity formula and background-repeat/position/
   attachment mechanics as before, so the appearance and "fixed"
   pinned-backdrop behavior are unchanged â€” just fewer of them. */
body.svcd-page {
  background-color: var(--bg-hero) !important;
  background-image:
    radial-gradient(2.2px 2.2px at 3% 7%, rgba(255,255,255,1) 45%, transparent 58%),
    radial-gradient(1.6px 1.6px at 15% 55%, rgba(255,255,255,.82) 45%, transparent 58%),
    radial-gradient(1.8px 1.8px at 27% 18%, rgba(255,255,255,.88) 45%, transparent 58%),
    radial-gradient(1.6px 1.6px at 38% 84%, rgba(255,255,255,.82) 45%, transparent 58%),
    radial-gradient(1.7px 1.7px at 50% 74%, rgba(255,255,255,.86) 45%, transparent 58%),
    radial-gradient(1.7px 1.7px at 62% 82%, rgba(255,255,255,.86) 45%, transparent 58%),
    radial-gradient(1.7px 1.7px at 74% 88%, rgba(255,255,255,.86) 45%, transparent 58%),
    radial-gradient(1.7px 1.7px at 86% 76%, rgba(255,255,255,.86) 45%, transparent 58%),
    radial-gradient(1.7px 1.7px at 98% 92%, rgba(255,255,255,.86) 45%, transparent 58%),
    radial-gradient(4.2px 4.2px at 17% 23%, rgba(255,255,255,1) 0%, rgba(255,255,255,.58) 35%, transparent 72%),
    radial-gradient(4.4px 4.4px at 82% 62%, rgba(255,255,255,1) 0%, rgba(255,255,255,.58) 35%, transparent 72%) !important;
  background-size:
    390px 390px, 470px 470px, 450px 450px, 430px 430px, 410px 410px,
    390px 390px, 470px 470px, 450px 450px, 430px 430px,
    760px 760px, 860px 860px !important;
  background-repeat: repeat !important;
  background-position: 0 0 !important;
  background-attachment: fixed !important;
}

/* FINAL SERVICES HERO COPY POSITION */
.svcd-hero .svcd-hero__copy {
  margin-top: clamp(120px, 18vh, 190px) !important;
}


/* Cross-document View Transitions (nav + page crossfade) are removed
   site-wide now. Root cause found via a screen recording: on a real
   navigation, the browser applied the DESTINATION page's nav state
   (e.g. its correct active-link color) instantly, while the outgoing
   page's body kept cross-fading out underneath for up to ~260ms â€” and
   under some timing/interruption conditions that mismatched state
   (new nav + stale old body) lingered far longer than the declared
   260ms before resolving. This file also had TWO different, competing
   view-transition-name values assigned to .nav (one earlier in this
   file named it "site-nav", this block named it "e4la-nav") â€” only
   one can ever win the cascade, so the other was silently dead code,
   the same "duplicated authority across the file" problem that caused
   the earlier plain-CSS nav bugs. A plain instant full-page swap (the
   default with this feature off) can't produce a mismatched nav/body
   state, so that's what every page gets now. */

/* Nav/header sizing, links, CTA, badge, mobile menu â€” all of it â€”
   now lives exclusively in nav.css (loaded last on every page) as a
   single shared component. The three separate copies that used to
   sit here (FINAL SHARED NAV COMPONENT / FINAL NAV TYPOGRAPHY LOCK /
   FINAL NAV POSITION + TYPE HARD LOCK), each with their own
   escalating !important/specificity tricks, were the actual cause
   of the nav rendering inconsistently between pages: whichever rule
   happened to win in a given context differed page to page. Do not
   re-add nav rules here â€” edit nav.css instead. */

/* ============================================================
   FINAL SHARED TYPOGRAPHY TOKEN SYSTEM â€” Home + Services
   consolidates the roles below onto one shared scale so the same
   kind of title/subtitle/body copy reads identically everywhere
   it appears on these two pages. about.html does not load this
   stylesheet (it has its own assets/css/about.css) â€” matching
   concrete values are mirrored there so About stays visually in
   sync without merging the two separate CSS architectures.
   Roles covered: hero/page title, section title, subtitle/eyebrow,
   description/body copy, small supporting text, CTA labels.
   Nav labels were already consistent site-wide and are untouched.
   ============================================================ */
:root {
  --font-primary: 'Manrope', Arial, sans-serif;
  --text-hero: clamp(36px, 4vw, 66px);
  --fw-hero: 700;
  --line-height-hero: 1.04;
  --text-section-title: clamp(32px, 2.4vw, 44px);
  --fw-section-title: 700;
  --line-height-heading: 1.12;
  --text-subtitle: 14px;
  --fw-subtitle: 800;
  --ls-subtitle: 0.24em;
  --text-body: clamp(14.5px, 1vw, 16px);
  --fw-body: 400;
  --line-height-body: 1.56;
  --text-small: clamp(14px, 0.95vw, 15.5px);
  --line-height-small: 1.52;
  --text-cta: 13px;
  --fw-cta: 400;
}

/* Hero / page title â€” Home's marketing hero and Services' page
   title are the same semantic role and now share one scale. */
.hero__h1,
.svcd-h1 {
  font-family: var(--font-primary) !important;
  font-size: var(--text-hero) !important;
  font-weight: var(--fw-hero) !important;
  line-height: var(--line-height-hero) !important;
  letter-spacing: normal !important;
}
/* Consistent mobile breakpoint for the hero/page-title role â€” Home
   already had its own 700px override to keep the headline from
   wrapping awkwardly on phones; giving Services' page title the
   same breakpoint + value keeps the two in sync at every width. */
@media (max-width: 700px) {
  .hero__h1,
  .svcd-h1 {
    font-size: clamp(36px, 12vw, 58px) !important;
  }
}

/* Section titles â€” brings the booking headline (previously its
   own ID-scoped 36px/800 override) in line with Approach/Why so
   every "normal" section title matches. The larger Home-services
   intro heading (.services-top__h2, ~66px) is a deliberately
   bigger statement heading and is preserved as-is, matching the
   allowed hero-vs-section-title distinction. */
.section-heading,
.approach__h2,
.why__h2,
#coaching .coaching__h2 {
  font-family: var(--font-primary) !important;
  font-size: var(--text-section-title) !important;
  font-weight: var(--fw-section-title) !important;
  line-height: var(--line-height-heading) !important;
  letter-spacing: 0 !important;
}

/* Subtitle / eyebrow / overline */
.section-eyebrow,
.hero__eyebrow,
.label-tag,
.approach__label,
.why__label,
.coaching__label,
.sec-services .label-tag,
.svcd-eyebrow {
  font-family: var(--font-primary) !important;
  font-size: var(--text-subtitle) !important;
  font-weight: var(--fw-subtitle) !important;
  letter-spacing: var(--ls-subtitle) !important;
}

/* Description / body copy */
.section-description,
.hero__desc,
.approach__desc,
.coaching__desc,
.why__desc,
.svcd-sub {
  font-family: var(--font-primary) !important;
  font-size: var(--text-body) !important;
  font-weight: var(--fw-body) !important;
  line-height: var(--line-height-body) !important;
}

/* Small supporting text */
.card-description,
.svc-card__desc,
.why-item__body,
.aud-card__desc,
.tstep__sub,
.footer__links a {
  font-family: var(--font-primary) !important;
  font-size: var(--text-small) !important;
  line-height: var(--line-height-small) !important;
}

/* .gain-item__text and .schedule-card__meta li were folded into the
   shared "small supporting text" role above (matching .tstep__sub's
   size/line-height so Gain/Schedule read consistently with Approach),
   but that shared rule also normalizes font-weight to 400 for every
   selector in its list. These two were originally semi-bold (600) by
   design â€” restoring that here so only size/line-height unified,
   not the intentional weight difference. */
.gain-item__text,
.schedule-card__meta li {
  font-weight: 600 !important;
}
/* .faq-item__q: explicitly semibold, NOT bold, per direct feedback â€”
   enough weight to read as a clickable question row without looking
   like a heading. */
.faq-item__q {
  font-weight: 600 !important;
}

/* CTA / button labels â€” non-nav buttons (.site-cta group, line
   ~6514) already share font-family:Manrope / font-size:13px, and
   the earlier "FINAL CTA TYPOGRAPHY" rule already collapsed every
   one of them to font-weight:400 â€” so this role is already
   consistent and is intentionally left untouched here. The nav
   CTA ("Let's Connect") deliberately keeps its own Inter/11px
   styling as part of the nav, which is a distinct role (see Nav
   labels below) and is NOT targeted by this token block. */

/* ============================================================
   FINAL FROSTED-GLASS ACTIVE-STATE LAYER â€” illuminated circles
   Scope (explicitly named, not a blanket ".circle" selector):
     - #coaching .ctime__ico       (booking "how it works" icons)
     - .why-stat__ico              (Why-E4LA stat icons)
     - .btn-play__ring             ("How We Work" hero button badge)
     - .gain-item__ico             (What You'll Gain icons)
     - .howwork-step__ico          (How We Work Together step icons)
   EXCLUDED, per explicit instruction: every circle inside the
   Approach section (.tstep__circle / .timeline__track family) â€”
   none of the selectors below reference .sec-approach or
   .tstep__circle, so that section is untouched.
   .gain-item__ico and .howwork-step__ico use a child <svg> for their
   icon (not a background-image on the circle itself, like
   #coaching .ctime__ico did before its fix), so the plain z-index:-1
   ::before trick already sits correctly behind their icon â€” no
   ::after relocation needed for these two.
   Each circle gets one ::before glass layer, inset:0 so it tracks
   the circle's own size exactly (no oversized blob), sitting
   behind it (z-index:-1) via a local stacking context, hidden
   (opacity:0, pointer-events:none) until the SAME trigger that
   already drives that circle's own glow/illumination switches it
   on â€” no new animation timing is introduced, no glow color is
   changed, and layout is unaffected since the layer is absolutely
   positioned and never influences box size. */
#coaching .ctime__ico,
.why-stat__ico,
.btn-play__ring,
.gain-item__ico,
.howwork-step__ico {
  position: relative;
  isolation: isolate;
}
#coaching .ctime__ico::before,
.why-stat__ico::before,
.btn-play__ring::before,
.gain-item__ico::before,
.howwork-step__ico::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: 50%;
  /* Resting state is deliberately faint â€” a permanent opacity:1 at
     the ORIGINAL hover-tier strength (0.07 bg + 14px blur + a wide
     0 8px 28px shadow) turned every icon into a bright frosted-white
     disc that visually swallowed the icon's own color/artwork
     ("circles gone under a white circle"). This is a bare hint of
     glass at rest; the fuller effect below only shows on the
     circle's own illumination trigger. */
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(3px) saturate(105%);
  -webkit-backdrop-filter: blur(3px) saturate(105%);
  opacity: 1;
  transform: scale(1);
  transition: opacity .3s ease, transform .3s ease, background .3s ease, border-color .3s ease, box-shadow .3s ease, backdrop-filter .3s ease;
  pointer-events: none;
}
/* .btn-play__ring carries a real 1px solid border (see line ~836:
   .btn-play__ring{border:1px solid #fff}), never overridden. inset:0
   on an absolutely positioned ::before resolves against the PADDING
   box of its containing block, i.e. just inside that border â€” so at
   inset:0 this layer sat 1px inward on every edge, ~2px smaller in
   diameter than the visible ring (the reported "not precise" gap).
   #coaching .ctime__ico resolves to border:0 (see line ~9101) and
   .why-stat__ico has no border at all, so inset:0 is already exact
   for those two; only the play-ring needs the outward correction. */
.btn-play__ring::before {
  inset: -1px;
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  #coaching .ctime__ico::before,
  .why-stat__ico::before,
  .btn-play__ring::before,
  .gain-item__ico::before,
  .howwork-step__ico::before {
    background: rgba(255, 255, 255, 0.05);
  }
}

/* Illumination trigger steps the same layer up to the fuller glass
   effect (stronger fill/border/blur/glow + a slight scale-up). */
#coaching .coaching__timeline li.is-ctime-active .ctime__ico::before,
.why-stat.is-why-active .why-stat__ico::before,
.btn-play.cta-neon:hover .btn-play__ring::before,
.btn-play.cta-neon:focus-visible .btn-play__ring::before,
.gain-item.is-gain-active .gain-item__ico::before,
.howwork-step.is-howwork-active .howwork-step__ico::before {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.2),
    0 8px 26px rgba(0, 0, 0, 0.16);
  backdrop-filter: blur(14px) saturate(125%);
  -webkit-backdrop-filter: blur(14px) saturate(125%);
  transform: scale(1.04);
}

@media (prefers-reduced-motion: reduce) {
  #coaching .ctime__ico::before,
  .why-stat__ico::before,
  .btn-play__ring::before,
  .gain-item__ico::before,
  .howwork-step__ico::before {
    transition: opacity .01ms linear !important;
  }
}

/* The nav__cta / nav__mobile-cta badge-centering saga that used to
   live here is resolved structurally now: nav.css's badge is
   position:absolute with no travel animation and no dependency on
   the label's layout, so there's nothing left to re-center. See
   nav.css for the single, current implementation. */

/* FINAL CTA BEAM CLIP + RETURN FIX */
.btn-outline-white.cta-neon,
.btn-play.cta-neon,
.cal__cta.cta-neon,
.cta-warm__btn.cta-neon,
#js-book.cta-neon {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  backface-visibility: hidden !important;
}
.btn-outline-white.cta-neon .cta-neon__beam,
.btn-play.cta-neon .cta-neon__beam,
.cal__cta.cta-neon .cta-neon__beam,
.cta-warm__btn.cta-neon .cta-neon__beam,
#js-book.cta-neon .cta-neon__beam {
  display: none !important;
}
.btn-outline-white.cta-neon::before,
.btn-play.cta-neon::before,
.cal__cta.cta-neon::before,
.cta-warm__btn.cta-neon::before,
#js-book.cta-neon::before {
  inset: 0 !important;
  border-radius: inherit !important;
  clip-path: inset(0 round inherit) !important;
  pointer-events: none !important;
}
.btn-outline-white.cta-neon .cta-neon__badge,
.btn-play.cta-neon .cta-neon__badge,
.cal__cta.cta-neon .cta-neon__badge,
.cta-warm__btn.cta-neon .cta-neon__badge,
#js-book.cta-neon .cta-neon__badge {
  transition: transform 680ms cubic-bezier(.22,1,.36,1), box-shadow 420ms ease, background 420ms ease !important;
  will-change: transform !important;
  z-index: 2 !important;
}
.btn-outline-white.cta-neon .cta-neon__label,
.btn-play.cta-neon .cta-neon__label,
.cal__cta.cta-neon .cta-neon__label,
.cta-warm__btn.cta-neon .cta-neon__label,
#js-book.cta-neon .cta-neon__label {
  position: relative !important;
  z-index: 3 !important;
}
@media (hover: hover) and (pointer: fine) {
  .btn-outline-white.cta-neon:hover,
  .btn-play.cta-neon:hover,
  .cal__cta.cta-neon:hover,
  .cta-warm__btn.cta-neon:hover,
  #js-book.cta-neon:hover {
    overflow: hidden !important;
  }
}


/* FINAL HERO CTA RETURN SYNC ONLY */
.btn-outline-white.cta-neon::before,
.btn-play.cta-neon::before,
.cal__cta.cta-neon::before,
#js-book.cta-neon::before {
  transition: width 840ms cubic-bezier(.22,1,.36,1), clip-path 840ms cubic-bezier(.22,1,.36,1) !important;
}
.btn-outline-white.cta-neon .cta-neon__badge,
.btn-play.cta-neon .cta-neon__badge,
.cal__cta.cta-neon .cta-neon__badge,
#js-book.cta-neon .cta-neon__badge {
  transition: transform 840ms cubic-bezier(.22,1,.36,1), left 840ms cubic-bezier(.22,1,.36,1), box-shadow 520ms ease !important;
}
.btn-outline-white.cta-neon .cta-neon__label,
.btn-play.cta-neon .cta-neon__label,
.cal__cta.cta-neon .cta-neon__label,
#js-book.cta-neon .cta-neon__label {
  transform: none !important;
}


/* FINAL HERO CTA GRADIENT RETURN SLOWDOWN ONLY */
.btn-outline-white.cta-neon::before,
.btn-play.cta-neon::before,
.cal__cta.cta-neon::before,
#js-book.cta-neon::before {
  transition: width 1040ms cubic-bezier(.22,1,.36,1), clip-path 1040ms cubic-bezier(.22,1,.36,1) !important;
}


/* FINAL CTA FONT CONSISTENCY */
.cta-neon .cta-neon__label,
.coaching-more__btn,
.services-top__link,
.section-cta,
.cal__cta,
.cta-warm__btn,
.schedule-card__btn {
  font-family: Inter, Manrope, Helvetica Neue, Arial, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
}

/* FINAL READ MORE = HOW WE WORK TOGGLE CTA */
.coaching-more__btn {
  --badge-d: 46px;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 54px !important;
  padding: 14px 38px 14px calc(var(--badge-d) + 16px) !important;
  border: 1.5px solid transparent !important;
  border-radius: 999px !important;
  background: linear-gradient(#0a0612, #0a0612) padding-box, linear-gradient(90deg, #F97316, #DB2777, #7C3AED) border-box !important;
  color: #fff !important;
  overflow: hidden !important;
  isolation: isolate !important;
  box-shadow: 0 0 12px rgba(219,39,119,.18), inset 0 0 10px rgba(219,39,119,.06) !important;
  transform: none !important;
  transition: box-shadow .35s cubic-bezier(.4, 0, .2, 1), transform .28s cubic-bezier(.2, .8, .2, 1) !important;
}
.coaching-more__btn::before {
  content: attr(data-empty) !important;
  position: absolute !important;
  top: -1.5px !important;
  bottom: -1.5px !important;
  left: -1.5px !important;
  width: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #F97316, #DB2777, #7C3AED) !important;
  z-index: 1 !important;
  transition: width .45s cubic-bezier(.4, 0, .2, 1) !important;
  pointer-events: none !important;
}
.coaching-more__btn[aria-expanded=true]::before {
  width: calc(100% + 3px) !important;
}
.coaching-more__btn:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 28px rgba(109, 40, 217, .30), 0 4px 12px rgba(219, 39, 119, .20) !important;
}
.coaching-more__label {
  position: relative !important;
  z-index: 2 !important;
  font-family: Inter, Manrope, Helvetica Neue, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}
.coaching-more__chev {
  position: absolute !important;
  top: 50% !important;
  left: -1.5px !important;
  z-index: 2 !important;
  width: var(--badge-d) !important;
  height: var(--badge-d) !important;
  min-width: var(--badge-d) !important;
  min-height: var(--badge-d) !important;
  max-width: var(--badge-d) !important;
  max-height: var(--badge-d) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 15px !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: radial-gradient(circle at 32% 28%, #fdba74, #F97316 24%, #DB2777 60%, #7C3AED 100%) !important;
  transform: translateY(-50%) rotate(-90deg) !important;
  transition: left .45s cubic-bezier(.4, 0, .2, 1), transform .45s cubic-bezier(.4, 0, .2, 1) !important;
  pointer-events: none !important;
}
.coaching-more__btn[aria-expanded=true] .coaching-more__chev {
  left: calc(100% + 1.5px - var(--badge-d)) !important;
  transform: translateY(-50%) rotate(90deg) !important;
}

/* FINAL READ MORE HOW-WE-WORK MATCH */
.coaching-more__btn {
  --badge-d: 46px;
  position: relative !important;
  min-height: 54px !important;
  padding: 14px 38px 14px calc(var(--badge-d) + 16px) !important;
  border-radius: 999px !important;
  border: 1.5px solid transparent !important;
  background: linear-gradient(#0a0612, #0a0612) padding-box, linear-gradient(90deg, #F97316, #DB2777, #7C3AED) border-box !important;
  overflow: hidden !important;
  isolation: isolate !important;
}
.coaching-more__btn::before {
  content: attr(data-empty) !important;
  position: absolute !important;
  top: -1.5px !important;
  bottom: -1.5px !important;
  left: -1.5px !important;
  width: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #F97316, #DB2777, #7C3AED) !important;
  z-index: 1 !important;
  pointer-events: none !important;
  transition: width .45s cubic-bezier(.4, 0, .2, 1) !important;
}
.coaching-more__btn[aria-expanded=true]::before {
  width: calc(100% + 3px) !important;
}
.coaching-more__label {
  position: relative !important;
  z-index: 2 !important;
  color: #fff !important;
  font-family: Inter, Manrope, Helvetica Neue, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
.coaching-more__chev {
  position: absolute !important;
  top: 50% !important;
  left: -1.5px !important;
  z-index: 2 !important;
  width: var(--badge-d) !important;
  height: var(--badge-d) !important;
  min-width: var(--badge-d) !important;
  min-height: var(--badge-d) !important;
  max-width: var(--badge-d) !important;
  max-height: var(--badge-d) !important;
  padding: 15px !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: radial-gradient(circle at 32% 28%, #fdba74, #F97316 24%, #DB2777 60%, #7C3AED 100%) !important;
  transform: translateY(-50%) rotate(-90deg) !important;
  transition: left .45s cubic-bezier(.4, 0, .2, 1), transform .45s cubic-bezier(.4, 0, .2, 1) !important;
}
.coaching-more__btn[aria-expanded=true] .coaching-more__chev {
  left: calc(100% + 1.5px - var(--badge-d)) !important;
  transform: translateY(-50%) rotate(90deg) !important;
}

/* FINAL READ MORE CTA LENGTH + PALM BADGE */
.coaching-more__btn {
 --badge-d: 48px !important;
 min-width: 238px !important;
 min-height: 56px !important;
 padding: 14px calc(var(--badge-d) + 24px) !important;
}
.coaching-more__btn[aria-expanded=true]::before,
.coaching-more__btn[aria-expanded=true]::before {
 width: calc(100% + 3px) !important;
}
.coaching-more__label {
 text-align: center !important;
 pointer-events: none !important;
}
.coaching-more__chev {
 width: var(--badge-d) !important;
 height: var(--badge-d) !important;
 min-width: var(--badge-d) !important;
 min-height: var(--badge-d) !important;
 max-width: var(--badge-d) !important;
 max-height: var(--badge-d) !important;
 padding: 0 !important;
 display: grid !important;
 place-items: center !important;
 overflow: hidden !important;
}
.coaching-more__palm {
 width: 22px !important;
 height: 22px !important;
 display: block !important;
 object-fit: contain !important;
 filter: drop-shadow(0 1px 2px rgba(0,0,0,.18)) !important;
 pointer-events: none !important;
}


/* FINAL READ MORE CTA STRAIGHT BADGE + EXACT HEIGHT */
.coaching-more__btn {
  --badge-d: 48px !important;
  height: var(--badge-d) !important;
  min-height: var(--badge-d) !important;
  max-height: var(--badge-d) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: calc(var(--badge-d) + 24px) !important;
  padding-right: calc(var(--badge-d) + 24px) !important;
  align-items: center !important;
}
.coaching-more__chev {
  top: 50% !important;
  transform: translateY(-50%) !important;
  transition: left .45s cubic-bezier(.4, 0, .2, 1) !important;
}
.coaching-more__btn[aria-expanded= true] .coaching-more__chev,
.coaching-more__btn[aria-expanded=true] .coaching-more__chev {
  left: calc(100% + 1.5px - var(--badge-d)) !important;
  transform: translateY(-50%) !important;
}
.coaching-more__palm {
  transform: none !important;
}

/* FINAL MATCH SECONDARY STRATEGY CTAS TO LETS CONNECT */
.schedule-card__btn,
.svcd-page .svcd-after-services .svcd-cta__btn,
.svcd-cta__btn {
  min-width: 0 !important;
  width: auto !important;
  min-height: 46px !important;
  padding: 13px 22px !important;
  border: 0 !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  color: #fff !important;
  background: linear-gradient(100deg, #F97316 0%, #DB2777 52%, #7C3AED 100%) !important;
  box-shadow: 0 12px 30px rgba(219, 39, 119, .24), 0 4px 14px rgba(124, 58, 237, .18) !important;
  font-family: Inter, Manrope,  Helvetica Neue, Arial, sans-serif !important;
  font-size: 11.5px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  transform: none !important;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease !important;
}
.schedule-card__btn:hover,
.svcd-page .svcd-after-services .svcd-cta__btn:hover,
.svcd-cta__btn:hover {
  transform: translateY(-1px) !important;
  filter: saturate(1.06) brightness(1.03) !important;
  box-shadow: 0 16px 34px rgba(219, 39, 119, .30), 0 6px 18px rgba(124, 58, 237, .22) !important;
}
.schedule-card__btn svg,
.svcd-page .svcd-after-services .svcd-cta__btn svg,
.svcd-cta__btn svg {
  width: 13px !important;
  height: 13px !important;
  flex: 0 0 auto !important;
}

/* FINAL SERVICE 5 PAINT EVENTS CTA-STROKE HIGHLIGHT */
.svcd-pin__tags li.svcd-pin__tag--paint {
  width: max-content !important;
  max-width: 100% !important;
  min-height: 46px !important;
  padding: 10px 22px 10px 16px !important;
  border: 1.5px solid transparent !important;
  border-radius: 999px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background:
    linear-gradient(rgba(10, 6, 18, .62), rgba(10, 6, 18, .62)) padding-box,
    linear-gradient(100deg, #F97316 0%, #DB2777 52%, #7C3AED 100%) border-box !important;
  box-shadow: 0 12px 30px rgba(219, 39, 119, .20), 0 0 18px rgba(124, 58, 237, .22) !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.42) !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
}
.svcd-pin__tags li.svcd-pin__tag--paint::before {
  width: 11px !important;
  height: 11px !important;
  border-color: rgba(255,255,255,.92) !important;
  background: #fff !important;
  box-shadow: 0 0 12px rgba(255,255,255,.42) !important;
}

/* FINAL SERVICE 5 PAINT EVENTS STROKE ONLY */
.svcd-pin__tags li.svcd-pin__tag--paint {
  background:
    linear-gradient(transparent, transparent) padding-box,
    linear-gradient(100deg, #F97316 0%, #DB2777 52%, #7C3AED 100%) border-box !important;
  box-shadow: 0 0 18px rgba(219, 39, 119, .16), 0 0 18px rgba(124, 58, 237, .16) !important;
}

/* FINAL SERVICE 5 PAINT EVENTS TRUE STROKE ONLY - NO FILL */
.svcd-pin__tags li.svcd-pin__tag--paint,
.svcd-pin__tags li.svcd-pin__tag--paint.is-tag-active {
  background-color: transparent !important;
  background-image:
    linear-gradient(transparent, transparent),
    linear-gradient(100deg, #F97316 0%, #DB2777 52%, #7C3AED 100%) !important;
  background-origin: border-box !important;
  background-clip: padding-box, border-box !important;
  -webkit-background-clip: padding-box, border-box !important;
  border: 1.5px solid transparent !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: none !important;
}

/* FINAL SERVICE 5 PAINT EVENTS PSEUDO STROKE ONLY */
.svcd-pin__tags li.svcd-pin__tag--paint,
.svcd-pin__tags li.svcd-pin__tag--paint.is-tag-active {
  position: relative !important;
  isolation: isolate !important;
  background: transparent !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.svcd-pin__tags li.svcd-pin__tag--paint::after {
  content:  !important;
 position: absolute !important;
 inset: 0 !important;
 border-radius: inherit !important;
 padding: 1.5px !important;
 background: linear-gradient(100deg, #F97316 0%, #DB2777 52%, #7C3AED 100%) !important;
 -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) !important;
 -webkit-mask-composite: xor !important;
 mask-composite: exclude !important;
 pointer-events: none !important;
 z-index: -1 !important;
}

/* FINAL SERVICE 5 PAINT EVENTS VISIBLE STROKE ONLY */
.svcd-pin__tags li.svcd-pin__tag--paint,
.svcd-pin__tags li.svcd-pin__tag--paint.is-tag-active {
  position: relative !important;
  z-index: 0 !important;
  isolation: isolate !important;
  border-radius: 999px !important;
  padding: 10px 22px 10px 16px !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.svcd-pin__tags li.svcd-pin__tag--paint::after,
.svcd-pin__tags li.svcd-pin__tag--paint.is-tag-active::after {
  content:  !important;
 position: absolute !important;
 inset: 0 !important;
 border-radius: 999px !important;
 padding: 2px !important;
 background: linear-gradient(100deg, #F97316 0%, #DB2777 52%, #7C3AED 100%) !important;
 -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0) !important;
 -webkit-mask-composite: xor !important;
 mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0) !important;
 mask-composite: exclude !important;
 pointer-events: none !important;
 z-index: 2 !important;
}
.svcd-pin__tags li.svcd-pin__tag--paint::before {
 position: relative !important;
 z-index: 3 !important;
}

/* FINAL SERVICE 5 PAINT EVENTS SIMPLE WHITE STROKE */
.svcd-pin__tags li.svcd-pin__tag--paint,
.svcd-pin__tags li.svcd-pin__tag--paint.is-tag-active {
  width: max-content !important;
  max-width: 100% !important;
  min-height: 44px !important;
  padding: 8px 20px 8px 14px !important;
  border: 2px solid rgba(255,255,255,.92) !important;
  border-radius: 999px !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: 0 0 18px rgba(255,255,255,.18) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.svcd-pin__tags li.svcd-pin__tag--paint::after,
.svcd-pin__tags li.svcd-pin__tag--paint.is-tag-active::after {
  display: none !important;
  content: none !important;
}
.svcd-pin__tags li.svcd-pin__tag--paint::before {
  width: 11px !important;
  height: 11px !important;
  border-color: #fff !important;
  background: #fff !important;
}

/* FINAL BOOKING POPUP MODAL */
body.booking-modal-open {
  overflow: hidden !important;
}

.booking-modal {
  position: fixed;
  inset: var(--e4la-nav-h, 84px) 0 0;
  z-index: 9000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  color: #fff;
  font-family: Manrope, Inter, "Helvetica Neue", Arial, sans-serif;
  transition: opacity 280ms ease, visibility 280ms ease;
}

.booking-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.booking-modal__backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 22% 20%, rgba(124, 58, 237, .24), transparent 34%),
    radial-gradient(circle at 88% 10%, rgba(219, 39, 119, .18), transparent 32%),
    linear-gradient(135deg, rgba(9, 7, 18, .97), rgba(27, 17, 62, .96) 48%, rgba(18, 10, 42, .98));
  backdrop-filter: blur(16px);
}

.booking-modal__shell {
  position: relative;
  min-height: 100%;
  max-height: 100%;
  overflow: auto;
  padding: clamp(26px, 3.8vw, 56px) clamp(24px, 4vw, 72px) clamp(36px, 5vw, 72px);
}

.booking-modal__grid {
  width: min(100%, 1220px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.42fr) minmax(340px, .9fr);
  gap: clamp(34px, 4.4vw, 64px);
  align-items: start;
}

.booking-modal__back,
.booking-modal__close {
  appearance: none;
  border: 0;
  background: transparent;
  color: rgba(216, 190, 255, .92);
  font: inherit;
  cursor: pointer;
}

.booking-modal__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 clamp(24px, 3vw, 38px);
  font-size: 13px;
  font-weight: 600;
}

.booking-modal__close {
  position: fixed;
  top: calc(var(--e4la-nav-h, 84px) + 18px);
  right: clamp(20px, 4vw, 54px);
  z-index: 2;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.055);
  box-shadow: 0 18px 44px rgba(0,0,0,.22);
}

.booking-modal__close svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}

.booking-entry__eyebrow,
.booking-summary__eyebrow,
.booking-summary__fit p {
  margin: 0;
  color: #c084fc;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.booking-entry__title {
  margin: 14px 0 10px;
  font-size: clamp(34px, 3vw, 48px);
  line-height: 1.08;
  font-weight: 700;
  letter-spacing: -0.03em;
}

.booking-entry__copy {
  margin: 0 0 28px;
  max-width: 640px;
  color: rgba(255,255,255,.66);
  font-size: 15px;
  line-height: 1.55;
}

.booking-form {
  display: grid;
  gap: 22px;
}

.booking-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.booking-field {
  display: grid;
  gap: 9px;
  min-width: 0;
}

.booking-field > span {
  color: rgba(255,255,255,.88);
  font-size: 13px;
  font-weight: 700;
}

.booking-field b {
  color: #fb4c8b;
  font-weight: 800;
}

.booking-field input,
.booking-field select {
  width: 100%;
  min-height: 52px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 10px;
  background: rgba(255,255,255,.045);
  color: #fff;
  padding: 0 16px;
  font: 500 14px/1.2 Manrope, Inter, "Helvetica Neue", Arial, sans-serif;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  transition: border-color 220ms ease, box-shadow 220ms ease, background 220ms ease;
}

.booking-field select {
  color: rgba(255,255,255,.74);
}

.booking-field input::placeholder {
  color: rgba(255,255,255,.36);
}

.booking-field input:focus,
.booking-field select:focus,
.booking-modal__back:focus-visible,
.booking-modal__close:focus-visible,
.booking-submit:focus-visible {
  border-color: rgba(219, 39, 119, .72);
  box-shadow: 0 0 0 4px rgba(124, 58, 237, .22), inset 0 1px 0 rgba(255,255,255,.08);
}

.booking-submit {
  min-height: 58px;
  border: 0;
  border-radius: 999px;
  margin-top: 2px;
  background: linear-gradient(100deg, #f97316 0%, #db2777 52%, #7c3aed 100%);
  color: #fff;
  font: 800 13px/1 Manrope, Inter, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 20px 52px rgba(219, 39, 119, .25);
}

.booking-form__safe {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: -2px 0 0;
  color: rgba(255,255,255,.38);
  font-size: 13px;
}

.booking-summary {
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
  box-shadow: 0 28px 80px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08);
  padding: clamp(24px, 2.4vw, 34px);
}

.booking-summary__details,
.booking-summary__fit ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.booking-summary__details {
  display: grid;
  gap: 22px;
  padding: 26px 0;
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.booking-summary__details li {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 15px;
  align-items: center;
}

.booking-summary__icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #c084fc;
  background: rgba(124, 58, 237, .12);
  border: 1px solid rgba(192, 132, 252, .18);
}

.booking-summary__icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.booking-summary small {
  display: block;
  color: rgba(255,255,255,.46);
  font-size: 12px;
  line-height: 1.25;
  margin-bottom: 4px;
}

.booking-summary strong {
  display: block;
  color: rgba(255,255,255,.92);
  font-size: 14px;
  line-height: 1.35;
  font-weight: 700;
}

.booking-summary__fit {
  padding: 25px 0 26px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.booking-summary__fit ul {
  display: grid;
  gap: 14px;
  margin-top: 17px;
}

.booking-summary__fit li {
  position: relative;
  padding-left: 24px;
  color: rgba(255,255,255,.7);
  font-size: 13px;
  line-height: 1.45;
}

.booking-summary__fit li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .2em;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  border: 1px solid rgba(192, 132, 252, .82);
  box-shadow: inset 0 0 0 3px rgba(124, 58, 237, .22);
}

.booking-summary__contact {
  margin: 20px 0 0;
  color: rgba(255,255,255,.55);
  font-size: 13px;
}

.booking-summary__contact a {
  color: #d946ef;
  text-decoration: none;
  font-weight: 800;
}

@media (max-width: 980px) {
  .booking-modal__grid {
    grid-template-columns: 1fr;
  }

  .booking-summary {
    max-width: 680px;
  }
}

@media (max-width: 640px) {
  .booking-modal {
    inset: var(--e4la-nav-h, 74px) 0 0;
  }

  .booking-modal__shell {
    padding-inline: 20px;
  }

  .booking-form__row {
    grid-template-columns: 1fr;
  }

  .booking-entry__title {
    font-size: 32px;
  }

  .booking-submit {
    min-height: 54px;
    font-size: 12px;
    letter-spacing: .1em;
  }
}

/* FINAL BOOKING STEP 2 */
.booking-modal[data-step="1"] .booking-progress,
.booking-modal[data-step="1"] [data-booking-panel="2"],
.booking-modal[data-step="2"] [data-booking-panel="1"] {
  display: none !important;
}

.booking-modal[data-step="2"] [data-booking-panel="2"] {
  display: block !important;
}

.booking-progress {
  width: min(100%, 1220px);
  margin: 0 auto clamp(28px, 3vw, 42px);
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255,255,255,.42);
  font-family: Manrope, Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
}

.booking-progress__item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: max-content;
}

.booking-progress__item b {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.48);
  font-size: 11px;
  box-shadow: inset 0 0 0 1px rgba(124,58,237,.16);
}

.booking-progress__item.is-complete,
.booking-progress__item.is-active {
  color: rgba(255,255,255,.88);
}

.booking-progress__item.is-complete b,
.booking-progress__item.is-active b {
  color: #fff;
  border-color: rgba(192,132,252,.55);
  background: linear-gradient(135deg, #7c3aed 0%, #db2777 100%);
  box-shadow: 0 0 22px rgba(124,58,237,.48);
}

.booking-progress__line {
  width: clamp(24px, 4vw, 54px);
  height: 1px;
  background: linear-gradient(90deg, rgba(192,132,252,.58), rgba(255,255,255,.12));
  flex: 0 1 auto;
}

.booking-choice-form {
  display: grid;
  gap: 18px;
}

.booking-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.booking-choice {
  min-height: 78px;
  display: grid;
  grid-template-columns: 44px 1fr 22px;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 12px;
  background: rgba(255,255,255,.035);
  color: #fff;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  transition: border-color 220ms ease, background 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.booking-choice:hover,
.booking-choice:has(input:focus-visible) {
  border-color: rgba(192,132,252,.48);
  background: rgba(255,255,255,.06);
}

.booking-choice.is-selected,
.booking-choice:has(input:checked) {
  border-color: rgba(168,85,247,.95);
  background: linear-gradient(135deg, rgba(124,58,237,.14), rgba(219,39,119,.08));
  box-shadow: 0 0 0 1px rgba(168,85,247,.28), 0 20px 42px rgba(124,58,237,.18);
}

.booking-choice input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.booking-choice__icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #a855f7;
  background: rgba(124,58,237,.12);
  border: 1px solid rgba(168,85,247,.18);
}

.booking-choice__icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.booking-choice__icon--gold { color: #fbbf24; background: rgba(251,191,36,.1); border-color: rgba(251,191,36,.18); }
.booking-choice__icon--pink { color: #fb4c8b; background: rgba(219,39,119,.1); border-color: rgba(219,39,119,.18); }
.booking-choice__icon--cyan { color: #22d3ee; background: rgba(34,211,238,.1); border-color: rgba(34,211,238,.18); }
.booking-choice__icon--lime { color: #d9f99d; background: rgba(217,249,157,.08); border-color: rgba(217,249,157,.16); }
.booking-choice__icon--muted { color: rgba(255,255,255,.52); background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); }

.booking-choice__label {
  min-width: 0;
  color: rgba(255,255,255,.9);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
}

.booking-choice__radio {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.28);
  justify-self: end;
  box-shadow: inset 0 0 0 4px rgba(255,255,255,0);
}

.booking-choice:has(input:checked) .booking-choice__radio {
  border-color: #a855f7;
  background: #a855f7;
  box-shadow: inset 0 0 0 5px rgba(255,255,255,.75), 0 0 20px rgba(168,85,247,.46);
}

.booking-note-card {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 14px;
  align-items: center;
  min-height: 58px;
  padding: 14px 18px;
  border: 1px solid rgba(124,58,237,.28);
  border-radius: 12px;
  background: rgba(124,58,237,.075);
}

.booking-note-card__icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(124,58,237,.18);
}

.booking-note-card__icon img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.booking-note-card strong,
.booking-note-card small {
  display: block;
}

.booking-note-card strong {
  color: rgba(255,255,255,.92);
  font-size: 14px;
  line-height: 1.25;
}

.booking-note-card small {
  margin-top: 3px;
  color: rgba(255,255,255,.55);
  font-size: 12.5px;
  line-height: 1.45;
}

.booking-step-actions {
  display: grid;
  grid-template-columns: minmax(160px, .42fr) minmax(220px, .58fr);
  gap: 14px;
}

.booking-secondary {
  min-height: 54px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 999px;
  background: rgba(255,255,255,.025);
  color: rgba(255,255,255,.88);
  font: 800 12px/1 Manrope, Inter, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
}

.booking-secondary:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgba(124,58,237,.24);
}

.booking-modal[data-step="2"] .booking-summary {
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(219,39,119,.055));
}

@media (max-width: 1120px) {
  .booking-progress {
    overflow-x: auto;
    padding-bottom: 6px;
  }

  .booking-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .booking-choice-grid,
  .booking-step-actions {
    grid-template-columns: 1fr;
  }

  .booking-choice {
    min-height: 72px;
  }
}

/* FINAL BOOKING CHOICE CLICK FEEDBACK */
.booking-choice {
  transition: border-color 120ms ease, background 120ms ease, box-shadow 160ms ease, transform 120ms cubic-bezier(.22, 1, .36, 1) !important;
}

.booking-choice:active,
.booking-choice.is-pressing {
  transform: scale(1.018) !important;
}

.booking-choice.is-selected,
.booking-choice:has(input:checked) {
  transition-duration: 120ms, 120ms, 160ms, 120ms !important;
}

.booking-choice__radio,
.booking-choice__icon {
  transition: background 120ms ease, border-color 120ms ease, box-shadow 140ms ease, transform 140ms ease !important;
}

.booking-choice.is-pressing .booking-choice__icon,
.booking-choice:active .booking-choice__icon {
  transform: scale(1.06) !important;
}

/* FINAL BOOKING STEP 3 */
.booking-modal[data-step="1"] .booking-progress,
.booking-modal[data-step="1"] [data-booking-panel="2"],
.booking-modal[data-step="1"] [data-booking-panel="3"],
.booking-modal[data-step="2"] [data-booking-panel="1"],
.booking-modal[data-step="2"] [data-booking-panel="3"],
.booking-modal[data-step="3"] [data-booking-panel="1"],
.booking-modal[data-step="3"] [data-booking-panel="2"] {
  display: none !important;
}

.booking-modal[data-step="3"] [data-booking-panel="3"] {
  display: block !important;
}

.booking-details-form {
  display: grid;
  gap: 18px;
}

.booking-question {
  position: relative;
  display: grid;
  gap: 9px;
}

.booking-question > span,
.booking-radio-group legend {
  color: rgba(255,255,255,.9);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
}

.booking-question b,
.booking-radio-group b {
  color: #fb4c8b;
}

.booking-question textarea {
  width: 100%;
  min-height: 74px;
  resize: vertical;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 10px;
  background: rgba(255,255,255,.04);
  color: #fff;
  padding: 15px 16px 24px;
  font: 500 14px/1.45 Manrope, Inter, "Helvetica Neue", Arial, sans-serif;
  outline: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  transition: border-color 160ms ease, box-shadow 180ms ease, background 160ms ease;
}

.booking-question textarea::placeholder {
  color: rgba(255,255,255,.34);
}

.booking-question textarea:focus {
  border-color: rgba(219,39,119,.72);
  background: rgba(255,255,255,.055);
  box-shadow: 0 0 0 4px rgba(124,58,237,.2), inset 0 1px 0 rgba(255,255,255,.08);
}

.booking-question small {
  position: absolute;
  right: 14px;
  bottom: 10px;
  color: rgba(255,255,255,.5);
  font-size: 12px;
  line-height: 1;
}

.booking-question small em {
  font-style: normal;
}

.booking-radio-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  margin: 2px 0 0;
}

.booking-radio-group {
  border: 0;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.booking-radio-group legend {
  margin: 0 0 4px;
  padding: 0;
}

.booking-radio-group label {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.68);
  font-size: 13px;
  line-height: 1.35;
  cursor: pointer;
}

.booking-radio-group input {
  appearance: none;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.32);
  background: rgba(255,255,255,.025);
  box-shadow: inset 0 0 0 4px rgba(255,255,255,0);
  transition: border-color 120ms ease, background 120ms ease, box-shadow 120ms ease;
}

.booking-radio-group input:checked {
  border-color: #c084fc;
  background: #a855f7;
  box-shadow: inset 0 0 0 4px rgba(10,7,24,.95), 0 0 16px rgba(168,85,247,.36);
}

.booking-radio-group input:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgba(124,58,237,.24), inset 0 0 0 4px rgba(10,7,24,.95);
}

@media (max-width: 760px) {
  .booking-radio-columns {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

/* FINAL FUNCTIONAL BOOKING CALENDAR STATES */
.sec-coaching .cal__date {
  border: 0 !important;
  font: inherit !important;
  cursor: pointer !important;
}

.sec-coaching .cal__date[disabled] {
  cursor: not-allowed !important;
}

.sec-coaching .cal__date--past,
.sec-coaching .cal__date--outside-window {
  color: rgba(15,14,24,0.28) !important;
  background: transparent !important;
}

.sec-coaching .cal__date--unavailable {
  color: rgba(15,14,24,0.42) !important;
  background: rgba(0,0,0,0.025) !important;
}

.sec-coaching .cal__date--available:not(.cal__date--selected):hover,
.sec-coaching .cal__date--available:not(.cal__date--selected):focus-visible {
  background: rgba(84,35,207,0.13) !important;
  color: #0f0e18 !important;
  outline: 2px solid rgba(84,35,207,0.45) !important;
  outline-offset: 2px !important;
}

.sec-coaching .cal__date--today:not(.cal__date--selected) {
  box-shadow: inset 0 0 0 1px rgba(84,35,207,0.72) !important;
  background: rgba(84,35,207,0.08) !important;
  color: #0f0e18 !important;
}

.sec-coaching .cal__date--selected,
.sec-coaching .cal__date--selected:hover,
.sec-coaching .cal__date--selected:focus-visible {
  background: #5423cf !important;
  color: #fff !important;
  box-shadow: 0 12px 30px rgba(84,35,207,0.28) !important;
}

.sec-coaching .cal__times {
  margin-top: 12px !important;
}

.sec-coaching .cal__timezone,
.sec-coaching .cal__message {
  margin: 0 0 8px !important;
  font-size: 11.5px !important;
  line-height: 1.35 !important;
  color: rgba(15,14,24,0.62) !important;
}

.sec-coaching .cal__message {
  color: #7C3AED !important;
  font-weight: 700 !important;
}

.sec-coaching .cal__time-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.sec-coaching .cal__time-slot {
  min-height: 34px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(84,35,207,0.22) !important;
  background: rgba(255,255,255,0.62) !important;
  color: #0f0e18 !important;
  font-family: 'Manrope', Arial, sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  transition: background .18s ease, border-color .18s ease, transform .18s ease !important;
}

.sec-coaching .cal__time-slot:hover,
.sec-coaching .cal__time-slot:focus-visible {
  transform: translateY(-1px) !important;
  border-color: rgba(84,35,207,0.6) !important;
  outline: 2px solid rgba(84,35,207,0.34) !important;
  outline-offset: 2px !important;
}

.sec-coaching .cal__time-slot.is-selected {
  background: #5423cf !important;
  color: #fff !important;
  border-color: #5423cf !important;
}

.sec-coaching .cal__cta:disabled,
.sec-coaching .cal__cta[aria-disabled="true"] {
  opacity: .48 !important;
  cursor: not-allowed !important;
  filter: grayscale(.18) !important;
}

@media (max-width: 640px) {
  .sec-coaching .cal__time-list {
    grid-template-columns: 1fr !important;
  }
}

/* FINAL BOOKING TIME VISIBILITY + CTA WEIGHT */
.sec-coaching .cal__timezone,
.sec-coaching .cal__message {
  color: rgba(15,14,24,0.84) !important;
}

.sec-coaching .cal__time-slot {
  color: #080712 !important;
  background: rgba(255,255,255,0.86) !important;
  border-color: rgba(84,35,207,0.34) !important;
}

.sec-coaching .cal__time-slot.is-selected {
  color: #fff !important;
}

.sec-coaching .cal__cta .cta-neon__label {
  font-weight: 950 !important;
}

/* FINAL BOOKING DATE TIME SELECTED UX FIX */
.sec-coaching .calendar-widget .cal__timezone,
.sec-coaching .calendar-widget .cal__message {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: 0 1px 10px rgba(255,255,255,0.18) !important;
}

.sec-coaching .calendar-widget .cal__date--selected,
.sec-coaching .calendar-widget .cal__date--selected:hover,
.sec-coaching .calendar-widget .cal__date--selected:focus-visible,
.sec-coaching .calendar-widget .cal__time-slot.is-selected,
.sec-coaching .calendar-widget .cal__time-slot.is-selected:hover,
.sec-coaching .calendar-widget .cal__time-slot.is-selected:focus-visible {
  background: #301839 !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.48) !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.22), 0 12px 28px rgba(48,24,57,0.34) !important;
  transform: scale(1) !important;
  animation: bookingSelectPop 220ms cubic-bezier(.2,.8,.2,1) both !important;
}

.sec-coaching .calendar-widget .cal__date--available:hover,
.sec-coaching .calendar-widget .cal__date--available:focus-visible,
.sec-coaching .calendar-widget .cal__time-slot:hover,
.sec-coaching .calendar-widget .cal__time-slot:focus-visible {
  transform: scale(1) !important;
}

@keyframes bookingSelectPop {
  0% { transform: scale(1) !important; }
  48% { transform: scale(1.09) !important; }
  100% { transform: scale(1) !important; }
}

.sec-coaching .calendar-widget .cal__cta .cta-neon__label,
.sec-coaching .calendar-widget #js-book .cta-neon__label {
  font-weight: 950 !important;
  color: inherit !important;
}

/* FINAL BOOKING DATE TIME COLOR SWAP */
.sec-coaching .calendar-widget .cal__date--available,
.sec-coaching .calendar-widget .cal__time-slot {
  background: #301839 !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.24) !important;
}

.sec-coaching .calendar-widget .cal__date--available:hover,
.sec-coaching .calendar-widget .cal__date--available:focus-visible,
.sec-coaching .calendar-widget .cal__time-slot:hover,
.sec-coaching .calendar-widget .cal__time-slot:focus-visible {
  background: #3b2047 !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.45) !important;
  transform: scale(1) !important;
}

.sec-coaching .calendar-widget .cal__date--selected,
.sec-coaching .calendar-widget .cal__date--selected:hover,
.sec-coaching .calendar-widget .cal__date--selected:focus-visible,
.sec-coaching .calendar-widget .cal__time-slot.is-selected,
.sec-coaching .calendar-widget .cal__time-slot.is-selected:hover,
.sec-coaching .calendar-widget .cal__time-slot.is-selected:focus-visible {
  background: #9a8d98 !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.72) !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.28), 0 12px 28px rgba(154,141,152,0.26) !important;
}

/* FINAL BOOKING HOVER STROKE ONLY */
.sec-coaching .calendar-widget .cal__date--today:not(.cal__date--selected) {
  background: #301839 !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.24) !important;
  box-shadow: none !important;
}

.sec-coaching .calendar-widget .cal__date--available:not(.cal__date--selected):hover,
.sec-coaching .calendar-widget .cal__date--available:not(.cal__date--selected):focus-visible,
.sec-coaching .calendar-widget .cal__time-slot:not(.is-selected):hover,
.sec-coaching .calendar-widget .cal__time-slot:not(.is-selected):focus-visible {
  background: #301839 !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.58) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.26) !important;
  outline: none !important;
  transform: scale(1) !important;
}

.sec-coaching .calendar-widget .cal__date--selected,
.sec-coaching .calendar-widget .cal__date--selected:hover,
.sec-coaching .calendar-widget .cal__date--selected:focus-visible,
.sec-coaching .calendar-widget .cal__time-slot.is-selected,
.sec-coaching .calendar-widget .cal__time-slot.is-selected:hover,
.sec-coaching .calendar-widget .cal__time-slot.is-selected:focus-visible {
  background: #9a8d98 !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.82) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.42), 0 12px 28px rgba(154,141,152,0.26) !important;
}

/* FINAL DATE HOVER STROKE ONLY - NO FILL */
.sec-coaching .calendar-widget .cal__date--available:not(.cal__date--selected),
.sec-coaching .calendar-widget .cal__date--today:not(.cal__date--selected) {
  background: transparent !important;
  color: #ffffff !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
}

.sec-coaching .calendar-widget .cal__date--available:not(.cal__date--selected):hover,
.sec-coaching .calendar-widget .cal__date--available:not(.cal__date--selected):focus-visible,
.sec-coaching .calendar-widget .cal__date--today:not(.cal__date--selected):hover,
.sec-coaching .calendar-widget .cal__date--today:not(.cal__date--selected):focus-visible {
  background: transparent !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.62) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.22) !important;
  outline: none !important;
  transform: scale(1) !important;
}

.sec-coaching .calendar-widget .cal__date--selected,
.sec-coaching .calendar-widget .cal__date--selected:hover,
.sec-coaching .calendar-widget .cal__date--selected:focus-visible {
  background: #9a8d98 !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.82) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.42), 0 12px 28px rgba(154,141,152,0.26) !important;
}

/* FINAL BOOKING STEPS FUNCTIONAL STATES */
.booking-submit:disabled,
.booking-secondary:disabled {
  opacity: .46 !important;
  cursor: not-allowed !important;
  filter: grayscale(.18) !important;
}

.booking-field.is-invalid input,
.booking-field.is-invalid select,
.booking-question.is-invalid textarea,
.booking-radio-group.is-invalid {
  border-color: rgba(255,107,107,.72) !important;
  box-shadow: 0 0 0 1px rgba(255,107,107,.16) !important;
}

.booking-error {
  display: block !important;
  margin-top: 7px !important;
  color: #ff9b9b !important;
  font-size: 11.5px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

.booking-error[hidden] {
  display: none !important;
}

.booking-summary__extra {
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .24s ease, transform .24s ease;
}

.booking-summary__extra.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.booking-choice[tabindex="0"]:focus-visible {
  outline: 2px solid rgba(184,117,255,.72) !important;
  outline-offset: 3px !important;
}

@media (prefers-reduced-motion: reduce) {
  .booking-summary__extra {
    transition: none !important;
    transform: none !important;
  }
}

/* FINAL APPOINTMENT EDITOR MODAL */
.booking-summary__top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 24px !important;
}

.booking-summary__top .booking-summary__eyebrow {
  margin: 0 !important;
}

.booking-summary__edit {
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(209, 137, 255, .94) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 7px 0 !important;
  font-family: inherit !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  cursor: pointer !important;
}

.booking-summary__edit svg {
  width: 15px !important;
  height: 15px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.7 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.booking-summary__edit:hover,
.booking-summary__edit:focus-visible {
  color: #fff !important;
}

.booking-summary__edit:focus-visible,
.appointment-edit-modal button:focus-visible {
  outline: 2px solid rgba(184, 117, 255, .78) !important;
  outline-offset: 3px !important;
}

.appointment-edit-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 240 !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(18px, 3vw, 44px) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .28s ease !important;
}

.appointment-edit-modal.is-open {
  opacity: 1 !important;
  pointer-events: auto !important;
}

.appointment-edit-modal__backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(3, 2, 9, .74) !important;
  backdrop-filter: blur(16px) !important;
}

.appointment-edit-modal__shell {
  position: relative !important;
  width: min(100%, 760px) !important;
  max-height: min(88vh, 820px) !important;
  overflow: auto !important;
  border-radius: 28px !important;
  border: 1px solid rgba(255, 255, 255, .13) !important;
  background:
    radial-gradient(circle at 82% 8%, rgba(217, 70, 239, .18), transparent 34%),
    linear-gradient(135deg, rgba(20, 14, 48, .98), rgba(10, 8, 23, .98)) !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .46) !important;
  padding: clamp(24px, 3vw, 38px) !important;
  transform: translateY(12px) scale(.98) !important;
  transition: transform .28s ease !important;
}

.appointment-edit-modal.is-open .appointment-edit-modal__shell {
  transform: translateY(0) scale(1) !important;
}

.appointment-edit-modal__close {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  background: rgba(255, 255, 255, .04) !important;
  color: #fff !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
}

.appointment-edit-modal__close svg {
  width: 18px !important;
  height: 18px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
}

.appointment-edit-modal__head {
  max-width: 560px !important;
  padding-right: 56px !important;
  margin-bottom: 24px !important;
}

.appointment-edit-modal__head .booking-entry__title {
  font-size: clamp(28px, 3vw, 42px) !important;
  margin-bottom: 10px !important;
}

.appointment-edit-calendar.calendar-widget {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  color: #fff !important;
}

.appointment-edit-calendar .cal__body {
  border-radius: 22px !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  background: rgba(255, 255, 255, .045) !important;
  padding: clamp(18px, 3vw, 28px) !important;
}

.appointment-edit-calendar .cal__month,
.appointment-edit-calendar .cal__day-name,
.appointment-edit-calendar .cal__date,
.appointment-edit-calendar .cal__timezone,
.appointment-edit-calendar .cal__message,
.appointment-edit-calendar .cal__time-slot {
  color: #fff !important;
}

.appointment-edit-calendar .cal__grid {
  gap: 10px !important;
}

.appointment-edit-calendar .cal__date {
  border-radius: 999px !important;
  background: transparent !important;
  border: 1px solid transparent !important;
}

.appointment-edit-calendar .cal__date--available:hover,
.appointment-edit-calendar .cal__date--available:focus-visible {
  border-color: rgba(255, 255, 255, .4) !important;
  background: transparent !important;
  transform: none !important;
}

.appointment-edit-calendar .cal__date--selected,
.appointment-edit-calendar .cal__date--selected:hover,
.appointment-edit-calendar .cal__date--selected:focus-visible,
.appointment-edit-calendar .cal__time-slot.is-selected,
.appointment-edit-calendar .cal__time-slot.is-selected:hover,
.appointment-edit-calendar .cal__time-slot.is-selected:focus-visible {
  color: #fff !important;
  background: #9a8f99 !important;
  border-color: rgba(255, 255, 255, .58) !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .16), 0 12px 28px rgba(0, 0, 0, .18) !important;
}

.appointment-edit-calendar .cal__time-list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 12px !important;
}

.appointment-edit-calendar .cal__time-slot {
  min-height: 42px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  background: rgba(255, 255, 255, .055) !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

.appointment-edit-calendar .cal__time-slot:hover,
.appointment-edit-calendar .cal__time-slot:focus-visible {
  border-color: rgba(255, 255, 255, .42) !important;
  background: rgba(255, 255, 255, .075) !important;
}

.appointment-edit-modal__warning {
  margin: 10px 0 0 !important;
  color: #ffb4c4 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}

.appointment-edit-modal__warning[hidden] {
  display: none !important;
}

.appointment-edit-modal__actions {
  display: grid !important;
  grid-template-columns: minmax(0, .7fr) minmax(0, 1fr) !important;
  gap: 14px !important;
  margin-top: 22px !important;
}

body.appointment-editor-open {
  overflow: hidden !important;
}

@media (max-width: 720px) {
  .appointment-edit-modal {
    padding: 12px !important;
    align-items: end !important;
  }

  .appointment-edit-modal__shell {
    width: 100% !important;
    max-height: 92vh !important;
    border-radius: 24px 24px 0 0 !important;
  }

  .appointment-edit-modal__head {
    padding-right: 44px !important;
  }

  .appointment-edit-calendar .cal__grid {
    gap: 6px !important;
  }

  .appointment-edit-calendar .cal__time-list,
  .appointment-edit-modal__actions {
    grid-template-columns: 1fr !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .appointment-edit-modal,
  .appointment-edit-modal__shell {
    transition: none !important;
  }
}

/* FINAL APPOINTMENT EDITOR VISIBILITY FIX */
.appointment-edit-modal {
  z-index: 10050 !important;
  padding: clamp(14px, 2vw, 28px) !important;
}

.appointment-edit-modal__shell {
  width: min(100%, 620px) !important;
  max-height: min(84vh, 720px) !important;
  padding: clamp(18px, 2.4vw, 28px) !important;
  border-radius: 24px !important;
}

.appointment-edit-modal__head {
  margin-bottom: 16px !important;
}

.appointment-edit-modal__head .booking-entry__eyebrow {
  margin-bottom: 10px !important;
}

.appointment-edit-modal__head .booking-entry__title {
  font-size: clamp(24px, 2.1vw, 32px) !important;
  line-height: 1.1 !important;
}

.appointment-edit-modal__head .booking-entry__copy {
  font-size: 13.5px !important;
  line-height: 1.45 !important;
}

.appointment-edit-calendar .cal__body {
  padding: 18px !important;
  border-radius: 18px !important;
}

.appointment-edit-calendar .cal__nav {
  margin-bottom: 12px !important;
}

.appointment-edit-calendar .cal__month {
  font-size: 16px !important;
}

.appointment-edit-calendar .cal__btn {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
}

.appointment-edit-calendar .cal__grid {
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 6px !important;
}

.appointment-edit-calendar .cal__day-name {
  font-size: 10px !important;
  min-height: 22px !important;
}

.appointment-edit-calendar .cal__date {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  justify-self: center !important;
  padding: 0 !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

.appointment-edit-calendar .cal__times {
  margin-top: 14px !important;
}

.appointment-edit-calendar .cal__timezone,
.appointment-edit-calendar .cal__message {
  font-size: 12.5px !important;
  margin-bottom: 8px !important;
}

.appointment-edit-calendar .cal__time-list {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.appointment-edit-calendar .cal__time-slot {
  min-height: 38px !important;
  font-size: 12.5px !important;
}

.appointment-edit-modal__actions {
  margin-top: 16px !important;
}

@media (max-width: 720px) {
  .appointment-edit-modal__shell {
    max-height: 92vh !important;
  }

  .appointment-edit-calendar .cal__date {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
  }

  .appointment-edit-calendar .cal__time-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* FINAL APPOINTMENT EDITOR DARK COMPACT CALENDAR */
.appointment-edit-modal .appointment-edit-calendar.calendar-widget,
.appointment-edit-modal .appointment-edit-calendar .cal__body,
.appointment-edit-modal .appointment-edit-calendar .cal__grid,
.appointment-edit-modal .appointment-edit-calendar .cal__times {
  background: transparent !important;
  box-shadow: none !important;
}

.appointment-edit-modal .appointment-edit-calendar .cal__body {
  max-width: 470px !important;
  margin-inline: auto !important;
  padding: 14px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  background:
    radial-gradient(circle at 85% 10%, rgba(141, 52, 255, .18), transparent 38%),
    linear-gradient(145deg, rgba(15, 10, 34, .98), rgba(7, 5, 18, .98)) !important;
}

.appointment-edit-modal .appointment-edit-calendar .cal__nav {
  display: grid !important;
  grid-template-columns: 32px 1fr 32px !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
}

.appointment-edit-modal .appointment-edit-calendar .cal__btn {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  background: rgba(255, 255, 255, .06) !important;
  color: #fff !important;
}

.appointment-edit-modal .appointment-edit-calendar .cal__month {
  margin: 0 !important;
  text-align: center !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.appointment-edit-modal .appointment-edit-calendar .cal__grid {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important;
  gap: 4px !important;
  width: 100% !important;
}

.appointment-edit-modal .appointment-edit-calendar .cal__day-name {
  color: rgba(255, 255, 255, .58) !important;
  font-size: 9.5px !important;
  min-height: 18px !important;
  display: grid !important;
  place-items: center !important;
}

.appointment-edit-modal .appointment-edit-calendar .cal__date {
  width: 29px !important;
  height: 29px !important;
  min-width: 29px !important;
  min-height: 29px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: rgba(255, 255, 255, .92) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.appointment-edit-modal .appointment-edit-calendar .cal__date--past,
.appointment-edit-modal .appointment-edit-calendar .cal__date--outside-window,
.appointment-edit-modal .appointment-edit-calendar .cal__date--unavailable {
  color: rgba(255, 255, 255, .26) !important;
  background: transparent !important;
}

.appointment-edit-modal .appointment-edit-calendar .cal__date--available:not(.cal__date--selected):hover,
.appointment-edit-modal .appointment-edit-calendar .cal__date--available:not(.cal__date--selected):focus-visible,
.appointment-edit-modal .appointment-edit-calendar .cal__date--today:not(.cal__date--selected):hover,
.appointment-edit-modal .appointment-edit-calendar .cal__date--today:not(.cal__date--selected):focus-visible {
  background: transparent !important;
  border-color: rgba(255, 255, 255, .46) !important;
  color: #fff !important;
  transform: none !important;
}

.appointment-edit-modal .appointment-edit-calendar .cal__date--today:not(.cal__date--selected) {
  background: transparent !important;
  border-color: rgba(255, 255, 255, .34) !important;
  color: #fff !important;
}

.appointment-edit-modal .appointment-edit-calendar .cal__date--selected,
.appointment-edit-modal .appointment-edit-calendar .cal__date--selected:hover,
.appointment-edit-modal .appointment-edit-calendar .cal__date--selected:focus-visible {
  background: #9a8d98 !important;
  border-color: rgba(255, 255, 255, .68) !important;
  color: #fff !important;
}

.appointment-edit-modal .appointment-edit-calendar .cal__times {
  margin-top: 12px !important;
}

.appointment-edit-modal .appointment-edit-calendar .cal__timezone,
.appointment-edit-modal .appointment-edit-calendar .cal__message {
  color: rgba(255, 255, 255, .9) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.appointment-edit-modal .appointment-edit-calendar .cal__time-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 7px !important;
}

.appointment-edit-modal .appointment-edit-calendar .cal__time-slot {
  min-height: 34px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, .18) !important;
  background: rgba(255, 255, 255, .06) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.appointment-edit-modal .appointment-edit-calendar .cal__time-slot:not(.is-selected):hover,
.appointment-edit-modal .appointment-edit-calendar .cal__time-slot:not(.is-selected):focus-visible {
  background: rgba(255, 255, 255, .08) !important;
  border-color: rgba(255, 255, 255, .45) !important;
}

.appointment-edit-modal .appointment-edit-calendar .cal__time-slot.is-selected,
.appointment-edit-modal .appointment-edit-calendar .cal__time-slot.is-selected:hover,
.appointment-edit-modal .appointment-edit-calendar .cal__time-slot.is-selected:focus-visible {
  background: #9a8d98 !important;
  border-color: rgba(255, 255, 255, .68) !important;
  color: #fff !important;
}

@media (max-width: 720px) {
  .appointment-edit-modal .appointment-edit-calendar .cal__body {
    max-width: 100% !important;
  }

  .appointment-edit-modal .appointment-edit-calendar .cal__date {
    width: 27px !important;
    height: 27px !important;
    min-width: 27px !important;
    min-height: 27px !important;
  }

  .appointment-edit-modal .appointment-edit-calendar .cal__time-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* FINAL THREE-STEP BOOKING DETAILS */
.booking-modal[data-step= 1] .booking-progress,
.booking-modal[data-step=1] [data-booking-panel=2],
.booking-modal[data-step=1] [data-booking-panel=3],
.booking-modal[data-step=2] [data-booking-panel=1],
.booking-modal[data-step=2] [data-booking-panel=3],
.booking-modal[data-step=3] [data-booking-panel=1],
.booking-modal[data-step=3] [data-booking-panel=2] {
  display: none !important;
}

.booking-modal[data-step=3] [data-booking-panel=3] {
  display: block !important;
}

.booking-final-form {
  display: grid !important;
  gap: 18px !important;
}

.booking-final-review {
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.booking-final-review legend,
.booking-upload__label {
  display: block !important;
  margin: 0 0 12px !important;
  color: rgba(255,255,255,.92) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1.35 !important;
}

.booking-final-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.booking-final-card {
  position: relative !important;
  min-height: 88px !important;
  display: grid !important;
  place-items: center !important;
  gap: 8px !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.035) !important;
  color: rgba(255,255,255,.86) !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  transition: border-color .16s ease, background .16s ease, box-shadow .18s ease, transform .16s ease !important;
}

.booking-final-card:hover,
.booking-final-card:focus-visible,
.booking-final-card:has(input:focus-visible) {
  border-color: rgba(192,132,252,.58) !important;
  background: rgba(255,255,255,.06) !important;
  outline: none !important;
}

.booking-final-card.is-selected,
.booking-final-card:has(input:checked) {
  border-color: rgba(168,85,247,.95) !important;
  background: linear-gradient(135deg, rgba(124,58,237,.16), rgba(219,39,119,.10)) !important;
  box-shadow: 0 0 0 1px rgba(168,85,247,.28), 0 18px 38px rgba(80,36,154,.18) !important;
}

.booking-final-card input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.booking-final-card__check {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 4px !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  background: rgba(255,255,255,.035) !important;
}

.booking-final-card:has(input:checked) .booking-final-card__check::after {
  content: '' !important;
  position: absolute !important;
  inset: 3px !important;
  border-radius: 2px !important;
  background: #a855f7 !important;
}

.booking-final-card__icon {
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  color: #a855f7 !important;
}

.booking-final-card__icon svg,
.booking-upload__icon svg {
  width: 100% !important;
  height: 100% !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.booking-upload input[type=file] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.booking-upload__drop {
  min-height: 78px !important;
  display: grid !important;
  grid-template-columns: 46px 1fr !important;
  align-items: center !important;
  gap: 14px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.035) !important;
  padding: 18px 22px !important;
  color: rgba(255,255,255,.82) !important;
}

.booking-upload__drop.is-dragging {
  border-color: rgba(192,132,252,.7) !important;
  background: rgba(168,85,247,.08) !important;
}

.booking-upload__drop button {
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  color: #f0abfc !important;
  text-decoration: underline !important;
  cursor: pointer !important;
  font: inherit !important;
  padding: 0 !important;
}

.booking-upload__drop small {
  display: block !important;
  margin-top: 4px !important;
  color: rgba(255,255,255,.52) !important;
  font-size: 12px !important;
}

.booking-upload__icon {
  width: 42px !important;
  height: 42px !important;
  color: rgba(255,255,255,.62) !important;
}

.booking-upload__list {
  list-style: none !important;
  display: grid !important;
  gap: 8px !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
}

.booking-upload__list li {
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  color: rgba(255,255,255,.82) !important;
  background: rgba(255,255,255,.035) !important;
}

.booking-upload__list small {
  display: block !important;
  color: rgba(255,255,255,.48) !important;
}

.booking-upload__list button {
  border: 0 !important;
  background: transparent !important;
  color: #f0abfc !important;
  cursor: pointer !important;
  font-weight: 800 !important;
}

.booking-question--notes textarea {
  min-height: 86px !important;
}

.booking-policy {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 13px !important;
}

.booking-policy input {
  width: 18px !important;
  height: 18px !important;
  accent-color: #a855f7 !important;
}

.booking-policy a {
  color: #f0abfc !important;
}

.booking-final-message {
  margin: 0 !important;
  color: #d8b4fe !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

@media (max-width: 1080px) {
  .booking-final-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 640px) {
  .booking-final-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .booking-upload__drop { grid-template-columns: 1fr !important; text-align: center !important; }
  .booking-upload__icon { margin-inline: auto !important; }
}

/* FINAL SIX-STEP BOOKING FLOW */
.booking-progress {
  gap: clamp(10px, 1.2vw, 18px);
}

.booking-progress__item em {
  color: rgba(205, 184, 255, .78);
  font-size: 10px;
  font-style: normal;
  font-weight: 600;
  letter-spacing: .02em;
  margin-left: 4px;
}

.booking-optional-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  margin-left: 10px;
  border: 1px solid rgba(167, 88, 255, .34);
  border-radius: 999px;
  color: rgba(215, 197, 255, .82);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  vertical-align: middle;
}

.booking-details-form,
.booking-final-form {
  display: grid;
  gap: 20px;
}

.booking-radio-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.booking-radio-group {
  display: grid;
  gap: 9px;
  padding: 0;
  margin: 0;
  border: 0;
}

.booking-radio-group legend {
  margin-bottom: 4px;
  color: rgba(255, 255, 255, .92);
  font-size: 14px;
  font-weight: 700;
}

.booking-radio-group label {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(235, 229, 255, .78);
  font-size: 13.5px;
  line-height: 1.35;
}

.booking-radio-group input,
.booking-policy input {
  accent-color: #a855ff;
}

.booking-priority-count {
  margin-top: -4px;
  color: rgba(219, 203, 255, .76);
  font-size: 13px;
  font-weight: 600;
}

.booking-priority-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.booking-priority-card,
.booking-final-card {
  position: relative;
  min-height: 108px;
  padding: 18px 14px;
  border: 1px solid rgba(160, 112, 255, .26);
  border-radius: 14px;
  background: rgba(255, 255, 255, .035);
  color: #fff;
  font: inherit;
  text-align: center;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.booking-priority-card:hover,
.booking-final-card:hover,
.booking-priority-card:focus-visible,
.booking-final-card:focus-visible {
  border-color: rgba(190, 126, 255, .72);
  background: rgba(255, 255, 255, .055);
  outline: none;
}

.booking-priority-card:active,
.booking-final-card:active {
  transform: scale(1.025);
}

.booking-priority-card.is-selected,
.booking-final-card.is-selected {
  border-color: rgba(168, 85, 247, .95);
  background: rgba(104, 42, 180, .18);
  box-shadow: 0 0 24px rgba(168, 85, 247, .18);
}

.booking-priority-card.is-selected::after,
.booking-final-card.is-selected::after {
  content: "âœ“";
  position: absolute;
  top: 11px;
  right: 11px;
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  background: linear-gradient(135deg, #8a35ff, #ff3d7f);
}

.booking-priority-card.is-disabled:not(.is-selected) {
  opacity: .46;
  cursor: not-allowed;
}

.booking-priority-card span,
.booking-final-card span {
  display: block;
  margin-bottom: 12px;
  color: #a855ff;
  font-size: 28px;
  line-height: 1;
}

.booking-priority-card strong,
.booking-final-card strong {
  color: rgba(255, 255, 255, .92);
  font-size: 13.5px;
  font-weight: 700;
}

.booking-info-strip,
.booking-required-note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 18px;
  border: 1px solid rgba(160, 112, 255, .2);
  border-radius: 14px;
  background: rgba(255, 255, 255, .03);
  color: rgba(232, 224, 255, .78);
}

.booking-info-strip strong,
.booking-required-note strong {
  display: block;
  color: #fff;
  font-size: 14px;
  margin-bottom: 4px;
}

.booking-info-strip span,
.booking-required-note span {
  color: #b973ff;
  font-size: 24px;
  line-height: 1;
}

.booking-actions--three {
  grid-template-columns: minmax(150px, .75fr) minmax(140px, .65fr) minmax(220px, 1.15fr);
}

.booking-ghost {
  min-height: 54px;
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 999px;
  background: transparent;
  color: rgba(255, 255, 255, .92);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
}

.booking-review-panel {
  display: grid;
  gap: 16px;
}

.booking-review-block {
  padding: 18px;
  border: 1px solid rgba(160, 112, 255, .22);
  border-radius: 16px;
  background: rgba(255, 255, 255, .035);
}

.booking-review-block h3 {
  margin: 0 0 14px;
  color: rgba(255, 255, 255, .95);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.booking-review-block dl {
  display: grid;
  gap: 12px;
  margin: 0;
}

.booking-review-block dl > div {
  display: grid;
  grid-template-columns: minmax(135px, .38fr) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  animation: bookingRowIn .22s ease both;
}

.booking-review-block dt {
  color: rgba(218, 207, 245, .6);
  font-size: 13px;
}

.booking-review-block dd {
  margin: 0;
  color: rgba(255, 255, 255, .9);
  font-size: 14px;
  line-height: 1.45;
}

.booking-confirm-message {
  margin-top: 12px;
  color: rgba(226, 213, 255, .82);
  font-size: 13px;
  text-align: center;
}

.booking-optional-notice {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: none;
  place-items: center;
  padding: 24px;
}

.booking-optional-notice.is-open {
  display: grid;
}

.booking-optional-notice__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3, 4, 14, .72);
  backdrop-filter: blur(14px);
}

.booking-optional-notice__panel {
  position: relative;
  width: min(100%, 520px);
  padding: 30px;
  border: 1px solid rgba(171, 91, 255, .38);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(20, 13, 52, .96), rgba(36, 11, 47, .96));
  box-shadow: 0 28px 90px rgba(0, 0, 0, .42);
  color: #fff;
}

.booking-optional-notice__close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  background: rgba(255, 255, 255, .04);
  color: #fff;
  cursor: pointer;
}

.booking-optional-notice__eyebrow {
  margin: 0 0 14px;
  color: #a855ff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.booking-optional-notice h2 {
  margin: 0 0 12px;
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.08;
}

.booking-optional-notice p {
  margin: 0;
  color: rgba(237, 230, 255, .78);
  font-size: 15px;
  line-height: 1.6;
}

.booking-optional-notice__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 24px;
}

body.booking-notice-open {
  overflow: hidden;
}

@keyframes bookingRowIn {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1100px) {
  .booking-priority-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .booking-actions--three { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .booking-radio-row,
  .booking-priority-grid,
  .booking-optional-notice__actions,
  .booking-review-block dl > div {
    grid-template-columns: 1fr;
  }

  .booking-progress__item em { display: none; }
  .booking-priority-card,
  .booking-final-card { min-height: 96px; }
  .booking-optional-notice__panel { padding: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .booking-review-block dl > div { animation: none; }
  .booking-priority-card,
  .booking-final-card { transition: none; }
}

/* FINAL BOOKING PRIORITY ICONS */
.booking-priority-card .booking-priority-card__icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin: 0 auto 12px;
  color: #a855ff;
  line-height: 1;
}

.booking-priority-card .booking-priority-card__icon svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.booking-priority-card__icon--gold { color: #fbbf24 !important; }
.booking-priority-card__icon--pink,
.booking-priority-card__icon--rose { color: #fb4c8b !important; }
.booking-priority-card__icon--cyan { color: #22d3ee !important; }
.booking-priority-card__icon--green { color: #34d399 !important; }
.booking-priority-card__icon--coral { color: #f87171 !important; }
.booking-priority-card__icon--violet,
.booking-priority-card__icon--target,
.booking-priority-card__icon--screen { color: #a855ff !important; }

/* FINAL BOOKING POLISH - DROPDOWN, OPTIONAL NOTICE, REVIEW, STEP 4/5 */
.booking-field--select {
  position: relative !important;
}

.booking-field--select select {
  appearance: none !important;
  -webkit-appearance: none !important;
  padding-right: 72px !important;
}

.booking-field--select::after {
  content: "âŒ„";
  position: absolute;
  right: 34px;
  bottom: 20px;
  color: rgba(255,255,255,.82);
  font-size: 22px;
  line-height: 1;
  pointer-events: none;
}

.booking-optional-notice__actions--single {
  display: flex !important;
  justify-content: center !important;
  grid-template-columns: none !important;
}

.booking-optional-notice__actions--single .booking-submit {
  width: min(100%, 260px) !important;
  justify-content: center !important;
}

.booking-modal[data-step="6"] .booking-modal__grid {
  width: min(100%, 980px) !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 28px !important;
}

.booking-modal[data-step="6"] .booking-summary {
  display: none !important;
}

.booking-modal[data-step="6"] .booking-entry--review {
  padding-block: 8px 42px !important;
}

.booking-modal[data-step="6"] .booking-review-panel {
  gap: 24px !important;
  margin-top: 30px !important;
}

.booking-modal[data-step="6"] .booking-review-block {
  padding: 24px 26px !important;
}

.booking-modal[data-step="6"] .booking-policy {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 26px 0 20px !important;
  color: rgba(255,255,255,.86) !important;
  font-size: 14px !important;
}

.booking-modal[data-step="6"] .booking-step-actions {
  margin-top: 18px !important;
  gap: 18px !important;
}

.booking-priority-grid {
  gap: 22px !important;
}

.booking-priority-card {
  min-height: 128px !important;
  padding: 22px 16px !important;
  border-radius: 16px !important;
}

.booking-priority-card .booking-priority-card__icon {
  margin: 0 auto 16px !important;
}

.booking-priority-card strong {
  display: block !important;
  color: rgba(255,255,255,.9) !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  font-weight: 750 !important;
}

.booking-final-grid {
  gap: 16px !important;
}

.booking-final-card {
  min-height: 112px !important;
  padding: 16px 12px !important;
  gap: 9px !important;
  place-items: center !important;
}

.booking-final-card .booking-final-card__icon {
  width: 28px !important;
  height: 28px !important;
  margin: 0 !important;
  color: #a855f7 !important;
  font-size: 0 !important;
}

.booking-final-card > span:not(.booking-final-card__icon):not(.booking-final-card__check) {
  display: block !important;
  margin: 0 !important;
  color: rgba(255,255,255,.9) !important;
  font-size: 13px !important;
  line-height: 1.22 !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
}

.booking-final-card__check {
  margin: 0 !important;
  font-size: 0 !important;
}

.booking-upload__drop {
  width: 100% !important;
  max-width: 620px !important;
  min-height: 96px !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 18px !important;
  padding: 20px 24px !important;
  text-align: left !important;
}

.booking-upload__drop strong {
  display: block !important;
  color: rgba(255,255,255,.9) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 760 !important;
}

.booking-upload__drop u {
  color: #fff !important;
  text-decoration-color: rgba(255,255,255,.75) !important;
}

.booking-upload__drop small {
  display: block !important;
  margin-top: 5px !important;
  color: rgba(255,255,255,.62) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  max-width: none !important;
}

.booking-upload__icon {
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
}

@media (max-width: 1100px) {
  .booking-priority-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .booking-final-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  .booking-priority-grid,
  .booking-final-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .booking-upload__drop {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }

  .booking-upload__icon {
    margin-inline: auto !important;
  }
}

/* FINAL BOOKING POLISH 2 - SELECT VISIBILITY, STABLE SUMMARY, COMPACT ACTIONS */
.booking-field--select select,
#booking-source {
  color: rgba(255,255,255,.9) !important;
  background-color: rgba(45, 33, 72, .86) !important;
  border-color: rgba(255,255,255,.18) !important;
  color-scheme: light !important;
}

#booking-source option {
  color: #111018 !important;
  background: #f1edf7 !important;
  font-size: 15px !important;
}

#booking-source option:checked,
#booking-source option:hover {
  color: #111018 !important;
  background: #d9cdea !important;
}

.booking-field--select::after {
  right: 38px !important;
  bottom: 19px !important;
  color: rgba(255,255,255,.86) !important;
}

.booking-summary__extra {
  min-height: 58px !important;
  transition: opacity .18s ease !important;
}

.booking-summary__extra[hidden] {
  display: none !important;
}

.booking-step-actions--optional {
  display: grid !important;
  grid-template-columns: minmax(130px, .72fr) minmax(150px, .82fr) minmax(210px, 1fr) !important;
  gap: 14px !important;
  align-items: center !important;
}

.booking-step-actions--optional .booking-secondary,
.booking-step-actions--optional .booking-ghost,
.booking-step-actions--optional .booking-submit {
  width: 100% !important;
  min-height: 52px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  letter-spacing: .08em !important;
  white-space: nowrap !important;
}

.booking-step-actions--optional .booking-submit {
  justify-content: center !important;
}

@media (max-width: 900px) {
  .booking-step-actions--optional {
    grid-template-columns: 1fr !important;
  }
}

/* FINAL BOOKING SPACING + UPLOAD POLISH */
.booking-summary__details {
  gap: 28px !important;
  padding: 26px 0 30px !important;
}

.booking-summary__details li,
.booking-summary__details .booking-summary__extra {
  min-height: 54px !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 18px !important;
  row-gap: 0 !important;
}

.booking-summary__icon {
  width: 44px !important;
  height: 44px !important;
}

.booking-summary small {
  margin: 0 0 5px !important;
  line-height: 1.15 !important;
}

.booking-summary strong {
  margin: 0 !important;
  line-height: 1.28 !important;
}

.booking-summary__extra[hidden] {
  display: grid !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

.booking-priority-grid {
  gap: 28px !important;
}

.booking-priority-card {
  min-height: 138px !important;
  padding: 24px 18px !important;
}

.booking-priority-card .booking-priority-card__icon {
  margin-bottom: 18px !important;
}

.booking-note-card {
  margin-top: 0 !important;
}

.booking-upload__drop {
  width: 100% !important;
  max-width: none !important;
  min-height: 124px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: center !important;
  column-gap: 22px !important;
  padding: 24px 28px !important;
  border-radius: 18px !important;
  border: 1px dashed rgba(255,255,255,.28) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(168,85,247,.075)) !important;
  text-align: left !important;
}

.booking-upload__drop:hover,
.booking-upload__drop:focus-visible,
.booking-upload__drop.is-dragging {
  border-color: rgba(255,255,255,.54) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.105), rgba(236,72,153,.09)) !important;
}

.booking-upload__icon {
  width: 54px !important;
  height: 54px !important;
  display: grid !important;
  place-items: center !important;
  color: rgba(255,255,255,.82) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.07) !important;
}

.booking-upload__icon svg {
  width: 30px !important;
  height: 30px !important;
}

.booking-upload__drop strong {
  display: block !important;
  color: rgba(255,255,255,.94) !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

.booking-upload__drop u {
  color: #fff !important;
  text-decoration-color: rgba(255,255,255,.75) !important;
  text-underline-offset: 3px !important;
}

.booking-upload__drop small {
  display: block !important;
  margin-top: 7px !important;
  color: rgba(255,255,255,.64) !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
  max-width: none !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

@media (min-width: 1180px) {
  .booking-priority-grid {
    grid-template-columns: repeat(5, minmax(128px, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .booking-summary__details {
    gap: 22px !important;
  }

  .booking-priority-grid {
    gap: 18px !important;
  }

  .booking-upload__drop {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    text-align: center !important;
  }
}

/* FINAL BOOKING CONSISTENCY PASS */
.booking-summary {
  align-self: start !important;
  min-height: 0 !important;
}

.booking-summary__details {
  gap: 24px !important;
  padding: 24px 0 26px !important;
}

.booking-summary__details li,
.booking-summary__details .booking-summary__extra {
  min-height: 50px !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  column-gap: 17px !important;
}

.booking-summary__extra[hidden] {
  display: none !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.booking-summary__icon {
  width: 42px !important;
  height: 42px !important;
}

.booking-summary small {
  font-size: 12.5px !important;
  margin-bottom: 5px !important;
}

.booking-summary strong {
  font-size: 14.5px !important;
  line-height: 1.28 !important;
}

.booking-form__safe {
  margin-top: 22px !important;
  margin-bottom: 0 !important;
  padding-bottom: 18px !important;
  justify-content: center !important;
  line-height: 1.35 !important;
}

.booking-modal[data-step= 6] .booking-policy {
  margin-bottom: 22px !important;
}

.booking-modal[data-step=6] .booking-step-actions {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.booking-modal[data-step=6] .booking-form__safe {
  margin-top: 26px !important;
  padding-bottom: 28px !important;
}

.booking-priority-grid {
  gap: 32px 34px !important;
  margin-bottom: 26px !important;
}

.booking-priority-card {
  min-height: 132px !important;
  padding: 22px 18px !important;
}

.booking-priority-card .booking-priority-card__icon {
  margin-bottom: 16px !important;
}

.booking-priority-card strong {
  line-height: 1.25 !important;
}

.booking-note-card {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

.booking-step-actions--optional {
  margin-top: 0 !important;
}

.booking-step-actions--optional + .booking-form__safe,
.booking-step-actions + .booking-form__safe {
  margin-top: 20px !important;
  padding-bottom: 22px !important;
}

@media (min-width: 1180px) {
  .booking-priority-grid {
    grid-template-columns: repeat(5, minmax(138px, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .booking-priority-grid {
    gap: 20px !important;
    margin-bottom: 22px !important;
  }

  .booking-note-card {
    margin-bottom: 20px !important;
  }
}

/* FINAL BOOKING STEP 4 WIDTH FIX */
.booking-modal[data-step= 4] .booking-modal__grid {
  width: min(100%, 1500px) !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 400px) !important;
  gap: clamp(34px, 3.2vw, 52px) !important;
}

.booking-modal[data-step=4] [data-booking-panel=4] {
  min-width: 0 !important;
  overflow: visible !important;
}

.booking-modal[data-step=4] .booking-priority-grid {
  width: 100% !important;
  grid-template-columns: repeat(5, minmax(132px, 1fr)) !important;
  gap: 30px 32px !important;
  margin-bottom: 28px !important;
}

.booking-modal[data-step=4] .booking-priority-card {
  min-width: 0 !important;
  min-height: 136px !important;
  padding: 22px 16px !important;
}

.booking-modal[data-step=4] .booking-note-card {
  margin-top: 2px !important;
  margin-bottom: 28px !important;
}

.booking-modal[data-step=4] .booking-step-actions--optional {
  gap: 20px !important;
}

.booking-modal[data-step=4] .booking-form__safe {
  margin-top: 22px !important;
  padding-bottom: 28px !important;
}

.booking-summary__fit {
  padding: 20px 0 22px !important;
}

.booking-summary__contact {
  margin-top: 16px !important;
}

@media (max-width: 1280px) {
  .booking-modal[data-step=4] .booking-modal__grid {
    grid-template-columns: 1fr !important;
    width: min(100%, 980px) !important;
  }

  .booking-modal[data-step=4] .booking-summary {
    max-width: none !important;
  }
}

@media (max-width: 760px) {
  .booking-modal[data-step=4] .booking-priority-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

/* FINAL STEP 4 SHARED RIGHT EDGE */
.booking-modal[data-step= 4] [data-booking-panel=4] {
  --step4-content-width: min(100%, 884px);
}

.booking-modal[data-step=4] .booking-priority-count,
.booking-modal[data-step=4] .booking-priority-grid,
.booking-modal[data-step=4] .booking-note-card,
.booking-modal[data-step=4] .booking-step-actions--optional,
.booking-modal[data-step=4] .booking-form__safe {
  width: var(--step4-content-width) !important;
  max-width: var(--step4-content-width) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.booking-modal[data-step=4] .booking-priority-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 30px 30px !important;
}

.booking-modal[data-step=4] .booking-priority-card {
  width: 100% !important;
  min-height: 136px !important;
  padding: 22px 14px !important;
}

.booking-modal[data-step=4] .booking-note-card {
  box-sizing: border-box !important;
}

.booking-modal[data-step=4] .booking-step-actions--optional {
  box-sizing: border-box !important;
  grid-template-columns: minmax(0, .74fr) minmax(0, .82fr) minmax(0, 1.08fr) !important;
}

@media (max-width: 1280px) {
  .booking-modal[data-step=4] [data-booking-panel=4] {
    --step4-content-width: 100%;
  }
}

/* FINAL STEP 4 TRUE RIGHT ALIGN */
.booking-modal[data-step= 4] [data-booking-panel=4] {
  --step4-content-width: min(100%, 884px) !important;
  --step4-card-width: 138px !important;
  --step4-card-gap: 36px !important;
}

.booking-modal[data-step=4] .booking-priority-count,
.booking-modal[data-step=4] .booking-note-card,
.booking-modal[data-step=4] .booking-step-actions--optional,
.booking-modal[data-step=4] .booking-form__safe {
  width: var(--step4-content-width) !important;
  max-width: var(--step4-content-width) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.booking-modal[data-step=4] .booking-priority-grid {
  width: var(--step4-content-width) !important;
  max-width: var(--step4-content-width) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(5, var(--step4-card-width)) !important;
  justify-content: space-between !important;
  column-gap: var(--step4-card-gap) !important;
  row-gap: 34px !important;
}

.booking-modal[data-step=4] .booking-priority-card {
  width: var(--step4-card-width) !important;
  max-width: var(--step4-card-width) !important;
  min-width: 0 !important;
  min-height: 130px !important;
  padding: 20px 12px !important;
  box-sizing: border-box !important;
}

.booking-modal[data-step=4] .booking-priority-card strong {
  font-size: 14px !important;
  line-height: 1.22 !important;
}

@media (max-width: 1280px) {
  .booking-modal[data-step=4] [data-booking-panel=4] {
    --step4-content-width: 100% !important;
    --step4-card-width: minmax(0, 1fr) !important;
    --step4-card-gap: 18px !important;
  }

  .booking-modal[data-step=4] .booking-priority-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
  }

  .booking-modal[data-step=4] .booking-priority-card {
    width: 100% !important;
    max-width: none !important;
  }
}

/* FINAL STEP 4 BOUNDARY FIX - KEEP CARDS OUT OF SUMMARY */
.booking-modal[data-step='4'] [data-booking-panel='4'] {
  --step4-content-width: min(100%, 884px) !important;
  --step4-card-width: 132px !important;
}

.booking-modal[data-step='4'] .booking-priority-count,
.booking-modal[data-step='4'] .booking-priority-grid,
.booking-modal[data-step='4'] .booking-note-card,
.booking-modal[data-step='4'] .booking-step-actions--optional,
.booking-modal[data-step='4'] .booking-form__safe {
  width: var(--step4-content-width) !important;
  max-width: var(--step4-content-width) !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.booking-modal[data-step='4'] .booking-priority-grid {
  display: grid !important;
  grid-template-columns: repeat(5, var(--step4-card-width)) !important;
  justify-content: space-between !important;
  column-gap: 14px !important;
  row-gap: 34px !important;
  overflow: hidden !important;
}

.booking-modal[data-step='4'] .booking-priority-card {
  width: var(--step4-card-width) !important;
  max-width: var(--step4-card-width) !important;
  min-width: 0 !important;
  min-height: 130px !important;
  padding: 20px 10px !important;
  box-sizing: border-box !important;
}

.booking-modal[data-step='4'] .booking-priority-card strong {
  font-size: 13.5px !important;
  line-height: 1.22 !important;
}

.booking-modal[data-step='4'] .booking-priority-card .booking-priority-card__icon {
  margin-bottom: 15px !important;
}

@media (max-width: 1280px) {
  .booking-modal[data-step='4'] [data-booking-panel='4'] {
    --step4-content-width: 100% !important;
    --step4-card-width: auto !important;
  }

  .booking-modal[data-step='4'] .booking-priority-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    justify-content: stretch !important;
    overflow: visible !important;
  }

  .booking-modal[data-step='4'] .booking-priority-card {
    width: 100% !important;
    max-width: none !important;
  }
}

/* FINAL STEP 4 VERTICAL CARDS + COUNT GAP */
.booking-modal[data-step='4'] [data-booking-panel='4'] {
  --step4-content-width: min(100%, 884px) !important;
  --step4-card-width: 118px !important;
}

.booking-modal[data-step='4'] .booking-priority-count {
  display: block !important;
  margin: 0 0 24px !important;
  width: var(--step4-content-width) !important;
  max-width: var(--step4-content-width) !important;
  color: rgba(219,203,255,.78) !important;
}

.booking-modal[data-step='4'] .booking-priority-grid {
  width: var(--step4-content-width) !important;
  max-width: var(--step4-content-width) !important;
  display: grid !important;
  grid-template-columns: repeat(5, var(--step4-card-width)) !important;
  justify-content: space-between !important;
  column-gap: 14px !important;
  row-gap: 42px !important;
  margin: 0 0 32px !important;
  overflow: visible !important;
}

.booking-modal[data-step='4'] .booking-priority-card {
  width: var(--step4-card-width) !important;
  max-width: var(--step4-card-width) !important;
  min-height: 158px !important;
  padding: 22px 10px 20px !important;
  border-radius: 16px !important;
}

.booking-modal[data-step='4'] .booking-priority-card .booking-priority-card__icon {
  margin: 0 auto 24px !important;
}

.booking-modal[data-step='4'] .booking-priority-card strong {
  font-size: 13px !important;
  line-height: 1.25 !important;
}

.booking-modal[data-step='4'] .booking-note-card,
.booking-modal[data-step='4'] .booking-step-actions--optional,
.booking-modal[data-step='4'] .booking-form__safe {
  width: var(--step4-content-width) !important;
  max-width: var(--step4-content-width) !important;
}

@media (max-width: 1280px) {
  .booking-modal[data-step='4'] [data-booking-panel='4'] {
    --step4-content-width: 100% !important;
    --step4-card-width: auto !important;
  }

  .booking-modal[data-step='4'] .booking-priority-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }

  .booking-modal[data-step='4'] .booking-priority-card {
    width: 100% !important;
    max-width: none !important;
  }
}

/* FINAL BOOKING SUCCESS SCREEN */
.booking-modal.is-booking-success .booking-modal__grid,
.booking-modal[data-step="6"].is-booking-success .booking-modal__grid {
  width: min(100%, 1180px) !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
}

.booking-modal.is-booking-success .booking-summary {
  display: none !important;
}

.booking-success-screen {
  width: 100%;
  padding: 4px 0 34px;
}

.booking-success-hero {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(300px, .85fr);
  align-items: center;
  gap: clamp(28px, 4vw, 58px);
}

.booking-success-title span,
.booking-success-title {
  color: #fff !important;
}

.booking-success-title::first-letter,
.booking-success-title {
  line-height: 1.04 !important;
}

.booking-success-title {
  max-width: 620px;
}

.booking-success-title[data-success-title] {
  outline: none;
}

.booking-success-title[data-success-title]::first-line {
  color: #fff;
}

.booking-success-note {
  max-width: 560px;
  margin: 22px 0 0;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.74);
  font-size: 15px;
  line-height: 1.65;
}

.booking-success-visual {
  min-height: 320px;
  display: grid;
  place-items: center;
  border-radius: 28px;
  background: radial-gradient(circle at 50% 46%, rgba(171, 72, 255, .18), transparent 58%);
  overflow: hidden;
}

.booking-success-visual video {
  display: block;
  width: min(100%, 430px);
  aspect-ratio: 1;
  object-fit: contain;
  filter: drop-shadow(0 24px 64px rgba(188, 66, 255, .24));
}

.booking-success-next {
  margin-top: 28px;
}

.booking-success-next__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 16px;
}

.booking-success-next__grid > div {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  min-height: 98px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(167, 113, 255, .28);
  background: rgba(255,255,255,.035);
}

.booking-success-next__grid span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #d085ff;
  border: 1px solid rgba(208,133,255,.45);
  background: rgba(127, 54, 255, .14);
  font-size: 20px;
}

.booking-success-next__grid strong,
.booking-success-thanks strong {
  display: block;
  color: #fff;
  font-size: 16px;
  line-height: 1.25;
  font-weight: 800;
}

.booking-success-next__grid small,
.booking-success-thanks p {
  display: block;
  margin-top: 5px;
  color: rgba(255,255,255,.68);
  font-size: 13.5px;
  line-height: 1.45;
}

.booking-success-thanks {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) minmax(180px, .4fr);
  align-items: center;
  gap: 18px;
  margin-top: 24px;
  padding: 22px 24px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.16);
  background: linear-gradient(135deg, rgba(42, 22, 86, .78), rgba(21, 12, 42, .56));
}

.booking-success-thanks__icon {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff6a1f, #e7357c 52%, #8b35f5);
  box-shadow: 0 12px 34px rgba(225, 48, 139, .34);
}

.booking-success-thanks__icon img {
  width: 31px;
  height: 31px;
  object-fit: contain;
}

.booking-success-signature {
  margin: 0;
  color: #e33fba;
  font-family: "Segoe Script", "Bradley Hand ITC", cursive;
  font-size: clamp(24px, 2.1vw, 34px);
  line-height: 1.05;
  text-align: right;
}

.booking-success-signature small {
  display: block;
  margin-top: 8px;
  color: rgba(255,255,255,.7);
  font-family: inherit;
  font-size: 12px;
}

.booking-success-actions {
  margin-top: 22px !important;
  grid-template-columns: minmax(220px, .5fr) minmax(260px, .9fr) !important;
  justify-content: start !important;
}

.booking-success-actions .booking-submit,
.booking-success-actions .booking-secondary {
  min-height: 56px !important;
}

.booking-modal.is-booking-success .booking-form__safe {
  margin-top: 18px !important;
}

@media (prefers-reduced-motion: no-preference) {
  .booking-modal.is-booking-success .booking-success-screen {
    animation: bookingSuccessIn 520ms cubic-bezier(.22, 1, .36, 1) both;
  }

  @keyframes bookingSuccessIn {
    from { opacity: 0; transform: translateY(10px) scale(.99); }
    to { opacity: 1; transform: translateY(0) scale(1); }
  }
}

@media (max-width: 900px) {
  .booking-success-hero,
  .booking-success-next__grid,
  .booking-success-thanks,
  .booking-success-actions {
    grid-template-columns: 1fr !important;
  }

  .booking-success-visual {
    min-height: 240px;
  }

  .booking-success-visual video {
    width: min(100%, 320px);
  }

  .booking-success-signature {
    text-align: left;
  }
}

/* FINAL BOOKING SUCCESS NEXT TEXT WRAP FIX */
.booking-success-next__grid > div {
  align-items: start !important;
}

.booking-success-next__grid > div > small {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  margin-top: 8px !important;
}

.booking-success-next__grid > div > strong {
  min-width: 0 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* FINAL BOOKING INFO SECTION CONSOLIDATION */
#coaching .coaching-fit {
  width: 100% !important;
  margin: clamp(24px, 3vw, 38px) 0 clamp(28px, 4vw, 44px) !important;
  padding: clamp(22px, 2.6vw, 32px) !important;
  border: 1px solid rgba(168, 135, 255, 0.24) !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, rgba(255,255,255,0.055), rgba(139,92,246,0.08)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

#coaching .coaching-fit__intro {
  max-width: 760px !important;
  margin: 0 0 clamp(20px, 2.4vw, 28px) !important;
}

#coaching .coaching-fit__title {
  margin: 10px 0 10px !important;
  font-family: var(--font-primary, Inter, Manrope, "Helvetica Neue", Arial, sans-serif) !important;
  font-size: clamp(23px, 2vw, 32px) !important;
  line-height: 1.14 !important;
  font-weight: 700 !important;
  color: #fff !important;
  letter-spacing: -0.01em !important;
}

#coaching .coaching-fit__desc {
  max-width: 660px !important;
  margin: 0 !important;
  font-family: var(--font-primary, Inter, Manrope, "Helvetica Neue", Arial, sans-serif) !important;
  font-size: clamp(14.5px, 1.15vw, 16px) !important;
  line-height: 1.58 !important;
  color: rgba(255,255,255,0.72) !important;
}

#coaching .coaching-fit__pillars {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#coaching .coaching-fit__pillar {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 14px !important;
  min-width: 0 !important;
  padding: 4px clamp(18px, 2vw, 26px) 2px !important;
  cursor: default !important;
  transform: none !important;
  transition: none !important;
}

#coaching .coaching-fit__pillar:first-child {
  padding-left: 0 !important;
}

#coaching .coaching-fit__pillar:last-child {
  padding-right: 0 !important;
}

#coaching .coaching-fit__pillar + .coaching-fit__pillar {
  border-left: 1px solid rgba(255,255,255,0.14) !important;
}

#coaching .coaching-fit__icon {
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  color: #a855f7 !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,0.055) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  flex: 0 0 auto !important;
}

#coaching .coaching-fit__icon svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
}

#coaching .coaching-fit__pillars > li:nth-child(1) .coaching-fit__icon {
  background-image: url('assets/booking1-01.png') !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 30px 30px !important;
}

#coaching .coaching-fit__pillars > li:nth-child(2) .coaching-fit__icon {
  background-image: url('assets/booking1-02.png') !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 30px 30px !important;
}

#coaching .coaching-fit__pillars > li:nth-child(3) .coaching-fit__icon {
  background-image: url('assets/booking1-03.png') !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 30px 30px !important;
}

#coaching .coaching-fit__pillars .coaching-fit__icon svg {
  display: none !important;
}

#coaching .coaching-fit__name {
  margin: 0 0 7px !important;
  font-family: var(--font-primary, Inter, Manrope, "Helvetica Neue", Arial, sans-serif) !important;
  font-size: clamp(15.5px, 1.25vw, 18px) !important;
  line-height: 1.22 !important;
  font-weight: 700 !important;
  color: #fff !important;
}

#coaching .coaching-fit__copy {
  margin: 0 !important;
  font-family: var(--font-primary, Inter, Manrope, "Helvetica Neue", Arial, sans-serif) !important;
  font-size: clamp(13.5px, 1vw, 15px) !important;
  line-height: 1.55 !important;
  color: rgba(255,255,255,0.66) !important;
}

#coaching .coaching-fit a,
#coaching .coaching-fit button,
#coaching .coaching-fit [role="button"],
#coaching .coaching-fit [role="radio"] {
  pointer-events: none !important;
}

#coaching .coaching-fit__pillar:hover,
#coaching .coaching-fit__pillar:focus-visible {
  transform: none !important;
  box-shadow: none !important;
}

@media (max-width: 900px) {
  #coaching .coaching-fit__pillars {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  #coaching .coaching-fit__pillar,
  #coaching .coaching-fit__pillar:first-child,
  #coaching .coaching-fit__pillar:last-child {
    padding: 0 !important;
  }

  #coaching .coaching-fit__pillar + .coaching-fit__pillar {
    border-left: 0 !important;
    border-top: 1px solid rgba(255,255,255,0.14) !important;
    padding-top: 18px !important;
  }
}
/* FINAL BOOKING INFO AUDIENCE CHIPS */
#coaching .coaching-fit__audience {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-top: clamp(18px, 2.2vw, 26px) !important;
  padding-top: clamp(16px, 2vw, 22px) !important;
  border-top: 1px solid rgba(255,255,255,0.12) !important;
}

#coaching .coaching-fit__audience-label {
  margin: 0 !important;
  font-family: var(--font-primary, Inter, Manrope, "Helvetica Neue", Arial, sans-serif) !important;
  font-size: 12.5px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.72) !important;
}

#coaching .coaching-fit__chips {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#coaching .coaching-fit__chips li {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(255,255,255,0.13) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.045) !important;
  color: rgba(255,255,255,0.68) !important;
  font-family: var(--font-primary, Inter, Manrope, "Helvetica Neue", Arial, sans-serif) !important;
  font-size: 12.5px !important;
  line-height: 1.25 !important;
  cursor: default !important;
  pointer-events: none !important;
}

@media (max-width: 700px) {
  #coaching .coaching-fit__audience {
    align-items: flex-start !important;
  }

  #coaching .coaching-fit__chips {
    width: 100% !important;
  }
}
/* FINAL BOOKING INFO SECTION COMPACT NO CHIPS */
#coaching .coaching-fit {
  margin: clamp(18px, 2.4vw, 30px) 0 clamp(24px, 3vw, 36px) !important;
  padding: clamp(20px, 2.2vw, 28px) !important;
}

#coaching .coaching-fit__intro {
  margin-bottom: clamp(16px, 1.8vw, 22px) !important;
}

#coaching .coaching-fit__title {
  margin: 8px 0 8px !important;
}

#coaching .coaching-fit__pillars {
  align-items: stretch !important;
}

#coaching .coaching-fit__pillar {
  gap: 13px !important;
}

#coaching .coaching-fit__name {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}
/* FINAL BOOKING INFO PILLAR ICON ALIGNMENT */
#coaching .coaching-fit__pillar {
  display: block !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#coaching .coaching-fit__icon {
  width: 42px !important;
  height: 42px !important;
  margin: 0 0 14px !important;
  align-self: auto !important;
}

#coaching .coaching-fit__name,
#coaching .coaching-fit__copy {
  text-align: left !important;
}

@media (max-width: 900px) {
  #coaching .coaching-fit__pillar {
    display: block !important;
  }
}
/* FINAL BOOKING INFO ICONS OUT + BULLETS */
#coaching .coaching-fit__icon {
  width: 48px !important;
  height: 48px !important;
  margin: 0 0 14px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

#coaching .coaching-fit__pillars > li:nth-child(1) .coaching-fit__icon,
#coaching .coaching-fit__pillars > li:nth-child(2) .coaching-fit__icon,
#coaching .coaching-fit__pillars > li:nth-child(3) .coaching-fit__icon {
  background-size: contain !important;
}

#coaching ul.coaching-fit__copy {
  list-style: none !important;
  display: grid !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#coaching ul.coaching-fit__copy li {
  position: relative !important;
  margin: 0 !important;
  padding-left: 17px !important;
  font-family: var(--font-primary, Inter, Manrope, "Helvetica Neue", Arial, sans-serif) !important;
  font-size: clamp(13.5px, 1vw, 15px) !important;
  line-height: 1.45 !important;
  color: rgba(255,255,255,0.68) !important;
}

#coaching ul.coaching-fit__copy li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.68em !important;
  width: 5px !important;
  height: 5px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.7) !important;
  transform: translateY(-50%) !important;
}
/* FINAL BOOKING INFO REMOVE OUTER CARD */
#coaching .coaching-fit {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
/* FINAL WHOLE-SITE RESPONSIVE PASS */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
video,
canvas,
svg {
  max-width: 100%;
}

@media (max-width: 1100px) {
  .e4la-site-nav,
  .nav {
    min-height: 74px !important;
  }

  .nav__burger {
    margin-left: auto !important;
    right: 18px !important;
  }

  .nav__links {
    gap: clamp(18px, 4vw, 34px) !important;
  }

  .hero,
  .hero-grid,
  .svcd-hero,
  .footer__top,
  .booking-modal__grid,
  .booking-success-screen,
  .booking-final-grid {
    grid-template-columns: 1fr !important;
  }

  .hero__left,
  .hero__right,
  .svcd-hero__copy,
  .booking-entry,
  .booking-summary,
  .booking-success-copy,
  .booking-success-visual {
    width: 100% !important;
    max-width: 100% !important;
  }

  .hero__actions,
  .booking-step-actions,
  .booking-step-actions--optional,
  .booking-success-actions,
  .appointment-edit-modal__actions {
    flex-wrap: wrap !important;
    gap: 14px !important;
  }

  .booking-form__row,
  .booking-modal__grid,
  .appointment-edit-modal__shell {
    grid-template-columns: 1fr !important;
  }

  .booking-summary {
    position: static !important;
    min-height: 0 !important;
    height: auto !important;
  }

  .booking-summary__details {
    gap: 20px !important;
  }

  .booking-progress {
    overflow-x: auto !important;
    overscroll-behavior-inline: contain !important;
    padding-bottom: 10px !important;
    scrollbar-width: thin !important;
  }

  .booking-progress__item {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  .booking-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .booking-priority-grid {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(3, minmax(120px, 1fr)) !important;
    gap: 18px !important;
  }

  .booking-priority-card {
    min-width: 0 !important;
  }

  .booking-upload__drop {
    min-height: 150px !important;
  }

  .booking-success-next__grid {
    grid-template-columns: 1fr !important;
  }

  .appointment-edit-modal__shell {
    width: min(94vw, 760px) !important;
    max-height: calc(100dvh - 36px) !important;
    overflow: auto !important;
  }

  .calendar-widget,
  .appointment-edit-calendar {
    width: 100% !important;
    max-width: 100% !important;
  }

  .footer__cols {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body {
    min-width: 0 !important;
  }

  .e4la-site-nav,
  .nav {
    padding-inline: 16px !important;
  }

  .nav__logo img,
  .footer__brand-logo {
    max-width: 112px !important;
  }

  .nav__links,
  .nav__cta {
    display: none !important;
  }

  .nav__burger {
    display: inline-flex !important;
    margin-left: auto !important;
  }

  .hero,
  .svcd-hero,
  .booking-modal__shell,
  .booking-entry,
  .booking-success-screen,
  .footer {
    padding-inline: 16px !important;
  }

  .hero__h1,
  .booking-entry__title,
  .booking-success-title {
    font-size: clamp(34px, 11vw, 48px) !important;
    line-height: 1.08 !important;
  }

  .hero__desc,
  .booking-entry__copy,
  .booking-success-copy p {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  .hero__actions > *,
  .booking-step-actions > *,
  .booking-step-actions--optional > *,
  .booking-success-actions > *,
  .appointment-edit-modal__actions > * {
    width: 100% !important;
    min-width: 0 !important;
  }

  .booking-choice-grid,
  .booking-priority-grid,
  .booking-final-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .booking-priority-card {
    min-height: 132px !important;
    padding: 20px 16px !important;
  }

  .booking-priority-card__icon {
    margin-bottom: 12px !important;
  }

  .booking-note-card,
  .booking-upload__drop,
  .booking-final-card,
  .booking-summary,
  .booking-review-block,
  .booking-review-panel {
    width: 100% !important;
    max-width: 100% !important;
  }

  .booking-note-card {
    align-items: flex-start !important;
  }

  .booking-upload__drop {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: start !important;
    gap: 10px !important;
    padding: 20px !important;
  }

  .booking-upload__label,
  .booking-upload__drop small {
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .booking-summary__details {
    gap: 16px !important;
  }

  .booking-summary__icon {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
  }

  .cal__grid {
    gap: 6px !important;
  }

  .cal__grid button,
  .appointment-edit-calendar button {
    min-width: 0 !important;
  }

  .footer__top,
  .footer__cols,
  .footer__bottom {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .footer__form {
    width: 100% !important;
  }

  .footer__input {
    min-width: 0 !important;
  }
}

@media (max-width: 480px) {
  .booking-modal__shell,
  .appointment-edit-modal__shell {
    width: calc(100vw - 20px) !important;
    border-radius: 18px !important;
  }

  .booking-entry__title,
  .booking-success-title,
  .hero__h1 {
    font-size: clamp(30px, 12vw, 40px) !important;
  }

  .booking-field input,
  .booking-field select,
  .booking-field textarea,
  .auth-input {
    font-size: 16px !important;
  }
}
/* FINAL BOOKING MOBILE HEADER â€” close button scrolls with modal content */
@media (max-width: 640px) {
  .booking-modal__shell {
    padding-top: 76px !important;
  }
  .booking-modal__close {
    position: absolute !important;
    top: 10px !important;
    right: 16px !important;
    z-index: 10 !important;
  }
}
/* FINAL MOBILE SESSION TIMELINE â€” remove iOS square blur artifacts and align copy */
@media (max-width: 700px) {
  #coaching .coaching__timeline li {
    display: grid !important;
    grid-template-columns: 45px 14px 96px 24px minmax(0, 1fr) !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    align-items: center !important;
    padding: 0 !important;
  }

  #coaching .ctime__ico {
    grid-column: 1 !important;
    width: 45px !important;
    height: 45px !important;
    overflow: hidden !important;
    border-radius: 50% !important;
    -webkit-mask-image: -webkit-radial-gradient(white, black) !important;
  }

  #coaching .ctime__ico::before {
    border-radius: 50% !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  #coaching .ctime__name {
    grid-column: 3 !important;
    width: 96px !important;
    margin: 0 !important;
  }

  #coaching .ctime__sub {
    grid-column: 5 !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
}
/* FINAL MOBILE TIMELINE FLOW â€” each description follows its own title */
@media (max-width: 700px) {
  #coaching .coaching__timeline li {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 0 !important;
  }

  #coaching .ctime__ico {
    flex: 0 0 45px !important;
  }

  #coaching .ctime__name {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 0 0 14px !important;
  }

  #coaching .coaching__timeline li:last-child .ctime__name {
    width: 92px !important;
    max-width: 92px !important;
  }

  #coaching .ctime__sub {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 0 0 20px !important;
  }
}
/* FINAL MOBILE TIMELINE LAST ROW â€” compensate for the wrapped title box */
@media (max-width: 700px) {
  #coaching .coaching__timeline li:last-child .ctime__sub {
    margin-left: 6px !important;
  }
}

/* MOBILE SERVICES â€” RESTORED PINNED VISUAL, SINGLE AUTHORITY */
@media (max-width: 639px), (pointer: coarse) {
  html {
    scroll-snap-type: none !important;
    scroll-behavior: smooth;
    overflow-y: auto !important;
  }
  body.svcd-page {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    touch-action: pan-y !important;
    overscroll-behavior-y: auto !important;
  }
  .svcd-page .svcd-hero {
    min-height: 100svh !important;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
  }
  .svcd-page .svcd-hero__robot.svcd-hero__robot,
  .svcd-page .svcd-pin__robot {
    display: none !important;
  }
  .svcd-page .svcd-pin {
    position: relative !important;
    height: 100svh !important;
    min-height: 100svh !important;
    overflow: visible !important;
  }
  .svcd-page .svcd-pin__stage {
    position: relative !important;
    width: 100% !important;
    height: 100svh !important;
    overflow: hidden !important;
    background: #07060D;
  }
  .svcd-page .svcd-pin.is-mobile-sequence .svcd-pin__stage {
    position: fixed !important;
    inset: 0 !important;
    z-index: 50 !important;
  }
  .svcd-page .svcd-pin__list {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    padding: 0 !important;
  }
  .svcd-page .svcd-pin__panel {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    row-gap: clamp(24px, 5svh, 42px) !important;
    align-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: max(80px, 10svh) var(--pad-x) 11svh !important;
    box-sizing: border-box !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: none !important;
    transition: opacity 240ms ease !important;
    z-index: 1 !important;
  }
  .svcd-page .svcd-pin__panel.is-mobile-active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  .svcd-page .svcd-pin__panel .svcd-pin__visual,
  .svcd-page .svcd-pin__blob-slot,
  .svcd-page .svcd-pin__progress {
    display: none !important;
  }
  .svcd-page .svcd-pin__copy,
  .svcd-page .svcd-pin__tags {
    position: relative;
    z-index: 2;
  }
  .svcd-page .svcd-pin__copy {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: end !important;
    justify-self: start !important;
    width: min(78%, 360px) !important;
    min-width: 0 !important;
    top: clamp(18px, 3svh, 28px) !important;
  }
  .svcd-page .svcd-pin__tags {
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: start !important;
    justify-self: end !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 14px !important;
    width: min(72%, 320px) !important;
    margin: 0 !important;
    left: clamp(42px, 10vw, 88px) !important;
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .svcd-page .svcd-pin__tags li {
    width: 100% !important;
    margin: 0 !important;
    font-size: clamp(12px, 3.4vw, 14px) !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
  }
  .svcd-page .svcd-pin__num { font-size: 40px; margin-bottom: 10px; }
  .svcd-page .svcd-pin__title { font-size: clamp(26px, 7vw, 32px); margin-bottom: 12px; }
  .svcd-page .svcd-pin__title--strategy span { display: block; white-space: nowrap; }
  .svcd-page .svcd-pin__desc { font-size: 16px; line-height: 1.6; margin-bottom: 20px; max-width: none; }

  .svcd-page .svcd-pin__mobile-blob {
    --mb-d: 118vw;
    display: block !important;
    position: fixed !important;
    left: 50% !important;
    bottom: calc(var(--mb-d) * -0.30) !important;
    width: var(--mb-d) !important;
    height: var(--mb-d) !important;
    z-index: 0 !important;
    pointer-events: none !important;
    transform: translateX(-50%) translateY(60px) scale(.7) !important;
    opacity: 0 !important;
    transition: transform 420ms cubic-bezier(.22,1,.36,1), opacity 300ms ease !important;
  }
  .svcd-page .svcd-pin.is-mobile-sequence .svcd-pin__mobile-blob.is-risen {
    transform: translateX(-50%) translateY(0) scale(1) !important;
    opacity: 1 !important;
  }
  .svcd-page .svcd-pin__mobile-blob .svcd-pin__blob {
    width: var(--mb-d) !important;
    height: var(--mb-d) !important;
  }

  .svcd-page .svcd-after-services {
    position: relative !important;
    inset: auto !important;
    min-height: 0 !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  .svcd-page footer,
  .svcd-page .footer {
    position: relative !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .svcd-page .svcd-cta__inner { padding: 22px; }
  .svcd-page .svcd-cta__btn { width: 100%; justify-content: center; }
  /* Service 05: compact outlined Paint Events pill on mobile. */
  .svcd-page .svcd-pin__tags li.svcd-pin__tag--paint,
  .svcd-page .svcd-pin__tags li.svcd-pin__tag--paint.is-tag-active {
    width: max-content !important;
    max-width: 100% !important;
    min-height: 48px !important;
    padding: 10px 22px 10px 16px !important;
    border: 2px solid rgba(255,255,255,.96) !important;
    border-radius: 999px !important;
    background: rgba(9,7,18,.12) !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #fff !important;
    -webkit-text-fill-color: currentColor !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }
  .svcd-page .svcd-pin__tags li.svcd-pin__tag--paint::after,
  .svcd-page .svcd-pin__tags li.svcd-pin__tag--paint.is-tag-active::after {
    display: none !important;
    content: none !important;
  }
  .svcd-page .svcd-pin__tags li.svcd-pin__tag--paint::before,
  .svcd-page .svcd-pin__tags li.svcd-pin__tag--paint.is-tag-active::before {
    position: static !important;
    width: 12px !important;
    height: 12px !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }
}
@media (max-width: 639px) and (prefers-reduced-motion: reduce) {
  .svcd-page .svcd-pin__panel,
  .svcd-page .svcd-pin__mobile-blob { transition: none !important; }
}
/* BOOKING CONFIRMATION VIDEO BACKGROUND REMOVAL */
.booking-modal.is-booking-success .booking-success-visual {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  isolation: auto !important;
}
.booking-modal.is-booking-success .booking-success-visual video {
  background: transparent !important;
  mix-blend-mode: screen !important;
}
/* BOOKING CONFIRMATION TRANSPARENT ANIMATION */
.booking-success-visual__animation {
  display: block !important;
  width: min(100%, 430px) !important;
  height: auto !important;
  object-fit: contain !important;
  background: transparent !important;
  filter: drop-shadow(0 24px 64px rgba(188, 66, 255, .24));
}
@media (max-width: 900px) {
  .booking-success-visual__animation { width: min(100%, 320px) !important; }
}

