/* Дополнение к общим стилям Атласа. */
.wave2{--w-ink:#173b50;--w-muted:#465c63;--w-paper:#fbf7f0;--w-dark:#102c42;--w-teal:#276d69;--w-line:#dad9c9;background:var(--w-paper);color:var(--w-ink)}
.wave2 .wrap{width:min(1180px,calc(100% - 64px));max-width:none;margin-inline:auto}
.wave2 .granov-service-breadcrumb{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.wave2 h1,.wave2 h2,.wave2 h3{overflow-wrap:break-word}
.wave2 h2{font-size:clamp(27px,3.25vw,45px);line-height:1.13;margin:0 0 1rem;letter-spacing:-.032em}
.wave2 h3{font-size:clamp(17px,1.8vw,23px);line-height:1.25;margin:0 0 .45rem}
.wave2 p{line-height:1.58}
.wave2 .w2-hero{padding:clamp(18px,3vw,48px) 0 30px;min-height:0;overflow:visible}
.w2-hero-grid,.w2-two,.w2-feature-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,78px);align-items:center}
.w2-feature-grid:has(>p:only-child){grid-template-columns:minmax(0,75ch)}
.wave2 .w2-hero h1{font-size:clamp(40px,5.35vw,76px);line-height:.995;max-width:13ch;margin:.18em 0 0;letter-spacing:-.055em}
.w2-hand{font:italic 650 clamp(26px,3.2vw,42px)/1.1 Georgia,serif!important;color:var(--w-teal);margin:.28em 0 .45em}
.wave2 .hero__lead{font-size:clamp(17px,1.42vw,21px);max-width:48ch;margin:0 0 22px}
.wave2 .hero__actions{display:flex;flex-wrap:wrap;gap:10px}
.wave2 .hero__actions .btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.15}
.w2-facts{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;list-style:none;margin:1.25rem 0 0;padding:0;font-size:.88rem}
.w2-facts li{padding-left:.85rem;border-left:2px solid #58a5a0}
.w2-figure{min-width:0;margin:0}
.w2-figure img{display:block;max-width:100%;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#f5eadb;border:1px solid #e5d7c4;border-radius:18px}
.w2-hero .w2-figure img{width:min(100%,535px);margin-inline:auto}
.w2-figure figcaption{font-size:.82rem;color:var(--w-muted);margin-top:.55rem}
.w2-figure figcaption span{color:var(--w-teal);font-weight:750}
.w2-first{padding-bottom:1rem}
.w2-warning{font-size:.78rem;color:var(--w-muted);margin:0 0 18px}
.w2-emergency{background:#f8e7dd;border-left:4px solid #a54830;border-radius:12px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.wave2 .w2-emergency h2{font-size:clamp(22px,3vw,31px);margin:0 0 .2em}.w2-emergency p{max-width:65ch;margin:0}.w2-emergency .btn{min-width:5rem}
.w2-section{border-top:1px solid var(--w-line);padding-block:clamp(34px,5.2vw,80px)}
.w2-section p{max-width:76ch;margin:.2em 0 .8em}
.w2-section .w2-feature-grid .w2-figure{max-width:330px}
.w2-feature{background:#f5ede1}.w2-position{background:#e7f0ea}
.w2-position p{font-size:clamp(20px,2.65vw,34px);line-height:1.3}
.w2-two{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(20px,4vw,60px)}
.w2-two .w2-figure{max-width:460px}
.w2-limits{align-items:start;grid-template-columns:repeat(2,minmax(0,1fr))}
.w2-limits>div,.w2-card{border:1px solid var(--w-line);border-radius:16px;background:#fffaf3;padding:clamp(14px,2.1vw,26px)}
.w2-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,24px)}
.w2-card{padding:0;overflow:hidden}.w2-card>.w2-figure img{border:0;border-radius:0}
.w2-card>.w2-figure figcaption,.w2-card>div{padding-inline:16px}.w2-card>div{padding-top:12px;padding-bottom:18px}
.w2-link,.w2-related a{font-weight:720;text-underline-offset:3px;color:var(--w-teal)}
.w2-options,.w2-price dl{margin:18px 0 0}
.w2-options div,.w2-price dl div{display:grid;grid-template-columns:minmax(0,1fr) minmax(6.5rem,auto);gap:1rem;border-top:1px solid var(--w-line);padding:.66rem 0}
.w2-options dd,.w2-price dd{margin:0;text-align:right;font-weight:750}
.w2-price{background:var(--w-dark);color:#fff8ed}
.w2-price h2,.w2-price h3{color:inherit}
.w2-pricegrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:18px 48px}
.w2-price .w2-price-main{font-size:clamp(30px,4vw,58px);line-height:1.12;font-weight:800;max-width:12ch;color:#a3ddd3;letter-spacing:-.035em}
.w2-price dl div{border-color:#ffffff42}.w2-price dl{margin-top:0}
.w2-price-example{grid-column:2;border-top:1px solid #ffffff42;padding-top:18px}
.w2-steps{counter-reset:w2step;list-style:none;padding:0;margin:0}
.w2-steps li{counter-increment:w2step;position:relative;padding:0 0 14px 56px}
.w2-steps li::before{content:counter(w2step);position:absolute;left:0;top:0;width:37px;height:37px;border:1px solid #8ebbb5;border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--w-teal)}
.w2-doctor{display:grid;grid-template-columns:minmax(105px,185px) minmax(0,1fr);align-items:center;gap:clamp(16px,4vw,52px)}
.w2-doctor img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:16px;background:#efe2d3}
.w2-clinic{background:#f0ebe0}
.w2-faq details{border-top:1px solid var(--w-line);max-width:82ch;padding:14px 2px}
.w2-faq summary{cursor:pointer;font-weight:760}.w2-faq details p{margin:10px 0 2px}
.w2-related{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.w2-related li{border:1px solid var(--w-line);border-radius:12px;padding:14px}
.w2-related span{display:block;font-size:.87rem;color:var(--w-muted);margin-top:4px}
.w2-library{padding-left:1.2rem}.w2-library li{margin:8px 0}
.wave2 .booking{padding-block:clamp(36px,5vw,80px);scroll-margin-top:90px}
.wave2 .booking__grid{align-items:start}
.wave2 .route__map{height:auto;aspect-ratio:4/3;margin:0 0 15px}
.wave2 .route__map iframe{display:block;border:0;width:100%;height:100%;border-radius:14px}
.wave2 .appointment-submit:disabled{opacity:.55;cursor:not-allowed}
.wave2 .granov-page-tail button{font:inherit;color:inherit;background:none;border:0;text-decoration:underline;cursor:pointer}
.wave2 .is-draft{border-left:3px solid #ad8354;padding:.75rem 1rem;margin:1rem 0;background:#f6ecdc}
.wave2 .w2-editorial{width:min(78ch,calc(100% - 32px));margin-inline:auto}
.wave2 .booking-invite{padding:28px;width:min(510px,calc(100% - 30px));max-height:85vh}
.wave2 .booking-invite h2{padding-right:20px}
@media(max-width:820px){.wave2 .wrap,.wave2 .granov-service-breadcrumb{width:calc(100% - 40px)}.w2-hero-grid{gap:22px}.wave2 .hero__actions{display:grid}.w2-related{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.wave2 .wrap,.wave2 .granov-service-breadcrumb{width:calc(100% - 32px)}.w2-hero-grid,.w2-two,.w2-feature-grid,.w2-cards,.w2-pricegrid{grid-template-columns:minmax(0,1fr)}.wave2 .w2-hero h1{font-size:clamp(35px,9.2vw,56px);max-width:none}.wave2 .w2-hero{padding-top:14px}.w2-hero .w2-figure{max-width:300px;margin:0 auto}.w2-price-example{grid-column:1}.w2-emergency{align-items:flex-start}.w2-emergency .btn{min-width:3rem;padding-inline:.85rem}.w2-doctor{grid-template-columns:95px minmax(0,1fr)}.w2-doctor h2{font-size:clamp(20px,6.3vw,32px)}.w2-related{grid-template-columns:1fr}.wave2 .booking{scroll-margin-top:125px}.wave2 .booking__card{padding:20px}.w2-figure img{border-radius:12px}}
@media(prefers-reduced-motion:reduce){.wave2 *, .wave2 *::before,.wave2 *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.w2-feature-grid:has(>div:only-child){grid-template-columns:minmax(0,85ch)}
.w2-figure-frame{position:relative}
.w2-mark{position:absolute;width:28px;height:28px;display:grid;place-items:center;background:#1d5557;color:white;border:2px solid #fffdf6;border-radius:50%;font-size:13px;line-height:1;font-weight:800;transform:translate(-50%,-50%)}
.w2-legend{font-size:.86rem;padding-left:1.35rem;color:var(--w-muted)}
.w2-legend li{margin:.3em 0}
.w2-card>.w2-figure img{border:0;border-radius:0}
/* Старый градиент ложится поверх кнопок в новом герое, здесь не нужен. */
.wave2 .w2-hero::before{content:none}
.w2-hero-grid>.w2-emergency{grid-column:1/-1}
.w2-hero-grid>.w2-figure{grid-row:1;grid-column:2}
.w2-hero-grid>.hero__copy{grid-row:1;grid-column:1}
.w2-figure figcaption span{margin-right:.26em}
@media(max-width:620px){
  .w2-hero-grid>.w2-figure{grid-row:auto;grid-column:1}
  .w2-emergency{padding:14px 16px;font-size:.92rem}
}
.wave2 .w2-hero h1{max-width:none;overflow-wrap:normal;hyphens:auto;text-wrap:balance}
.wave2 .btn--ghost:hover,.wave2 .btn--ghost:focus-visible{background:#e2efeb;color:var(--w-ink)}
@media(min-width:621px){.wave2 .w2-hero h1{font-size:clamp(36px,4.75vw,68px)}}
@media(max-width:400px){.wave2 .w2-hero h1{font-size:clamp(31px,8.3vw,38px)}}
