:root{
  --derby-navy:#011939;
  --renewal-blue:#096694;
  --renewal-blue-dark:#074C6C;
  --healing-meadow:#78A64B;
  --amethyst:#6B4C9A;
  --hope-sky:#5BA3D0;
  --warm-stone:#6D6E71;
  --soft-linen:#F5F5F5;
  --surface-card:#FFFFFF;
  --line-soft:rgba(1,25,57,.12);
  --pure-white:#FFFFFF;
  --ease-smooth:cubic-bezier(.16,1,.3,1);
}

.text-renewal
{
  color:var(--renewal-blue) !important;
}

.text-meadow
{
  color:var(--healing-meadow) !important;
}

.text-sky{
  color:var(--hope-sky) !important;
}

.text-amethyst{
  color:var(--amethyst) !important;
}

html{scroll-behavior:smooth;}

body{
  font-family:'Inter', sans-serif;
  color:var(--derby-navy);
  background:var(--soft-linen);
  -webkit-font-smoothing:antialiased;
  letter-spacing:-.01em;
  font-size:16px;
  line-height:27px;
  padding:30px;
}

body.modal-open{
  overflow:hidden;
}

#site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
}

main#top{
  padding-top:40px;
}

main > section{
  border-radius:20px;
  overflow:hidden;
  margin:30px 0;
}

#what-is-tms{
  overflow:visible;
}

#what-is-tms > div,
.tms-help-shell{
  overflow:visible;
}

footer{
  border-radius:20px;
  overflow:hidden;
  margin:50px 0 0;
}

@media (max-width: 768px){
  body{ padding:16px; }
  main > section{ margin:26px 0; }
  footer{ margin:26px 0 0; }
}



h1,h2,h3,h4,.font-display{ font-family:'Instrument Sans', sans-serif; letter-spacing:-.03em; }
.font-accent{ font-family:'Times New Roman', Times, serif; font-style:italic; font-weight:400; letter-spacing:0; }
.landing-shell{ background:var(--soft-linen); }

h1{ font-size:60px; font-weight:500; line-height:1.04; }
h2{ font-size:46px; font-weight:500; line-height:1.1; }
h3{ font-size:36px; font-weight:500; line-height:1.12; }
h4{ font-size:26px; font-weight:500; line-height:1.2; }

.eyebrow{
  font-family:'Instrument Sans', sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:500;
  font-size:13px;
  line-height:27px;
  color:var(--warm-stone);
}

.eyebrow-dot::before{
  content:'';
  display:inline-block;
  width:6px;height:6px;border-radius:999px;
  background:currentColor;
  margin-right:.5rem;
}

/* Buttons */
.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:var(--surface-card);
  border:1px solid var(--line-soft);
  box-shadow:0 10px 24px rgba(17,17,17,.05);
  color:var(--derby-navy);
  font-family:'Inter',sans-serif;
  font-weight:500;
  font-size:16px;
  line-height:1;
  padding:10px 11px 10px 20px;
  border-radius:12px;
  min-height:0;
  transition:transform .22s var(--ease-smooth), box-shadow .22s var(--ease-smooth), border-color .22s var(--ease-smooth), background .22s ease;
  white-space:nowrap;
}
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 26px rgba(17,17,17,.08);
  border-color:rgba(17,17,17,.14);
}

.btn-secondary{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:var(--renewal-blue);
  color:#fff;
  font-family:'Inter',sans-serif;
  font-weight:500;
  font-size:18px;
  line-height:1;
  padding:10px 11px 10px 20px;
  border-radius:10px;
  min-height:0;

  transition:background .22s ease, transform .22s var(--ease-smooth), box-shadow .22s var(--ease-smooth);
  white-space:nowrap;
}
.btn-secondary:hover{background:var(--renewal-blue-dark); transform:translateY(-2px); box-shadow:0 16px 28px rgba(24,71,183,.28);}

.btn-outline{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:transparent;
  border:1.5px solid rgba(9,102,148,.45);
  color:#fff;
  font-family:'Inter',sans-serif;
  font-weight:600;
  font-size:.88rem;
  padding:.85rem 1.6rem;
  border-radius:999px;
  min-height:44px;
  transition:border-color .2s ease, background .2s ease;
}
.btn-outline:hover{border-color:#fff; background:rgba(255,255,255,.08);}

/* Hero eyebrow badge row */
.btn-icon-box{
  width:35px;
  height:35px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: white;
  font-size:10px;
  color: black;
  line-height:1;
  transition:transform .22s var(--ease-smooth), background .22s ease;
}
.btn-primary .btn-icon-box{
  background:var(--soft-linen);
  color:var(--derby-navy);
}
.btn-primary:hover .btn-icon-box,
.btn-secondary:hover .btn-icon-box{
  transform:translateX(2px);
}

.badge-chip{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-size:12px;
  line-height:1.3;
  font-weight:500;
  padding:.52rem .85rem;
  border-radius:999px;
  border:1px solid rgba(17,17,17,.1);
  color:var(--derby-navy);
  background:#fff;
}

.card-shadow{box-shadow:0 24px 60px -24px rgba(1,25,57,.22);}
.card-shadow-sm{box-shadow:0 10px 28px -14px rgba(1,25,57,.16);}

.fade-up{
  opacity:0;
  transform:translateY(34px) scale(.985);
  transition:opacity .9s var(--ease-smooth), transform .9s var(--ease-smooth);
  will-change:opacity, transform;
}
.fade-up.in-view{opacity:1; transform:translateY(0) scale(1);}

/* Staggered children reveal: add .stagger to a container, children get auto delay */
.stagger > *{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .8s var(--ease-smooth), transform .8s var(--ease-smooth);
}
.stagger.in-view > *{ opacity:1; transform:translateY(0); }
.stagger > *:nth-child(1){transition-delay:.02s;}
.stagger > *:nth-child(2){transition-delay:.10s;}
.stagger > *:nth-child(3){transition-delay:.18s;}
.stagger > *:nth-child(4){transition-delay:.26s;}
.stagger > *:nth-child(5){transition-delay:.34s;}
.stagger > *:nth-child(6){transition-delay:.42s;}

/* Gentle scale-reveal for imagery */
.reveal-img{ opacity:0; transform:scale(1.06); transition:opacity 1s var(--ease-smooth), transform 1.1s var(--ease-smooth); }
.reveal-img.in-view{ opacity:1; transform:scale(1); }

/* Slide from side */
.reveal-left{ opacity:0; transform:translateX(-30px); transition:opacity .9s var(--ease-smooth), transform .9s var(--ease-smooth); }
.reveal-left.in-view{ opacity:1; transform:translateX(0); }
.reveal-right{ opacity:0; transform:translateX(30px); transition:opacity .9s var(--ease-smooth), transform .9s var(--ease-smooth); }
.reveal-right.in-view{ opacity:1; transform:translateX(0); }

@media (prefers-reduced-motion: reduce){
  .fade-up, .stagger > *, .reveal-img, .reveal-left, .reveal-right{opacity:1; transform:none; transition:none;}
  html{scroll-behavior:auto;}
}

/* Placeholder photo blocks standing in for real photography */
.photo-block{
  position:relative;
  overflow:hidden;
  border-radius:12px;
  background:linear-gradient(155deg, var(--derby-navy) 0%, var(--renewal-blue) 100%);
}
.photo-block.tone-light{ background:linear-gradient(155deg, var(--hope-sky) 0%, var(--renewal-blue) 100%); }
.photo-block .brain-mark{position:absolute; opacity:.15;}
.photo-block .cap{
  position:absolute; left:0; right:0; bottom:0;
  padding:.6rem .9rem;
  font-size:.65rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:600;
  color:rgba(255,255,255,.7);
  background:linear-gradient(to top, rgba(1,25,57,.6), transparent);
}

.play-btn{
  width:52px;height:52px;border-radius:999px;
  background:rgba(255,255,255,.95);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 22px rgba(1,25,57,.35);
  color:var(--derby-navy);
}
.play-btn.sm{width:38px;height:38px;}

/* Icon strip overlaid on hero image */
.header-shell{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.7);
  border-radius:18px;
  backdrop-filter:blur(18px);
  box-shadow:0 16px 40px rgba(17,17,17,.06);
}

.header-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.header-shell-main{
  flex:1 1 auto;
  min-width:0;
}

.header-shell-actions{
  flex:0 0 auto;
}

.brand-lockup{
  display:inline-flex;
  align-items:center;
  gap:.8rem;
  min-width:0;
}

.brand-mark{
  width:36px;
  height:36px;
  border-radius:999px;
  border:1.5px solid rgba(24,71,183,.45);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Instrument Sans',sans-serif;
  font-size:1.5rem;
  font-style:normal;
  color:var(--renewal-blue);
  background:#fff;
}

.brand-mark-icon svg{
  color:var(--renewal-blue);
}

.brand-copy{
  display:flex;
  flex-direction:column;
  line-height:1;
}

.brand-title{
  font-size:.97rem;
  font-weight:600;
  color:var(--renewal-blue);
}

.brand-subtitle{
  font-size:.56rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(9,102,148,.82);
  margin-top:.18rem;
}

.nav-link{
  position:relative;
  color:var(--derby-navy);
  font-size:.94rem;
  font-weight:500;
}

.nav-link:hover{ color:var(--renewal-blue); }

.header-cta{
  min-height:48px;
  padding:.5rem .6rem .5rem 1rem;
}

.header-icon-link{
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid var(--line-soft);
  background:#fff;
  color:var(--derby-navy);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:transform .22s var(--ease-smooth), box-shadow .22s var(--ease-smooth), color .22s ease;
}

.header-icon-link:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(17,17,17,.06);
  color:var(--renewal-blue);
}

.hero-kicker{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  flex-wrap:wrap;
  margin-bottom:1.5rem;
  color:var(--warm-stone);
  font-size:.76rem;
  font-weight:500;
  letter-spacing:.02em;
}

.hero-kicker-dot{
  width:7px;
  height:7px;
  border-radius:1px;
  background:var(--renewal-blue);
}

.hero-title{
  font-size:clamp(2.75rem,5.1vw,60px);
  line-height:1.03;
  max-width:880px;
  margin:0 auto;
  font-weight:500;
  color:#000;
}

.hero-copy{
  max-width:720px;
  margin:1.25rem auto 0;
  font-size:16px;
  line-height:27px;
  color:var(--warm-stone);
}

.hero-actions{
  margin-top:2rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  flex-wrap:wrap;
}

.hero-phone{
  font-size:.98rem;
  color:var(--warm-stone);
}

.hero-phone span{
  color:#4D4D4D;
  font-weight:600;
}

.hero-benefits{
  margin-top:2rem;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2rem;
  flex-wrap:wrap;
}

.hero-benefits span{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-size:.93rem;
  color:#4D4D4D;
}

.hero-visual{
  position:relative;
  min-height:clamp(360px, 58vw, 690px);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 26px 60px rgba(17,17,17,.12);
  background:#d7d1cb;
}

.hero-visual::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(1, 25, 57, 0.641) 0%, rgba(1, 25, 57, 0.866) 42%, rgba(1, 25, 57, 0.855) 68%, rgba(1, 25, 57, 0.411) 100%);
  z-index:1;
  pointer-events:none;
}

.hero-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:152px 22px 92px;
}

.hero-overlay-inner{
  width:100%;
  max-width:920px;
}

.hero-overlay .hero-title{
  color:#fff;
}

.hero-overlay .hero-copy{
  color:rgba(255,255,255,.84);
}

.hero-overlay .hero-benefits span{
  color:rgba(255,255,255,.86);
}

.hero-overlay .hero-benefits svg{
  color:rgba(255,255,255,.72) !important;
}

.hero-overlay .hero-phone{
  color:rgba(255,255,255,.82);
}

.hero-overlay .hero-phone span{
  color:#fff;
}

.hero-main-image{
  width:100%;
  height:100%;
  min-height:clamp(360px, 58vw, 690px);
  object-fit:cover;
  object-position:center;
  display:block;
}

.hero-slides{
  position:relative;
  min-height:clamp(360px, 58vw, 690px);
  height:100%;
  z-index:0;
}

.hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .8s var(--ease-smooth), transform 1s var(--ease-smooth);
  transform:scale(1.02);
}

.hero-slide.is-active{
  opacity:1;
  transform:scale(1);
}

.hero-strip{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:0 14px 14px;
  display:flex;
  gap:12px;
  justify-content:center;
  align-items:center;
  overflow-x:auto;
  z-index:3;
}

.hero-strip::-webkit-scrollbar{ display:none; }

.hero-slider-note{
  position:absolute;
  top:28px;
  left:28px;
  z-index:2;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#333;
  font-size:13px;
  line-height:1.2;
  box-shadow:0 12px 24px rgba(17,17,17,.12);
}

.symptom-chip{
  min-width:max-content;
  display:flex;
  align-items:center;
  gap:.8rem;
  background:#ffffff74;
  border:1px solid rgba(17,17,17,.08);
  border-radius:14px;
  padding:.55rem .8rem .55rem .55rem;
  box-shadow:0 14px 28px rgba(17,17,17,.08);
  border:none;
  cursor:pointer;
  transition:transform .26s var(--ease-smooth), box-shadow .26s var(--ease-smooth), background .26s ease;
}

.symptom-chip.is-active{
  background:#fff;
  box-shadow:0 18px 32px rgba(17,17,17,.15);
  outline:2px solid rgba(255,255,255,.32);
}

.symptom-thumb{
  width:34px;
  height:34px;
  border-radius:8px;
  object-fit:cover;
  flex:none;
}

.symptom-chip span:last-child{
  font-size:.95rem;
  color:#343434;
  white-space:nowrap;
}

.section-grid{
  display:grid;
  grid-template-columns:minmax(180px,300px) minmax(0,1fr);
  gap:2rem 3.5rem;
  align-items:start;
}

.section-label-wrap{
  padding-top:.75rem;
}

.problem-title{
  font-size:clamp(2rem,4.8vw,3rem);
  line-height:1.14;
  font-weight:500;
  color:#000;
  max-width:920px;
}

.section-heading{
  font-size:clamp(2rem,4.8vw,2.5rem);
  line-height:1.14;
  font-weight:500;
}

.problem-title-muted{
  color:#B7B7B7;
}

.problem-copy{
  margin-top:1.9rem;
  max-width:850px;
  color:var(--warm-stone);
  font-size:16px;
  line-height:27px;
}

.problem-copy p + p{
  margin-top:1.6rem;
}

.split-section{
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(0, 1fr);
  gap:2.8rem;
  align-items:center;
}

.split-image-wrap{
  border-radius:18px;
  overflow:hidden;
}

.split-image{
  display:block;
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
}

.split-copy{
  max-width:520px;
}

.split-title{
  margin-top:.9rem;
  color:#000;
}

.split-copy p{
  margin-top:1.45rem;
  color:var(--warm-stone);
  font-size:16px;
  line-height:27px;
}

.split-cta{
  margin-top:1.9rem;
}

.help-title{
  margin-top:.9rem;
  color:#000;
}

.tms-help-shell{
  display:grid;
  grid-template-columns:minmax(270px,350px) minmax(0,1fr);
  gap:6rem;
  align-items:start;
  position:relative;
}

.tms-help-nav{
  position:-webkit-sticky;
  position:sticky;
  top:138px;
  align-self:start;
  height:max-content;
  z-index:2;
}

.help-nav-item{
  width:100%;
  text-align:left;
  border:none;
  background:transparent;
  padding:1rem 0;
  border-bottom:1px solid rgba(17,17,17,.08);
  color:#8A8A8E;
  font-size:18px;
  font-weight:500;
  display:flex;
  align-items:center;
  gap:.75rem;
  transition:color .22s ease, transform .22s var(--ease-smooth);
}

.help-nav-number{
  font-size:.8rem;
  font-weight:700;
  color:var(--renewal-blue);
  min-width:1.8rem;
}

.help-nav-item::before{
  content:'';
  width:7px;
  height:7px;
  border-radius:999px;
  background:transparent;
  transition:background .22s ease;
}

.help-nav-item.active{
  color:#252525;
  font-weight:600;
}

.help-nav-item.active::before{
  background:var(--healing-meadow);
}

.help-nav-item:hover{
  color:#252525;
  transform:translateX(3px);
}

.condition-stack{
  display:grid;
  gap:1.5rem;
}

.condition-card{
  position:relative;
  min-height:600px;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 22px 40px rgba(17,17,17,.08);
  background:#fff;
}

.condition-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.condition-overlay{
  position:absolute;
  left:2.5%;
  right:auto;
  bottom:18px;
  width:95%;
  background:rgb(255 255 255 / 78%);
  border:1px solid rgba(255,255,255,.55);
  backdrop-filter:blur(14px);
  border-radius:14px;
  padding:2.1rem 2.2rem 2.2rem;
}

.condition-arrow{
  width:40px;
  height:40px;
  border-radius:8px;
  background:var(--renewal-blue);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.1rem;
  margin-bottom:.95rem;
}

.condition-overlay h3{
  font-size:26px;
  font-weight:600;
  color:#171717;
  line-height:1.2;
}

.condition-kicker{
  margin-bottom:.55rem;
  font-size:14px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--renewal-blue);
}

.insurance-marquee{
  overflow:hidden;
  position:relative;
  border-radius:14px;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
}

.insurance-track{
  --insurance-speed:28s;
  display:flex;
  width:max-content;
  animation:insurance-marquee var(--insurance-speed) linear infinite;
  will-change:transform;
}

.insurance-set{
  display:flex;
  align-items:center;
  gap:80px;
  padding-right:80px;
  flex:0 0 auto;
}

@keyframes insurance-marquee{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

.insurance-logo{
  width:auto;
  max-width:170px;
  height:44px;
  object-fit:contain;
  object-position:center;
  margin:0 auto;
  opacity:.78;
  filter:grayscale(1);
  flex:0 0 auto;
}

@media (prefers-reduced-motion: reduce){
  .insurance-marquee{
    overflow-x:auto;
    -webkit-mask-image:none;
    mask-image:none;
  }
  .insurance-track{
    animation:none;
  }
  .insurance-marquee::-webkit-scrollbar{ display:none; }
}

.quote-panel{
  position:relative;
  overflow:hidden;
  padding:70px;
  border-radius:12px;
  background:
    radial-gradient(circle at 78% 18%, rgba(91,163,208,.36), transparent 30%),
    radial-gradient(circle at 64% 0%, rgba(107,76,154,.26), transparent 26%),
    linear-gradient(135deg, var(--derby-navy) 0%, var(--renewal-blue) 58%, rgba(120,166,75,.32) 120%);
  color:#fff;
  
}

.quote-orb{
  position:absolute;
  inset:auto -10% -35% auto;
  width:420px;
  height:420px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(91,163,208,.32) 0%, rgba(91,163,208,0) 68%);
  pointer-events:none;
}

.quote-icon-wrap{
  position:relative;
  z-index:1;
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.quote-icon{
  width:100%;
  height:100%;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.16);
  font-family:'Times New Roman',serif;
  font-size:32px;
  line-height:1;
  padding-top:4px;
}

.quote-panel-copy{
  position:relative;
  z-index:1;
  max-width:100%;
  margin-top:22px;
  font-family:'Instrument Sans',sans-serif;
  font-size:30px;
  line-height:1.42;
  letter-spacing:-.02em;
}

.quote-tag-row{
  position:relative;
  z-index:1;
  margin-top:24px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.quote-tag{
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  font-size:14px;
  line-height:1.2;
  color:#E8EEFF;
}

.quote-profile-row{
  position:relative;
  z-index:1;
  margin-top:22px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.quote-profile{
  min-width:190px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 14px 10px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  color:inherit;
  text-align:left;
  cursor:pointer;
  transition:transform .22s var(--ease-smooth), background .22s ease, border-color .22s ease, box-shadow .22s ease;
}

button.quote-profile{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(255,255,255,.16);
}

.quote-profile:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.24);
  box-shadow:0 12px 24px rgba(0,0,0,.14);
}

.quote-profile.is-active{
  background:#fff;
  color:#111;
}

.quote-profile.is-active .quote-profile-location{
  color:#757575;
}

.quote-profile-image{
  width:30px;
  height:30px;
  border-radius:999px;
  object-fit:cover;
  flex:none;
}

.quote-profile-text{
  display:flex;
  flex-direction:column;
  line-height:1.2;
}

.quote-profile-name{
  font-size:16px;
}

.quote-profile-location{
  font-size:13px;
  color:rgba(255,255,255,.72);
}

.quote-panel-note{
  position:relative;
  z-index:1;
  margin-top:18px;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
}

.how-works-section{
  background:
    radial-gradient(circle at 50% 24%, rgba(255,255,255,.55) 0%, rgba(255,255,255,.12) 22%, rgba(0,0,0,0) 42%),
    linear-gradient(180deg, #ffffff 0%, #292929 36%, #020202 84%);
}

.how-works-title{
  margin-top:12px;
  color:#111;
}

.how-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:26px;
  justify-content:stretch;
  align-items:start;
  margin:0 auto;
}

.how-card{
  width:100%;
  max-width:none;
}

.how-card-right{
  justify-self:stretch;
  margin-top:0;
}

.how-card-bottom{
  grid-column:auto;
  justify-self:stretch;
  margin-top:0;
}

.how-card-left{
  justify-self:stretch;
}

.how-card-image{
  width:100%;
  aspect-ratio:1.1 / 1;
  border-radius:10px;
  object-fit:cover;
  display:block;
}

.how-card .eyebrow{
  margin-top:16px;
  color:#D8D8D8;
}

.how-card .eyebrow::before{
  color:var(--healing-meadow);
}

.how-card h3{
  margin-top:10px;
  color:#F4F4F4;
  font-size:28px;
  line-height:1.08;
}

.paths-section{
  position:relative;
  background-image:url('images/footer-banner.jpg');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.paths-section::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(1,25,57,.72) 0%, rgba(1,25,57,.58) 36%, rgba(4, 58, 85, 0.704) 100%);
  pointer-events:none;
}

.paths-section > *{
  position:relative;
  z-index:1;
}

.paths-section .eyebrow,
.paths-section .section-heading{
  color:#fff;
}

.paths-section .eyebrow{
  color:rgba(255,255,255,.7);
}

.paths-section .text-stone{
  color:rgba(255,255,255,.72) !important;
}

.paths-section .bg-white{
  background:rgb(255, 255, 255) !important;
}

.paths-section .text-navy{
  color:var(--derby-navy) !important;
}

.paths-section .text-stone li
{
  color: black !important;
}

.how-card p{
  margin-top:12px;
  color:rgba(255,255,255,.76);
  font-size:16px;
  line-height:27px;
  max-width:100%;
}

.how-insurance-copy{
  text-align:center;
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.7;
}

.how-insurance-logos{
  margin-top:20px;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:18px 32px;
}

.how-insurance-logos span{
  color:rgba(255,255,255,.28);
  font-family:'Instrument Sans',sans-serif;
  font-size:20px;
  font-weight:600;
}

.how-proof-heading{
  color:#fff;
  text-align:center;
}

.how-proof-grid{
  margin-top:30px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
}

.how-proof-card{
  padding:35px;
  border-radius:16px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.09);
  backdrop-filter:blur(6px);
}

.how-proof-card h4{
  margin-top:30px;
  color:#fff;
  font-size:26px;
}

.how-proof-card p{
  margin-top:20px;
  color:rgba(255,255,255,.68);
  font-size:16px;
  line-height:27px;
}

.how-proof-copy{
  margin-top:24px;
  max-width:800px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  color:rgba(255,255,255,.66);
  font-size:16px;
  line-height:27px;
}

.team-feature{
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(0, 1fr);
  gap:56px;
  align-items:start;
}

.team-title,
.social-proof-title{
  margin-top:10px;
  color:#111;
}

.team-copy p{
  margin-top:18px;
  max-width:480px;
  color:var(--warm-stone);
  font-size:16px;
  line-height:27px;
}

.team-thumbs{
  margin-top:36px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.team-thumbs-note{
  width:100%;
  margin-bottom:4px;
  color:#7B7B7B;
  font-size:12px;
  line-height:1.5;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.team-thumb{
  width:76px;
  height:76px;
  padding:0;
  border:none;
  border-radius:12px;
  overflow:hidden;
  background:#ddd;
  cursor:pointer;
  transition:transform .22s var(--ease-smooth), box-shadow .22s var(--ease-smooth);
}

.team-thumb.is-active{
  outline:2px solid var(--renewal-blue);
  outline-offset:2px;
}

.team-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.team-portrait-card{
  position:relative;
  border-radius:10px;
  overflow:hidden;
  background:#ddd;
}

.team-portrait-image{
  width:100%;
  aspect-ratio:4 / 4.5;
  object-fit:cover;
  display:block;
}

.team-portrait-overlay{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  background: rgba(255, 255, 255, 0.853);
  backdrop-filter:blur(10px);
  border-radius:12px;
  padding:30px;
}

.team-portrait-overlay h3{
  font-size:26px;
  line-height:1.18;
  color:#191919;
}

.team-role{
  margin-top:6px;
  color:#7D7D7D;
  font-size:16px;
  line-height:27px;
}

.team-portrait-overlay p:last-child{
  margin-top:10px;
  color:#696969;
  font-size:16px;
  line-height:27px;
}

.team-benefits{
  margin-top:40px;
  padding-top:26px;
  border-top:1px solid rgba(17,17,17,.08);
  display:flex;
  justify-content:center;
  gap:32px;
  flex-wrap:wrap;
}

.team-benefits span{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#4D4D4D;
  font-size:16px;
}

.social-proof-heading{
  max-width:640px;
}

.social-proof-shell{
  display:grid;
  grid-template-columns:236px minmax(0,1fr);
  gap:20px;
  align-items:start;
  margin-left:auto;
  margin-right:auto;
}

.social-proof-side{
  display:grid;
  gap:12px;
}

.proof-stat-card,
.proof-quote-card{
  background:#fff;
  border-radius:16px;
  padding:20px 16px;
  box-shadow:0 10px 26px rgba(17,17,17,.04);
  border:1px solid rgba(17,17,17,.04);
}

.proof-stat-card{
  background:rgba(255,255,255,.92);
}

.proof-stat-card-primary{
  min-height:164px;
}

.proof-stat-card-secondary{
  min-height:156px;
}

.proof-big-number{
  font-family:'Instrument Sans',sans-serif;
  font-size:54px;
  line-height:1;
  color:var(--renewal-blue);
  font-weight:600;
}

.proof-stat-label{
  margin-top:8px;
  color:#303030;
  font-size:15px;
  line-height:1.5;
}

.proof-badge{
  margin-top:14px;
  display:flex;
  align-items:center;
  gap:12px;
  background:#DCE4F5;
  border-radius:999px;
  padding:10px 14px 10px 10px;
}

.proof-badge-icon{
  width:46px;
  height:46px;
  border-radius:999px;
  background:var(--renewal-blue);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:none;
}

.proof-badge strong,
.proof-badge small{
  display:block;
}

.proof-badge strong{
  font-size:16px;
  line-height:1.2;
  color:#222;
}

.proof-badge small{
  font-size:14px;
  line-height:1.3;
  color:#686E7A;
}

.proof-mini-avatars{
  display:flex;
  margin-bottom:12px;
}

.proof-mini-avatars img{
  width:42px;
  height:42px;
  border-radius:999px;
  object-fit:cover;
  border:2px solid #fff;
  margin-left:-8px;
}

.proof-mini-avatars img:first-child{
  margin-left:0;
}

.proof-stat-support{
  color:#666;
  font-size:14px;
  line-height:1.55;
}

.proof-pill-row{
  margin-top:14px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.proof-pill-row span{
  padding:7px 12px;
  border-radius:999px;
  background:#F1F1F1;
  color:#555;
  font-size:13px;
  line-height:1.2;
}

.social-proof-main{
  display:grid;
  gap:18px;
  min-width:0;
  align-self:stretch;
}

.proof-video-card{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  background:#d9d9d9;
  box-shadow:0 14px 34px rgba(17,17,17,.06);
  border:7px solid rgba(255,255,255,.92);
  height:100%;
  min-height:100%;
}

.proof-video-image,
.proof-video-embed{
  width:100%;
  aspect-ratio:16 / 10;
  display:block;
}

.proof-video-embed{
  border:0;
  background:#000;
}

.proof-play-btn{
  position:absolute;
  right:16px;
  bottom:16px;
}

.proof-grid-wrap{
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  -ms-overflow-style:none;
  cursor:grab;
  scroll-snap-type:x mandatory;
  scroll-padding-left:0;
}

.proof-grid-wrap::-webkit-scrollbar{ display:none; }
.proof-grid-wrap.is-dragging{ cursor:grabbing; }

.proof-grid{
  display:flex;
  align-items:stretch;
  gap:16px;
  width:max-content;
  min-width:100%;
}

.proof-media-card{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  background:#ddd;
  min-height:236px;
  box-shadow:0 10px 26px rgba(17,17,17,.04);
  border:1px solid rgba(17,17,17,.04);
  flex:0 0 208px;
  scroll-snap-align:start;
}

.proof-media-image{
  width:100%;
  height:100%;
  min-height:236px;
  object-fit:cover;
  display:block;
}

.proof-media-card-large{
  flex-basis:212px;
  min-height:236px;
}

.proof-media-card-edge{
  flex-basis:82px;
  border-top-right-radius:0;
  border-bottom-right-radius:0;
}

.proof-small-play{
  position:absolute;
  right:14px;
  bottom:14px;
}

.proof-stars{
  display:flex;
  gap:2px;
  color:#E4B200;
}

.proof-quote-text{
  margin-top:12px;
  font-size:15px;
  line-height:1.5;
  color:#6D6D6D;
}

.proof-quote-card-featured{
  padding:20px 18px 18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  flex:0 0 280px;
  scroll-snap-align:start;
}

.proof-quote-title{
  margin-top:14px;
  color:#222;
  font-family:'Instrument Sans',sans-serif;
  font-size:18px;
  line-height:1.4;
  font-weight:500;
}

.proof-quote-name{
  margin-top:14px;
  color:#343434;
  font-size:16px;
  line-height:1.3;
  font-weight:500;
}

/* Social-proof redesign overrides */
.social-proof-shell{
  grid-template-columns:minmax(260px, .72fr) minmax(0, 1.28fr);
  gap:24px;
  align-items:stretch;
}

.social-proof-side{
  gap:16px;
}

.proof-stat-card,
.proof-quote-card,
.proof-note-card{
  border-radius:18px;
  padding:24px 22px;
  box-shadow:0 12px 30px rgba(17,17,17,.05);
  border:1px solid rgba(17,17,17,.05);
}

.proof-stat-card{
  background:white;
}

.proof-stat-card-primary{
  min-height:250px;
}

.proof-stat-head{
  display:flex;
  align-items:center;
  gap:14px;
}

.proof-big-number{
  font-size:52px;
}

.proof-stat-label{
  margin-top:6px;
}

.proof-badge-icon{
  width:48px;
  height:48px;
  box-shadow:0 14px 30px rgba(9,102,148,.22);
}

.proof-stat-kicker{
  margin-top:22px;
  color:#1C1C1C;
  font-family:'Instrument Sans',sans-serif;
  font-size:16px;
  line-height:1.45;
  font-weight:500;
}

.proof-stat-metrics{
  margin-top:26px;
  padding-top:18px;
  border-top:1px solid rgba(17,17,17,.08);
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.proof-stat-metrics strong,
.proof-stat-metrics span{
  display:block;
}

.proof-stat-metrics strong{
  color:#111;
  font-family:'Instrument Sans',sans-serif;
  font-size:24px;
  line-height:1.05;
  font-weight:600;
}

.proof-stat-metrics span{
  margin-top:6px;
  color:#6A6A6A;
  font-size:13px;
  line-height:1.55;
}

.proof-note-card p{
  color:#6C6C6C;
  font-size:14px;
  line-height:1.65;
}

.proof-mini-avatars{
  margin-top:16px;
  margin-bottom:0;
}

.proof-video-card{
  box-shadow:0 16px 38px rgba(17,17,17,.08);
}

.proof-video-image,
.proof-video-embed{
  aspect-ratio:16 / 9.3;
  height:100%;
}

.proof-video-caption{
  position:absolute;
  left:16px;
  bottom:16px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(17,17,17,.42);
  color:#fff;
  font-size:12px;
  line-height:1.2;
  backdrop-filter:blur(10px);
}

.proof-testimonial-carousel{
  position:relative;
}

.proof-testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  align-items:stretch;
}

.proof-carousel-arrow{
  display:none;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(1,25,57,.1);
  background:rgba(255,255,255,.96);
  color:var(--derby-navy);
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 26px rgba(1,25,57,.12);
}

.proof-carousel-arrow-left{
  left:-12px;
}

.proof-carousel-arrow-right{
  right:-12px;
}

.proof-quote-head{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:0;
}

.proof-avatar{
  position:relative;
  width:54px;
  height:54px;
  border-radius:999px;
  overflow:hidden;
  flex:none;
}

.proof-avatar-image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.proof-avatar-play-icon{
  position:absolute;
  inset:auto 6px 6px auto;
  width:20px;
  height:20px;
  border-radius:999px;
  background:rgba(255,255,255,.95);
  color:var(--renewal-blue);
  display:flex;
  align-items:center;
  justify-content:center;
}

.proof-quote-card-featured{
  padding:24px 22px 22px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:246px;
  flex:initial;
  height:100%;
}

.proof-quote-text{
  font-size:16px;
  line-height:1.68;
  margin-top:18px;
}

.footer-shell{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(0, 1.2fr);
  gap:30px;
  align-items:start;
}

.footer-brand-column{
  padding:8px 0 0;
}

.footer-brand-lockup{
  display:flex;
  align-items:center;
}

.footer-logo{
  width:100%;
  max-width:280px;
  height:auto;
  display:block;
}

.footer-brand-copy{
  margin-top:20px;
  max-width:540px;
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:1.8;
}

.footer-cta-row{
  margin-top:22px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}

.footer-phone-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:45px;
  padding:10px 18px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:12px;
  color:#fff;
  background:rgba(255,255,255,.06);
  transition:background .22s ease, border-color .22s ease, transform .22s var(--ease-smooth);
}

.footer-phone-link:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.26);
  transform:translateY(-1px);
}

.footer-info-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

.footer-info-card{
  min-height:100%;
  padding:20px 20px 18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.78);
  font-size:14px;
  line-height:1.75;
}

.footer-info-card a{
  color:#fff;
}

.footer-info-card-emergency{
  grid-column:1 / -1;
  background:linear-gradient(135deg, rgba(91,163,208,.14), rgba(255,255,255,.05));
}

.footer-card-label{
  margin-bottom:10px;
  font-family:'Instrument Sans', sans-serif;
  font-size:12px;
  line-height:1.2;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.56);
}

.proof-quote-meta{
  margin-top:6px;
  color:#767676;
  font-size:13px;
  line-height:1.25;
}

@media (max-width: 960px){
  .social-proof-shell{
    grid-template-columns:1fr;
  }

  .social-proof-side{
    grid-template-columns:1fr 1fr;
  }

  .proof-testimonial-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .footer-shell{
    grid-template-columns:1fr;
  }
}

@media (max-width: 768px){
  .social-proof-side,
  .proof-testimonial-grid{
    grid-template-columns:1fr;
  }

  .eyebrow
  {
    font-size: 12px;
  }
  .eyebrow-dot::before
  {
    display: none !important;
  }
  .how-proof-card h4
  {
    font-size: 20px;
    margin-top: 15px;
  }
  .how-works-section{
    background:
      radial-gradient(circle at 50% 24%, rgba(255, 255, 255, 0) 0%, rgba(255,255,255,.12) 22%, rgba(0,0,0,0) 42%),
      linear-gradient(180deg, #dbdbdb 0%, #292929 36%, #020202 84%);
  }

  .proof-stat-card-primary{
    min-height:auto;
  }

  .proof-testimonial-carousel{
    padding:0 20px;
  }

  .proof-testimonial-grid[data-proof-reviews-scroller]{
    display:flex;
    gap:14px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -ms-overflow-style:none;
    scrollbar-width:none;
  }

  .proof-testimonial-grid[data-proof-reviews-scroller]::-webkit-scrollbar{
    display:none;
  }

  .proof-testimonial-grid[data-proof-reviews-scroller] .proof-quote-card-featured{
    flex:0 0 calc(100% - 8px);
    min-width:calc(100% - 8px);
    scroll-snap-align:start;
  }

  .proof-carousel-arrow{
    display:inline-flex;
  }

  .proof-carousel-arrow-left{
    left:0;
  }

  .proof-carousel-arrow-right{
    right:0;
  }

  .footer-info-grid{
    grid-template-columns:1fr;
  }
}

.session-title{
  max-width:640px;
  line-height:1.08;
  letter-spacing:-.02em;
}

.session-intro{
  max-width:700px;
}

.session-shell{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:64px;
  justify-content:stretch;
  align-items:center;
  margin-left:auto;
  margin-right:auto;
}

.session-accordion{
  padding:.15rem 0 0;
  background:transparent;
  border:none;
  box-shadow:none;
  width:100%;
  max-width:none;
}

.session-accordion .acc-item{
  border:1px solid transparent;
  border-radius:18px;
  transition:background .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.session-accordion .acc-item + .acc-item{
  margin-top:8px;
}

.session-accordion .acc-item.open{
  background:#fff;
  border-color:rgba(17,17,17,.04);
  box-shadow:0 16px 32px rgba(17,17,17,.05);
}

.session-accordion .acc-item:not(.open){
  border-bottom-color:rgba(17,17,17,.08);
  border-radius:0;
}

.session-accordion .acc-trigger{
  padding:18px 18px;
}

.session-accordion .acc-body{
  padding:0 18px;
}

.session-accordion .acc-body p{
  max-width:335px;
  padding:0 0 18px 34px;
  color:#7B7B7B;
  font-size:16px;
  line-height:1.55;
}

.session-accordion .acc-plus::before,
.session-accordion .acc-plus::after{
  background:var(--derby-navy);
}

.session-accordion .acc-item.open .acc-plus::before{
  opacity:.7;
}

.session-step-num{
  min-width:22px;
  color:var(--renewal-blue);
  font-family:'Instrument Sans',sans-serif;
  font-size:15px;
  font-weight:600;
  line-height:1;
}

.session-step-title{
  color:#222;
  font-family:'Instrument Sans',sans-serif;
  font-size:18px;
  line-height:1.35;
  font-weight:500;
}

.session-visual{
  justify-self:start;
  width:100%;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 20px 46px rgba(17,17,17,.08);
  background:#ddd2c8;
}

.session-visual-image{
  width:100%;
  aspect-ratio:1 / 1.06;
  object-fit:cover;
  display:block;
}

.proof-quote-meta{
  margin-top:4px;
  color:#767676;
  font-size:13px;
  line-height:1.5;
}

.condition-overlay p{
  margin-top:.55rem;
  font-size:14px;
  line-height:27px;
  color:#66676B;
  max-width:560px;
}

/* Vertical stepper / condition list */
.stepper-item{
  display:flex; align-items:flex-start; gap:.85rem;
  padding:1rem 1.1rem;
  border-radius:12px;
  cursor:default;
  border-left:3px solid transparent;
}
.stepper-item.active{
  background:var(--soft-linen);
  border-left-color:var(--renewal-blue);
}
.stepper-item .num{
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:.78rem;
  width:26px;height:26px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  flex:none;
}
.stepper-item.active .num{ background:var(--renewal-blue); color:#fff; }
.stepper-item:not(.active) .num{ background:rgba(1,25,57,.06); color:var(--warm-stone); }

/* Stacked peeking cards */
.stack-wrap{ position:relative; }
.stack-peek{
  position:absolute; left:5%; right:5%; bottom:-18px;
  height:64px;
  border-radius:12px;
  background:var(--soft-linen);
  border:1px solid rgba(1,25,57,.06);
  z-index:0;
}

/* Accordion (numbered, plus/minus) */
.acc-item{ border-bottom:1px solid rgba(1,25,57,.08); }
.acc-item:last-child{ border-bottom:none; }
.acc-trigger{ display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; text-align:left; padding:1.15rem 0; }
.acc-plus{ position:relative; width:18px; height:18px; flex:none; }
.acc-plus::before, .acc-plus::after{
  content:''; position:absolute; background:var(--renewal-blue); border-radius:2px;
}
.acc-plus::before{ left:0; top:50%; width:100%; height:2px; transform:translateY(-50%); }
.acc-plus::after{ top:0; left:50%; height:100%; width:2px; transform:translateX(-50%); transition:transform .25s ease, opacity .25s ease; }
.acc-item.open .acc-plus::after{ transform:translateX(-50%) rotate(90deg); opacity:0; }
.acc-body{ max-height:0; overflow:hidden; transition:max-height .35s ease; }

/* FAQ accordion (dark split layout) */
.faq-section{
  background:
    radial-gradient(circle at 14% 16%, rgba(34,101,96,.18), transparent 28%),
    linear-gradient(135deg, #06142d 0%, #031E21 100%);
}

.faq-shell{
  display:grid;
  grid-template-columns:minmax(280px, .9fr) minmax(0, 1.08fr);
  gap:56px;
  align-items:start;
}

.faq-copy{
  color:#F3F5F4;
}

.faq-title{
  max-width:430px;
  color:#F3F5F4;
}

.faq-cta{
  margin-top:28px;
}

.faq-profile-card{
  margin-top:76px;
  display:flex;
  align-items:center;
  gap:14px;
  max-width:280px;
}

.faq-profile-image{
  width:64px;
  height:64px;
  border-radius:8px;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.5);
}

.faq-profile-stat{
  color:#FFFFFF;
  font-family:'Instrument Sans',sans-serif;
  font-size:18px;
  line-height:1.2;
  font-weight:500;
}

.faq-profile-copy{
  margin-top:4px;
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.5;
}

.faq-side-note{
  margin-top:28px;
  color:rgba(255,255,255,.64);
  font-size:13px;
  line-height:1.6;
}

.faq-side-note a{
  color:#BFE0DA;
}

.faq-list{
  display:grid;
}

.faq-item{
  border-bottom:1px solid rgba(255,255,255,.16);
}

.faq-trigger{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:26px 0;
  text-align:left;
  color:#F3F5F4;
  font-family:'Instrument Sans',sans-serif;
  font-size:18px;
  line-height:1.45;
  font-weight:500;
}

.faq-item .chevron{
  color:#F3F5F4;
  transition:transform .25s ease;
}

.faq-item.open .chevron{
  transform:rotate(180deg);
}

.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease;
}

.faq-answer p{
  padding:0 0 24px;
  color:rgba(255,255,255,.72);
  font-size:16px;
  line-height:27px;
  max-width:720px;
}

/* Dark quote card */
.quote-card{
  position:relative;
  background:linear-gradient(155deg, var(--derby-navy) 0%, var(--renewal-blue) 130%);
  border-radius:20px;
  overflow:hidden;
}
.quote-mark{ font-family:'Montserrat',sans-serif; font-weight:800; font-size:4rem; line-height:1; color:rgba(255,255,255,.18); }

.avatar-chip{
  display:flex; align-items:center; gap:.55rem;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  padding:.4rem .9rem .4rem .4rem;
  flex:none;
}
.avatar-dot{ width:30px; height:30px; border-radius:999px; background:linear-gradient(155deg, var(--sky, #5BA3D0), var(--renewal-blue)); flex:none; }

/* Floating credential card over portrait */
.floating-card{
  position:absolute; left:-1rem; bottom:-1.25rem;
  background:#fff; border-radius:14px;
  padding:.9rem 1.1rem;
  max-width:220px;
}

.journey-shell{
  margin-top:56px;
}

.journey-steps{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:24px;
  align-items:start;
}

.journey-line{
  position:absolute;
  left:10%;
  right:10%;
  top:122px;
  height:1px;
  background:rgba(17,17,17,.08);
}

.journey-step{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.journey-number{
  position:relative;
  z-index:1;
  width:34px;
  height:34px;
  margin-top:18px;
  border-radius:999px;
  background:rgba(120,166,75,.22);
  color:var(--derby-navy);
  border:1px solid rgba(120,166,75,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Instrument Sans',sans-serif;
  font-size:15px;
  font-weight:600;
  box-shadow:none;
}

.journey-image-wrap{
  width:min(128px, 100%);
  aspect-ratio:1 / 1;
  border-radius:999px;
  overflow:hidden;
  box-shadow:0 14px 26px rgba(17,17,17,.06);
}

.journey-step-image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.journey-step-copy{
  margin-top:26px;
  width:100%;
}

.journey-step h3{
  font-size:22px;
  line-height:1.2;
  color:#1A1A1A;
}

.journey-step p{
  margin-top:10px;
  color:#787878;
  font-size:16px;
  line-height:1.65;
  max-width:none;
}

.journey-support{
  max-width:620px;
  margin:34px auto 0;
  text-align:center;
  background:linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(247,244,240,.98) 100%);
  border-radius:18px;
  padding:22px 22px 20px;
  border:1px solid rgba(17,17,17,.06);
  box-shadow:0 12px 30px rgba(17,17,17,.04);
}

.booking-section{
  background:var(--soft-linen);
}

.booking-shell{
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(420px, .92fr);
  gap:54px;
  align-items:start;
}

.booking-copy{
  padding-top:28px;
  min-height:100%;
  display:flex;
  flex-direction:column;
}

.booking-title{
  max-width:520px;
  color:#111;
}

.booking-lead{
  margin-top:18px;
  max-width:470px;
  color:#7B7B7B;
  font-size:16px;
  line-height:27px;
}

.booking-contact-card{
  width:100%;
  max-width:340px;
  margin-top:auto;
  padding:18px 18px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.56);
  border:1px solid rgba(17,17,17,.05);
  box-shadow:0 12px 28px rgba(17,17,17,.04);
}

.booking-contact-label{
  color:#8A837D;
  font-size:12px;
  line-height:1.4;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.booking-contact-value{
  display:inline-block;
  margin-top:8px;
  color:#1C1C1C;
  font-family:'Instrument Sans',sans-serif;
  font-size:28px;
  line-height:1.1;
  font-weight:500;
}

.booking-contact-copy{
  margin-top:10px;
  color:#6E6A66;
  font-size:15px;
  line-height:1.6;
}

.booking-contact-note{
  margin-top:14px;
  color:#6E6A66;
  font-size:12px;
  line-height:1.5;
  display:flex;
  align-items:center;
  gap:8px;
}

.booking-form-wrap{
  border-radius:18px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(1,25,57,.10);
  box-shadow:0 18px 36px rgba(1,25,57,.08);
}

.booking-form{
  padding:24px 22px 0;
}

.booking-form-intro h3{
  color:#1E1E1E;
  font-family:'Instrument Sans',sans-serif;
  font-size:36px;
  line-height:1.08;
  font-weight:500;
}

.booking-form-intro p{
  margin-top:12px;
  max-width:480px;
  color:#6F6963;
  font-size:15px;
  line-height:1.6;
}

.booking-form-grid{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px 12px;
}

.booking-field-full{
  grid-column:1 / -1;
}

.booking-label{
  display:block;
  margin-bottom:8px;
  color:#35312E;
  font-family:'Instrument Sans',sans-serif;
  font-size:14px;
  line-height:1.4;
  font-weight:500;
}

.booking-label-note{
  color:#7C746D;
  font-weight:400;
}

.booking-input{
  width:100%;
  min-height:50px;
  border:1px solid rgba(1,25,57,.14);
  border-radius:8px;
  background:#fff;
  padding:0 14px;
  color:#1E1E1E;
  font-size:15px;
  line-height:1.5;
  outline:none;
  transition:box-shadow .22s ease, background .22s ease;
}

.booking-input::placeholder{
  color:#8A8077;
}

.booking-input:focus{
  box-shadow:0 0 0 2px rgba(9,102,148,.22);
  background:#fff;
}

.booking-textarea{
  min-height:150px;
  padding-top:14px;
  padding-bottom:14px;
  resize:vertical;
}

.booking-submit{
  width:calc(100% + 44px);
  margin:22px -22px 0;
  min-height:58px;
  border:none;
  border-bottom-left-radius:18px;
  border-bottom-right-radius:18px;
  background:#B6E100;
  color:#0D0D0D;
  font-family:'Instrument Sans',sans-serif;
  font-size:18px;
  line-height:1.2;
  font-weight:500;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  transition:filter .22s ease, transform .22s var(--ease-smooth);
}

.booking-submit:hover{
  filter:brightness(.97);
  transform:translateY(-1px);
}

.sticky-cta{
  position:fixed; left:0; right:0; bottom:0; z-index:40;
  background:var(--pure-white);
  border-top:1px solid rgba(1,25,57,.08);
  box-shadow:0 -10px 30px -18px rgba(1,25,57,.4);
}

::selection{background:var(--hope-sky); color:var(--derby-navy);}
.focus-ring:focus-visible{outline:2.5px solid var(--healing-meadow); outline-offset:3px;}

@media (max-width: 960px){
  .section-grid,
  .split-section,
  .tms-help-shell,
  .team-feature,
  .social-proof-shell{
    grid-template-columns:1fr;
  }

  .tms-help-nav{
    display:none;
  }

  .help-nav-item{
    width:100%;
    min-width:0;
    padding:.85rem 0;
    border-bottom:1px solid rgba(17,17,17,.08);
  }

  .how-grid,
  .session-shell,
  .booking-shell{
    grid-template-columns:1fr;
    gap:24px;
  }

  .proof-grid{
    min-width:max-content;
  }

  .how-proof-grid{
    grid-template-columns:1fr;
  }

  .how-card,
  .how-card-right,
  .how-card-bottom{
    max-width:none;
    margin-top:0;
    justify-self:stretch;
  }

  .session-visual{
    max-width:620px;
  }

  .session-title{
    max-width:none;
  }

  .session-accordion{
    max-width:none;
  }

  .journey-steps{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:28px 20px;
  }

  .journey-line{
    display:none;
  }

  .booking-copy{
    padding-top:0;
  }

  .booking-contact-card{
    margin-top:24px;
    max-width:420px;
  }

  .faq-shell{
    grid-template-columns:1fr;
    gap:34px;
  }

  .faq-profile-card{
    margin-top:28px;
  }
}

@media (max-width: 768px){
  #site-header{
    position:relative;
    top:auto;
    left:auto;
    right:auto;
  }

  main#top{
    padding-top:16px;
  }

  #site-header > div{
    padding-top:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  body{
    letter-spacing:-.008em;
  }

  main > section{
    margin:0px;
  }

  footer{
    margin:18px 0 0;
  }

  .condition-overlay h3
  {
    font-size: 20px;
  }

  .header-shell{
    border-radius:16px;
  }

  .header-shell-actions{
    background:transparent;
    border-color:transparent;
    box-shadow:none;
    backdrop-filter:none;
  }

  .header-row{
    gap:8px;
  }

  .section-grid,
  .split-section,
  .tms-help-shell,
  .session-shell,
  .team-feature,
  .social-proof-shell,
  .faq-shell,
  .booking-shell{
    gap:20px;
  }

  .section-label-wrap{
    padding-top:0;
  }

  .brand-subtitle{
    display:none;
  }

  .header-cta{
    padding:9px 10px 9px 14px;
    font-size:15px;
    min-height:44px;
  }

  .btn-primary,
  .btn-secondary{
    font-size:15px;
  }

  .btn-icon-box{
    width:32px;
    height:32px;
  }

  .hero-title{
    font-size:clamp(2rem, 9vw, 2.7rem);
    line-height:1.02;
    max-width:320px;
  }

  .hero-copy{
    max-width:300px;
    margin-top:1rem;
    font-size:14px;
    line-height:1.65;
  }

  .hero-benefits{
    gap:1rem;
    justify-content:flex-start;
  }

  .hero-benefits span{
    font-size:.84rem;
  }

  .hero-main-image{
    height:110vw;
    min-height:560px;
  }

  .hero-slider-note{
    top:16px;
    left:16px;
    font-size:12px;
  }

  .hero-strip{
    padding:0 8px 10px;
    gap:8px;
  }

  .hero-overlay{
    padding: 48px 14px 78px;
  }

  .hero-actions{
    margin-top:1.35rem;
    gap:.7rem;
  }

  .hero-visual
  {
        min-height: clamp(600px, 58vw, 690px);
  }

  .hero-actions .btn-secondary,
  .hero-actions .btn-primary{
    width:100%;
    max-width:260px;
    justify-content:center;
  }

  .symptom-chip{
    padding:.32rem .5rem .32rem .32rem;
    border-radius:12px;
  }

  .symptom-thumb{
    width:24px;
    height:24px;
  }

  .symptom-chip span:last-child{
    font-size:.73rem;
  }

  .problem-copy,
  .split-copy p,
  .condition-overlay p,
  .team-copy p,
  .team-portrait-overlay p:last-child,
  .proof-quote-text,
  .proof-stat-support,
  .how-card p,
  .session-accordion .acc-body p{
    font-size:.96rem;
  }

  .session-shell{
    gap:22px;
  }

  .problem-copy{
    margin-top:1.2rem;
  }

  .split-copy{
    max-width:none;
  }

  .social-proof-shell{
    gap:18px;
  }

  .proof-video-image{
    aspect-ratio:1.45 / 1;
  }

  .proof-media-card,
  .proof-media-card-large{
    flex-basis:186px;
    min-height:214px;
  }

  .proof-media-image{
    min-height:214px;
  }

  .proof-quote-card-featured{
    flex-basis:250px;
  }

  .journey-step{
    text-align:center;
  }

  .journey-number{
    width:34px;
    height:34px;
    font-size:14px;
  }

  .journey-step-copy{
    margin-top:20px;
  }

  .journey-step p{
    max-width:260px;
    margin-left:auto;
    margin-right:auto;
  }

  .booking-form-intro h3{
    font-size:30px;
  }

  .booking-form-grid{
    grid-template-columns:1fr;
  }

  .session-accordion .acc-trigger{
    padding:14px 16px;
  }

  .session-accordion .acc-body{
    padding:0 16px;
  }

  .session-accordion .acc-body p{
    padding-left:28px;
  }

  .faq-trigger{
    padding:20px 0;
    font-size:17px;
  }

  .faq-answer p{
    font-size:15px;
    line-height:1.7;
  }

  .faq-title{
    max-width:none;
  }
  .condition-card{
    min-height:auto;
    display:block;
    padding:0;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
  }

  .condition-overlay{
    position:static;
    inset:auto;
    width:auto;
    background:#fff;
    border:none;
    backdrop-filter:none;
    padding:18px 18px 20px;
    margin-top:0;
  }

  .condition-image{
    position:static;
    width:100%;
    height:auto;
    aspect-ratio:16 / 10;
    border-radius:0;
    object-fit:cover;
  }

  .tms-help-nav{
    display:none !important;
  }

  .quote-profile-row{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:6px;
  }

  .quote-profile-row::-webkit-scrollbar{ display:none; }

  .quote-profile{
    min-width:220px;
    flex:0 0 auto;
  }

  .insurance-logo{
    max-width:200px;
    height:46px;
  }

  .insurance-set{
    gap:22px;
    padding-right:22px;
  }

  .insurance-track{
    --insurance-speed:22s;
  }

  .acc-plus{
    width:14px;
    height:14px;
  }

  .how-card h3{
    font-size:24px;
  }

  .proof-big-number{
    font-size:40px;
  }

  .team-portrait-overlay{
    position:static;
    left:auto;
    right:auto;
    bottom:auto;
    margin-top:12px;
    background:white;
    border:none;
    backdrop-filter:none;
    padding:20px;
  }



  .quote-panel{
    padding:30px 24px 24px;
  }

  .quote-panel-copy{
    font-size:20px;
  }

  .team-thumb{
    width:62px;
    height:62px;
  }

  .team-benefits{
    justify-content:flex-start;
    gap:14px 18px;
  }

  .proof-stat-breakdown{
    grid-template-columns:1fr;
  }

}

@media (max-width: 560px){
  .tms-help-nav{
    grid-template-columns:1fr;
  }

  .brand-title{
    font-size:.88rem;
  }

  .journey-steps{
    grid-template-columns:1fr;
  }

  .booking-form{
    padding:20px 16px 0;
  }

  .booking-submit{
    width:calc(100% + 32px);
    margin:20px -16px 0;
  }

  .social-proof-heading{
    max-width:none;
  }

  .proof-grid{
    gap:12px;
  }

  .proof-media-card,
  .proof-media-card-large{
    flex-basis:170px;
    min-height:198px;
  }

  .proof-media-image{
    min-height:198px;
  }

  .proof-quote-card-featured{
    flex-basis:230px;
  }
}

@media (max-width: 430px){
  .header-icon-link{
    display:none;
  }

  .header-shell{
    padding-left:.85rem;
    padding-right:.85rem;
  }

  .header-row{
    gap:8px;
  }

  .brand-mark{
    width:32px;
    height:32px;
    font-size:1.25rem;
  }
}

.form-modal{
  position:fixed;
  inset:0;
  z-index:60;
  display:none;
  overflow-y:auto;
  padding:24px 0;
}

.form-modal.is-open{
  display:block;
}

.form-modal-overlay{
  position:absolute;
  inset:0;
  background:rgba(1,25,57,.72);
  backdrop-filter:blur(6px);
}

.form-modal-dialog{
  position:relative;
  width:min(660px, calc(100% - 32px));
  margin:64px auto 0;
  border-radius:20px;
  background:var(--soft-linen);
  box-shadow:0 24px 60px rgba(0,0,0,.22);
  max-height:calc(100dvh - 48px);
  overflow-y:auto;
}

.form-modal-close{
  position:absolute;
  top:10px;
  right:10px;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(1,25,57,.18);
  background:rgba(255,255,255,.92);
  color:var(--derby-navy);
  font-size:26px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
}

.form-modal-body{
  padding:28px 22px 22px;
}

@media (max-width: 768px){
  .form-modal-dialog{
    margin-top:0;
    width:calc(100% - 24px);
    max-height:calc(100dvh - 24px);
  }
  .form-modal-body{
    padding:22px 16px 16px;
  }
}

.video-modal{
  position:fixed;
  inset:0;
  z-index:60;
  display:none;
}

.video-modal.is-open{
  display:block;
}

.video-modal-overlay{
  position:absolute;
  inset:0;
  background:rgba(1,25,57,.72);
  backdrop-filter:blur(6px);
}

.video-modal-dialog{
  position:relative;
  width:min(920px, calc(100% - 32px));
  margin:80px auto 0;
  border-radius:20px;
  background:#000;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}

.video-modal-close{
  position:absolute;
  top:10px;
  right:10px;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:26px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
}

.video-modal-frame{
  width:100%;
  aspect-ratio:16 / 9;
}

.video-modal-frame iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}

@media (max-width: 768px){
  .video-modal-dialog{
    margin-top:64px;
    width:calc(100% - 24px);
  }
}
