:root{--cms-container:1180px;--cms-section-space:84px;--cms-button-radius:999px;--cms-heading-scale:1;--cms-body-font:Inter,ui-sans-serif,system-ui,sans-serif;--cms-heading-font:Manrope,Inter,ui-sans-serif,system-ui,sans-serif}
body{font-family:var(--cms-body-font)}h1,h2,h3,h4,h5,h6{font-family:var(--cms-heading-font)}.container{width:min(var(--cms-container),calc(100% - 32px))}.btn{border-radius:var(--cms-button-radius)}
.cms-section{position:relative;padding:var(--cms-section-space) 0;overflow:hidden}.cms-section.pad-compact{padding:calc(var(--cms-section-space)*.55) 0}.cms-section.pad-large{padding:calc(var(--cms-section-space)*1.35) 0}.cms-section.width-wide .container{width:min(calc(var(--cms-container) + 160px),calc(100% - 32px))}.cms-full{width:100%}.bg-white{background:var(--white);color:var(--ink)}.bg-soft{background:var(--soft);color:var(--ink)}.bg-navy{background:radial-gradient(circle at 85% 10%,rgba(47,116,208,.35),transparent 34%),var(--navy);color:#fff}.bg-gradient{background:linear-gradient(135deg,var(--navy),var(--navy-2) 58%,var(--blue));color:#fff}.bg-transparent{background:transparent}.bg-navy p,.bg-gradient p,.bg-navy .cms-prose,.bg-gradient .cms-prose{color:#c9d8eb}.bg-navy .eyebrow,.bg-gradient .eyebrow{color:#b9d9ff}.cms-managed-hero h1,.cms-hero h1{font-size:calc(clamp(2.65rem,10vw,6rem)*var(--cms-heading-scale))}.cms-section h2{font-size:calc(clamp(2rem,7vw,4rem)*var(--cms-heading-scale))}
.cms-hero-grid,.cms-split,.cms-form-shell,.cms-contact-layout,.cms-faq-layout{display:grid;gap:34px;align-items:center}.cms-hero-media,.cms-media{position:relative;border-radius:calc(var(--radius) + 8px);overflow:hidden;min-height:320px;background:linear-gradient(145deg,#eaf2fb,#fff);box-shadow:var(--shadow)}.cms-hero-media:after,.cms-media:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.5);border-radius:inherit;pointer-events:none}.cms-hero-media img,.cms-media img{width:100%;height:100%;min-height:320px;object-fit:cover}.cms-copy .lead{max-width:720px;font-size:1.1rem}.cms-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.cms-rich{max-width:900px}.cms-rich.center{text-align:center;margin-inline:auto}.cms-prose{font-size:1.06rem;line-height:1.82;color:var(--muted)}.cms-prose h2,.cms-prose h3{margin-top:34px}.cms-prose ul{padding-left:22px}.cms-prose a{color:var(--blue);text-decoration:underline}.cms-split.media-right .cms-media{order:2}.cms-split.media-right .cms-copy{order:1}
.cms-section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:38px}.cms-section-head>div{max-width:780px}.cms-card-grid{display:grid;grid-template-columns:1fr;gap:16px}.cms-card,.cms-quote{position:relative;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.92);box-shadow:var(--shadow-sm);transition:.35s var(--ease);overflow:hidden}.cms-card:before{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-70px;top:-70px;background:color-mix(in srgb,var(--blue) 14%,transparent);transition:.4s}.cms-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.cms-card:hover:before{transform:scale(1.7)}.cms-card-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:22px;border-radius:15px;background:var(--soft);color:var(--red);font-weight:900;font-size:1.05rem}.cms-card p{min-height:48px}.cms-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.cms-stats>div{padding:24px 18px;border-radius:var(--radius);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px)}.bg-white .cms-stats>div,.bg-soft .cms-stats>div{background:#fff;border-color:var(--line)}.cms-stats strong{display:block;font-family:var(--cms-heading-font);font-size:clamp(2rem,8vw,3.8rem);line-height:1;color:inherit}.cms-stats span{display:block;margin-top:8px;color:inherit;opacity:.72}
.cms-service-grid{display:grid;gap:16px}.cms-service-card{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:18px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm);transition:.35s var(--ease)}.cms-service-card:hover{transform:translateY(-5px) rotate(-.3deg);box-shadow:var(--shadow)}.cms-service-card img{width:120px;height:130px;object-fit:contain;filter:drop-shadow(0 15px 16px rgba(6,27,61,.16))}.cms-service-card small{color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.1em}.cms-service-card h3{margin:6px 0}.cms-service-card p{font-size:.9rem;margin-bottom:8px}.cms-service-card span{font-weight:900;color:var(--blue)}
.cms-faq-layout{align-items:start}.cms-accordion{display:grid;gap:10px}.cms-accordion details{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.cms-accordion summary{display:flex;justify-content:space-between;gap:20px;padding:20px;font-weight:900;cursor:pointer;list-style:none}.cms-accordion summary::-webkit-details-marker{display:none}.cms-accordion summary span{transition:.3s}.cms-accordion details[open] summary span{transform:rotate(45deg)}.cms-accordion details>div{padding:0 20px 20px;color:var(--muted);line-height:1.7}.cms-quote{margin:0}.cms-quote .stars{color:#ffb21d;letter-spacing:.08em}.cms-quote>p{font-size:1.05rem;color:var(--ink);margin:18px 0}.cms-quote footer{display:grid}.cms-quote footer span{font-size:.84rem;color:var(--muted)}
.cms-cta{display:grid;gap:28px;align-items:end;padding:clamp(28px,6vw,58px);border-radius:calc(var(--radius) + 12px);background:linear-gradient(135deg,var(--navy),var(--navy-2) 55%,var(--blue));color:#fff;box-shadow:var(--shadow-xl);position:relative;overflow:hidden}.cms-cta:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-130px;top:-220px;background:rgba(255,255,255,.1)}.cms-cta h2{max-width:760px}.cms-cta p{color:#c9d8eb;max-width:700px}.cms-cta .cms-actions{position:relative;z-index:1}
.cms-form-shell,.cms-contact-layout{align-items:start}.cms-form{display:grid;grid-template-columns:1fr;gap:14px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.cms-form label{display:grid;gap:7px;font-size:.8rem;font-weight:900;color:var(--ink)}.cms-form input,.cms-form select,.cms-form textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:#fff;color:var(--ink);outline:none;transition:.25s}.cms-form input:focus,.cms-form select:focus,.cms-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 14%,transparent)}.cms-form textarea{min-height:120px;resize:vertical}.cms-form .full{grid-column:1/-1}.form-status{grid-column:1/-1;margin:0;font-weight:800}.form-status.success{color:#1f8b4c}.form-status.error{color:#c82d3a}.cms-contact-points{display:grid;gap:10px;margin-top:28px}.cms-contact-points>*{display:grid;padding:16px;border-radius:16px;background:var(--soft)}.cms-contact-points small{color:var(--muted)}
.cms-page .blog-card{overflow:hidden}.cms-page .blog-card img{width:100%;height:220px;object-fit:cover}.cms-page .blog-card .body{padding:22px}.mobile-action-bar{position:fixed;z-index:1002;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1.35fr;padding:9px max(10px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-top:1px solid var(--line);box-shadow:0 -12px 40px rgba(6,27,61,.12)}.mobile-action-bar a{display:flex;justify-content:center;align-items:center;min-height:48px;border-radius:var(--cms-button-radius);font-weight:900}.mobile-action-bar .primary{background:var(--red);color:#fff}
.anim-slide{transform:translateY(32px)}.anim-scale{transform:scale(.96)}.reveal.visible.anim-slide,.reveal.visible.anim-scale{transform:none}.cms-section[style*="--section-bg"]{background:var(--section-bg)}
@media(min-width:700px){.cms-card-grid.cols-2{grid-template-columns:repeat(2,1fr)}.cms-card-grid.cols-3,.cms-card-grid.cols-4{grid-template-columns:repeat(2,1fr)}.cms-stats{grid-template-columns:repeat(4,1fr)}.cms-service-grid{grid-template-columns:repeat(2,1fr)}.cms-form{grid-template-columns:repeat(2,1fr)}.cms-contact-points{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.cms-hero-grid,.cms-split{grid-template-columns:1fr 1fr;gap:70px}.cms-form-shell,.cms-contact-layout{grid-template-columns:.82fr 1.18fr;gap:70px}.cms-faq-layout{grid-template-columns:.75fr 1.25fr;gap:80px}.cms-card-grid.cols-3{grid-template-columns:repeat(3,1fr)}.cms-card-grid.cols-4{grid-template-columns:repeat(4,1fr)}.cms-service-grid{grid-template-columns:repeat(3,1fr)}.cms-cta{grid-template-columns:1.2fr auto}.mobile-action-bar{display:none}.cms-page{padding-bottom:0}}
@media(max-width:699px){.cms-section{padding:calc(var(--cms-section-space)*.72) 0}.cms-section.pad-large{padding:calc(var(--cms-section-space)*.9) 0}.cms-section-head{align-items:start;flex-direction:column}.cms-split.media-right .cms-media,.cms-split.media-right .cms-copy{order:initial}.cms-hero-media,.cms-media{min-height:260px}.cms-hero-media img,.cms-media img{min-height:260px}.cms-service-card{grid-template-columns:92px 1fr;padding:14px}.cms-service-card img{width:92px;height:112px}.cms-form{padding:18px}.cms-cta{border-radius:22px}.cms-actions .btn{width:100%}}

/* =========================================================
   SSA CMS v2 — conversion homepage, appointment form & fixes
   ========================================================= */
.cms-page-home .explorer-copy h1{font-size:clamp(2.7rem,4.35vw,4.75rem);line-height:1.015;max-width:690px}
.mobile-hero-actions,.mobile-hero-trust{display:none}
.service-tab:focus-visible{outline:3px solid rgba(255,255,255,.62);outline-offset:3px}

/* The process cards stay readable even when the section uses a dark background. */
.cms-page-home .cms-process.bg-navy .cms-card,.cms-page-home .cms-process.bg-gradient .cms-card{background:rgba(255,255,255,.97);border-color:rgba(255,255,255,.55);color:var(--ink)}
.cms-page-home .cms-process.bg-navy .cms-card h3,.cms-page-home .cms-process.bg-gradient .cms-card h3{color:var(--ink)}
.cms-page-home .cms-process.bg-navy .cms-card p,.cms-page-home .cms-process.bg-gradient .cms-card p{color:var(--muted);opacity:1}

/* The outer stats section and the inner stats grid share a class in the CMS. */
.cms-page-home section.cms-section.cms-stats{display:block;width:100%}
.cms-page-home section.cms-section.cms-stats>.container{display:block;width:min(var(--cms-container),calc(100% - 48px));margin-inline:auto}
.cms-page-home section.cms-section.cms-stats>.container>.cms-stats{display:grid;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cms-page-home section.cms-section.cms-stats>.container>.cms-stats>div{min-width:0;padding:30px 26px}

/* Appointment panel overlaps the hero and the following content. */
.cms-page-home .cms-appointment_form.home-appointment-overlap{z-index:20;margin-top:-72px;padding:0 0 76px;overflow:visible;background:linear-gradient(to bottom,transparent 0,transparent 72px,var(--soft) 72px,var(--soft) 100%)}
.cms-page-home .cms-appointment_form.home-appointment-overlap>.container{width:min(1320px,calc(100% - 44px))}
.appointment-panel{position:relative;padding:34px;border:1px solid rgba(10,25,48,.07);border-radius:34px;background:#fff;box-shadow:0 34px 100px rgba(6,27,61,.18)}
.appointment-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:26px}
.appointment-heading .eyebrow{margin-bottom:8px}
.appointment-heading h2{margin:0;font-size:clamp(2rem,3.2vw,3.25rem);color:var(--ink)}
.appointment-heading p{max-width:620px;margin:0;text-align:right}
.appointment-form-v2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.appointment-field{display:grid;gap:8px;min-width:0}
.appointment-field>span{padding-left:3px;color:#75839a;font-size:.73rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.appointment-form-v2 input,.appointment-form-v2 select,.appointment-form-v2 textarea{min-height:64px;border:1px solid #e1e8f1;border-radius:17px;padding:16px 18px;background:#f5f7fa;color:var(--ink);font-size:1rem;font-weight:650;box-shadow:none}
.appointment-form-v2 input::placeholder,.appointment-form-v2 textarea::placeholder{color:#8a96aa;font-weight:500}
.appointment-form-v2 input:focus,.appointment-form-v2 select:focus,.appointment-form-v2 textarea:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--blue) 13%,transparent)}
.phone-combo{display:grid;grid-template-columns:minmax(132px,.7fr) minmax(150px,1.3fr);gap:8px}
.phone-combo select,.phone-combo input{min-width:0}
.appointment-message{grid-column:1/-1}
.appointment-form-v2 textarea{min-height:150px;resize:vertical}
.appointment-submit{grid-column:1/-1;min-height:62px;border-radius:15px;font-size:1rem;text-transform:uppercase;letter-spacing:.02em}
.appointment-form-v2 .form-status{grid-column:1/-1;margin:0;font-weight:800}
.appointment-form-v2 .form-status:empty{display:none}

@media(min-width:1000px){
  .cms-page-home .service-explorer{min-height:760px;padding-bottom:118px}
  .cms-page-home .explorer-grid{min-height:680px}
  .cms-page-home .service-tab{transition:transform .25s var(--ease),background .25s,border-color .25s,box-shadow .25s}
  .cms-page-home .service-tab:hover{transform:translateX(-4px);border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.1)}
  .cms-page-home .service-tab.active:hover{transform:translate(-4px,-3px);background:#fff}
}

@media(max-width:999px){
  .cms-page-home .cms-appointment_form.home-appointment-overlap{margin-top:-42px;padding-bottom:60px;background:linear-gradient(to bottom,transparent 0,transparent 42px,var(--soft) 42px,var(--soft) 100%)}
  .cms-page-home .cms-appointment_form.home-appointment-overlap>.container{width:min(var(--cms-container),calc(100% - 32px))}
  .appointment-panel{padding:26px;border-radius:28px}
  .appointment-heading{display:block}
  .appointment-heading p{max-width:760px;text-align:left}
  .appointment-form-v2{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:699px){
  .cms-page-home .service-explorer{padding:24px 0 82px;min-height:auto}
  .cms-page-home .explorer-grid{display:grid;grid-template-columns:1fr;gap:14px}
  .cms-page-home .explorer-copy{display:none}
  .cms-page-home .explorer-stage{grid-column:1;grid-row:1;min-height:360px;margin:0;overflow:visible}
  .cms-page-home .device-visual{width:min(330px,86vw);max-height:340px}
  .cms-page-home .device-platform{bottom:38px;width:80%;height:62px}
  .cms-page-home .orbit-a{width:260px;height:260px}.cms-page-home .orbit-b{width:350px;height:350px}
  .cms-page-home .diagnostic-tag{display:grid;left:4px;top:54px;padding:12px 14px 12px 36px;border-radius:15px}
  .cms-page-home .arrival-card{display:flex;right:4px;bottom:55px;padding:11px 12px;border-radius:15px}
  .cms-page-home .service-rail{grid-column:1;grid-row:2;display:flex;gap:8px;overflow-x:auto;margin:0;padding:3px 0 8px;scroll-snap-type:x mandatory}
  .cms-page-home .service-tab{flex:0 0 142px;display:block;width:auto;min-height:74px;padding:12px;border-radius:16px;scroll-snap-align:center}
  .cms-page-home .service-tab span{display:block;margin-bottom:5px}.cms-page-home .service-tab b{font-size:.8rem}.cms-page-home .service-tab small{font-size:.63rem}
  .mobile-hero-actions{grid-column:1;grid-row:3;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .mobile-hero-actions .btn{width:100%;min-height:54px;padding:12px 14px}
  .mobile-hero-trust{grid-column:1;grid-row:4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .mobile-hero-trust span{display:grid;gap:2px;padding:12px 9px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.07);text-align:center}
  .mobile-hero-trust b{font-size:.78rem;color:#fff}.mobile-hero-trust small{font-size:.61rem;line-height:1.2;color:#aebfda}
  .cms-page-home .cms-appointment_form.home-appointment-overlap{margin-top:-40px;padding:0 0 46px;background:linear-gradient(to bottom,transparent 0,transparent 40px,var(--soft) 40px,var(--soft) 100%)}
  .cms-page-home .cms-appointment_form.home-appointment-overlap>.container{width:calc(100% - 22px)}
  .appointment-panel{padding:21px 16px;border-radius:24px;box-shadow:0 24px 65px rgba(6,27,61,.2)}
  .appointment-heading{margin-bottom:19px}
  .appointment-heading .eyebrow{font-size:.64rem}.appointment-heading h2{font-size:1.85rem}.appointment-heading p{font-size:.9rem;line-height:1.55}
  .appointment-form-v2{grid-template-columns:1fr;gap:12px}
  .appointment-message,.appointment-submit,.appointment-form-v2 .form-status{grid-column:1}
  .appointment-form-v2 input,.appointment-form-v2 select,.appointment-form-v2 textarea{min-height:56px;border-radius:14px;padding:14px;font-size:.92rem}
  .appointment-form-v2 textarea{min-height:112px}
  .phone-combo{grid-template-columns:120px minmax(0,1fr)}
  .cms-page-home section.cms-section.cms-stats>.container{width:calc(100% - 32px)}
  .cms-page-home section.cms-section.cms-stats>.container>.cms-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .cms-page-home section.cms-section.cms-stats>.container>.cms-stats>div{padding:22px 16px}
}

/* =========================================================
   SSA CMS v2.5 — independent homepage slider typography
   ========================================================= */
.cms-page-home .service-explorer .hero-kicker{
  font-size:var(--hero-kicker-size);
}
.cms-page-home .service-explorer .hero-overline{
  font-size:var(--hero-overline-size);
}
.cms-page-home .service-explorer .explorer-copy h1{
  font-size:var(--hero-title-mobile)!important;
  line-height:var(--hero-title-line-height)!important;
  max-width:760px;
  text-wrap:balance;
}
.cms-page-home .service-explorer .hero-description{
  font-size:var(--hero-description-size)!important;
}
.cms-page-home .service-explorer .service-tab b{
  font-size:var(--hero-tab-title-size)!important;
}
.cms-page-home .service-explorer .service-tab small{
  font-size:var(--hero-tab-meta-size)!important;
}
@media (min-width:700px) and (max-width:999px){
  .cms-page-home .service-explorer .explorer-copy h1{
    font-size:var(--hero-title-tablet)!important;
  }
}
@media (min-width:1000px){
  .cms-page-home .service-explorer .explorer-copy h1{
    font-size:var(--hero-title-desktop)!important;
  }
}


/* =========================================================
   SSA CMS v2.6 — appointment heading & booking page
   ========================================================= */
.appointment-heading{
  display:block;
  margin-bottom:28px;
}
.appointment-heading .eyebrow,
.appointment-heading h2,
.appointment-heading p{
  display:block;
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
  text-align:left;
}
.appointment-heading .eyebrow{
  margin-bottom:9px;
}
.appointment-heading h2{
  margin-bottom:10px;
}
.appointment-heading p{
  margin-top:0;
  color:var(--muted);
}
.cms-page-appointment .appointment-page-layout{
  min-height:calc(100vh - 122px);
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 86% 12%,color-mix(in srgb,var(--blue) 10%,transparent),transparent 28%),
    var(--soft);
}
.cms-page-appointment .appointment-page-layout>.container{
  width:min(1320px,calc(100% - 44px));
}
.cms-page-appointment .appointment-panel{
  margin:24px 0;
}
@media(min-width:1000px){
  .appointment-heading .eyebrow,
  .appointment-heading h2,
  .appointment-heading p{
    white-space:nowrap;
  }
  .appointment-heading .eyebrow{font-size:.78rem}
  .appointment-heading h2{font-size:clamp(2.15rem,3vw,3.1rem)}
  .appointment-heading p{font-size:clamp(.92rem,1.15vw,1.06rem)}
}
@media(max-width:999px){
  .appointment-heading{margin-bottom:22px}
  .appointment-heading p{max-width:760px}
  .cms-page-appointment .appointment-page-layout>.container{width:min(var(--cms-container),calc(100% - 32px))}
}
@media(max-width:699px){
  .appointment-heading{margin-bottom:18px}
  .appointment-heading .eyebrow{margin-bottom:7px}
  .appointment-heading h2{margin-bottom:8px}
  .cms-page-appointment .appointment-page-layout{min-height:auto;padding-top:44px;padding-bottom:54px}
  .cms-page-appointment .appointment-page-layout>.container{width:calc(100% - 22px)}
}

/* =========================================================
   SSA CMS v2.8 — compact collapsible homepage appointment
   ========================================================= */
.cms-page-home .cms-appointment_form.home-appointment-overlap{
  margin-top:-50px;
  padding-bottom:54px;
  background:linear-gradient(to bottom,transparent 0,transparent 50px,var(--soft) 50px,var(--soft) 100%);
}
.cms-page-home .appointment-panel-collapsible{
  padding:0;
  overflow:hidden;
  border-radius:26px;
  box-shadow:0 24px 70px rgba(6,27,61,.16);
}
.appointment-disclosure{display:block}
.appointment-disclosure>summary{list-style:none}
.appointment-disclosure>summary::-webkit-details-marker{display:none}
.appointment-toggle{
  display:grid;
  grid-template-columns:minmax(260px,.95fr) minmax(320px,1.35fr) auto;
  align-items:center;
  gap:22px;
  min-height:112px;
  padding:20px 24px;
  cursor:pointer;
  user-select:none;
  transition:background .25s ease;
}
.appointment-toggle:hover{background:#fbfcfe}
.appointment-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 34%,transparent);outline-offset:-4px}
.appointment-toggle-copy{min-width:0}
.appointment-toggle-copy .eyebrow{display:block;margin:0 0 5px;font-size:.68rem;line-height:1.2}
.appointment-toggle-copy h2{margin:0;color:var(--ink);font-size:clamp(1.45rem,2vw,2rem);line-height:1.05;white-space:nowrap}
.appointment-toggle>p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.5}
.appointment-toggle-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:168px;
  min-height:52px;
  padding:0 18px;
  border-radius:999px;
  background:linear-gradient(135deg,#ee5b62,#ff8b90);
  color:#fff;
  font-size:.86rem;
  font-weight:900;
  letter-spacing:.01em;
  white-space:nowrap;
  box-shadow:0 14px 32px rgba(238,91,98,.22);
}
.appointment-toggle-button i{position:relative;width:12px;height:12px;display:block;flex:0 0 12px}
.appointment-toggle-button i:before{content:"";position:absolute;left:50%;top:46%;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translate(-50%,-50%) rotate(45deg);transition:transform .25s ease, top .25s ease}
.appointment-toggle-close{display:none}
.appointment-disclosure[open] .appointment-toggle{background:#fbfcfe}
.appointment-disclosure[open] .appointment-toggle-open{display:none}
.appointment-disclosure[open] .appointment-toggle-close{display:inline}
.appointment-disclosure[open] .appointment-toggle-button i:before{top:58%;transform:translate(-50%,-50%) rotate(-135deg)}
.appointment-form-shell{padding:26px 24px 24px;border-top:1px solid #e8edf4;background:#fff}

@media(max-width:999px){
  .cms-page-home .cms-appointment_form.home-appointment-overlap{margin-top:-36px;padding-bottom:48px;background:linear-gradient(to bottom,transparent 0,transparent 36px,var(--soft) 36px,var(--soft) 100%)}
  .appointment-toggle{grid-template-columns:1fr auto;gap:10px 16px;min-height:106px;padding:18px 20px}
  .appointment-toggle>p{grid-column:1/-1;font-size:.88rem}
  .appointment-toggle-button{grid-column:2;grid-row:1;min-width:154px}
  .appointment-form-shell{padding:22px 20px 20px}
}
@media(max-width:699px){
  .cms-page-home .cms-appointment_form.home-appointment-overlap{margin-top:-28px;padding-bottom:38px;background:linear-gradient(to bottom,transparent 0,transparent 28px,var(--soft) 28px,var(--soft) 100%)}
  .cms-page-home .appointment-panel-collapsible{border-radius:21px}
  .appointment-toggle{grid-template-columns:1fr;gap:10px;min-height:unset;padding:15px}
  .appointment-toggle-copy h2{font-size:1.24rem;white-space:normal}
  .appointment-toggle-copy .eyebrow{font-size:.6rem;margin-bottom:4px}
  .appointment-toggle>p{font-size:.78rem;line-height:1.42}
  .appointment-toggle-button{justify-self:start;min-width:146px;min-height:44px;padding:0 14px;font-size:.78rem;border-radius:14px}
  .appointment-form-shell{padding:18px 14px 14px}
}


/* =========================================================
   SSA CMS v3.0 — mobile hero keeps only the dynamic main title
   ========================================================= */
@media(max-width:699px){
  .cms-page-home .explorer-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .cms-page-home .explorer-copy{
    display:block;
    grid-column:1;
    grid-row:1;
    padding:2px 2px 0;
  }

  .cms-page-home .explorer-copy .hero-kicker,
  .cms-page-home .explorer-copy .hero-overline,
  .cms-page-home .explorer-copy .hero-description,
  .cms-page-home .explorer-copy .hero-actions,
  .cms-page-home .explorer-copy .hero-trust{
    display:none!important;
  }

  .cms-page-home .service-explorer .explorer-copy h1{
    display:block;
    max-width:100%;
    margin:0;
    color:#fff;
    font-size:var(--hero-title-mobile)!important;
    line-height:var(--hero-title-line-height)!important;
    letter-spacing:-.035em;
    text-wrap:balance;
  }

  .cms-page-home .explorer-stage{
    grid-column:1;
    grid-row:2;
    min-height:340px;
  }

  .cms-page-home .service-rail{
    grid-column:1;
    grid-row:3;
  }

  .mobile-hero-actions{
    grid-column:1;
    grid-row:4;
  }

  .mobile-hero-trust{
    grid-column:1;
    grid-row:5;
  }
}

/* =========================================================
   SSA CMS v3.1 — centered mobile slider headline
   ========================================================= */
@media(max-width:699px){
  .cms-page-home .explorer-copy{
    width:100%;
    padding-inline:10px;
    text-align:center;
  }

  .cms-page-home .service-explorer .explorer-copy h1{
    width:100%;
    max-width:19ch;
    margin:0 auto;
    text-align:center;
    text-align-last:center;
    text-wrap:balance;
    line-height:1.14!important;
  }
}
