*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1c2a24;background:#fff;line-height:1.55}img{max-width:100%;display:block}a{color:inherit}button,input,textarea,select{font:inherit}.container{width:min(1180px,calc(100% - 32px));margin:0 auto}.narrow{max-width:820px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:999;background:#fff;padding:10px}.medical-warning{background:var(--dark);color:#fff;text-align:center;padding:7px 16px;font-size:13px;letter-spacing:.01em}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid #e6eee9}.header-row{min-height:78px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:220px}.brand img{height:52px;max-width:220px;object-fit:contain}.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:24px;box-shadow:0 8px 24px rgba(31,122,77,.22)}.brand strong{display:block;font-size:20px;color:var(--dark)}.brand small{display:block;font-size:11px;color:#6b7f74;max-width:180px}.main-nav{display:flex;gap:18px;align-items:center;flex:1;justify-content:center}.main-nav a{text-decoration:none;font-weight:600;font-size:14px;color:#31483c}.main-nav a:hover{color:var(--primary)}.header-phone{text-decoration:none;font-weight:800;color:var(--primary);white-space:nowrap}.menu-toggle{display:none;border:1px solid #dce7e0;background:#fff;border-radius:10px;padding:9px 12px}.hero{padding:48px 0 64px;background:radial-gradient(circle at 80% 10%,rgba(167,207,55,.18),transparent 35%),linear-gradient(180deg,#fbfdfb,#f2f8f4)}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:56px;align-items:center}.eyebrow{display:inline-block;font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--primary);margin-bottom:12px}.eyebrow.light{color:#dff5cf}.hero h1,.page-hero h1{font-size:clamp(42px,6vw,72px);line-height:1.02;letter-spacing:-.04em;margin:0 0 20px;color:var(--dark)}.hero-lead,.page-hero p{font-size:clamp(18px,2vw,22px);color:#53695e;max-width:690px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:13px;text-decoration:none;border:1px solid transparent;font-weight:800;transition:.2s ease;cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 12px 28px rgba(31,122,77,.2)}.btn-primary:hover{filter:brightness(.94)}.btn-ghost{background:#fff;border-color:#d8e5dd;color:var(--dark)}.btn-light{background:#fff;color:var(--dark)}.hero-facts{display:flex;gap:14px;flex-wrap:wrap}.hero-facts div{background:#fff;border:1px solid #dfe9e3;border-radius:14px;padding:12px 14px;min-width:130px}.hero-facts b,.hero-facts span{display:block}.hero-facts b{color:var(--dark)}.hero-facts span{font-size:12px;color:#73857b}.hero-media{position:relative}.hero-media .lightbox-link{display:block;border-radius:26px;overflow:hidden;box-shadow:0 28px 60px rgba(33,62,48,.18)}.hero-image{width:100%;height:560px;object-fit:cover}.hero-badge{position:absolute;left:20px;bottom:20px;background:rgba(23,51,42,.92);color:#fff;padding:12px 16px;border-radius:12px;font-weight:800;box-shadow:0 8px 30px rgba(0,0,0,.15)}.section{padding:74px 0}.section-soft{background:#f4f8f5}.section-dark{background:var(--dark);color:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.section h2{font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-.03em;margin:0 0 14px;color:var(--dark)}.section-dark h2{color:#fff}.text-link{color:var(--primary);font-weight:800;text-decoration:none}.cards-grid{display:grid;gap:20px}.promo-grid{grid-template-columns:repeat(3,1fr)}.card{background:#fff;border:1px solid #e3ebe6;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(34,60,48,.06)}.promo-thumb{background:#edf4ef;aspect-ratio:4/3;overflow:hidden}.promo-thumb .lightbox-link{height:100%;display:block}.card-image{width:100%;height:100%;object-fit:cover;transition:transform .25s}.promo-card:hover .card-image{transform:scale(1.02)}.card-body{padding:20px}.card h2,.card h3{font-size:22px;line-height:1.2;margin:0 0 10px;color:var(--dark)}.card p{color:#66786f;margin:0 0 18px}.price-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.price-row strong{font-size:22px;color:var(--primary)}.price-row a{font-weight:800;color:var(--dark)}.feature-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:start}.feature-grid p{color:#c8d8d0;font-size:18px}.feature-list{display:grid;gap:14px}.feature-list div{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);padding:18px;border-radius:16px}.feature-list b,.feature-list span{display:block}.feature-list b{font-size:18px}.feature-list span{color:#bfd0c7}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gallery-grid figure{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:1/1;background:#edf3ef}.gallery-grid .lightbox-link{display:block;height:100%}.gallery-image{width:100%;height:100%;object-fit:cover}.faq-list{display:grid;gap:12px;max-width:900px}.faq-list details{background:#fff;border:1px solid #e0e8e3;border-radius:16px;padding:18px 20px}.faq-list summary{font-weight:800;cursor:pointer;color:var(--dark)}.faq-list p{margin:12px 0 0;color:#5e7167}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}.contact-points{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.contact-points>a,.contact-points>div{background:#fff;border:1px solid #dfe8e2;border-radius:14px;padding:14px;text-decoration:none}.contact-points b,.contact-points span{display:block}.contact-points span{font-size:13px;color:#63766c}.contact-form{background:#fff;border:1px solid #dde7e0;border-radius:22px;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:16px;box-shadow:0 14px 40px rgba(34,59,48,.07)}.contact-form label{display:grid;gap:7px;font-weight:700;color:#33483d}.contact-form label:nth-of-type(4),.contact-form .check,.contact-form .alert,.contact-form button{grid-column:1/-1}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:1px solid #cfdcd4;border-radius:12px;padding:12px 13px;background:#fff;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(31,122,77,.1)}.contact-form .check{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;font-weight:500}.check input{width:auto;margin-top:5px}.hp{position:absolute;left:-9999px}.alert{padding:12px 14px;border-radius:12px;font-weight:600}.alert.success{background:#e7f6ea;color:#225f34}.alert.error{background:#fff0ef;color:#8d2b22}.alert ul{margin:0;padding-left:20px}.page-hero{padding:62px 0 44px;background:linear-gradient(180deg,#f3f8f5,#fff)}.service-grid{grid-template-columns:repeat(3,1fr)}.service-card{padding:26px}.service-card h2{font-size:26px}.service-icon{width:46px;height:46px;border-radius:14px;background:#edf7ef;display:grid;place-items:center;color:var(--primary);font-size:24px;margin-bottom:18px}.service-card strong{color:var(--primary);font-size:18px}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.rounded-image,.document-image{border-radius:22px;box-shadow:0 18px 44px rgba(34,59,48,.13)}.info-box{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;padding:18px;border-radius:16px;background:#f5f8f6;margin-top:26px}.info-box a{text-decoration:none;color:var(--primary);font-weight:800}.muted{color:#74867c;font-size:14px}.contacts-layout{align-items:start}.contact-card{background:#fff;border:1px solid #dde7e0;border-radius:20px;padding:26px}.contact-card dl{display:grid;grid-template-columns:120px 1fr;gap:12px 16px}.contact-card dt{font-weight:800;color:#53685d}.contact-card dd{margin:0}.contact-card a{color:var(--primary)}.prose{font-size:18px;color:#42564b}.site-footer{background:#10271f;color:#d9e6df;padding:48px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr .7fr;gap:28px}.site-footer a{color:#fff}.footer-brand{font-size:24px;font-weight:900;color:#fff}.site-footer p{color:#b9cbc2}.footer-bottom{margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:#96aca1}.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(8,16,12,.92);display:grid;place-items:center;padding:28px}.lightbox[hidden]{display:none}.lightbox img{max-width:min(92vw,1400px);max-height:88vh;object-fit:contain}.lightbox button{position:fixed;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:999px;width:46px;height:46px;font-size:30px;cursor:pointer}.lightbox-close{right:24px;top:24px}.lightbox-prev{left:24px;top:50%;transform:translateY(-50%)}.lightbox-next{right:24px;top:50%;transform:translateY(-50%)}
@media(max-width:980px){.main-nav{position:absolute;left:16px;right:16px;top:82px;background:#fff;border:1px solid #dce7e0;border-radius:16px;padding:14px;display:none;flex-direction:column;align-items:stretch;box-shadow:0 18px 40px rgba(0,0,0,.12)}.main-nav.open{display:flex}.menu-toggle{display:block;margin-left:auto}.header-phone{display:none}.hero-grid,.feature-grid,.contact-grid,.split{grid-template-columns:1fr}.hero-media{order:-1}.hero-image{height:420px}.promo-grid,.service-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.container{width:min(100% - 24px,1180px)}.medical-warning{font-size:11px}.header-row{min-height:66px}.brand{min-width:0}.brand small{display:none}.brand strong{font-size:18px}.brand-mark{width:38px;height:38px}.hero{padding:24px 0 42px}.hero-grid{gap:26px}.hero-image{height:310px}.hero h1,.page-hero h1{font-size:40px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero-facts{display:grid;grid-template-columns:1fr 1fr}.hero-facts div:last-child{grid-column:1/-1}.section{padding:52px 0}.section-head{align-items:flex-start;flex-direction:column}.promo-grid,.service-grid,.gallery-grid{grid-template-columns:1fr}.contact-points{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr;padding:18px}.contact-form label{grid-column:1/-1}.footer-grid{grid-template-columns:1fr}.page-hero{padding:42px 0 26px}.contact-card dl{grid-template-columns:1fr;gap:3px}.contact-card dd{margin-bottom:10px}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-close{right:10px;top:10px}}

/* Reviews added through the admin panel */
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{position:relative;background:#fff;border:1px solid #dfe8e2;border-radius:18px;padding:24px;box-shadow:0 10px 28px rgba(34,60,48,.05)}.review-card p{margin:12px 0 18px;color:#566a5f}.review-card strong{color:var(--dark)}.review-quote{font-family:Georgia,serif;font-size:52px;line-height:.7;color:var(--accent);font-weight:800}.brand-logo{width:46px!important;height:46px!important;object-fit:contain;flex:0 0 46px}
@media(max-width:980px){.reviews-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.reviews-grid{grid-template-columns:1fr}.brand-logo{width:40px!important;height:40px!important;flex-basis:40px}}


/* Price list */
.price-preview-section{background:linear-gradient(180deg,#fff,#f8fbf9)}
.section-intro{max-width:680px;margin:8px 0 0;color:#66796f}
.home-price-list{display:grid;gap:10px}
.home-price-row{display:grid;grid-template-columns:110px 1fr auto;gap:18px;align-items:center;padding:16px 18px;background:#fff;border:1px solid #dfe8e2;border-radius:16px;text-decoration:none;color:var(--dark);transition:.2s ease}
.home-price-row:hover{transform:translateY(-1px);border-color:#bfd3c6;box-shadow:0 12px 26px rgba(34,59,48,.07)}
.home-price-code{font-size:13px;font-weight:800;color:#74867c}
.home-price-name{font-weight:700}
.home-price-row strong{white-space:nowrap;color:var(--primary);font-size:18px}
.price-hero{padding-bottom:36px}
.price-page{padding-top:30px}
.price-note{display:flex;justify-content:space-between;gap:24px;align-items:center;background:linear-gradient(135deg,var(--dark),#234a3d);color:#fff;border-radius:20px;padding:20px 22px;margin-bottom:20px}
.price-note div{display:grid;gap:3px}
.price-note b{font-size:18px}
.price-note span{color:#c6d8cf;font-size:14px}
.price-note a{flex:none;color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:10px 14px;text-decoration:none;font-weight:800}
.price-toolbar{position:sticky;top:12px;z-index:20;display:grid;grid-template-columns:minmax(280px,1fr) minmax(220px,340px) auto;gap:10px;padding:12px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border:1px solid #dfe8e2;border-radius:18px;box-shadow:0 12px 34px rgba(34,59,48,.08);margin-bottom:12px}
.price-search-wrap{display:flex;align-items:center;gap:9px;border:1px solid #cedbd3;border-radius:12px;padding:0 12px;background:#fff}
.price-search-wrap span{font-size:24px;color:#6e8277;transform:rotate(-20deg)}
.price-search-wrap input{width:100%;border:0;outline:0;padding:13px 2px;font:inherit;background:transparent}
.price-toolbar select,.price-reset{border:1px solid #cedbd3;border-radius:12px;background:#fff;padding:12px 13px;font:inherit;color:#2f4439}
.price-reset{cursor:pointer;font-weight:800}
.price-reset:hover{border-color:var(--primary);color:var(--primary)}
.price-meta{display:flex;justify-content:space-between;gap:20px;color:#74867c;font-size:13px;padding:4px 3px 14px}
.price-list{display:grid;gap:10px}
.price-section{background:#fff;border:1px solid #dde7e1;border-radius:18px;overflow:hidden}
.price-section[hidden]{display:none}
.price-section>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;font-weight:850;color:var(--dark);transition:.2s ease}
.price-section>summary::-webkit-details-marker{display:none}
.price-section>summary:hover{background:#f7faf8}
.price-section>summary::after{content:"+";display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:999px;background:#edf5f0;color:var(--primary);font-size:21px;line-height:1}
.price-section[open]>summary::after{content:"−"}
.price-section-title{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.price-section-code{flex:none;background:#edf5f0;color:var(--primary);border-radius:999px;padding:5px 9px;font-size:12px;letter-spacing:.02em}
.price-section-count{margin-left:auto;color:#7b8d83;font-size:12px;font-weight:700;white-space:nowrap}
.price-table-wrap{border-top:1px solid #e4ece7;overflow:auto}
.price-table{width:100%;border-collapse:collapse;min-width:760px}
.price-table th{position:sticky;top:0;background:#f5f8f6;color:#65786e;font-size:12px;text-align:left;padding:11px 16px;border-bottom:1px solid #e1e9e4}
.price-table td{padding:14px 16px;border-bottom:1px solid #edf1ef;vertical-align:top}
.price-table tr:last-child td{border-bottom:0}
.price-table tr[hidden]{display:none}
.price-table tbody tr:hover{background:#fbfdfc}
.price-table th:nth-child(1),.price-table td:nth-child(1){width:120px}
.price-table th:nth-child(3),.price-table td:nth-child(3){width:150px}
.price-table th:nth-child(4),.price-table td:nth-child(4){width:150px}
.price-code{display:inline-flex;padding:5px 8px;border-radius:8px;background:#f2f6f3;color:#60746a;font-size:12px;font-weight:800;white-space:nowrap}
.price-name{color:#2d4136;line-height:1.45}
.price-value strong{color:var(--primary);font-size:17px;white-space:nowrap}
.price-term{color:#6f8278;white-space:nowrap}
.price-empty{padding:34px;border:1px dashed #cad8cf;border-radius:18px;text-align:center;color:#63766c;background:#fbfdfc}
.price-disclaimer{margin:20px 2px 0;color:#75877e;font-size:13px;line-height:1.55}
@media(max-width:760px){
  .home-price-row{grid-template-columns:76px 1fr;gap:8px 12px}.home-price-row strong{grid-column:2;font-size:17px}
  .price-note{align-items:flex-start;flex-direction:column}.price-note a{width:100%;text-align:center}
  .price-toolbar{position:static;grid-template-columns:1fr}.price-meta{flex-direction:column;gap:3px}
  .price-section>summary{padding:15px 14px}.price-section-title{align-items:flex-start;flex-direction:column;gap:6px}.price-section-count{display:none}
  .price-table-wrap{overflow:visible}.price-table{min-width:0}.price-table thead{display:none}.price-table,.price-table tbody,.price-table tr,.price-table td{display:block;width:100%!important}
  .price-table tr{padding:15px 14px;border-top:1px solid #e8efea}.price-table tr:first-child{border-top:0}.price-table td{border:0;padding:3px 0}
  .price-table td:before{content:attr(data-label);display:inline-block;min-width:90px;margin-right:8px;color:#84948c;font-size:11px;font-weight:700;vertical-align:top}
  .price-table .price-name{padding:7px 0 8px;font-weight:700}.price-table .price-name:before{display:block;margin:0 0 4px}
}
@media print{
  .site-header,.medical-warning,.site-footer,.price-toolbar,.price-note a,#contact-form,.menu-toggle{display:none!important}
  .price-section{display:block!important;break-inside:avoid}.price-section>summary::after{display:none}.price-section:not([open])>.price-table-wrap{display:block}
  .price-page{padding:0}.page-hero{padding:10px 0 20px}.price-table{min-width:0}.price-table th,.price-table td{padding:7px 9px}
}


/* Yandex reputation widgets, floating actions and branded glow */
.glow-button,.btn-primary,.header-phone{position:relative;isolation:isolate}
.glow-button,.btn-primary{box-shadow:0 12px 30px rgba(31,122,77,.22),0 0 0 1px rgba(167,207,55,.10),0 0 26px rgba(167,207,55,.10)}
.glow-button:hover,.btn-primary:hover{box-shadow:0 15px 36px rgba(31,122,77,.30),0 0 0 1px rgba(167,207,55,.28),0 0 34px rgba(167,207,55,.24);transform:translateY(-2px)}
.glow-button:after,.btn-primary:after{content:"";position:absolute;inset:-2px;border-radius:inherit;pointer-events:none;border:1px solid rgba(167,207,55,.24);opacity:0;animation:brandGlow 2.8s ease-in-out infinite}
@keyframes brandGlow{0%,100%{opacity:0;transform:scale(1)}50%{opacity:.65;transform:scale(1.035)}}
.header-phone{padding:9px 12px;border-radius:11px;background:#f4f9f5;transition:.2s ease}.header-phone:hover{background:#edf7ef;box-shadow:0 0 0 3px rgba(167,207,55,.18)}
.btn-whatsapp{background:#f1f8f3;border-color:#cfe4d6;color:#176b40}.btn-whatsapp:hover{background:#e8f4ec;border-color:#afd1bc}
.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.yandex-section{background:linear-gradient(180deg,#f8fbf9,#fff)}.yandex-compact{padding-top:58px;padding-bottom:58px}
.yandex-head{align-items:center}.yandex-widgets{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.yandex-widget-card{position:relative;overflow:hidden;background:#fff;border:1px solid #dfe8e2;border-radius:22px;box-shadow:0 14px 38px rgba(34,59,48,.08)}
.yandex-widget-card iframe{display:block;width:100%;border:0}.yandex-map-card iframe{height:520px}.yandex-reviews-card iframe{height:520px}.contact-map iframe{height:520px}
.review-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:28px;align-items:stretch}.review-action-card{border-radius:24px;padding:34px;background:radial-gradient(circle at 15% 10%,rgba(167,207,55,.20),transparent 36%),linear-gradient(145deg,#15372b,#1f5f43);color:#fff;box-shadow:0 22px 50px rgba(23,51,42,.18)}.review-action-card h2{color:#fff}.review-action-card p{color:#d7e7de;font-size:18px}.review-action-card small{display:block;color:#bdd1c6;margin-top:14px}.review-stars{display:block;letter-spacing:.12em;color:#d7f16c;font-size:24px;margin-bottom:18px}.review-widget-large iframe{height:540px}.review-map-wide iframe{height:480px}
.floating-whatsapp{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;align-items:center;justify-content:center;gap:10px;width:190px;height:56px;padding:0 18px;border:1px solid rgba(255,255,255,.24);border-radius:18px;background:linear-gradient(135deg,var(--primary),#2a9560);color:#fff;text-decoration:none;font-weight:850;box-shadow:0 16px 38px rgba(31,122,77,.30),0 0 30px rgba(167,207,55,.14);transition:.22s ease}.floating-whatsapp:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(31,122,77,.36),0 0 34px rgba(167,207,55,.22)}.wa-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:rgba(255,255,255,.16);font-size:19px}
.back-to-top{position:fixed;right:24px;bottom:86px;z-index:88;width:46px;height:46px;border:1px solid rgba(31,122,77,.16);border-radius:50%;background:rgba(255,255,255,.94);color:var(--primary);font-size:24px;font-weight:900;cursor:pointer;box-shadow:0 12px 30px rgba(34,59,48,.14);opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s ease}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--primary);color:#fff;box-shadow:0 14px 34px rgba(31,122,77,.28)}
.fortune-launcher{position:fixed;left:20px;bottom:20px;z-index:89;display:flex;align-items:center;justify-content:center;gap:10px;width:190px;height:56px;padding:0 18px;border:1px solid rgba(255,255,255,.24);border-radius:18px;background:linear-gradient(135deg,var(--primary),#2a9560);color:#fff;cursor:pointer;box-shadow:0 16px 38px rgba(31,122,77,.30),0 0 30px rgba(167,207,55,.14);transition:.22s ease}.fortune-launcher:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(31,122,77,.36),0 0 34px rgba(167,207,55,.22)}.fortune-launcher-wheel{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:conic-gradient(var(--accent) 0 72deg,#d6e99e 72deg 144deg,var(--primary) 144deg 216deg,#72ad78 216deg 288deg,#0f2f24 288deg 360deg);border:2px solid rgba(255,255,255,.9);font-weight:950;font-size:16px;box-shadow:0 0 0 2px rgba(167,207,55,.16)}.fortune-launcher b,.fortune-launcher small{display:block;text-align:left}.fortune-launcher b{font-size:14px;line-height:1.1}.fortune-launcher small{color:#e2f0e8;font-size:10px;line-height:1.15;margin-top:2px}
.fortune-modal{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:20px;background:rgba(8,20,15,.72);backdrop-filter:blur(8px)}.fortune-modal[hidden]{display:none}.fortune-dialog{position:relative;width:min(92vw,500px);max-height:94vh;overflow:auto;border-radius:28px;background:#fff;padding:30px;text-align:center;box-shadow:0 28px 80px rgba(0,0,0,.30)}.fortune-dialog h2{font-size:36px;line-height:1.05;margin:0 0 10px;color:var(--dark)}.fortune-dialog p{color:#607369;margin:0 auto 18px;max-width:390px}.fortune-close{position:absolute;right:14px;top:14px;width:40px;height:40px;border:0;border-radius:50%;background:#eef5f0;color:var(--dark);font-size:26px;cursor:pointer}.fortune-stage{position:relative;width:290px;height:290px;margin:10px auto 22px}.fortune-pointer{position:absolute;z-index:5;left:50%;top:-4px;transform:translateX(-50%);width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top:30px solid var(--dark);filter:drop-shadow(0 4px 4px rgba(0,0,0,.16))}.fortune-wheel{position:absolute;inset:10px;border-radius:50%;background:conic-gradient(var(--accent) 0 72deg,#d9ed9f 72deg 144deg,var(--primary) 144deg 216deg,#73af7a 216deg 288deg,var(--dark) 288deg 360deg);border:8px solid #fff;box-shadow:0 0 0 4px #dce8df,0 18px 44px rgba(23,51,42,.18),0 0 35px rgba(167,207,55,.18);will-change:transform}.fortune-wheel.is-spinning{animation:fortunePulse .7s ease-in-out infinite alternate}.fortune-stage.is-spinning .fortune-pointer{animation:fortunePointer .18s ease-in-out infinite alternate}@keyframes fortunePulse{from{box-shadow:0 0 0 4px #dce8df,0 18px 44px rgba(23,51,42,.18),0 0 24px rgba(167,207,55,.14)}to{box-shadow:0 0 0 5px #dce8df,0 24px 54px rgba(23,51,42,.24),0 0 48px rgba(167,207,55,.34)}}@keyframes fortunePointer{from{transform:translateX(-50%) rotate(-2deg)}to{transform:translateX(-50%) rotate(2deg)}}.fortune-wheel:before{content:"";position:absolute;inset:12px;border-radius:50%;border:2px dashed rgba(255,255,255,.46)}.fortune-wheel span{--angle:calc(var(--i)*72deg + 36deg);position:absolute;left:50%;top:50%;width:54px;margin-left:-27px;margin-top:-13px;color:#fff;font-weight:950;font-size:17px;text-shadow:0 1px 4px rgba(0,0,0,.24);transform:rotate(var(--angle)) translateY(-96px) rotate(calc(-1 * var(--angle)))}.fortune-wheel span:nth-child(2){color:#254232;text-shadow:none}.fortune-wheel i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#fff;color:var(--primary);font-style:normal;font-size:28px;box-shadow:0 8px 18px rgba(0,0,0,.18)}.fortune-spin{width:100%;font-size:17px}.fortune-result{min-height:54px;margin-top:13px;border-radius:14px;padding:0 12px;display:grid;place-items:center;color:var(--dark);font-weight:800}.fortune-result.show{background:#edf8ef;border:1px solid #cae3d0;padding:12px}.fortune-result strong{font-size:24px;color:var(--primary)}.fortune-result code{background:#fff;border:1px dashed #a9c8b4;border-radius:8px;padding:5px 8px;margin-left:6px;color:var(--dark)}.fortune-note{display:block;color:#7a8c82;margin-top:12px;line-height:1.4}
@media(max-width:1120px){.main-nav{position:absolute;left:16px;right:16px;top:82px;background:#fff;border:1px solid #dce7e0;border-radius:16px;padding:14px;display:none;flex-direction:column;align-items:stretch;box-shadow:0 18px 40px rgba(0,0,0,.12)}.main-nav.open{display:flex}.menu-toggle{display:block;margin-left:auto}.header-phone{display:none}}
@media(max-width:820px){.yandex-widgets,.review-layout{grid-template-columns:1fr}.yandex-map-card iframe,.yandex-reviews-card iframe,.review-widget-large iframe{height:440px}.review-action-card{padding:26px}.fortune-launcher,.floating-whatsapp{bottom:14px;width:56px;height:56px;padding:0;border-radius:18px}.fortune-launcher{left:14px}.floating-whatsapp{right:14px}.fortune-launcher>span:last-child,.floating-whatsapp span:last-child{display:none}.fortune-launcher-wheel,.wa-icon{width:36px;height:36px;flex-basis:36px}.back-to-top{right:19px;bottom:82px}}
@media(max-width:520px){.yandex-map-card iframe,.yandex-reviews-card iframe,.contact-map iframe,.review-widget-large iframe,.review-map-wide iframe{height:390px}.fortune-dialog{padding:25px 18px 22px}.fortune-stage{width:260px;height:260px}.fortune-wheel span{transform:rotate(var(--angle)) translateY(-84px) rotate(calc(-1 * var(--angle)))}.fortune-dialog h2{font-size:31px}.contact-actions{display:grid}.contact-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.glow-button:after,.btn-primary:after{animation:none}.fortune-wheel.is-spinning,.fortune-stage.is-spinning .fortune-pointer{animation:none}.back-to-top,.floating-whatsapp,.fortune-launcher{transition:none}}

/* v4 enhancements: route scheme and improved prices page */
.price-hero-actions{margin-top:24px}
.price-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;align-items:start}.price-main{min-width:0}.price-sidebar{position:relative}.price-sidebar-card{position:sticky;top:104px;background:linear-gradient(180deg,#ffffff,#f4faf6);border:1px solid #dce8df;border-radius:24px;padding:24px;box-shadow:0 18px 42px rgba(23,51,42,.08)}.price-sidebar-card h2{font-size:28px;line-height:1.05;margin:0 0 12px}.price-sidebar-card p{color:#607369;margin:0 0 16px}.price-sidebar-actions{display:grid;gap:10px;margin:18px 0}.price-help-lines{display:grid;gap:12px;margin-top:10px}.price-help-lines div{padding:12px 14px;border-radius:16px;background:#fff;border:1px solid #e2ebe5}.price-help-lines b,.price-help-lines span,.price-help-lines a{display:block}.price-help-lines b{margin-bottom:4px;color:var(--dark)}.selected-analysis{padding:16px 18px;border-radius:18px;border:1px solid #d8e8dd;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.selected-analysis b,.selected-analysis span{display:block}.selected-analysis b{font-size:18px;color:var(--dark);margin-bottom:5px}.selected-analysis span{color:#688075}.selected-analysis.empty{background:linear-gradient(180deg,#f9fcfa,#f4f8f5)}
.price-quick-nav{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:22px 0 20px}.price-quick-label{font-weight:800;color:var(--dark)}.price-chip{appearance:none;border:1px solid #dbe8df;background:#fff;color:#214033;border-radius:999px;padding:10px 14px;font-weight:700;cursor:pointer;transition:.2s ease;box-shadow:0 6px 16px rgba(23,51,42,.04)}.price-chip:hover{border-color:#b4d1bc;background:#f3faf5;transform:translateY(-1px);box-shadow:0 10px 22px rgba(31,122,77,.08)}
.price-toolbar{background:#fff;padding:14px;border:1px solid #dfe9e3;border-radius:22px;box-shadow:0 12px 28px rgba(23,51,42,.05)}.price-search-wrap{min-width:0;background:#f8fbf9}.price-search-wrap input{background:transparent}.price-meta{margin-top:14px}
.price-section{background:#fff;border:1px solid #dde8e2;border-radius:22px;box-shadow:0 12px 30px rgba(23,51,42,.05)}.price-section + .price-section{margin-top:14px}.price-section>summary{padding:18px 20px}.price-section>summary:hover{background:#f8fbf9}.price-table thead th{font-size:13px;letter-spacing:.02em}.price-table tbody tr{transition:.16s ease}.price-table tbody tr:hover,.price-table tbody tr:focus-within{background:#f7fbf8}.price-item{outline:none}.price-item.is-hit{background:linear-gradient(90deg,rgba(167,207,55,.10),rgba(31,122,77,.04))}.price-item:focus-visible{box-shadow:inset 0 0 0 2px rgba(31,122,77,.22)}.price-code{display:inline-flex;min-width:66px;justify-content:center;padding:6px 10px;border-radius:999px;background:#edf7ef;color:var(--primary);font-weight:800}.price-action-cell{width:150px}.price-cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:1px solid #cfe0d3;border-radius:12px;background:#f5faf6;color:var(--primary);font-weight:800;cursor:pointer;transition:.2s ease}.price-cta:hover{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 12px 28px rgba(31,122,77,.18);transform:translateY(-1px)}
.price-disclaimer{margin-top:18px;padding:15px 18px;border-radius:18px;background:#f8fbf9;border:1px solid #e3ece6;color:#65796e}.price-empty{margin-top:18px;padding:18px;border-radius:18px;background:#fff2f2;border:1px solid #f0d2d2;color:#8c4545}
.route-section{background:linear-gradient(180deg,#fbfdfb,#f3f8f4)}.route-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:22px;align-items:stretch}.route-card{background:#fff;border:1px solid #dde8e2;border-radius:26px;padding:22px;box-shadow:0 16px 40px rgba(23,51,42,.07)}.route-visual-top{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.route-badge{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;background:#eaf5ed;color:var(--primary);font-size:13px;font-weight:800}.route-badge.soft{background:#f4f7ea;color:#627a29}.route-visual svg{width:100%;height:auto;display:block}.route-steps{margin:0;padding:0;list-style:none;display:grid;gap:14px}.route-steps li{display:grid;gap:5px;padding:14px 16px;border-radius:18px;background:#f8fbf9;border:1px solid #e5eee8}.route-steps b{color:var(--dark)}.route-steps span{color:#64796e}.route-tips{display:grid;gap:12px;margin-top:16px}.route-tips div{display:grid;gap:4px;padding:13px 15px;border-radius:16px;background:#fff;border:1px solid #e2ebe5}.route-tips b{color:var(--dark)}
.lightbox img{max-height:min(88vh,980px);max-width:min(92vw,1600px);border-radius:22px;box-shadow:0 24px 60px rgba(0,0,0,.28)}.lightbox-close,.lightbox-prev,.lightbox-next{background:rgba(255,255,255,.92);backdrop-filter:blur(8px)}
@media(max-width:1100px){.price-layout{grid-template-columns:1fr}.price-sidebar-card{position:static}.route-layout{grid-template-columns:1fr}.price-action-cell{width:auto}}
@media(max-width:820px){.price-quick-nav{display:grid;grid-template-columns:1fr 1fr}.price-quick-label{grid-column:1/-1}.price-chip{width:100%;justify-content:center;text-align:center}.price-sidebar-card h2{font-size:25px}.route-card{padding:18px}}
@media(max-width:620px){.price-toolbar{grid-template-columns:1fr;display:grid}.price-search-wrap{width:100%}.price-toolbar select,.price-reset{width:100%}.price-page .container{width:min(100% - 20px,1180px)}.price-section>summary{padding:16px}.price-table tr{border-radius:0}.price-table td:before{min-width:88px}.price-action-cell{padding-top:10px!important}.price-cta{width:100%;min-height:44px}.price-quick-nav{grid-template-columns:1fr}.route-card{padding:16px}.route-visual-top{margin-bottom:8px}}


/* v5: button text visibility and consistent controls */
.btn,
button,
.price-cta,
.price-reset,
.price-chip,
.menu-toggle,
.floating-whatsapp,
.fortune-launcher {
  -webkit-text-fill-color: currentColor;
  text-shadow: none;
}
.btn {
  position: relative;
  z-index: 0;
  line-height: 1.2;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  visibility: visible;
  opacity: 1;
}
.btn-primary,
.btn-primary:link,
.btn-primary:visited,
button.btn-primary {
  background: var(--primary, #1f7a4d) !important;
  border-color: var(--primary, #1f7a4d) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.btn-primary:hover,
.btn-primary:focus-visible {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.btn-ghost,
.btn-ghost:link,
.btn-ghost:visited {
  background: #fff !important;
  color: var(--dark, #17332a) !important;
  -webkit-text-fill-color: var(--dark, #17332a) !important;
  border-color: #d8e5dd !important;
}
.btn-light,
.btn-light:link,
.btn-light:visited {
  background: #fff !important;
  color: var(--dark, #17332a) !important;
  -webkit-text-fill-color: var(--dark, #17332a) !important;
}
.btn-whatsapp,
.btn-whatsapp:link,
.btn-whatsapp:visited {
  background: #eef8f1 !important;
  color: #176b40 !important;
  -webkit-text-fill-color: #176b40 !important;
  border-color: #c9dfd0 !important;
}
.price-cta,
.price-reset,
.price-chip,
.menu-toggle {
  color: var(--dark, #17332a) !important;
  -webkit-text-fill-color: var(--dark, #17332a) !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.price-cta:hover,
.price-cta:focus-visible {
  background: var(--primary, #1f7a4d) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.contact-form button.btn-primary,
.fortune-spin.btn-primary,
.review-cta.btn-primary {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  min-height: 50px;
}
.glow-button::after,
.btn-primary::after {
  z-index: -1;
}
.floating-whatsapp,
.fortune-launcher {
  width: min(190px, calc(50vw - 24px));
  min-width: 132px;
  height: 56px;
  min-height: 56px;
  max-height: 56px;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  overflow: hidden;
  white-space: nowrap;
  font-size: 14px;
  line-height: 1.1;
}
.floating-action-label {
  display: block !important;
  min-width: 0;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-weight: 850;
  line-height: 1.08;
  opacity: 1 !important;
  visibility: visible !important;
}
.fortune-action-label b,
.fortune-action-label small {
  display: block !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.fortune-action-label small {
  color: #e4f1e9 !important;
  -webkit-text-fill-color: #e4f1e9 !important;
}
@media (max-width:820px) {
  .fortune-launcher,
  .floating-whatsapp {
    bottom: 12px;
    width: calc(50vw - 18px);
    min-width: 0;
    height: 56px;
    padding: 0 10px;
    border-radius: 16px;
    gap: 7px;
  }
  .fortune-launcher { left: 10px; }
  .floating-whatsapp { right: 10px; }
  .fortune-launcher > .floating-action-label,
  .floating-whatsapp > .floating-action-label {
    display: block !important;
  }
  .fortune-action-label small { display: none !important; }
  .fortune-action-label b { font-size: 13px; }
  .floating-whatsapp .floating-action-label { font-size: 13px; }
  .fortune-launcher-wheel,
  .wa-icon {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    font-size: 16px;
  }
  .back-to-top { bottom: 78px; }
}
@media (max-width:360px) {
  .fortune-launcher,
  .floating-whatsapp {
    width: calc(50vw - 15px);
    padding: 0 8px;
    gap: 5px;
  }
  .fortune-launcher-wheel,
  .wa-icon {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
  }
  .fortune-action-label b,
  .floating-whatsapp .floating-action-label { font-size: 12px; }
}

/* Native review form */
.leave-review-section{padding-top:58px;padding-bottom:58px}.review-form-wrap{display:grid;grid-template-columns:.78fr 1.22fr;gap:28px;align-items:start}.review-form-copy{padding:8px 4px}.review-form-copy h2{font-size:clamp(32px,4vw,48px);line-height:1.04;margin:0 0 14px;color:var(--dark)}.review-form-copy p{font-size:18px;color:#61766b;max-width:520px}.review-form-note{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:999px;background:#eaf5ed;color:var(--primary);font-weight:800;font-size:13px}.site-review-form{background:#fff;border:1px solid #dce8df;border-radius:24px;padding:24px;display:grid;gap:16px;box-shadow:0 18px 42px rgba(23,51,42,.07)}.site-review-form label{display:grid;gap:7px;font-weight:750;color:#40544a}.site-review-form input[type=text],.site-review-form textarea{width:100%;border:1px solid #ccd9d1;border-radius:12px;padding:12px 13px;background:#fff;color:#1f3028;outline:none;transition:.2s ease}.site-review-form input[type=text]:focus,.site-review-form textarea:focus{border-color:#95bea3;box-shadow:0 0 0 3px rgba(31,122,77,.10)}.review-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}.review-form-row.bottom-row{grid-template-columns:minmax(0,1fr) auto}.rating-field{margin:0;padding:0;border:0}.rating-field legend{font-weight:750;color:#40544a;margin-bottom:7px}.rating-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}.rating-input input{position:absolute;opacity:0;pointer-events:none}.rating-input label{display:block!important;font-size:32px;line-height:1;color:#d9e2dc;cursor:pointer;transition:.15s ease}.rating-input label:hover,.rating-input label:hover~label,.rating-input input:checked~label{color:#f4b83f;text-shadow:0 2px 9px rgba(244,184,63,.20)}.captcha-label input{max-width:170px}.compact-consent{font-size:13px;font-weight:600!important;color:#6f8178!important}.compact-consent a{color:var(--primary)}.review-stars-small{color:#f4b83f;font-size:18px;letter-spacing:.08em;margin-bottom:8px}.local-reviews-section{padding-top:64px}.site-review-form .btn{min-width:180px;color:#fff!important;-webkit-text-fill-color:#fff!important}.site-review-form .alert{margin:0}.site-review-form .alert ul{margin:0;padding-left:18px}
@media(max-width:820px){.review-form-wrap{grid-template-columns:1fr}.review-form-copy{padding:0}.site-review-form{padding:20px}.review-form-copy p{font-size:16px}}
@media(max-width:560px){.leave-review-section{padding:42px 0}.review-form-row,.review-form-row.bottom-row{grid-template-columns:1fr}.site-review-form{padding:17px;border-radius:20px}.site-review-form .btn{width:100%;min-width:0}.captcha-label input{max-width:none}.rating-input label{font-size:30px}.review-form-note{width:100%;justify-content:center;text-align:center}}

/* v6: compact paired bottom actions + 5/10 fortune wheel */
.floating-whatsapp,
.fortune-launcher{
  width:170px !important;
  min-width:0 !important;
  height:50px !important;
  min-height:50px !important;
  max-height:50px !important;
  bottom:16px !important;
  padding:0 14px !important;
  gap:8px !important;
  border-radius:15px !important;
  font-size:13px !important;
}
.fortune-launcher{left:16px !important}.floating-whatsapp{right:16px !important}
.fortune-launcher-wheel,.wa-icon{width:30px !important;height:30px !important;flex:0 0 30px !important;font-size:15px !important}
.fortune-action-label b,.floating-whatsapp .floating-action-label{font-size:13px !important}.fortune-action-label small{font-size:9px !important}
.fortune-wheel{background:conic-gradient(#a7cf37 0 60deg,#1f7a4d 60deg 120deg,#a7cf37 120deg 180deg,#1f7a4d 180deg 240deg,#a7cf37 240deg 300deg,#1f7a4d 300deg 360deg) !important}
.fortune-wheel span{--angle:calc(var(--i)*60deg + 30deg) !important;transform:rotate(var(--angle)) translateY(-96px) rotate(calc(-1 * var(--angle))) !important}
.fortune-wheel span:nth-child(n){color:#fff !important;text-shadow:0 1px 4px rgba(0,0,0,.24) !important}
.fortune-wheel.is-spinning{animation:fortunePulse .55s ease-in-out infinite alternate}
.fortune-stage.is-spinning .fortune-pointer{animation:fortunePointer .12s ease-in-out infinite alternate}
@media(max-width:820px){
  .fortune-launcher,.floating-whatsapp{
    width:calc(50vw - 16px) !important;
    height:50px !important;
    min-height:50px !important;
    max-height:50px !important;
    bottom:10px !important;
    padding:0 9px !important;
    border-radius:14px !important;
  }
  .fortune-launcher{left:8px !important}.floating-whatsapp{right:8px !important}
  .fortune-launcher-wheel,.wa-icon{width:29px !important;height:29px !important;flex-basis:29px !important}
  .back-to-top{bottom:70px !important}
}
@media(max-width:520px){.fortune-wheel span{transform:rotate(var(--angle)) translateY(-84px) rotate(calc(-1 * var(--angle))) !important}}
@media(max-width:360px){
  .fortune-launcher,.floating-whatsapp{width:calc(50vw - 12px) !important;padding:0 7px !important;gap:5px !important}
  .fortune-launcher-wheel,.wa-icon{width:26px !important;height:26px !important;flex-basis:26px !important;font-size:13px !important}
  .fortune-action-label b,.floating-whatsapp .floating-action-label{font-size:11px !important}
}


/* v7: five fortune prizes */
.fortune-wheel{background:conic-gradient(#a7cf37 0 72deg,#1f7a4d 72deg 144deg,#80b95f 144deg 216deg,#315f4b 216deg 288deg,#17332a 288deg 360deg) !important}
.fortune-wheel span{--angle:calc(var(--i)*72deg + 36deg) !important;transform:rotate(var(--angle)) translateY(-96px) rotate(calc(-1 * var(--angle))) !important}
@media(max-width:520px){.fortune-wheel span{transform:rotate(var(--angle)) translateY(-84px) rotate(calc(-1 * var(--angle))) !important}}

/* v9: unlimited fortune attempts and automatic discount binding */
.fortune-form-status{margin:0 0 14px;padding:11px 13px;border-radius:13px;background:#edf8ef;border:1px solid #cbe4d2;color:#225b39;font-size:13px;font-weight:800;line-height:1.4}.fortune-form-status.is-empty{background:#f7faf8;border-color:#e2ebe5;color:#6e8177;font-weight:700}.fortune-result small{display:inline-block;margin-top:5px;color:#53695e;font-weight:700}.review-discount-admin{margin-top:10px;padding:8px 10px;border-radius:10px;background:#eef7f0;color:#225b39;font-size:13px}

/* v10: circular glowing floating buttons */
.floating-whatsapp,
.fortune-launcher{
  width:64px !important;
  height:64px !important;
  min-width:64px !important;
  min-height:64px !important;
  padding:0 !important;
  border-radius:50% !important;
  justify-content:center !important;
  gap:0 !important;
  overflow:hidden !important;
  box-shadow:0 14px 34px rgba(31,122,77,.34),0 0 0 1px rgba(255,255,255,.18),0 0 22px rgba(167,207,55,.28) !important;
}
.floating-whatsapp{
  right:16px !important;
  bottom:16px !important;
  background:linear-gradient(145deg,#1f7a4d,#2ea568) !important;
}
.fortune-launcher{
  left:16px !important;
  bottom:16px !important;
  background:linear-gradient(145deg,#17332a,#246044) !important;
}
.floating-whatsapp:hover,
.fortune-launcher:hover{
  transform:translateY(-3px) scale(1.03) !important;
  box-shadow:0 18px 42px rgba(31,122,77,.4),0 0 0 1px rgba(255,255,255,.22),0 0 30px rgba(167,207,55,.4) !important;
}
.floating-whatsapp::before,
.fortune-launcher::before{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:50%;
  pointer-events:none;
  border:1px solid rgba(167,207,55,.28);
  animation:floatingPulseGlow 2.4s ease-in-out infinite;
}
.floating-whatsapp::after,
.fortune-launcher::after{
  border-radius:50% !important;
}
@keyframes floatingPulseGlow{
  0%,100%{transform:scale(1);opacity:.3}
  50%{transform:scale(1.08);opacity:.8}
}
.floating-whatsapp .floating-action-label,
.fortune-launcher .floating-action-label,
.fortune-launcher .fortune-action-label,
.fortune-launcher .fortune-action-label b,
.fortune-launcher .fortune-action-label small{
  display:none !important;
}
.wa-icon,
.fortune-launcher-wheel{
  width:36px !important;
  height:36px !important;
  flex:0 0 36px !important;
  margin:0 !important;
}
.wa-icon{
  background:rgba(255,255,255,.14) !important;
  border:2px solid rgba(255,255,255,.68) !important;
  font-size:20px !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.08) inset !important;
}
.fortune-launcher-wheel{
  border:2px solid rgba(255,255,255,.92) !important;
  box-shadow:0 0 0 3px rgba(167,207,55,.18) !important;
  font-size:18px !important;
}
@media(max-width:820px){
  .floating-whatsapp,
  .fortune-launcher{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    bottom:12px !important;
  }
  .floating-whatsapp{right:12px !important}
  .fortune-launcher{left:12px !important}
  .wa-icon,
  .fortune-launcher-wheel{
    width:32px !important;
    height:32px !important;
    flex-basis:32px !important;
    font-size:17px !important;
  }
}

/* v11: fortune wheel has exactly two possible sectors: 5% and 10% */
.fortune-wheel{
  background:conic-gradient(var(--accent) 0 180deg,var(--primary) 180deg 360deg) !important;
}
.fortune-wheel span{
  --angle:calc(var(--i) * 180deg + 90deg) !important;
  transform:rotate(var(--angle)) translateY(-96px) rotate(calc(-1 * var(--angle))) !important;
}
@media(max-width:520px){
  .fortune-wheel span{
    transform:rotate(var(--angle)) translateY(-84px) rotate(calc(-1 * var(--angle))) !important;
  }
}

/* v12: WhatsApp only in header/footer; fortune + back-to-top same circular size */
.floating-whatsapp{display:none !important}

.header-whatsapp{
  width:42px;height:42px;flex:0 0 42px;border-radius:50%;
  display:grid;place-items:center;text-decoration:none;
  background:linear-gradient(145deg,#25D366,#20b957);
  box-shadow:0 8px 22px rgba(37,211,102,.26),0 0 0 1px rgba(37,211,102,.08);
  transition:transform .18s ease,box-shadow .18s ease;
}
.header-whatsapp svg{width:24px;height:24px;fill:#fff;display:block}
.header-whatsapp:hover{transform:translateY(-2px);box-shadow:0 11px 28px rgba(37,211,102,.34),0 0 0 4px rgba(37,211,102,.10)}

.footer-whatsapp{
  display:inline-flex;align-items:center;gap:9px;margin-top:2px;
  color:#fff !important;text-decoration:none;font-weight:800;
}
.footer-whatsapp-icon{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:#25D366;box-shadow:0 7px 18px rgba(37,211,102,.20);
}
.footer-whatsapp-icon svg{width:20px;height:20px;fill:#fff;display:block}
.footer-whatsapp:hover .footer-whatsapp-icon{box-shadow:0 8px 24px rgba(37,211,102,.35)}

.fortune-launcher,
.back-to-top{
  width:62px !important;height:62px !important;
  min-width:62px !important;min-height:62px !important;
  border-radius:50% !important;
  bottom:16px !important;
  box-shadow:0 14px 34px rgba(31,122,77,.28),0 0 0 1px rgba(255,255,255,.18),0 0 24px rgba(167,207,55,.25) !important;
}
.fortune-launcher{left:16px !important;padding:0 !important}
.back-to-top{
  right:16px !important;
  background:linear-gradient(145deg,var(--primary),#2a9560) !important;
  color:#fff !important;border:1px solid rgba(255,255,255,.22) !important;
  font-size:27px !important;font-weight:900 !important;
}
.back-to-top:hover,
.fortune-launcher:hover{
  transform:translateY(-3px) scale(1.03) !important;
  box-shadow:0 18px 42px rgba(31,122,77,.38),0 0 0 1px rgba(255,255,255,.22),0 0 30px rgba(167,207,55,.38) !important;
}
.back-to-top::before,
.fortune-launcher::before{
  content:"";position:absolute;inset:-4px;border-radius:50%;pointer-events:none;
  border:1px solid rgba(167,207,55,.30);animation:floatingPulseGlow 2.4s ease-in-out infinite;
}
.fortune-launcher .fortune-launcher-wheel{width:36px !important;height:36px !important;flex:0 0 36px !important}

@media(max-width:1120px){
  .header-whatsapp{width:40px;height:40px;flex-basis:40px}
  .header-whatsapp svg{width:23px;height:23px}
}
@media(max-width:820px){
  .fortune-launcher,.back-to-top{
    width:56px !important;height:56px !important;min-width:56px !important;min-height:56px !important;
    bottom:12px !important;
  }
  .fortune-launcher{left:12px !important}
  .back-to-top{right:12px !important}
  .fortune-launcher .fortune-launcher-wheel{width:32px !important;height:32px !important;flex-basis:32px !important}
}
@media(max-width:640px){
  .header-row{gap:10px}
  .header-whatsapp{width:38px;height:38px;flex-basis:38px}
  .header-whatsapp svg{width:22px;height:22px}
}
@media(prefers-reduced-motion:reduce){
  .back-to-top::before,.fortune-launcher::before{animation:none}
}

/* v13: mobile photos centered + clearly openable */
@media(max-width:640px){
  .hero-media,
  .promo-thumb,
  .gallery-grid figure,
  .split > div:last-child,
  .license-layout > div:last-child{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .hero-media{
    width:100%;
    max-width:520px;
  }

  .promo-card,
  .gallery-grid figure{
    width:100%;
    max-width:520px;
    justify-self:center;
  }

  .lightbox-link{
    display:block !important;
    width:100%;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center;
    cursor:zoom-in;
    -webkit-tap-highlight-color:transparent;
  }

  .lightbox-link img,
  .hero-image,
  .card-image,
  .gallery-image,
  .rounded-image,
  .document-image{
    display:block !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .rounded-image,
  .document-image{
    width:auto !important;
    max-width:100% !important;
    height:auto !important;
  }

  .lightbox{
    padding:12px !important;
    place-items:center !important;
  }
  .lightbox img{
    display:block !important;
    margin:auto !important;
    max-width:calc(100vw - 24px) !important;
    max-height:calc(100vh - 90px) !important;
    width:auto !important;
    height:auto !important;
  }
  .lightbox-close{
    right:10px !important;
    top:10px !important;
  }
  .lightbox-prev,
  .lightbox-next{
    width:42px !important;
    height:42px !important;
    font-size:27px !important;
  }
}


/* v14: five visual fortune sectors; server prizes remain only 5% and 10% */
.fortune-wheel{
  background:conic-gradient(
    #a7cf37 0 72deg,
    #1f7a4d 72deg 144deg,
    #80b95f 144deg 216deg,
    #315f4b 216deg 288deg,
    #17332a 288deg 360deg
  ) !important;
}
.fortune-wheel span{
  --angle:calc(var(--i) * 72deg + 36deg) !important;
  transform:rotate(var(--angle)) translateY(-96px) rotate(calc(-1 * var(--angle))) !important;
  color:#fff !important;
  text-shadow:0 1px 4px rgba(0,0,0,.26) !important;
}
@media(max-width:520px){
  .fortune-wheel span{
    transform:rotate(var(--angle)) translateY(-84px) rotate(calc(-1 * var(--angle))) !important;
  }
}

/* v16 final responsive audit fixes */
html,body{max-width:100%;overflow-x:clip}
.header-row>*{min-width:0}
.brand{flex:0 1 auto}
.brand strong,.hero h1,.page-hero h1,.section h2,.card h2,.card h3,.prose,.contact-card dd,.site-footer p,.site-footer a,.price-name{overflow-wrap:anywhere;word-break:normal}
.home-price-row{min-width:0;width:100%}
.home-price-name{min-width:0;overflow-wrap:anywhere}
.price-main,.price-section,.price-table-wrap,.contact-form,.site-review-form,.route-card{min-width:0}
.fortune-stage{max-width:100%}
.fortune-dialog{overscroll-behavior:contain}
.lightbox-link{touch-action:manipulation}
.lightbox button{touch-action:manipulation}

@media(max-width:760px){
  .home-price-row{
    grid-template-columns:minmax(52px,68px) minmax(0,1fr) !important;
    gap:7px 10px !important;
    padding:14px !important;
  }
  .home-price-code{min-width:0;overflow-wrap:anywhere}
  .home-price-row strong{grid-column:2;min-width:0;justify-self:start}
  .price-table-wrap{overflow:visible !important}
  .price-table{min-width:0 !important;max-width:100%}
}

@media(max-width:640px){
  .hero h1,.page-hero h1{font-size:clamp(32px,10.5vw,40px);line-height:1.04;letter-spacing:-.03em}
  .section h2{font-size:clamp(28px,8.5vw,38px)}
  .page-hero,.hero,.section{overflow-x:clip}
  .hero-badge{left:12px;right:12px;bottom:12px;width:auto;text-align:center;padding:10px 12px;font-size:13px}
  .contact-card,.card,.route-card,.price-sidebar-card{max-width:100%}
  .contact-card{padding:20px}
  .contact-form,.site-review-form{width:100%;max-width:100%}
  .contact-form input,.contact-form textarea,.contact-form select,
  .site-review-form input,.site-review-form textarea,.site-review-form select{min-width:0;max-width:100%}
  .check{min-width:0}
  .check span{min-width:0;overflow-wrap:anywhere}
  .footer-grid>div{min-width:0}
  .footer-whatsapp{max-width:100%}
  .main-nav a{width:100%;padding:8px 4px}
  .price-toolbar,.price-note,.price-sidebar-card,.selected-analysis{max-width:100%}
  .price-chip,.price-reset,.price-cta,.btn{max-width:100%}
  .route-badge{max-width:100%;white-space:normal;text-align:center;justify-content:center}
  .route-visual svg{max-width:100%}
  .lightbox-prev{left:6px !important}
  .lightbox-next{right:6px !important}
}

@media(max-width:380px){
  .container{width:calc(100% - 20px)}
  .header-row{gap:7px}
  .brand strong{font-size:16px;line-height:1.08}
  .brand-logo{width:36px!important;height:36px!important;flex-basis:36px!important}
  .header-whatsapp{width:36px;height:36px;flex-basis:36px}
  .header-whatsapp svg{width:20px;height:20px}
  .menu-toggle{padding:8px 10px;font-size:14px}
  .fortune-dialog{width:calc(100vw - 16px);padding:24px 14px 20px}
  .fortune-stage{width:min(248px,100%);height:min(248px,calc(100vw - 52px))}
  .fortune-wheel span{transform:rotate(var(--angle)) translateY(-79px) rotate(calc(-1 * var(--angle))) !important;font-size:15px}
  .fortune-wheel i{width:60px;height:60px;font-size:25px}
}

@media(max-width:340px){
  .brand span:last-child{display:none}
  .brand{flex:0 0 auto}
  .hero-actions .btn,.contact-actions .btn{padding-left:14px;padding-right:14px}
}

/* v17 official clinic logo in header/footer */
.brand.brand-with-full-logo{
  min-width:0 !important;
  max-width:320px;
  flex:0 1 320px;
  gap:0;
}
.brand-logo-full{
  display:block;
  width:100%;
  max-width:320px !important;
  height:auto !important;
  max-height:70px;
  object-fit:contain;
  object-position:left center;
}
.footer-logo-link{
  display:inline-block;
  width:min(100%,340px);
  text-decoration:none;
  margin-bottom:12px;
}
.footer-logo{
  display:block;
  width:100%;
  max-width:340px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.14));
}
.footer-brand-block p{margin-top:4px}

@media(max-width:1120px){
  .brand.brand-with-full-logo{flex-basis:270px;max-width:270px}
  .brand-logo-full{max-width:270px !important;max-height:62px}
}
@media(max-width:640px){
  .header-row{gap:9px}
  .brand.brand-with-full-logo{flex:0 1 190px;max-width:190px}
  .brand-logo-full{width:100% !important;max-width:190px !important;height:auto !important;max-height:52px;object-position:left center}
  .footer-brand-block{text-align:center}
  .footer-logo-link{width:min(100%,280px);margin-left:auto;margin-right:auto}
  .footer-logo{max-width:280px;margin:0 auto}
}
@media(max-width:380px){
  .brand.brand-with-full-logo{flex:0 1 165px;max-width:165px}
  .brand-logo-full{max-width:165px !important;max-height:47px}
}
@media(max-width:340px){
  .brand.brand-with-full-logo{flex:0 1 145px;max-width:145px}
  .brand-logo-full{max-width:145px !important;max-height:43px}
}

/* v18 — corporate clinic palette: blue / red / white + locked mobile viewport */
:root{
  --brand-blue:#0047B2;
  --brand-blue-2:#0A5ACB;
  --brand-blue-dark:#072C68;
  --brand-red:#F51B1B;
  --brand-red-dark:#D80F0F;
  --brand-blue-soft:#F2F7FE;
  --brand-red-soft:#FFF3F3;
  --brand-border:#D9E5F5;
  --brand-text:#17345D;
}
body{color:#243650;background:#fff}
.medical-warning{
  background:linear-gradient(90deg,#062A65,#0B4DA4);
  border-bottom:2px solid var(--accent);
  color:#fff;
}
.site-header{
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #DCE6F4;
  box-shadow:0 8px 26px rgba(7,44,104,.055);
}
.site-header::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,var(--primary) 0 72%,var(--accent) 72% 100%);
  opacity:.9;pointer-events:none;
}
.main-nav a{color:#29466F}
.main-nav a:hover,.header-phone,.text-link,.contact-card a,.info-box a{color:var(--primary)}
.menu-toggle{border-color:#D8E4F3;color:var(--dark);background:#fff}
.hero{
  background:
    radial-gradient(circle at 86% 8%,rgba(245,27,27,.08),transparent 29%),
    radial-gradient(circle at 72% 18%,rgba(0,71,178,.10),transparent 34%),
    linear-gradient(180deg,#FBFDFF,#F2F7FE);
}
.page-hero{background:linear-gradient(180deg,#F2F7FE,#fff)}
.eyebrow{color:var(--accent)}
.eyebrow.light{color:#FFD2D2}
.hero h1,.page-hero h1,.section h2,.card h2,.card h3,.faq-list summary,.price-sidebar-card h2,.route-steps b,.route-tips b{color:var(--dark)}
.hero-lead,.page-hero p,.card p,.prose{color:#536984}
.btn-primary{
  background:linear-gradient(135deg,var(--primary),#0A5ACB);
  border-color:transparent;
  box-shadow:0 12px 28px rgba(0,71,178,.22);
}
.btn-primary:hover{box-shadow:0 15px 32px rgba(0,71,178,.30)}
.btn-ghost{background:#fff;border-color:#D8E4F3;color:var(--dark)}
.btn-ghost:hover{border-color:#A9C4E8;background:#F6FAFF}
.section-soft{background:#F5F8FD}
.section-dark{
  background:linear-gradient(145deg,#062A65,#0B458F);
  position:relative;overflow:hidden;
}
.section-dark::after{
  content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-120px;top:-120px;
  border:34px solid rgba(245,27,27,.09);pointer-events:none;
}
.feature-grid{position:relative;z-index:1}
.feature-grid p{color:#DCE9FA}.feature-list span{color:#C9D9EE}
.feature-list div{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.075)}
.card,.contact-form,.contact-card,.site-review-form,.route-card,.price-section,.price-toolbar,.price-sidebar-card,
.faq-list details,.contact-points>a,.contact-points>div{
  border-color:var(--brand-border);
  box-shadow:0 12px 34px rgba(7,44,104,.065);
}
.card:hover{border-color:#BFD2EC}
.service-icon{
  background:linear-gradient(145deg,#EEF5FE,#FFF1F1);
  color:var(--primary);
  border:1px solid #D6E4F7;
}
.service-card{position:relative}
.service-card::before{
  content:"";position:absolute;left:0;top:20px;width:3px;height:42px;border-radius:0 6px 6px 0;background:var(--accent);opacity:.9;
}
.price-row strong,.service-card strong{color:var(--primary)}
.contact-form input,.contact-form textarea,.contact-form select,
.site-review-form input[type=text],.site-review-form textarea{
  border-color:#C9D8EB;color:#243650;
}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus,
.site-review-form input[type=text]:focus,.site-review-form textarea:focus{
  border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,71,178,.10);
}
.alert.success{background:#EFF6FF;color:#144985;border:1px solid #CFE0F5}
.alert.error{background:var(--brand-red-soft);color:#9B1D1D;border:1px solid #F2CACA}
.price-chip{border-color:#D4E2F3;color:#234A7D}
.price-chip:hover{border-color:#A9C4E8;background:#F1F6FD;box-shadow:0 10px 22px rgba(0,71,178,.09)}
.price-search-wrap,.price-section>summary:hover,.route-steps li{background:#F7FAFE}
.price-code{background:#EDF4FD;color:var(--primary)}
.price-cta{border-color:#BDD0E9;background:#F4F8FE;color:var(--primary)}
.price-cta:hover{background:var(--primary);border-color:var(--primary);box-shadow:0 12px 28px rgba(0,71,178,.19)}
.price-item.is-hit{background:linear-gradient(90deg,rgba(245,27,27,.07),rgba(0,71,178,.055))}
.selected-analysis{border-color:#D2E0F1}.selected-analysis.empty{background:linear-gradient(180deg,#FAFCFF,#F3F7FD)}
.price-disclaimer{background:#F7FAFE;border-color:#DCE6F3;color:#5D718D}
.route-section{background:linear-gradient(180deg,#FBFDFF,#F3F7FD)}
.route-badge{background:#EDF4FD;color:var(--primary)}
.route-badge.soft{background:#FFF1F1;color:#B91414}
.review-form-note{background:#EDF4FD;color:var(--primary)}
.fortune-form-status{border-color:#D4E1F1;background:#F7FAFE;color:#425D7E}
.hero-facts div{border-color:#DCE6F3;box-shadow:0 8px 24px rgba(7,44,104,.045)}
.hero-badge{background:rgba(7,44,104,.94)}
.hero-media .lightbox-link,.rounded-image,.document-image{box-shadow:0 24px 54px rgba(7,44,104,.16)}
.gallery-grid figure,.promo-thumb{background:#EEF3FA}
.site-footer{
  background:linear-gradient(145deg,#041F4A,#083B80);
  border-top:3px solid var(--accent);
  color:#E6EEF9;
}
.site-footer p{color:#C8D7EA}.footer-bottom{color:#A9BCD6;border-top-color:rgba(255,255,255,.16)}
.footer-logo{filter:drop-shadow(0 8px 20px rgba(0,0,0,.22))}

/* brand-styled fortune/back-to-top; same size preserved */
.fortune-launcher{
  background:linear-gradient(145deg,#003C98,#0759C4) !important;
  box-shadow:0 14px 34px rgba(0,71,178,.30),0 0 0 1px rgba(255,255,255,.18),0 0 24px rgba(245,27,27,.20) !important;
}
.fortune-launcher .fortune-launcher-wheel{
  background:conic-gradient(#0047B2 0 72deg,#F51B1B 72deg 144deg,#2D72C8 144deg 216deg,#FF5A5A 216deg 288deg,#072C68 288deg 360deg) !important;
  box-shadow:0 0 0 3px rgba(245,27,27,.14) !important;
}
.back-to-top{
  background:linear-gradient(145deg,#003C98,#0759C4) !important;
  box-shadow:0 14px 34px rgba(0,71,178,.30),0 0 0 1px rgba(255,255,255,.18),0 0 24px rgba(245,27,27,.18) !important;
}
.fortune-launcher::before,.back-to-top::before{border-color:rgba(245,27,27,.32) !important}
.fortune-launcher:hover,.back-to-top:hover{box-shadow:0 18px 42px rgba(0,71,178,.38),0 0 0 1px rgba(255,255,255,.22),0 0 30px rgba(245,27,27,.32) !important}
.fortune-wheel{
  background:conic-gradient(#0047B2 0 72deg,#F51B1B 72deg 144deg,#2D72C8 144deg 216deg,#FF5A5A 216deg 288deg,#072C68 288deg 360deg) !important;
  box-shadow:0 0 0 4px #D6E2F2,0 18px 44px rgba(7,44,104,.20),0 0 35px rgba(245,27,27,.13) !important;
}
.fortune-wheel span{color:#fff !important;text-shadow:0 1px 4px rgba(0,0,0,.24) !important}
.fortune-pointer{border-top-color:var(--accent)}
.fortune-wheel i{color:var(--primary)}
.fortune-result.show{background:#F1F6FD;border-color:#CADBF1}
.fortune-result strong{color:var(--primary)}

/* lock mobile width to viewport and prevent sideways drift */
@media(max-width:640px){
  html{width:100%;max-width:100%;overflow-x:hidden}
  body{width:100%;max-width:100vw;min-width:0;overflow-x:hidden;position:relative}
  #main,.site-header,.site-footer,.medical-warning,.hero,.page-hero,.section{
    width:100%;max-width:100vw;overflow-x:hidden;
  }
  .container,.price-page .container{
    width:calc(100% - 24px) !important;
    max-width:calc(100% - 24px) !important;
    margin-left:auto !important;margin-right:auto !important;
  }
  .header-row{width:100%;max-width:100%;min-width:0}
  .brand.brand-with-full-logo{min-width:0;max-width:min(190px,54vw)}
  .brand-logo-full{max-width:100% !important}
  .main-nav{max-width:calc(100vw - 24px);left:12px;right:12px}
  img,svg,video,iframe,canvas{max-width:100%;height:auto}
  .hero-grid,.feature-grid,.contact-grid,.split,.footer-grid,.cards-grid,.gallery-grid,
  .price-layout,.route-layout,.review-form-wrap,.review-form-row,.yandex-widgets,.review-layout{
    min-width:0;max-width:100%;
  }
  .card,.contact-form,.contact-card,.site-review-form,.route-card,.price-section,.price-toolbar,.price-sidebar-card,
  .faq-list details,.price-table-wrap,.selected-analysis,.route-visual,.yandex-map-card,.yandex-reviews-card{
    width:100%;max-width:100%;min-width:0;
  }
  .hero-actions,.contact-actions{max-width:100%}
  .btn,.price-cta,.price-reset,input,select,textarea{max-width:100%}
  .lightbox{width:100vw;max-width:100vw;overflow:hidden;padding:16px}
  .lightbox img{max-width:calc(100vw - 32px)}
  .fortune-launcher,.back-to-top{contain:layout paint}
}
@media(max-width:380px){
  .container,.price-page .container{width:calc(100% - 20px) !important;max-width:calc(100% - 20px) !important}
  .brand.brand-with-full-logo{max-width:min(165px,52vw)}
}
@media(max-width:340px){
  .brand.brand-with-full-logo{max-width:min(145px,49vw)}
}

/* v18 palette cleanup — remove remaining old green surfaces */
.glow-button,.btn-primary{
  box-shadow:0 12px 30px rgba(0,71,178,.22),0 0 0 1px rgba(245,27,27,.08),0 0 24px rgba(0,71,178,.08) !important;
}
.glow-button:hover,.btn-primary:hover{
  box-shadow:0 15px 36px rgba(0,71,178,.30),0 0 0 1px rgba(245,27,27,.18),0 0 30px rgba(0,71,178,.12) !important;
}
.glow-button::after,.btn-primary::after{border-color:rgba(245,27,27,.22) !important}
.price-preview-section,.yandex-section{background:linear-gradient(180deg,#fff,#F5F8FD)}
.home-price-row,.review-card,.yandex-widget-card{border-color:var(--brand-border);box-shadow:0 10px 28px rgba(7,44,104,.055)}
.home-price-row:hover{border-color:#B7CCE9;box-shadow:0 12px 28px rgba(7,44,104,.09)}
.home-price-code{color:#6A7F9C}.review-card p{color:#586E89}
.price-note{background:linear-gradient(135deg,#062A65,#0B4DA4);box-shadow:0 14px 34px rgba(7,44,104,.14)}
.price-note span{color:#D5E4F7}
.review-action-card{
  background:radial-gradient(circle at 15% 10%,rgba(245,27,27,.14),transparent 36%),linear-gradient(145deg,#062A65,#0B4DA4);
  box-shadow:0 22px 50px rgba(7,44,104,.20)
}
.review-action-card p{color:#DDE9F8}.review-action-card small{color:#BFD2EA}.review-stars{color:#FFB5B5}
.yandex-widget-card{background:#fff}
.fortune-close{background:#EEF4FC;color:var(--dark)}
.fortune-dialog p,.fortune-note{color:#60738C}
.fortune-form-status.is-empty{background:#F7FAFE;border-color:#DCE6F3;color:#6A7E98}
.fortune-result small{color:#5A6F8A}

/* v19 form alignment + global text visibility audit */
.contact-form{
  align-items:start;
}
.contact-form > *{
  min-width:0;
}
.contact-form .fortune-form-status,
.contact-form .hp,
.contact-form .alert,
.contact-form .check,
.contact-form button,
.contact-form > input[type="hidden"]{
  grid-column:1 / -1 !important;
}
.fortune-form-status{
  display:block;
  width:100%;
  grid-column:1 / -1 !important;
  margin:0 0 2px !important;
  padding:12px 14px !important;
  border-radius:14px !important;
  line-height:1.45 !important;
  font-size:14px !important;
  font-weight:800 !important;
  text-align:left !important;
}
.contact-form label,
.site-review-form label,
.contact-card dt,
.footer-title,
.main-nav a,
.header-phone,
.footer-brand,
.footer-grid a,
.site-footer,
.footer-bottom,
.contact-points b,
.contact-points span,
.card h2,.card h3,.card p,
.section p,.prose,
.price-note,
.price-note *,
.route-steps b,
.route-steps span,
.route-tips b,
.route-tips span,
.route-tips a,
.selected-analysis b,
.selected-analysis span,
.price-help-lines b,
.price-help-lines span,
.price-help-lines a,
.local-review-item,
.review-action-card p,
.review-action-card small,
.review-form-copy p,
.review-form-copy h2,
.review-form-note,
.muted,
.info-box,
.info-box a{
  -webkit-text-fill-color: currentColor !important;
}
.contact-form input,
.contact-form textarea,
.contact-form select,
.site-review-form input[type="text"],
.site-review-form textarea,
.captcha-label input{
  color:var(--dark, #072C68) !important;
  -webkit-text-fill-color:var(--dark, #072C68) !important;
  background:#fff !important;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder,
.site-review-form input::placeholder,
.site-review-form textarea::placeholder{
  color:#7b8ca1 !important;
  -webkit-text-fill-color:#7b8ca1 !important;
  opacity:1 !important;
}
.btn,
.btn *,.price-cta,.price-reset,.menu-toggle,.back-to-top,
.header-whatsapp,.footer-whatsapp,
.fortune-spin,.lightbox button,
.rating-input label,
.site-review-form .btn,
.contact-form button.btn-primary{
  text-shadow:none !important;
}
.btn-primary,
.btn-primary *,
.contact-form button.btn-primary,
.contact-form button.btn-primary *,
.site-review-form .btn,
.site-review-form .btn *,
.fortune-spin,
.fortune-spin *,
.header-whatsapp,
.header-whatsapp *,
.footer-whatsapp,
.footer-whatsapp *{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.btn-ghost,
.btn-ghost *,
.btn-light,
.btn-light *,
.price-reset,
.price-reset *,
.menu-toggle,
.menu-toggle *,
.back-to-top,
.back-to-top *{
  color:var(--dark, #072C68) !important;
  -webkit-text-fill-color:var(--dark, #072C68) !important;
}
.price-cta,
.price-cta *{
  color:var(--primary, #0047B2) !important;
  -webkit-text-fill-color:var(--primary, #0047B2) !important;
}
.price-cta:hover,
.price-cta:hover *{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.price-chip,
.price-chip *{
  color:var(--dark, #072C68) !important;
  -webkit-text-fill-color:var(--dark, #072C68) !important;
}
.price-code,
.price-value strong,
.review-stars-small,
.hero-badge,
.contact-card a,
.text-link,
.info-box a,
.site-footer a,
.footer-whatsapp{
  opacity:1 !important;
}
.header-phone{color:var(--primary, #0047B2) !important}
.site-footer,
.site-footer p,
.site-footer li,
.site-footer .footer-bottom{color:#dbe6f6 !important}
.site-footer a{color:#fff !important;-webkit-text-fill-color:#fff !important}
.brand strong{color:var(--dark, #072C68) !important;-webkit-text-fill-color:var(--dark, #072C68) !important}
.brand small{color:#58759a !important;-webkit-text-fill-color:#58759a !important}
.contact-form .check,
.site-review-form .compact-consent{align-items:flex-start;gap:10px}
.contact-form .check span,
.site-review-form .compact-consent span,
.compact-consent,
.check span{color:#425d7e !important;-webkit-text-fill-color:#425d7e !important}
@media(max-width:640px){
  .contact-form{grid-template-columns:1fr !important}
  .fortune-form-status{font-size:13px !important}
}

/* v20: reliable mobile navigation */
.header-row{position:relative}
.menu-toggle{position:relative;z-index:1002;align-items:center;justify-content:center;gap:8px;min-height:42px;touch-action:manipulation;cursor:pointer}
.menu-toggle-icon{display:none;width:22px;height:16px;position:relative;flex:0 0 22px}
.menu-toggle-icon i{position:absolute;left:0;width:22px;height:2px;border-radius:4px;background:currentColor;transition:transform .2s ease,opacity .2s ease,top .2s ease}
.menu-toggle-icon i:nth-child(1){top:0}
.menu-toggle-icon i:nth-child(2){top:7px}
.menu-toggle-icon i:nth-child(3){top:14px}
.menu-toggle.is-open .menu-toggle-icon i:nth-child(1){top:7px;transform:rotate(45deg)}
.menu-toggle.is-open .menu-toggle-icon i:nth-child(2){opacity:0}
.menu-toggle.is-open .menu-toggle-icon i:nth-child(3){top:7px;transform:rotate(-45deg)}

@media(max-width:1120px){
  /* Critical: do not clip the dropdown outside the sticky header. */
  .site-header{overflow:visible !important}
  .header-row{overflow:visible !important}
  .menu-toggle{display:inline-flex !important;flex:0 0 auto;margin-left:auto !important;background:#fff !important;border:1px solid #d8e4f3 !important;color:var(--dark,#072C68) !important;-webkit-text-fill-color:var(--dark,#072C68) !important}
  .menu-toggle-icon{display:block}
  .main-nav{
    position:absolute !important;
    z-index:1001 !important;
    top:calc(100% + 8px) !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:10px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:4px !important;
    background:#fff !important;
    border:1px solid #d8e4f3 !important;
    border-radius:16px !important;
    box-shadow:0 20px 48px rgba(7,44,104,.18) !important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px) scale(.985);
    transform-origin:top center;
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  }
  .main-nav.open{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) scale(1) !important;
  }
  .main-nav a{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:46px !important;
    padding:10px 12px !important;
    border-radius:10px !important;
    color:#173f73 !important;
    -webkit-text-fill-color:#173f73 !important;
    font-size:15px !important;
    font-weight:750 !important;
    text-decoration:none !important;
  }
  .main-nav a:hover,.main-nav a:focus-visible{
    background:#f2f6fc !important;
    color:var(--primary,#0047B2) !important;
    -webkit-text-fill-color:var(--primary,#0047B2) !important;
  }
  body.menu-open::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:49;
    background:rgba(7,44,104,.16);
    pointer-events:none;
  }
}

@media(max-width:640px){
  .site-header{overflow:visible !important}
  .header-row{overflow:visible !important;gap:8px}
  .main-nav{left:0 !important;right:0 !important;width:100% !important;max-width:100% !important}
  .menu-toggle{min-width:44px;min-height:44px;padding:0 10px !important}
  .menu-toggle-text{display:none}
  .menu-toggle-icon{width:22px;flex-basis:22px}
}

@media(max-width:380px){
  .menu-toggle{padding:0 9px !important;font-size:0 !important}
}

/* v21: dark section text contrast fix */
.section-dark,
.section-dark .feature-grid{
  color:#fff !important;
  -webkit-text-fill-color:currentColor !important;
}
.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark h4,
.section-dark .feature-grid h2,
.section-dark .feature-list b{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
}
.section-dark .eyebrow,
.section-dark .eyebrow.light{
  color:#FFD2D2 !important;
  -webkit-text-fill-color:#FFD2D2 !important;
  opacity:1 !important;
}
.section-dark p,
.section-dark .feature-grid p{
  color:#DCE9FA !important;
  -webkit-text-fill-color:#DCE9FA !important;
  opacity:1 !important;
}
.section-dark .feature-list span{
  color:#C9D9EE !important;
  -webkit-text-fill-color:#C9D9EE !important;
  opacity:1 !important;
}
.section-dark .btn-light,
.section-dark .btn-light *{
  color:var(--dark,#072C68) !important;
  -webkit-text-fill-color:var(--dark,#072C68) !important;
}

/* v24: fix invisible text on Yandex review CTA card */
.review-action-card,
.review-action-card *{
  -webkit-text-fill-color: initial;
}
.review-action-card h2{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  text-shadow:0 1px 2px rgba(0,0,0,.08);
}
.review-action-card p{
  color:#E7F0FC !important;
  -webkit-text-fill-color:#E7F0FC !important;
}
.review-action-card small{
  color:#C7D8F0 !important;
  -webkit-text-fill-color:#C7D8F0 !important;
}
.review-action-card .btn,
.review-action-card .btn *{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}
.review-stars{
  color:#FFC9C9 !important;
  -webkit-text-fill-color:#FFC9C9 !important;
}

/* v24: dark-section text visibility fix */
.section-dark h2,
.section-dark h3,
.review-action-card h2,
.review-action-card h3{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
}
.review-action-card p{
  color:#DDE9F8 !important;
  -webkit-text-fill-color:#DDE9F8 !important;
  opacity:1 !important;
}
.review-action-card small{
  color:#C7D8EE !important;
  -webkit-text-fill-color:#C7D8EE !important;
  opacity:1 !important;
}
.review-action-card .review-stars{
  color:#FFC3C3 !important;
  -webkit-text-fill-color:#FFC3C3 !important;
  opacity:1 !important;
}
.section-dark .feature-grid p,
.section-dark .feature-list span{
  opacity:1 !important;
}

/* v25: subtle dynamic clinic brand effects */
:root{
  --brand-blue:#0047B2;
  --brand-blue-dark:#072C68;
  --brand-red:#F51B1B;
  --brand-red-soft:#FF5A5A;
}
.site-header::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:3px;
  background:linear-gradient(90deg,var(--brand-blue) 0 35%,var(--brand-red) 45% 55%,var(--brand-blue) 65% 100%);
  background-size:220% 100%;
  animation:brandLineFlow 7s linear infinite;
  opacity:.88;
  pointer-events:none;
}
@keyframes brandLineFlow{to{background-position:-220% 0}}

.btn-primary,
.header-whatsapp,
.footer-whatsapp,
.price-cta:hover,
.fortune-spin{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.btn-primary::before,
.header-whatsapp::before,
.footer-whatsapp::before,
.fortune-spin::before{
  content:"";
  position:absolute;
  top:-60%;bottom:-60%;
  left:-45%;
  width:26%;
  transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
  animation:brandShine 4.8s ease-in-out infinite;
  pointer-events:none;
  z-index:-1;
}
@keyframes brandShine{
  0%,58%{left:-45%;opacity:0}
  64%{opacity:1}
  82%{left:125%;opacity:.72}
  100%{left:125%;opacity:0}
}

.brand img,.footer-logo{
  filter:drop-shadow(0 5px 12px rgba(0,71,178,.12));
  transition:transform .28s ease,filter .28s ease;
}
.brand:hover img,.footer-logo:hover{
  transform:translateY(-1px) scale(1.015);
  filter:drop-shadow(0 8px 18px rgba(0,71,178,.18)) drop-shadow(0 0 8px rgba(245,27,27,.08));
}

.card,.contact-card,.contact-form,.site-review-form,.price-section,.route-card,.yandex-map-card,.yandex-reviews-card{
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
@media (hover:hover){
  .card:hover,.contact-card:hover,.price-section:hover,.route-card:hover{
    transform:translateY(-3px);
    border-color:rgba(0,71,178,.22);
    box-shadow:0 18px 42px rgba(7,44,104,.10),0 0 0 1px rgba(245,27,27,.035);
  }
}

.hero::before,.section-dark::before{
  content:"";
  position:absolute;
  width:360px;height:360px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(245,27,27,.08),rgba(0,71,178,.035) 42%,transparent 70%);
  pointer-events:none;
  filter:blur(2px);
  animation:brandAura 8s ease-in-out infinite alternate;
}
.hero,.section-dark{position:relative;overflow:hidden}
.hero::before{right:-140px;top:-150px}
.section-dark::before{left:-180px;bottom:-190px}
@keyframes brandAura{from{transform:scale(.92);opacity:.55}to{transform:scale(1.12);opacity:.9}}
.hero>.container,.section-dark>.container{position:relative;z-index:1}

/* ECG-inspired accent line, decorative only */
.section-head h2,.page-hero h1{
  position:relative;
}
.section-head h2::after{
  content:"";
  display:block;
  width:76px;
  height:3px;
  margin-top:12px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--brand-blue) 0 58%,var(--brand-red) 58% 100%);
  transform-origin:left center;
  animation:brandAccentPulse 3.6s ease-in-out infinite;
}
@keyframes brandAccentPulse{0%,100%{transform:scaleX(.82);opacity:.72}50%{transform:scaleX(1);opacity:1}}

/* Scroll reveal: concise and non-blocking */
.brand-reveal{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1);
}
.brand-reveal.is-visible{opacity:1;transform:none}

@media(max-width:640px){
  .site-header::after{height:2px}
  .hero::before,.section-dark::before{width:240px;height:240px}
  .section-head h2::after{width:58px;margin-top:9px}
}

@media(prefers-reduced-motion:reduce){
  .site-header::after,.btn-primary::before,.header-whatsapp::before,.footer-whatsapp::before,.fortune-spin::before,
  .hero::before,.section-dark::before,.section-head h2::after{animation:none!important}
  .brand-reveal{opacity:1!important;transform:none!important;transition:none!important}
  .brand img,.footer-logo,.card,.contact-card,.contact-form,.site-review-form,.price-section,.route-card{transition:none!important}
}

/* v26: align promotion cards price row in one line */
.promo-grid{
  align-items:stretch;
}
.promo-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.promo-card .promo-thumb{
  flex:0 0 auto;
}
.promo-card .card-body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
}
.promo-card .card-body p{
  flex:1 1 auto;
}
.promo-card .price-row{
  margin-top:auto;
  padding-top:10px;
  align-items:flex-end;
}
.promo-card .price-row strong,
.promo-card .price-row a{
  line-height:1.1;
}

/* v26: align promotion cards price row in one line */
.promo-grid{
  align-items:stretch;
}
.promo-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.promo-card .promo-thumb{
  flex:0 0 auto;
}
.promo-card .card-body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
}
.promo-card .card-body p{
  flex:1 1 auto;
}
.promo-card .price-row{
  margin-top:auto;
  padding-top:10px;
  align-items:flex-end;
}
.promo-card .price-row strong,
.promo-card .price-row a{
  line-height:1.1;
}

/* v27: keep promotion price + action strictly on one row */
.promo-card .price-row{
  display:grid !important;
  grid-template-columns:max-content minmax(0,1fr) !important;
  align-items:center !important;
  gap:14px !important;
  width:100% !important;
  margin-top:auto !important;
  padding-top:12px !important;
  white-space:nowrap !important;
}
.promo-card .price-row strong{
  display:block !important;
  margin:0 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.promo-card .price-row a{
  display:block !important;
  justify-self:end !important;
  margin:0 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
@media(max-width:430px){
  .promo-card .price-row{
    gap:10px !important;
  }
  .promo-card .price-row strong{
    font-size:20px !important;
  }
  .promo-card .price-row a{
    font-size:14px !important;
  }
}


/* v28.8: global popup appointment form + phone in mobile header */
.contact-modal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(7,44,104,.66);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.contact-modal[hidden]{display:none !important}
.contact-dialog{
  position:relative;
  width:min(960px,calc(100vw - 32px));
  max-height:min(92vh,900px);
  overflow:auto;
  display:grid;
  grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);
  gap:24px;
  align-items:start;
  padding:28px;
  border:1px solid #D7E3F2;
  border-radius:26px;
  background:#F7FAFE;
  box-shadow:0 30px 90px rgba(4,27,63,.32);
}
.contact-modal-copy{padding:10px 4px 4px}
.contact-modal-copy h2{margin:0 0 12px;color:var(--dark,#072C68);font-size:clamp(28px,3.2vw,42px);line-height:1.06;letter-spacing:-.025em}
.contact-modal-copy>p{margin:0;color:#536984;font-size:16px}
.contact-modal .contact-points{grid-template-columns:1fr;margin-top:22px}
.contact-modal .contact-form{margin:0;width:100%;box-shadow:0 16px 42px rgba(7,44,104,.09)}
.contact-modal-close{
  position:absolute;
  top:12px;
  right:12px;
  z-index:3;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid #D5E1F0;
  border-radius:50%;
  background:#fff;
  color:var(--dark,#072C68) !important;
  -webkit-text-fill-color:var(--dark,#072C68) !important;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(7,44,104,.10);
}
.contact-modal-close:hover{background:#EEF4FC}
body.contact-modal-open{overflow:hidden}

@media(max-width:820px){
  .contact-modal{padding:10px}
  .contact-dialog{width:min(100%,680px);max-height:calc(100vh - 20px);grid-template-columns:1fr;gap:14px;padding:22px 16px 16px;border-radius:22px}
  .contact-modal-copy{padding:3px 42px 0 2px}
  .contact-modal-copy h2{font-size:30px}
  .contact-modal-copy>p{font-size:14px}
  .contact-modal .contact-points{display:none}
  .contact-modal .contact-form{padding:18px}
}
@media(max-width:520px){
  .contact-dialog{padding:18px 12px 12px;border-radius:18px}
  .contact-modal-copy{padding-right:38px}
  .contact-modal-copy h2{font-size:26px;margin-bottom:8px}
  .contact-modal-close{width:38px;height:38px;top:10px;right:10px;font-size:25px}
  .contact-modal .contact-form{padding:15px;gap:12px;border-radius:18px}
}


@media(min-width:641px) and (max-width:1120px){
  .header-row{gap:10px !important}
  .brand.brand-with-full-logo{flex-basis:220px;max-width:220px}
  .brand-logo-full{max-width:220px !important}
  .header-phone{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:7px 10px !important;
    font-size:14px;
    line-height:1;
  }
}
@media(min-width:641px) and (max-width:760px){
  .brand.brand-with-full-logo{flex-basis:195px;max-width:195px}
  .brand-logo-full{max-width:195px !important}
  .menu-toggle{min-width:44px;min-height:42px;padding:0 10px !important}
  .menu-toggle-text{display:none}
}

/* Keep the clinic phone visible and tappable in the true mobile header. */
@media(max-width:640px){
  .header-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto auto;
    grid-template-areas:"brand whatsapp menu" "phone phone phone";
    column-gap:8px !important;
    row-gap:5px !important;
    min-height:0 !important;
    padding-top:6px;
    padding-bottom:7px;
  }
  .brand{grid-area:brand;align-self:center}
  .header-whatsapp{grid-area:whatsapp;align-self:center}
  .menu-toggle{grid-area:menu;align-self:center;margin-left:0 !important}
  .header-phone{
    grid-area:phone;
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:34px;
    padding:5px 10px !important;
    border:1px solid #D6E3F4;
    border-radius:10px;
    background:#F2F7FE;
    color:var(--primary,#0047B2) !important;
    -webkit-text-fill-color:var(--primary,#0047B2) !important;
    font-size:15px;
    font-weight:900;
    line-height:1.1;
    text-align:center;
    letter-spacing:.01em;
  }
  .main-nav{top:calc(100% + 8px) !important}
}
@media(max-width:380px){
  .header-phone{font-size:14px;min-height:32px}
}


/* v30: mobile-first conversion landing for Yandex Direct traffic */
.hero-conversion .hero-direct-signals{
  display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;
}
.hero-conversion .hero-direct-signals span{
  display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;
  background:#fff;border:1px solid #D8E5F4;color:#365A87;font-size:12px;font-weight:800;
  box-shadow:0 6px 18px rgba(7,44,104,.05);
}
.hero-conversion .hero-direct-signals span:first-child::before{
  content:"";width:7px;height:7px;margin-right:7px;border-radius:50%;background:#21A45A;box-shadow:0 0 0 3px rgba(33,164,90,.12);
}
.hero-conversion-actions{align-items:stretch}
.btn-call{
  background:#fff;border-color:#C9D9ED;color:var(--dark,#072C68);
  box-shadow:0 9px 24px rgba(7,44,104,.07);
}
.btn-call:hover{background:#F5F9FF;border-color:#AFC8E8}
.hero-call-icon{font-size:18px;margin-right:7px;color:var(--primary,#0047B2)}
.hero-cta-note{margin:-14px 0 20px;color:#6D7F98;font-size:13px;line-height:1.45}
.hero-price-link{display:inline-flex;margin-top:16px;color:var(--primary,#0047B2);font-weight:850;text-decoration:none}
.hero-price-link:hover{text-decoration:underline}
.field-optional{font-size:11px;font-weight:600;color:#8494A9;margin-left:5px}
.contact-submit-note{grid-column:1/-1;margin:-5px 0 0;text-align:center;color:#6C7F97;font-size:12px;line-height:1.35}
.mobile-conversion-bar{display:none}

@media(max-width:640px){
  body{padding-bottom:72px}
  .medical-warning{padding:5px 10px;font-size:10px;line-height:1.25;letter-spacing:0}

  /* Keep the ad message above the image. */
  .hero-conversion{padding:22px 0 34px;background:linear-gradient(180deg,#F8FBFF 0,#EEF5FE 100%)}
  .hero-conversion .hero-grid{display:flex!important;flex-direction:column;gap:20px;align-items:stretch}
  .hero-conversion .hero-copy{order:1;min-width:0}
  .hero-conversion .hero-media{order:2!important;margin-top:0}
  .hero-conversion .hero-location{margin-bottom:8px;font-size:10px;line-height:1.25;letter-spacing:.1em}
  .hero-conversion .hero-direct-signals{gap:6px;margin-bottom:12px}
  .hero-conversion .hero-direct-signals span{min-height:27px;padding:4px 8px;font-size:10.5px}
  .hero-conversion h1{max-width:360px;margin-bottom:12px;font-size:clamp(32px,9.8vw,42px);line-height:1.01;letter-spacing:-.045em}
  .hero-conversion .hero-lead{margin:0;max-width:520px;font-size:16px;line-height:1.42;color:#4F6786}
  .hero-conversion-actions{display:grid;grid-template-columns:1.35fr .85fr;gap:9px;margin:18px 0 11px}
  .hero-conversion-actions .btn{width:100%;min-height:54px;padding:0 12px;border-radius:14px;font-size:15px;line-height:1.15;text-align:center}
  .hero-conversion .hero-main-cta{box-shadow:0 14px 32px rgba(0,71,178,.27)!important}
  .hero-conversion .hero-cta-note{margin:0 0 15px;font-size:12px;line-height:1.4}
  .hero-conversion .hero-trust-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
  .hero-conversion .hero-trust-facts div{min-width:0;padding:9px 8px;border-radius:12px;text-align:center}
  .hero-conversion .hero-trust-facts b{font-size:14px;line-height:1.15}
  .hero-conversion .hero-trust-facts span{margin-top:3px;font-size:9.5px;line-height:1.25}
  .hero-conversion .hero-price-link{margin-top:13px;font-size:13px}
  .hero-conversion .hero-media .lightbox-link{border-radius:18px;box-shadow:0 16px 38px rgba(7,44,104,.14)}
  .hero-conversion .hero-image{height:190px;object-position:center 48%}
  .hero-conversion .hero-badge{left:10px;right:auto;bottom:10px;width:auto;max-width:calc(100% - 20px);padding:8px 10px;border-radius:10px;font-size:11px;text-align:left}

  /* Mobile lead form: only the fields that matter for a first touch. */
  .contact-modal .contact-field-email,.contact-modal .contact-field-message{display:none}
  .contact-modal-copy{padding-top:1px}
  .contact-modal-copy h2{font-size:27px;line-height:1.04}
  .contact-modal-copy>p{font-size:13px;line-height:1.4}
  .contact-modal .contact-form{grid-template-columns:1fr;padding:14px;gap:10px}
  .contact-modal .contact-form label,.contact-modal .contact-form button,.contact-modal .contact-form .alert{grid-column:1/-1}
  .contact-modal .contact-form input{min-height:46px}
  .contact-modal .contact-submit{min-height:52px;font-size:16px}
  .contact-submit-note{font-size:11px}

  /* Thumb-zone actions: persistent call + lead capture. */
  .mobile-conversion-bar{
    position:fixed;left:0;right:0;bottom:0;z-index:1000;display:grid;grid-template-columns:.82fr 1.18fr;gap:8px;
    padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));
    background:rgba(255,255,255,.97);border-top:1px solid #D7E3F2;box-shadow:0 -12px 34px rgba(7,44,104,.12);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  }
  .mobile-conversion-bar a{min-height:50px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:13px;text-decoration:none;font-size:14px;font-weight:900;line-height:1}
  .mobile-conversion-call{border:1px solid #BCD0E8;background:#fff;color:var(--dark,#072C68)}
  .mobile-conversion-call>span:first-child{color:var(--primary,#0047B2);font-size:17px}
  .mobile-conversion-book{border:1px solid var(--primary,#0047B2);background:linear-gradient(135deg,var(--primary,#0047B2),#0A5ACB);color:#fff!important;box-shadow:0 9px 24px rgba(0,71,178,.25)}
  .fortune-launcher{bottom:80px!important}
  .back-to-top{bottom:142px!important}
}
@media(max-width:380px){
  .hero-conversion-actions{grid-template-columns:1.25fr .75fr}
  .hero-conversion-actions .btn{padding:0 9px;font-size:13px}
  .hero-conversion .hero-trust-facts span{font-size:9px}
  .mobile-conversion-bar{grid-template-columns:.78fr 1.22fr;gap:6px;padding-left:7px;padding-right:7px}
  .mobile-conversion-bar a{min-height:48px;font-size:13px}
}
@media(min-width:641px){
  .hero-conversion .hero-direct-signals{margin-top:2px}
}


/* v31: compact one-line mobile header — clinic logo + phone + menu */
.header-phone-prefix{font-weight:900}
@media(max-width:640px){
  .header-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto auto !important;
    grid-template-areas:"brand phone menu" !important;
    align-items:center !important;
    column-gap:7px !important;
    row-gap:0 !important;
    min-height:58px !important;
    padding-top:5px !important;
    padding-bottom:5px !important;
  }
  .brand{grid-area:brand;min-width:0 !important;width:auto !important}
  .brand.brand-with-full-logo{
    flex:0 1 auto !important;
    width:100% !important;
    max-width:122px !important;
  }
  .brand-logo-full{
    display:block;
    width:100% !important;
    max-width:122px !important;
    height:auto !important;
    max-height:42px !important;
    object-fit:contain !important;
    object-position:left center !important;
  }
  .header-phone{
    grid-area:phone;
    display:inline-flex !important;
    width:auto !important;
    min-width:0 !important;
    min-height:36px !important;
    align-items:center !important;
    justify-content:center !important;
    padding:4px 2px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    font-size:13px !important;
    font-weight:800 !important;
    line-height:1 !important;
    letter-spacing:-.015em !important;
    white-space:nowrap !important;
    text-align:right !important;
  }
  .header-phone-prefix{margin-right:2px;font-weight:900}
  .header-whatsapp{display:none !important}
  .menu-toggle{
    grid-area:menu;
    min-width:40px !important;
    width:40px !important;
    min-height:40px !important;
    height:40px !important;
    padding:0 8px !important;
    margin-left:0 !important;
  }
  .main-nav{top:calc(100% + 8px) !important}
}
@media(max-width:380px){
  .header-row{column-gap:5px !important}
  .brand.brand-with-full-logo{max-width:106px !important}
  .brand-logo-full{max-width:106px !important;max-height:38px !important}
  .header-phone{font-size:12.5px !important;letter-spacing:-.025em !important}
  .menu-toggle{min-width:38px !important;width:38px !important;min-height:38px !important;height:38px !important;padding:0 7px !important}
}
@media(max-width:340px){
  .brand.brand-with-full-logo{max-width:94px !important}
  .brand-logo-full{max-width:94px !important;max-height:35px !important}
  .header-phone{font-size:11.8px !important}
  .menu-toggle{min-width:36px !important;width:36px !important;min-height:36px !important;height:36px !important;padding:0 6px !important}
}

/* v32: keep the home conversion headline in clean semantic lines */
.hero-conversion h1{
  max-width:650px;
  font-size:clamp(42px,5.1vw,66px);
  line-height:1.04;
  text-wrap:balance;
}
@media(max-width:640px){
  .hero-conversion h1{
    max-width:100%;
    font-size:clamp(31px,9.2vw,40px);
    line-height:1.03;
    letter-spacing:-.04em;
    text-wrap:balance;
  }
}
@media(max-width:360px){
  .hero-conversion h1{font-size:30px;letter-spacing:-.035em}
}

/* v32.1: controlled headline lines — no orphan prepositions */
.hero-conversion .hero-clean-title{
  max-width:none;
  font-size:52px;
  line-height:1.035;
  letter-spacing:-.04em;
}
.hero-conversion .hero-clean-title span{
  display:block;
  white-space:nowrap;
}
@media(max-width:640px){
  .hero-conversion .hero-clean-title{
    font-size:clamp(26px,8vw,34px);
    line-height:1.06;
    letter-spacing:-.035em;
  }
}

/* v33: mobile header — phone embedded between clinic logo and WhatsApp */
@media(max-width:640px){
  .site-header .header-row{
    display:grid !important;
    grid-template-columns:auto auto auto auto !important;
    grid-template-areas:"brand phone whatsapp menu" !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:4px !important;
    min-height:58px !important;
    padding-top:6px !important;
    padding-bottom:6px !important;
  }
  .site-header .brand{
    grid-area:brand !important;
    min-width:0 !important;
    width:auto !important;
    max-width:122px !important;
    margin:0 !important;
  }
  .site-header .brand.brand-with-full-logo{
    width:auto !important;
    max-width:122px !important;
    flex:0 0 auto !important;
  }
  .site-header .brand-logo-full{
    width:auto !important;
    max-width:122px !important;
    max-height:42px !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:left center !important;
  }
  .site-header .header-phone{
    grid-area:phone !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:0 !important;
    min-height:34px !important;
    margin:0 !important;
    padding:2px 1px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:var(--primary,#0047B2) !important;
    -webkit-text-fill-color:var(--primary,#0047B2) !important;
    font-size:11.5px !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:-.035em !important;
    white-space:nowrap !important;
    text-align:center !important;
  }
  .site-header .header-phone-prefix{
    margin-right:1px !important;
    font-weight:900 !important;
  }
  .site-header .header-whatsapp{
    grid-area:whatsapp !important;
    display:grid !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    flex-basis:38px !important;
    margin:0 !important;
  }
  .site-header .header-whatsapp svg{width:22px !important;height:22px !important}
  .site-header .menu-toggle{
    grid-area:menu !important;
    display:block !important;
    min-width:40px !important;
    width:40px !important;
    min-height:40px !important;
    height:40px !important;
    padding:0 8px !important;
    margin:0 !important;
  }
  .site-header .main-nav{top:calc(100% + 8px) !important}
}
@media(max-width:380px){
  .site-header .header-row{gap:3px !important}
  .site-header .brand,.site-header .brand.brand-with-full-logo{max-width:108px !important}
  .site-header .brand-logo-full{max-width:108px !important;max-height:39px !important}
  .site-header .header-phone{font-size:10.8px !important;letter-spacing:-.045em !important}
  .site-header .header-whatsapp{width:36px !important;height:36px !important;min-width:36px !important;flex-basis:36px !important}
  .site-header .header-whatsapp svg{width:21px !important;height:21px !important}
  .site-header .menu-toggle{min-width:38px !important;width:38px !important;min-height:38px !important;height:38px !important;padding:0 7px !important}
}
@media(max-width:340px){
  .site-header .header-row{gap:2px !important}
  .site-header .brand,.site-header .brand.brand-with-full-logo{max-width:96px !important}
  .site-header .brand-logo-full{max-width:96px !important;max-height:36px !important}
  .site-header .header-phone{font-size:10px !important;letter-spacing:-.055em !important}
  .site-header .header-whatsapp{width:34px !important;height:34px !important;min-width:34px !important;flex-basis:34px !important}
  .site-header .header-whatsapp svg{width:20px !important;height:20px !important}
  .site-header .menu-toggle{min-width:36px !important;width:36px !important;min-height:36px !important;height:36px !important;padding:0 6px !important}
}

/* v34: compact utility dock — fortune wheel + back-to-top together */
.floating-utility-dock{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:996;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:5px;
  border:1px solid rgba(0,71,178,.12);
  border-radius:18px;
  background:rgba(255,255,255,.94);
  box-shadow:0 10px 28px rgba(7,44,104,.14);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.floating-utility-dock .fortune-launcher,
.floating-utility-dock .back-to-top{
  position:relative !important;
  inset:auto !important;
  right:auto !important;
  left:auto !important;
  bottom:auto !important;
  margin:0 !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  border-radius:13px !important;
  box-shadow:none !important;
  transform:none !important;
}
.floating-utility-dock .fortune-launcher{
  display:grid !important;
  place-items:center;
  padding:0 !important;
  background:#F4F8FD !important;
  border:1px solid #D6E3F3 !important;
}
.floating-utility-dock .fortune-launcher .fortune-action-label{display:none !important}
.floating-utility-dock .fortune-launcher .fortune-launcher-wheel{
  width:29px !important;
  height:29px !important;
  min-width:29px !important;
  flex-basis:29px !important;
  display:grid !important;
  place-items:center;
  font-size:12px !important;
  font-weight:950 !important;
  line-height:1 !important;
  color:#fff !important;
  border-radius:50% !important;
  box-shadow:0 0 0 2px rgba(245,27,27,.10) !important;
}
.floating-utility-dock .back-to-top{
  display:none !important;
  place-items:center;
  background:#fff !important;
  border:1px solid #D6E3F3 !important;
  color:var(--primary,#0047B2) !important;
  font-size:23px !important;
  font-weight:900 !important;
  line-height:1 !important;
  opacity:1 !important;
  visibility:visible !important;
}
.floating-utility-dock .back-to-top.visible{display:grid !important}
.floating-utility-dock .fortune-launcher::before,
.floating-utility-dock .back-to-top::before{display:none !important}
.floating-utility-dock .fortune-launcher:hover,
.floating-utility-dock .back-to-top:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 5px 14px rgba(7,44,104,.12) !important;
}
@media(max-width:640px){
  .floating-utility-dock{
    right:10px;
    bottom:78px;
    gap:4px;
    padding:4px;
    border-radius:15px;
    box-shadow:0 8px 22px rgba(7,44,104,.13);
  }
  .floating-utility-dock .fortune-launcher,
  .floating-utility-dock .back-to-top{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    border-radius:11px !important;
  }
  .floating-utility-dock .fortune-launcher .fortune-launcher-wheel{
    width:27px !important;height:27px !important;min-width:27px !important;flex-basis:27px !important;
  }
  .floating-utility-dock .back-to-top{font-size:21px !important}
}
@media(max-width:360px){
  .floating-utility-dock{right:7px;bottom:76px}
}

/* v35: signature clinic CTA glow — memorable blue/red brand effect */
:root{
  --clinic-blue:#0047B2;
  --clinic-blue-bright:#0B63D8;
  --clinic-blue-deep:#062E73;
  --clinic-red:#F51B1B;
  --clinic-red-soft:#FF6262;
}

/* Primary conversion controls: premium blue body + medical red pulse accent. */
.btn-primary,
.mobile-conversion-book,
.contact-submit,
.fortune-spin{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-color:rgba(0,71,178,.72) !important;
  background:linear-gradient(135deg,var(--clinic-blue-deep) 0%,var(--clinic-blue) 43%,var(--clinic-blue-bright) 100%) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  box-shadow:
    0 11px 26px rgba(0,71,178,.24),
    0 0 0 1px rgba(255,255,255,.10) inset,
    0 -2px 0 rgba(245,27,27,.62) inset;
  text-shadow:0 1px 1px rgba(3,32,78,.24);
  transition:transform .18s ease,box-shadow .24s ease,filter .24s ease !important;
  animation:clinicCtaBreath 5.8s ease-in-out infinite;
}

/* A short, clean moving highlight rather than constant flashing. */
.btn-primary::before,
.mobile-conversion-book::before,
.contact-submit::before,
.fortune-spin::before{
  content:"" !important;
  position:absolute !important;
  z-index:1 !important;
  top:-55% !important;
  bottom:-55% !important;
  left:-42% !important;
  width:22% !important;
  height:auto !important;
  border:0 !important;
  border-radius:0 !important;
  opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),rgba(255,255,255,.70),rgba(255,255,255,.08),transparent) !important;
  transform:skewX(-18deg) !important;
  pointer-events:none;
  animation:clinicCtaSweep 5.8s cubic-bezier(.25,.62,.3,1) infinite !important;
}

/* Red pinpoint light makes the blue/red clinic palette recognizable. */
.btn-primary::after,
.mobile-conversion-book::after,
.contact-submit::after,
.fortune-spin::after{
  content:"";
  position:absolute;
  z-index:2;
  right:10px;
  top:9px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--clinic-red-soft);
  box-shadow:0 0 0 3px rgba(245,27,27,.08),0 0 10px rgba(245,27,27,.62);
  pointer-events:none;
  animation:clinicRedPulse 2.9s ease-in-out infinite;
}

@keyframes clinicCtaSweep{
  0%,58%{left:-42%;opacity:0}
  62%{opacity:.92}
  76%{left:126%;opacity:.72}
  80%,100%{left:126%;opacity:0}
}
@keyframes clinicCtaBreath{
  0%,72%,100%{
    box-shadow:0 11px 26px rgba(0,71,178,.24),0 0 0 1px rgba(255,255,255,.10) inset,0 -2px 0 rgba(245,27,27,.62) inset;
  }
  82%{
    box-shadow:0 14px 34px rgba(0,71,178,.34),0 0 0 3px rgba(11,99,216,.08),0 0 20px rgba(0,71,178,.13),0 -2px 0 rgba(245,27,27,.78) inset;
  }
}
@keyframes clinicRedPulse{
  0%,65%,100%{transform:scale(.78);opacity:.62}
  74%{transform:scale(1.18);opacity:1}
  82%{transform:scale(.9);opacity:.78}
}

@media(hover:hover){
  .btn-primary:hover,
  .mobile-conversion-book:hover,
  .contact-submit:hover,
  .fortune-spin:hover{
    transform:translateY(-2px) scale(1.012) !important;
    filter:saturate(1.08) brightness(1.035);
    box-shadow:0 16px 38px rgba(0,71,178,.36),0 0 0 3px rgba(245,27,27,.055),0 -2px 0 rgba(245,27,27,.85) inset !important;
  }
}
.btn-primary:active,
.mobile-conversion-book:active,
.contact-submit:active,
.fortune-spin:active{
  transform:translateY(1px) scale(.985) !important;
  transition-duration:.08s !important;
}

/* Call controls stay lighter, but get a subtle blue halo + red phone cue. */
.btn-call,
.mobile-conversion-call{
  position:relative;
  overflow:hidden;
  border-color:#B9CDE8 !important;
  background:linear-gradient(180deg,#FFFFFF 0%,#F7FAFF 100%) !important;
  box-shadow:0 8px 20px rgba(7,44,104,.08),0 0 0 1px rgba(255,255,255,.8) inset;
  transition:transform .18s ease,box-shadow .22s ease,border-color .22s ease !important;
}
.btn-call::after,
.mobile-conversion-call::after{
  content:"";
  position:absolute;
  left:10%;
  right:10%;
  bottom:0;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,transparent,var(--clinic-blue) 25%,var(--clinic-red) 72%,transparent);
  opacity:.58;
  transform:scaleX(.58);
  animation:clinicCallLine 4.8s ease-in-out infinite;
  pointer-events:none;
}
.hero-call-icon,
.mobile-conversion-call>span:first-child{
  color:var(--clinic-red) !important;
  filter:drop-shadow(0 2px 5px rgba(245,27,27,.18));
  animation:clinicPhoneBeat 3.6s ease-in-out infinite;
}
@keyframes clinicCallLine{0%,100%{transform:scaleX(.58);opacity:.42}50%{transform:scaleX(1);opacity:.9}}
@keyframes clinicPhoneBeat{0%,68%,100%{transform:scale(1)}74%{transform:scale(1.10)}79%{transform:scale(1)}84%{transform:scale(1.07)}}
@media(hover:hover){
  .btn-call:hover,.mobile-conversion-call:hover{
    transform:translateY(-1px);
    border-color:#8FB0DA !important;
    box-shadow:0 12px 28px rgba(7,44,104,.14),0 0 0 3px rgba(0,71,178,.045) !important;
  }
}
.btn-call:active,.mobile-conversion-call:active{transform:translateY(1px) scale(.986)}

/* Header WhatsApp: restrained polished glow; still instantly recognizable as WhatsApp. */
.header-whatsapp{
  box-shadow:0 7px 18px rgba(37,211,102,.20),0 0 0 1px rgba(255,255,255,.75) inset !important;
  animation:clinicWaGlow 5.8s ease-in-out infinite;
}
@keyframes clinicWaGlow{
  0%,75%,100%{box-shadow:0 7px 18px rgba(37,211,102,.20),0 0 0 1px rgba(255,255,255,.75) inset}
  84%{box-shadow:0 9px 24px rgba(37,211,102,.34),0 0 0 4px rgba(37,211,102,.08),0 0 0 1px rgba(255,255,255,.75) inset}
}

/* Compact utility dock gets one shared brand aura, not two competing animations. */
.floating-utility-dock{
  box-shadow:0 10px 28px rgba(7,44,104,.14),0 0 0 1px rgba(245,27,27,.025) !important;
  animation:clinicUtilityGlow 7s ease-in-out infinite;
}
.floating-utility-dock .fortune-launcher{
  background:linear-gradient(145deg,#F7FAFF,#EDF4FE) !important;
  border-color:#C7D8ED !important;
}
.floating-utility-dock .fortune-launcher .fortune-launcher-wheel{
  box-shadow:0 0 0 2px rgba(255,255,255,.72),0 0 12px rgba(0,71,178,.18) !important;
}
.floating-utility-dock .back-to-top{
  background:linear-gradient(180deg,#fff,#F6F9FE) !important;
}
@keyframes clinicUtilityGlow{
  0%,78%,100%{box-shadow:0 10px 28px rgba(7,44,104,.14),0 0 0 1px rgba(245,27,27,.025)}
  86%{box-shadow:0 12px 30px rgba(0,71,178,.18),0 0 0 3px rgba(0,71,178,.045),0 0 16px rgba(245,27,27,.04)}
}

/* Make the fixed mobile booking CTA the visual anchor of paid traffic. */
@media(max-width:640px){
  .mobile-conversion-bar{
    border-top-color:rgba(0,71,178,.16) !important;
    box-shadow:0 -12px 34px rgba(7,44,104,.14),0 -1px 0 rgba(245,27,27,.08) !important;
  }
  .mobile-conversion-book{
    box-shadow:0 9px 25px rgba(0,71,178,.30),0 -2px 0 rgba(245,27,27,.70) inset !important;
  }
  .hero-conversion .hero-main-cta{
    box-shadow:0 14px 34px rgba(0,71,178,.31),0 -2px 0 rgba(245,27,27,.70) inset !important;
  }
  .btn-primary::after,.mobile-conversion-book::after,.contact-submit::after,.fortune-spin::after{
    width:4px;height:4px;right:9px;top:8px;
  }
}

/* Accessibility: all brand effects become static when motion is reduced. */
@media(prefers-reduced-motion:reduce){
  .btn-primary,.mobile-conversion-book,.contact-submit,.fortune-spin,.header-whatsapp,.floating-utility-dock,
  .btn-primary::before,.mobile-conversion-book::before,.contact-submit::before,.fortune-spin::before,
  .btn-primary::after,.mobile-conversion-book::after,.contact-submit::after,.fortune-spin::after,
  .btn-call::after,.mobile-conversion-call::after,.hero-call-icon,.mobile-conversion-call>span:first-child{
    animation:none !important;
  }
}

/* v36: raise compact utility dock above mobile conversion bar */
@media(max-width:640px){
  .floating-utility-dock{
    bottom:106px !important;
  }
}
@media(max-width:360px){
  .floating-utility-dock{
    bottom:104px !important;
  }
}

/* v37: mobile header — replace phone number text with a compact handset icon */
.header-phone-icon{display:none;width:21px;height:21px;fill:currentColor}
@media(max-width:640px){
  .site-header .header-row{
    grid-template-columns:auto 40px 38px 40px !important;
    grid-template-areas:"brand phone whatsapp menu" !important;
  }
  .site-header .header-phone{
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    padding:0 !important;
    border:1px solid #B9CDE8 !important;
    border-radius:12px !important;
    background:linear-gradient(180deg,#FFFFFF 0%,#F5F9FF 100%) !important;
    box-shadow:0 7px 18px rgba(0,71,178,.12),0 0 0 1px rgba(255,255,255,.75) inset !important;
    color:var(--clinic-blue,#0047B2) !important;
    -webkit-text-fill-color:var(--clinic-blue,#0047B2) !important;
  }
  .site-header .header-phone-prefix,
  .site-header .header-phone-number{display:none !important}
  .site-header .header-phone-icon{display:block !important;width:21px !important;height:21px !important;fill:currentColor !important}
  .site-header .header-phone:active{transform:scale(.95)}
}
@media(max-width:380px){
  .site-header .header-row{grid-template-columns:auto 36px 36px 38px !important}
  .site-header .header-phone{width:36px !important;min-width:36px !important;height:36px !important;min-height:36px !important;border-radius:11px !important}
  .site-header .header-phone-icon{width:20px !important;height:20px !important}
}
@media(max-width:340px){
  .site-header .header-row{grid-template-columns:auto 34px 34px 36px !important}
  .site-header .header-phone{width:34px !important;min-width:34px !important;height:34px !important;min-height:34px !important;border-radius:10px !important}
  .site-header .header-phone-icon{width:19px !important;height:19px !important}
}

/* v38: group mobile phone + WhatsApp into one neat contact capsule */
.header-contact-actions{display:contents}
@media(max-width:640px){
  .site-header .header-row{
    grid-template-columns:minmax(0,1fr) auto 40px !important;
    grid-template-areas:"brand contacts menu" !important;
    justify-content:stretch !important;
    column-gap:8px !important;
  }
  .site-header .header-contact-actions{
    grid-area:contacts !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:2px !important;
    height:44px !important;
    padding:3px !important;
    margin:0 !important;
    border:1px solid #D9E5F3 !important;
    border-radius:14px !important;
    background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(245,249,255,.96)) !important;
    box-shadow:0 7px 20px rgba(7,44,104,.10),0 1px 0 rgba(255,255,255,.95) inset !important;
  }
  .site-header .header-contact-actions .header-phone{
    grid-area:auto !important;
    display:grid !important;
    place-items:center !important;
    width:36px !important;
    min-width:36px !important;
    height:36px !important;
    min-height:36px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:10px !important;
    background:transparent !important;
    box-shadow:none !important;
    color:var(--clinic-blue,#0047B2) !important;
    -webkit-text-fill-color:var(--clinic-blue,#0047B2) !important;
    transition:background .18s ease,transform .18s ease !important;
  }
  .site-header .header-contact-actions .header-phone::after{
    content:"";
    position:absolute;
    right:-2px;
    top:8px;
    width:1px;
    height:20px;
    background:#DCE6F2;
  }
  .site-header .header-contact-actions .header-phone:hover{background:#EDF4FD !important}
  .site-header .header-contact-actions .header-phone:active{transform:scale(.94) !important}
  .site-header .header-contact-actions .header-phone-icon{
    display:block !important;
    width:20px !important;
    height:20px !important;
  }
  .site-header .header-contact-actions .header-phone-prefix,
  .site-header .header-contact-actions .header-phone-number{display:none !important}
  .site-header .header-contact-actions .header-whatsapp{
    grid-area:auto !important;
    display:grid !important;
    place-items:center !important;
    width:36px !important;
    min-width:36px !important;
    height:36px !important;
    min-height:36px !important;
    flex:0 0 36px !important;
    margin:0 !important;
    border-radius:10px !important;
    box-shadow:0 5px 13px rgba(37,211,102,.22) !important;
    animation:none !important;
  }
  .site-header .header-contact-actions .header-whatsapp::before{display:none !important}
  .site-header .header-contact-actions .header-whatsapp svg{width:20px !important;height:20px !important}
  .site-header .menu-toggle{grid-area:menu !important}
}
@media(max-width:380px){
  .site-header .header-row{grid-template-columns:minmax(0,1fr) auto 38px !important;column-gap:6px !important}
  .site-header .header-contact-actions{height:40px !important;padding:2px !important;border-radius:12px !important}
  .site-header .header-contact-actions .header-phone,
  .site-header .header-contact-actions .header-whatsapp{width:34px !important;min-width:34px !important;height:34px !important;min-height:34px !important;flex-basis:34px !important;border-radius:9px !important}
  .site-header .header-contact-actions .header-phone-icon,
  .site-header .header-contact-actions .header-whatsapp svg{width:19px !important;height:19px !important}
  .site-header .header-contact-actions .header-phone::after{top:7px;height:20px}
}
@media(max-width:340px){
  .site-header .header-row{grid-template-columns:minmax(0,1fr) auto 36px !important;column-gap:4px !important}
  .site-header .header-contact-actions{height:38px !important}
  .site-header .header-contact-actions .header-phone,
  .site-header .header-contact-actions .header-whatsapp{width:32px !important;min-width:32px !important;height:32px !important;min-height:32px !important;flex-basis:32px !important}
  .site-header .header-contact-actions .header-phone-icon,
  .site-header .header-contact-actions .header-whatsapp svg{width:18px !important;height:18px !important}
  .site-header .header-contact-actions .header-phone::after{top:6px;height:20px}
}

/* v39: align mobile hero trust cards — especially № 51 / Комендантский проспект */
@media(max-width:640px){
  .hero-conversion .hero-trust-facts{
    align-items:stretch;
  }
  .hero-conversion .hero-trust-facts div{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:64px;
    height:100%;
    padding:8px 6px;
  }
  .hero-conversion .hero-trust-facts b{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:18px;
    margin:0;
    line-height:1.1;
  }
  .hero-conversion .hero-trust-facts span{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:24px;
    width:100%;
    margin-top:3px;
    line-height:1.18;
    text-align:center;
    overflow-wrap:normal;
    word-break:normal;
  }
}
@media(max-width:360px){
  .hero-conversion .hero-trust-facts div{min-height:62px;padding-left:4px;padding-right:4px}
  .hero-conversion .hero-trust-facts span{font-size:8.7px!important;letter-spacing:-.015em}
}

/* v40: accessible high-visibility mode, toggled from the main menu */
.a11y-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:38px;
  padding:7px 10px;
  border:1px solid #B8CBE3;
  border-radius:11px;
  background:#F7FAFF;
  color:#073F91;
  font-size:12px;
  font-weight:850;
  line-height:1.15;
  white-space:nowrap;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.a11y-toggle:hover{background:#EDF4FD;border-color:#8FAED5;transform:translateY(-1px)}
.a11y-toggle:focus-visible{outline:3px solid #FFBF00;outline-offset:3px}
.a11y-toggle-icon{width:18px;height:18px;flex:0 0 18px;fill:currentColor}
.a11y-toggle[aria-pressed="true"]{background:#111;color:#fff;border-color:#111}

@media(max-width:1120px){
  .main-nav .a11y-toggle{
    width:100%;
    min-height:48px;
    justify-content:flex-start;
    padding:11px 13px;
    margin-top:4px;
    border-radius:12px;
    font-size:15px;
  }
  .main-nav .a11y-toggle-icon{width:21px;height:21px;flex-basis:21px}
}

/* High-visibility version. Keeps layout familiar while increasing readability and contrast. */
html.a11y-mode{scroll-behavior:auto}
html.a11y-mode body{
  color:#111 !important;
  background:#fff !important;
  font-size:20px !important;
  line-height:1.72 !important;
  letter-spacing:.012em;
  padding-bottom:0;
}
html.a11y-mode *,
html.a11y-mode *::before,
html.a11y-mode *::after{
  animation:none !important;
  transition:none !important;
  text-shadow:none !important;
}
html.a11y-mode a:not(.btn):not(.mobile-conversion-call):not(.mobile-conversion-book):not(.header-phone):not(.header-whatsapp):not(.brand){
  color:#003A8C !important;
  text-decoration:underline !important;
  text-decoration-thickness:2px !important;
  text-underline-offset:3px;
}
html.a11y-mode a:focus-visible,
html.a11y-mode button:focus-visible,
html.a11y-mode input:focus-visible,
html.a11y-mode textarea:focus-visible,
html.a11y-mode select:focus-visible,
html.a11y-mode summary:focus-visible{
  outline:4px solid #FFBF00 !important;
  outline-offset:3px !important;
}
html.a11y-mode .medical-warning{
  background:#000 !important;
  color:#fff !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.45 !important;
}
html.a11y-mode .site-header{
  background:#fff !important;
  border-bottom:3px solid #111 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
html.a11y-mode .main-nav a{
  color:#111 !important;
  font-size:17px !important;
  font-weight:900 !important;
  text-decoration:underline !important;
}
html.a11y-mode .a11y-toggle{
  min-height:48px;
  border:2px solid #111 !important;
  background:#111 !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:900 !important;
}
html.a11y-mode .a11y-toggle-icon{width:22px;height:22px;flex-basis:22px}
html.a11y-mode .hero,
html.a11y-mode .hero-conversion,
html.a11y-mode .page-hero,
html.a11y-mode .section,
html.a11y-mode .section-soft,
html.a11y-mode .section-dark,
html.a11y-mode .site-footer{
  background:#fff !important;
  color:#111 !important;
}
html.a11y-mode .hero h1,
html.a11y-mode .page-hero h1,
html.a11y-mode .section h2,
html.a11y-mode .section-dark h2,
html.a11y-mode .card h2,
html.a11y-mode .card h3,
html.a11y-mode .contact-modal-copy h2,
html.a11y-mode .footer-brand{
  color:#000 !important;
  -webkit-text-fill-color:#000 !important;
  letter-spacing:0 !important;
}
html.a11y-mode .hero h1,
html.a11y-mode .page-hero h1{font-size:clamp(42px,5.4vw,68px) !important;line-height:1.12 !important}
html.a11y-mode .section h2{font-size:clamp(34px,4vw,50px) !important;line-height:1.18 !important}
html.a11y-mode p,
html.a11y-mode li,
html.a11y-mode dd,
html.a11y-mode dt,
html.a11y-mode .hero-lead,
html.a11y-mode .page-hero p,
html.a11y-mode .card p,
html.a11y-mode .prose,
html.a11y-mode .feature-grid p,
html.a11y-mode .feature-list span,
html.a11y-mode .faq-list p,
html.a11y-mode .contact-modal-copy>p,
html.a11y-mode .site-footer p{
  color:#111 !important;
  font-size:20px !important;
  line-height:1.72 !important;
}
html.a11y-mode .eyebrow,
html.a11y-mode .hero-direct-signals span,
html.a11y-mode .hero-facts span,
html.a11y-mode .muted,
html.a11y-mode .contact-points span,
html.a11y-mode .footer-bottom{
  color:#111 !important;
  font-size:16px !important;
  font-weight:800 !important;
}
html.a11y-mode .card,
html.a11y-mode .hero-facts div,
html.a11y-mode .feature-list div,
html.a11y-mode .faq-list details,
html.a11y-mode .contact-card,
html.a11y-mode .contact-form,
html.a11y-mode .contact-dialog,
html.a11y-mode .info-box{
  background:#fff !important;
  color:#111 !important;
  border:2px solid #111 !important;
  box-shadow:none !important;
}
html.a11y-mode .btn,
html.a11y-mode .contact-submit,
html.a11y-mode .fortune-spin,
html.a11y-mode .mobile-conversion-book{
  min-height:54px !important;
  background:#000 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border:2px solid #000 !important;
  box-shadow:none !important;
  font-size:18px !important;
  font-weight:900 !important;
}
html.a11y-mode .btn-ghost,
html.a11y-mode .btn-call,
html.a11y-mode .mobile-conversion-call{
  min-height:54px !important;
  background:#fff !important;
  color:#000 !important;
  -webkit-text-fill-color:#000 !important;
  border:2px solid #000 !important;
  box-shadow:none !important;
  font-size:18px !important;
  font-weight:900 !important;
}
html.a11y-mode input,
html.a11y-mode textarea,
html.a11y-mode select{
  min-height:52px !important;
  background:#fff !important;
  color:#000 !important;
  border:2px solid #000 !important;
  font-size:18px !important;
  line-height:1.5 !important;
}
html.a11y-mode label,
html.a11y-mode summary{color:#000 !important;font-size:18px !important;font-weight:900 !important}
html.a11y-mode .header-phone,
html.a11y-mode .header-whatsapp,
html.a11y-mode .menu-toggle,
html.a11y-mode .floating-utility-dock,
html.a11y-mode .floating-utility-dock .fortune-launcher,
html.a11y-mode .floating-utility-dock .back-to-top{
  box-shadow:none !important;
}
html.a11y-mode .header-phone,
html.a11y-mode .menu-toggle,
html.a11y-mode .floating-utility-dock,
html.a11y-mode .floating-utility-dock .fortune-launcher,
html.a11y-mode .floating-utility-dock .back-to-top{
  border-color:#000 !important;
}
html.a11y-mode .hero-image,
html.a11y-mode .card-image,
html.a11y-mode .gallery-image{filter:none !important}
html.a11y-mode .mobile-conversion-bar{
  background:#fff !important;
  border-top:3px solid #000 !important;
  box-shadow:none !important;
}

@media(max-width:640px){
  html.a11y-mode body{font-size:19px !important;padding-bottom:76px}
  html.a11y-mode .hero-conversion .hero-clean-title,
  html.a11y-mode .hero-conversion h1,
  html.a11y-mode .page-hero h1{
    font-size:clamp(34px,9.5vw,44px) !important;
    line-height:1.14 !important;
    white-space:normal !important;
  }
  html.a11y-mode .hero-conversion .hero-clean-title span{white-space:normal !important}
  html.a11y-mode p,
  html.a11y-mode li,
  html.a11y-mode dd,
  html.a11y-mode dt,
  html.a11y-mode .hero-lead,
  html.a11y-mode .page-hero p,
  html.a11y-mode .card p,
  html.a11y-mode .prose,
  html.a11y-mode .feature-grid p,
  html.a11y-mode .feature-list span,
  html.a11y-mode .faq-list p,
  html.a11y-mode .contact-modal-copy>p,
  html.a11y-mode .site-footer p{font-size:19px !important;line-height:1.68 !important}
  html.a11y-mode .main-nav{border:3px solid #111 !important;box-shadow:none !important}
  html.a11y-mode .main-nav a,
  html.a11y-mode .main-nav .a11y-toggle{font-size:18px !important;min-height:52px}
  html.a11y-mode .hero-conversion .hero-trust-facts{grid-template-columns:1fr !important}
  html.a11y-mode .hero-conversion .hero-trust-facts div{text-align:left !important;border:2px solid #111 !important}
  html.a11y-mode .hero-conversion .hero-trust-facts b{font-size:19px !important}
  html.a11y-mode .hero-conversion .hero-trust-facts span{font-size:17px !important}
  html.a11y-mode .hero-direct-signals span{font-size:16px !important;min-height:40px !important}
  html.a11y-mode .mobile-conversion-bar a{font-size:17px !important;min-height:54px !important}
}

/* v41: keep all three hero trust cards in one equal mobile row */
@media(max-width:640px){
  .hero-conversion .hero-trust-facts{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
    align-items:stretch !important;
  }
  .hero-conversion .hero-trust-facts > div,
  .hero-conversion .hero-trust-facts > div:last-child{
    grid-column:auto !important;
    min-width:0 !important;
    width:auto !important;
    min-height:68px !important;
    padding:8px 5px !important;
  }
  .hero-conversion .hero-trust-facts b{
    white-space:nowrap;
  }
  .hero-conversion .hero-trust-facts span{
    min-width:0;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
}
@media(max-width:360px){
  .hero-conversion .hero-trust-facts{gap:5px !important}
  .hero-conversion .hero-trust-facts > div,
  .hero-conversion .hero-trust-facts > div:last-child{
    min-height:66px !important;
    padding-left:3px !important;
    padding-right:3px !important;
  }
  .hero-conversion .hero-trust-facts b{font-size:13px !important}
  .hero-conversion .hero-trust-facts span{font-size:8.3px !important;line-height:1.15 !important}
}

/* v42: tidy desktop accessibility control — compact eye button inside the horizontal menu */
@media (min-width:1121px){
  .main-nav{
    gap:12px !important;
    min-width:0;
  }
  .main-nav .a11y-toggle{
    position:relative;
    flex:0 0 40px;
    width:40px;
    min-width:40px;
    height:40px;
    min-height:40px;
    padding:0;
    margin-left:2px;
    border:1px solid #C9D9EC;
    border-radius:12px;
    background:linear-gradient(180deg,#FFFFFF,#F4F8FD);
    color:#073F91;
    box-shadow:0 5px 14px rgba(7,44,104,.08);
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;
  }
  .main-nav .a11y-toggle:hover{
    transform:translateY(-1px);
    border-color:#8FADD0;
    background:#EDF4FD;
    box-shadow:0 7px 18px rgba(7,44,104,.13);
  }
  .main-nav .a11y-toggle:active{transform:translateY(0) scale(.97)}
  .main-nav .a11y-toggle-icon{
    width:21px;
    height:21px;
    flex:0 0 21px;
  }
  /* Keep the full label for screen readers; the desktop UI only needs the familiar eye icon. */
  .main-nav .a11y-toggle-text{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
  }
  html.a11y-mode .main-nav .a11y-toggle{
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    padding:0 !important;
    border:2px solid #111 !important;
    border-radius:12px !important;
    background:#111 !important;
    color:#fff !important;
    box-shadow:none !important;
  }
  html.a11y-mode .main-nav .a11y-toggle-icon{
    width:21px !important;
    height:21px !important;
    flex-basis:21px !important;
  }
}

/* v43: accessibility switch lives only in the floating utility dock */
.floating-utility-dock .utility-a11y-toggle{
  position:relative !important;
  inset:auto !important;
  right:auto !important;
  left:auto !important;
  bottom:auto !important;
  margin:0 !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid #D6E3F3 !important;
  border-radius:13px !important;
  background:#fff !important;
  color:var(--primary,#0047B2) !important;
  box-shadow:none !important;
  transform:none !important;
  line-height:1 !important;
}
.floating-utility-dock .utility-a11y-toggle .a11y-toggle-icon{
  width:22px !important;
  height:22px !important;
  flex:0 0 22px !important;
  fill:currentColor !important;
}
.floating-utility-dock .utility-a11y-toggle .a11y-toggle-text{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.floating-utility-dock .utility-a11y-toggle:hover{
  transform:translateY(-1px) !important;
  border-color:#9AB5D6 !important;
  background:#F4F8FD !important;
  box-shadow:0 5px 14px rgba(7,44,104,.12) !important;
}
.floating-utility-dock .utility-a11y-toggle:focus-visible{
  outline:3px solid #FFBF00 !important;
  outline-offset:2px !important;
}
.floating-utility-dock .utility-a11y-toggle[aria-pressed="true"]{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
}
@media(max-width:640px){
  .floating-utility-dock .utility-a11y-toggle{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    border-radius:11px !important;
  }
  .floating-utility-dock .utility-a11y-toggle .a11y-toggle-icon{
    width:20px !important;
    height:20px !important;
    flex-basis:20px !important;
  }
}
html.a11y-mode .floating-utility-dock .utility-a11y-toggle{
  background:#111 !important;
  color:#fff !important;
  border:2px solid #000 !important;
  box-shadow:none !important;
}


/* v44: concise desktop phone — handset first + international number */
@media(min-width:641px){
  .site-header .header-phone{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    min-height:40px !important;
    padding:7px 10px !important;
    border:0 !important;
    border-radius:10px !important;
    background:transparent !important;
    color:var(--primary,#0047B2) !important;
    -webkit-text-fill-color:var(--primary,#0047B2) !important;
    box-shadow:none !important;
    font-size:15px !important;
    font-weight:850 !important;
    line-height:1 !important;
    letter-spacing:.005em !important;
    white-space:nowrap !important;
    text-decoration:none !important;
    transition:background .18s ease,transform .18s ease,color .18s ease !important;
  }
  .site-header .header-phone-icon{
    display:block !important;
    width:19px !important;
    height:19px !important;
    flex:0 0 19px !important;
    fill:currentColor !important;
  }
  .site-header .header-phone-number{
    display:inline !important;
    white-space:nowrap !important;
  }
  .site-header .header-phone:hover{
    background:#F1F6FC !important;
    transform:translateY(-1px) !important;
  }
  .site-header .header-phone:active{transform:translateY(0) scale(.98) !important}
}

/* v45: visual sectors 5/10/15/20/25; actual prizes only 5/10; maximum five spins per PHP session */
.fortune-spins-left{margin:8px 0 2px;text-align:center;font-size:13px;font-weight:800;color:#53695e}


/* v46: SEO clinic text after FAQ */
.clinic-seo-section{padding-top:68px;padding-bottom:76px;background:#fff}
.clinic-seo-content{max-width:900px}
.clinic-seo-content h2{max-width:820px;margin-bottom:22px}
.clinic-seo-text{font-size:17px;line-height:1.78;color:#52675c}
.clinic-seo-text p{margin:0 0 18px}
.clinic-seo-text p:last-child{margin-bottom:0}
.clinic-seo-text a{color:var(--primary);font-weight:800;text-decoration-thickness:1px;text-underline-offset:3px}
.clinic-seo-text a:hover{text-decoration-thickness:2px}
@media(max-width:640px){
  .clinic-seo-section{padding-top:52px;padding-bottom:58px}
  .clinic-seo-text{font-size:16px;line-height:1.7}
}

/* 2GIS map on Contacts */
.twogis-map{min-height:520px}.twogis-map iframe{display:block;width:100%!important;height:520px!important;border:0}.twogis-map .dg-widget-link{display:none}.twogis-noscript{margin:0;padding:24px}.twogis-noscript a{color:var(--primary);font-weight:800}@media(max-width:520px){.twogis-map{min-height:390px}.twogis-map iframe{height:390px!important}}

/* v47: Contacts — Yandex + 2GIS in one clean row */
.contacts-main-section{padding-bottom:34px}
.contact-card-wide{max-width:none;padding:32px 34px}
.contact-card-wide dl{display:grid;grid-template-columns:120px minmax(0,1fr) 120px minmax(0,1fr);column-gap:22px;row-gap:12px;align-items:baseline}
.contact-card-wide dl dt,.contact-card-wide dl dd{margin:0}
.contact-card-wide .contact-actions{margin-top:26px}
.contacts-maps-section{padding-top:54px}
.contacts-maps-head{margin-bottom:24px}
.contacts-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
.contact-map-panel{min-width:0;background:#fff;border:1px solid var(--brand-border,#dfe8e2);border-radius:24px;padding:14px;box-shadow:0 16px 42px rgba(7,44,104,.07)}
.contact-map-panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 8px 15px}
.contact-map-panel-head h3{margin:2px 0 0;font-size:20px;line-height:1.2}
.map-service-label{display:block;color:var(--primary);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.map-open-link{flex:0 0 auto;font-size:14px;font-weight:800;color:var(--primary);text-decoration:none;padding:9px 12px;border-radius:12px;background:#f4f8fb}
.map-open-link:hover{background:#eaf2f8}
.contact-map-panel .yandex-widget-card{border-radius:17px;box-shadow:none;border-color:#e2ebe6}
.contact-map-panel .contact-map iframe,.contact-map-panel .twogis-map iframe{height:500px!important}
.contact-map-panel .twogis-map{min-height:500px}
@media(max-width:900px){
  .contact-card-wide dl{grid-template-columns:110px minmax(0,1fr)}
  .contacts-map-grid{grid-template-columns:1fr}
  .contact-map-panel .contact-map iframe,.contact-map-panel .twogis-map iframe{height:430px!important}
  .contact-map-panel .twogis-map{min-height:430px}
}
@media(max-width:520px){
  .contact-card-wide{padding:24px 20px}
  .contact-card-wide dl{grid-template-columns:1fr;gap:4px}
  .contact-card-wide dl dd{margin:0 0 12px}
  .contacts-maps-section{padding-top:44px}
  .contact-map-grid{gap:16px}
  .contact-map-panel{padding:10px;border-radius:20px}
  .contact-map-panel-head{padding:8px 6px 12px}
  .contact-map-panel-head h3{font-size:18px}
  .map-open-link{font-size:13px;padding:8px 10px}
  .contact-map-panel .contact-map iframe,.contact-map-panel .twogis-map iframe{height:380px!important}
  .contact-map-panel .twogis-map{min-height:380px}
}


/* Desktop layout width setting (admin: standard / wide).
   Intentionally desktop-only: tablet and mobile keep their existing layout. */
@media (min-width:1121px){
  body.desktop-layout-wide .container,
  body.desktop-layout-wide .price-page .container{
    width:min(1540px,calc(100% - 48px));
    max-width:none;
  }
}


/* v48: SEO analysis landing pages */
.seo-hero{background:linear-gradient(180deg,#f5f9ff 0%,#fff 100%)}
.seo-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.seo-category-card{display:block;padding:26px;border:1px solid #dfe8e2;border-radius:22px;background:#fff;text-decoration:none;box-shadow:0 12px 34px rgba(7,44,104,.055);transition:.2s}.seo-category-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(7,44,104,.10)}.seo-category-card>span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--primary)}.seo-category-card h2{font-size:22px;margin:8px 0}.seo-category-card p{color:#617268;min-height:48px}.seo-category-card b{color:var(--primary);font-size:14px}
.seo-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:46px}.seo-benefits>div{padding:18px;border-radius:18px;background:#f6f9f7}.seo-benefits b,.seo-benefits span{display:block}.seo-benefits b{font-size:13px;color:var(--primary);margin-bottom:5px}.seo-benefits span{font-size:14px;color:#405249}.seo-results-head{margin-top:10px}.seo-price-list{display:grid;gap:10px}.seo-price-card{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;border:1px solid #e1e9e4;border-radius:17px;background:#fff}.seo-price-card small{color:#738078}.seo-price-card h3{font-size:16px;margin:5px 0 4px;line-height:1.35}.seo-price-card span{font-size:13px;color:#6b786f}.seo-price-action{display:flex;align-items:center;gap:16px;white-space:nowrap}.seo-price-action strong{font-size:18px}.seo-more{text-align:center;margin-top:24px}.seo-copy{font-size:17px;line-height:1.75}.seo-copy>p{color:#52675c}.seo-cta-box{margin-top:30px;padding:26px 28px;border-radius:22px;background:#fff;display:flex;justify-content:space-between;gap:24px;align-items:center;box-shadow:0 12px 34px rgba(7,44,104,.06)}.seo-cta-box h3{margin:0 0 6px}.seo-cta-box p{margin:0;color:#607168}.seo-cta-box>div:last-child{display:flex;gap:10px;flex:0 0 auto}.seo-link-cloud{display:flex;flex-wrap:wrap;gap:10px}.seo-link-cloud a{padding:11px 15px;border-radius:999px;background:#f3f7f5;color:var(--dark);text-decoration:none;font-weight:800;font-size:14px}.seo-link-cloud a:hover{background:#e7f0eb;color:var(--primary)}
@media(max-width:900px){.seo-category-grid{grid-template-columns:repeat(2,1fr)}.seo-benefits{grid-template-columns:repeat(2,1fr)}.seo-cta-box{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.seo-category-grid{grid-template-columns:1fr}.seo-category-card p{min-height:0}.seo-benefits{grid-template-columns:1fr 1fr}.seo-price-card{align-items:flex-start;flex-direction:column}.seo-price-action{width:100%;justify-content:space-between}.seo-cta-box>div:last-child{width:100%;flex-direction:column}.seo-cta-box .btn{width:100%;text-align:center}}

/* v42: elegant SEO mega-menu for analyses — desktop + mobile */
.nav-mega{position:static;display:flex;align-items:center}
.nav-mega-trigger-row{display:flex;align-items:center;gap:2px}
.nav-mega-main{display:inline-flex;align-items:center}
.nav-mega-toggle{width:28px;height:28px;display:inline-grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#29466F;cursor:pointer;padding:0;transition:.18s ease}
.nav-mega-toggle:hover,.nav-mega-toggle:focus-visible{background:#eef4fb;color:var(--primary,#0047B2);outline:none}
.nav-mega-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.nav-mega-panel{position:absolute;z-index:1200;top:calc(100% - 2px);left:220px;right:118px;padding:22px;background:rgba(255,255,255,.985);border:1px solid #dbe6f4;border-radius:0 0 22px 22px;box-shadow:0 24px 60px rgba(7,44,104,.16);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
.nav-mega:hover .nav-mega-panel,.nav-mega:focus-within .nav-mega-panel,.nav-mega.is-open .nav-mega-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.nav-mega:hover .nav-mega-toggle svg,.nav-mega:focus-within .nav-mega-toggle svg,.nav-mega.is-open .nav-mega-toggle svg{transform:rotate(180deg)}
.nav-mega-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 2px 16px;margin-bottom:16px;border-bottom:1px solid #e7eef8}
.nav-mega-head>div{display:grid;gap:2px}.nav-mega-kicker{font-size:11px;line-height:1.2;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#6d83a0}.nav-mega-head strong{font-size:22px;line-height:1.15;color:var(--dark,#072C68)}
.nav-mega-all{display:inline-flex!important;align-items:center;gap:8px;padding:9px 13px!important;border-radius:10px;background:#eef5ff;color:var(--primary,#0047B2)!important;font-size:13px!important;font-weight:900!important;white-space:nowrap}
.nav-mega-grid{display:grid;grid-template-columns:1.06fr 1.12fr 1.12fr .94fr .94fr;gap:18px}
.nav-mega-group{min-width:0}.nav-mega-group h3{margin:0 0 9px;font-size:13px;line-height:1.3;color:var(--dark,#072C68);font-weight:900}
.nav-mega-links{display:grid;gap:3px}.main-nav .nav-mega-links a{display:block;padding:5px 7px;border-radius:8px;font-size:12.5px;line-height:1.25;font-weight:650;color:#49617f;transition:.15s ease}.main-nav .nav-mega-links a:hover,.main-nav .nav-mega-links a:focus-visible{background:#f3f7fc;color:var(--primary,#0047B2);outline:none}
.nav-mega-foot{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:17px;padding-top:13px;border-top:1px solid #e7eef8;font-size:13px;color:#8a9ab0}.main-nav .nav-mega-foot a{font-size:13px;font-weight:850;color:var(--primary,#0047B2)}
@media(min-width:1121px){
  .site-header .header-row{position:relative}
  .nav-mega-panel:before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
}
@media(max-width:1120px){
  .nav-mega{display:block;width:100%;position:relative}
  .nav-mega-trigger-row{display:grid;grid-template-columns:1fr 42px;gap:4px;width:100%}
  .main-nav .nav-mega-main{min-height:46px!important;padding:10px 12px!important}
  .nav-mega-toggle{width:42px;height:46px;border-radius:10px;background:#f4f7fb;color:var(--primary,#0047B2)}
  .nav-mega-panel{position:static!important;display:none;width:100%;max-height:min(64vh,620px);overflow:auto;overscroll-behavior:contain;padding:14px 12px 12px;margin-top:5px;border:1px solid #dfE8f4;border-radius:14px;box-shadow:none;background:#f8fbff;opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .nav-mega:hover .nav-mega-panel,.nav-mega:focus-within .nav-mega-panel{display:none}
  .nav-mega.is-open .nav-mega-panel{display:block}
  .nav-mega-head{align-items:flex-start;padding-bottom:12px;margin-bottom:12px}.nav-mega-head strong{font-size:18px}.nav-mega-kicker{font-size:10px}.nav-mega-all{padding:7px 10px!important;font-size:12px!important;min-height:auto!important;width:auto!important}
  .nav-mega-grid{grid-template-columns:1fr 1fr;gap:16px 12px}
  .nav-mega-group{padding:0 2px}.nav-mega-group h3{font-size:12.5px;margin-bottom:7px}
  .main-nav .nav-mega-links a{min-height:0!important;padding:6px 7px!important;font-size:12.5px!important;line-height:1.25!important;border-radius:8px!important;color:#46617f!important}
  .nav-mega-foot{justify-content:flex-start;flex-wrap:wrap;margin-top:14px;padding-top:11px}.main-nav .nav-mega-foot a{width:auto!important;min-height:0!important;padding:5px!important;font-size:12.5px!important}
}
@media(max-width:640px){
  .site-header .main-nav{padding:8px!important;max-height:calc(100dvh - 120px);overflow:auto}
  .nav-mega-grid{grid-template-columns:1fr;gap:15px}
  .nav-mega-panel{max-height:56vh;padding:13px 10px 11px}
  .nav-mega-head{position:sticky;top:-13px;z-index:2;background:#f8fbff;padding-top:4px}
  .nav-mega-head strong{font-size:17px}.nav-mega-kicker{display:none}
  .nav-mega-group h3{font-size:13px;color:#173f73}
  .nav-mega-links{grid-template-columns:1fr 1fr;gap:3px 6px}
  .main-nav .nav-mega-links a{font-size:12px!important;padding:6px!important}
}
@media(max-width:390px){.nav-mega-links{grid-template-columns:1fr}.nav-mega-all{font-size:11.5px!important}.nav-mega-head strong{font-size:16px}}

/* SEO text editable from admin */
.seo-admin-text{color:#52675c;font-size:17px;line-height:1.78}.seo-admin-text p{margin:0 0 18px}.seo-admin-text p:last-child{margin-bottom:0}.seo-admin-text h2,.seo-admin-text h3{color:var(--dark);margin:30px 0 12px}.seo-admin-text ul,.seo-admin-text ol{padding-left:22px;margin:14px 0 20px}.seo-admin-text li{margin:7px 0}.page-managed-seo{border-top:1px solid #eef3f0}
@media(max-width:700px){.seo-admin-text{font-size:16px;line-height:1.72}}
