/* Columbia Pain & Spine — Go child theme styles
   Global reskin + custom header/footer + bespoke homepage + inner-page kit. */

/* Critical base reset — kept in this BLOCKING stylesheet so border-box and
   responsive media are always present, even though the parent Go-theme CSS
   (which also sets these) is deferred. Prevents padded elements from
   overflowing the mobile viewport (cut-off text / clipped badges). */
*, *::before, *::after { box-sizing: border-box; }
img, svg, video, iframe { max-width: 100%; }

:root,
body.is-style-welcoming {
  --navy:#233a6b; --navy-700:#1b2d54; --navy-900:#0d1b3e; --ink:#16203a;
  --gold:#c2a24c; --gold-200:#e7d6a8; --gold-700:#7a6320;
  --paper:#f5f7fa; --paper-2:#e9edf3; --muted:#586176; --line:rgba(35,58,107,.14);
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --go--color--primary:#233a6b; --go--color--secondary:#0d1b3e; --go--color--tertiary:#c2a24c;
  --go-button--color--background:#233a6b; --go-button-interactive--color--background:#1b2d54;
  --go-hyperlink--color--text:#233a6b; --go-hyperlink-interactive--color--text:#1b2d54;
}
body { font-family:var(--sans); }
/* slim, on-brand scrollbar (replaces the chunky default) */
html{scrollbar-width:thin;scrollbar-color:#aab8d2 #eef1f6;}
::-webkit-scrollbar{width:11px;height:11px;}
::-webkit-scrollbar-track{background:#eef1f6;}
::-webkit-scrollbar-thumb{background:#b9c5da;border-radius:10px;border:2px solid #eef1f6;}
::-webkit-scrollbar-thumb:hover{background:#90a2c1;}
@view-transition{navigation:auto;}
#cpsi-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:99980;background:linear-gradient(90deg,var(--gold),var(--gold-200));pointer-events:none;}
h1,h2,h3,h4,.cpsi-brand__name b { font-family:var(--serif); font-weight:500; letter-spacing:-.01em; }
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.reveal.in{opacity:1;transform:none;}
body.home #site-content,body.page #site-content{max-width:none!important;width:100%!important;margin:0!important;padding:0!important;overflow:visible!important;}
/* overflow-x:clip prevents horizontal scroll WITHOUT creating a scroll
   container (unlike hidden, which forces overflow-y:auto and breaks the
   sticky header). */
html,body,#page{overflow-x:clip;}
/* loading screen */
#cpsi-preloader{position:fixed;inset:0;z-index:99990;background:radial-gradient(130% 120% at 50% 38%,#1c2f57,#0a1430);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transition:opacity .6s ease,visibility .6s;}
#cpsi-preloader.cpsi-done{opacity:0;visibility:hidden;}
.cpsi-preloader__mark{width:96px;height:96px;opacity:0;animation:cpsiPreFade .9s .1s both;}
.cpsi-preloader__ecg{width:200px;height:34px;}
.cpsi-preloader__ecg path{fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:cpsiPreDraw 1.5s .2s linear infinite;}
.cpsi-preloader__name{color:#fff;font-family:var(--serif);font-weight:500;font-size:1.15rem;letter-spacing:.02em;opacity:0;animation:cpsiPreFade .9s .45s both;}
@keyframes cpsiPreFade{to{opacity:1;}}
@keyframes cpsiPreDraw{0%{stroke-dashoffset:1;opacity:.4}45%{opacity:.95}70%{stroke-dashoffset:0;opacity:.95}100%{stroke-dashoffset:0;opacity:0}}
@media(prefers-reduced-motion:reduce){#cpsi-preloader .cpsi-preloader__mark,#cpsi-preloader .cpsi-preloader__name{animation:none;opacity:1;}#cpsi-preloader .cpsi-preloader__ecg path{animation:none;stroke-dashoffset:0;}}

/* ---------- HEADER ---------- */
.cpsi-header{position:sticky;top:0;z-index:60;background:var(--navy-900);transition:background .4s,box-shadow .4s;}
.cpsi-header.cpsi-scrolled{box-shadow:0 8px 30px -16px rgba(0,0,0,.8);}
.cpsi-header__inner{width:min(1240px,94vw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0;transition:padding .4s;}
.cpsi-scrolled .cpsi-header__inner{padding:9px 0;}
.cpsi-brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none;}
.cpsi-emblem{width:46px;height:46px;flex:none;display:block;transition:width .4s,height .4s;}
.cpsi-emblem svg{width:100%;height:100%;display:block;}
.cpsi-scrolled .cpsi-emblem{width:40px;height:40px;}
.cpsi-brand__name{display:flex;flex-direction:column;line-height:1.06;}
.cpsi-brand__name b{font-weight:500;font-size:1.16rem;color:#fff;}
.cpsi-brand__name i{font-style:normal;font-size:.62rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-200);}
.cpsi-nav{display:flex;align-items:center;gap:30px;}
.cpsi-menu{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0;}
.cpsi-menu a{color:rgba(255,255,255,.86);font-size:.93rem;font-weight:500;text-decoration:none;position:relative;padding:6px 0;display:block;}
.cpsi-menu a::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:0;background:var(--gold);transition:width .35s;}
.cpsi-menu a:hover{color:#fff;}
.cpsi-menu a:hover::after,.cpsi-menu .current-menu-item>a::after{width:100%;}
.cpsi-menu .current-menu-item>a{color:#fff;}
.cpsi-menu a svg,.cpsi-footer__menu a svg{display:none;}
.cpsi-callpill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.32);color:#fff;padding:8px 16px;border-radius:100px;font-size:.86rem;font-weight:500;white-space:nowrap;text-decoration:none;transition:.3s;}
.cpsi-callpill:hover{background:var(--gold);border-color:var(--gold);color:var(--navy-900);}
.cpsi-callpill svg{width:15px;height:15px;}

/* ---------- MEGA-MENU ---------- */
.cpsi-menu .sub-menu{list-style:none;margin:0;padding:0;}
.cpsi-subtoggle{display:none;}
@media(min-width:901px){
  .cpsi-menu > .menu-item-has-children > a{padding-right:15px;}
  .cpsi-menu > .menu-item-has-children > a::before{content:"";position:absolute;right:0;top:50%;width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-70%) rotate(45deg);transition:transform .3s;opacity:.75;}
  .cpsi-menu > .menu-item-has-children:hover > a::before,.cpsi-menu > .menu-item-has-children:focus-within > a::before{transform:translateY(-30%) rotate(225deg);opacity:1;}

  .cpsi-menu > .menu-item-has-children{position:static;}
  .cpsi-menu > .menu-item-has-children > .sub-menu{
    position:absolute;left:0;right:0;top:100%;
    background:#fff;color:var(--navy);
    border-top:3px solid var(--gold);
    box-shadow:0 30px 55px -28px rgba(7,15,36,.55);
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:36px;row-gap:26px;
    padding:34px max(3vw,calc((100% - 1180px)/2)) 38px;
    opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);
    transition:opacity .26s ease,transform .26s ease,visibility .26s;z-index:70;
  }
  .cpsi-menu > .menu-item-has-children > .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-30px;height:30px;}
  .cpsi-menu > .menu-item-has-children:hover > .sub-menu,
  .cpsi-menu > .menu-item-has-children:focus-within > .sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}

  /* Category column headings */
  .cpsi-menu > .menu-item-has-children > .sub-menu > li > a{
    font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:1.03rem;color:var(--navy);
    padding:0 0 9px;margin-bottom:9px;border-bottom:1px solid #e7ebf3;line-height:1.25;
  }
  .cpsi-menu > .menu-item-has-children > .sub-menu > li > a:hover{color:#8a6d22;}
  .cpsi-menu > .menu-item-has-children > .sub-menu > li > a::after{display:none;}

  /* Procedure links */
  .cpsi-menu .sub-menu .sub-menu a{font-size:.855rem;font-weight:500;color:#52607a;padding:4px 0;letter-spacing:0;}
  .cpsi-menu .sub-menu .sub-menu a:hover{color:var(--navy);}
  .cpsi-menu .sub-menu .sub-menu a::after{display:none;}

  /* Wide category (8+ procedures, e.g. Nerve Blocks) spans 2 cols, lists 2-up */
  .cpsi-menu > .menu-item-has-children > .sub-menu > li:has(> .sub-menu > li:nth-child(8)){grid-column:span 2;}
  .cpsi-menu > .menu-item-has-children > .sub-menu > li:has(> .sub-menu > li:nth-child(8)) > .sub-menu{columns:2;column-gap:30px;}
  .cpsi-menu > .menu-item-has-children > .sub-menu > li:has(> .sub-menu > li:nth-child(8)) > .sub-menu li{break-inside:avoid;}
}
.cpsi-burger{display:none;}
@media(max-width:900px){
  .cpsi-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;background:none;border:0;cursor:pointer;padding:0;}
  .cpsi-burger span{display:block;height:2px;width:24px;background:#fff;margin:0 auto;transition:.3s;}
  body.cpsi-nav-open .cpsi-burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  body.cpsi-nav-open .cpsi-burger span:nth-child(2){opacity:0;}
  body.cpsi-nav-open .cpsi-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .cpsi-nav{position:absolute;top:100%;left:0;right:0;background:var(--navy-900);flex-direction:column;align-items:stretch;gap:0;padding:0;max-height:0;overflow:hidden;transition:max-height .45s ease;border-top:1px solid rgba(255,255,255,.08);}
  body.cpsi-nav-open .cpsi-nav{max-height:86vh;overflow-y:auto;padding:6px 0 18px;}
  .cpsi-menu{flex-direction:column;align-items:stretch;gap:0;width:min(1240px,94vw);margin:0 auto;}
  .cpsi-menu li{position:relative;}
  .cpsi-menu a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08);}
  .cpsi-menu a::after{display:none;}
  /* nested submenus collapse into accordions */
  .cpsi-menu .sub-menu{max-height:0;overflow:hidden;transition:max-height .4s ease;background:rgba(255,255,255,.025);}
  .cpsi-menu .menu-item-has-children.cpsi-open > .sub-menu{max-height:2400px;}
  .cpsi-menu .sub-menu a{padding-left:18px;font-size:.9rem;color:rgba(255,255,255,.74);}
  .cpsi-menu .sub-menu .sub-menu a{padding-left:34px;font-size:.85rem;color:rgba(255,255,255,.6);}
  .cpsi-subtoggle{display:flex;position:absolute;top:0;right:0;width:56px;height:48px;background:none;border:0;cursor:pointer;align-items:center;justify-content:center;z-index:2;}
  .cpsi-subtoggle::before{content:"";width:9px;height:9px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg) translate(-1px,-1px);transition:transform .3s;opacity:.85;}
  .cpsi-open > .cpsi-subtoggle::before{transform:rotate(225deg) translate(-1px,-1px);}
  .cpsi-callpill{width:min(1240px,94vw);margin:14px auto 0;justify-content:center;}
}

/* ---------- FOOTER ---------- */
.cpsi-footer{background:#070f24;color:rgba(255,255,255,.66);}
.cpsi-footer__inner{width:min(1180px,92vw);margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1.4fr;gap:40px;padding:58px 0 36px;}
.cpsi-footer__brand{display:flex;gap:14px;align-items:flex-start;}
.cpsi-footer__emblem{width:58px;height:58px;flex:none;}
.cpsi-footer__brand b{display:block;color:#fff;font-family:var(--serif);font-weight:500;font-size:1.12rem;}
.cpsi-footer__brand span{display:block;font-size:.82rem;color:rgba(255,255,255,.55);margin-top:5px;}
.cpsi-footer__menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.cpsi-footer__menu a{color:rgba(255,255,255,.78);text-decoration:none;font-size:.94rem;}
.cpsi-footer__menu a:hover{color:var(--gold);}
.cpsi-footer__contact p{margin:0 0 12px;font-size:.9rem;line-height:1.5;}
.cpsi-footer__contact strong{color:var(--gold-200);}
.cpsi-footer__contact a{color:rgba(255,255,255,.85);text-decoration:none;}
.cpsi-footer__phones{color:rgba(255,255,255,.7);}
.cpsi-footer__bar{width:min(1180px,92vw);margin:0 auto;padding:20px 0;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:.84rem;}
.cpsi-footer__social{display:flex;gap:12px;}
.cpsi-footer__social a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);}
.cpsi-footer__social a:hover{background:var(--gold);border-color:var(--gold);color:var(--navy-900);}

/* ===================== HOMEPAGE ===================== */
.cpsi-home{color:var(--ink);font-family:var(--sans);line-height:1.65;}
.cpsi-home .wrap{width:min(1180px,92vw);margin:0 auto;}
.cpsi-home section{scroll-margin-top:90px;}
.cpsi-home h1,.cpsi-home h2,.cpsi-home h3,.cpsi-home h4{color:var(--navy);line-height:1.12;}
.cpsi-home .eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-family:var(--sans);}
.cpsi-home .lead{font-size:1.12rem;color:var(--muted);}

/* hero — Dr. Anthony in background, radial hue, no tint over him */
.cpsi-home .hero{position:relative;overflow:hidden;min-height:clamp(560px,86vh,880px);display:flex;align-items:center;color:#fff;background:var(--navy-900);}
.cpsi-home .hero-photo{position:absolute;inset:0;z-index:0;background:url('/wp-content/uploads/2023/06/Adrian-Anthony-Wide-Panora-1536x800.jpg') 72% center/cover no-repeat;}
.cpsi-home .hero-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(95deg,#0a1530 0%,rgba(10,21,48,.94) 24%,rgba(12,26,62,.45) 46%,rgba(12,26,62,0) 62%,rgba(12,26,62,0) 80%,#0c1a3c 100%);}
.cpsi-home .hero-aura{display:none;}
@keyframes cpsiAura{50%{transform:translate(-12px,16px) scale(1.05)}}
.cpsi-home .hero-pulse{position:absolute;left:0;bottom:8%;width:100%;height:60px;z-index:2;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 15%,#000 85%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 15%,#000 85%,transparent 100%);}
.cpsi-home #ecgpath{fill:none;stroke:var(--gold);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:.85;animation:cpsiEcg 5.5s linear infinite;}
@keyframes cpsiEcg{0%{stroke-dashoffset:1;opacity:.85}60%{stroke-dashoffset:0;opacity:.85}82%{stroke-dashoffset:0;opacity:.85}100%{stroke-dashoffset:0;opacity:0}}
.cpsi-home .hero-inner{position:relative;z-index:3;max-width:560px;padding:96px 0 96px clamp(24px,6vw,120px);}
.cpsi-home .hero .eyebrow{opacity:0;animation:cpsiFadeUp .8s .2s both;}
.cpsi-home .hero-quote{position:relative;margin-top:14px;}
.cpsi-home .hero-quote .qmark{font-family:var(--serif);font-size:5rem;line-height:.6;color:var(--gold);opacity:0;animation:cpsiFadeUp .8s .3s both;display:block;height:2.1rem;}
.cpsi-home .hero h1{font-size:clamp(2.6rem,6vw,4.5rem);color:#fff;font-weight:500;margin:6px 0 0;}
.cpsi-home .hero h1 .w{display:inline-block;overflow:hidden;vertical-align:top;}
.cpsi-home .hero h1 .w>span{display:inline-block;transform:translateY(110%);animation:cpsiRise .9s cubic-bezier(.16,1,.3,1) both;}
.cpsi-home .hero h1 .w:nth-child(1)>span{animation-delay:.45s}
.cpsi-home .hero h1 .w:nth-child(2)>span{animation-delay:.57s}
.cpsi-home .hero h1 .w:nth-child(3)>span{animation-delay:.69s}
.cpsi-home .hero h1 .accent{color:var(--gold-200);}
.cpsi-home .hero-quote cite{display:block;font-style:normal;margin-top:16px;font-size:1rem;letter-spacing:.04em;color:var(--gold-200);opacity:0;animation:cpsiFadeUp .8s .95s both;}
.cpsi-home .hero p.sub{font-size:clamp(1.02rem,1.6vw,1.2rem);color:rgba(255,255,255,.86);max-width:520px;margin-top:24px;opacity:0;animation:cpsiFadeUp .8s 1.05s both;}
.cpsi-home .hero .assoc{display:flex;align-items:center;gap:14px;margin-top:30px;opacity:0;animation:cpsiFadeUp .8s 1.2s both;}
.cpsi-home .hero .assoc .ln{width:46px;height:1px;background:var(--gold);}
.cpsi-home .hero .assoc span{font-size:.85rem;color:rgba(255,255,255,.72);}
@keyframes cpsiFadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes cpsiRise{to{transform:none}}

/* sections */
.cpsi-home .section{padding:clamp(70px,9vw,116px) 0;background:var(--paper);}
.cpsi-home .section.alt{background:#fff;}
.cpsi-home .section-head{max-width:780px;margin-bottom:14px;}
.cpsi-home .section-head h2{font-size:clamp(2rem,4vw,2.9rem);margin:14px 0 0;}
.cpsi-home .section-head p{margin-top:16px;}

/* who-we-are + map */
.cpsi-home .about-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:48px;align-items:center;margin-top:50px;}
.cpsi-home .about-points{display:flex;flex-direction:column;gap:26px;}
.cpsi-home .apoint{display:flex;gap:18px;align-items:flex-start;}
.cpsi-home .apoint .ico{width:50px;height:50px;border-radius:13px;background:rgba(194,162,76,.14);color:var(--navy);display:flex;align-items:center;justify-content:center;flex:none;}
.cpsi-home .apoint .ico svg{width:26px;height:26px;}
.cpsi-home .apoint h3{font-size:1.2rem;}
.cpsi-home .apoint p{color:var(--muted);margin-top:5px;font-size:.97rem;}
/* Shared interactive map — identical on the homepage, Contact, and city pages */
#cpsi-map{height:400px;width:100%;border-radius:18px;border:1px solid var(--line);box-shadow:0 28px 56px -34px rgba(13,27,62,.5);}
.map-cap{margin-top:12px;font-size:.86rem;color:var(--muted);display:flex;align-items:center;gap:8px;}
.map-cap .dot{width:11px;height:11px;border-radius:50%;background:#d22b2b;display:inline-block;}
.leaflet-container{font-family:var(--sans);}
.cpsi-maptip{font-size:.84rem;line-height:1.45;border:0;box-shadow:0 8px 24px -10px rgba(13,27,62,.4);white-space:normal;max-width:210px;padding:8px 11px;}
/* keep inner-page content styles from bleeding into Leaflet */
.cpsi-page-content #cpsi-map img{max-width:none;border-radius:0;box-shadow:none;}
.cpsi-page-content #cpsi-map a,.cpsi-page-content .leaflet-container a{text-decoration:none;}
.cpsi-mapwrap{margin:0;}

/* what we treat */
.cpsi-home .subhead{font-family:var(--sans);font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin:8px 0 18px;}
.cpsi-home .proc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:20px;}
.cpsi-home .pcard{display:block;text-decoration:none;color:inherit;background:#fbfcfe;border:1px solid var(--line);border-radius:16px;padding:24px;transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s,border-color .45s;}
.cpsi-home .pcard:hover{transform:translateY(-6px);box-shadow:0 22px 46px -30px rgba(13,27,62,.3);border-color:rgba(194,162,76,.55);}
.cpsi-home .pcard .ac{font-size:.72rem;font-weight:600;letter-spacing:.12em;color:var(--gold-700);}
.cpsi-home .pcard h4{font-size:1.14rem;margin-top:3px;color:var(--navy);}
.cpsi-home .pcard p{font-size:.92rem;color:var(--muted);margin-top:8px;}
.cpsi-home .pcard .pmore{display:inline-block;margin-top:14px;font-size:.82rem;font-weight:600;color:var(--navy);}
.cpsi-home .pcard .pmore::after{content:" \2192";color:var(--gold);transition:margin .3s;}
.cpsi-home .pcard:hover .pmore::after{margin-left:4px;}
.cpsi-home .cond-wrap{margin-top:46px;}
.cpsi-home .cond-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px;margin-top:18px;}
.cpsi-home .cond-group h5{font-family:var(--sans);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);font-weight:600;}
.cpsi-home .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.cpsi-home .chip{background:var(--paper-2);border:1px solid var(--line);color:var(--ink);font-size:.86rem;padding:7px 14px;border-radius:100px;}
.cpsi-home .chip.feat{background:rgba(35,58,107,.09);border-color:rgba(35,58,107,.3);color:var(--navy);font-weight:600;}
.cpsi-home .treat-foot{margin-top:42px;display:flex;flex-wrap:wrap;gap:18px 36px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:26px;}
.cpsi-home .viewall{color:var(--navy);font-weight:600;display:inline-flex;align-items:center;gap:8px;text-decoration:none;}
.cpsi-home .viewall svg{width:16px;height:16px;transition:transform .3s;}
.cpsi-home .viewall:hover svg{transform:translateX(4px);}
.cpsi-home .refnote{color:var(--muted);font-size:.94rem;}
.cpsi-home .refnote b{color:var(--navy);font-weight:600;}

/* surgery center band (reframed) */
.cpsi-home .asc{position:relative;color:#fff;background:linear-gradient(rgba(13,27,62,.9),rgba(13,27,62,.94)),url('/wp-content/uploads/2023/06/Building-Panorama-1024x331.jpg') center/cover fixed,var(--navy-900);}
.cpsi-home .asc .wrap{padding:clamp(80px,10vw,128px) 0;}
.cpsi-home .asc .eyebrow{color:var(--gold-200);}
.cpsi-home .asc h2{color:#fff;font-size:clamp(2rem,4vw,3rem);margin:14px 0 0;max-width:760px;}
.cpsi-home .asc p{color:rgba(255,255,255,.84);max-width:680px;margin-top:20px;font-size:1.08rem;}
.cpsi-home .asc-points{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:26px;margin-top:38px;}
.cpsi-home .asc-point{display:flex;gap:14px;align-items:flex-start;}
.cpsi-home .asc-point .n{font-family:var(--serif);font-size:1.3rem;color:var(--gold-200);font-weight:500;flex:none;}
.cpsi-home .asc-point h3{color:#fff;font-size:1.12rem;}
.cpsi-home .asc-point p{color:rgba(255,255,255,.78);font-size:.94rem;margin-top:4px;}
.cpsi-home .asc-link{display:inline-block;margin-top:36px;color:var(--gold-200);font-weight:600;text-decoration:none;}
.cpsi-home .asc-link:hover{color:#fff;}

/* physicians */
.cpsi-home .docs{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:8px;}
.cpsi-home .doc{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;padding-bottom:28px;transition:transform .45s,box-shadow .45s;}
.cpsi-home .doc:hover{transform:translateY(-5px);box-shadow:0 26px 54px -32px rgba(13,27,62,.32);}
.cpsi-home .doc__photo{aspect-ratio:3/2;background:linear-gradient(135deg,#2c4a86,#0d1b3e);overflow:hidden;}
.cpsi-home .doc__photo img{width:100%;height:100%;object-fit:cover;object-position:60% 18%;}
.cpsi-home .doc h3{font-size:1.4rem;margin:22px 30px 0;}
.cpsi-home .doc .role{color:var(--gold-700);font-weight:600;margin:5px 30px 0;font-size:.94rem;}
.cpsi-home .doc>p:last-child{color:var(--muted);margin:14px 30px 0;font-size:.96rem;}
.cpsi-home #providers .viewall{margin-top:34px;}

/* contact */
.cpsi-home .contact{background:var(--navy-900);color:#fff;}
.cpsi-home .contact .wrap{padding:clamp(70px,9vw,116px) 0;}
.cpsi-home .contact .eyebrow{color:var(--gold-200);}
.cpsi-home .contact h2{color:#fff;font-size:clamp(2rem,4vw,2.9rem);margin:14px 0 44px;}
.cpsi-home .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.cpsi-home .loc{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:32px 30px;}
.cpsi-home .loc h3{color:#fff;font-size:1.4rem;}
.cpsi-home .loc .addr{color:rgba(255,255,255,.78);margin-top:12px;display:flex;gap:10px;}
.cpsi-home .loc .addr svg{width:18px;height:18px;flex:none;color:var(--gold);margin-top:3px;}
.cpsi-home .phones{margin-top:22px;display:flex;flex-direction:column;gap:12px;}
.cpsi-home .phones a,.cpsi-home .phones div{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.9);font-size:.98rem;text-decoration:none;}
.cpsi-home .phones b{color:var(--gold-200);font-weight:500;width:72px;display:inline-block;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;}
.cpsi-home .refbar{margin-top:30px;background:rgba(194,162,76,.12);border:1px solid rgba(194,162,76,.3);border-radius:14px;padding:18px 24px;color:rgba(255,255,255,.86);font-size:.96rem;}
.cpsi-home .refbar b{color:var(--gold-200);}

/* ===================== INNER PAGES ===================== */
.cpsi-wrap{width:min(1100px,92vw);margin:0 auto;}
.cpsi-page-hero{background:linear-gradient(110deg,#16315f,#0c1a3c);color:#fff;padding:clamp(40px,5vw,66px) 0 clamp(24px,3vw,36px);position:relative;overflow:hidden;}
.cpsi-page-hero::after{content:"";position:absolute;right:-50px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(194,162,76,.18),transparent 70%);}
.cpsi-page-hero .cpsi-wrap{position:relative;z-index:1;}
.cpsi-page-hero .cpsi-kicker{color:var(--gold-200);}
.cpsi-page-hero h1{color:#fff;font-size:clamp(2.2rem,5vw,3.4rem);margin:8px 0 0;}
.cpsi-page-content{width:min(1080px,92vw);margin:0 auto;padding:clamp(48px,7vw,90px) 0;color:#3a4354;font-size:1.05rem;line-height:1.72;}
.cpsi-page-content>p,.cpsi-sec p{margin:0 0 1.05em;}
.cpsi-page-content a{color:var(--navy);text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(35,58,107,.32);}
.cpsi-page-content a:hover{color:var(--navy-700);text-decoration-color:var(--gold);}
.cpsi-page-content h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 .5em;color:var(--navy);}
.cpsi-page-content h3{font-size:1.18rem;color:var(--navy);margin:1.2em 0 .4em;}
.cpsi-sec{margin:0 0 clamp(38px,5vw,64px);}
.cpsi-lead{font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.5;color:var(--navy-700)!important;font-family:var(--serif);font-weight:400;margin:0 0 2em!important;max-width:800px;}
.cpsi-kicker{font-size:.76rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-700);margin:0 0 .4em;font-family:var(--sans);}
/* Hub section heading is a semantic <h2> but keeps the small gold kicker look */
.cpsi-page-content h2.cpsi-kicker{font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-700);margin:0 0 1em;line-height:1.4;}
.cpsi-grid{display:grid;gap:18px;margin:18px 0 0;}
.cpsi-grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.cpsi-grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(238px,1fr));}
.cpsi-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;transition:transform .4s,box-shadow .4s,border-color .4s;}
.cpsi-card:hover{transform:translateY(-5px);box-shadow:0 22px 44px -30px rgba(13,27,62,.32);border-color:rgba(194,162,76,.45);}
.cpsi-card__ac{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.1em;color:var(--gold-700);margin-bottom:4px;font-family:var(--sans);}
.cpsi-card h3{font-size:1.08rem;margin:0 0 .3em;}
.cpsi-card p{font-size:.93rem;color:var(--muted);margin:0;}
a.cpsi-card{text-decoration:none;color:inherit;display:block;}
.cpsi-card h3 a{color:inherit;text-decoration:none;}
.cpsi-card h3 a:hover{color:var(--gold-700);}
.cpsi-svc-grid{align-items:start;}
.cpsi-svc-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:7px;}
.cpsi-svc-list li{margin:0;padding:0;}
.cpsi-svc-list a{font-size:.9rem;color:var(--navy-700);text-decoration:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s;}
.cpsi-svc-list a:hover{color:var(--gold-700);border-bottom-color:currentColor;}
/* Collapsible "Explore all treatments & conditions" directory under the body map */
.cpsi-explore{max-width:1040px;margin:2px auto 56px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,var(--paper));box-shadow:0 30px 60px -46px rgba(13,27,62,.42);overflow:hidden;}
.cpsi-explore>summary{list-style:none;cursor:pointer;display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:20px 28px;font-family:var(--sans);user-select:none;}
.cpsi-explore>summary::-webkit-details-marker{display:none;}
.cpsi-explore__label{font-weight:600;font-size:1.06rem;color:var(--navy);}
.cpsi-explore__hint{font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);}
.cpsi-explore>summary::after{content:'';margin-left:auto;width:10px;height:10px;border-right:2px solid var(--gold-700);border-bottom:2px solid var(--gold-700);transform:rotate(45deg);transition:transform .3s;}
.cpsi-explore[open]>summary::after{transform:rotate(-135deg);}
.cpsi-explore>summary:hover .cpsi-explore__label{color:var(--gold-700);}
.cpsi-explore>summary:focus-visible{outline:2px solid var(--gold-700);outline-offset:-4px;border-radius:18px;}
.cpsi-explore__body{padding:0 28px 30px;}
.cpsi-explore__body .subhead:first-child{margin-top:10px;}
.cpsi-explore[open] .reveal{opacity:1!important;transform:none!important;}
a.cpsi-card h3{color:var(--navy);}
a.cpsi-card .cpsi-more{display:inline-block;margin-top:12px;font-size:.82rem;font-weight:600;color:var(--navy);}
a.cpsi-card .cpsi-more::after{content:" \2192";color:var(--gold);}
.cpsi-group{margin:0 0 22px;}
.cpsi-group__label{font-family:var(--sans);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);font-weight:600;margin:0 0 10px;}
.cpsi-chips{display:flex;flex-wrap:wrap;gap:8px;}
.cpsi-chip{background:var(--paper-2);border:1px solid var(--line);color:var(--ink);font-size:.88rem;padding:7px 14px;border-radius:100px;}
.cpsi-chip.feat{background:rgba(35,58,107,.09);border-color:rgba(35,58,107,.3);color:var(--navy);font-weight:600;}
.cpsi-note{background:rgba(194,162,76,.1);border:1px solid rgba(194,162,76,.32);border-radius:14px;padding:18px 22px;color:#4a4126;margin:18px 0 0;font-size:.98rem;}
.cpsi-note strong{color:var(--gold-700);}
.cpsi-split{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:18px 0 0;}
.cpsi-list{list-style:none;padding:0;margin:14px 0 0;}
.cpsi-list li{position:relative;padding:0 0 11px 30px;}
.cpsi-list li::before{content:"";position:absolute;left:3px;top:6px;width:13px;height:7px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg);}
.cpsi-btn{display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff!important;padding:13px 26px;border-radius:100px;font-weight:600;font-size:.95rem;text-decoration:none!important;margin-top:20px;transition:.3s;}
.cpsi-btn:hover{background:var(--navy-700);transform:translateY(-2px);}
.cpsi-video{margin:0 0 28px;}
.cpsi-video video{width:100%;border-radius:16px;display:block;background:#000;box-shadow:0 26px 54px -34px rgba(13,27,62,.5);}
.cpsi-video figcaption{margin-top:10px;font-size:.9rem;color:var(--muted);font-style:italic;}
/* restored coblocks maps + columns inside content */
.cpsi-page-content .wp-block-coblocks-map iframe,.cpsi-page-content iframe{width:100%;min-height:360px;border:0;border-radius:16px;}
.cpsi-page-content .wp-block-columns{display:flex;flex-wrap:wrap;gap:30px;}
.cpsi-page-content .wp-block-column{flex:1;min-width:280px;}
.cpsi-page-content ol,.cpsi-page-content .wp-block-list,.cpsi-page-content ul:not([class]){margin:0 0 1.2em;padding-left:1.4em;}
.cpsi-page-content ol li,.cpsi-page-content .wp-block-list li{margin:0 0 .5em;}
.cpsi-page-content .has-text-align-center{text-align:center;}
.cpsi-page-content .wp-block-table{margin:0 0 1.6em;overflow-x:auto;}
.cpsi-page-content table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.cpsi-page-content thead th{background:var(--navy);color:#fff;text-align:left;padding:12px 16px;font-family:var(--sans);font-weight:600;font-size:.88rem;}
.cpsi-page-content td,.cpsi-page-content tbody th{padding:12px 16px;border-top:1px solid var(--line);vertical-align:top;text-align:left;}
.cpsi-page-content tbody tr:nth-child(even){background:#f8fafc;}
.cpsi-page-content mark{padding:1px 5px;border-radius:3px;}
.cpsi-page-content input[type=text],.cpsi-page-content input[type=email],.cpsi-page-content input[type=tel],.cpsi-page-content textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;margin:0 0 16px;display:block;}
.cpsi-page-content textarea{min-height:140px;}
.cpsi-page-content .wp-block-coblocks-form label,.cpsi-page-content .coblocks-field label{display:block;font-weight:600;color:var(--navy);margin:0 0 6px;}
.cpsi-page-content .wp-block-coblocks-field-submit-button .wp-block-button__link,.cpsi-page-content button[type=submit]{background:var(--navy);color:#fff;border:0;padding:13px 30px;border-radius:100px;font-weight:600;cursor:pointer;}
.cpsi-page-content .wp-block-coblocks-field-submit-button .wp-block-button__link:hover,.cpsi-page-content button[type=submit]:hover{background:var(--gold);color:var(--navy-900);}
.cpsi-page-content .wp-block-buttons{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin:10px 0;}
.cpsi-page-content .wp-block-button__link{display:inline-block;background:var(--navy);color:#fff;padding:16px 32px;border-radius:100px;font-weight:600;text-decoration:none;font-size:1.05rem;transition:.3s;}
.cpsi-page-content .wp-block-button__link:hover{background:var(--gold);color:var(--navy-900);}
.cpsi-page-content .wp-block-coblocks-services.is-style-circle .wp-block-coblocks-service__figure img{border-radius:50%;aspect-ratio:1;object-fit:cover;width:100%;}
.cpsi-page-content .wp-block-coblocks-services .is-style-circle,.cpsi-page-content .wp-block-coblocks-services>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px;}
.cpsi-page-content .wp-block-coblocks-service__content h3{margin-top:14px;}
.cpsi-page-content .wp-block-image img{border-radius:14px;height:auto;}
/* team / provider cards + figures */
.cpsi-figure{margin:0;}
.cpsi-figure img{width:100%;height:auto;border-radius:16px;display:block;}
.cpsi-team{display:grid;gap:24px;margin:20px 0 0;}
.cpsi-team.cols-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));}
.cpsi-team.cols-3{grid-template-columns:repeat(auto-fit,minmax(258px,1fr));}
.cpsi-member{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .4s,box-shadow .4s;}
.cpsi-member:hover{transform:translateY(-4px);box-shadow:0 22px 44px -30px rgba(13,27,62,.3);}
.cpsi-member__photo{aspect-ratio:1/1;background:#e9edf3;overflow:hidden;}
.cpsi-member__photo img{width:100%;height:100%;object-fit:cover;object-position:center 16%;display:block;}
.cpsi-member__body{padding:22px 24px 26px;}
.cpsi-member__body h3{margin:0;font-size:1.3rem;color:var(--navy);}
.cpsi-member__role{color:var(--gold-700)!important;font-weight:600;margin:4px 0 12px!important;font-size:.9rem;}
.cpsi-member__body p:last-child{font-size:.95rem;color:var(--muted);margin:0;line-height:1.65;}
.cpsi-team .cpsi-member:only-child{max-width:380px;}

@media(max-width:900px){
  .cpsi-home .about-grid,.cpsi-home .docs,.cpsi-home .contact-grid{grid-template-columns:1fr;}
  .cpsi-home .hero-photo{inset:0;background-position:82% center;}
  .cpsi-home .hero-inner{padding-left:6vw;}
  .cpsi-home .hero-veil{background:linear-gradient(180deg,rgba(10,21,48,.5),rgba(12,26,62,.9));}
  .cpsi-home .asc{background-attachment:scroll;}
  .cpsi-split,.cpsi-page-content .wp-block-columns{grid-template-columns:1fr;}
  .cpsi-footer__inner{grid-template-columns:1fr;gap:28px;}
}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  .cpsi-home .hero *,.cpsi-home .hero-aura{animation:none!important;}
  .cpsi-home .hero h1 .w>span{transform:none;}
  .cpsi-home #ecgpath{stroke-dashoffset:0;opacity:.6;animation:none;}
}

/* ---------- INTERACTIVE BODY MAP ---------- */
.cpsi-bodymap{display:grid;grid-template-columns:minmax(300px,360px) 1fr;gap:38px;align-items:stretch;
  margin:6px auto 56px;padding:30px 34px;max-width:1040px;
  background:linear-gradient(180deg,#fff,var(--paper));border:1px solid var(--line);border-radius:22px;
  box-shadow:0 30px 60px -40px rgba(13,27,62,.5);}
.bm-stage{display:flex;flex-direction:column;align-items:center;}
.bm-toggle{display:inline-flex;background:var(--paper-2);border-radius:100px;padding:4px;margin-bottom:14px;}
.bm-tab{border:0;background:none;font:inherit;font-size:.84rem;font-weight:600;color:var(--muted);
  padding:7px 18px;border-radius:100px;cursor:pointer;transition:.25s;letter-spacing:.01em;}
.bm-tab.is-on{background:var(--navy);color:#fff;box-shadow:0 6px 16px -8px rgba(13,27,62,.7);}
.bm-fig{width:100%;max-width:300px;height:auto;display:block;touch-action:manipulation;}
.bm-silhouette path,.bm-silhouette ellipse{fill:#dbe2ee;stroke:#b9c5db;stroke-width:1;transition:fill .3s;}
.bm-silhouette *{pointer-events:none;}
.bm-spine{stroke:#aebbd3;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:2 7;}
.bm-hot .hs{cursor:pointer;outline:none;}
.bm-hot .hs *{fill:rgba(35,58,107,0);stroke:rgba(35,58,107,0);stroke-width:1.5;pointer-events:all;
  transition:fill .25s,stroke .25s;transform-box:fill-box;transform-origin:center;}
.bm-hot .hs:hover *,.bm-hot .hs:focus-visible *{fill:rgba(194,162,76,.34);stroke:var(--gold-700);}
.bm-hot .hs.is-active *{fill:rgba(194,162,76,.52);stroke:var(--gold-700);stroke-width:1.8;}
.bm-hint{margin:12px 0 0;font-size:.8rem;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;}
@keyframes bmPulse{0%,100%{opacity:.0}50%{opacity:.42}}
.bm-hot.bm-hinting .hs *{animation:bmPulse 2.6s ease-in-out infinite;fill:rgba(194,162,76,.34);}

.bm-panel{display:flex;flex-direction:column;justify-content:center;min-height:280px;}
.bm-kick{font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-700);margin:0 0 8px;}
.bm-panel h3{font-size:clamp(1.4rem,2.4vw,1.9rem);color:var(--navy);margin:0 0 12px;line-height:1.15;}
.bm-default p,.bm-region__blurb{color:var(--muted);font-size:1.02rem;line-height:1.6;margin:0;}
.bm-region{animation:bmIn .4s ease both;}
@keyframes bmIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.bm-region__blurb{margin-bottom:18px;}
.bm-region h4{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-700);margin:0 0 10px;}
.bm-conds{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:0;list-style:none;}
.bm-conds li{font-size:.86rem;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:100px;padding:6px 13px;}
.bm-links{display:grid;gap:9px;margin:0 0 6px;padding:0;list-style:none;}
.bm-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px;color:var(--navy);
  font-weight:600;font-size:.92rem;transition:.22s;}
.bm-links a:hover{border-color:var(--gold);background:#fffdf6;transform:translateX(3px);}
.bm-links a::after{content:"→";color:var(--gold-700);font-weight:700;transition:transform .22s;}
.bm-links a:hover::after{transform:translateX(3px);}
.bm-allcat{display:inline-block;margin-top:14px;font-size:.88rem;font-weight:600;color:var(--gold-700);text-decoration:none;}
.bm-allcat:hover{text-decoration:underline;}
@media(max-width:820px){
  .cpsi-bodymap{grid-template-columns:1fr;gap:22px;padding:24px 20px;}
  .bm-panel{min-height:0;}
}
@media(prefers-reduced-motion:reduce){
  .bm-hot.bm-hinting .hs *{animation:none;}
  .bm-region{animation:none;}
}

/* ---------- LOCATION LINKS (dark backgrounds) ---------- */
.cpsi-home .contact .loc h3 a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .25s;}
.cpsi-home .contact .loc h3 a:hover{border-color:var(--gold);}
.cpsi-footer__contact p a{color:inherit;text-decoration:none;}
.cpsi-footer__contact p a strong{transition:color .25s;}
.cpsi-footer__contact p a:hover strong{color:var(--gold-200);}

/* ---------- PATH TO RELIEF (scroll-pinned story) ---------- */
.cpsi-path__inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:54px;align-items:stretch;margin-top:30px;}
.cpsi-path__col{position:relative;}
.cpsi-path__sticky{position:sticky;top:108px;display:flex;gap:26px;}
.cpsi-path__rail{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:10px 0;flex:none;}
.cpsi-path__rail::before{content:"";position:absolute;left:50%;top:10px;bottom:10px;width:3px;transform:translateX(-50%);background:#e1e7f1;border-radius:3px;}
.r-fill{position:absolute;left:50%;top:10px;width:3px;transform:translateX(-50%);background:linear-gradient(180deg,var(--gold),var(--gold-200));border-radius:3px;height:0;transition:height .55s cubic-bezier(.16,1,.3,1);z-index:1;}
.r-dot{position:relative;z-index:2;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #d3dbe8;transition:.35s;}
.r-dot.is-on{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 5px rgba(194,162,76,.16);}
.cpsi-path__card{flex:1;position:relative;overflow:hidden;background:linear-gradient(160deg,var(--navy),var(--navy-900));border-radius:24px;padding:44px 40px;color:#fff;min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 34px 64px -38px rgba(13,27,62,.75);}
.cpsi-path__card::after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(194,162,76,.22),transparent 70%);top:-70px;right:-70px;}
.cpsi-path__visual{position:relative;width:118px;height:118px;color:var(--gold-200);}
.cpsi-path__visual .pv{position:absolute;inset:0;width:100%;height:100%;opacity:0;transform:scale(.86) translateY(8px);transition:opacity .5s ease,transform .5s cubic-bezier(.16,1,.3,1);}
.cpsi-path__visual .pv.is-on{opacity:1;transform:none;}
.cpsi-path__cap{margin-top:28px;display:flex;flex-direction:column;gap:6px;}
.cpsi-path__cap .pv-num{font-family:var(--serif);font-size:2.6rem;line-height:1;color:var(--gold);}
.cpsi-path__cap .pv-title{font-size:1.06rem;letter-spacing:.01em;color:#fff;}
.cpsi-path__steps{display:flex;flex-direction:column;}
/* Inactive steps are differentiated by COLOR (not opacity) so text keeps an
   accessible contrast ratio; active step brightens to navy/ink. */
.cpsi-step{min-height:62vh;display:flex;flex-direction:column;justify-content:center;padding:14px 0;}
.cpsi-step .s-num{font-family:var(--serif);font-weight:600;font-size:1.05rem;color:var(--gold-700);}
.cpsi-step h3{font-size:clamp(1.5rem,3vw,2.15rem);margin:8px 0 14px;color:#7c8699;transition:color .45s ease;}
.cpsi-step.is-active h3{color:var(--navy);}
.cpsi-step p{font-size:1.1rem;line-height:1.65;color:var(--muted);max-width:48ch;transition:color .45s ease;}
.cpsi-step.is-active p{color:var(--ink);}
@media(max-width:820px){
  .cpsi-path__inner{grid-template-columns:1fr;gap:0;padding-left:18px;}
  .cpsi-path__col{display:none;}
  .cpsi-step{min-height:0;opacity:1;padding:14px 0 14px 26px;position:relative;border-left:2px solid var(--line);}
  .cpsi-step .s-num{position:absolute;left:-13px;top:14px;width:24px;height:24px;background:var(--navy);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;}
}
@media(prefers-reduced-motion:reduce){
  .cpsi-path__visual .pv,.r-fill{transition:none;}
}

/* ---------- ANIMATED ANATOMY (procedure page hero accent) ---------- */
.cpsi-page-hero.has-anatomy .cpsi-wrap{position:relative;z-index:2;}
.cpsi-anatomy{position:absolute;right:6%;top:50%;transform:translateY(-50%);height:300px;width:auto;opacity:.5;z-index:1;pointer-events:none;}
.cpsi-anatomy .cord{stroke-dasharray:1;stroke-dashoffset:1;animation:cpsiAnDraw 1.8s .2s ease forwards;}
.cpsi-anatomy .roots path{stroke-dasharray:1;stroke-dashoffset:1;animation:cpsiAnDraw .7s ease forwards;}
.cpsi-anatomy .roots path:nth-child(1){animation-delay:.9s}
.cpsi-anatomy .roots path:nth-child(2){animation-delay:1s}
.cpsi-anatomy .roots path:nth-child(3){animation-delay:1.1s}
.cpsi-anatomy .roots path:nth-child(4){animation-delay:1.2s}
.cpsi-anatomy .roots path:nth-child(5){animation-delay:1.3s}
.cpsi-anatomy .roots path:nth-child(6){animation-delay:1.4s}
.cpsi-anatomy .verts rect{opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.6);animation:cpsiAnPop .5s ease forwards;}
.cpsi-anatomy .verts rect:nth-child(1){animation-delay:.35s}
.cpsi-anatomy .verts rect:nth-child(2){animation-delay:.45s}
.cpsi-anatomy .verts rect:nth-child(3){animation-delay:.55s}
.cpsi-anatomy .verts rect:nth-child(4){animation-delay:.65s}
.cpsi-anatomy .verts rect:nth-child(5){animation-delay:.75s}
.cpsi-anatomy .verts rect:nth-child(6){animation-delay:.85s}
.cpsi-anatomy .verts rect:nth-child(7){animation-delay:.95s}
@keyframes cpsiAnDraw{to{stroke-dashoffset:0;}}
@keyframes cpsiAnPop{to{opacity:1;transform:none;}}
@media(max-width:760px){.cpsi-anatomy{display:none;}}
@media(prefers-reduced-motion:reduce){
  .cpsi-anatomy .cord,.cpsi-anatomy .roots path{stroke-dashoffset:0;animation:none;}
  .cpsi-anatomy .verts rect{opacity:1;transform:none;animation:none;}
}

/* ---------- FOOTER LEGAL LINKS ---------- */
/* Compliance pages live here rather than in the primary menu — carriers need
   them reachable from every page, patients rarely need them. */
.cpsi-footer__legal{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;}
.cpsi-footer__legal a{color:rgba(255,255,255,.62);text-decoration:none;border-bottom:1px solid transparent;transition:color .25s,border-color .25s;}
.cpsi-footer__legal a:hover{color:var(--gold-200);border-bottom-color:var(--gold);}
@media(max-width:700px){
  .cpsi-footer__bar{flex-direction:column;align-items:flex-start;}
  .cpsi-footer__legal{gap:6px 14px;}
}

/* ---------- SMS OPT-IN FORM ---------- */
.cpsi-optin{background:linear-gradient(180deg,#fff,var(--paper));border:1px solid var(--line);border-radius:22px;
  padding:clamp(24px,4vw,38px);box-shadow:0 30px 60px -44px rgba(13,27,62,.45);max-width:760px;}
.cpsi-optin__row{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}
.cpsi-optin label{display:block;font-weight:600;color:var(--navy);margin:0 0 6px;font-size:.92rem;}
.cpsi-optin__opt{font-weight:400;color:var(--muted);font-size:.86rem;}
.cpsi-optin input[type=text],.cpsi-optin input[type=tel],.cpsi-optin input[type=email]{
  width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;margin:0 0 18px;display:block;}
.cpsi-optin input:focus-visible{outline:2px solid var(--gold-700);outline-offset:1px;border-color:transparent;}
/* The disclosure box is deliberately the most prominent element on the form —
   a carrier reviewer has to see the full terms next to an UNCHECKED box. */
.cpsi-optin__consent{display:flex;gap:14px;align-items:flex-start;background:rgba(194,162,76,.09);
  border:1px solid rgba(194,162,76,.34);border-radius:14px;padding:18px 20px;margin:6px 0 24px;
  font-weight:400!important;color:#4a4126!important;font-size:.92rem;line-height:1.6;cursor:pointer;}
.cpsi-optin__consent input[type=checkbox]{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--navy);cursor:pointer;}
.cpsi-optin__consent strong{color:var(--gold-700);}
.cpsi-optin__consent a{color:var(--navy);text-decoration:underline;text-underline-offset:2px;}
.cpsi-optin button[type=submit]{background:var(--navy);color:#fff;border:0;padding:14px 32px;border-radius:100px;
  font:inherit;font-weight:600;cursor:pointer;transition:.3s;}
.cpsi-optin button[type=submit]:hover{background:var(--gold);color:var(--navy-900);transform:translateY(-2px);}
.cpsi-optin__msg{border-radius:12px;padding:14px 18px;margin:0 0 22px;font-size:.96rem;}
.cpsi-optin__msg.is-ok{background:rgba(35,58,107,.07);border:1px solid rgba(35,58,107,.28);color:var(--navy);}
.cpsi-optin__msg.is-err{background:#fdf3f3;border:1px solid #e5c2c2;color:#8a2b2b;}
.cpsi-optin__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
@media(max-width:620px){.cpsi-optin__row{grid-template-columns:1fr;}}

/* ---------- SHARED LOCATION CARD (Contact + city pages) ---------- */
.cpsi-loc{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 26px;height:100%;}
.cpsi-loc h3{font-size:1.35rem;color:var(--navy);margin:0;}
.cpsi-loc .addr{display:flex;gap:10px;color:var(--muted);margin-top:12px;line-height:1.5;}
.cpsi-loc .addr svg{width:18px;height:18px;flex:none;color:var(--gold);margin-top:3px;}
.cpsi-loc .phones{margin-top:20px;display:flex;flex-direction:column;gap:11px;}
.cpsi-loc .phones a,.cpsi-loc .phones div{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:.98rem;text-decoration:none;}
.cpsi-loc .phones b{color:var(--gold-700);font-weight:600;width:72px;flex:none;font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;}
.cpsi-loc .phones a:hover{color:var(--navy);}
.cpsi-loc .cpsi-btn{margin-top:22px;}
