/* styles.css */
@font-face {
  font-family:Geist;
  src:url('/fonts/Geist-latin-variable.woff2') format('woff2');
  font-style:normal;
  font-weight:100 900;
  font-display:swap
}

:root {
  --ink:#10292e;
  --muted:#33494e;
  --teal:#1e7a80;
  --blue:#3087b5;
  --paper:#fcf9f4;
  color:var(--ink);
  font-family:Geist,Arial,sans-serif;
  font-synthesis:none
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:28px
}

body {
  margin:0;
  background:#fff;
  font-size:16px;
  -webkit-font-smoothing:antialiased
}

h1,h2,h3,p {
  margin:0
}

a {
  color:inherit;
  text-decoration:none
}

button {
  font:inherit
}

img {
  display:block;
  max-width:100%
}

button,a,summary,[tabindex] {
  -webkit-tap-highlight-color:transparent
}

a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible {
  outline:3px solid #155e75;
  outline-offset:5px;
  box-shadow:0 0 0 2px #fff
}

main {
  overflow:clip
}

.container {
  width:75%;
  max-width:1440px;
  margin-inline:auto
}

.eyebrow {
  font-size:11px;
  line-height:1.2;
  font-weight:500;
  letter-spacing:.07em;
  color:#63757a;
  text-box-trim:trim-both;
  text-box-edge:cap alphabetic
}

.section-heading {
  font-size:clamp(30px,2.291667vw,44px);
  line-height:1.06;
  font-weight:500;
  letter-spacing:-.022em;
  text-box-trim:trim-both;
  text-box-edge:cap alphabetic
}

.section-heading span {
  color:var(--blue)
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:16px 26px;
  border:1px solid transparent;
  border-radius:100px;
  background:var(--teal);
  color:var(--paper);
  font-size:14px;
  font-weight:500;
  line-height:1.2;
  letter-spacing:-.002em;
  white-space:nowrap;
  min-height:44px;
  transition:filter .18s,transform .18s
}

.button .icon {
  margin:-2.5px
}

.button:hover {
  filter:brightness(1.09);
  transform:translateY(-1px)
}

.button--whatsapp {
  background:linear-gradient(168deg,#45d277 14.639%,#1eae51 46.464%,#03802f 85.361%);
  border-color:#16ac4e;
  padding:12px 32px;
  color:white
}

.button--outline {
  background:linear-gradient(#ffffff38,#ffffff14);
  border-color:#fff;
  backdrop-filter:blur(13px)
}

.icon {
  width:24px;
  height:24px;
  object-fit:contain;
  flex-shrink:0
}

.skip-link {
  position:fixed;
  top:12px;
  left:12px;
  z-index:100;
  padding:12px 18px;
  background:white;
  border-radius:8px;
  transform:translateY(-200%);
  visibility:hidden
}

.skip-link:focus {
  transform:translateY(0);
  visibility:visible
}

.intro {
  position:relative;
  isolation:isolate;
  padding-top:clamp(24px,4.114583vw,79px)
}

.intro-background {
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none
}

.intro-shape {
  position:absolute;
  /* Bake the original SVG's four large blur filters once, at build tooling time. */
  background:url('/assets/optimized/intro-surface-2450.webp') 0 0 / 100% 100% no-repeat;
  left:-24.375%;
  top:-2.257%;
  width:127.6042%;
  height:135.9055%;
  max-width:none
}

.intro-drawings {
  position:absolute;
  inset:0;
  mask-image:url('/assets/imgLeft5.svg');
  mask-size:100% 100%;
  mask-repeat:no-repeat;
  mix-blend-mode:hard-light
}

.intro-drawings img {
  position:absolute;
  max-width:none;
  object-fit:contain
}

.drawing-left {
  left:-41.71875%;
  top:41.1%;
  width:61.44%;
  height:76.95%;
  opacity:.096
}

.drawing-right {
  left:48.6458%;
  top:34.95%;
  width:61.57%;
  height:77.12%;
  opacity:.12
}

.hero {
  position:relative;
  width:88.75%;
  max-width:1704px;
  height:clamp(640px,45.520833vw,874px);
  margin-inline:auto;
  border:1px solid #286a71;
  border-radius:54px;
  overflow:hidden;
  color:var(--paper);
  background:#0d3438
}

.hero-image {
  position:absolute;
  inset:0;
  pointer-events:none
}

.hero-image img {
  position:absolute;
  width:130.28%;
  height:143.63%;
  top:-16.73%;
  left:0;
  max-width:none
}

.hero-image:after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(-80.489deg,transparent 43.191%,#10292e85 96.749%)
}

.hero-inner {
  position:relative;
  height:100%;
  padding:clamp(36px,3.48958vw,67px) clamp(40px,6.822917vw,131px);
  display:flex;
  flex-direction:column;
  justify-content:space-between
}

.site-header {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  height:50px
}

.brand {
  flex:none
}

.brand img {
  width:130px;
  height:38px
}

.main-nav {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  width:504px;
  height:50px;
  border-radius:78px;
  background:linear-gradient(183.4166deg,#47d7da36 7.4637%,#27f4ff 133.4%);
  backdrop-filter:blur(5px);
  font-size:14px;
  font-weight:500;
  line-height:1.2;
  flex-shrink:1
}

.main-nav a {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px;
  padding-block:16px
}

.main-nav a:hover {
  text-decoration:underline;
  text-underline-offset:4px
}

.header-contact {
  flex:none
}

.menu-toggle {
  display:none
}

.hero-copy {
  width:871px;
  max-width:75%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:24px
}

.hero-copy>.eyebrow {
  font-size:13.6px;
  letter-spacing:.07em;
  color:var(--paper)
}

.hero-copy h1 {
  font-size:clamp(34px,2.291667vw,44px);
  font-weight:500;
  letter-spacing:-.022em;
  line-height:1.06;
  text-box-trim:trim-both;
  text-box-edge:cap alphabetic
}

.hero-copy h1 span {
  color:#89f8ff
}

.hero-description {
  font-size:16px;
  line-height:1;
  letter-spacing:-.002em;
  color:white;
  text-box-trim:trim-both;
  text-box-edge:cap alphabetic
}

.hero-description strong {
  font-weight:600
}

.hero-actions {
  display:flex;
  gap:24px
}

.hero-actions .button {
  padding:15px 21px 15px 25px
}

.hero-services {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding-top:36px;
  border-top:1px solid white;
  font-size:15px;
  font-weight:500;
  letter-spacing:-.003em
}

.hero-services .icon {
  width:22px;
  height:22px
}

.hero-services a {
  display:flex;
  align-items:center;
  gap:12px
}

.units {
  padding-top:64px
}

.units-heading {
  height:94px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:14px
}

.units-heading>p:last-child {
  font-size:clamp(18px,1.25vw,24px);
  color:var(--muted);
  line-height:1.18;
  letter-spacing:-.014em;
  text-box-trim:trim-both;
  text-box-edge:cap alphabetic;
  margin-top:4px
}

.unit-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:32px;
  margin-top:63px
}

.unit-card {
  box-shadow:-10px 24px 46px rgb(16 41 46 / 8%);
  border:1px solid #e0e0e0;
  border-radius:26px;
  background:white;
  overflow:hidden;
  scroll-margin-top:30px;
  min-height:558px
}

.unit-photo {
  position:relative;
  height:248px;
  overflow:hidden
}

.unit-photo img {
  position:absolute;
  left:0;
  width:100%;
  height:352.51%;
  max-width:none;
  object-fit:cover
}

.unit-photo--cuiaba img {
  top:-71.07%
}

.unit-photo--sinop img {
  top:-57.2%
}

.unit-content {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:20px;
  padding:34px 35px 34px
}

.unit-content .eyebrow {
  color:var(--teal)
}

.unit-content h3 {
  font-size:23px;
  line-height:1.22;
  letter-spacing:-.011em;
  font-weight:500
}

.unit-details {
  width:100%;
  display:flex;
  flex-direction:column;
  gap:13px;
  font-size:14.5px;
  line-height:1.6;
  color:var(--muted)
}

.unit-line {
  display:flex;
  align-items:flex-start;
  gap:12px
}

.unit-line .icon {
  width:19px;
  height:19px;
  margin-top:1px
}

.unit-phones {
  align-items:center
}

.unit-phones a {
  display:inline-flex;
  align-items:center;
  gap:12px
}

.unit-phones a:last-child .icon {
  width:18px;
  height:18px
}

.unit-line:hover span {
  text-decoration:underline;
  text-underline-offset:3px
}

p.unit-line:hover span {
  text-decoration:none
}

.unit-content .button {
  padding:14px 19px 14px 23px
}

.insurers {
  position:relative;
  display:grid;
  /* Match the opening in the full-width intro artwork, including wide screens. */
  width:75%;
  max-width:none;
  grid-template-columns:20.277778% minmax(0,1fr) 20.277778%;
  align-items:center;
  gap:0;
  margin-top:60px;
  height:96px;
  padding-top:0
}

.insurers h2 {
  justify-self:end;
  margin-right:24px;
  font-size:22px;
  line-height:1.18;
  font-weight:500;
  letter-spacing:-.014em;
  margin-top:0;
  color:var(--muted)
}

.insurers-window {
  container-type:inline-size;
  position:relative;
  overflow:hidden;
  /* Keep the moving artwork clear of the rounded shoulders of the cutout. */
  margin-inline:24px;
  display:flex;
  align-items:center;
  height:72px;
  padding:0;
  mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)
}

.insurers-track {
  display:flex;
  flex-shrink:0;
  width:max-content;
  animation:marquee 24s linear infinite;
  will-change:transform
}

.insurer-group {
  display:flex;
  flex-shrink:0;
  width:max-content;
  align-items:center;
  justify-content:space-around;
  min-width:100cqw;
  gap:32px;
  padding-inline:16px;
  height:48px
}

.insurer-unimed {
  width:138px;
  height:47.06px
}

.insurer-bradesco {
  width:111.804px;
  height:29.641px
}

.insurer-geap {
  width:74.2px;
  height:40px;
  display:flex;
  align-items:center;
  gap:3.953px
}

.insurer-geap>img {
  width:32.46px;
  height:39.96px
}

.insurer-geap>span {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2.667px
}

.insurer-geap>span img:first-child {
  width:37.79px;
  height:15.711px
}

.insurer-geap>span img:last-child {
  width:32.079px;
  height:13.033px
}

.insurer-cassi {
  position:relative;
  width:77.556px;
  height:38.333px;
  display:block
}

.insurer-cassi img:first-child {
  position:absolute;
  left:0;
  bottom:0;
  width:71.756px;
  height:24.372px
}

.insurer-cassi img:last-child {
  position:absolute;
  right:0;
  top:0;
  width:16.169px;
  height:15.744px
}

.insurers-note {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:11px;
  line-height:1.2;
  letter-spacing:.07em;
  color:#63757a;
  margin:0 0 0 24px;
  white-space:nowrap
}

.insurers-note>span[aria-hidden] {
  display:flex;
  align-items:center;
  justify-content:center;
  background:#41cace;
  border:1px solid #3ca5a8;
  border-radius:100%;
  width:22px;
  height:22px;
  flex:none;
  color:white;
  font-weight:800
}

.insurers-window:hover .insurers-track,.insurers-window:focus .insurers-track {
  animation-play-state:paused
}

.insurers-window[data-marquee-active="false"] .insurers-track {
  animation-play-state:paused;
  will-change:auto
}

@keyframes marquee {
  to {
    transform:translateX(-50%)
  }
}

.care {
  position:relative;
  padding-top:87px;
  padding-bottom:53px
}

.care-header {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:60px;
  min-height:100px
}

.care-header>div {
  max-width:526px;
  flex:1
}

.care-header .eyebrow {
  margin-bottom:14px
}

.care-header>p {
  max-width:757px;
  flex:1.44;
  font-size:clamp(18px,1.25vw,24px);
  line-height:1.18;
  letter-spacing:-.014em;
  color:var(--muted);
  margin-bottom:14px
}

.care-header strong {
  font-weight:700
}

.care-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:30px;
  width:calc(100% + 5.294px);
  margin-top:57px
}

.care-card {
  position:relative;
  aspect-ratio:338.824/461.07;
  border-radius:23.102px;
  border:1px solid #b3d6d8;
  overflow:hidden;
  mask-image:url('/assets/imgRectangle9.png');
  mask-size:100% 100%;
  mask-repeat:no-repeat;
  background:#bccacc
}

.care-photo {
  position:absolute;
  inset:0
}

.care-photo>img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover
}

.care-card--wounds .care-photo>img {
  object-fit:cover
}

.care-card--infusion .care-photo>img {
  object-fit:cover
}

.care-card--pressure .care-photo>img {
  width:108.02%;
  left:-3.975%;
  object-fit:cover
}

.care-caption {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  min-height:24.95%;
  display:flex;
  align-items:center;
  gap:24px;
  padding:20px 26px;
  border-top:1px solid #2e99a1;
  background:linear-gradient(165deg,#1e7a8080,#0f6e74ed);
  backdrop-filter:blur(6px);
  color:white
}

.care-caption .icon {
  width:29px;
  height:30px
}

.care-card--infusion .care-caption .icon {
  width:20px;
  height:39px;
  margin-inline:5px
}

.care-caption h3 {
  font-size:clamp(16px,1.090833vw,20.944px);
  font-weight:500;
  line-height:1.1;
  letter-spacing:0
}

.care-contact {
  display:flex;
  justify-content:center;
  margin-top:48px
}

@media(min-width:1601px) {
  .hero-inner {
    padding-bottom:64px
  }
  .care-contact .button {
    padding:12px 32px
  }
}

@media(min-width:1921px) {
  .intro {
    padding-top:79px
  }
  .intro-shape {
    height:135.9055%
  }
  .care {
    padding-top:87px
  }
}

@media(max-width:1600px) {
  .hero-inner {
    padding-inline:5.5vw
  }
  .site-header {
    gap:24px
  }
  .main-nav {
    max-width:450px;
    gap:24px
  }
  .hero-copy {
    max-width:78%
  }
  .unit-content {
    padding-inline:28px
  }
  .unit-grid {
    gap:26px
  }
  .unit-photo {
    height:210px
  }
  .unit-card {
    min-height:535px
  }
  .unit-phones {
    flex-wrap:wrap;
    row-gap:6px
  }
  .insurers h2 {
    font-size:20px
  }
  .insurers-note {
    font-size:9px
  }
  .care-header {
    gap:48px
  }
  .care-caption {
    gap:15px;
    padding:18px
  }
  .care-grid {
    gap:24px
  }
}

@media(max-width:1280px) {
  .container {
    width:calc(100% - 64px)
  }
  .hero {
    width:calc(100% - 48px);
    height:680px
  }
  .hero-inner {
    padding:42px 32px
  }
  .main-nav {
    max-width:420px;
    gap:22px
  }
  .header-contact .button {
    padding-inline:20px
  }
  .hero-copy {
    max-width:75%
  }
  .intro-drawings .drawing-left {
    left:-45%;
    width:85%;
    top:30%;
    height:70%
  }
  .intro-drawings .drawing-right {
    left:45%;
    width:85%;
    top:30%;
    height:70%
  }
  .insurers {
    width:calc(100% - 64px);
    grid-template-columns:minmax(0,1fr) calc(44.583333% + 28.533333px) minmax(0,1fr)
  }
  .care-caption {
    gap:12px;
    padding:16px
  }
  .care-caption h3 {
    font-size:17px
  }
  .unit-content h3 {
    font-size:22px
  }
}

@media(max-width:900px) {
  .intro-shape {
    background-image:url('/assets/optimized/intro-surface-1225.webp')
  }
  .hero {
    height:700px;
    border-radius:36px
  }
  .hero-inner {
    padding:32px
  }
  .header-contact {
    display:none
  }
  .site-header {
    height:42px
  }
  .menu-toggle {
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
    background:#1e7a80bd;
    border:1px solid #ffffff66;
    color:white;
    width:44px;
    height:44px;
    border-radius:50%;
    cursor:pointer
  }
  .menu-toggle span {
    width:18px;
    height:1.5px;
    background:currentColor;
    transition:transform .2s
  }
  .menu-toggle[aria-expanded=true] span:nth-child(1) {
    transform:translateY(6.5px) rotate(45deg)
  }
  .menu-toggle[aria-expanded=true] span:nth-child(2) {
    opacity:0
  }
  .menu-toggle[aria-expanded=true] span:nth-child(3) {
    transform:translateY(-6.5px) rotate(-45deg)
  }
  .main-nav {
    display:none;
    position:absolute;
    right:0;
    top:58px;
    width:240px;
    max-width:none;
    height:auto;
    flex-direction:column;
    gap:0;
    align-items:stretch;
    padding:12px 24px;
    background:#155860f5;
    border:1px solid #ffffff55;
    border-radius:20px;
    z-index:5;
    font-size:16px;
    box-shadow:0 12px 36px #08282d33
  }
  .main-nav.is-open {
    display:flex
  }
  .main-nav a {
    padding:12px 0
  }
  .hero-copy {
    max-width:90%;
    gap:24px
  }
  .hero-copy h1 {
    font-size:40px
  }
  .hero-description {
    line-height:1.45;
    max-width:480px
  }
  .hero-services {
    gap:22px;
    padding-top:24px;
    flex-wrap:wrap;
    font-size:13px
  }
  .hero-services a {
    max-width:48%;
    gap:8px
  }
  .hero-image img {
    width:170%;
    height:130%;
    top:-8%;
    left:-25%;
    object-fit:cover
  }
  .hero-image:after {
    background:linear-gradient(90deg,#10292e99,transparent)
  }
  .units-heading {
    height:auto;
    gap:18px
  }
  .unit-grid {
    margin-top:40px;
    gap:20px
  }
  .unit-content {
    padding:26px 22px;
    gap:18px
  }
  .unit-card {
    min-height:0
  }
  .unit-photo {
    height:190px
  }
  .unit-details {
    font-size:14px
  }
  .unit-phones {
    gap:8px
  }
  .unit-phones a {
    gap:8px
  }
  .unit-line {
    gap:8px
  }
  .insurers {
    grid-template-columns:180px minmax(0,1fr);
    margin-top:40px;
    height:150px;
    padding-top:10px
  }
  .insurers h2 {
    justify-self:start;
    margin-right:0;
    font-size:23px
  }
  .insurers-note {
    grid-column:2;
    margin:8px 0 0;
    justify-self:center;
    font-size:9px
  }
  .insurers-note br {
    display:none
  }
  .insurers-window {
    margin-inline:0;
    height:72px
  }
  .intro-shape {
    display:none
  }
  .intro-background {
    background:linear-gradient(#dee9ea,#fff);
    border-radius:0 0 36px 36px;
    box-shadow:0 25px 55px #a6a6a61a
  }
  .intro-drawings {
    mask-image:none;
    border-radius:inherit;
    overflow:hidden
  }
  .care {
    padding-top:70px;
    padding-bottom:64px
  }
  .care-header {
    align-items:flex-start;
    gap:28px
  }
  .care-header>div {
    flex:1.1
  }
  .care-header>p {
    flex:1;
    font-size:18px;
    line-height:1.4;
    margin:22px 0 0
  }
  .care-grid {
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    margin-top:36px
  }
  .care-caption {
    padding:22px;
    gap:22px
  }
  .care-caption h3 {
    font-size:22px
  }
  .care-contact {
    margin-top:36px
  }
}

@media(max-width:600px) {
  html {
    scroll-padding-top:20px
  }
  .container {
    width:calc(100% - 40px)
  }
  .intro {
    padding-top:16px
  }
  .hero {
    width:calc(100% - 24px);
    height:740px;
    border-radius:28px
  }
  .hero-inner {
    padding:25px 22px 28px
  }
  .brand img {
    width:123px;
    height:36px
  }
  .hero-copy {
    width:100%;
    max-width:100%;
    gap:23px
  }
  .hero-copy>.eyebrow {
    font-size:11px
  }
  .hero-copy h1 {
    font-size:clamp(30px,8.4vw,42px);
    line-height:1.1
  }
  .hero-description {
    font-size:15px;
    line-height:1.5;
    max-width:100%
  }
  .hero-image img {
    height:100%;
    width:auto;
    max-width:none;
    top:0;
    left:-60%;
    object-fit:cover
  }
  .hero-image:after {
    background:linear-gradient(90deg,#10292e9c,#10292e40),linear-gradient(0deg,#10292e7a,transparent 40%)
  }
  .hero-actions {
    gap:10px;
    flex-wrap:wrap
  }
  .hero-actions .button {
    font-size:12px;
    padding:12px 15px;
    gap:8px
  }
  .hero-actions .icon {
    width:20px;
    height:20px
  }
  .hero-services {
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    font-size:13px;
    padding-top:21px
  }
  .hero-services a {
    max-width:100%
  }
  .hero-services .icon {
    width:21px;
    height:21px
  }
  .units {
    padding-top:52px
  }
  .units-heading .section-heading {
    max-width:330px;
    line-height:1.12
  }
  .units-heading>p:last-child {
    font-size:17px;
    line-height:1.4;
    max-width:300px
  }
  .unit-grid {
    grid-template-columns:1fr;
    gap:26px;
    margin-top:32px
  }
  .unit-photo {
    height:210px
  }
  .unit-content {
    padding:27px 24px;
    gap:18px
  }
  .unit-content h3 {
    font-size:22px
  }
  .unit-details {
    font-size:14px;
    gap:13px
  }
  .unit-content .button {
    font-size:13px;
    padding:13px 20px
  }
  .insurers {
    width:calc(100% - 40px);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:16px;
    margin-top:35px;
    height:auto;
    padding:0 0 27px
  }
  .insurers h2 {
    font-size:22px;
    margin:0
  }
  .insurers-window {
    width:calc(100% + 16px);
    height:56px;
    padding:0;
    border-radius:0
  }
  .insurer-group {
    gap:28px;
    padding-inline:14px
  }
  .insurers-note {
    margin:0;
    font-size:9px;
    line-height:1.3;
    gap:7px
  }
  .insurers-note>span[aria-hidden] {
    width:18px;
    height:18px
  }
  .intro-drawings .drawing-left {
    top:23%;
    height:42%;
    width:170%;
    left:-130%
  }
  .intro-drawings .drawing-right {
    top:22%;
    height:48%;
    width:170%;
    left:30%
  }
  .care {
    padding-top:56px;
    padding-bottom:48px
  }
  .care-header {
    flex-direction:column;
    gap:23px;
    min-height:0
  }
  .care-header>div {
    max-width:400px
  }
  .care-header .section-heading {
    font-size:32px;
    line-height:1.08;
    max-width:380px
  }
  .care-header>p {
    margin:0;
    max-width:100%;
    font-size:17px;
    line-height:1.45
  }
  .care-grid {
    gap:14px;
    margin-top:30px
  }
  .care-card {
    border-radius:18px;
    aspect-ratio: .68
  }
  .care-caption {
    padding:12px 10px;
    gap:8px;
    min-height:29%;
    align-items:center
  }
  .care-caption .icon {
    width:20px;
    height:23px
  }
  .care-card--infusion .care-caption .icon {
    width:15px;
    height:27px;
    margin-inline:2px
  }
  .care-caption h3 {
    font-size:clamp(11px,3.05vw,16px);
    line-height:1.15
  }
  .care-contact {
    margin-top:28px
  }
  .button--whatsapp {
    font-size:13px;
    padding:12px 24px
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important
  }
  .insurers-window {
    overflow-x:auto;
    mask-image:none
  }
  .insurers-track {
    transform:none
  }
  .insurer-group[aria-hidden=true] {
    display:none
  }
}

/* Keep keyboard focus distinct on both light and photographic surfaces. */
:where(.hero,.site-header,.consult-section,.footer-section) :focus-visible {
  outline-color:#fff;
  box-shadow:0 0 0 2px #0d3438
}

@media (max-width:900px), (pointer:coarse) {
  .hero-services a,
  .unit-line[href],
  .unit-phones a {
    min-height:44px;
    align-items:center
  }

  .hero-services {
    gap:8px
  }
}

@media (max-width:600px) {
  .intro .hero {
    height:auto;
    min-height:740px
  }

  .hero-inner {
    height:auto;
    min-height:inherit;
    gap:28px
  }
}

@media (min-width:901px) and (max-height:700px) {
  .intro .hero {
    min-height:680px
  }
}



/* lower-sections.css */
.lower-sections { overflow: clip; }
.lower-sections p, .lower-sections h2, .lower-sections h3 { margin: 0; }
.lower-sections a { text-decoration: none; }
.lower-sections :is(section, article)[id] { scroll-margin-top: 30px; }
.lower-features { position: relative; z-index: 2; padding-bottom: 64.5px; border-bottom: 1px solid #dbe3e3; border-radius: 0 0 54px 54px; background: #f2f6f6; isolation: isolate; }
.lower-symbol-band { --symbol-gap: 17px; position: relative; height: 66px; border-block: 1px solid #e4e8e8; overflow: hidden; background: linear-gradient(178deg, #f1f5f5 14.64%, #ededed 85.36%); }
.lower-symbol-track { display: flex; width: max-content; height: 100%; }
.lower-symbol-group { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-around; gap: var(--symbol-gap); min-width: 100vw; padding-inline: calc(var(--symbol-gap) / 2); }
.lower-symbol-track img { flex: 0 0 56px; width: 56px; height: 52px; }

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

@media (prefers-reduced-motion: no-preference) {
  .lower-symbol-track { animation: lower-symbol-marquee 48s linear infinite; animation-play-state: paused; }
  .lower-symbol-band[data-marquee-active="true"] .lower-symbol-track { animation-play-state: running; will-change: transform; }
}
.lower-features-texture { position: absolute; top: 29px; bottom: 51px; width: 50%; z-index: -1; pointer-events: none; mask-repeat: no-repeat; mask-size: 100% 100%; background-size: 100% 105.5%; }
.lower-features-texture--left { left: 0; opacity: .2; background-image: url('/assets/optimized/imgLeft2-800.webp'); background-position: center; mix-blend-mode: color-burn; mask-image: url('/assets/imgLeft1.svg'); }
.lower-features-texture--right { right: 0; opacity: .3; background-image: url('/assets/optimized/imgLeft4-800.webp'); background-position: center; mix-blend-mode: hard-light; mask-image: url('/assets/imgLeft3.svg'); }
.lower-features-content { padding-top: 53px; }
.lower-heading { text-align: center; }
.lower-heading .eyebrow { margin-bottom: 14px; color: #63757a; }
.lower-heading .section-heading { letter-spacing: -.022em; }
.lower-heading .section-heading span { color: var(--blue); }
.lower-heading :is(.eyebrow, .section-heading), .consult-heading :is(.eyebrow, .section-heading) { text-box: trim-both cap alphabetic; }
.feature-heading { min-height: 61px; }
.feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 31px; }
.feature-card { min-height: 227px; padding: 25px 28px; display: flex; flex-direction: column; gap: 14px; color: #fff; border: 1px solid #53b6bf; border-radius: 16px; background: linear-gradient(154deg, #0f7f86 14.64%, #3ab3b5 85.36%); }
.feature-icon { display: grid; place-items: center; width: 60px; height: 60px; flex: 0 0 60px; border: 1px solid rgb(255 255 255 / 20%); border-radius: 50%; }
.feature-icon img { width: 24px; height: 24px; }
.feature-card h3 { font-size: 19.07px; line-height: 1.3; font-weight: 500; letter-spacing: -.008em; }
.feature-rule { width: 40px; height: 1px; flex: 0 0 1px; border-radius: 3px; background: #b9c4c2; }
.feature-card p { font-size: 14.55px; line-height: 1.6; }
.service-section { margin-top: 64px; }
.service-grid { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; margin-top: 39px; }
.service-card { position: relative; min-width: 0; aspect-ratio: 463 / 550; }
.service-visual { width: 100%; height: 100%; }
.service-photo { display: block; width: 100%; height: 100%; object-fit: fill; }
.service-copy { position: absolute; left: 4.97%; right: 5.38%; bottom: 16px; display: flex; flex-direction: column; gap: 9px; padding: 34px 22px 24px; border-radius: 24px; color: #fcf9f4; background: rgb(14 51 55 / 56%); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.service-copy h3 { font-size: 16.067px; font-weight: 700; line-height: 1.38; letter-spacing: -.004em; }
.service-copy p { font-size: 14.56px; line-height: 1.6; }
.service-link { display: inline-flex; align-items: center; justify-content: center; align-self: flex-start; gap: 8px; min-height: 44px; padding: 5px 15px; color: #e3eff4; font-size: 13.05px; line-height: 1.3; font-weight: 500; border-radius: 58px; background: linear-gradient(90deg, rgb(65 202 206 / 60%), rgb(33 102 104 / 30%)); transition: background-color .2s; }
.service-link .icon { width: 24px; height: 24px; }
.service-link:hover { background-color: #23868b; }
.service-badge { position: absolute; z-index: 2; top: 41.27%; width: 5.56%; height: auto; aspect-ratio: 1; transform: translateX(-50%); }
.service-badge--first, .service-badge--second, .service-badge--mobile { display: grid; place-items: center; border: 1px solid #53b6bf; border-radius: 50%; background: linear-gradient(135deg, #0f7f86 14.64%, #3ab3b5 85.36%); box-shadow: inset 0 4px 4px rgb(255 255 255 / 25%), inset -2px -9px 14px rgb(0 0 0 / 25%); }
.service-badge--first { left: 33.217%; }
.service-badge img { width: 70%; height: 70%; }
.service-badge--second { left: 66.852%; }
.service-badge--mobile { display: none; pointer-events: none; }
.consult-section { position: relative; z-index: 1; min-height: 420px; margin-top: -51px; padding-top: 51px; color: #fcf9f4; background-image: url('/assets/consult-surface.svg'); background-size: 100% 100%; background-repeat: no-repeat; }
.consult-texture { position: absolute; inset: 0 50% 0 0; background-image: url('/assets/optimized/imgRectangle16-640.webp'); background-size: 100% 344.23%; background-position: center 67.61%; opacity: .3; mix-blend-mode: color-burn; mask-image: url('/assets/imgRectangle15.svg'); mask-size: 100% 100%; pointer-events: none; }
.consult-content { position: relative; display: grid; grid-template-columns: 526fr 624.5fr; align-items: center; gap: clamp(45px, 8.177vw, 157px); min-height: 369px; padding-inline: 66px; padding-bottom: 21px; }
.consult-heading .eyebrow { color: inherit; margin-bottom: 16px; }
.consult-heading .section-heading { color: inherit; letter-spacing: -.022em; }
.consult-copy > p { margin-bottom: 24px; font-size: 24px; line-height: 1.18; letter-spacing: -.014em; text-box: trim-both cap alphabetic; }
.consult-copy strong { font-weight: 600; }
.consult-actions { display: flex; gap: 26px; align-items: center; flex-wrap: wrap; }
.consult-actions .button { flex-shrink: 0; white-space: nowrap; padding: 16px 22px 16px 26px; }
.consult-actions .button--whatsapp { border: 0; padding: 17px 26px 17px 30px; }
.consult-actions .icon { width: 24px; height: 24px; flex: 0 0 24px; margin: -2.5px; }
/* The circular cutout is independent of the stretched section background. */
.consult-scroll { position: absolute; bottom: -40px; left: 50%; display: grid; place-items: center; width: 80px; height: 80px; border-radius: 50%; background: #fff; transform: translateX(-50%); }
.consult-scroll img { width: 18px; height: 16px; object-fit: contain; transform: translateY(-16px) rotate(90deg); }
.faq-section { padding-top: 64px; padding-bottom: 121px; }
.faq-main { min-height: 0; }
.faq-section .section-heading { color: var(--blue); }
.faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; align-items: start; margin-top: 37px; }
.faq-column { padding: 0 30px; border: 1.25px solid #dcefef; border-radius: 20px; background: #fff; }
.faq-item { padding: 15.375px 0; border-bottom: 1px solid #dcefef; }
.faq-item:last-child { border-bottom: 0; }
.faq-item summary { display: flex; gap: 16px; justify-content: space-between; align-items: center; min-height: 44px; margin-block: -10px; padding-block: 10px; color: var(--ink); font-size: 15px; line-height: 1.4; letter-spacing: -.003em; font-weight: 500; list-style: none; cursor: pointer; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-chevron { flex: 0 0 24px; width: 24px; height: 24px; transition: transform .2s; }
.faq-item p { margin-top: 7px; color: var(--muted); font-size: 13px; line-height: 20px; }
.faq-contact { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 44px; }
.faq-contact > p { flex: 1; font-size: 24px; line-height: 1.18; letter-spacing: -.014em; color: var(--muted); text-box: trim-both cap alphabetic; }
.faq-contact strong { font-weight: 700; }
.faq-contact strong span { color: var(--blue); }
.faq-contact .consult-actions { flex-shrink: 0; }
.consult-phone--teal { color: #fff; border: 1px solid #23868b; background: linear-gradient(164deg, rgb(58 179 181 / 90%) 14.64%, rgb(15 127 134 / 90%) 85.36%); }
.footer-section { color: #fcf9f4; background: linear-gradient(169deg, #0f7f86 14.64%, #3ab3b5 85.36%); padding-top: 60px; padding-bottom: 30px; }
.footer-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 242px; gap: 64px; }
.footer-logo { display: block; width: 151px; height: 44px; }
.footer-brand > p { margin-top: 22px; font-size: 13px; line-height: 1.55; }
.footer-socials { display: flex; gap: 12px; padding-top: 6px; margin-top: 22px; }
.footer-socials a, .footer-social-mark { display: grid; place-items: center; width: 44px; height: 44px; border: .4px solid rgb(255 255 255 / 28%); border-radius: 50%; }
.footer-socials a:hover { background: rgb(255 255 255 / 12%); }
.footer-column h2 { margin-bottom: 18px; font-size: 11px; line-height: 1.2; font-weight: 800; letter-spacing: .07em; text-box: trim-both cap alphabetic; }
.footer-items { display: flex; flex-direction: column; gap: 12px; font-size: 13px; line-height: 1.55; }
.footer-section a { color: inherit; }
.footer-items a:hover { text-decoration: underline; text-underline-offset: 3px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: 30px; border-top: 1px solid rgb(226 240 239 / 30%); padding-top: 30px; font-size: 11.5px; line-height: 1.3; font-weight: 500; }
.footer-bottom p { max-width: 50%; }

@media (max-width: 1600px) {
  .service-copy { padding: 22px 18px 18px; border-radius: 19px; }
  .service-copy h3 { font-size: 15px; }
  .service-copy p { font-size: 13px; }
  .consult-content { padding-inline: 0; gap: 50px; grid-template-columns: .9fr 1.1fr; }
  .consult-copy > p, .faq-contact > p { font-size: 21px; }
  .consult-actions { gap: 14px; }
  .consult-actions .button { padding-inline: 20px; font-size: 13px; }
  .faq-contact { align-items: flex-start; }
  .faq-contact .consult-actions { flex-direction: column; align-items: stretch; }
  .faq-contact .consult-actions .button { justify-content: center; }
  .footer-columns { grid-template-columns: 1fr 1fr 1.2fr .9fr; gap: 32px; }
}

@media (max-width: 1100px) {
  .lower-features { padding-bottom: 48px; border-radius: 0 0 36px 36px; }
  .feature-grid { gap: 18px; }
  .feature-card { padding: 22px; gap: 12px; }
  .feature-card h3 { font-size: 17px; }
  .feature-card p { font-size: 13.5px; }
  .service-grid { gap: 18px; }
  .service-copy { left: 12px; right: 12px; bottom: 12px; padding: 18px 14px; gap: 7px; }
  .service-copy h3 { font-size: 14px; }
  .service-copy p { font-size: 12px; line-height: 1.45; }
  .service-link { font-size: 12px; padding-inline: 9px; }
  .consult-content { gap: 32px; }
  .consult-copy > p { font-size: 20px; }
  .consult-actions { align-items: flex-start; flex-direction: column; gap: 12px; }
  .faq-column { padding-inline: 22px; }
  .faq-contact > p { font-size: 19px; }
  .footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
  .footer-bottom { flex-direction: column; gap: 12px; }
  .footer-bottom p { max-width: none; }
}

@media (max-width: 900px) {
  .lower-features-content { padding-top: 42px; }
  .lower-heading .section-heading { max-width: 570px; margin-inline: auto; }
  .feature-heading { min-height: 0; }
  .feature-grid { grid-template-columns: 1fr; margin-top: 30px; gap: 16px; }
  .feature-card { min-height: 0; padding: 24px; }
  .feature-card h3 { font-size: 19px; }
  .feature-card p { font-size: 14.5px; }
  .service-section { margin-top: 46px; }
  .service-grid { grid-template-columns: 1fr; width: calc(100% / 1.237582); max-width: 463px; margin: 30px auto 0; gap: 24px; }
  /* Crop only the photos with baked-in right notches; never mirror clinic imagery. */
  .service-visual { position: relative; overflow: hidden; -webkit-mask-image: url('/assets/service-mobile-mask.svg'); mask-image: url('/assets/service-mobile-mask.svg'); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
  #hiperbarica .service-photo, #feridas .service-photo { transform: scale(1.24); }
  .service-visual::after { content: ''; position: absolute; inset: 0; background: url('/assets/service-mobile-outline.svg') center / 100% 100% no-repeat; pointer-events: none; }
  /* Keep the copy surface clear of the left notch, including narrow screens. */
  .service-copy { left: 10%; right: 5%; bottom: 16px; padding: 28px 22px 24px; gap: 9px; border-radius: 24px; }
  .service-copy h3 { font-size: 16px; }
  .service-copy p { font-size: 14.56px; line-height: 1.6; }
  .service-link { font-size: 13px; padding-inline: 15px; }
  .service-badge { display: none; }
  /* One left notch per card: 100px radius with 20px clearance around the badge. */
  .service-badge--mobile { display: grid; top: 48.54545%; width: 17.27862%; transform: translate(-50%, -50%); }
  .service-badge--left { left: -3.23974%; }
  .lower-features-texture { width: 100%; }
  .lower-features-texture--right { display: none; }
  .consult-section { min-height: 0; padding-top: 51px; background-size: auto 100%; background-position: center; }
  .consult-content { grid-template-columns: 1fr; gap: 28px; min-height: 0; padding-top: 58px; padding-bottom: 90px; text-align: center; }
  .consult-heading .section-heading { max-width: 430px; margin-inline: auto; }
  .consult-copy > p { max-width: 560px; margin-inline: auto; font-size: 21px; }
  .consult-actions { flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; gap: 14px; }
  .consult-actions .button { text-align: center; }
  .consult-texture { right: 0; }
  .faq-section { padding-top: 54px; padding-bottom: 60px; }
  .faq-grid { grid-template-columns: 1fr; gap: 20px; margin-top: 30px; }
  .faq-contact { flex-direction: column; align-items: center; gap: 25px; margin-top: 34px; text-align: center; }
  .faq-contact > p { width: 100%; max-width: 560px; font-size: 20px; text-wrap: balance; }
  .faq-contact strong { display: block; }
  .faq-contact strong span { display: block; }
  .faq-contact strong + br { display: none; }
  .faq-contact .consult-actions { flex-direction: row; justify-content: center; align-items: center; max-width: 100%; }
  .footer-section { padding-top: 42px; }
  .footer-columns { gap: 36px 28px; }
  .footer-items { font-size: 13px; }
}

@media (max-width: 600px) {
  /* Keep the complete outer badge plus 8px of breathing room inside the page. */
  .service-grid { width: calc((100% + 24px) / 1.237582); }
}

@media (max-width: 480px) {
  .lower-symbol-band { --symbol-gap: 12px; }
  .lower-symbol-track img { width: 45px; height: 42px; flex-basis: 45px; }
  .lower-symbol-band { height: 56px; }
  .lower-features { border-radius: 0 0 28px 28px; }
  .lower-heading .section-heading { font-size: 30px; }
  .feature-card { padding: 24px; }
  .service-copy { padding: 22px 18px 18px; }
  .service-copy h3 { font-size: 15px; }
  .service-copy p { font-size: 13px; }
  .consult-actions { width: 100%; }
  .consult-actions .button { justify-content: center; white-space: normal; max-width: 100%; }
  .consult-actions .button--whatsapp { width: 100%; }
  .faq-contact .consult-actions { width: 100%; }
  .faq-column { padding-inline: 20px; }
  .faq-item summary { font-size: 14px; }
  .footer-columns { grid-template-columns: 1fr; gap: 32px; }
  .footer-brand > p { max-width: 330px; }
  .footer-socials { margin-top: 16px; }
  .footer-bottom { padding-top: 24px; margin-top: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  .service-link, .faq-chevron { transition: none; }
}

@media (max-width:900px), (pointer:coarse) {
  .footer-items > a,
  .footer-items p a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
  }

  .footer-items {
    gap: 8px;
  }
}


/* motion.css */
:root {
  --motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-reduced-motion: no-preference) {
  [data-reveal="pending"] {
    opacity:0;
  }

  .button {
    transition: transform 180ms var(--motion-ease), filter 180ms ease-out,
      box-shadow 180ms ease-out;
  }

  .button:active {
    transform: translateY(0) scale(0.96);
  }

  .button--whatsapp {
    position:relative;
    isolation:isolate;
    overflow:hidden;
  }

  .button--whatsapp::after {
    content:'';
    position:absolute;
    pointer-events:none;
    inset:-35% -25%;
    background:linear-gradient(110deg,transparent 38%,rgb(255 255 255 / 28%) 49%,transparent 60%);
    transform:translateX(-110%);
  }

  .button--whatsapp:is(:hover,:focus-visible)::after {
    transform:translateX(110%);
    transition:transform 750ms cubic-bezier(.2,.7,.2,1);
  }

  .unit-card, .care-card, .feature-card {
    transition:translate 280ms var(--motion-ease),box-shadow 280ms ease,border-color 280ms ease;
  }

  .unit-photo img, .care-photo > img {
    transition:scale 650ms var(--motion-ease);
    transform-origin:center 34%;
  }

  .care-caption, .service-copy {
    transition:translate 320ms var(--motion-ease),background-color 280ms ease;
  }

  .feature-card {
    position:relative;
    isolation:isolate;
    overflow:hidden;
  }

  .feature-card::before {
    content:'';
    position:absolute;
    z-index:-1;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    opacity:0;
    background:radial-gradient(280px circle at var(--spotlight-x,50%) var(--spotlight-y,30%),rgb(255 255 255 / 22%),transparent 72%);
    transition:opacity 250ms ease;
  }

  .feature-icon, .feature-icon img, .care-caption .icon, .hero-services .icon {
    transition:transform 350ms var(--motion-ease),background-color 250ms ease;
  }

  .feature-rule {
    transform-origin:left;
    transition:transform 350ms var(--motion-ease);
  }

  .footer-socials a, .footer-items a {
    transition:translate 200ms var(--motion-ease),background-color 200ms ease;
  }

  .service-link .icon,
  .unit-content > .button .icon {
    transition: transform 180ms var(--motion-ease);
  }

  .faq-chevron {
    transition: transform 180ms var(--motion-ease);
  }

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

  @media (hover: hover) and (pointer: fine) {
    .button:hover {
      transform: translateY(-2px);
    }

    .button--whatsapp:hover {
      box-shadow: 0 7px 22px rgb(3 136 50 / 23%);
    }

    .unit-card:hover, .care-card:hover, .feature-card:hover {
      translate:0 -6px;
    }

    .unit-card:hover {
      border-color:#9ac7cb;
      box-shadow:0 12px 30px rgb(16 41 46 / 10%);
    }

    .unit-card:hover .unit-photo img {
      scale:1.035;
    }

    .care-card:hover .care-photo > img {
      scale:1.045;
    }

    .care-card:hover .care-caption {
      background-color:rgb(15 110 116 / 25%);
    }

    .care-card:hover .care-caption .icon {
      transform:rotate(-6deg) scale(1.08);
    }

    .feature-card:hover::before {
      opacity:1;
    }

    .feature-card:hover .feature-icon {
      transform:rotate(-6deg);
      background-color:rgb(255 255 255 / 10%);
    }

    .feature-card:hover .feature-icon img {
      transform:rotate(6deg) scale(1.12);
    }

    .feature-card:hover .feature-rule {
      transform:scaleX(1.5);
    }

    .service-card:hover .service-copy {
      translate:0 -5px;
      background-color:rgb(14 51 55 / 63%);
    }

    .hero-services a:hover .icon {
      transform:translateY(-3px) rotate(-5deg);
    }

    .footer-socials a:hover {
      translate:0 -3px;
    }

    .footer-items a:hover {
      translate:3px 0;
    }

    .service-link:hover .icon,
    .unit-content > .button:hover .icon {
      transform: translateX(3px);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  .faq-item[open] .faq-chevron {
    transform: rotate(180deg);
  }
}


/* faq-motion.css */
/* Measured disclosure motion based on 21st.dev/@ddoemonn/components/accordion. */
.faq-answer,
.faq-answer-inner {
  display: flow-root;
}

.faq-answer {
  overflow: clip;
}

.faq-item[data-faq-motion] summary {
  transition: color 160ms ease-out;
}

.faq-item[data-faq-expanded="true"] summary {
  color: var(--teal);
}

.faq-item[data-faq-motion] .faq-chevron {
  transition: transform 340ms cubic-bezier(0.23, 1, 0.32, 1);
}

.faq-item[data-faq-expanded="false"] .faq-chevron {
  transform: rotate(0deg);
}

.faq-item[data-faq-expanded="true"] .faq-chevron {
  transform: rotate(180deg);
}

@media (prefers-reduced-motion: reduce) {
  .faq-item[data-faq-motion] summary,
  .faq-item[data-faq-motion] .faq-chevron {
    transition: none;
  }
}


/* navbar.css */
/* Preserve the original navigation, outside the hero's clipped artwork. */
html {
  scroll-padding-top:90px;
}

main section[id], .unit-card {
  scroll-margin-top:12px;
}

.header-spacer {
  height:50px;
  flex:none;
}

#app {
  position:relative;
}

.navigation-layer {
  position:absolute;
  z-index:50;
  inset:0;
  padding-top:var(--header-origin-top,var(--header-static-origin));
  pointer-events:none;
}

.site-header {
  position:sticky;
  z-index:50;
  isolation:isolate;
  top:20px;
  margin-inline:auto;
  width:var(--header-width,var(--header-static-width));
  color:var(--paper);
  pointer-events:auto;
}

/* A fading blur spans the background; there is no panel around the header. */
.site-header::before {
  content:'';
  position:fixed;
  z-index:-1;
  pointer-events:none;
  top:0;
  left:0;
  right:0;
  height:156px;
  opacity:var(--nav-backdrop-opacity,0);
  background:linear-gradient(to bottom,rgb(255 255 255 / 7%),rgb(255 255 255 / 3%) 40%,transparent 100%);
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,rgb(0 0 0 / 80%) 22%,rgb(0 0 0 / 46%) 48%,rgb(0 0 0 / 15%) 74%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,rgb(0 0 0 / 80%) 22%,rgb(0 0 0 / 46%) 48%,rgb(0 0 0 / 15%) 74%,transparent 100%);
}

.site-header .brand {
  position:relative;
}

.brand img {
  transition:opacity 120ms ease-out;
}

.brand .brand-on-light {
  position:absolute;
  inset:0;
  opacity:0;
}

.site-header[data-surface="light"] .brand-on-dark {
  opacity:0;
}

.site-header[data-surface="light"] .brand-on-light {
  opacity:1;
}

@media(min-width:901px) {
  .main-nav {
    position:relative;
    isolation:isolate;
    color:#fff;
    background-color:rgb(13 72 78 / 48%);
    background-image:linear-gradient(170deg,rgb(255 255 255 / 7%) 0%,rgb(255 255 255 / 3%) 38%,rgb(255 255 255 / 1%) 72%,transparent 100%);
    /* A compact blurred surface keeps labels distinct over the hero artwork. */
    -webkit-backdrop-filter:blur(8px) saturate(125%);
    backdrop-filter:blur(8px) saturate(125%);
    font-weight:600;
    text-shadow:0 1px 3px rgb(4 35 38 / 48%);
    box-shadow:inset 0 1px 0 rgb(255 255 255 / 38%),inset 0 -1px 0 rgb(255 255 255 / 12%),inset 1px 0 0 rgb(255 255 255 / 15%),inset -1px 0 0 rgb(255 255 255 / 15%),0 6px 20px rgb(7 38 43 / 8%);
    transition:background-color 150ms ease-out,color 120ms ease-out,box-shadow 150ms ease-out;
  }

  .main-nav::before {
    content:'';
    position:absolute;
    z-index:-1;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:radial-gradient(ellipse 40% 110% at var(--glass-pointer,20%) 0%,rgb(255 255 255 / 3%),transparent 80%);
  }

  .main-nav a {
    position:relative;
    isolation:isolate;
  }

  .main-nav a::before {
    content:'';
    position:absolute;
    z-index:-1;
    inset:6px -10px;
    border-radius:100px;
    background:transparent;
    transition:background-color 180ms ease;
  }

  .main-nav a:is(:hover,:focus-visible)::before {
    background:rgb(255 255 255 / 18%);
  }

  .main-nav a:hover {
    text-decoration:none;
  }

  .site-header[data-surface="light"] .main-nav {
    color:var(--ink);
    text-shadow:none;
    background-color:rgb(255 255 255 / 84%);
    box-shadow:inset 0 1px 0 rgb(255 255 255 / 85%),inset 0 -1px 0 rgb(255 255 255 / 38%),0 0 0 1px rgb(16 41 46 / 4%),0 6px 20px rgb(16 41 46 / 7%);
  }

  .site-header[data-surface="light"] .main-nav a:is(:hover,:focus-visible)::before {
    background:rgb(30 122 128 / 9%);
  }
}

@media(max-width:900px) {
  .site-header {
    top:12px;
  }
  html {
    scroll-padding-top:76px;
  }
  .header-spacer {
    height:42px;
  }
  .main-nav a {
    min-height:44px;
  }
  .main-nav.is-open {
    max-height:calc(100svh - 110px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .site-header[data-surface="light"] .menu-toggle {
    color:var(--ink);
    background:rgb(255 255 255 / 85%);
    border-color:rgb(16 41 46 / 12%);
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
  }
  .site-header[data-surface="light"] .main-nav {
    color:var(--ink);
    background:rgb(255 255 255 / 94%);
    border-color:rgb(16 41 46 / 8%);
  }
}

@media (min-width:901px) and (max-width:1200px) {
  .site-header { gap:18px; }
  .main-nav { gap:16px; }
  .header-contact .button--whatsapp { padding-inline:18px; font-size:13px; }
}

@media (prefers-reduced-transparency:reduce), (prefers-contrast:more) {
  .main-nav { background-color:#124b50; -webkit-backdrop-filter:none; backdrop-filter:none; }
  .site-header[data-surface="light"] .main-nav { background-color:#f4faf9; }
}

/* Navigation remains usable when enhancement scripts are unavailable. */
html:not(.js) .menu-toggle {
  display:none;
}

html:not(.js) .navigation-layer {
  position:relative;
  inset:auto;
  padding:20px 24px;
  background:#0d3438;
}

html:not(.js) .site-header {
  position:relative;
  top:auto;
  width:100%;
  height:auto;
  flex-wrap:wrap;
}

html:not(.js) .header-spacer {
  display:none;
}

@media (max-width:900px) {
  html:not(.js) .main-nav {
    display:flex;
    position:static;
    flex-direction:row;
    flex-wrap:wrap;
    flex-basis:100%;
    order:1;
    width:100%;
    max-width:none;
    height:auto;
    gap:0 16px;
    padding:8px 12px;
  }
}


/* hero-viewport.css */
/* The hero tilts as a single surface; the sticky navigation stays independent. */
:root {
  --header-static-frame:clamp(24px,min(2.5vw,calc((100svh - 560px) / 2)),48px);
  --header-static-side:clamp(24px,2.5vw,48px);
  --header-static-origin:calc(var(--header-static-frame) + 1px + clamp(36px,3.48958vw,67px));
  --header-static-width:calc(100% - var(--header-static-side) * 2 - 2px - clamp(40px,6.822917vw,131px) * 2);
}

@media (max-width:1600px) {
  :root { --header-static-width:calc(100% - var(--header-static-side) * 2 - 2px - 11vw); }
}
@media (max-width:1280px) {
  :root {
    --header-static-origin:calc(var(--header-static-frame) + 43px);
    --header-static-width:calc(100% - var(--header-static-side) * 2 - 66px);
  }
}
@media (max-width:900px) {
  :root {
    --header-static-origin:calc(clamp(24px,4.114583vw,79px) + 33px);
    --header-static-width:calc(100% - 114px);
  }
}
@media (max-width:600px) {
  :root { --header-static-origin:42px; --header-static-width:calc(100% - 70px); }
}

.hero {
  transform-origin:50% 45%;
}

/* Preserve the opaque button surface without an expensive backdrop in 3D. */
.hero .button--outline {
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

@media (prefers-reduced-motion:reduce) {
  .hero {
    transform:none !important;
    will-change:auto !important;
  }
}

/* The desktop opening fills the marked area with an even, narrow frame. */
@media (min-width:901px) {
  .intro {
    --hero-frame:clamp(24px,min(2.5vw,calc((100svh - 560px) / 2)),48px);
    --hero-side-frame:clamp(24px,2.5vw,48px);
    --hero-art-frame:clamp(24px,min(5.625vw,calc((100svh - 560px) / 2)),108px);
    padding-top:var(--hero-frame);
  }

  .hero {
    width:calc(100% - var(--hero-side-frame) * 2);
    max-width:none;
    height:max(560px,calc(100svh - var(--hero-frame) * 2));
    margin-bottom:var(--hero-frame);
  }

  .hero-image img {
    /* Reveal more above and below without changing the artwork's scale. */
    width:calc((100vw - var(--hero-art-frame) * 2 - 2px) * 1.3028);
    height:auto;
    min-height:100%;
    top:50%;
    left:0;
    transform:translateY(-50%);
    object-fit:cover;
  }
}


/* unit-picker.css */
/* Scroll the page beside the fixed dialog without smooth-scroll lag. */
html.unit-picker-open { scroll-behavior:auto; }

.unit-picker {
  --picker-edge:rgb(255 255 255 / 48%);
  --picker-control:rgb(255 255 255 / 3%);
  --picker-line:rgb(230 255 253 / 32%);
  --picker-text:#fff;
  --picker-secondary:#f0f8f7;
  --picker-glint:linear-gradient(155deg, rgb(255 255 255 / 7%), rgb(255 255 255 / 1%) 42%, transparent 64%, rgb(207 255 243 / 4%));
  --picker-control-glint:linear-gradient(155deg, rgb(255 255 255 / 2%), transparent 55%, rgb(207 255 243 / 1%));
  position:fixed;
  inset:0;
  width:min(548px, calc(100% - 32px));
  max-width:none;
  max-height:calc(100svh - 32px);
  margin:auto;
  padding:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-color:rgb(222 251 248 / 65%) transparent;
  scrollbar-width:thin;
  border:1px solid var(--picker-edge);
  border-right-color:rgb(255 255 255 / 18%);
  border-bottom-color:rgb(221 255 248 / 36%);
  border-radius:28px;
  /* One tinted lens: the actual page remains visible through every section. */
  background:var(--picker-glint), rgb(12 46 51 / 65%);
  color:var(--picker-text);
  box-shadow:inset 1px 1px 1px rgb(255 255 255 / 52%), inset -1px -1px 1px rgb(216 255 244 / 28%), inset 0 0 18px rgb(231 255 252 / 6%), 0 24px 72px rgb(3 24 27 / 26%);
  -webkit-backdrop-filter:blur(12px) saturate(135%);
  backdrop-filter:blur(12px) saturate(135%);
}
.unit-picker:not([open]), .unit-picker [hidden] { display:none; }
.unit-picker[open] { animation:unit-picker-enter 320ms cubic-bezier(.16, 1, .3, 1) both; }
.unit-picker::backdrop {
  background:rgb(7 25 27 / 24%);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.unit-picker__banner {
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:22px 18px 20px 26px;
  background:transparent;
  color:inherit;
  box-shadow:0 1px 0 rgb(238 255 251 / 14%);
}
.unit-picker__banner-copy { flex:1; min-width:0; font-size:13px; line-height:1.5; }
.unit-picker__banner-title { margin-bottom:4px; font-size:17px; font-weight:600; letter-spacing:-.02em; }
.unit-picker__help { margin-top:6px; }
.unit-picker__help summary {
  display:flex;
  align-items:center;
  gap:5px;
  width:fit-content;
  padding-block:4px;
  list-style:none;
  cursor:pointer;
  font-weight:500;
  text-decoration:underline;
  text-underline-offset:3px;
}
.unit-picker__help summary::-webkit-details-marker { display:none; }
.picker-chevron { flex:none; width:20px; height:20px; transition:transform 180ms ease-out; }
.unit-picker__help .picker-chevron { width:14px; height:14px; }
.unit-picker__help[open] .picker-chevron { transform:rotate(180deg); }
.unit-picker__help p { padding-top:8px; }
.unit-picker__close {
  display:grid;
  place-items:center;
  flex:none;
  width:44px;
  height:44px;
  margin-top:-6px;
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--picker-glint), rgb(5 44 47 / 20%);
  color:inherit;
  box-shadow:inset 0 1px 1px rgb(255 255 255 / 60%), inset 0 -1px 1px rgb(255 255 255 / 20%), 0 4px 8px rgb(0 21 23 / 12%);
  cursor:pointer;
}
.unit-picker__close span { position:relative; width:16px; height:16px; }
.unit-picker__close span::before, .unit-picker__close span::after {
  content:"";
  position:absolute;
  top:7px;
  left:0;
  width:16px;
  height:1.5px;
  border-radius:1px;
  background:currentColor;
  transform:rotate(45deg);
}
.unit-picker__close span::after { transform:rotate(-45deg); }
.unit-picker__content { padding:26px; }
.unit-picker__progress { display:flex; gap:6px; width:84px; margin:0 auto 16px; }
.unit-picker__progress span { flex:1; height:3px; border-radius:3px; background:rgb(230 255 252 / 24%); }
.unit-picker__progress span:first-child,
.unit-picker[data-step="service"] .unit-picker__progress span:nth-child(2),
.unit-picker[data-step="insurer"] .unit-picker__progress span { background:#d4fff5; }
.unit-picker h2 {
  font-size:24px;
  font-weight:600;
  line-height:1.25;
  letter-spacing:-.025em;
  text-align:center;
  text-wrap:balance;
}
.unit-picker h2:focus { outline:none; box-shadow:none; }
#unit-picker-description { margin-top:8px; color:var(--picker-secondary); font-size:12px; line-height:1.5; text-align:center; }
#unit-picker-selection {
  margin:10px auto 0;
  max-width:44ch;
  color:var(--picker-secondary);
  font-size:13px;
  font-weight:500;
  line-height:1.5;
  text-align:center;
  text-wrap:balance;
}
[data-picker-step] { margin-top:24px; }
.unit-picker__choices { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
.unit-choice {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  min-height:72px;
  padding:16px;
  border:1px solid var(--picker-line);
  border-radius:16px;
  background:var(--picker-control-glint), var(--picker-control);
  color:var(--picker-text);
  box-shadow:inset 0 1px 1px rgb(255 255 255 / 42%), inset 0 -1px 1px rgb(227 255 249 / 13%), 0 4px 8px rgb(0 22 24 / 10%);
  font-size:17px;
  font-weight:600;
  line-height:1.4;
  text-align:left;
  cursor:pointer;
}
.unit-choice__state { display:block; color:var(--picker-secondary); font-size:12px; font-weight:400; white-space:nowrap; }
.unit-choice > img { flex:none; width:22px; height:22px; filter:brightness(0) invert(1); }
.unit-picker__arrow { flex:none; width:18px; height:18px; }
.unit-choice .unit-picker__arrow { margin-left:auto; color:var(--picker-text); }
.unit-choice[aria-pressed="true"],
.unit-choice:active,
.unit-picker__select[data-selected="true"] {
  border-color:#eafff7;
  background:linear-gradient(145deg, rgb(255 255 255 / 94%), rgb(213 247 233 / 92%));
  color:#123e40;
  box-shadow:inset 0 1px 1px #fff, 0 4px 12px rgb(0 28 30 / 12%);
}
.unit-choice:is([aria-pressed="true"], :active) :is(.unit-choice__state, .unit-picker__arrow) { color:#245456; }
.unit-choice:is([aria-pressed="true"], :active) > img { filter:none; }
.unit-picker__select[data-selected="true"] { color-scheme:light; }
.unit-picker__label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.unit-picker__select {
  width:100%;
  min-width:0;
  min-height:54px;
  padding:13px 12px;
  border:1px solid var(--picker-line);
  border-radius:14px;
  background:var(--picker-control-glint), var(--picker-control);
  color:var(--picker-text);
  color-scheme:dark;
  box-shadow:inset 0 1px 1px rgb(255 255 255 / 42%), inset 0 -1px 1px rgb(227 255 249 / 13%);
  font:inherit;
  font-size:16px;
  cursor:pointer;
}
.unit-picker__select option { background:#eafff7; color:#123e40; }
.service-select { min-width:0; }
.service-select__trigger {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
  min-height:56px;
  padding:15px 16px;
  border:1px solid var(--picker-line);
  border-radius:16px;
  background:var(--picker-control-glint), var(--picker-control);
  color:var(--picker-text);
  box-shadow:inset 0 1px 1px rgb(255 255 255 / 42%), inset 0 -1px 1px rgb(227 255 249 / 13%);
  font:inherit;
  font-size:16px;
  line-height:1.4;
  text-align:left;
  cursor:pointer;
  transition:background-color 160ms ease-out, border-color 160ms ease-out;
}
.service-select__trigger > span { min-width:0; }
.service-select__trigger[aria-expanded="true"] { border-color:rgb(236 255 250 / 76%); }
.service-select__trigger[aria-expanded="true"] .picker-chevron { transform:rotate(180deg); }
.service-select__trigger[data-selected="true"] {
  border-color:#eafff7;
  background:linear-gradient(145deg, rgb(255 255 255 / 94%), rgb(213 247 233 / 92%));
  color:#123e40;
  font-weight:500;
}
/* Keep this small list in flow: nothing covers the actions or gets clipped on a phone. */
.service-select__options {
  display:grid;
  gap:3px;
  margin-top:8px;
  padding:6px;
  border:1px solid rgb(231 255 249 / 28%);
  border-radius:18px;
  background:var(--picker-glint), rgb(8 45 49 / 38%);
  box-shadow:inset 0 1px 0 rgb(244 255 251 / 24%), 0 8px 18px rgb(0 24 26 / 14%);
  transform-origin:top center;
}
.service-select__option {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  min-height:54px;
  padding:12px;
  border:1px solid transparent;
  border-radius:12px;
  color:var(--picker-text);
  font-size:15px;
  line-height:1.4;
  cursor:pointer;
  transition:background-color 140ms ease-out, border-color 140ms ease-out;
}
.service-select__option > span { min-width:0; }
.service-select__option[data-active="true"] { background:rgb(222 255 246 / 12%); border-color:rgb(232 255 249 / 44%); }
.service-select__option[aria-selected="true"] { background:#dff7ed; color:#123e40; font-weight:500; }
.service-select__option[aria-selected="true"][data-active="true"] { border-color:#7aa59c; }
.service-select__check { flex:none; opacity:0; }
.service-select__option[aria-selected="true"] .service-select__check { opacity:1; }
.unit-picker__hint { margin-top:12px; color:var(--picker-secondary); font-size:12px; line-height:1.5; }
.unit-picker__actions { display:grid; grid-template-columns:auto minmax(0, 1fr); gap:12px; margin-top:22px; }
.unit-picker__button {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:0;
  min-height:48px;
  padding:12px 18px;
  border:1px solid var(--picker-line);
  border-radius:100px;
  background:var(--picker-control-glint), var(--picker-control);
  color:var(--picker-text);
  box-shadow:inset 0 1px 1px rgb(255 255 255 / 42%), inset 0 -1px 1px rgb(227 255 249 / 13%);
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
}
.unit-picker__button > img { flex:none; width:20px; height:20px; }
.unit-picker__button--primary {
  border-color:rgb(204 255 246 / 52%);
  background:var(--picker-control-glint), rgb(20 95 98 / 44%);
  color:#fff;
  box-shadow:inset 0 1px 1px rgb(255 255 255 / 65%), inset 0 -1px 1px rgb(216 255 244 / 25%), 0 6px 16px rgb(0 34 36 / 18%);
}
.unit-picker__button:disabled, .unit-picker__button[aria-disabled="true"] {
  border-color:rgb(235 255 251 / 18%);
  background:rgb(4 29 33 / 12%);
  color:rgb(239 255 252 / 54%);
  box-shadow:none;
  cursor:not-allowed;
}
.unit-picker__button[aria-disabled="true"] > img { opacity:.54; }
.unit-picker__insurers { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; min-width:0; margin:0; padding:0; border:0; }
.insurer-choice { position:relative; min-width:0; cursor:pointer; }
.insurer-choice input { position:absolute; width:1px; height:1px; opacity:0; }
.insurer-choice > span {
  display:flex;
  align-items:center;
  gap:9px;
  min-height:52px;
  height:100%;
  padding:12px;
  border:1px solid var(--picker-line);
  border-radius:14px;
  background:var(--picker-control-glint), var(--picker-control);
  color:var(--picker-text);
  box-shadow:inset 0 1px 1px rgb(255 255 255 / 42%), inset 0 -1px 1px rgb(227 255 249 / 13%);
  font-size:14px;
  line-height:1.4;
}
.insurer-choice > span::before {
  content:"";
  flex:none;
  width:16px;
  height:16px;
  border:1px solid rgb(245 255 253 / 80%);
  border-radius:50%;
  background:rgb(4 37 40 / 16%);
}
.insurer-choice--wide { grid-column:1 / -1; }
.insurer-choice--private > span { background:var(--picker-control-glint), rgb(15 97 87 / 20%); }
.insurer-choice input:checked + span {
  border-color:#eafff7;
  background:linear-gradient(145deg, rgb(255 255 255 / 94%), rgb(213 247 233 / 92%));
  color:#123e40;
  box-shadow:inset 0 1px 1px #fff, 0 4px 12px rgb(0 28 30 / 12%);
  font-weight:600;
}
.insurer-choice input:checked + span::before { border-color:#245456; background:#245456; box-shadow:inset 0 0 0 3px #effffb; }
.unit-picker :is(button, a, select, summary):focus-visible,
.insurer-choice input:focus-visible + span { outline:2px solid #e3fff6; outline-offset:3px; }
.unit-picker__banner :is(button, summary):focus-visible { outline-color:#fff; }
.unit-picker__continue {
  display:block;
  min-height:44px;
  margin:16px auto -10px;
  padding:10px 12px;
  border:0;
  border-radius:100px;
  background:transparent;
  color:var(--picker-secondary);
  font-size:13px;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:4px;
}
.unit-choice, .unit-picker__button, .unit-picker__close, .insurer-choice > span {
  transition:background-color 160ms ease-out, border-color 160ms ease-out, transform 160ms ease-out;
}
.unit-choice:active, .unit-picker__button:not(:disabled, [aria-disabled="true"]):active, .unit-picker__close:active {
  transform:scale(.98);
  transition-duration:80ms;
}
@media (hover:hover) {
  .service-select__trigger:not([data-selected="true"]):hover { background-color:rgb(238 255 250 / 8%); border-color:rgb(239 255 251 / 65%); }
  .service-select__option:not([aria-selected="true"]):hover { background-color:rgb(222 255 246 / 12%); }
  .unit-choice:not([aria-pressed="true"]):not(:active):hover,
  .insurer-choice:hover input:not(:checked) + span { border-color:rgb(239 255 251 / 65%); background-color:rgb(8 50 52 / 20%); }
  .unit-picker__button--back:hover, .unit-picker__continue:hover { background-color:rgb(5 39 42 / 20%); }
  .unit-picker__button--primary:not(:disabled, [aria-disabled="true"]):hover { background-color:rgb(22 108 113 / 60%); }
  .unit-picker__close:hover { background-color:rgb(6 40 42 / 32%); }
}
@media (max-width:420px) {
  .unit-picker { width:calc(100% - 24px); max-height:calc(100svh - 24px); border-radius:20px; }
  .unit-picker__banner { padding:18px 12px 16px 18px; }
  .unit-picker__content { padding:22px 18px; }
  .unit-picker__choices { grid-template-columns:minmax(0, 1fr); gap:10px; }
  .unit-choice { min-height:64px; padding:12px 16px; }
  .unit-choice__state { display:inline; }
  .unit-picker h2 { font-size:22px; }
  .unit-picker__button { padding:12px; }
  .unit-picker__actions { grid-template-columns:minmax(0, 1fr); gap:10px; }
  .unit-picker__button--primary { order:-1; }
  .unit-picker__button--back { justify-self:center; min-width:96px; }
  .insurer-choice > span { gap:7px; padding:10px; font-size:13px; }
  .service-select__trigger { gap:10px; padding:13px; }
  .service-select__option { gap:8px; padding:12px 10px; font-size:14px; }
}
@media (max-width:360px) {
  .unit-picker .glow-btn { gap:6px; padding-inline:10px; font-size:13px; }
}
@keyframes unit-picker-enter {
  from { opacity:0; transform:translateY(10px) scale(.99); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
@media (prefers-reduced-motion:reduce) {
  .unit-picker[open] { animation:none; }
  .unit-picker * { transition:none; }
  .unit-picker :is(button, a):active { transform:none; }
}
@media (prefers-reduced-transparency:reduce), (prefers-contrast:more) {
  .unit-picker { background:#163d42; -webkit-backdrop-filter:none; backdrop-filter:none; }
  .unit-picker::backdrop { -webkit-backdrop-filter:none; backdrop-filter:none; }
  .unit-picker { --picker-control:#234c51; --picker-line:#b4d6d0; --picker-glint:none; --picker-control-glint:none; }
  .unit-picker__button--primary { background:#216a70; }
  .service-select__options { background:#173e43; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .unit-picker { background:#163d42; }
}
@media (forced-colors:active) {
  .unit-picker { border:1px solid CanvasText; }
  .insurer-choice input:checked + span, .insurer-choice input:checked + span::before { border:3px solid Highlight; }
  .service-select__option[data-active="true"] { outline:2px solid Highlight; outline-offset:-3px; }
  .service-select__option[aria-selected="true"] { border-color:ButtonText; }
}


/* glow-button.css */
/* A local glow treatment: the supplied React snippet did not include glow-btn CSS. */
.glow-btn {
  --glow-rgb:51 220 120;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  box-shadow:inset 0 1px 0 rgb(255 255 255 / 38%), 0 4px 14px rgb(var(--glow-rgb) / 14%);
  transition:box-shadow 200ms ease-out, filter 200ms ease-out, transform 200ms ease-out;
}
.unit-picker .glow-btn { --glow-rgb:111 231 209; }
.glow-btn::after {
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;
  inset:-35% -25%;
  background:linear-gradient(110deg, transparent 38%, rgb(255 255 255 / 28%) 49%, transparent 60%);
  transform:translateX(-110%);
  opacity:0;
}
.glow-btn > * { position:relative; z-index:1; }
.glow-btn:not(:disabled, [aria-disabled="true"]):is(:hover, :focus-visible) {
  filter:brightness(1.03);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / 64%), 0 5px 16px rgb(var(--glow-rgb) / 28%), 0 9px 30px rgb(var(--glow-rgb) / 26%);
}
.glow-btn:not(:disabled, [aria-disabled="true"]):is(:active, [data-state="clicked"]) {
  transform:scale(.98);
  box-shadow:inset 0 1px 1px rgb(255 255 255 / 75%), 0 5px 18px rgb(var(--glow-rgb) / 40%), 0 9px 36px rgb(var(--glow-rgb) / 30%);
  transition-duration:80ms;
}
.glow-btn:is(:disabled, [aria-disabled="true"]) { box-shadow:none; }
.glow-btn:is(:disabled, [aria-disabled="true"])::after { display:none; }
@media (prefers-reduced-motion:no-preference) {
  .glow-btn:not(:disabled, [aria-disabled="true"]):is(:hover, :focus-visible, [data-state="clicked"])::after {
    opacity:1;
    transform:translateX(110%);
    transition:transform 650ms cubic-bezier(.2,.7,.2,1), opacity 100ms ease-out;
  }
}
@media (prefers-reduced-motion:reduce) {
  .glow-btn { transition:none; }
  .glow-btn::after { display:none; }
  .glow-btn:not(:disabled, [aria-disabled="true"]):is(:hover, :focus-visible, :active, [data-state="clicked"]) { transform:none; }
}
@media (forced-colors:active) {
  .glow-btn { border:1px solid ButtonText; }
  .glow-btn::after { display:none; }
}
