:root{--blue:#07182d;--blue2:#0b3f78;--electric:#109bea;--ice:#edf5fb;--white:#fbfdff;--line:rgba(7,24,45,.2);--pad:clamp(22px,4vw,66px);--display:'Barlow Condensed',sans-serif;--body:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--blue);color:var(--white);font-family:var(--body)}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.grain{position:fixed;inset:-50%;z-index:60;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='3' stitchTiles='stitch' type='fractalNoise'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .2s steps(2) infinite}@keyframes grain{50%{transform:translate(2%,-3%)}}.progress{position:fixed;z-index:70;top:0;left:0;width:100%;height:3px;background:var(--electric);transform:scaleX(0);transform-origin:left}.loader{position:fixed;z-index:100;inset:0;background:var(--blue);display:flex;align-items:flex-end;padding:var(--pad);font:300 clamp(5rem,18vw,17rem)/.7 var(--display);transition:transform 1s cubic-bezier(.77,0,.18,1)}.loader i{position:absolute;left:var(--pad);right:var(--pad);bottom:17vh;height:1px;background:var(--electric);transform:scaleX(0);transform-origin:left;animation:load 1.1s forwards}@keyframes load{to{transform:scaleX(1)}}.loaded .loader{transform:translateY(-105%)}.nav{position:fixed;z-index:50;top:0;left:0;width:100%;padding:22px var(--pad);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;color:var(--white);mix-blend-mode:difference;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.brand{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.16em}.brand img{width:72px;height:40px;object-fit:contain}.nav-index{text-align:center}.nav nav{display:flex;justify-content:flex-end;gap:28px}.nav nav a{position:relative}.nav nav a:after{content:'';position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transition:transform .35s}.nav nav a:hover:after,.nav nav a.active:after{transform:scaleX(1)}section{position:relative}.dark{background:var(--blue);color:var(--white)}.light{background:var(--ice);color:var(--blue)}.section-label,.eyebrow{font-size:10px;letter-spacing:.15em;text-transform:uppercase}.reveal{opacity:0;transform:translateY(40px);transition:opacity .85s,transform .85s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}.parallax{will-change:transform}.hero{height:190vh;min-height:1050px;padding:16vh var(--pad);overflow:hidden;background:radial-gradient(circle at 75% 38%,#123f72 0,#07182d 39%)}.eyebrow{position:absolute;top:15vh;left:var(--pad);color:#afd8fa}.hero-title{position:relative;z-index:3;margin:15vh 0 0;font:300 clamp(5.5rem,17vw,17rem)/.82 var(--display);letter-spacing:0;max-width:96vw}.hero-title span{display:block;overflow:visible}.hero-title span:after{content:'';display:block;transform:translateY(110%);transition:transform 1.1s}.loaded .hero-title span:after{transform:none}.hero-title span:first-child:after{content:'CARE'}.hero-title span.indent{padding-left:18vw}.hero-title span.indent:after{content:'IN MOTION.'}.hero-photo{position:absolute;z-index:1;top:34vh;right:8vw;width:min(34vw,520px);height:92vh;max-height:820px;overflow:hidden;clip-path:inset(0 0 100%);transition:clip-path 1.3s}.hero-photo.in{clip-path:inset(0)}.hero-photo img{object-position:center top;filter:saturate(.9) contrast(1.03)}.hero-tag{position:absolute;z-index:3;top:104vh;left:var(--pad);font:300 clamp(3.2rem,6.5vw,6.8rem)/.9 var(--display);text-transform:uppercase}.hero-copy{position:absolute;z-index:3;right:8vw;top:145vh;width:min(390px,32vw);font-size:15px;line-height:1.6}.scroll-cue{position:absolute;bottom:8vh;left:var(--pad);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#b6dafa}.scroll-cue b{margin-left:22px;font-size:18px;font-weight:300}.section-no{position:absolute;right:var(--pad);bottom:3vh;font:300 14vw/.7 var(--display);opacity:.12}.statement{min-height:128vh;padding:18vh var(--pad);overflow:hidden}.statement-text{position:relative;z-index:2;margin:17vh 0 0;max-width:1450px;font:400 clamp(4.2rem,10.4vw,11rem)/.84 var(--display);letter-spacing:0}.word{display:inline-block;overflow:hidden;margin-right:.16em}.word span{display:inline-block;transform:translateY(110%);transition:transform .8s}.split-reveal.in .word span{transform:none}.aside{position:absolute;right:var(--pad);bottom:9vh;font-size:11px;line-height:1.55}.pulse-orb{position:absolute;right:11vw;top:8vh;width:22vw;height:22vw;border-radius:50%;background:linear-gradient(145deg,#c7e8ff,#7ec4ee);filter:blur(1px);box-shadow:0 0 90px #69b9ed88}.doctor{height:135vh;min-height:900px;overflow:hidden}.doctor-image{position:absolute;left:var(--pad);top:18vh;width:min(46vw,640px);height:72vh;max-height:680px}.doctor-image img{object-position:center top}.doctor-year{position:absolute;right:-2vw;top:14vh;z-index:2;font:300 clamp(8rem,18vw,18rem)/.78 var(--display);color:#c3e6ff22}.doctor-copy{position:absolute;z-index:3;right:8vw;top:82vh;width:34vw}.doctor-copy h2{font:300 clamp(3.4rem,6vw,6.5rem)/.9 var(--display);text-transform:uppercase;margin:30px 0}.doctor-copy p{font-size:14px;line-height:1.7;max-width:360px}.rhythm{padding:16vh var(--pad) 0;min-height:145vh}.rhythm-head{display:grid;grid-template-columns:1fr 2fr}.rhythm h2{font:300 clamp(5rem,12vw,12rem)/.76 var(--display);margin:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);margin:17vh 0 20vh;border-top:1px solid var(--line)}.metrics article{padding:27px 18px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;gap:18px;align-items:flex-end}.metrics article:last-child{border-right:0}.metrics strong{font:300 clamp(5rem,9vw,9rem)/.72 var(--display);color:var(--blue2)}.metrics span{font-size:11px;text-transform:uppercase;line-height:1.4}.ticker{display:flex;gap:8vw;white-space:nowrap;overflow:hidden;font:300 clamp(3.5rem,9vw,10rem)/.8 var(--display);color:#b7d9ef;animation:marquee 22s linear infinite}@keyframes marquee{to{transform:translateX(-45%)}}.bridge{height:145vh;overflow:hidden;padding:17vh var(--pad)}.bridge-copy h2{font:300 clamp(6rem,15vw,15rem)/.72 var(--display);margin:10vh 0 8vh}.bridge-copy p{font-size:14px;line-height:1.8}.bridge-copy a{text-decoration:underline}.bridge-mark{position:absolute;right:4vw;bottom:4vh;font:300 18vw/.65 var(--display);color:#2e75b722}.map-section{padding:15vh var(--pad) 5vh;min-height:130vh}.map-head{display:grid;grid-template-columns:1fr 2fr;align-items:start;margin-bottom:10vh}.map-head h2{margin:0;font:300 clamp(5rem,12vw,12rem)/.76 var(--display)}.button{display:inline-block;border-bottom:1px solid currentColor;padding:0 0 7px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-top:12px}.map-wrap{position:relative;height:62vh;min-height:430px;overflow:hidden;background:#bed6e3}.map-wrap iframe{width:100%;height:100%;border:0;filter:saturate(.85) contrast(1.05)}.map-card{position:absolute;left:25px;bottom:25px;background:var(--blue);color:var(--white);padding:25px 27px;width:min(320px,calc(100% - 50px));box-shadow:0 12px 30px #06192d55}.map-card span{font-size:9px;letter-spacing:.14em;color:#8cccf2}.map-card strong{display:block;font:400 36px/.9 var(--display);margin:18px 0 6px;text-transform:uppercase}.map-card p{font-size:12px;margin:0 0 20px}.map-card a{font-size:10px;text-transform:uppercase;border-bottom:1px solid #7ab9df;padding-bottom:4px}footer{display:flex;justify-content:space-between;align-items:end;padding-top:35px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}footer img{width:100px;height:50px;object-fit:contain}.services-hero{min-height:100vh;padding:28vh var(--pad) 12vh;background:radial-gradient(circle at 75% 40%,#0c518d,#07182d 44%)}.services-hero h1{font:300 clamp(7rem,18vw,18rem)/.82 var(--display);letter-spacing:0;margin:15vh 0 8vh}.services-hero p{width:min(430px,90vw);line-height:1.7;font-size:14px}.service-list{padding:17vh var(--pad) 20vh;display:grid;grid-template-columns:1fr 2fr;gap:5vw}.service-intro h2{font:300 clamp(5rem,12vw,12rem)/.76 var(--display);margin:12vh 0 0}.cards{border-top:1px solid var(--line)}.service-card{padding:40px 0;border-bottom:1px solid var(--line)}.service-card.accent{color:var(--blue2)}.service-card>span{font-size:10px;letter-spacing:.13em}.service-card h3{font:300 clamp(4.4rem,9vw,9rem)/.82 var(--display);letter-spacing:0;margin:30px 0 20px}.service-card p{font-size:14px;line-height:1.7;max-width:420px}.service-card a{display:inline-block;font-size:10px;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:5px;margin:20px 25px 0 0}.service-quote{min-height:100vh;padding:20vh var(--pad);position:relative}.service-quote blockquote{font:300 clamp(5rem,13vw,14rem)/.72 var(--display);margin:0}.service-quote p{font:300 34px var(--display);margin-top:12vh}.light-button{color:var(--white);border-color:var(--white);position:absolute;right:var(--pad);bottom:13vh}@media(max-width:800px){.nav{grid-template-columns:1fr 1fr}.nav-index{display:none}.nav nav{gap:15px}.nav nav a:first-child{display:none}.brand img{width:58px}.hero{height:150vh;min-height:900px}.hero-title{margin-top:15vh;font-size:clamp(4.5rem,19vw,8rem);line-height:.88}.hero-title span.indent{padding-left:5vw}.hero-photo{top:38vh;right:0;width:68vw;height:58vh}.hero-tag{top:93vh}.hero-copy{top:116vh;right:var(--pad);width:74vw}.statement{min-height:100vh}.statement-text{font-size:16vw;line-height:.96}.doctor{height:120vh;min-height:760px}.doctor-image{left:var(--pad);width:70vw;height:50vh}.doctor-copy{left:var(--pad);right:auto;top:68vh;width:84vw}.doctor-year{top:44vh}.rhythm-head,.map-head{display:block}.rhythm h2,.map-head h2{margin-top:45px}.metrics{grid-template-columns:1fr;margin:12vh 0}.metrics article{border-right:0}.bridge{height:120vh}.bridge-copy h2{font-size:19vw}.map-section{min-height:100vh}.map-wrap{height:62vh}.map-card{left:15px;bottom:15px}.service-list{display:block}.service-intro h2{margin:10vh 0}.services-hero h1{font-size:20vw;line-height:.9;margin:16vh 0 8vh}.service-card h3{font-size:17vw;line-height:.9}.service-quote blockquote{font-size:19vw}.service-quote p{font-size:26px}footer{display:grid;gap:18px} }
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.hero-title span:after{display:none!important}.hero-title span{transform:translateY(110%);transition:transform 1.1s}.loaded .hero-title span{transform:none}
.brand img{width:189px;height:105px}.motto-title{font-size:clamp(4.7rem,14.5vw,14.5rem);line-height:.86}.motto-title span.indent{padding-left:11vw}.hero-tag{display:none}
@media(max-width:800px){.brand img{width:153px;height:105px}.motto-title{font-size:clamp(4rem,17vw,7.2rem);line-height:.92}.motto-title span.indent{padding-left:0}.hero-photo{top:43vh}.hero-copy{top:112vh}}
.bridge:after{content:'';position:absolute;right:8vw;top:15vh;width:30vw;height:20vw;background:url('ASSETS/ECIM Logo modify 20206.png') center/contain no-repeat;opacity:.18;mix-blend-mode:screen;pointer-events:none}
.doctor-copy{left:min(56vw,816px);right:auto;top:304px}
@media(max-width:800px){.doctor-copy{left:var(--pad);top:68vh;width:84vw}}

/* symmetry pass: one doctor photo, cleaner nav */
.nav{align-items:center}.doctor-clean{height:95vh;min-height:720px;display:grid;grid-template-columns:minmax(22px,var(--pad)) 1fr 1fr minmax(22px,var(--pad));align-items:center;overflow:hidden}.doctor-clean .doctor-year{position:absolute;left:var(--pad);right:auto;top:14vh;font-size:clamp(10rem,24vw,23rem);line-height:.72}.doctor-clean .doctor-copy{position:relative;left:auto;right:auto;top:auto;grid-column:3;justify-self:start;width:min(440px,38vw);z-index:4}.doctor-image{display:none!important}
@media(max-width:800px){.nav{display:flex;align-items:center;justify-content:space-between;padding:12px var(--pad);gap:14px}.brand{gap:0;flex:0 0 auto}.brand span{display:none}.brand img{width:128px;height:88px}.nav nav{display:flex!important;justify-content:flex-end;align-items:center;gap:12px;font-size:10px;white-space:nowrap}.nav nav a:first-child{display:inline}.doctor-clean{height:82vh;min-height:620px;display:block;padding:22vh var(--pad) 12vh}.doctor-clean .doctor-year{left:var(--pad);top:18vh;font-size:34vw}.doctor-clean .doctor-copy{position:relative;left:auto;top:auto;width:100%;padding-top:19vh}.doctor-clean .doctor-copy h2{font-size:18vw;line-height:.9}.doctor-clean .doctor-copy p{max-width:310px}.hero{min-height:860px}.hero-title{padding-top:2vh}.hero-photo{width:72vw;height:52vh;top:45vh}.hero-copy{top:112vh}}

/* hero compact pass */
.hero{height:165vh;min-height:900px;padding-top:11vh}.eyebrow{top:12vh}.hero-title{margin-top:11vh}.hero-photo{top:28vh;height:78vh;max-height:700px}.hero-copy{top:126vh}.scroll-cue{bottom:6vh}.section-no{bottom:2vh}
@media(max-width:800px){.hero{height:128vh;min-height:740px;padding-top:10vh}.eyebrow{top:13vh}.hero-title{margin-top:12vh;padding-top:0}.hero-photo{top:38vh;width:72vw;height:45vh}.hero-copy{top:94vh;width:78vw}.scroll-cue{bottom:5vh}.section-no{display:none}}

/* keep only hero portrait visible */
.hero-photo{clip-path:inset(0)!important;opacity:1;right:6vw;width:min(38vw,560px);z-index:2}.hero-photo img{object-position:center top}.motto-title{z-index:4}.hero-copy{z-index:4}
@media(max-width:800px){.hero-photo{right:0;width:72vw;height:45vh;top:38vh}}

/* motto/image separation */
.motto-title{max-width:68vw}.motto-title span.indent{padding-left:4vw}.hero-photo{right:4vw;width:min(34vw,520px)}
@media(max-width:800px){.motto-title{max-width:92vw}.motto-title span.indent{padding-left:0}.hero-photo{right:0;width:70vw}}

/* final hero balance pass */
.hero{
  height:112vh;
  min-height:820px;
  padding:0 var(--pad);
}
.eyebrow{
  top:18vh;
}
.motto-title{
  margin-top:24vh;
  max-width:58vw;
  font-size:clamp(5rem,12.2vw,12.5rem);
  line-height:.88;
  z-index:4;
}
.motto-title span.indent{
  padding-left:0;
}
.hero-photo{
  top:22vh;
  right:var(--pad);
  width:min(31vw,470px);
  height:64vh;
  max-height:640px;
  clip-path:inset(0)!important;
  z-index:2;
}
.hero-copy{
  left:var(--pad);
  right:auto;
  top:76vh;
  width:min(390px,42vw);
}
.scroll-cue{
  bottom:5vh;
}

@media(max-width:800px){
  .hero{
    height:112vh;
    min-height:720px;
    padding:0 var(--pad);
  }
  .eyebrow{
    top:14vh;
  }
  .motto-title{
    margin-top:19vh;
    max-width:94vw;
    font-size:clamp(4.1rem,16.5vw,6.7rem);
    line-height:.94;
  }
  .hero-photo{
    top:43vh;
    left:14vw;
    right:auto;
    width:72vw;
    height:38vh;
  }
  .hero-copy{
    left:var(--pad);
    right:auto;
    top:85vh;
    width:78vw;
  }
}

/* service navigation inspired by Square's calm, layered product menu */
.nav>nav{
  grid-column:3;
  align-items:center;
}
.nav-services{
  position:relative;
}
.services-trigger{
  appearance:none;
  border:0;
  padding:0;
  background:none;
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:7px;
}
.services-trigger i{
  font-style:normal;
  font-size:14px;
  line-height:.7;
  transition:transform .35s cubic-bezier(.2,.75,.2,1);
}
.services-trigger:after{
  content:'';
  position:absolute;
  left:0;
  bottom:-5px;
  width:calc(100% - 18px);
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s;
}
.services-trigger:hover:after,.services-trigger.active:after,.nav-services.open .services-trigger:after{
  transform:scaleX(1);
}
.services-menu{
  position:absolute;
  top:calc(100% + 20px);
  right:-16px;
  width:min(390px,calc(100vw - 44px));
  padding:18px;
  color:var(--blue);
  background:rgba(251,253,255,.98);
  border:1px solid rgba(7,24,45,.13);
  box-shadow:0 24px 70px rgba(0,0,0,.24);
  opacity:0;
  visibility:hidden;
  transform:translateY(-10px);
  transition:opacity .28s ease,transform .4s cubic-bezier(.2,.75,.2,1),visibility 0s linear .4s;
  pointer-events:none;
  isolation:isolate;
}
.services-menu:before{
  content:'';
  position:absolute;
  top:-20px;
  left:0;
  right:0;
  height:20px;
}
.nav-services:hover .services-menu,.nav-services:focus-within .services-menu,.nav-services.open .services-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  transition-delay:0s;
  pointer-events:auto;
}
.nav-services:hover .services-trigger i,.nav-services:focus-within .services-trigger i,.nav-services.open .services-trigger i{
  transform:rotate(180deg);
}
.menu-label{
  display:block;
  padding:2px 4px 13px;
  color:#51708d;
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.services-menu>a{
  display:grid;
  grid-template-columns:30px 1fr auto;
  align-items:center;
  gap:11px;
  min-height:58px;
  padding:0 4px;
  border-top:1px solid rgba(7,24,45,.14);
  transition:padding .25s ease,color .25s ease,background .25s ease;
}
.services-menu>a:hover,.services-menu>a:focus-visible{
  padding-left:12px;
  color:var(--blue2);
  background:#edf5fb;
  outline:none;
}
.services-menu small{
  color:#63809a;
  font-size:9px;
}
.services-menu strong{
  font:400 25px/1 var(--display);
  letter-spacing:0;
  text-transform:uppercase;
}
.services-menu b{
  font-weight:400;
}
.services-menu .all-services{
  grid-template-columns:1fr auto;
  min-height:48px;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.service-panel{
  scroll-margin-top:110px;
}
.service-panel:target{
  box-shadow:inset 4px 0 0 var(--electric);
}

@media(max-width:800px){
  .nav>nav{
    grid-column:auto;
  }
  .nav-services{
    position:static;
  }
  .services-trigger{
    font-size:10px;
  }
  .services-menu{
    position:fixed;
    top:82px;
    right:12px;
    left:12px;
    width:auto;
    max-height:calc(100vh - 100px);
    overflow:auto;
  }
  .nav-services:not(.open) .services-menu{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }
  .nav-services.open .services-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .services-menu strong{
    font-size:23px;
  }
}

/* mobile video hero correction */
.loaded .loader{
  pointer-events:none;
}
@media(max-width:800px){
  .nav{
    padding:10px 16px;
    gap:8px;
  }
  .brand img{
    width:74px;
    height:52px;
  }
  .nav nav{
    gap:8px;
    font-size:8.5px;
  }
  .hero{
    height:108vh;
    min-height:700px;
  }
  .motto-title{
    max-width:84vw;
    font-size:clamp(3rem,12.2vw,4.7rem);
    line-height:1;
  }
  .hero-photo{
    top:40vh;
    left:13vw;
    width:74vw;
    height:34vh;
  }
  .hero-copy{
    top:79vh;
    left:22px;
    width:78vw;
    font-size:13px;
  }
}

/* keep hero copy outside title field */
@media(min-width:801px){
  .hero-copy{
    left:var(--pad);
    right:auto;
    top:76vh;
    width:min(520px,42vw);
    font-size:13px;
  }
}

/* no doctor portrait in hero for now */
.hero-photo{
  display:none!important;
}
@media(min-width:801px){
  .motto-title{
    max-width:72vw;
  }
}
@media(max-width:800px){
  .motto-title{
    max-width:90vw;
  }
  .hero-copy{
    top:64vh;
  }
}

/* video hero + Square-inspired service mechanics */
.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
  filter:none;
}
@media(max-width:800px){
  .hero-video{
    object-fit:contain;
    object-position:center center;
  }
}
.hero-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:none;
}
.hero .eyebrow,.hero .hero-title,.hero .hero-photo,.hero .hero-copy,.hero .scroll-cue,.hero .section-no{
  position:absolute;
}
.hero .eyebrow,.hero .hero-title,.hero .hero-copy,.hero .scroll-cue,.hero .section-no{
  z-index:4;
}
.loaded .motto-title{
  animation:mottoDrop .9s .28s cubic-bezier(.2,.75,.15,1) both;
}
@keyframes mottoDrop{
  from{opacity:0;transform:translateY(-38px)}
  to{opacity:1;transform:translateY(0)}
}
.hero-photo{
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.services-video-hero{
  min-height:92vh;
  overflow:hidden;
}
.services-video-hero .section-label,.services-video-hero h1,.services-video-hero p{
  position:relative;
  z-index:3;
}
.services-video-hero h1{
  max-width:980px;
  font-size:clamp(5.2rem,12vw,12rem);
  line-height:.86;
  margin:18vh 0 5vh;
}
.services-accordion{
  padding:14vh var(--pad) 18vh;
}
.services-shell{
  display:grid;
  grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);
  gap:7vw;
  align-items:start;
}
.accordion-stack{
  border-top:1px solid var(--line);
}
.service-panel{
  border-bottom:1px solid var(--line);
}
.service-panel summary{
  display:grid;
  grid-template-columns:56px 1fr 28px;
  align-items:center;
  gap:18px;
  min-height:118px;
  cursor:pointer;
  list-style:none;
}
.service-panel summary::-webkit-details-marker{
  display:none;
}
.service-panel summary span{
  font-size:11px;
  letter-spacing:.14em;
  color:var(--blue2);
}
.service-panel summary strong{
  font:300 clamp(3.6rem,7.2vw,7.4rem)/.84 var(--display);
  text-transform:uppercase;
}
.service-panel summary i{
  font-style:normal;
  font-size:30px;
  font-weight:300;
  transition:transform .25s;
}
.service-panel[open] summary i{
  transform:rotate(45deg);
}
.panel-body{
  display:grid;
  grid-template-columns:minmax(240px,.8fr) minmax(260px,1fr);
  gap:34px;
  padding:0 0 46px 74px;
}
.panel-copy p{
  max-width:410px;
  font-size:15px;
  line-height:1.7;
}
.panel-copy a{
  display:inline-block;
  margin:18px 24px 0 0;
  padding-bottom:5px;
  border-bottom:1px solid currentColor;
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.service-visual{
  min-height:260px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#d8ebf7,#f8fcff);
  color:var(--blue);
}
.service-visual img{
  width:min(66%,320px);
  height:auto;
  object-fit:contain;
  opacity:.86;
}
.service-visual strong{
  font:300 clamp(5rem,10vw,8rem)/.75 var(--display);
  color:var(--blue2);
}
.service-visual span{
  position:absolute;
  left:18px;
  bottom:18px;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

@media(max-width:800px){
  .services-shell{
    display:block;
  }
  .accordion-stack{
    margin-top:8vh;
  }
  .service-panel summary{
    grid-template-columns:38px 1fr 24px;
    min-height:92px;
  }
  .service-panel summary strong{
    font-size:18vw;
  }
  .panel-body{
    display:block;
    padding:0 0 36px;
  }
  .service-visual{
    min-height:220px;
    margin-top:28px;
  }
}
/* final mobile no-overlap lock */
@media(max-width:800px){
  .nav{
    display:grid!important;
    grid-template-columns:1fr!important;
    padding:10px 22px 0!important;
    gap:6px!important;
    mix-blend-mode:normal!important;
    color:#fff!important;
  }
  .brand{
    justify-self:start;
  }
  .brand img{
    width:74px!important;
    height:52px!important;
  }
  .nav nav{
    width:100%!important;
    justify-content:space-between!important;
    gap:0!important;
    font-size:8.5px!important;
  }
  .motto-title{
    max-width:84vw!important;
    font-size:clamp(3rem,12.2vw,4.7rem)!important;
    line-height:1!important;
  }
  .hero-copy{
    left:22px!important;
    right:auto!important;
    top:64vh!important;
    width:min(315px,82vw)!important;
    max-width:none!important;
    font-size:12.5px!important;
    transform:none!important;
  }
  .nav nav{
    position:fixed!important;
    left:22px!important;
    right:22px!important;
    top:66px!important;
    width:auto!important;
    display:block!important;
    font-size:8px!important;
  }
  .nav nav a{
    position:absolute!important;
    display:block!important;
    white-space:nowrap!important;
  }
  .nav nav a:nth-child(1){position:fixed!important;left:22px!important;top:66px!important}
  .nav nav a:nth-child(2){position:fixed!important;left:45vw!important;right:auto!important;top:66px!important;transform:none!important}
  .nav nav a:nth-child(3){position:fixed!important;right:22px!important;top:66px!important;text-align:right!important}
  .nav nav a:nth-child(3){display:none!important}
  .mobile-visit{
    display:none!important;
    position:fixed!important;
    top:66px!important;
    right:22px!important;
    z-index:90!important;
    color:#fff!important;
    font-size:8px!important;
    letter-spacing:.1em!important;
    text-transform:uppercase!important;
    mix-blend-mode:normal!important;
  }
  .services-video-hero h1{
    font-size:12.2vw!important;
    line-height:.95!important;
    max-width:86vw!important;
    margin:18vh 0 4vh!important;
  }
  .services-video-hero p{
    width:min(300px,76vw)!important;
    max-width:min(300px,76vw)!important;
    font-size:13px!important;
    line-height:1.55!important;
  }
}
@media(min-width:801px){.mobile-visit{display:none!important}}

/* final navigation lock */
@media(max-width:800px){
  .nav>nav{
    position:fixed!important;
    left:22px!important;
    right:22px!important;
    top:66px!important;
    width:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
  }
  .nav>nav>a:first-child{
    position:static!important;
    display:block!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
  }
  .nav>nav>.nav-services{
    position:fixed!important;
    left:45vw!important;
    top:66px!important;
    display:block!important;
    flex:0 0 auto!important;
    width:auto!important;
    margin-left:0!important;
    z-index:1001!important;
  }
  .nav>nav>.nav-services>.services-trigger{
    position:relative!important;
    display:flex!important;
    color:#fff!important;
    white-space:nowrap!important;
  }
  .nav>nav>a:last-child{
    display:none!important;
  }
  .nav nav .nav-services .services-menu>a{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    display:grid!important;
    width:100%!important;
    grid-template-columns:30px minmax(0,1fr) 20px!important;
    text-align:left!important;
    white-space:normal!important;
    transform:none!important;
  }
  .nav nav .nav-services .services-menu>a>strong{
    min-width:0!important;
    white-space:normal!important;
  }
  .nav nav .nav-services .services-menu>.all-services{
    grid-template-columns:1fr auto!important;
  }
}

/* editorial clinic imagery */
.care-story{padding:16vh var(--pad) 18vh;overflow:hidden}
.care-story-head{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(0,1.45fr);align-items:start;column-gap:5vw}
.care-story-head h2{margin:0;font:300 clamp(5.2rem,11vw,11.5rem)/.78 var(--display);grid-column:2}
.care-story-head p{grid-column:2;width:min(420px,70%);margin:42px 0 0;font-size:14px;line-height:1.7}
.care-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(72px,6.3vw);gap:12px;margin-top:12vh}
.care-shot{position:relative;margin:0;overflow:hidden;border-radius:clamp(28px,4vw,64px);background:#c8dce9;box-shadow:0 22px 55px rgba(7,24,45,.1)}
.care-shot img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .7s;filter:saturate(.82) contrast(1.03)}
.care-shot:hover img{transform:scale(1.025);filter:saturate(1) contrast(1.03)}
.care-shot:after{content:'';position:absolute;inset:0;border:1px solid rgba(255,255,255,.42);border-radius:inherit;pointer-events:none}
.doctor-portrait figcaption{position:absolute;z-index:2;left:18px;right:18px;bottom:16px;color:#fff;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.care-shot-large{grid-column:1/8;grid-row:1/7}.care-shot-tall{grid-column:8/13;grid-row:2/9}.care-shot-detail{grid-column:1/5;grid-row:7/11}.care-shot-wide{grid-column:5/13;grid-row:9/13}
.care-shot-tall img{object-position:58% center}.care-shot-wide img{object-position:center 45%}

/* Dr. Castillo portrait layout */
.doctor-clean{height:108vh;min-height:780px;grid-template-columns:minmax(22px,var(--pad)) minmax(0,1.05fr) minmax(300px,.85fr) minmax(22px,var(--pad));gap:6vw;padding:14vh 0}
.doctor-portrait{position:relative;z-index:3;grid-column:2;width:100%;height:min(76vh,760px);margin:0;overflow:hidden;background:#dce8ef}
.doctor-portrait:after{content:'';position:absolute;inset:62% 0 0;background:linear-gradient(transparent,rgba(7,24,45,.75))}
.doctor-portrait img{object-position:center 18%}
.doctor-clean .doctor-copy{grid-column:3;width:min(440px,100%)}

/* photographic service panels */
.service-visual.service-photo{min-height:320px;align-items:stretch}
.service-visual.service-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(7,24,45,.76))}
.service-visual.service-photo img{width:100%;height:100%;object-fit:cover;opacity:1}
.service-visual.service-photo span{z-index:2;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.service-photo-portrait img{object-position:center 30%}

@media(max-width:800px){
  .care-story{padding:12vh 22px 14vh}
  .care-story-head{display:block}
  .care-story-head h2{margin-top:38px;font-size:19vw;line-height:.82}
  .care-story-head p{width:min(310px,86vw);margin-top:30px}
  .care-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:170px;gap:8px;margin-top:8vh}
  .care-shot-large{grid-column:1/3;grid-row:1/3}.care-shot-tall{grid-column:1;grid-row:3/5}.care-shot-detail{grid-column:2;grid-row:3}.care-shot-wide{grid-column:2;grid-row:4}
  .care-shot figcaption{left:12px;right:12px;bottom:11px;font-size:7.5px}
  .doctor-clean{height:auto;min-height:0;display:block;padding:14vh 22px 12vh}
  .doctor-clean .doctor-year{top:8vh}
  .doctor-portrait{width:100%;height:62vh;min-height:470px;margin:8vh 0 7vh}
  .doctor-clean .doctor-copy{width:100%;padding:0}
  .doctor-clean .doctor-copy h2{font-size:18vw}
  .service-visual.service-photo{min-height:260px}
}

/* WeCare handoff — the legacy portrait film becomes a focused care invitation */
.statement{
  min-height:auto;
  padding-bottom:14vh;
}
.statement-text{
  max-width:1320px;
  margin-bottom:14vh;
}
.statement .aside{
  z-index:5;
  bottom:4vh;
}
.care-handoff{
  --care-progress:0;
  --care-offer:1;
  position:relative;
  width:min(74vw,856px);
  height:auto;
  min-height:0;
  aspect-ratio:856/1072;
  margin:0 auto;
  overflow:hidden;
  isolation:isolate;
  background:#d9e5eb;
  border:1px solid rgba(7,24,45,.18);
  box-shadow:0 35px 90px rgba(7,24,45,.15);
}
.js .care-handoff{--care-offer:0}
.care-handoff-stage{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#d9e5eb;
}
.care-handoff-frame{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  filter:saturate(.68) contrast(1.03) brightness(.94);
  transform:none;
}
.care-handoff-frame{display:block}
.care-handoff-wash{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(7,24,45,.12),transparent 42%,rgba(7,24,45,.52)),
    linear-gradient(90deg,rgba(7,24,45,.54),transparent 42%,rgba(7,24,45,.12));
}
.care-handoff-wash:after{
  content:'';
  position:absolute;
  left:50%;
  top:68%;
  width:42%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(16,155,234,.22),transparent 68%);
  opacity:var(--care-offer);
  transform:translate(-50%,-50%) scale(calc(.7 + var(--care-offer)*.3));
}
.care-handoff-cue{
  position:absolute;
  z-index:3;
  left:24px;
  bottom:22px;
  display:flex;
  align-items:center;
  gap:14px;
  color:#fff;
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:calc(1 - var(--care-offer));
}
.care-handoff-cue i{
  display:block;
  width:54px;
  height:1px;
  overflow:hidden;
  background:rgba(255,255,255,.38);
}
.care-handoff-cue i:after{
  content:'';
  display:block;
  width:100%;
  height:100%;
  background:#fff;
  animation:handoffCue 1.8s ease-in-out infinite;
}
.care-handoff-card{
  position:absolute;
  z-index:4;
  left:50%;
  top:68%;
  width:clamp(230px,25vw,330px);
  padding:22px 24px 20px;
  color:#fff;
  background:rgba(7,24,45,.93);
  border:1px solid rgba(169,219,248,.5);
  box-shadow:0 24px 70px rgba(7,24,45,.32),0 0 60px rgba(16,155,234,.16);
  backdrop-filter:blur(14px);
  opacity:var(--care-offer);
  pointer-events:none;
  transform:translate(-50%,calc(-50% + (1 - var(--care-offer))*32px)) scale(calc(.92 + var(--care-offer)*.08));
  transition:border-color .25s ease,background .25s ease;
  will-change:opacity,transform;
}
.care-handoff.is-offering .care-handoff-card{pointer-events:auto}
.care-handoff-card:hover,.care-handoff-card:focus-visible{
  color:#fff;
  background:rgba(11,63,120,.96);
  border-color:#8dd4fb;
  outline:none;
}
.care-handoff-kicker{
  display:block;
  color:#9ed7f8;
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.care-handoff-card strong{
  display:block;
  margin:16px 0 23px;
  font:300 clamp(3.4rem,6vw,5.8rem)/.72 var(--display);
  letter-spacing:-.02em;
  text-transform:uppercase;
}
.care-handoff-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:12px;
  border-top:1px solid rgba(169,219,248,.32);
  font-size:9px;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.care-handoff-action b{
  font-size:17px;
  font-weight:300;
  transition:transform .25s ease;
}
.care-handoff-card:hover .care-handoff-action b,.care-handoff-card:focus-visible .care-handoff-action b{
  transform:translate(3px,-3px);
}
@keyframes handoffCue{
  from{transform:translateX(-110%)}
  to{transform:translateX(110%)}
}

@media(max-width:800px){
  .statement{padding:14vh 0 12vh;overflow:visible}
  .statement>.section-label,.statement>.statement-text{margin-left:22px;margin-right:22px}
  .statement-text{margin-top:12vh;margin-bottom:9vh}
  .statement .aside{right:22px;bottom:3vh}
  .care-handoff{
    width:100%;
    height:240svh;
    min-height:1600px;
    aspect-ratio:auto;
    overflow:visible;
    border:0;
    box-shadow:none;
    background:var(--blue);
  }
  .care-handoff-stage{
    position:sticky;
    top:0;
    height:100vh;
    height:100svh;
  }
  .care-handoff-frame{display:block;object-fit:cover;object-position:center center;filter:saturate(.82) contrast(1.02) brightness(.96)}
  .care-handoff-wash{background:linear-gradient(180deg,rgba(7,24,45,.1),transparent 44%,rgba(7,24,45,.58))}
  .care-handoff-cue{left:22px;bottom:calc(24px + env(safe-area-inset-bottom))}
  .care-handoff-card{
    left:50%;
    top:61%;
    bottom:auto;
    width:min(78vw,330px);
    padding:19px 21px 18px;
    transform-origin:12% 100%;
    transform:translate(-50%,calc((1 - var(--care-offer))*38px)) rotate(calc(-4deg + var(--care-offer)*4deg)) scale(calc(.9 + var(--care-offer)*.1));
    box-shadow:0 28px 55px rgba(7,24,45,.42),-10px 18px 35px rgba(16,155,234,.18);
  }
  .care-handoff-card strong{margin:14px 0 19px;font-size:3.15rem}
}

/* Clinical cinema hero: the complete 16:9 film anchors the composition. */
.hero{
  height:100vh;
  height:100svh;
  min-height:720px;
  padding:0;
  isolation:isolate;
  background:
    radial-gradient(circle at 76% 42%,rgba(16,155,234,.16),transparent 38%),
    linear-gradient(135deg,#061426,#07182d 60%,#092744);
}
.hero:before,.hero:after{
  display:none;
}
.hero-film{
  position:absolute;
  z-index:1;
  top:50%;
  right:var(--pad);
  width:min(76vw,calc(76vh * 16 / 9));
  aspect-ratio:16/9;
  overflow:hidden;
  background:transparent;
  transform:translateY(-47%);
  clip-path:inset(0 100% 0 0);
  transition:clip-path 1.35s .16s cubic-bezier(.7,0,.15,1);
}
.loaded .hero-film{clip-path:inset(0)}
.hero-film:before,.hero-film:after{
  display:none;
}
.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  background:transparent;
}
.hero-shade{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(7,24,45,.8),rgba(7,24,45,.14) 34%,transparent 58%),
    linear-gradient(180deg,rgba(7,24,45,.05),transparent 60%,rgba(7,24,45,.24));
}
.hero .eyebrow{top:clamp(112px,15vh,155px);left:calc(var(--pad) + 18px)}
.hero .motto-title{
  top:clamp(148px,19vh,196px);
  left:calc(var(--pad) + 18px);
  margin:0;
  max-width:86vw;
  font-size:clamp(5rem,10.7vw,10.8rem);
  line-height:.79;
  letter-spacing:-.018em;
  text-shadow:0 3px 30px rgba(2,13,25,.4);
}
.hero .motto-title span.indent{padding-left:7vw}
.hero .motto-title span:last-child{color:#eaf7ff}
.hero .hero-copy{
  left:calc(var(--pad) + 18px);
  right:auto;
  top:auto;
  bottom:clamp(92px,12vh,132px);
  width:min(320px,23vw);
  margin:0;
  font-size:12px;
  line-height:1.65;
}
.hero .scroll-cue{left:auto;right:calc(var(--pad) + 14px);bottom:clamp(51px,6.6vh,76px)}

/* Quiet navigation: logo, Services, and one compact menu control. */
.nav .brand{gap:0}
.nav .brand img{width:88px;height:50px}
.nav>nav{justify-content:flex-end}
.nav-services{display:flex;align-items:center;gap:16px}
.services-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.services-trigger{
  width:34px;
  height:34px;
  padding:8px 5px;
  justify-content:center;
  border:1px solid rgba(255,255,255,.34);
  border-radius:50%;
  transition:border-color .3s,background .3s;
}
.services-trigger:hover,.nav-services.open .services-trigger{border-color:rgba(255,255,255,.85);background:rgba(255,255,255,.1)}
.services-trigger:after{display:none}
.menu-bars{display:flex;width:15px;flex-direction:column;gap:3px}
.menu-bars i{display:block!important;width:100%;height:1px;background:currentColor;font-size:0;transform:none!important;transition:width .25s}
.menu-bars i:nth-child(2){width:72%;align-self:flex-end}
.services-trigger:hover .menu-bars i:nth-child(2),.nav-services.open .menu-bars i:nth-child(2){width:100%}
.nav-services:hover .services-trigger .menu-bars i,.nav-services:focus-within .services-trigger .menu-bars i,.nav-services.open .services-trigger .menu-bars i{transform:none}
.nav-services>.services-menu{top:calc(100% + 18px);right:0}

/* Editorial Instagram preview after the map. */
.instagram-preview{
  margin-top:clamp(90px,14vh,170px);
  padding-top:clamp(32px,5vw,70px);
  border-top:1px solid var(--line);
}
.instagram-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);
  gap:6vw;
  align-items:end;
  margin-bottom:clamp(40px,6vw,84px);
}
.instagram-head h2{
  margin:30px 0 0;
  font:300 clamp(4.8rem,10vw,10rem)/.76 var(--display);
}
.instagram-profile{
  display:grid;
  grid-template-columns:50px 1fr auto;
  gap:18px;
  align-items:center;
  padding:22px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  transition:padding .35s,color .35s,background .35s;
}
.instagram-profile:hover,.instagram-profile:focus-visible{padding-left:18px;padding-right:18px;background:var(--blue);color:var(--white)}
.instagram-glyph{width:50px;height:50px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center}
.instagram-glyph svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}
.instagram-glyph .instagram-dot{fill:currentColor;stroke:none}
.instagram-profile small,.instagram-profile strong{display:block}
.instagram-profile small{margin-bottom:5px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;opacity:.65}
.instagram-profile strong{font:400 clamp(1rem,1.5vw,1.35rem) var(--display);letter-spacing:.02em}
.instagram-profile b{font-size:22px;font-weight:300}
.instagram-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,30px)}
.instagram-post{display:block;position:relative;min-width:0}
.instagram-embed{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:#fff;border:1px solid rgba(7,24,45,.14);transition:transform .45s,box-shadow .45s}
.instagram-embed iframe{display:block;width:100%;height:calc(100% + 118px);border:0;transform:translateY(-54px);background:#fff;pointer-events:none}
.instagram-post-link{position:absolute;z-index:3;inset:0 0 auto;height:calc(100% - 76px);display:flex;justify-content:space-between;align-items:flex-start;padding:18px;color:transparent;outline-offset:5px}
.instagram-post-link span{align-self:flex-end;padding:9px 12px;background:rgba(7,24,45,.92);color:var(--white);font-size:9px;letter-spacing:.11em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}
.instagram-post-link b{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:rgba(7,24,45,.92);color:var(--white);font:300 20px var(--body);opacity:0;transform:translateY(-8px);transition:opacity .3s,transform .3s}
.instagram-meta{display:grid;grid-template-columns:.65fr 1.35fr;gap:12px;padding:18px 0 24px;border-bottom:1px solid var(--line)}
.instagram-meta small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue2)}
.instagram-meta strong{font:400 clamp(1.3rem,2.2vw,2.15rem)/1 var(--display);text-transform:uppercase}
.instagram-post:hover .instagram-embed,.instagram-post:focus-within .instagram-embed{transform:translateY(-5px);box-shadow:0 22px 44px rgba(7,24,45,.16),0 0 0 3px var(--electric)}
.instagram-post:hover .instagram-post-link span,.instagram-post:hover .instagram-post-link b,.instagram-post:focus-within .instagram-post-link span,.instagram-post:focus-within .instagram-post-link b{opacity:1;transform:none}
.map-section footer{margin-top:clamp(72px,10vh,120px);border-top:1px solid var(--line)}

@media(max-width:800px){
  .nav{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;padding:12px 18px!important;gap:12px!important}
  .nav .brand{justify-self:auto!important;flex:0 0 auto!important}
  .nav .brand img{width:74px!important;height:48px!important}
  .nav>nav{position:static!important;left:auto!important;right:auto!important;top:auto!important;width:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important}
  .nav>nav>.nav-services{position:relative!important;left:auto!important;right:auto!important;top:auto!important;display:flex!important;align-items:center!important;gap:12px!important;width:auto!important;margin:0!important}
  .nav>nav>.nav-services>.services-label{position:static!important;display:inline-block!important;font-size:9px!important;left:auto!important;right:auto!important;top:auto!important}
  .nav .services-trigger{position:relative!important;display:flex!important;width:32px!important;height:32px!important;padding:8px 5px!important}
  .nav .services-menu{position:fixed!important;top:70px!important;left:12px!important;right:12px!important;width:auto!important}
  .hero{height:100svh;min-height:700px;background:radial-gradient(circle at 70% 42%,rgba(16,155,234,.13),transparent 38%),linear-gradient(145deg,#061426,#07182d 65%,#092744)}
  .hero-film{top:47%;left:0;right:auto;width:100%;transform:translateY(-50%)}
  .hero-shade{background:linear-gradient(180deg,rgba(7,24,45,.18),transparent 30%,transparent 70%,rgba(7,24,45,.3))}
  .hero .eyebrow{top:102px;left:22px;max-width:66vw;line-height:1.5}
  .hero .motto-title{top:143px;left:22px;max-width:calc(100vw - 44px);font-size:clamp(3.15rem,14.2vw,5rem);line-height:.84;letter-spacing:-.025em}
  .hero .motto-title span.indent{padding-left:0}
  .hero .hero-copy{left:22px;right:auto;top:auto!important;bottom:82px;width:min(72vw,290px);padding-left:0;font-size:10px;line-height:1.55}
  .hero .scroll-cue{left:auto;right:28px;bottom:34px;font-size:8px}
  .hero-video{object-fit:contain;object-position:center center}
  .instagram-preview{margin-top:90px;padding-top:28px}
  .instagram-head{display:block;margin-bottom:38px}
  .instagram-head h2{font-size:clamp(3.9rem,16vw,5rem);line-height:.78;letter-spacing:-.025em;margin:28px 0 44px}
  .instagram-profile{grid-template-columns:44px 1fr auto;gap:13px;padding:16px 0}
  .instagram-glyph{width:44px;height:44px}
  .instagram-profile strong{font-size:15px}
  .instagram-grid{grid-template-columns:1fr;gap:34px}
  .instagram-post:nth-child(even){margin-left:12vw}
  .instagram-post:nth-child(odd){margin-right:12vw}
  .instagram-meta{grid-template-columns:1fr;padding-top:14px;gap:8px}
  .instagram-meta strong{font-size:28px}
  .instagram-post-link span,.instagram-post-link b{opacity:1;transform:none}
  .instagram-post-link b{width:40px;height:40px}
  .map-section footer{grid-template-columns:1fr auto;align-items:center}
  .map-section footer img{grid-column:1/-1}
}

@media(prefers-reduced-motion:reduce){
  .hero-film{clip-path:inset(0);transition:none}
  .care-handoff-cue{display:none}
}
.verify .loader{display:none!important}
.map-wrap{
  background:#e8eef1;
  isolation:isolate;
}
.map-wrap iframe{
  filter:none!important;
  color-scheme:light;
  mix-blend-mode:normal!important;
  opacity:1;
}

/* Two identical groups keep the services belt filled while it loops. */
.ticker{
  display:block;
  overflow:hidden;
  animation:none;
  font-size:clamp(3.2rem,6.8vw,7.5rem);
  line-height:.85;
}
.ticker-track{
  display:flex;
  width:max-content;
  will-change:transform;
  animation:ticker-loop 24s linear infinite;
}
.ticker-group{
  display:flex;
  flex:none;
  gap:5vw;
  padding-right:5vw;
}
@keyframes ticker-loop{
  to{transform:translateX(-50%)}
}
@media(prefers-reduced-motion:reduce){
  .ticker-track{animation:none}
}

/* WeCare registration PWA */
.panel-primary-action{color:var(--blue2);font-weight:600}
.wecare-app{min-height:100vh;background:#e9f0f4;color:var(--blue);overflow-x:hidden}
.wecare-app img{height:auto}
.wecare-topbar{position:fixed;z-index:20;top:0;left:0;right:0;height:86px;padding:0 clamp(20px,3vw,48px);display:flex;align-items:center;justify-content:space-between;background:rgba(7,24,45,.97);color:#fff;border-bottom:1px solid rgba(155,212,247,.2)}
.wecare-brand{display:flex;align-items:center;gap:18px}
.wecare-brand img{width:74px;max-height:52px;object-fit:contain}
.wecare-brand>span{font:400 20px/1 var(--display);letter-spacing:.08em;text-transform:uppercase}
.wecare-brand small{color:#9fd8f7;font:500 8px/1 var(--body);letter-spacing:.13em}
.wecare-exit{font-size:10px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:16px}
.wecare-exit span{display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(255,255,255,.35);border-radius:50%;font-size:20px;font-weight:300}
.wecare-workspace{min-height:100vh;padding-top:86px;display:grid;grid-template-columns:minmax(300px,31vw) 1fr}
.wecare-rail{position:sticky;top:86px;height:calc(100vh - 86px);padding:clamp(44px,6vh,74px) clamp(30px,4vw,62px);overflow:hidden;color:#fff;background:radial-gradient(circle at 100% 0,#0d5591 0,transparent 38%),var(--blue)}
.wecare-rail:after{content:'W';position:absolute;right:-2vw;bottom:-4vh;color:rgba(129,201,241,.06);font:300 36vw/.7 var(--display)}
.wecare-rail-kicker{margin:0 0 5vh;color:#9ed7f8;font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.wecare-rail h1{position:relative;z-index:1;margin:0;font:300 clamp(3.5rem,5.4vw,6rem)/.83 var(--display);text-transform:uppercase}
.wecare-progress{position:relative;z-index:2;margin:8vh 0 0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.18)}
.wecare-progress li{display:grid;grid-template-columns:42px 1fr auto;align-items:center;min-height:53px;border-bottom:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.42);font-size:10px;letter-spacing:.1em;text-transform:uppercase;transition:color .25s}
.wecare-progress li:after{content:'';width:7px;height:7px;border:1px solid currentColor;border-radius:50%}
.wecare-progress li.is-current{color:#fff}.wecare-progress li.is-current:after{border-color:#7fd0fb;background:#7fd0fb;box-shadow:0 0 0 5px rgba(127,208,251,.12)}
.wecare-progress li.is-complete{color:#9fd8f7}.wecare-progress li.is-complete:after{content:'✓';width:auto;height:auto;border:0;font-size:11px}
.wecare-progress b{font-weight:400;color:#7ecaf2}
.wecare-source-note{position:absolute;z-index:2;left:clamp(30px,4vw,62px);right:clamp(30px,4vw,62px);bottom:5vh;display:flex;justify-content:space-between;gap:16px;padding-top:15px;border-top:1px solid rgba(255,255,255,.18);font-size:8px;letter-spacing:.1em;text-transform:uppercase}
.wecare-source-note span{color:rgba(255,255,255,.45)}.wecare-source-note a{color:#9ed7f8}
.wecare-form-shell{width:min(850px,100%);margin:0 auto;padding:clamp(52px,8vh,94px) clamp(24px,7vw,90px) 60px}
.wecare-mobile-progress{display:none}
.wecare-step{animation:wecareStepIn .45s cubic-bezier(.2,.75,.2,1)}
@keyframes wecareStepIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.step-heading>span{display:block;margin-bottom:28px;color:#2873a7;font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.step-heading h2{margin:0;outline:0;font:300 clamp(4.2rem,7vw,7.4rem)/.78 var(--display);letter-spacing:-.02em;text-transform:uppercase}
.step-heading p{max-width:560px;margin:30px 0 46px;color:#405467;font-size:13px;line-height:1.75}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 20px}
.field{display:block}.field-wide{grid-column:1/-1}
.field>span,.choice-field legend{display:block;margin-bottom:9px;color:#263f55;font-size:9px;font-weight:600;letter-spacing:.11em;text-transform:uppercase}
.field input:not([type=radio]){width:100%;height:55px;padding:0 2px;border:0;border-bottom:1px solid #91a7b7;border-radius:0;outline:0;background:transparent;color:var(--blue);font:400 16px var(--body);transition:border-color .2s,box-shadow .2s}
.field input:not([type=radio]):focus{border-color:#0c8fdc;box-shadow:0 1px 0 #0c8fdc}
.field input::placeholder{color:#8c9ba7}.field input:invalid:not(:placeholder-shown){border-color:#b04b4b}
.choice-field{display:flex;align-items:center;gap:10px;margin:5px 0 0;padding:0;border:0}.choice-field legend{float:left;width:100%;margin-bottom:12px}
.choice-field label{position:relative;cursor:pointer}.choice-field input{position:absolute;opacity:0}.choice-field label span{display:block;padding:12px 20px;border:1px solid #aebdc7;border-radius:999px;color:#43586a;font-size:11px}
.choice-field input:checked+span{color:#fff;border-color:var(--blue2);background:var(--blue2)}
.acknowledgement-list{display:grid;gap:12px}
.acknowledgement{position:relative;display:grid;grid-template-columns:26px 1fr;gap:16px;align-items:start;padding:21px;border:1px solid #b7c6cf;background:rgba(255,255,255,.48);cursor:pointer;transition:border-color .2s,background .2s}
.acknowledgement:hover{border-color:#4386b3;background:#fff}.acknowledgement input{position:absolute;opacity:0}
.acknowledgement i{display:grid;place-items:center;width:25px;height:25px;border:1px solid #8095a4;background:#fff;font-style:normal}
.acknowledgement input:checked+i{border-color:var(--blue2);background:var(--blue2)}.acknowledgement input:checked+i:after{content:'✓';color:#fff;font-size:14px}
.acknowledgement input:focus-visible+i{outline:3px solid rgba(16,155,234,.28);outline-offset:2px}
.acknowledgement b{display:block;margin:1px 0 7px;font-size:13px;font-weight:600}.acknowledgement small{display:block;color:#556a79;font-size:11px;line-height:1.55}
.source-callout,.privacy-note,.future-note{margin:22px 0 0;padding:15px 17px;border-left:3px solid #47a8dc;background:#dceaf1;color:#385367;font-size:10px;line-height:1.6}
.invoice-request-fields{margin:28px 0 0;padding:23px;border:1px solid #9eb5c3;background:rgba(255,255,255,.55)}
.invoice-request-fields>legend{padding:0 10px;color:#0b5689;font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase}
.invoice-request-fields>p{margin:0 0 22px;color:#506676;font-size:10px;line-height:1.6}
.initials-text-field{max-width:230px;margin-bottom:28px}.initials-text-field input{text-transform:uppercase;font-size:22px!important;letter-spacing:.15em}
.signature-wrap{padding:20px 20px 15px;background:#fff;border:1px solid #b3c2cb;box-shadow:0 12px 35px rgba(7,24,45,.07)}
.signature-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:#385064;font-size:9px;font-weight:600;letter-spacing:.11em;text-transform:uppercase}
.signature-label button{padding:4px 0;border:0;border-bottom:1px solid currentColor;background:transparent;color:#2779ad;font:600 9px var(--body);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.signature-pad{display:block;width:100%;height:220px;border:1px dashed #9aabb6;background:linear-gradient(180deg,#fff,#f9fbfc);touch-action:none;cursor:crosshair;outline:0}
.signature-pad:focus{border-color:#0c8fdc}.signature-pad.has-error{border-color:#b04b4b;background:#fff9f9}
.signature-line{display:flex;justify-content:space-between;padding-top:9px;color:#81909a;font-size:8px;letter-spacing:.1em;text-transform:uppercase}
.field-error{margin:8px 0 0;color:#a13d3d;font-size:11px}
.final-confirmation{display:flex;gap:12px;align-items:flex-start;margin-top:22px;color:#263f55;font-size:11px;line-height:1.55}.final-confirmation input{width:18px;height:18px;margin:0;accent-color:var(--blue2)}
.wecare-form-actions{display:flex;align-items:center;justify-content:space-between;margin-top:45px;padding-top:23px;border-top:1px solid #b6c5ce}
.wecare-back,.wecare-next,.wecare-button{min-height:48px;border:0;font:600 10px var(--body);letter-spacing:.11em;text-transform:uppercase;cursor:pointer}
.wecare-back{padding:0;background:transparent;color:#385367}.wecare-back span{margin-right:10px}
.wecare-next{margin-left:auto;padding:0 23px;color:#fff;background:var(--blue)}.wecare-next span{margin-left:35px;font-size:16px;font-weight:300}
.review-heading p{margin-bottom:36px}
.wecare-paper{width:100%;min-height:890px;padding:38px 42px 28px;background:#fff;color:#16293a;box-shadow:0 24px 70px rgba(7,24,45,.14);font-family:Arial,sans-serif}
.paper-header{display:flex;align-items:center;gap:25px;padding-bottom:22px;border-bottom:3px solid #0b3f78}.paper-header img{width:105px;max-height:64px;object-fit:contain}.paper-header div{display:flex;flex-direction:column}.paper-header span{color:#0d79b8;font-size:12px;font-weight:700;letter-spacing:.14em}.paper-header strong{margin:5px 0 3px;font-size:19px;letter-spacing:.02em}.paper-header small{color:#617383;font-size:9px}
.paper-identity{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:25px;border-top:1px solid #9eabb4;border-left:1px solid #9eabb4}.paper-identity div{min-height:62px;padding:11px 13px;border-right:1px solid #9eabb4;border-bottom:1px solid #9eabb4}.paper-identity .paper-wide{grid-column:1/-1}.paper-identity span{display:block;margin-bottom:7px;color:#647581;font-size:7px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.paper-identity strong{font-size:11px;overflow-wrap:anywhere}
.paper-program{margin-top:26px}.paper-program h3{margin:0 0 14px;color:#0b3f78;font-size:13px;text-transform:uppercase}.paper-program h3 small{font-size:8px;font-weight:400}.paper-program ul{margin:0;padding:16px 20px 16px 31px;background:#edf5fb;font-size:9px;line-height:1.6}.paper-program li+li{margin-top:8px}.paper-program p{margin:16px 0 0;font-size:9px;line-height:1.55}
.paper-invoice{margin-top:23px;border:1px solid #8fa2ae}.paper-invoice-heading{display:flex;justify-content:space-between;gap:20px;padding:11px 13px;color:#fff;background:#0b3f78}.paper-invoice-heading div{display:flex;flex-direction:column}.paper-invoice-heading div:last-child{text-align:right}.paper-invoice-heading span{font-size:6px;letter-spacing:.1em;text-transform:uppercase}.paper-invoice-heading strong{margin-top:3px;font-size:11px}.paper-bill-to{display:grid;grid-template-columns:1fr 1fr}.paper-bill-to>div{min-height:52px;padding:9px 12px;border-right:1px solid #aab6bd;border-bottom:1px solid #aab6bd}.paper-bill-to>div:last-child{border-right:0}.paper-bill-to span,.paper-bill-to small{display:block;color:#687985;font-size:6px;text-transform:uppercase}.paper-bill-to strong{display:block;margin:5px 0 3px;font-size:9px;overflow-wrap:anywhere}.paper-line-item{display:grid;grid-template-columns:1fr 70px 145px}.paper-line-item>*{padding:7px 10px;border-right:1px solid #aab6bd}.paper-line-item>*:nth-child(3n){border-right:0}.paper-line-item span{color:#687985;background:#edf3f6;font-size:6px;text-transform:uppercase}.paper-line-item strong{font-size:8px}.paper-invoice>p{margin:0;padding:8px 11px;border-top:1px solid #aab6bd;color:#485f70;font-size:7px}.paper-invoice>p b{color:#8c5c16}
.paper-signature{display:grid;grid-template-columns:1.5fr .7fr .8fr;gap:18px;margin-top:24px}.paper-signature>div{display:flex;min-width:0;height:66px;flex-direction:column;justify-content:flex-end;border-bottom:1px solid #263f55}.paper-signature strong{padding-bottom:10px;font-size:12px}.paper-signature span{padding:7px 0;color:#657581;font-size:7px;text-transform:uppercase}.paper-signature-mark img{width:auto;max-width:180px;height:44px;object-fit:contain;object-position:left bottom}.paper-signature-mark span{padding-top:5px}
.paper-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:38px;padding-top:11px;border-top:1px solid #a3afb7;color:#637480;font-size:6px;letter-spacing:.04em;text-transform:uppercase}.paper-footer span:nth-child(2){color:#8c5c16;font-weight:700}
.document-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.wecare-button{display:flex;align-items:center;justify-content:space-between;padding:0 18px}.wecare-button-primary{color:#fff;background:var(--blue)}.wecare-button-secondary{color:var(--blue);border:1px solid #98aab6;background:transparent}

@media(max-width:900px){
  .wecare-workspace{display:block}.wecare-rail{display:none}.wecare-form-shell{padding-top:32px}.wecare-mobile-progress{display:flex;align-items:center;gap:15px;margin-bottom:42px;color:#3c5668;font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.wecare-mobile-progress i{height:2px;flex:1;background:#bdcbd3}.wecare-mobile-progress b{display:block;width:25%;height:100%;background:#138fd2;transition:width .3s}
}
@media(max-width:600px){
  .wecare-topbar{height:72px}.wecare-workspace{padding-top:72px}.wecare-brand img{width:58px}.wecare-brand>span{font-size:16px}.wecare-exit{font-size:0}.wecare-exit span{font-size:20px}.wecare-form-shell{padding:25px 18px 40px}.step-heading>span{margin-bottom:22px}.step-heading h2{font-size:18vw;line-height:.8}.step-heading p{margin:24px 0 34px;font-size:12px}.field-grid{display:block}.field{margin-bottom:23px}.choice-field{display:flex}.acknowledgement{padding:17px 15px}.signature-wrap{margin-left:-4px;margin-right:-4px;padding:14px}.signature-pad{height:245px}.wecare-paper{min-height:0;padding:24px 19px 20px}.paper-header{align-items:flex-start;gap:15px}.paper-header img{width:74px}.paper-header strong{font-size:13px}.paper-identity{display:block;border-bottom:0}.paper-identity div{min-height:54px;border-bottom:0}.paper-identity div:last-child{border-bottom:1px solid #9eabb4}.paper-signature{grid-template-columns:1fr 1fr}.paper-signature-mark{grid-column:1/-1}.paper-footer{display:grid}.document-actions{grid-template-columns:1fr}.wecare-form-actions{position:sticky;z-index:8;bottom:0;margin:35px -18px -40px;padding:14px 18px calc(14px + env(safe-area-inset-bottom));background:rgba(233,240,244,.96);backdrop-filter:blur(10px)}
}

@media print{
  @page{size:letter;margin:.45in}
  body.wecare-app{background:#fff!important}
  .wecare-topbar,.wecare-rail,.wecare-mobile-progress,.review-heading,.document-actions,.future-note,.wecare-form-actions{display:none!important}
  .wecare-workspace,.wecare-form-shell{display:block;width:auto;max-width:none;margin:0;padding:0}
  #wecareForm>.wecare-step{display:none!important}
  #wecareForm>.wecare-review-step{display:block!important;animation:none}
  .wecare-paper{width:100%;min-height:9.5in;padding:0;box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}
}

/* Private WeCare tablet enrollment */
.wecare-app .wecare-exit{border:0;background:transparent;color:#fff;cursor:pointer;font-family:var(--body)}
.wecare-app .wecare-form-shell{width:min(1040px,100%);padding-left:clamp(24px,5vw,72px);padding-right:clamp(24px,5vw,72px)}
.wecare-app .wecare-progress{margin-top:5vh}
.wecare-app .wecare-progress li{min-height:46px}
.wecare-app .wecare-source-note strong{color:#9ed7f8;font-size:8px;font-weight:500;letter-spacing:.08em;text-align:right}
.document-reader{overflow:hidden;border:1px solid #aebfc9;border-radius:34px;background:#fff;box-shadow:0 22px 60px rgba(7,24,45,.11)}
.document-reader iframe{display:block;width:100%;height:72vh;min-height:620px;border:0;background:#fff}
.document-reader>a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 22px;border-top:1px solid #c6d2d9;color:#0b5689;font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.document-reader-compact{margin-top:34px}
.document-reader-compact iframe{height:55vh;min-height:480px}
.document-confirmation{margin-top:28px;padding:22px;border:1px solid #aebfc9;border-radius:20px;background:#fff}
.attestation-list{display:grid;gap:10px;margin:32px 0}
.attestation-item{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 76px;gap:14px;align-items:start;padding:18px;border:1px solid #b4c4ce;border-radius:20px;background:rgba(255,255,255,.62);cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.attestation-item:hover{border-color:#4386b3;background:#fff}
.attestation-item:has(input:checked){border-color:#0b6fa9;background:#fff;box-shadow:0 8px 26px rgba(7,68,107,.08)}
.attestation-item input{position:absolute;opacity:0}
.attestation-number{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#d9e9f2;color:#0b5689;font:500 12px var(--body)}
.attestation-copy b{display:block;margin:1px 0 7px;font-size:12px}
.attestation-copy small{display:block;color:#4f6473;font-size:10px;line-height:1.55}
.attestation-initial{align-self:center;padding:9px 5px;border:1px solid #9db2bf;border-radius:11px;color:#607685;font-size:8px;font-weight:600;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.attestation-item input:focus-visible~.attestation-initial{outline:3px solid rgba(16,155,234,.28);outline-offset:3px}
.attestation-item:has(input:checked) .attestation-initial{border-color:#0b5689;background:#0b5689;color:#fff}
.signature-pad-full{height:260px}
.representative-name{display:block;margin-bottom:30px}
.document-status{margin-bottom:18px;padding:16px 18px;border-radius:16px;background:#dceaf1;color:#284b63;font-size:10px;line-height:1.55}
.document-status.is-error{background:#f7e4e4;color:#8b2e2e}
.completed-document-shell{overflow:hidden;border:1px solid #aebfc9;border-radius:34px;background:#fff;box-shadow:0 22px 60px rgba(7,24,45,.12)}
.completed-document-shell iframe{display:block;width:100%;height:78vh;min-height:680px;border:0;background:#fff}
.wecare-button:disabled{opacity:.45;cursor:not-allowed}
.invoice-final-note{display:flex;justify-content:space-between;gap:20px;margin-top:20px;padding:18px 20px;border-radius:18px;background:#fff0ce;color:#765019;font-size:9px;line-height:1.5}
.invoice-final-note b{letter-spacing:.08em}.invoice-final-note span{text-align:right}

@media(max-width:900px){
  .wecare-app .wecare-form-shell{width:min(820px,100%)}
  .document-reader iframe{height:68vh;min-height:560px}
  .completed-document-shell iframe{height:72vh;min-height:620px}
}
@media(max-width:600px){
  .document-reader,.completed-document-shell{border-radius:22px}
  .document-reader iframe{height:64vh;min-height:460px}
  .document-reader-compact iframe{height:48vh;min-height:380px}
  .attestation-item{grid-template-columns:38px minmax(0,1fr);padding:15px;gap:11px;border-radius:16px}
  .attestation-initial{grid-column:2;width:76px}
  .signature-pad-full{height:245px}
  .completed-document-shell iframe{height:65vh;min-height:500px}
  .invoice-final-note{display:grid}.invoice-final-note span{text-align:left}
}

/* PDF.js document canvas: avoids browser PDF plug-in blocking inside installed PWAs. */
.pdf-page-stack{display:grid;gap:18px;width:100%;height:72vh;min-height:620px;padding:18px;overflow:auto;overscroll-behavior:contain;background:#d9e1e6;scrollbar-gutter:stable}
.document-reader-compact .pdf-page-stack{height:55vh;min-height:480px}
.completed-document-shell .pdf-page-stack{height:78vh;min-height:680px}
.pdf-page-stack[aria-busy="true"]:before{content:'Preparando páginas…';display:grid;place-items:center;min-height:180px;color:#466173;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.pdf-rendered-page{position:relative;width:max-content;max-width:100%;margin:0 auto;background:#fff;box-shadow:0 8px 28px rgba(7,24,45,.15)}
.pdf-rendered-page canvas{display:block;max-width:100%;height:auto}
.pdf-page-label{position:absolute;right:10px;bottom:8px;padding:4px 7px;border-radius:999px;background:rgba(7,24,45,.76);color:#fff;font-size:7px;letter-spacing:.08em;text-transform:uppercase}
.pdf-render-error{padding:24px;color:#8b2e2e;font-size:11px;line-height:1.6}
@media(max-width:900px){.pdf-page-stack{height:68vh;min-height:560px}.completed-document-shell .pdf-page-stack{height:72vh;min-height:620px}}
@media(max-width:600px){.pdf-page-stack{height:64vh;min-height:460px;padding:10px;gap:10px}.document-reader-compact .pdf-page-stack{height:48vh;min-height:380px}.completed-document-shell .pdf-page-stack{height:65vh;min-height:500px}}
@media print{
  @page{size:auto;margin:.2in}
  .document-status,.invoice-final-note,.privacy-note{display:none!important}
  .completed-document-shell{overflow:visible;border:0;box-shadow:none}
  .completed-document-shell .pdf-page-stack{display:block;height:auto;min-height:0;padding:0;overflow:visible;background:#fff}
  .completed-document-shell .pdf-rendered-page{width:100%;max-width:none;margin:0;box-shadow:none;break-after:page;page-break-after:always}
  .completed-document-shell .pdf-rendered-page:last-child{break-after:auto;page-break-after:auto}
  .completed-document-shell canvas{width:100%!important;height:auto!important}
  .pdf-page-label{display:none}
}

/* ECIM location story */
.bridge-location{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);
  gap:clamp(32px,6vw,100px);
  align-items:center;
  height:auto;
  min-height:118vh;
  padding:15vh var(--pad) 13vh;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 30%,rgba(21,104,164,.26),transparent 31%),
    var(--blue);
}
.bridge-location:after{display:none}
.bridge-location .bridge-copy{position:relative;z-index:2;min-width:0}
.bridge-location .bridge-copy h2{
  max-width:9ch;
  margin:clamp(50px,9vh,90px) 0 clamp(46px,7vh,76px);
  font:300 clamp(5.4rem,10.4vw,11.5rem)/.76 var(--display);
  letter-spacing:-.025em;
}
.bridge-details{
  display:grid;
  grid-template-columns:minmax(190px,1fr) auto;
  gap:14px 36px;
  align-items:end;
  max-width:610px;
  padding-top:24px;
  border-top:1px solid rgba(189,225,248,.3);
}
.bridge-location .bridge-details p{grid-row:span 2;margin:0;color:#d8eaf5;font-size:13px;line-height:1.75}
.bridge-location .bridge-details a{
  display:flex;
  justify-content:space-between;
  gap:30px;
  min-width:170px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(189,225,248,.42);
  text-decoration:none;
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:border-color .25s,color .25s;
}
.bridge-location .bridge-details a:hover,.bridge-location .bridge-details a:focus-visible{color:#9fd8f7;border-color:#9fd8f7}
.bridge-exterior{
  position:relative;
  z-index:1;
  width:min(100%,600px);
  margin:0 0 0 auto;
  aspect-ratio:3/4;
}
.bridge-exterior:before{
  content:'';
  position:absolute;
  z-index:2;
  inset:0;
  border:1px solid rgba(255,255,255,.2);
  pointer-events:none;
}
.bridge-exterior img{object-position:center center;filter:saturate(.88) contrast(1.03)}
.bridge-exterior figcaption,.arrival-shot figcaption{
  position:absolute;
  z-index:3;
  right:0;
  bottom:0;
  left:0;
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:18px 20px;
  background:linear-gradient(transparent,rgba(3,17,31,.82));
  color:#fff;
  font-size:8px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.arrival{
  display:grid;
  grid-template-columns:minmax(230px,.54fr) minmax(0,1.46fr);
  gap:clamp(46px,8vw,130px);
  align-items:start;
  padding:8vh var(--pad) 18vh;
  content-visibility:auto;
  contain-intrinsic-size:auto 950px;
}
.arrival-head{position:sticky;top:18vh;padding-top:4vh}
.arrival-head h2{margin:8vh 0 38px;font:300 clamp(4.8rem,8.5vw,9rem)/.77 var(--display);letter-spacing:-.02em}
.arrival-head p{max-width:330px;margin:0;color:#bad7e8;font-size:12px;line-height:1.8}
.arrival-gallery{display:grid;grid-template-columns:1.18fr .82fr;gap:clamp(18px,3vw,48px);align-items:start}
.arrival-shot{position:relative;margin:0;overflow:hidden;background:#0b2845}
.arrival-reception{aspect-ratio:3/4;margin-top:18vh}
.arrival-sign{aspect-ratio:3/4}
.arrival-shot:after{content:'';position:absolute;z-index:2;inset:0;border:1px solid rgba(255,255,255,.16);pointer-events:none}
.arrival-shot img{filter:saturate(.82) contrast(1.03);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}
.arrival-shot:hover img{transform:scale(1.018);filter:saturate(.95) contrast(1.02)}

@media(max-width:800px){
  .bridge-location{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    min-height:0;
    padding:15vh var(--pad) 11vh;
  }
  .bridge-location .bridge-copy h2{margin:7vh 0 6vh;font-size:18vw;line-height:.77}
  .bridge-details{grid-template-columns:1fr;margin-bottom:4vh}
  .bridge-location .bridge-details p{grid-row:auto}
  .bridge-location .bridge-details a{min-width:0}
  .bridge-exterior{width:82vw;margin-left:auto;margin-right:calc(var(--pad) * -1)}
  .arrival{display:block;padding:5vh var(--pad) 13vh;contain-intrinsic-size:auto 1450px}
  .arrival-head{position:relative;top:auto;padding:0}
  .arrival-head h2{margin:6vh 0 28px;font-size:19vw}
  .arrival-head p{margin-bottom:8vh}
  .arrival-gallery{grid-template-columns:1fr 1fr;gap:16px;align-items:start}
  .arrival-reception{margin-top:18vw}
  .arrival-shot figcaption{display:grid;padding:14px 12px;font-size:7px}
}

@media(max-width:520px){
  .bridge-exterior{width:88vw}
  .arrival-gallery{margin-right:calc(var(--pad) * -1)}
  .arrival-sign{margin-top:0}
}

@media(prefers-reduced-motion:reduce){
  .arrival-shot img{transition:none}
  .arrival-shot:hover img{transform:none}
}

/* Services: a dedicated, full-fit clinical film */
.services-video-hero{
  position:relative;
  height:112vh;
  min-height:780px;
  padding:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 76% 42%,rgba(16,155,234,.16),transparent 35%),
    var(--blue);
}
.services-film{
  position:absolute;
  z-index:1;
  top:50%;
  right:var(--pad);
  width:min(78vw,calc(78vh * 16 / 9));
  aspect-ratio:16/9;
  overflow:hidden;
  transform:translateY(-48%);
  clip-path:inset(0 100% 0 0);
  transition:clip-path 1.25s .16s cubic-bezier(.7,0,.15,1);
}
.loaded .services-film{clip-path:inset(0)}
.services-hero-video{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  background:transparent;
}
.services-film-shade{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(7,24,45,.74),rgba(7,24,45,.12) 33%,transparent 58%),
    linear-gradient(180deg,rgba(7,24,45,.06),transparent 62%,rgba(7,24,45,.28));
}
.services-hero-copy{position:absolute;z-index:3;top:14vh;left:var(--pad);width:min(960px,82vw)}
.services-video-hero .services-hero-copy h1{
  max-width:8ch;
  margin:12vh 0 5vh;
  font:300 clamp(5.4rem,11.4vw,12rem)/.8 var(--display);
  letter-spacing:-.025em;
}
.services-video-hero .services-hero-copy p{width:min(390px,34vw);margin:0;font-size:13px;line-height:1.72}
.services-enter{
  display:flex;
  justify-content:space-between;
  width:min(240px,34vw);
  margin-top:30px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(190,222,242,.48);
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.services-scene-note{
  position:absolute;
  z-index:3;
  right:var(--pad);
  bottom:6vh;
  display:flex;
  gap:42px;
  font-size:8px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.services-scene-note span:first-child:before{content:'';display:inline-block;width:6px;height:6px;margin-right:9px;border-radius:50%;background:#69c4f5;box-shadow:0 0 0 5px rgba(105,196,245,.12)}
.services-video-hero .services-hero-copy .reveal.in{opacity:0;transform:none}
.loaded .services-video-hero .services-hero-copy .section-label.in{animation:servicesSoftIn .7s .2s cubic-bezier(.2,.75,.15,1) both}
.loaded .services-video-hero .services-hero-copy h1.in{animation:mottoDrop .95s .3s cubic-bezier(.2,.75,.15,1) both}
.loaded .services-video-hero .services-hero-copy p.in{animation:servicesSoftIn .8s .48s cubic-bezier(.2,.75,.15,1) both}
.services-enter,.services-scene-note{opacity:0;transform:translateY(14px)}
.loaded .services-enter{animation:servicesSoftIn .75s .62s cubic-bezier(.2,.75,.15,1) both}
.loaded .services-scene-note{animation:servicesSoftIn .75s .72s cubic-bezier(.2,.75,.15,1) both}
.services-film-shade{opacity:0;transition:opacity 1s .65s ease}
.loaded .services-film-shade{opacity:1}
@keyframes servicesSoftIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* Care story: movement without additional media weight */
.care-story-head .section-label:after{content:'';display:inline-block;width:6px;height:6px;margin-left:12px;border-radius:50%;background:var(--electric);box-shadow:0 0 0 5px rgba(16,155,234,.12);vertical-align:1px}
.care-flow{
  width:calc(100% + (var(--pad) * 2));
  margin:9vh calc(var(--pad) * -1) 0;
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  color:#6caed3;
}
.care-flow-track{display:flex;width:max-content;will-change:transform;animation:careFlow 19s linear infinite}
.care-flow-group{display:flex;flex:none;align-items:center;justify-content:space-around;width:100vw;gap:3.6vw;padding:17px 3.6vw;font:400 clamp(1.45rem,2.4vw,2.8rem)/1 var(--display);letter-spacing:.04em}
.care-flow-group i{width:7px;height:7px;border-radius:50%;background:var(--electric)}
@keyframes careFlow{to{transform:translateX(-50%)}}
.care-mosaic{margin-top:8vh}
.care-shot:nth-child(2){transition-delay:.08s}.care-shot:nth-child(3){transition-delay:.14s}.care-shot:nth-child(4){transition-delay:.2s}
.care-shot.in img{animation:careImageSettle 1.15s cubic-bezier(.2,.75,.2,1) both}
@keyframes careImageSettle{from{transform:scale(1.045)}to{transform:scale(1)}}
@supports(animation-timeline:view()){
  .care-shot.reveal{
    opacity:1;
    transform:none;
    transition:none;
    animation:careShotScroll linear both;
    animation-timeline:view();
    animation-range:entry 0% cover 42%;
  }
  .care-shot:nth-child(even){animation-name:careShotScrollAlt}
  @keyframes careShotScroll{from{opacity:0;transform:translate3d(0,72px,0) scale(.96)}to{opacity:1;transform:none}}
  @keyframes careShotScrollAlt{from{opacity:0;transform:translate3d(0,108px,0) scale(.945)}to{opacity:1;transform:none}}
}

@media(max-width:800px){
  .services-video-hero{height:100svh;min-height:700px}
  .services-film{top:47%;left:0;right:auto;width:100%;transform:translateY(-50%)}
  .services-film-shade{background:linear-gradient(180deg,rgba(7,24,45,.16),transparent 28%,transparent 70%,rgba(7,24,45,.28))}
  .services-hero-copy{top:0;left:0;width:100%;height:100%;padding:100px 22px 28px}
  .services-video-hero .services-hero-copy h1{margin:34px 0 0!important;max-width:calc(100vw - 44px)!important;font-size:17.2vw!important;line-height:.82!important}
  .services-video-hero .services-hero-copy p{position:absolute;left:22px;bottom:88px;width:min(300px,76vw)!important;max-width:min(300px,76vw)!important;margin:0;font-size:10px!important;line-height:1.55!important}
  .services-enter{position:absolute;right:22px;bottom:52px;width:190px;margin:0}
  .services-scene-note{display:none}
  .care-flow{margin-top:7vh}
  .care-flow-group{gap:18px;padding:13px 18px;font-size:24px}
  .care-flow-group i{width:5px;height:5px}
  .care-mosaic{margin-top:6vh}
  .care-shot{border-radius:26px}
}

@media(prefers-reduced-motion:reduce){
  .services-film{clip-path:none;transition:none}
  .services-video-hero .services-hero-copy .reveal.in,.services-enter,.services-scene-note,.services-film-shade{opacity:1;transform:none;animation:none;transition:none}
  .care-flow-track{animation:none}
  .care-shot.in img{animation:none}
  .care-shot.reveal{animation:none;opacity:1;transform:none}
}

/* Scroll-led photography — staggered, rounded and lightweight. */
:where(.doctor-portrait,.bridge-exterior,.arrival-shot,.service-visual.service-photo){
  overflow:clip;
  border-radius:clamp(26px,3.4vw,54px);
  box-shadow:0 24px 65px rgba(7,24,45,.12);
  isolation:isolate;
}
:where(.doctor-portrait,.bridge-exterior,.arrival-shot,.service-visual.service-photo):before{
  content:'';
  position:absolute;
  z-index:4;
  inset:0;
  border:1px solid rgba(255,255,255,.38);
  border-radius:inherit;
  pointer-events:none;
}
.bridge-exterior figcaption,.arrival-shot figcaption{border-radius:0 0 clamp(26px,3.4vw,54px) clamp(26px,3.4vw,54px)}

@supports(animation-timeline:view()){
  :where(.care-shot,.doctor-portrait,.bridge-exterior,.arrival-shot).reveal{
    opacity:1;
    transform:none;
    clip-path:none;
    transition:none;
    animation:ecimMediaRise linear both;
    animation-timeline:view();
    animation-range:entry 0% cover 38%;
  }
  :where(.care-shot:nth-child(even),.arrival-shot:nth-child(even)).reveal{
    animation-name:ecimMediaRiseAlt;
  }
  :where(.care-shot,.doctor-portrait,.bridge-exterior,.arrival-shot,.service-visual.service-photo) img{
    animation:ecimImageDrift linear both;
    animation-timeline:view();
    animation-range:entry 0% exit 100%;
    will-change:transform;
  }
  @keyframes ecimMediaRise{
    from{opacity:.08;clip-path:inset(12% 3% 7% 3% round 44px);transform:translate3d(-34px,86px,0) scale(.96)}
    to{opacity:1;clip-path:inset(0 round 0);transform:none}
  }
  @keyframes ecimMediaRiseAlt{
    from{opacity:.08;clip-path:inset(12% 3% 7% 3% round 44px);transform:translate3d(34px,112px,0) scale(.95)}
    to{opacity:1;clip-path:inset(0 round 0);transform:none}
  }
  @keyframes ecimImageDrift{
    from{transform:translate3d(0,-2.2%,0) scale(1.065)}
    to{transform:translate3d(0,2.2%,0) scale(1.065)}
  }
}

@media(max-width:800px){
  :where(.doctor-portrait,.bridge-exterior,.arrival-shot,.service-visual.service-photo){border-radius:26px}
  .bridge-exterior figcaption,.arrival-shot figcaption{border-radius:0 0 26px 26px}
  @supports(animation-timeline:view()){
    :where(.care-shot,.doctor-portrait,.bridge-exterior,.arrival-shot).reveal{animation-range:entry 0% cover 32%}
    @keyframes ecimMediaRise{
      from{opacity:.08;clip-path:inset(10% 2% 6% 2% round 26px);transform:translate3d(-18px,62px,0) scale(.965)}
      to{opacity:1;clip-path:inset(0 round 0);transform:none}
    }
    @keyframes ecimMediaRiseAlt{
      from{opacity:.08;clip-path:inset(10% 2% 6% 2% round 26px);transform:translate3d(18px,78px,0) scale(.955)}
      to{opacity:1;clip-path:inset(0 round 0);transform:none}
    }
  }
}

@media(prefers-reduced-motion:reduce){
  :where(.care-shot,.doctor-portrait,.bridge-exterior,.arrival-shot,.service-visual.service-photo),
  :where(.care-shot,.doctor-portrait,.bridge-exterior,.arrival-shot,.service-visual.service-photo) img{
    opacity:1!important;
    transform:none!important;
    clip-path:none!important;
    animation:none!important;
  }
}
