@import url('variables.css');
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
*:focus-visible{outline:3px solid var(--color-primary-light);outline-offset:4px;border-radius:inherit}
a:focus-visible,button:focus-visible,.btn:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;overflow-x:hidden;animation:pageEnter .4s ease both}
@keyframes pageEnter{from{opacity:0}to{opacity:1}}
/* Respect prefers-reduced-motion (WCAG / GOST accessibility) */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}
/* Skip-link for keyboard/screen reader users */
.skip-link{position:absolute;top:-100%;left:16px;z-index:9999;padding:12px 24px;background:var(--color-primary);color:#fff;font-weight:700;font-size:var(--font-size-sm);border-radius:0 0 var(--radius-md) var(--radius-md);text-decoration:none;transition:top .2s ease}
.skip-link:focus{top:0}
img{max-width:100%;height:auto;display:block}
a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}
a:hover{color:var(--color-primary-light)}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--color-text)}
.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 clamp(20px,3vw,48px)}
.container--narrow{max-width:var(--container-narrow)}
.container--wide{max-width:var(--container-wide)}
.container--full{max-width:100%;padding:0 clamp(20px,3vw,48px)}
.text-center{text-align:center}
.mt-lg{margin-top:var(--spacing-lg)}
.mt-xl{margin-top:var(--spacing-xl)}
.mt-2xl{margin-top:var(--spacing-2xl)}

/* HEADER */
.header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0;transition:all var(--transition-base);background:rgba(255,255,255,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.06)}
.header__island{max-width:var(--container-width);margin:0 auto;padding:0 clamp(20px,3vw,48px);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);transition:all var(--transition-base);height:72px;background:transparent;border-radius:0;box-shadow:none}
.header.scrolled{box-shadow:0 2px 24px rgba(0,0,0,.08)}
.header.scrolled .header__island{height:64px}
.header__left{display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:0}
.header__logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.header__logo-svg{color:var(--color-primary);width:40px;height:40px}
.header__logo-img{width:40px;height:40px;object-fit:contain;border-radius:6px}
.header__logo-text{display:flex;flex-direction:column}
.header__logo-name{font-size:var(--font-size-lg);font-weight:800;color:var(--color-primary-dark);line-height:1.1;letter-spacing:2px}
.header__logo-sub{font-size:10px;color:var(--color-text-muted);letter-spacing:1px;text-transform:uppercase}
.header__nav{display:flex;align-items:center;gap:2px;background:#ffffff;border-radius:var(--radius-pill);padding:4px;height:42px}
.header__nav a{padding:6px 14px;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius-pill);transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap}
.header__nav a:hover{color:var(--color-primary);background:rgba(31,96,168,.06)}
.header__nav a:active{transform:scale(.95);transition-duration:.1s}
.header__nav a.active{background:var(--color-white);color:var(--color-primary);font-weight:600;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.header__contacts{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}
.header__phone-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1.5px solid var(--color-border);color:var(--color-text)!important;font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-pill);transition:all var(--transition-base);white-space:nowrap;position:relative;overflow:hidden;min-width:180px;justify-content:center;height:40px}
.header__phone-pill:hover{border-color:var(--color-primary);color:var(--color-primary)!important}
.header__phone-icon{display:flex}
.header__phone-pill span.phone-hidden{display:none}
.header__a11y-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);border:1.5px solid var(--color-border);background:transparent;cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-fast)}
.header__a11y-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}
.header__cta-btn{display:inline-flex;align-items:center;padding:8px 20px;background:var(--color-primary);color:#fff!important;font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-pill);transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap;height:40px}
.header__cta-btn:hover{background:var(--color-primary-dark);color:#fff!important;transform:translateY(-1px);box-shadow:var(--shadow-primary)}
.header__cta-btn:active{transform:scale(.95);transition-duration:.1s}

/* BURGER */
.header__burger{display:none;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;background:none;border:none;cursor:pointer;gap:5px;padding:8px}
.header__burger span{display:block;width:22px;height:2px;background:var(--color-text);border-radius:2px;transition:all var(--transition-base)}
.header__burger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.header__burger.active span:nth-child(2){opacity:0}
.header__burger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* MOBILE MENU */
.mobile-menu{display:none;position:fixed;top:86px;left:0;right:0;bottom:0;background:var(--color-white);z-index:999;padding:var(--spacing-lg);overflow-y:auto;animation:slideDown .3s ease}
.mobile-menu.active{display:block}
.mobile-menu a{display:block;padding:var(--spacing-md) 0;color:var(--color-text);font-size:var(--font-size-md);font-weight:500;border-bottom:1px solid var(--color-border-light);transition:all .2s ease}
.mobile-menu a:hover{color:var(--color-primary);padding-left:8px}
.mobile-menu a:active{opacity:.7;transform:scale(.98)}
.mobile-menu a.active{color:var(--color-primary)}
.mobile-menu__phones{margin-top:var(--spacing-md)}
.mobile-menu__phones a{font-size:var(--font-size-lg);font-weight:600;color:var(--color-primary-dark);border-bottom:none;padding:var(--spacing-sm) 0}
.mobile-menu__messengers{margin-top:var(--spacing-md);display:flex;gap:8px}
.mobile-menu__messenger-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:600;color:#fff!important;text-decoration:none;border-bottom:none!important;transition:all .2s ease}
.mobile-menu__messenger-btn--max{display: none !important; background:linear-gradient(135deg,#0077FF,#003DA5)}
.mobile-menu__messenger-btn--max:hover{background:linear-gradient(135deg,#1A8CFF,#004DBF)}
.mobile-menu__a11y{display:flex;align-items:center;gap:8px;width:100%;padding:12px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:transparent;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-md)}
.mobile-menu__btn{display:block;width:100%;margin-top:var(--spacing-lg);padding:14px;background:var(--color-primary);color:#fff!important;font-size:var(--font-size-md);font-weight:600;text-align:center;border-radius:var(--radius-pill);border:none}
@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}

/* A11Y TOOLBAR */
.a11y-toolbar{display:none;background:var(--color-primary-dark);color:#fff;padding:8px 0;position:fixed;top:0;left:0;right:0;z-index:1100}
.a11y-toolbar.active{display:block}
.a11y-toolbar.active~.header{top:var(--a11y-toolbar-h, 44px)}
.a11y-toolbar__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.a11y-toolbar__label{font-size:var(--font-size-sm);font-weight:600}
.a11y-toolbar__controls{display:flex;gap:4px;flex-wrap:wrap}
.a11y-toolbar__btn{padding:4px 12px;background:rgba(255,255,255,.15);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:600;transition:background var(--transition-fast);position:relative}
.a11y-toolbar__btn:hover{background:rgba(255,255,255,.25)}
.a11y-toolbar__btn.active{background:rgba(255,255,255,.4);box-shadow:inset 0 0 0 2px #fff}
.a11y-toolbar__close{background:rgba(255,255,255,.1)}
.a11y-toolbar__separator{width:1px;height:20px;background:rgba(255,255,255,.2);margin:0 4px}

/* ============================================
   A11Y-MODE: Component-Level Overrides
   ============================================ */

/* Header: compact layout to keep single row at scaled fonts */
body.a11y-mode .header{background:#fff!important;backdrop-filter:none}
body.a11y-mode .header__island{height:auto;min-height:56px;padding-top:6px;padding-bottom:6px;gap:6px}
body.a11y-mode .header__nav{gap:0}
body.a11y-mode .header__nav a{padding:4px 8px;font-size:0.75rem;white-space:nowrap}
body.a11y-mode .header__phone-pill{min-width:auto;font-size:0.75rem;padding:4px 10px}
body.a11y-mode .header__cta-btn{font-size:0.75rem;padding:4px 14px}
body.a11y-mode .header__logo-name{font-size:1rem}
body.a11y-mode .header__logo-sub{display:none}
body.a11y-mode .header__a11y-btn{font-size:0.75rem;padding:4px 8px}

/* Hero: single column + extra padding for taller header + toolbar */
body.a11y-mode .hero{padding-top:180px}
body.a11y-mode .hero__container{grid-template-columns:1fr;text-align:left}
body.a11y-mode .hero__title{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-1px;line-height:1}
body.a11y-mode .hero__equipment{justify-content:flex-start}
body.a11y-mode .hero__equipment-grid{grid-template-columns:repeat(3,1fr);gap:12px;width:100%}
body.a11y-mode .hero__equip-item{padding:var(--spacing-md) var(--spacing-sm);gap:8px;min-width:0;word-break:break-word}
body.a11y-mode .hero__equip-item span{font-size:var(--font-size-xs)}
body.a11y-mode .hero__stats-bar{grid-template-columns:repeat(2,1fr)}
body.a11y-mode .hero__stat-value{font-size:clamp(1.5rem,3vw,2rem)}
body.a11y-mode .hero__stat-label{font-size:var(--font-size-xs)}

/* Subpage heroes: also need extra padding */
body.a11y-mode .page-hero{padding-top:180px}

/* Grids: collapse to fewer columns at large font sizes */
body.a11y-mode .services-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
body.a11y-mode .doctors-grid{grid-template-columns:repeat(2,1fr)}
body.a11y-mode .doctor-card--featured{grid-column:span 2}
body.a11y-mode .equipment-grid{grid-template-columns:repeat(2,1fr)}
body.a11y-mode .licenses-grid{grid-template-columns:repeat(2,1fr)}
body.a11y-mode .advantages__grid{grid-template-columns:repeat(2,1fr)}
body.a11y-mode .card-grid--3{grid-template-columns:repeat(2,1fr)}
body.a11y-mode .card-grid--4{grid-template-columns:repeat(2,1fr)}
body.a11y-mode .cta-block{grid-template-columns:1fr}
body.a11y-mode .appointment-form-section{grid-template-columns:1fr}
body.a11y-mode .contact-grid{grid-template-columns:repeat(2,1fr)}
body.a11y-mode .footer__grid{grid-template-columns:repeat(2,1fr)}

/* A11y toolbar: ensure enough height for wrapped controls */
body.a11y-mode .a11y-toolbar__controls{gap:6px}
body.a11y-mode .a11y-toolbar__btn{padding:6px 14px}

/* Contrast: header & nav must be dark with visible text */
body.a11y-contrast .header{background:#000!important;border-bottom:2px solid #FFFF00}
body.a11y-contrast .header__nav{background:#111}
body.a11y-contrast .header__nav a{color:#FFFFFF!important}
body.a11y-contrast .header__nav a.active{background:#222;color:#FFFF00!important}
body.a11y-contrast .header__nav a:hover{color:#FFFF00!important}
body.a11y-contrast .header__phone-pill{border-color:#FFFF00;color:#FFFF00!important}
body.a11y-contrast .header__a11y-btn{border-color:#FFFF00;color:#FFFF00}
body.a11y-contrast .header__cta-btn{background:#5599FF;color:#000!important;font-weight:700}
body.a11y-contrast .header__logo-name{color:#FFFF00}
body.a11y-contrast .header__logo-sub{color:#FFFFFF}
body.a11y-contrast .header__logo-svg{color:#5599FF}

/* Cards: ensure visible borders in contrast mode */
body.a11y-contrast .service-card,
body.a11y-contrast .doctor-card,
body.a11y-contrast .review-card,
body.a11y-contrast .advantage-card,
body.a11y-contrast .equipment-card,
body.a11y-contrast .license-card{background:#111!important;border:2px solid #FFFF00!important;color:#FFFFFF}
body.a11y-contrast .service-card__title,
body.a11y-contrast .doctor-card__name,
body.a11y-contrast .review-card__name{color:#FFFF00!important}
body.a11y-contrast .service-card__link{color:#5599FF!important}
body.a11y-contrast .service-card__icon-badge{background:#222;border:1px solid #FFFF00;color:#FFFF00}
body.a11y-contrast .doctor-card__btn{background:#5599FF;color:#000!important}

/* Section headings & pills */
body.a11y-contrast .section__pill{background:#222;color:#FFFF00;border:1px solid #FFFF00}
body.a11y-contrast .section__title{color:#FFFF00}
body.a11y-contrast .section__subtitle{color:#FFFFFF}

/* Hero: ensure readability in contrast */
body.a11y-contrast .hero{background:#000}
body.a11y-contrast .hero__title{color:#FFFF00!important}
body.a11y-contrast .hero .btn{background:#5599FF;color:#000!important;border:none}

/* CTA block */
body.a11y-contrast .cta-block{background:#111!important;border:2px solid #FFFF00}
body.a11y-contrast .cta-block__title{color:#FFFF00}
body.a11y-contrast .cta-block__price-value{color:#FFFF00}

/* Accordion (prices) */
body.a11y-contrast .price-category{border:2px solid #FFFF00}
body.a11y-contrast .price-category__header{background:#111;color:#FFFF00}
body.a11y-contrast .price-table tr:hover td{background:#222}
body.a11y-contrast .price-table td{color:#FFFFFF;border-bottom:1px solid #333}

/* Appointment form */
body.a11y-contrast .appointment-form-section{background:#111;border:2px solid #FFFF00}
body.a11y-contrast .appointment-form-section input,
body.a11y-contrast .appointment-form-section textarea{background:#000;color:#FFFF00;border:1px solid #FFFF00}
body.a11y-contrast .appointment-form-section label{color:#FFFFFF}
body.a11y-contrast .appointment-form-section .btn{background:#5599FF;color:#000!important}

/* Footer */
body.a11y-contrast .footer{background:#000;border-top:2px solid #FFFF00}
body.a11y-contrast .footer a{color:#5599FF}
body.a11y-contrast .footer__heading{color:#FFFF00}

/* Promo/info banners */
body.a11y-contrast .promo-card,
body.a11y-contrast .info-banner{background:#111!important;border:2px solid #FFFF00}

/* Review form */
body.a11y-contrast .review-form{background:#111;border:2px solid #FFFF00}
body.a11y-contrast .review-form input,
body.a11y-contrast .review-form textarea{background:#000;color:#FFFF00;border:1px solid #FFFF00}

/* Breadcrumbs */
body.a11y-contrast .breadcrumb a{color:#5599FF}
body.a11y-contrast .breadcrumb span{color:#FFFFFF}

/* Mobile menu */
body.a11y-contrast .mobile-menu{background:#000;border:1px solid #FFFF00}
body.a11y-contrast .mobile-menu a{color:#FFFFFF!important}
body.a11y-contrast .mobile-menu a:hover,
body.a11y-contrast .mobile-menu a.active{color:#FFFF00!important}

/* HERO — Immersive full-bleed editorial (2026 Liquid Glass) */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow:hidden;margin:0;width:100%;border-radius:0;background:#0F1A2E;padding-top:72px}
.hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transition:opacity 1.2s ease-in-out}
.hero__slide--active{opacity:.55}
.hero__bg:only-child{opacity:.55}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(12,53,96,.7) 0%,rgba(26,96,170,.3) 50%,rgba(15,26,46,.6) 100%);z-index:1}
/* Decorative optic grid pattern */
.hero::after{content:'';position:absolute;inset:0;z-index:1;opacity:.06;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.4) 1px,transparent 0);background-size:40px 40px}
.hero__container{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;padding:var(--section-padding) clamp(20px,3vw,48px);flex:1;gap:var(--spacing-2xl);max-width:var(--container-width);margin:0 auto;width:100%}
.hero__content{display:flex;flex-direction:column;justify-content:center}
.hero__title{font-size:clamp(3rem,6.5vw,5.5rem);font-weight:900;color:#fff;line-height:1;letter-spacing:-3px;margin-bottom:var(--spacing-lg);text-transform:uppercase;text-shadow:0 2px 40px rgba(0,0,0,.3)}
.hero__location{font-size:var(--font-size-md);color:rgba(255,255,255,.7);font-weight:500;letter-spacing:2px;text-transform:uppercase}
.hero__equipment{display:flex;align-items:center;justify-content:flex-end}
.hero__equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hero__equip-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:var(--spacing-xl) var(--spacing-md);background:rgba(255,255,255,.08);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.15);color:#fff;transition:all var(--transition-base);min-width:0}
.hero__equip-item:hover{transform:translateY(-6px) scale(1.03);box-shadow:0 12px 40px rgba(26,96,170,.3);background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3)}
.hero__equip-item svg{width:40px;height:40px;flex-shrink:0}
.hero__equip-item span{font-size:13px;color:rgba(255,255,255,.85);font-weight:600;line-height:1.3}
/* CTA BAR — Full-bleed edge-to-edge */
.hero__cta-bar{position:relative;z-index:2;padding:0;max-width:100%;margin:0;width:100%}
.hero__cta-bar-btn{display:block;width:100%;padding:26px 40px;background:linear-gradient(135deg,var(--color-accent) 0%,#009960 50%,#00805A 100%);color:#fff!important;font-size:var(--font-size-lg);font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:3px;border-radius:0;text-decoration:none;transition:all var(--transition-base);box-shadow:none;position:relative;overflow:hidden}
.hero__cta-bar-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);transform:translateX(-100%);transition:transform .6s ease}
.hero__cta-bar-btn:hover::before{transform:translateX(100%)}
.hero__cta-bar-btn:hover{background:linear-gradient(135deg,var(--color-accent-dark) 0%,#008050 50%,#006A48 100%);transform:none;box-shadow:inset 0 -3px 0 rgba(0,0,0,.15);color:#fff!important}
@keyframes ctaPulse{0%,100%{box-shadow:0 0 0 0 rgba(0,168,107,.4)}70%{box-shadow:0 0 0 12px rgba(0,168,107,0)}}
.hero__cta-bar-btn{animation:ctaPulse 3s ease-in-out 2s 3}
/* STATS BAR — Glassmorphism */
.hero__stats-bar{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.08);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid rgba(255,255,255,.12)}
.hero__stat{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-lg);text-align:center;border-right:1px solid rgba(255,255,255,.1)}
.hero__stat:last-child{border-right:none}
.hero__stat-value{font-size:clamp(2rem,4vw,3rem);font-weight:900;color:#fff;letter-spacing:-1px}
.hero__stat-label{font-size:var(--font-size-sm);color:rgba(255,255,255,.6);margin-top:4px;font-weight:600;text-transform:uppercase;letter-spacing:1px}
@media(max-width:1024px){.hero__container{grid-template-columns:1fr;text-align:center;padding:var(--spacing-2xl) clamp(20px,3vw,48px)}.hero__title{font-size:clamp(2.4rem,5.5vw,4rem)}.hero__equipment{justify-content:center}.hero__location{margin-bottom:var(--spacing-lg)}}
@media(max-width:600px){.hero__equipment-grid{grid-template-columns:1fr 1fr 1fr;gap:8px}.hero__equip-item{padding:12px 8px}.hero__stats-bar{grid-template-columns:repeat(2,1fr)}.hero__stat{border-bottom:1px solid rgba(255,255,255,.08)}.hero__cta-bar-btn{padding:20px 24px;font-size:var(--font-size-base);letter-spacing:1.5px}}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-family);font-weight:600;border-radius:var(--radius-pill);border:none;cursor:pointer;transition:all var(--transition-base);white-space:nowrap;text-decoration:none;padding:12px 28px;font-size:var(--font-size-base)}
.btn--lg{padding:14px 32px;font-size:var(--font-size-md)}
.btn--sm{padding:8px 18px;font-size:var(--font-size-sm)}
.btn--accent{background:var(--color-accent);color:#fff!important;box-shadow:var(--shadow-accent)}
.btn--accent:hover{background:var(--color-accent-dark);color:#fff!important;transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,168,107,.35)}
.btn--primary{background:var(--color-primary);color:#fff!important;box-shadow:var(--shadow-primary)}
.btn--primary:hover{background:var(--color-primary-dark);color:#fff!important;transform:translateY(-2px)}
.btn--outline{border:2px solid var(--color-primary);color:var(--color-primary)!important;background:transparent}
.btn--outline:hover{background:var(--color-primary-bg);color:var(--color-primary)!important}
.btn--outline-white{border:2px solid rgba(255,255,255,.4);color:#fff!important;background:transparent}
.btn--outline-white:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.7);color:#fff!important}

/* SECTIONS — Full-width edge-to-edge (97% layout pattern) */
.section{background:var(--color-bg);border-radius:0;padding:clamp(56px,7vw,96px) 0;margin:0;width:100%;max-width:100%;position:relative}
.section .container{max-width:var(--container-width);margin:0 auto;padding:0 clamp(24px,3vw,60px)}
.section--white{background:var(--color-white)}
.section--gray{background:#EDF1F7}
.section--warm{background:var(--color-bg-warm)}
.section--alt{background:var(--color-bg-alt)}
.section--dark{background:var(--color-primary-dark);color:#fff}
.section--primary{background:linear-gradient(135deg,#EAF0F8 0%,#D8E6F5 50%,#E2EDF8 100%);color:var(--color-text);border-top:1px solid rgba(26,96,170,.08);border-bottom:1px solid rgba(26,96,170,.08)}
/* CTA Hero — dark blue like inner page heroes */
.section--cta-hero{background:linear-gradient(135deg,#0C3560,#1A60AA 60%,#2B74C0);color:#fff;position:relative;overflow:hidden}
.section--cta-hero::before{content:'';position:absolute;right:-80px;top:-60px;width:450px;height:450px;border-radius:50%;border:2px solid rgba(255,255,255,.12);box-shadow:0 0 0 30px rgba(255,255,255,.07),0 0 0 60px rgba(255,255,255,.05),0 0 0 100px rgba(255,255,255,.03),0 0 0 150px rgba(255,255,255,.015);pointer-events:none;z-index:0;animation:lensRotate 60s linear infinite}
.section--cta-hero::after{content:'';position:absolute;inset:0;z-index:0;opacity:.1;background-image:radial-gradient(circle at 1.5px 1.5px,rgba(255,255,255,.6) 1.5px,transparent 0);background-size:28px 28px;pointer-events:none;animation:gridDrift 6s linear infinite}
.section--cta-hero .container{position:relative;z-index:1}
.section--cta-hero .container::before{content:'';position:absolute;left:-120px;bottom:-80px;width:300px;height:300px;border-radius:50%;border:1.5px solid rgba(255,255,255,.08);box-shadow:0 0 0 25px rgba(255,255,255,.05),0 0 0 50px rgba(255,255,255,.03),0 0 0 80px rgba(255,255,255,.015);pointer-events:none;z-index:0;animation:lensRotate 80s linear infinite reverse}
.section--cta-hero .container::after{content:'';position:absolute;top:10%;right:10%;width:400px;height:400px;background:radial-gradient(circle,rgba(50,180,255,.4) 0%,rgba(0,100,220,.2) 40%,transparent 70%);border-radius:50%;z-index:0;animation:heroGlow 5s ease-in-out infinite;pointer-events:none}
.section--cta-hero .section__label{background:rgba(255,255,255,.15);color:#fff}
.section--cta-hero .cta-block__title{color:#fff}
.section--cta-hero .cta-block__text{color:rgba(255,255,255,.85)}
.section--cta-hero .cta-block__feature{color:rgba(255,255,255,.9)}
.section--cta-hero .cta-block__feature svg{color:var(--color-accent)}
.section--cta-hero .cta-block__action{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.section--cta-hero .cta-block__price-label{color:rgba(255,255,255,.7)}
.section--cta-hero .cta-block__price-value{color:#fff}
.section--cta-hero .cta-block__note{color:rgba(255,255,255,.6)}
/* Section separator — decorative line between sections */
.section-separator{display:none}
.section-separator__line{display:none}
.section-separator__dot{display:none}
.section-separator--in-group{display:flex;align-items:center;gap:0;max-width:var(--container-width);margin:0 auto;padding:0 clamp(24px,3vw,60px)}
.section-separator--in-group .section-separator__line{display:block;height:1px;background:linear-gradient(90deg,transparent,var(--color-border),transparent);flex:1}
.section__header{text-align:center;max-width:850px;margin:0 auto clamp(32px,4vw,48px)}
.section__label{display:inline-block;padding:6px 20px;background:var(--color-primary-bg);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-pill);margin-bottom:var(--spacing-md);letter-spacing:1px;text-transform:uppercase}
.section--dark .section__label{background:rgba(255,255,255,.15);color:rgba(255,255,255,.9)}
.section--primary .section__label{background:var(--color-primary);color:#fff}
.section__title{font-size:clamp(2rem,5vw,3.2rem);font-weight:600;margin-bottom:var(--spacing-md);color:var(--color-text);letter-spacing:-1px;line-height:1.05}
.section--dark .section__title{color:#fff}
.section--primary .section__title{color:var(--color-text)}
.section__description{font-size:var(--font-size-md);color:var(--color-text-secondary);line-height:1.7;max-width:700px;margin:0 auto}
/* Section group — unified background for multiple sections */
.section-group{background:var(--color-white);position:relative}
.section-group .section{background:transparent;padding:clamp(40px,5vw,64px) 0}
.section-group .section:first-child{padding-top:clamp(56px,7vw,96px)}
.section-group .section:last-child{padding-bottom:clamp(56px,7vw,96px)}
.section-group__divider{max-width:var(--container-width);margin:0 auto;padding:0 clamp(24px,3vw,60px)}
.section-group__divider::after{content:'';display:block;height:1px;background:linear-gradient(90deg,transparent,var(--color-border),transparent)}

/* PAGE HERO (subpages) — Blue gradient with lens rings for ALL subpages */
.page-hero{padding:120px 0 48px;background:linear-gradient(135deg,#0C3560,#1A60AA 60%,#2B74C0);color:#fff;margin:0;width:100%;max-width:100%;border-radius:0;position:relative;overflow:hidden}
.page-hero__title{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;color:#fff;margin-bottom:8px}
.page-hero__subtitle{font-size:var(--font-size-md);color:rgba(255,255,255,.85);max-width:600px}
/* Lens rings — slow rotating concentric circles */
@keyframes lensRotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.page-hero::before{content:'';position:absolute;right:-80px;top:-60px;width:450px;height:450px;border-radius:50%;border:2px solid rgba(255,255,255,.12);box-shadow:0 0 0 30px rgba(255,255,255,.07),0 0 0 60px rgba(255,255,255,.05),0 0 0 100px rgba(255,255,255,.03),0 0 0 150px rgba(255,255,255,.015);pointer-events:none;z-index:0;animation:lensRotate 60s linear infinite}
/* Second lens rings — left side */
.page-hero .container::before{content:'';position:absolute;left:-120px;bottom:-80px;width:300px;height:300px;border-radius:50%;border:1.5px solid rgba(255,255,255,.08);box-shadow:0 0 0 25px rgba(255,255,255,.05),0 0 0 50px rgba(255,255,255,.03),0 0 0 80px rgba(255,255,255,.015);pointer-events:none;z-index:0;animation:lensRotate 80s linear infinite reverse}
/* Dot-grid pattern — slow drift */
@keyframes gridDrift{from{background-position:0 0}to{background-position:32px 32px}}
.page-hero::after{content:'';position:absolute;inset:0;z-index:0;opacity:.1;background-image:radial-gradient(circle at 1.5px 1.5px,rgba(255,255,255,.6) 1.5px,transparent 0);background-size:28px 28px;pointer-events:none;animation:gridDrift 6s linear infinite}
/* Animated glow orb — breathing pulse */
@keyframes heroGlow{0%,100%{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}
.service-hero__glow{position:absolute;top:10%;right:10%;width:400px;height:400px;background:radial-gradient(circle,rgba(50,180,255,.4) 0%,rgba(0,100,220,.2) 40%,transparent 70%);border-radius:50%;z-index:0;animation:heroGlow 5s ease-in-out infinite;pointer-events:none}
/* Second glow orb — bottom left */
@keyframes heroGlow2{0%,100%{opacity:.15;transform:scale(1.1)}50%{opacity:.35;transform:scale(.9)}}
.page-hero--service .container::after{content:'';position:absolute;bottom:-40px;left:-60px;width:250px;height:250px;background:radial-gradient(circle,rgba(0,200,255,.3) 0%,transparent 70%);border-radius:50%;z-index:-1;animation:heroGlow2 7s ease-in-out infinite;pointer-events:none}
/* Content staggered entrance */
@keyframes heroSlideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.page-hero .container{position:relative;z-index:1}
.page-hero .breadcrumb{animation:heroSlideUp .6s ease-out both}
.page-hero .page-hero__title{animation:heroSlideUp .6s ease-out .15s both}
.page-hero .page-hero__subtitle{animation:heroSlideUp .6s ease-out .3s both}
.page-hero--service .service-hero__title{animation:heroSlideUp .6s ease-out .15s both}
.page-hero--service .service-hero__subtitle{animation:heroSlideUp .6s ease-out .3s both}
.page-hero--service .service-hero__actions{animation:heroSlideUp .6s ease-out .45s both}
.page-hero .breadcrumb span{color:#fff}
.page-hero .breadcrumb a{color:rgba(255,255,255,.7)}
.page-hero .breadcrumb a:hover{color:#fff}

/* BREADCRUMB */
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-lg);flex-wrap:wrap}
.breadcrumb a{color:var(--color-primary);font-weight:500}
.breadcrumb a:hover{text-decoration:underline}

/* CARD GRIDS */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg)}
.card-grid--3{grid-template-columns:repeat(3,1fr)}
.card-grid--4{grid-template-columns:repeat(4,1fr)}

/* ADVANTAGES */
.advantages{padding:var(--spacing-3xl) 0;margin:0;border-bottom:none}
.advantages .container,.advantages__grid-wrap{max-width:var(--container-width);margin:0 auto;padding:0 clamp(24px,3vw,60px)}
.advantages__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px)}
.advantage-card{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);border-radius:var(--radius-lg);transition:all var(--transition-base);position:relative;overflow:hidden;cursor:pointer;background:var(--color-white);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}
.advantage-card:hover{background:var(--color-white);box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.advantage-card__icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);background:var(--color-primary-bg);color:var(--color-primary);margin:0 auto var(--spacing-md)}
.advantage-card__title{font-size:var(--font-size-md);font-weight:700;margin-bottom:8px;color:var(--color-text)}
.advantage-card__text{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.6}

/* SERVICE CARDS — Premium image-based bento grid */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:clamp(20px,2.5vw,32px)}
.services-grid--page{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:clamp(20px,2.5vw,32px)}
@media(min-width:1200px){.services-grid{grid-template-columns:repeat(3,1fr)}}
.services-grid--page .service-card__image-wrap{aspect-ratio:16/9}
.service-card{display:flex;flex-direction:column;padding:0;background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);transition:all var(--transition-base);text-decoration:none;color:var(--color-text);box-shadow:var(--shadow-xs);overflow:hidden;cursor:pointer;position:relative}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);color:var(--color-text);border-color:var(--color-primary-bg)}
/* Image section */
.service-card__image-wrap{position:relative;aspect-ratio:16/9;overflow:hidden}
.service-card__image{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.service-card:hover .service-card__image{transform:scale(1.08)}
.service-card__image-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,20,50,.55) 0%,rgba(0,20,50,.1) 50%,transparent 100%);transition:background .3s ease}
.service-card:hover .service-card__image-overlay{background:linear-gradient(to top,rgba(0,40,90,.65) 0%,rgba(0,20,50,.15) 50%,transparent 100%)}
/* Icon badge on image */
.service-card__icon-badge{position:absolute;bottom:12px;left:16px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:rgba(255,255,255,.95);color:var(--color-primary);box-shadow:0 4px 16px rgba(0,0,0,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .3s ease;z-index:3}
.service-card:hover .service-card__icon-badge{background:var(--color-primary);color:#fff;transform:scale(1.08)}
/* Body */
.service-card__title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);line-height:1.25;margin-bottom:8px}
.service-card__body{padding:var(--spacing-lg) clamp(20px,2.5vw,36px) clamp(20px,2.5vw,36px);display:flex;flex-direction:column;flex:1}
.service-card__text{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.6;flex:1;margin-bottom:var(--spacing-md)}
.service-card__link{font-size:var(--font-size-sm);font-weight:600;color:var(--color-primary);display:inline-flex;align-items:center;gap:6px;transition:gap var(--transition-fast)}
.service-card:hover .service-card__link{gap:10px}
/* Legacy compact variant */
.service-card--compact{padding:var(--spacing-lg)}
.service-card--compact .service-card__image-wrap{display:none}
.service-card--compact .service-card__body{padding:0}
.service-card--compact .service-card__title{font-size:var(--font-size-base)}

/* DOCTOR CARDS — Bento Grid 4×2 (Featured + 4 standard) */
.doctors-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,auto);gap:clamp(12px,2vw,24px)}
.doctor-card{background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;border:none;transition:all var(--transition-base);display:flex;flex-direction:column;position:relative;box-shadow:var(--shadow-xs)}
.doctor-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
/* Featured — первый врач, span 2×2 */
.doctor-card--featured{grid-column:span 2;grid-row:span 2}
.doctor-card--featured .doctor-card__photo-wrap{height:100%}
/* Featured placeholder — brand gradient */
.doctor-card--featured .doctor-card__photo--placeholder{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 60%,#001f4d 100%)}
.doctor-card--featured .doctor-card__photo--placeholder svg{stroke:rgba(255,255,255,.2);width:80px;height:80px}
/* Featured info — always overlay at bottom */
.doctor-card--featured .doctor-card__info{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing-xl) var(--spacing-lg);background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.6) 50%,rgba(0,0,0,.2) 80%,transparent 100%);z-index:2}
.doctor-card--featured .doctor-card__name{color:#fff;font-size:var(--font-size-xl)}
.doctor-card--featured .doctor-card__spec{color:rgba(255,255,255,.85)}
.doctor-card--featured .doctor-card__desc{color:rgba(255,255,255,.9);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.doctor-card--featured .btn--outline{border-color:rgba(255,255,255,.4);color:#fff}
.doctor-card--featured .btn--outline:hover{background:rgba(255,255,255,.15);border-color:#fff}
.doctor-card__photo-wrap{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:var(--color-primary-bg-soft)}
.doctor-card__photo{width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform var(--transition-slow)}
.doctor-card:hover .doctor-card__photo{transform:scale(1.04)}
.doctor-card__photo--placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,var(--color-primary-bg-soft),var(--color-primary-bg));font-size:3rem;color:var(--color-primary-light);font-weight:700}
.doctor-card__info{padding:var(--spacing-lg);display:flex;flex-direction:column;flex:1}
.doctor-card__name{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);margin-bottom:4px}
.doctor-card__spec{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:500;margin-bottom:12px}
.doctor-card__experience{margin-bottom:12px}
.doctor-card__badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:var(--color-primary-bg);color:var(--color-primary-dark);padding:4px 10px;border-radius:var(--radius-pill)}
.doctor-card__desc{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.6;margin-bottom:var(--spacing-lg);flex:1}
@media(max-width:1024px){.doctors-grid{grid-template-columns:repeat(2,1fr)}.doctor-card--featured{grid-column:span 2;grid-row:span 1}.doctor-card--featured .doctor-card__photo-wrap{min-height:320px}}
@media(max-width:600px){.doctors-grid{grid-template-columns:1fr}.doctor-card--featured{grid-column:span 1}}

/* REVIEW CARDS */
.review-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-xl);border:1px solid var(--color-border-light);border-left:4px solid var(--color-primary);transition:all var(--transition-base)}
.review-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.review-card__header{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.review-card__avatar{width:48px;height:48px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary-bg),var(--color-primary-bg-soft));display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--color-primary);font-size:var(--font-size-lg)}
.review-card__author{font-weight:600;color:var(--color-text)}
.review-card__source{font-size:var(--font-size-xs);color:var(--color-text-muted)}
.review-card__stars{margin-bottom:12px}
.review-card__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.7}

/* PRICE CARDS */
.price-card{background:var(--color-surface);border-radius:var(--radius-xl);overflow:hidden;margin-bottom:var(--spacing-lg);border:1px solid var(--color-border-light)}
.price-card__subtitle{padding:var(--spacing-lg) var(--spacing-xl) 0;font-size:var(--font-size-lg);font-weight:500;color:var(--color-text)}
.price-card__grid{width:100%;border-collapse:collapse}
.price-card__grid thead th{padding:12px var(--spacing-xl);text-align:left;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--color-border-light)}
.price-card__grid tbody tr{border-bottom:1px solid var(--color-border-light);transition:background var(--transition-fast)}
.price-card__grid tbody tr:last-child{border-bottom:none}
.price-card__grid tbody tr:hover{background:var(--color-primary-bg-soft)}
.price-card__grid td{padding:14px var(--spacing-xl);font-size:var(--font-size-base);color:var(--color-text)}
.price-card__price{font-weight:700;color:var(--color-primary);white-space:nowrap;text-align:right}
.price-card__grid thead th:last-child{text-align:right}

/* SERVICE DETAIL */
.service-hero{padding:var(--spacing-lg) 0}
.service-hero__title{font-size:var(--font-size-3xl);font-weight:800;color:#fff;margin-bottom:12px}
.service-hero__subtitle{font-size:var(--font-size-md);color:rgba(255,255,255,.85);margin-bottom:var(--spacing-xl);max-width:600px}
.service-hero__actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap}
.service-description{background:var(--color-white);border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}
.service-description__text p{margin-bottom:var(--spacing-md);line-height:1.85;color:var(--color-text);font-size:var(--font-size-base)}
.service-description__item{padding-left:24px;position:relative;color:var(--color-text);font-weight:500}
.service-description__item::before{content:'';position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:50%;background:var(--color-primary)}
.service-cta{text-align:center;padding:var(--spacing-2xl);background:var(--color-primary-bg);border-radius:var(--radius-xl);border:1px solid rgba(26,96,170,.1)}
.service-cta__title{font-size:var(--font-size-2xl);font-weight:800;margin-bottom:12px;color:var(--color-text)}
.service-cta__text{font-size:var(--font-size-md);color:var(--color-text);margin-bottom:var(--spacing-xl);max-width:500px;margin-left:auto;margin-right:auto}

/* APPOINTMENT FORM */
.appointment-form-section{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3xl);align-items:start}
.appointment-form__info{padding:0 0}
.appointment-form__image img {border: 1px solid #a1c4e9;}
.appointment-form__title{font-size:var(--font-size-2xl);font-weight:800;color:var(--color-text);margin-bottom:12px;line-height:1.2}
.appointment-form__text{font-size:var(--font-size-md);color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);line-height:1.7}
.appointment-form__contacts{display:flex;flex-direction:column;gap:var(--spacing-md)}
.appointment-form__contact-item{display:flex;align-items:center;gap:12px;font-size:var(--font-size-sm);color:var(--color-text-secondary)}
.appointment-form__contact-item a{color:var(--color-primary);font-weight:600}
.appointment-form__contact-icon{display:flex;color:var(--color-primary)}
.appointment-form{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-md)}
.appointment-form__field{display:flex;flex-direction:column;gap:6px}
.appointment-form__field label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}
.appointment-form__field input,.appointment-form__field textarea{padding:12px 16px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-white);transition:border-color var(--transition-fast);resize:vertical}
.appointment-form__field input:focus,.appointment-form__field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}
.appointment-form__consent{display:flex;align-items:flex-start;gap:8px;font-size:var(--font-size-sm);color:var(--color-text-muted)}
.appointment-form__consent label{display:flex;align-items:flex-start;gap:8px;cursor:pointer}
.appointment-form__consent input[type="checkbox"]{margin-top:3px;accent-color:var(--color-primary)}
.appointment-form__consent a{color:var(--color-primary)}
.appointment-form__submit{width:100%;padding:14px}
.appointment-form__note{font-size:var(--font-size-xs);color:var(--color-text-light);text-align:center}

/* INFO BANNER */
.info-banner{display:flex;align-items:flex-start;gap:var(--spacing-xl);padding:var(--spacing-xl) var(--spacing-2xl);background:var(--color-primary-bg);border-radius:var(--radius-xl);border:1px solid rgba(26,96,170,.1)}
.info-banner__icon{flex-shrink:0;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}
.info-banner__title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);margin-bottom:8px}
.info-banner__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.7;margin-bottom:8px}
.info-banner__link{font-size:var(--font-size-sm);font-weight:600;color:var(--color-primary)}

/* PROMO CARDS */
.promo-card{background:var(--color-surface);border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--color-border-light)}
.promo-card__image-box{position:relative;height:200px;overflow:hidden}
.promo-card__img{width:100%;height:100%;object-fit:cover}
.promo-card__badge{position:absolute;bottom:12px;right:12px;padding:6px 14px;background:var(--color-accent);color:#fff;border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:700}
.promo-card__body{padding:var(--spacing-lg)}
.promo-card__title{font-size:var(--font-size-lg);font-weight:700;margin-bottom:8px}
.promo-card__desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6}

/* Promo Banner — single promo full-width */
.promo-banner{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--color-surface);border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--color-border-light)}
.promo-banner__image{position:relative;min-height:280px;overflow:hidden}
.promo-banner__image img{width:100%;height:100%;object-fit:cover}
.promo-banner__content{padding:var(--spacing-2xl);display:flex;flex-direction:column;justify-content:center}
.promo-banner__title{font-size:var(--font-size-2xl);font-weight:800;margin-bottom:12px;color:var(--color-text-primary)}
.promo-banner__desc{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.7;margin-bottom:24px}
.promo-banner .btn{align-self:flex-start}
@media(max-width:768px){
    .promo-banner{grid-template-columns:1fr}
    .promo-banner__image{min-height:200px}
    .promo-banner__content{padding:var(--spacing-lg)}
}

/* Promo Grid — 2 promos side by side */
.promo-grid{display:grid;gap:var(--spacing-lg)}
.promo-grid--2{grid-template-columns:1fr 1fr}
@media(max-width:768px){.promo-grid--2{grid-template-columns:1fr}}

/* MAP */
.map-container{border-radius:var(--radius-xl);overflow:hidden;height:400px;border:1px solid var(--color-border-light)}
.map-container iframe{width:100%;height:100%;border:0}

/* CONTACT GRID */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl)}
.contact-item{display:flex;align-items:flex-start;gap:12px}
.contact-item__icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-bg);border-radius:var(--radius-md);color:var(--color-primary)}
.contact-item__label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:4px}
.contact-item__value{font-size:var(--font-size-sm);color:var(--color-text)}
.contact-item__value a{color:var(--color-primary);font-weight:600}

/* FOOTER — Full-width */
.footer{background:var(--color-black);color:rgba(255,255,255,.75);padding:var(--section-padding) 0 80px;margin:0}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:var(--spacing-2xl);margin-bottom:var(--spacing-3xl)}
.footer__logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;margin-bottom:var(--spacing-md)}
.footer__logo svg{color:#fff}
.footer__logo-icon{flex-shrink:0}
.footer__logo-text-wrap{display:flex;flex-direction:column}
.footer__logo-text{font-size:var(--font-size-lg);font-weight:800;letter-spacing:2px;line-height:1.1}
.footer__logo-sub{font-size:10px;color:rgba(255,255,255,.5);letter-spacing:1px;text-transform:uppercase}
.footer__brand-text{font-size:var(--font-size-sm);line-height:1.7;color:rgba(255,255,255,.55);margin-bottom:var(--spacing-md)}
.footer__social{display:flex;gap:8px}
.footer__social a{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border-radius:var(--radius-sm);color:rgba(255,255,255,.6);transition:all var(--transition-fast)}
.footer__social a:hover{background:var(--color-primary);color:#fff}
.footer__title{font-size:var(--font-size-sm);font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-lg)}
.footer__links{display:flex;flex-direction:column;gap:10px}
.footer__links a{color:rgba(255,255,255,.6);font-size:var(--font-size-sm);transition:color var(--transition-fast)}
.footer__links a:hover{color:#fff}
.footer__contact-item{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;font-size:var(--font-size-sm)}
.footer__contact-item a{color:rgba(255,255,255,.7)}
.footer__contact-item a:hover{color:#fff}
.footer__contact-icon{color:var(--color-primary-light);flex-shrink:0;margin-top:2px}
.footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:var(--spacing-xl);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-xl);flex-wrap:wrap}
.footer__legal{font-size:var(--font-size-xs);color:rgba(255,255,255,.4);line-height:1.8}
.footer__legal a{color:rgba(255,255,255,.5)}
.footer__legal a:hover{color:#fff}
.footer__copyright{font-size:var(--font-size-sm);color:rgba(255,255,255,.5);white-space:nowrap}

/* Developer credit */
.footer__dev-credit{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:6px 14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:20px;text-decoration:none;transition:all .35s cubic-bezier(.16,1,.3,1)}
.footer__dev-credit-text{font-size:11px;color:rgba(255,255,255,.4);letter-spacing:.3px}
.footer__dev-credit-brand{font-size:12px;font-weight:800;letter-spacing:2.5px;background:linear-gradient(135deg,#6366f1,#8b5cf6,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.footer__dev-credit-arrow{color:rgba(255,255,255,.3);transition:all .3s ease}
.footer__dev-credit:hover{background:rgba(255,255,255,.1);border-color:rgba(139,92,246,.3);transform:translateY(-2px);box-shadow:0 4px 20px rgba(99,102,241,.15)}
.footer__dev-credit:hover .footer__dev-credit-text{color:rgba(255,255,255,.6)}
.footer__dev-credit:hover .footer__dev-credit-arrow{color:rgba(255,255,255,.6);transform:translate(2px,-2px)}

/* FLASH MESSAGES */
.flash{padding:14px 20px;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;margin-bottom:var(--spacing-lg)}
.flash--success{background:var(--color-accent-bg);color:var(--color-accent-dark);border:1px solid rgba(0,168,107,.2)}
.flash--error{background:#FEF2F2;color:#DC2626;border:1px solid rgba(239,68,68,.2)}

/* PAGE CONTENT (Privacy, Info, Rules — rendered HTML from DB) */
.page-content{padding:var(--section-padding) 0}
.page-content .container{max-width:800px}
.page-content h2{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text);margin:var(--spacing-2xl) 0 var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-primary-bg)}
.page-content h2:first-child{margin-top:0}
.page-content h3{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin:var(--spacing-xl) 0 var(--spacing-sm)}
.page-content p{font-size:var(--font-size-base);line-height:1.85;color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}
.page-content ul,.page-content ol{margin:0 0 var(--spacing-lg) var(--spacing-lg);color:var(--color-text-secondary);line-height:1.85}
.page-content li{margin-bottom:8px;font-size:var(--font-size-base)}
.page-content strong{color:var(--color-text);font-weight:600}
.page-content a{color:var(--color-primary);font-weight:500;text-decoration:underline;text-underline-offset:2px}
.page-content a:hover{color:var(--color-primary-dark)}

/* DOCUMENTS PAGE */
.docs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}
.docs-grid--2{grid-template-columns:repeat(2,1fr)}
.docs-grid--3{grid-template-columns:repeat(3,1fr)}
@media(max-width:1024px){.docs-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.docs-grid,.docs-grid--2,.docs-grid--3{grid-template-columns:1fr}}

/* Doc download card */
.doc-card{display:flex;gap:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border-light);text-decoration:none;color:var(--color-text);transition:all var(--transition-base)}
.doc-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--color-primary-bg);color:var(--color-text)}
.doc-card__icon{flex-shrink:0;width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}
.doc-card__icon--primary{background:var(--color-primary-bg);color:var(--color-primary)}
.doc-card__icon--green{background:var(--color-accent-bg);color:var(--color-accent)}
.doc-card__icon--violet{background:#F0EAFF;color:#6D28D9}
.doc-card__icon--amber{background:#FFF7ED;color:#D97706}
.doc-card__body{display:flex;flex-direction:column;gap:4px;min-width:0}
.doc-card__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);line-height:1.4}
.doc-card__desc{font-size:var(--font-size-xs);color:var(--color-text-muted)}
.doc-card__action{margin-top:auto;padding-top:8px;font-size:var(--font-size-xs);font-weight:600;color:var(--color-primary);display:inline-flex;align-items:center;gap:6px}
.doc-card:hover .doc-card__action{text-decoration:underline}

/* Doc info card */
.doc-info-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-xl);border:1px solid var(--color-border-light)}
.doc-info-card__title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-md)}
.doc-info-card__list{margin:0;padding:0;list-style:none}
.doc-info-card__list li{position:relative;padding:8px 0 8px 24px;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6;border-bottom:1px solid var(--color-border-light)}
.doc-info-card__list li:last-child{border-bottom:none}
.doc-info-card__list li::before{content:'';position:absolute;left:0;top:15px;width:8px;height:8px;border-radius:50%;background:var(--color-primary)}
.doc-info-card__list--numbered{counter-reset:doc-list}
.doc-info-card__list--numbered li{counter-increment:doc-list;padding-left:32px}
.doc-info-card__list--numbered li::before{content:counter(doc-list);width:20px;height:20px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;top:11px}

/* Memo card (patient memos) */
.memo-card{background:var(--color-surface);border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--color-border-light);transition:all var(--transition-base)}
.memo-card:hover{box-shadow:var(--shadow-md)}
.memo-card__header{display:flex;align-items:center;gap:10px;padding:var(--spacing-md) var(--spacing-lg);color:#fff;font-weight:600;font-size:var(--font-size-sm)}
.memo-card__header--blue{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light))}
.memo-card__header--green{background:linear-gradient(135deg,var(--color-accent-dark),var(--color-accent))}
.memo-card__header--violet{background:linear-gradient(135deg,#6D28D9,#8B5CF6)}
.memo-card__title{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text);padding:var(--spacing-md) var(--spacing-lg) 0}
.memo-card__body{padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-lg)}
.memo-card__subtitle{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin:var(--spacing-md) 0 var(--spacing-sm)}
.memo-card__body ul{margin:0;padding:0;list-style:none}
.memo-card__body li{position:relative;padding:4px 0 4px 18px;font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.6}
.memo-card__body li::before{content:'•';position:absolute;left:0;color:var(--color-text-muted);font-weight:700}

/* Doc external link card */
.doc-link-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border-light);text-decoration:none;color:var(--color-text);transition:all var(--transition-base)}
.doc-link-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm);color:var(--color-text)}
.doc-link-card__icon{flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-primary-bg);color:var(--color-primary);display:flex;align-items:center;justify-content:center}
.doc-link-card__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}
.doc-link-card__url{font-size:var(--font-size-xs);color:var(--color-text-muted)}
.info-banner__link{display:inline-block;margin-top:8px;color:var(--color-primary);font-weight:600;font-size:var(--font-size-sm);text-decoration:none}
.info-banner__link:hover{text-decoration:underline}

/* ABOUT PAGE */
.about-section{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3xl);align-items:center}
.about-section__text p{margin-bottom:var(--spacing-md);line-height:1.8;color:var(--color-text-secondary)}
.about-section__image{border-radius:var(--radius-xl);overflow:hidden}
.about-section__image img{width:100%;height:auto}

/* CONTACTS PAGE */
.contacts-grid-page{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3xl)}

/* ACCORDION (Prices) */
.accordion{display:flex;flex-direction:column;gap:var(--spacing-sm)}
.accordion__item{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden}
.accordion__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);cursor:pointer;user-select:none;transition:background var(--transition-fast)}
.accordion__header:hover{background:var(--color-primary-bg-soft)}
.accordion__title{font-size:var(--font-size-md);font-weight:600;color:var(--color-text);margin:0}
.accordion__icon{font-size:12px;color:var(--color-text-muted);transition:transform var(--transition-base)}
.accordion__item.active .accordion__icon{transform:rotate(180deg)}
.accordion__body{max-height:0;overflow:hidden;transition:max-height .4s ease}
.accordion__item.active .accordion__body{max-height:2000px}
.accordion__content{padding:0 var(--spacing-xl) var(--spacing-lg)}

/* PRICE TABLE */
.price-table{width:100%;border-collapse:separate;border-spacing:0}
.price-table tr{border-bottom:1px solid var(--color-border-light);transition:background var(--transition-fast)}
.price-table tr:last-child{border-bottom:none}
.price-table tr:hover{background:var(--color-primary-bg-soft)}
.price-table tr:hover td:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}
.price-table tr:hover td:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}
.price-table td{padding:12px 16px;font-size:var(--font-size-sm);border-bottom:1px solid var(--color-border-light)}
.price-table tr:last-child td{border-bottom:none}
.price-table td:last-child{text-align:right;font-weight:700;color:var(--color-primary);white-space:nowrap}
.price-free{color:var(--color-accent);font-weight:600}

.price-table td:last-child {
    min-width: 120px;
}

/* ABOUT FEATURES */
.about-features{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}
.about-feature{text-align:center;padding:var(--spacing-xl) var(--spacing-lg)}
.about-feature__icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);background:var(--color-primary-bg);margin:0 auto var(--spacing-md);color:var(--color-primary)}
.about-feature__title{font-size:var(--font-size-md);font-weight:700;margin-bottom:8px;color:var(--color-text)}
.about-feature__text{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.6}
@media(max-width:768px){.about-features{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.about-features{grid-template-columns:1fr}}

/* USER AGREEMENT / COOKIE */
.cookie-consent{position:fixed;bottom:0;left:0;right:0;background:var(--color-white);border-top:1px solid var(--color-border-light);padding:var(--spacing-md) var(--spacing-lg);z-index:1050;box-shadow:0 -4px 20px rgba(0,0,0,.08);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);transform:translateY(100%);transition:transform var(--transition-base)}
.cookie-consent.active{transform:translateY(0)}
.cookie-consent__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);flex:1}
.cookie-consent__text a{color:var(--color-primary);font-weight:500}
.cookie-consent__btn{flex-shrink:0}

/* STARS */
.stars{display:inline-flex;gap:2px;color:#F59E0B}

/* FORM CARD (Review form, generic forms) */
.form-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--spacing-xl);margin-top:var(--spacing-xl)}
.form-card__title{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-lg);text-align:center}
.form-group{margin-bottom:var(--spacing-md)}
.form-group label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin-bottom:6px}
.form-control{display:block;width:100%;padding:12px 16px;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-white);transition:border-color var(--transition-fast);resize:vertical}
.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}
.form-consent{display:flex;align-items:flex-start;gap:8px;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-md)}
.form-consent label{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-weight:400}
.form-consent input[type="checkbox"]{margin-top:3px;accent-color:var(--color-primary)}

/* BTN EXTRAS */
.btn--block{display:flex;width:100%;justify-content:center}
.btn.loading span{opacity:0}
.btn.loading .spinner{display:block}
.spinner{display:none;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* NOTICE BAR (Cookie consent / User agreement) */
.notice-bar{position:fixed;bottom:0;left:0;right:0;background:var(--color-white);border-top:1px solid var(--color-border-light);padding:16px 20px;z-index:1050;box-shadow:0 -4px 24px rgba(0,0,0,.08);display:none;animation:slideUp .4s ease}
.notice-bar.active,.notice-bar.show{display:block}
.notice-bar__inner{max-width:var(--container-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);flex-wrap:wrap}
.notice-bar__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);flex:1;line-height:1.6}
.notice-bar__text a{color:var(--color-primary);font-weight:500}
.notice-bar__actions{display:flex;gap:8px;flex-shrink:0}
.notice-bar__btn{padding:8px 20px;border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:600;border:none;cursor:pointer;transition:all var(--transition-fast)}
.notice-bar__btn--accept{background:var(--color-primary);color:#fff}
.notice-bar__btn--accept:hover{background:var(--color-primary-dark)}
.notice-bar__btn--decline{background:var(--color-bg);color:var(--color-text-secondary);border:1px solid var(--color-border)}
.notice-bar__btn--decline:hover{background:var(--color-border-light)}
@keyframes slideUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:600px){.notice-bar__inner{flex-direction:column;gap:12px;text-align:center}.notice-bar__actions{width:100%;justify-content:center}}

/* HERO SLIDER (if used) */
.hero-slider{margin-top:0;padding-top:72px}
.hero-slider .swiper{max-width:100%;margin:0 auto;border-radius:0;overflow:hidden;width:100%}
.hero-slider .swiper-slide{position:relative;min-height:600px;height:75vh;max-height:800px}
.hero-slider .swiper-slide img{width:100%;height:100%;object-fit:cover}
.hero-slider .swiper-slide-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-2xl) var(--spacing-3xl);background:linear-gradient(to top,rgba(0,20,40,.75) 0%,rgba(0,0,0,.15) 100%);color:#fff;z-index:2}

/* SECTION APPOINTMENT — Light bg */
.section--appointment{background:var(--color-bg);color:var(--color-text);position:relative;overflow:hidden;padding:var(--section-padding) 0;margin:0;width:100%;max-width:100%;border-radius:0}
.section--appointment::before,.section--appointment::after{display:none}

/* FORM ERROR */
.form-error{color:#FCA5A5;font-size:12px;margin-top:4px}
.form-error-global{margin-bottom:var(--spacing-md)}

/* MICRO-ANIMATIONS & PREMIUM INTERACTIONS */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* Premium hover states with scale + shadow cascade */
.advantage-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:var(--shadow-lg)}
.service-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--shadow-lg)}
.doctor-card:hover{transform:scale(1.01);box-shadow:var(--shadow-lg)}
.review-card:hover{transform:translateY(-2px) scale(1.01);box-shadow:var(--shadow-md)}
.equipment-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-lg)}
.license-card:hover{transform:translateY(-3px) scale(1.01);box-shadow:var(--shadow-md)}

/* Button premium hover */
.btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-primary)}
.btn:active{transform:translateY(0) scale(0.98)}

/* EQUIPMENT CARDS — Image-based */
.equipment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,2.5vw,32px)}
.equipment-card{background:var(--color-white);border:none;border-radius:var(--radius-lg);transition:all var(--transition-base);position:relative;overflow:hidden;box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column}
.equipment-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.equipment-card__image-wrap{position:relative;aspect-ratio:16/10;overflow:hidden}
.equipment-card__image{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.equipment-card:hover .equipment-card__image{transform:scale(1.06)}
.equipment-card__body{padding:clamp(20px,2.5vw,32px);display:flex;flex-direction:column;flex:1}
.equipment-card__title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-sm);line-height:1.3}
.equipment-card__text{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.7;margin-bottom:var(--spacing-md);flex:1}
.equipment-card__tag{display:inline-block;padding:5px 14px;font-size:11px;font-weight:700;border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.5px;align-self:flex-start}
.equipment-card:nth-child(1) .equipment-card__tag{background:var(--color-primary-bg);color:var(--color-primary)}
.equipment-card:nth-child(2) .equipment-card__tag{background:#E6F9F0;color:#00A86B}
.equipment-card:nth-child(3) .equipment-card__tag{background:#EEF2FF;color:#6366F1}
.equipment-card:nth-child(4) .equipment-card__tag{background:#FEF3C7;color:#F59E0B}
@media(max-width:1024px){.equipment-grid{grid-template-columns:1fr}}
@media(max-width:600px){.equipment-card__image-wrap{aspect-ratio:16/9}}

/* LICENSE / E-E-A-T CARDS — Bento */
.licenses-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px)}
.license-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-card);padding:clamp(24px,3vw,40px);text-align:center;transition:all var(--transition-base);position:relative;overflow:hidden}
.license-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--color-primary-bg)}
.license-card__icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xl);margin:0 auto var(--spacing-lg)}
.license-card:nth-child(1) .license-card__icon{background:var(--color-primary-bg);color:var(--color-primary)}
.license-card:nth-child(2) .license-card__icon{background:#E6F9F0;color:#00A86B}
.license-card:nth-child(3) .license-card__icon{background:#EEF2FF;color:#6366F1}
.license-card:nth-child(4) .license-card__icon{background:#FEF3C7;color:#F59E0B}
.license-card__title{font-size:var(--font-size-base);font-weight:700;color:var(--color-text);margin-bottom:8px;line-height:1.3}
.license-card__number{font-size:var(--font-size-sm);font-weight:700;color:var(--color-primary);margin-bottom:8px;font-family:var(--font-family)}
.license-card__text{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.6}
@media(max-width:1024px){.licenses-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.licenses-grid{grid-template-columns:1fr}}

/* CTA CONVERSION BLOCK — clean modern design */
.cta-block{display:grid;grid-template-columns:1fr;gap:var(--spacing-2xl);text-align:center;max-width:800px;margin:0 auto}
.cta-block__content{text-align:center}
.cta-block__title{font-size:clamp(2rem,5vw,3.2rem);font-weight:800;color:var(--color-text);margin-bottom:var(--spacing-md);line-height:1.05;letter-spacing:-1px}
.cta-block__text{font-size:var(--font-size-md);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--spacing-xl);max-width:600px;margin-left:auto;margin-right:auto}
.cta-block__features{display:flex;justify-content:center;gap:var(--spacing-xl);flex-wrap:wrap}
.cta-block__feature{display:flex;align-items:center;gap:10px;color:var(--color-text);font-size:var(--font-size-sm);font-weight:500}
.cta-block__feature svg{flex-shrink:0;color:var(--color-accent)}
/* Price + CTA — horizontal card */
.cta-block__action{display:flex;align-items:center;gap:var(--spacing-xl);padding:var(--spacing-xl) var(--spacing-2xl);background:var(--color-white);border-radius:var(--radius-xl);border:1px solid var(--color-border-light);box-shadow:var(--shadow-md)}
.cta-block__price{display:flex;align-items:baseline;gap:8px;flex-shrink:0}
.cta-block__price-label{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:600}
.cta-block__price-value{font-size:clamp(2rem,4vw,2.8rem);font-weight:900;color:var(--color-primary);letter-spacing:-1px;line-height:1;white-space:nowrap}
.cta-block__action-body{flex:1;display:flex;flex-direction:column;gap:8px}
.cta-block__btn{width:100%;padding:18px 32px;font-size:var(--font-size-md)}
.cta-block__note{font-size:var(--font-size-xs);color:var(--color-text-muted)}
@media(max-width:768px){.cta-block__action{flex-direction:column;text-align:center;padding:var(--spacing-lg) var(--spacing-md)}.cta-block__features{flex-direction:column;align-items:center;gap:var(--spacing-md)}.cta-block{max-width:100%;padding:0}.cta-block__title{font-size:clamp(1.4rem,5vw,2rem);letter-spacing:0}.cta-block__text{font-size:var(--font-size-sm);max-width:100%}.cta-block__btn{padding:14px 16px;font-size:var(--font-size-sm);white-space:normal;word-wrap:break-word}.section--cta-hero{overflow:visible;padding:var(--spacing-xl) 0}.section--cta-hero::before{display:none}.section--cta-hero .container::before{display:none}}

/* DOCTORS CAROUSEL (Swiper) */
.doctors-swiper{overflow:hidden;position:relative}
.doctors-swiper .swiper-wrapper{align-items:stretch}
.doctors-swiper .swiper-slide{height:auto}
.doctors-swiper .doctor-card{height:100%;display:flex;flex-direction:column}
.doctors-swiper .doctor-card__photo-wrap{aspect-ratio:3/4}
/* Carousel navigation — centered row */
.swiper-nav-row{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding:0 var(--spacing-md);position:relative;width:100%}
.swiper-nav-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-full);background:var(--color-white);border:2px solid var(--color-primary);color:var(--color-primary);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);flex-shrink:0}
.swiper-nav-btn:hover{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-primary)}
.swiper-nav-btn.swiper-button-disabled{opacity:.3;cursor:default;pointer-events:none}
.swiper-nav-btn::after{display:none!important;content:''!important}
.swiper-nav-dots{display:flex;gap:6px;align-items:center;width:auto!important;position:static!important}
.swiper-nav-dots .swiper-pagination-bullet{width:10px;height:10px;background:var(--color-border);border-radius:50%;opacity:1;transition:all var(--transition-base);cursor:pointer}
.swiper-nav-dots .swiper-pagination-bullet-active{background:var(--color-primary);width:28px;border-radius:var(--radius-pill)}
/* Force override Swiper's absolute positioning on our nav buttons */
#doctorsPrev,#doctorsNext,
#promoPrev,#promoNext,
.swiper-nav-row .swiper-button-prev,
.swiper-nav-row .swiper-button-next,
.swiper-nav-row > button{position:static!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;margin:0!important;width:48px!important;height:48px!important;transform:none!important}

/* PROMO — Premium two-column card */
.promo-card-premium{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--color-white);border-radius:var(--radius-xl);box-shadow:0 8px 40px rgba(0,40,100,.1);border:1px solid var(--color-border-light)}
.promo-card-premium__content{padding:clamp(32px,4vw,56px);display:flex;flex-direction:column;justify-content:center}
.promo-card-premium__label{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;background:linear-gradient(135deg,var(--color-primary-bg) 0%,var(--color-primary-bg-soft) 100%);color:var(--color-primary);font-size:13px;font-weight:700;border-radius:var(--radius-pill);margin-bottom:var(--spacing-lg);width:fit-content;text-transform:uppercase;letter-spacing:.5px}
.promo-card-premium__price{display:flex;align-items:baseline;gap:6px;margin-bottom:var(--spacing-sm)}
.promo-card-premium__price-from{font-size:var(--font-size-md);color:var(--color-text-muted);font-weight:500}
.promo-card-premium__price-value{font-size:clamp(2.5rem,4vw,3.5rem);font-weight:800;color:var(--color-primary);line-height:1;letter-spacing:-1px}
.promo-card-premium__price-currency{font-size:var(--font-size-xl);color:var(--color-primary);font-weight:700}
.promo-card-premium__title{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:800;color:var(--color-text);line-height:1.2;margin-bottom:var(--spacing-md)}
.promo-card-premium__desc{font-size:var(--font-size-md);color:var(--color-text-muted);line-height:1.7;margin-bottom:var(--spacing-lg)}
.promo-card-premium__features{list-style:none;padding:0;margin:0 0 var(--spacing-xl);display:flex;flex-direction:column;gap:12px}
.promo-card-premium__features li{display:flex;align-items:center;gap:10px;font-size:var(--font-size-base);color:var(--color-text);font-weight:500}
.promo-card-premium__features li svg{flex-shrink:0}
.promo-card-premium__cta{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;font-size:var(--font-size-md);font-weight:700;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;text-decoration:none;transition:all var(--transition-base);box-shadow:0 4px 16px rgba(34,197,94,.3);width:fit-content;cursor:pointer;border:none}
.promo-card-premium__cta:hover{background:var(--color-accent-dark,#16a34a);transform:translateY(-2px);box-shadow:0 8px 24px rgba(34,197,94,.35);color:#fff}
.promo-card-premium__trust{display:flex;align-items:center;gap:8px;margin-top:var(--spacing-lg);font-size:var(--font-size-xs);color:var(--color-text-muted);opacity:.7}
/* Visual / image side */
.promo-card-premium__visual{position:relative;overflow:hidden;min-height:400px}
.promo-card-premium__image{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.promo-card-premium:hover .promo-card-premium__image{transform:scale(1.04)}
.promo-card-premium__image-accent{position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(to top,rgba(26,96,170,.15),transparent);pointer-events:none}
/* Mobile */
@media(max-width:768px){
.promo-card-premium{grid-template-columns:1fr}
.promo-card-premium__visual{min-height:260px;order:-1}
.promo-card-premium__content{padding:var(--spacing-xl)}
}

/* PROMO SLIDER — full-width hero-style slides */
.promo-slider{position:relative;overflow:hidden;border-radius:var(--radius-xl)}
.promo-slider .swiper-wrapper{align-items:stretch}
.promo-slide{position:relative;min-height:380px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary))}
.promo-slide__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35;transition:opacity .6s ease}
.promo-slide__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(12,53,96,.75) 0%,rgba(26,96,170,.4) 50%,rgba(15,26,46,.6) 100%);z-index:1}
.promo-slide__content{position:relative;z-index:2;padding:var(--spacing-3xl);max-width:700px;color:#fff}
.promo-slide__badge{display:inline-block;padding:8px 20px;background:var(--color-accent);color:#fff;font-size:var(--font-size-sm);font-weight:700;border-radius:var(--radius-pill);margin-bottom:var(--spacing-lg);text-transform:uppercase;letter-spacing:.5px}
.promo-slide__title{font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:800;margin-bottom:var(--spacing-md);line-height:1.15;color:#fff}
.promo-slide__desc{font-size:var(--font-size-md);color:rgba(255,255,255,.9);line-height:1.7;margin-bottom:var(--spacing-xl)}
@media(max-width:768px){.promo-slide{min-height:300px}.promo-slide__content{padding:var(--spacing-xl)}}

/* PORTFOLIO — Grid + Before/After slider */
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px)}
.portfolio-card{background:var(--color-surface);border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--color-border-light);transition:all var(--transition-base)}
.portfolio-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.portfolio-card__body{padding:var(--spacing-lg)}
.portfolio-card__title{font-size:var(--font-size-base);font-weight:700;color:var(--color-text);margin-bottom:4px}
.portfolio-card__doctor{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:500}
.portfolio-card__label{position:absolute;top:12px;padding:4px 12px;background:rgba(0,0,0,.65);color:#fff;font-size:11px;font-weight:700;border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.5px;z-index:3;pointer-events:none}
.portfolio-card__label--before{left:12px}
.portfolio-card__label--after{right:12px}
/* Before/After Slider */
.ba-slider{position:relative;aspect-ratio:4/3;overflow:hidden;cursor:ew-resize;-webkit-user-select:none;user-select:none}
.ba-slider__right{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-slider__left{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:inset(0 50% 0 0);z-index:1}
.ba-slider__handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;z-index:2;transform:translateX(-50%);box-shadow:0 0 8px rgba(0,0,0,.3);pointer-events:none}
.ba-slider__handle-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center}
.ba-slider__handle-btn::before{content:'◀ ▶';font-size:10px;color:var(--color-primary);letter-spacing:2px}
.ba-slider__range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:4;margin:0;-webkit-appearance:none;appearance:none}
@media(max-width:1024px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.portfolio-grid{grid-template-columns:1fr}}

/* PRICE TABLE — overflow protection */
.price-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--spacing-md)) 0 0}
.price-table{min-width:480px}
.price-card__grid-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* CONTACT GRID — tablet fix */
@media(max-width:1024px){.contact-grid{grid-template-columns:repeat(2,1fr)}}

/* RESPONSIVE: Card grids */
@media(max-width:1024px){.card-grid--3{grid-template-columns:repeat(2,1fr)}.card-grid--4{grid-template-columns:repeat(2,1fr)}.advantages__grid{grid-template-columns:repeat(2,1fr)}}
.card-grid--2{grid-template-columns:repeat(2,1fr)}
@media(max-width:600px){.card-grid--2,.card-grid--3,.card-grid--4{grid-template-columns:1fr}.advantages__grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.about-section{grid-template-columns:1fr}.contacts-grid-page{grid-template-columns:1fr}.appointment-form-section{grid-template-columns:1fr}.footer__grid{grid-template-columns:1fr;gap:var(--spacing-xl)}}
@media(max-width:1024px){.header__nav{display:none}.header__contacts{display:none}.header__burger{display:flex}.footer__grid{grid-template-columns:repeat(2,1fr)}}

/* ============================================
   MOBILE OVERFLOW & LAYOUT FIXES
   ============================================ */
html,body{overflow-x:hidden;max-width:100vw}

/* Hero — prevent horizontal shift on mobile */
@media(max-width:768px){
.hero{min-height:auto;padding-top:64px}
.hero__container{grid-template-columns:1fr;text-align:center;padding:var(--spacing-xl) var(--spacing-md);gap:var(--spacing-lg)}
.hero__title{font-size:clamp(2rem,7vw,3rem);letter-spacing:-1px}
.hero__equipment{justify-content:center}
.hero__equipment-grid{grid-template-columns:repeat(3,1fr);gap:8px}
.hero__equip-item{padding:10px 6px;gap:6px}
.hero__equip-item svg{width:28px;height:28px}
.hero__equip-item span{font-size:11px}
.hero__stats-bar{grid-template-columns:repeat(2,1fr)}
.hero__stat{padding:var(--spacing-md) var(--spacing-sm)}
.hero__stat-value{font-size:clamp(1.5rem,5vw,2rem)}
.hero__stat-label{font-size:11px}
.hero__cta-bar-btn{padding:18px 16px;font-size:var(--font-size-sm);letter-spacing:1px}
.hero__location{margin-bottom:var(--spacing-md);font-size:var(--font-size-sm)}
}

/* Page-hero (inner pages) — overflow & padding fix */
@media(max-width:768px){
.page-hero{padding:90px var(--spacing-md) 32px;overflow:hidden}
.page-hero::before{right:-200px;top:-150px;width:300px;height:300px}
.page-hero .container::before{display:none}
.page-hero__title{font-size:clamp(1.4rem,5vw,2rem)}
.page-hero__subtitle{font-size:var(--font-size-sm)}
}

/* Section CTA Hero — overflow fix */
@media(max-width:768px){
.section--cta-hero{overflow:hidden}
.section--cta-hero::before{right:-200px;top:-150px;width:250px;height:250px}
.section--cta-hero .container::before{display:none}
}

/* Promo card premium — mobile stack */
@media(max-width:600px){
.promo-card-premium{grid-template-columns:1fr;border-radius:var(--radius-lg)}
.promo-card-premium__visual{min-height:200px;order:-1}
.promo-card-premium__content{padding:var(--spacing-lg) var(--spacing-md)}
.promo-card-premium__price-value{font-size:clamp(2rem,6vw,2.5rem)}
.promo-card-premium__title{font-size:clamp(1.2rem,4vw,1.5rem)}
.promo-card-premium__desc{font-size:var(--font-size-sm)}
.promo-card-premium__features li{font-size:var(--font-size-sm)}
.promo-card-premium__cta{width:100%;justify-content:center;padding:14px 24px}
}

/* Promo slider — mobile */
@media(max-width:600px){
.promo-slide{min-height:250px}
.promo-slide__content{padding:var(--spacing-lg) var(--spacing-md)}
.promo-slide__title{font-size:clamp(1.2rem,4vw,1.6rem)}
.promo-slide__desc{font-size:var(--font-size-sm)}
}

/* Sections — overflow only for sections with decorative pseudo-elements */
.section--cta-hero,.page-hero{overflow:hidden}
/* Text safety */
.promo-card-premium__title,
.promo-card-premium__desc,
.promo-slide__title,
.promo-slide__desc,
.page-hero__title,
.section__title{overflow-wrap:break-word;word-wrap:break-word}

@media(max-width:768px){
.promo-card-premium{grid-template-columns:1fr}
.promo-card-premium__visual{min-height:200px;order:-1}
.promo-card-premium__content{padding:var(--spacing-lg) var(--spacing-md)}
.promo-card-premium__title{font-size:clamp(1.2rem,4.5vw,1.5rem)}
.promo-card-premium__desc{font-size:var(--font-size-sm)}
.promo-card-premium__cta{width:100%;justify-content:center}
.section__title{font-size:clamp(1.3rem,4.5vw,1.8rem)}
}


/* ============================================
   SCROLL-REVEAL ANIMATIONS (IntersectionObserver)
   ============================================ */
@keyframes fadeInUp{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInScale{from{opacity:0;transform:scale(.88) translateY(40px)}to{opacity:1;transform:scale(1) translateY(0)}}

/* Initial hidden state for scroll-reveal elements */
.reveal{opacity:0;transform:translateY(50px);transition:opacity .8s cubic-bezier(0.16,1,0.3,1),transform .8s cubic-bezier(0.16,1,0.3,1)}
.reveal.revealed{opacity:1;transform:translateY(0)}
/* Staggered children inside grids */
.reveal-children > *{opacity:0;transform:translateY(40px) scale(.96);transition:opacity .6s cubic-bezier(0.16,1,0.3,1),transform .6s cubic-bezier(0.16,1,0.3,1)}
.reveal-children.revealed > *{opacity:1;transform:translateY(0) scale(1)}
.reveal-children.revealed > *:nth-child(1){transition-delay:.05s}
.reveal-children.revealed > *:nth-child(2){transition-delay:.12s}
.reveal-children.revealed > *:nth-child(3){transition-delay:.19s}
.reveal-children.revealed > *:nth-child(4){transition-delay:.26s}
.reveal-children.revealed > *:nth-child(5){transition-delay:.33s}
.reveal-children.revealed > *:nth-child(6){transition-delay:.40s}
.reveal-children.revealed > *:nth-child(7){transition-delay:.47s}
.reveal-children.revealed > *:nth-child(8){transition-delay:.54s}
/* Disable scroll animations in a11y mode */
body.a11y-mode .reveal,body.a11y-mode .reveal-children > *{opacity:1!important;transform:none!important;transition:none!important}

/* Photo hover zoom */
.equipment-card:hover,.service-card:hover,.license-card:hover,.advantage-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}

/* ============================================
   CARD SHIMMER HOVER EFFECT
   ============================================ */
.service-card::after,.equipment-card::after,.license-card::after,.advantage-card::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.5) 45%,rgba(255,255,255,.8) 50%,rgba(255,255,255,.5) 55%,transparent 60%);transform:translateX(-100%);transition:none;pointer-events:none;z-index:2;border-radius:inherit}
.service-card:hover::after,.equipment-card:hover::after,.license-card:hover::after,.advantage-card:hover::after{transform:translateX(100%);transition:transform .75s ease}

/* ============================================
   ANIMATED HERO COUNTERS
   ============================================ */
.hero__stat-value{display:inline-block;min-width:2ch}
@keyframes counterGlow{0%,100%{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 20px rgba(255,255,255,.4)}}
.hero__stat-value.counting{animation:counterGlow 1.5s ease}

/* ============================================
   FLOATING CTA BUTTON (appointment)
   ============================================ */
.floating-cta{position:fixed;bottom:28px;left:28px;z-index:999;opacity:1;transform:translateY(0) scale(1);pointer-events:auto;transition:all .5s cubic-bezier(.16,1,.3,1);animation:floatingCtaEntry .6s cubic-bezier(.16,1,.3,1) 1s both}
@keyframes floatingCtaEntry{from{opacity:0;transform:translateY(30px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}
.floating-cta.near-form{opacity:0;transform:translateY(20px) scale(.9);pointer-events:none}
.floating-cta__btn{display:flex;align-items:center;gap:10px;padding:14px 28px;background:linear-gradient(135deg,var(--color-accent) 0%,#009960 100%);color:#fff!important;font-size:var(--font-size-sm);font-weight:700;border-radius:var(--radius-pill);text-decoration:none;box-shadow:0 6px 28px rgba(0,168,107,.35),0 2px 8px rgba(0,0,0,.12);transition:all .3s cubic-bezier(.16,1,.3,1);white-space:nowrap;text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden}
.floating-cta__btn::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transform:translateX(-100%);transition:transform .6s ease}
.floating-cta__btn:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 10px 40px rgba(0,168,107,.45),0 4px 12px rgba(0,0,0,.15);color:#fff!important}
.floating-cta__btn:hover::before{transform:translateX(100%)}
.floating-cta__btn:active{transform:scale(.97)}
.floating-cta__btn svg{flex-shrink:0}
@keyframes floatingCtaPulse{0%,100%{box-shadow:0 6px 28px rgba(0,168,107,.35)}50%{box-shadow:0 6px 28px rgba(0,168,107,.35),0 0 0 10px rgba(0,168,107,.12)}}
.floating-cta .floating-cta__btn{animation:floatingCtaPulse 3s ease-in-out 2s 3}
@media(max-width:768px){.floating-cta{bottom:20px;left:16px;right:16px}.floating-cta__btn{width:100%;justify-content:center;padding:16px 24px}}


/* ============================================
   SCROLL-TO-TOP BUTTON WITH PROGRESS
   ============================================ */
.scroll-top{position:fixed;bottom:100px;right:28px;z-index:999;opacity:1;transform:translateY(0);pointer-events:auto;transition:all .4s cubic-bezier(.16,1,.3,1);animation:floatingCtaEntry .6s cubic-bezier(.16,1,.3,1) 1.2s both}
.scroll-top.hidden{opacity:0;transform:translateY(20px);pointer-events:none}
.scroll-top__btn{width:48px;height:48px;border-radius:50%;border:none;background:var(--color-white);color:var(--color-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:all .3s ease;position:relative}
.scroll-top__btn:hover{background:var(--color-primary);color:#fff;transform:translateY(-3px);box-shadow:var(--shadow-primary)}
.scroll-top__progress{position:absolute;inset:-3px;width:54px;height:54px;transform:rotate(-90deg)}
.scroll-top__progress circle{fill:none;stroke-width:2.5;stroke-linecap:round}
.scroll-top__progress .scroll-top__track{stroke:var(--color-border-light)}
.scroll-top__progress .scroll-top__fill{stroke:var(--color-primary);transition:stroke-dashoffset .15s ease}
@media(max-width:768px){.scroll-top{bottom:88px;right:16px}}

@media(max-width:600px){.footer__grid{grid-template-columns:1fr}.footer__bottom{flex-direction:column;text-align:center}}

/* ==============================
   FLOATING MESSENGER BUTTONS
   ============================== */
.floating-messengers {
    position: fixed;
    bottom: 28px;
    right: 28px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    z-index: 1000;
    align-items: flex-end;
}

.floating-btn {
    display: flex;
    align-items: center;
    gap: 0px;
    width: 56px;
    height: 56px;
    border-radius: 28px;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 4px 20px rgba(0,0,0,.18), 0 2px 8px rgba(0,0,0,.12);
    transition: all .35s cubic-bezier(.16,1,.3,1);
    overflow: hidden;
    cursor: pointer;
    justify-content: center;
    position: relative;
}

.floating-btn:hover {
    color: #ffffff;
}

.floating-btn svg {
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

.floating-btn__label {
    white-space: nowrap;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
    opacity: 0;
    max-width: 0;
    overflow: hidden;
    transition: opacity .3s ease, max-width .35s cubic-bezier(.16,1,.3,1), padding .3s ease;
    padding-right: 0;
}

.floating-btn:hover .floating-btn__label{
    margin-left: 7px;
}

.floating-btn:hover {
    width: auto;
    padding: 0 22px 0 16px;
    box-shadow: 0 8px 32px rgba(0,0,0,.22), 0 4px 12px rgba(0,0,0,.15);
    transform: translateY(-3px) scale(1.04);
}

.floating-btn:hover .floating-btn__label {
    opacity: 1;
    max-width: 120px;
    padding-right: 2px;
}

/* MAX button — gradient blue (branded VK/MAX) */
.floating-btn--max {
    background: linear-gradient(135deg, #0077FF 0%, #0055CC 50%, #003DA5 100%);
}

.floating-btn--max:hover {
    background: linear-gradient(135deg, #1A8CFF 0%, #0066EE 50%, #004DBF 100%);
}

/* WhatsApp button — gradient green */
.floating-btn--wa {
    background: linear-gradient(135deg, #25D366 0%, #20BA56 50%, #128C3E 100%);
}

.floating-btn--wa:hover {
    background: linear-gradient(135deg, #34E876 0%, #25D366 50%, #1DA851 100%);
}

/* Entry animation */
@keyframes floatingBtnEntry {
    from { opacity: 0; transform: translateY(40px) scale(.7); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

.floating-btn {
    animation: floatingBtnEntry .6s cubic-bezier(.16,1,.3,1) both;
}

.floating-btn:nth-child(2) {
    animation-delay: .12s;
}

/* Pulse attention animation (plays once after entry) */
@keyframes floatingPulse {
    0%, 100% { box-shadow: 0 4px 20px rgba(0,0,0,.18); }
    50%      { box-shadow: 0 4px 20px rgba(0,0,0,.18), 0 0 0 8px rgba(0,119,255,.15); }
}

.floating-btn--max {
    animation: floatingBtnEntry .6s cubic-bezier(.16,1,.3,1) both,
               floatingPulse 2s ease-in-out 1.5s 2;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .floating-messengers {
        bottom: 20px;
        right: 16px;
        gap: 12px;
    }
    .floating-btn {
        width: 50px;
        height: 50px;
        border-radius: 25px;
    }
    .floating-btn svg {
        width: 22px;
        height: 22px;
    }
    /* Always show label on mobile (no hover) */
    .floating-btn__label {
        display: none;
    }
}

