*{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:clamp(12px,1.5625vw,22.5px)}
body{margin:0;background:#f4f8f8;color:#102c3a;font-family:Arial,Helvetica,sans-serif}
.page{max-width:64rem;margin:auto;background:linear-gradient(150deg,#f7f9fa,#f3f8f8)}
a{color:inherit;text-decoration:none}
a:focus-visible,summary:focus-visible{outline:0.125rem solid #ca6e43;outline-offset:0.1875rem}
h1,h2,h3,p,ul,ol{margin:0}
img{display:block;width:100%;height:100%;object-fit:cover}
.symbols{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.visually-hidden{position:absolute;width:0.0625rem;height:0.0625rem;padding:0;margin:-0.0625rem;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.header{height:3.875rem;display:flex;align-items:center;justify-content:space-between;padding:0 1.375rem 0 2.5625rem;gap:0.8125rem;background:#f7faf9}
.brand{display:flex;align-items:center;gap:0.6875rem;flex:none}
.mark{width:2.5rem;height:2.5rem;fill:#108486;flex:none}
.brand strong{display:block;font-size:1.4375rem;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:-0.0375rem}
.brand small{display:block;font-size:0.625rem;margin-top:0.1875rem;white-space:nowrap}
.header nav{display:flex;align-items:center;border-left:0.0625rem solid #7fa1a5;padding-left:0.75rem}
.header nav a{padding:0.0625rem 0.53125rem;font-size:0.71875rem;white-space:nowrap}
.header nav a+a{border-left:0.0625rem solid #dce7e7}
.phone{display:flex;align-items:center;gap:0.375rem;font-weight:700;font-size:0.9375rem;white-space:nowrap}
.phone .icon{width:1.0625rem;height:1.0625rem;color:#127c83}
.button{display:inline-flex;align-items:center;justify-content:center;gap:0.625rem;border:0.0625rem solid transparent;border-radius:0.625rem;font-weight:700;white-space:nowrap;text-align:center}
.button:hover{filter:brightness(.94)}
.callback{border-radius:0.375rem;font-size:0.6875rem;height:2rem;padding:0 0.8125rem}
.outline{border-color:#bb8a72;color:#ae5636}
.orange{background:linear-gradient(110deg,#ec986d,#e5805c);color:white;box-shadow:inset 0 0 0.4375rem #fbc8a08c}
.teal{background:linear-gradient(110deg,#168d8b,#087a81);color:white}
.light-outline{border-color:#f4ffff;color:white}
.hero{height:18.625rem;position:relative;isolation:isolate;overflow:hidden;color:#f8ffff;background:linear-gradient(115deg,#093944 0%,#0a4956 43%,#2c6970 58%)}
.hero-photo{position:absolute;inset:0 0 0 39.0625%;z-index:-1;background:url(assets/hero-hd.webp) center 42% / cover no-repeat;clip-path:polygon(4% 0,100% 0,100% 100%,23% 100%,16% 66%,14.1% 43%,12.6% 30%,8.8% 16%)}
.hero-copy{padding:2.5rem 2.375rem 0}
.hero h1{font-size:2.875rem;line-height:1.01;letter-spacing:-0.04375rem;font-weight:700}
.hero p:not(.visually-hidden){font-size:1.125rem;line-height:1.29;margin-top:0.75rem}
.hero-buttons{display:flex;gap:1.0625rem;margin-top:1.4375rem}
.hero-buttons .button{height:3.0625rem;padding:0 1.0625rem;font-size:0.8125rem;width:13.625rem}
.hero-buttons .button:nth-child(2){width:13.8125rem}
.hero-buttons .icon{width:1.625rem;height:1.625rem}
.benefits{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);height:5.1875rem;padding:0 1.5625rem;align-items:center;background:linear-gradient(110deg,#dfeded,#edf6f5)}
.benefits li{display:flex;align-items:center;justify-content:center;gap:0.875rem;min-height:2.625rem}
.benefits li+li{border-left:0.0625rem solid #b3c8ca}
.benefits .icon{width:2.25rem;height:2.25rem;color:#1a7b7d}
.benefits b,.benefits small{display:block}
.benefits b{font-size:0.84375rem;line-height:1.12}
.benefits small{font-size:0.71875rem;margin-top:0.375rem;line-height:1.22}
h2{font-size:1.9375rem;line-height:1.05;letter-spacing:-0.04375rem;font-weight:700}
.services{padding:1.5625rem 1.8125rem 0}
.services h2{text-align:center;font-size:2.0625rem;margin-bottom:1.8125rem}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.service{min-width:0;display:grid;grid-template-columns:45% 55%;height:14rem;overflow:hidden;border:0.0625rem solid #d8e6e5;border-radius:0.75rem;background:linear-gradient(145deg,#f6fafb,#eaf5f4);box-shadow:0 0.125rem 0.3125rem #0d545d12}
.service-copy{display:flex;flex-direction:column;align-items:flex-start;padding:0.9375rem 1.25rem 0.9375rem 1.375rem}
.service h3{display:flex;align-items:flex-start;gap:0.625rem;font-size:1.375rem;line-height:.97;letter-spacing:-0.03125rem;min-height:2.125rem}
.service h3 .icon{width:1.8125rem;height:1.8125rem;color:#158483}
.service p{margin:0.4375rem 0 0.5rem;font-size:0.8125rem;line-height:1.24}
.price{margin-top:auto;background:#d3efed;color:#116267;border-radius:0.8125rem;padding:0.25rem 0.9375rem;font-size:1rem;line-height:1.15}
.price span{font-size:1.4375rem;font-weight:700}
.service .button{margin-top:0.75rem;height:2.5rem;width:12.1875rem;max-width:100%;font-size:0.875rem;gap:1rem}
.service .button .icon{width:1.1875rem;height:1.1875rem}
.price-note{text-align:center;font-size:0.75rem;color:#4d6368;margin-top:0.9375rem}
.process{padding:1.5rem 1.6875rem 1.5rem 2.375rem}
.process h2{margin-bottom:1.0625rem}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:.89fr 1.02fr 1.01fr 1.09fr;gap:2.375rem}
.steps li{position:relative;min-height:6.5rem;padding:0.5rem 0.5rem 0.5rem 0.5625rem;background:linear-gradient(145deg,#f1f8f8,#e7f2f2);border-radius:0.75rem}
.steps li:not(:last-child)::after{content:"→";position:absolute;left:calc(100% + 0.5rem);top:32%;font-size:1.625rem;color:#1b6269}
.steps h3{display:flex;align-items:center;gap:0.5rem;font-size:0.8125rem;line-height:1.06;min-height:1.75rem;letter-spacing:-0.00938rem}
.steps h3 span{display:grid;place-items:center;background:#11878a;color:white;border-radius:50%;width:1.5rem;height:1.5rem;flex:none}
.steps .icon{width:1.75rem;height:1.75rem;color:#177e83}
.steps p{font-size:0.75rem;line-height:1.25;margin:0.625rem 0 0 2rem}
.doctors{display:grid;grid-template-columns:1.11fr 1.32fr 1.4fr;gap:1.375rem;padding:1.375rem 1.5625rem 1.4375rem 2.25rem;border-top:0.0625rem solid #e3eeee}
.doctor-intro h2{margin-bottom:0.625rem}
.doctors p{font-size:0.7875rem;line-height:1.32}
.doctor-card{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);height:10.3125rem;border-radius:0.6875rem;overflow:hidden;background:linear-gradient(130deg,#edf7f7,#e0eff0)}
.doctor-card img{min-width:0;min-height:0;border-radius:0.4375rem}
.doctor-card div{padding:1rem 0.8125rem 0.625rem 1rem}
.doctor-card h3{font-size:0.8125rem;line-height:1.15;margin-bottom:0.625rem}
.doctor-card p{font-size:0.78125rem;line-height:1.18}
.consult{margin:0 0.9375rem;min-height:5.75rem;padding:0.5625rem 1.25rem 0.5625rem 2.6875rem;display:grid;grid-template-columns:4.6875rem 26.25rem auto;align-items:center;gap:1.4375rem;border-radius:0.75rem;color:white;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,#136f75,#428d91 78%,#43878c)}
.consult::before{content:"";position:absolute;inset:0 0 0 auto;width:12.3125rem;z-index:-1;background:url(assets/bay-v2.webp) right center / 100% 100% no-repeat;mask-image:linear-gradient(90deg,transparent,#000 35%)}
.consult .headset{width:3.75rem;height:3.75rem;stroke-width:1.4}
.consult h2{font-size:1.5rem;margin-bottom:0.3125rem}
.consult p{font-size:0.8125rem;line-height:1.28}
.white{background:#f8ffff;color:#102c3a}
.consult .button{justify-self:start;height:2.6875rem;padding:0 1.375rem;font-size:0.8125rem;box-shadow:0 0.125rem 0.5rem #06353b47}
.consult .button .icon{color:#16777d;width:1.0625rem;height:1.0625rem}
.faq{display:grid;grid-template-columns:13.3125rem 1fr;gap:1.4375rem;padding:1.125rem 2.6875rem 1.625rem 2.25rem}
.faq h2{display:flex;align-items:flex-start;gap:1.375rem;font-size:1.5625rem;padding-top:0.4375rem}
.faq h2 > [aria-hidden]{display:grid;place-items:center;position:relative;flex:none;width:2.6875rem;height:2.6875rem;margin-top:0.1875rem;background:#aedbda;border-radius:50%;color:#f7ffff;font-size:1.625rem}
.faq h2 > [aria-hidden]::after{content:"";position:absolute;left:0.25rem;bottom:-0.125rem;border:0.375rem solid transparent;border-left-color:#aedbda}
details{border:0.0625rem solid #d2e0e0;border-radius:0.5rem}
details+details{margin-top:0.25rem}
summary{position:relative;cursor:pointer;list-style:none;padding:0.4375rem 2.125rem 0.4375rem 1.0625rem;font-size:0.84375rem;font-weight:700}
summary::-webkit-details-marker{display:none}
summary::after{content:"";position:absolute;right:0.9375rem;top:34%;width:0.5rem;height:0.5rem;border:solid #176970;border-width:0 0.09375rem 0.09375rem 0;transform:rotate(45deg)}
details[open] summary::after{transform:rotate(225deg);top:45%}
details p{padding:0 1.0625rem 0.5625rem;font-size:0.8125rem;line-height:1.4}
.footer{padding:0.9375rem 1.75rem 0.9375rem 2rem;color:#f1faf9;background:linear-gradient(110deg,#083747,#0a4657,#0c4b5b)}
.footer-row{display:grid;grid-template-columns:14.5rem 13.75rem 10.125rem 1fr auto;align-items:center}
.footer-row>div,.footer-row>.phone{display:flex;align-items:center;gap:0.5625rem;border-left:0.0625rem solid #8aaeb5;padding-left:1.8125rem;min-height:1.5rem}
.footer-row>div{font-size:0.71875rem;line-height:1.18}
.footer .icon{width:1.25rem;height:1.25rem;color:inherit}
.footer .mark{fill:#f1faf9;width:2.0625rem;height:2.0625rem}
.footer .brand strong{font-size:1.1875rem}
.footer .brand small{font-size:0.59375rem}
.footer>p{text-align:center;color:#cce2e6;font-size:0.875rem;margin-top:1.125rem}
@media(max-width:760px){
  html{font-size:16px}
  .header{height:auto;min-height:64px;padding:12px 16px;flex-wrap:wrap;gap:10px}
  .header .brand strong{font-size:18px}
  .header .mark{width:30px;height:30px}
  .header .brand small{font-size:8px}
  .header .phone{font-size:12px;margin-left:auto}
  .header .callback{display:none}
  .header nav{order:3;border-left:0;border-top:1px solid #dce7e7;padding:7px 0 0;justify-content:space-between;width:100%;overflow:auto}
  .header nav a{padding:1px 5px;font-size:10.5px}
  .hero{height:auto;display:flex;flex-direction:column}
  .hero-copy{padding:25px 17px;order:-1}
  .hero h1{font-size:clamp(27px,7.6vw,45px)}
  .hero p:not(.visually-hidden){font-size:15px}
  .desktop{display:none}
  .hero-buttons{gap:8px;flex-wrap:wrap;margin-top:16px}
  .hero-buttons .button{width:auto;min-width:0;height:43px;padding:0 8px;gap:5px;font-size:11px}
  .hero-buttons .button:nth-child(2){width:auto}
.hero-buttons .icon{width:18px;height:18px}
  .hero-photo{position:relative;inset:auto;width:100%;aspect-ratio:524/298;clip-path:none;background-image:url(assets/hero-hd.webp);background-size:cover}
  .benefits{height:auto;grid-template-columns:1fr 1fr;padding:12px 10px;gap:12px 0}
  .benefits li{justify-content:flex-start;padding:0 6px;gap:7px}
  .benefits li:nth-child(3){border:0}
  .benefits .icon{width:25px;height:25px}
  .benefits b{font-size:11px}
  .benefits small{font-size:10px;margin-top:4px}
  h2,.services h2{font-size:26px}
  .services{padding:22px 14px 0}
  .services h2{margin-bottom:16px}
  .service-grid{grid-template-columns:1fr;gap:12px}
  .service{height:auto;min-height:188px;grid-template-columns:40% 60%}
  .service-copy{padding:10px 12px}
  .service h3{font-size:19px}
  .service .button{margin-top:8px}
  .process{padding:23px 14px}
  .steps{grid-template-columns:1fr 1fr;gap:10px}
  .steps li:not(:last-child)::after{display:none}
  .steps h3{font-size:11px;gap:5px}
  .steps .icon{width:20px;height:20px}
  .steps h3 span{width:20px;height:20px}
  .steps p{margin-left:0}
  .doctors{grid-template-columns:1fr;padding:19px 14px;gap:11px}
  .doctor-card{grid-template-columns:minmax(108px,35%) 1fr;height:auto;min-height:135px}
  .consult{grid-template-columns:40px 1fr;gap:8px;padding:12px;margin:0 14px}
  .consult::before{opacity:.48;width:min(54%,12.3125rem);background-size:cover}
  .consult .headset{width:37px;height:37px}
  .consult h2{font-size:21px}
  .consult .button{grid-column:2;height:36px;padding:0 12px}
  .faq{grid-template-columns:1fr;gap:10px;padding:15px 14px}
  .faq h2{align-items:center;gap:10px}
  .faq h2 br{display:none}
  .faq h2 > [aria-hidden]{width:30px;height:30px;font-size:20px}
  .footer{padding:15px 14px}
  .footer-row{grid-template-columns:1fr 1fr;gap:12px 8px}
  .footer-row .brand{grid-column:1/-1}
  .footer-row>div,.footer-row>.phone{border:0;padding-left:0}
  .footer .callback{justify-self:start}
  .footer>p{font-size:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}




/* Banner and request controls */
button.button{font-family:inherit;cursor:pointer}
button.callback{background:transparent}
.button:disabled{cursor:default;opacity:.58}
.button:focus-visible,.request-dialog :is(input,select,button):focus-visible{outline:2px solid #157e83;outline-offset:3px}
.hero-photo{clip-path:url(#hero-curve)}
.hero-badge{
  position:absolute;right:2.24%;top:52.35%;width:30.65%;height:36.25%;
  display:grid;align-content:space-evenly;padding:0 1rem;gap:0;
  border-radius:.8125rem;background:linear-gradient(135deg,#f8fcfc,#e8f4f4);
  color:#102c3a;box-shadow:0 3px 14px #142b3b21;
}
.hero-badge>div{display:flex;align-items:center;gap:.65rem}
.hero-badge strong{font-size:.875rem;line-height:1.14}
.hero-badge>div:first-child strong{font-size:1rem}
.hero-badge .icon{color:#177d82;width:1.55rem;height:1.55rem}
.hero-buttons .orange,.service .orange{
  background:linear-gradient(108deg,#efa47a,#e98763 56%,#e77e59);
  border-color:#f4b792;box-shadow:inset 0 0 8px #fdd5a45e,0 2px 5px #1838421c;
}
.hero-buttons .clinic-cta{background:#0c536759;border-color:#e5f7f8;box-shadow:inset 0 0 0 .04rem #e5f7f8}
.callback{animation:callback-outline 3.4s ease-in-out infinite}
.home-cta{animation:home-accent 4.5s ease-in-out infinite}
@keyframes callback-outline{0%,100%{box-shadow:0 0 0 0 #e7956740}50%{box-shadow:0 0 0 3px #e7956740}}
@keyframes home-accent{0%,100%{filter:brightness(1)}50%{filter:brightness(1.1)}}
.request-dialog{
  width:min(460px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;
  padding:24px;border:1px solid #ccdfdf;border-radius:15px;color:#102c3a;background:#f7fbfb;
  box-shadow:0 18px 70px #092f4560;font-size:15px;
}
.request-dialog::backdrop{background:#073744a3}
.request-dialog h2{font-size:24px;margin:0 24px 15px 0}
.dialog-close{position:absolute;top:8px;right:8px;width:38px;height:38px;border:0;border-radius:8px;background:#e5f2f2;color:#15595e;font-size:26px;cursor:pointer}
.request-form,.request-form>[data-field="home"],.request-links{display:grid;gap:10px}
.request-form label{display:block;font-weight:700}
.request-form label[hidden],.request-form [hidden]{display:none}
.request-form :is(input:not([type=checkbox]),select){
  display:block;width:100%;margin-top:5px;min-height:40px;padding:8px 10px;
  border:1px solid #a6c9cb;border-radius:7px;background:white;color:#102c3a;font:inherit;font-weight:400;
}
.request-form input[type=checkbox]{accent-color:#128387}
.captcha-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px}
.captcha-image{width:160px;height:52px;border-radius:6px;border:1px solid #c2d7d8}
.captcha-refresh{padding:7px;border:0;background:none;color:#075b61;text-decoration:underline;cursor:pointer}
.request-legal{font-size:13px;line-height:1.35}
.request-legal a,.request-phone{color:#075b61;text-decoration:underline}
.request-legal a{display:inline-block;margin:5px 8px 0 0}
.request-submit,.request-links .button{padding:11px 14px;font-size:15px}
.request-status{margin:12px 0;line-height:1.4}
.request-status:empty{display:none}
.request-phone{display:inline-block;margin-top:10px}
@media(max-width:760px){
  .hero-photo{clip-path:none}
  .hero-badge{right:2.65%;width:36.45%;padding:0 2.1vw;border-radius:2.5vw}
  .hero-badge strong{font-size:2.6vw}
  .hero-badge>div:first-child strong{font-size:2.95vw}
  .hero-badge>div{gap:1.25vw}
  .hero-badge .icon{width:4.8vw;height:4.8vw}
  .header .callback{display:inline-flex;height:28px;order:2;margin-left:auto}
}
@media(prefers-reduced-motion:reduce){.callback,.home-cta{animation:none}}



.image-credit{display:block;margin-top:.3rem;color:#4d6368;font-size:.66rem;line-height:1.3}
.operator{margin-top:.55rem;text-align:center;color:#cce2e6;font-size:.67rem;line-height:1.6}
.operator a{text-decoration:underline}

.hero-badge .badge-license{display:flex;align-items:center;gap:.65rem}
.badge-license:hover strong{text-decoration:underline}
.credentials{padding:1.25rem 1.8125rem 0}
.credentials h2{font-size:1.55rem;margin-bottom:.7rem}
.credentials-grid{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:.75rem}
.credentials article{display:flex;align-items:flex-start;gap:.6rem;padding:.8rem;border:1px solid #d5e6e6;border-radius:.7rem;background:#eaf4f4}
.credentials .credentials-license{background:linear-gradient(120deg,#fff3e8,#fce1d2);border-color:#df956c}
.credentials-license h3,.credentials .credentials-license a,.credentials .credentials-license .icon{color:#813c22}
@media(prefers-reduced-motion:no-preference){
  .credentials-license{animation:license-accent 3s ease-in-out infinite}
}
@keyframes license-accent{
  0%,100%{box-shadow:0 0 0 0 #e9946325}
  48%{box-shadow:0 0 0 .2rem #e9946377,0 0 .75rem #e994634d}
  78%{box-shadow:0 0 0 .32rem #e9946314}
}
.credentials .icon{color:#157a7c}
.credentials h3{font-size:.94rem;margin-bottom:.3rem;line-height:1.18}
.credentials p,.credentials a{font-size:.75rem;line-height:1.32}
.credentials a{display:inline-block;margin-top:.35rem;color:#095d64;font-weight:700;text-decoration:underline}
.request-date{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.request-date[hidden],.request-other[hidden]{display:none}
.confirmation-note,.request-preview{margin:.55rem 0;padding:9px 10px;border-left:3px solid #168685;background:#e3f2f0;font-size:13px;line-height:1.4}
.request-other{display:block;margin-top:.5rem;border:0;padding:0;background:none;color:#075b61;text-decoration:underline;cursor:pointer;font:inherit}
.request-dialog .captcha-image{object-fit:contain}
.document-page{max-width:760px;margin:auto;padding:24px}
.document-page h1{font-size:clamp(26px,5vw,42px);margin:18px 0 12px}
.document-page p,.document-page li{font-size:16px;line-height:1.45}
.document-page ol{margin-top:15px;padding-left:24px}
.document-page li{margin:0 0 10px}
.document-page a{color:#096268;text-decoration:underline}
@media(max-width:760px){
  .hero-badge .badge-license{gap:1.25vw}
  .credentials{padding:16px 14px 0}
  .credentials-grid{grid-template-columns:1fr;gap:7px}
}
@media(prefers-reduced-motion:no-preference){
  .callback{animation:callback-visible 2.35s ease-in-out infinite}
  .home-cta{animation:home-visible 2.7s ease-in-out infinite}
}
@keyframes callback-visible{
  0%,100%{box-shadow:0 0 0 0 #e2824c26}
  47%{border-color:#dc875d;box-shadow:0 0 0 3px #e5915c83,0 0 10px #e5915c60}
  78%{box-shadow:0 0 0 5px #e5915c18}
}
@keyframes home-visible{
  0%,100%{box-shadow:inset 0 0 7px #fdd5a45e,0 0 0 0 #ef996747}
  48%{filter:brightness(1.10);box-shadow:inset 0 0 12px #ffe0b4,0 0 0 3px #e8896080,0 0 13px #ef996778}
  82%{box-shadow:inset 0 0 7px #fdd5a45e,0 0 0 5px #ef996720}
}

.hero-copy{pointer-events:none}
.hero-copy .button{pointer-events:auto}


@media(max-width:760px){
  .header nav{flex-wrap:wrap;justify-content:space-around;overflow:visible}
  .header nav a{display:inline-flex;align-items:center;min-height:32px;padding:0 6px}
  .header .phone{min-height:32px}
  .header .callback,.hero-buttons .button{min-height:44px}
  .request-date{grid-template-columns:repeat(2,minmax(0,1fr))}
  .request-date input{min-width:0}
}
@media(max-width:359px){
  .hero-buttons .button{flex:1 1 100%}
  .footer-row>.phone{font-size:13px}
}

.faq details p a{color:#075b61;text-decoration:underline}
.service h3{align-items:center;line-height:1.02}
