/* ===== PRELOADER ===== */
#preloader{
    position:fixed;inset:0;z-index:9999;
    background:linear-gradient(160deg,#0e1f3d 0%,#1c3fba 60%,#0e1f3d 100%);
    display:flex;align-items:center;justify-content:center;
    transition:opacity .5s ease, transform .5s ease;
}
#preloader.pl-out{opacity:0;transform:scale(1.04);pointer-events:none}
.pl-card{
    display:flex;flex-direction:column;align-items:center;gap:1.25rem;
    padding:2.5rem 2rem;
}
.pl-cross{
    position:relative;width:64px;height:64px;
    animation:plCrossPulse 1.2s ease-in-out infinite;
}
.pl-cross-v,.pl-cross-h{
    position:absolute;background:linear-gradient(135deg,#4ade80,#22c55e);
    border-radius:6px;
}
.pl-cross-v{width:20px;height:64px;left:50%;transform:translateX(-50%)}
.pl-cross-h{width:64px;height:20px;top:50%;transform:translateY(-50%)}
@keyframes plCrossPulse{
    0%,100%{opacity:1;filter:drop-shadow(0 0 8px rgba(74,222,128,.4))}
    50%{opacity:.75;filter:drop-shadow(0 0 20px rgba(74,222,128,.9))}
}
.pl-ecg{width:220px;height:40px}
.pl-ecg-line{
    stroke-dasharray:600;stroke-dashoffset:600;
    animation:plDraw 1.4s ease-out forwards, plLoop 2s ease-in-out 1.4s infinite;
}
@keyframes plDraw{to{stroke-dashoffset:0}}
@keyframes plLoop{
    0%{stroke-dashoffset:0;opacity:1}
    80%{stroke-dashoffset:-600;opacity:1}
    81%{stroke-dashoffset:600;opacity:0}
    82%{opacity:0}
    83%{opacity:1}
    100%{stroke-dashoffset:0;opacity:1}
}
.pl-text{
    color:rgba(255,255,255,.6);font-size:.8125rem;font-weight:500;
    letter-spacing:.05em;text-transform:uppercase;
}
.pl-dots::after{
    content:'';animation:plDots 1.2s steps(4,end) infinite;
}
@keyframes plDots{
    0%{content:''}25%{content:'.'}50%{content:'..'}75%{content:'...'}100%{content:''}
}

/* ===== SCROLL PROGRESS BAR ===== */
#scrollProgress{
    position:fixed;top:0;left:0;height:3px;z-index:200;
    background:linear-gradient(90deg,var(--brand-400),var(--accent-500));
    width:0;transition:width .1s linear;border-radius:0 2px 2px 0;
}

/* ===== RIPPLE ===== */
.ripple{
    position:absolute;border-radius:50%;
    background:rgba(255,255,255,.25);
    transform:scale(0);
    animation:rippleAnim .6s linear;
    pointer-events:none;
}
@keyframes rippleAnim{to{transform:scale(1);opacity:0}}

/* ===== SERVICE POP ===== */
.js-svc-ready .svc-item{opacity:0;transform:translateX(-12px)}
.js-svc-ready .svc-item.svc-pop{
    animation:svcPop .4s cubic-bezier(.22,1,.36,1) forwards;
}
@keyframes svcPop{to{opacity:1;transform:translateX(0)}}

/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;font-size:.875rem;line-height:1.6;color:#e8eaf0;background:#161820;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,select{font:inherit;border:none;outline:none;background:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hidden{display:none!important}
::selection{background:var(--brand-200);color:var(--brand-900)}

/* ===== TOKENS ===== */
:root{
    --brand-50:#f0f4ff;--brand-100:#e0e9ff;--brand-200:#c2d4fe;--brand-300:#94b4fd;
    --brand-400:#6090fb;--brand-500:#3b6cf6;--brand-600:#2550db;--brand-700:#1c3fba;
    --brand-800:#1a3468;--brand-900:#0e1f3d;
    --accent-50:#f0fdf4;--accent-400:#4ade80;--accent-500:#22c55e;--accent-600:#16a34a;
    --gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;
    --gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;
    --dark-900:#0d0f16;--dark-800:#161820;--dark-700:#1e2130;--dark-600:#252840;--dark-500:#2d3154;
    --violet:#6953DA;--violet-light:#8b79e8;
    --radius:12px;--radius-sm:8px;--shadow-sm:0 1px 3px rgba(0,0,0,.06);
    --shadow-md:0 4px 16px rgba(0,0,0,.08);--shadow-lg:0 8px 30px rgba(0,0,0,.1);
}
.container{max-width:1200px;margin:0 auto;padding:0 1rem}

/* ===== HEADER — Apple style ===== */
.header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(13,15,22,0.85);
    backdrop-filter:saturate(180%) blur(20px);
    -webkit-backdrop-filter:saturate(180%) blur(20px);
    border-bottom:1px solid rgba(255,255,255,.06);
    transition:background .3s ease, box-shadow .3s ease;
}
.header.scrolled{
    background:rgba(13,15,22,0.95);
    box-shadow:0 1px 0 rgba(255,255,255,.04),0 4px 20px rgba(0,0,0,.3);
}
.header-inner{
    max-width:1120px;margin:0 auto;padding:0 1.25rem;
    display:flex;align-items:center;justify-content:space-between;
    height:52px;
}
body{padding-top:52px}

/* Logo */
.logo{display:flex;align-items:center;gap:.5rem;flex-shrink:0;text-decoration:none}
.logo-icon{
    width:30px;height:30px;border-radius:8px;
    background:linear-gradient(135deg,var(--brand-600),var(--brand-800));
    color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.logo-text{display:flex;flex-direction:column;line-height:1.1}
.logo-name{font-size:.875rem;font-weight:700;color:#fff;letter-spacing:-.02em}
.logo-sub{font-size:.6rem;color:var(--gray-400);text-transform:uppercase;letter-spacing:.08em;font-weight:600}

/* Desktop nav — Apple centered */
.nav-desktop{
    position:absolute;left:50%;transform:translateX(-50%);
    display:none;align-items:center;gap:.125rem;
}
.nav-link{
    padding:.375rem .875rem;border-radius:20px;
    font-size:.8125rem;font-weight:500;color:rgba(255,255,255,.65);
    text-transform:uppercase;letter-spacing:.04em;
    transition:all .2s ease;position:relative;
}
.nav-link::after{
    content:'';position:absolute;bottom:-.125rem;left:50%;right:50%;
    height:1.5px;background:var(--violet-light);border-radius:2px;
    transition:left .2s ease,right .2s ease;
}
.nav-link:hover{color:#fff}
.nav-link:hover::after{left:20%;right:20%}

/* Header right */
.header-right{display:flex;align-items:center;gap:.625rem}
.header-phone-pill{
    display:none;align-items:center;gap:.375rem;
    padding:.375rem .875rem;border-radius:100px;
    background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
    font-size:.8125rem;font-weight:600;color:rgba(255,255,255,.8);
    transition:all .2s;white-space:nowrap;
}
.header-phone-pill:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2)}
.header-cta{
    display:none;padding:.4375rem .9375rem;border-radius:100px;
    background:var(--violet);
    color:#fff;font-size:.8125rem;font-weight:600;
    cursor:pointer;transition:all .2s ease;white-space:nowrap;
    box-shadow:0 2px 8px rgba(105,83,218,.35);
}
.header-cta:hover{transform:scale(1.03);box-shadow:0 4px 16px rgba(105,83,218,.5)}

/* Burger — 2 lines Apple-style */
.burger{
    display:flex;flex-direction:column;justify-content:center;gap:5px;
    width:36px;height:36px;padding:8px;cursor:pointer;border-radius:8px;
    transition:background .15s;border:none;background:none;
}
.burger:hover{background:rgba(255,255,255,.08)}
.burger span{
    display:block;height:1.5px;background:rgba(255,255,255,.7);
    border-radius:2px;transition:all .3s cubic-bezier(.22,1,.36,1);
    transform-origin:center;
}
.burger.active span:nth-child(1){transform:rotate(45deg) translate(3px,3px)}
.burger.active span:nth-child(2){transform:rotate(-45deg) translate(3px,-3px)}

@media(min-width:768px){
    .burger{display:none}
    .nav-desktop{display:flex}
    .header-phone-pill{display:flex}
    .header-cta{display:block}
    .logo-sub{display:block}
}
@media(max-width:767px){.logo-sub{display:none}}

/* ===== MOBILE FULLSCREEN MENU ===== */
.mob-menu{
    position:fixed;top:0;right:0;bottom:0;z-index:200;
    width:min(360px,100vw);
    background:#161820;
    transform:translateX(105%);
    transition:transform .4s cubic-bezier(.22,1,.36,1);
    display:flex;flex-direction:column;
    box-shadow:-8px 0 40px rgba(0,0,0,.5);
}
.mob-menu.open{transform:translateX(0)}
.mob-menu-overlay{
    position:fixed;inset:0;z-index:199;
    background:rgba(0,0,0,.4);backdrop-filter:blur(4px);
    opacity:0;pointer-events:none;
    transition:opacity .35s ease;
}
.mob-menu-overlay.open{opacity:1;pointer-events:all}
.mob-menu-inner{
    display:flex;flex-direction:column;height:100%;
    padding:1rem 1.5rem 2rem;
}
.mob-menu-top{
    display:flex;align-items:center;justify-content:space-between;
    padding:.5rem 0 1.5rem;border-bottom:1px solid rgba(255,255,255,.08);
    margin-bottom:1.5rem;
}
.mob-menu-close{
    width:36px;height:36px;border-radius:50%;
    background:rgba(255,255,255,.08);border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    color:rgba(255,255,255,.7);transition:all .2s;
}
.mob-menu-close:hover{background:rgba(255,255,255,.15)}
.mob-menu-nav{display:flex;flex-direction:column;gap:.25rem;flex:1}
.mob-menu-link{
    display:block;padding:.875rem .5rem;
    font-size:1.375rem;font-weight:700;color:#fff;
    border-bottom:1px solid rgba(255,255,255,.05);
    transition:color .15s,padding-left .2s;letter-spacing:-.02em;
}
.mob-menu-link:hover{color:var(--violet-light);padding-left:.75rem}
.mob-menu-footer{padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08)}
.mob-menu-phone{
    display:block;font-size:1.125rem;font-weight:800;
    color:var(--accent-600);letter-spacing:-.02em;margin-bottom:.25rem;
}
.mob-menu-hint{font-size:.8125rem;color:var(--gray-400)}

/* ===== BUTTONS ===== */
.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
    padding:.625rem 1.25rem;border-radius:var(--radius-sm);font-size:.8125rem;
    font-weight:600;cursor:pointer;transition:all .2s ease;
    position:relative;overflow:hidden;
}
.btn::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(rgba(255,255,255,.15),transparent);
    pointer-events:none;
}
.btn:active{transform:scale(.97)}
.btn-accent{background:linear-gradient(135deg,var(--accent-500),var(--accent-600));color:#fff;box-shadow:0 2px 8px rgba(34,197,94,.2)}
.btn-accent:hover{background:linear-gradient(135deg,var(--accent-600),#15803d);box-shadow:0 4px 12px rgba(34,197,94,.3);transform:translateY(-1px)}
.btn-brand{background:linear-gradient(135deg,var(--brand-600),var(--brand-700));color:#fff;box-shadow:0 2px 8px rgba(59,108,246,.15)}
.btn-brand:hover{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));box-shadow:0 4px 12px rgba(59,108,246,.25);transform:translateY(-1px)}
.btn-full{width:100%}
.btn-call{
    background:linear-gradient(135deg,var(--accent-500),var(--accent-600));color:#fff;
    font-size:.9375rem;padding:.75rem 1.5rem;
    box-shadow:0 4px 16px rgba(34,197,94,.3);
}
.btn-call:hover{background:linear-gradient(135deg,var(--accent-600),#15803d);box-shadow:0 6px 20px rgba(34,197,94,.4);transform:translateY(-2px)}
.btn-quiz{
    background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25);
    padding:.75rem 1.25rem;
}
.btn-quiz:hover{background:rgba(255,255,255,.2);transform:translateY(-1px)}

/* ===== MODAL ===== */
.modal-overlay{
    position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;
    padding:1rem;background:rgba(10,22,40,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.modal{
    background:#1e2130;border:1px solid rgba(255,255,255,.1);border-radius:1rem;
    box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.04);
    width:100%;max-width:420px;padding:1.5rem;position:relative;
}
.modal-close{
    position:absolute;top:.75rem;right:.875rem;font-size:1.25rem;
    color:rgba(255,255,255,.4);cursor:pointer;line-height:1;padding:.25rem;
    width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;
    border-radius:50%;transition:all .15s;
}
.modal-close:hover{color:#fff;background:rgba(255,255,255,.08)}
.fade-in{animation:fadeIn .3s cubic-bezier(.22,1,.36,1)}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ===== QUIZ ===== */
.quiz-progress{display:flex;gap:6px;margin-bottom:1rem}
.quiz-prog-dot{height:3px;flex:1;border-radius:4px;background:rgba(255,255,255,.1);transition:background .3s}
.quiz-prog-dot.active{background:var(--accent-500)}
.quiz-title{font-size:.9375rem;font-weight:600;color:#fff;margin-bottom:.25rem}
.quiz-sub{font-size:.75rem;color:rgba(255,255,255,.4);margin-bottom:.75rem}
.quiz-options{display:flex;flex-direction:column;gap:.5rem}
.quiz-option{cursor:pointer}
.quiz-option-inner{
    display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;
    border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);
    font-size:.8125rem;font-weight:500;color:rgba(255,255,255,.8);transition:all .15s ease;
    background:rgba(255,255,255,.04);
}
.quiz-option:hover .quiz-option-inner{border-color:var(--violet-light);background:rgba(105,83,218,.15)}
.quiz-option input:checked ~ .quiz-option-inner{border-color:var(--accent-500);background:rgba(34,197,94,.1)}
.quiz-option-icon{font-size:1.125rem;width:2rem;text-align:center;flex-shrink:0}
.quiz-option-badge{
    width:2rem;height:2rem;border-radius:6px;display:flex;align-items:center;justify-content:center;
    font-size:.6875rem;font-weight:700;flex-shrink:0;
}
.quiz-option-badge.yellow{background:#fef9c3;color:#a16207}
.quiz-option-badge.orange{background:#ffedd5;color:#c2410c}
.quiz-option-badge.red{background:#fee2e2;color:#dc2626}
.quiz-option-badge.gray{background:rgba(255,255,255,.08);color:rgba(255,255,255,.5)}

/* Calc animation */
.calc-screen{text-align:center;padding:1.5rem 0}
.calc-spinner{
    width:3rem;height:3rem;margin:0 auto 1rem;border-radius:50%;
    border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent-500);
    animation:spin .8s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.calc-lines{text-align:left;max-width:260px;margin:0 auto;display:flex;flex-direction:column;gap:.5rem}
.calc-line{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:rgba(255,255,255,.35);transition:color .3s}
.calc-line.done{color:rgba(255,255,255,.8)}
.calc-dot{
    width:1rem;height:1rem;border-radius:50%;flex-shrink:0;
    border:2px solid rgba(255,255,255,.2);transition:all .3s;
}
.calc-line.done .calc-dot{border-color:var(--accent-500);background:var(--accent-500)}
.calc-line.done .calc-dot::after{
    content:'';display:block;width:6px;height:3px;margin:3px auto 0;
    border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);
}

/* Quiz result */
.quiz-result-header{text-align:center;margin-bottom:1rem}
.quiz-check-icon{
    width:2.5rem;height:2.5rem;margin:0 auto .5rem;border-radius:50%;
    background:rgba(34,197,94,.15);display:flex;align-items:center;justify-content:center;color:var(--accent-400);
}
.quiz-summary{background:rgba(255,255,255,.05);border-radius:var(--radius-sm);padding:.75rem;margin-bottom:1rem}
.quiz-summary-row{display:flex;justify-content:space-between;font-size:.75rem;padding:.25rem 0;color:rgba(255,255,255,.4)}
.quiz-summary-row span:last-child{color:rgba(255,255,255,.8);font-weight:500}
.quiz-summary-row.total{border-top:1px solid rgba(255,255,255,.1);margin-top:.25rem;padding-top:.5rem}
.quiz-summary-row.total span:last-child{color:#4ade80;font-weight:700}

/* ===== FORMS ===== */
.form-group{margin-bottom:.75rem}
.form-label{display:block;font-size:.75rem;font-weight:500;color:rgba(255,255,255,.7);margin-bottom:.25rem}
.form-input{
    width:100%;padding:.5rem .75rem;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);
    font-size:.875rem;transition:all .15s;background:rgba(255,255,255,.08);color:#fff;
}
.form-input::placeholder{color:rgba(255,255,255,.35)}
.form-input:focus{border-color:rgba(105,83,218,.6);box-shadow:0 0 0 3px rgba(105,83,218,.15)}
.form-hint{font-size:.625rem;color:rgba(255,255,255,.4);text-align:center;margin-top:.5rem}
.form-hint a{text-decoration:underline;color:rgba(255,255,255,.6)}

/* ===== HERO ===== */
.hero{
    position:relative;overflow:hidden;
    padding:2rem 1rem 5rem;
    background:#050d1a;
    color:#fff;min-height:100svh;
    display:flex;flex-direction:column;justify-content:center;
}

/* Animated gradient orbs */
.hero-bg-grad{
    position:absolute;inset:0;
    background:
        radial-gradient(ellipse 80% 60% at 50% 0%,rgba(28,63,186,.6) 0%,transparent 70%),
        radial-gradient(ellipse 60% 40% at 80% 80%,rgba(34,197,94,.15) 0%,transparent 60%),
        #050d1a;
    animation:gradShift 8s ease-in-out infinite alternate;
}
@keyframes gradShift{
    0%{background-position:50% 0%,80% 80%}
    100%{
        background:
            radial-gradient(ellipse 80% 60% at 30% 10%,rgba(37,99,235,.7) 0%,transparent 70%),
            radial-gradient(ellipse 60% 40% at 70% 70%,rgba(74,222,128,.2) 0%,transparent 60%),
            #050d1a;
    }
}
.hero-orb{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none}
.hero-orb-1{width:400px;height:400px;background:rgba(37,99,235,.25);top:-100px;left:-80px;animation:orbFloat 9s ease-in-out infinite alternate}
.hero-orb-2{width:300px;height:300px;background:rgba(34,197,94,.12);bottom:-80px;right:-60px;animation:orbFloat 11s ease-in-out infinite alternate-reverse}
.hero-orb-3{width:200px;height:200px;background:rgba(139,92,246,.15);top:40%;right:15%;animation:orbFloat 7s ease-in-out infinite alternate}
@keyframes orbFloat{0%{transform:translate(0,0) scale(1)}100%{transform:translate(30px,20px) scale(1.15)}}

/* Noise texture */
.hero-noise{
    position:absolute;inset:0;opacity:.025;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    pointer-events:none;
}

.hero-content{
    position:relative;z-index:2;
    max-width:1120px;margin:0 auto;width:100%;
    display:flex;align-items:center;gap:3rem;
}
.hero-text{flex:1;display:flex;flex-direction:column}

/* Live badge */
.hero-live-badge{
    display:inline-flex;align-items:center;gap:.5rem;
    background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.3);
    color:#4ade80;font-size:.75rem;font-weight:600;
    padding:.375rem .875rem;border-radius:100px;margin-bottom:1.5rem;
    backdrop-filter:blur(8px);
}
.hero-live-dot{
    width:7px;height:7px;border-radius:50%;background:#4ade80;flex-shrink:0;
    box-shadow:0 0 8px #4ade80;
    animation:livePulse 1.5s ease-in-out infinite;
}
@keyframes livePulse{0%,100%{opacity:1;box-shadow:0 0 8px #4ade80}50%{opacity:.5;box-shadow:0 0 3px #4ade80}}

/* H1 — big and bold */
.hero h1{
    font-size:clamp(3rem,10vw,5rem);
    font-weight:900;line-height:1.05;
    letter-spacing:-.04em;
    margin-bottom:.375rem;
    background:linear-gradient(160deg,#fff 40%,rgba(255,255,255,.6));
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-city{
    font-size:clamp(1rem,3.5vw,1.5rem);
    color:rgba(255,255,255,.45);font-weight:500;
    margin-bottom:1.5rem;letter-spacing:-.01em;
}

/* Trust row */
.hero-trust-row{
    display:flex;align-items:center;gap:.875rem;
    margin-bottom:2rem;flex-wrap:wrap;
}
.hero-trust-item{
    display:flex;align-items:center;gap:.375rem;
    font-size:.8125rem;color:rgba(255,255,255,.55);font-weight:500;
}
.hero-trust-stars{color:#fbbf24;font-size:.875rem;letter-spacing:.05em}
.hero-trust-sep{width:1px;height:14px;background:rgba(255,255,255,.15)}

/* Big phone button */
.hero-phone-btn{
    display:flex;align-items:center;gap:1rem;
    background:linear-gradient(135deg,#16a34a,#22c55e);
    border-radius:16px;padding:1rem 1.5rem;
    margin-bottom:1rem;
    box-shadow:0 8px 32px rgba(34,197,94,.35),0 2px 8px rgba(0,0,0,.2);
    transition:all .25s cubic-bezier(.22,1,.36,1);
    text-decoration:none;
    max-width:380px;
}
.hero-phone-btn:hover{
    transform:translateY(-3px) scale(1.02);
    box-shadow:0 16px 48px rgba(34,197,94,.5),0 4px 16px rgba(0,0,0,.2);
}
.hero-phone-btn:active{transform:scale(.98)}
.hero-phone-icon{
    width:44px;height:44px;border-radius:12px;
    background:rgba(255,255,255,.2);backdrop-filter:blur(8px);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.hero-phone-text{display:flex;flex-direction:column;line-height:1.2}
.hero-phone-label{font-size:.6875rem;color:rgba(255,255,255,.75);font-weight:500;text-transform:uppercase;letter-spacing:.06em}
.hero-phone-num{font-size:1.25rem;font-weight:800;color:#fff;letter-spacing:-.01em}

/* Sub actions */
.hero-sub-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.hero-price-hint{font-size:.875rem;color:rgba(255,255,255,.4)}
.hero-price-hint strong{color:rgba(255,255,255,.75);font-weight:700}

/* Floating cards */
.hero-visual{
    position:relative;width:280px;height:280px;flex-shrink:0;
    display:none;
}
.hero-card-float{
    position:absolute;z-index:3;
    display:flex;align-items:center;gap:.625rem;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;padding:.75rem 1rem;
    white-space:nowrap;
    box-shadow:0 8px 32px rgba(0,0,0,.2);
}
.hcf-title{font-size:.8125rem;font-weight:700;color:#fff}
.hcf-sub{font-size:.6875rem;color:rgba(255,255,255,.5)}
.hero-card-1{top:-10px;left:-40px;animation:cardFloat1 5s ease-in-out infinite}
.hero-card-2{bottom:0px;right:-30px;animation:cardFloat2 6s ease-in-out infinite}
@keyframes cardFloat1{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes cardFloat2{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}

/* Medical cross animation */
.hero-anim{
    position:absolute;top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:220px;height:220px;
}
.hero-ring{
    position:absolute;border-radius:50%;border:1.5px solid rgba(74,222,128,.25);
    top:50%;left:50%;transform:translate(-50%,-50%);animation:ringPulse 3.5s ease-out infinite;
}
.hero-ring:nth-child(1){width:55%;height:55%;animation-delay:0s}
.hero-ring:nth-child(2){width:75%;height:75%;animation-delay:.8s}
.hero-ring:nth-child(3){width:100%;height:100%;animation-delay:1.6s}
@keyframes ringPulse{
    0%{opacity:.6;transform:translate(-50%,-50%) scale(.8)}
    100%{opacity:0;transform:translate(-50%,-50%) scale(1.05)}
}
.hero-cross{
    position:absolute;top:50%;left:50%;
    transform:translate(-50%,-50%);
    filter:drop-shadow(0 0 16px rgba(74,222,128,.5));
    animation:crossPulse 2.5s ease-in-out infinite;
}
@keyframes crossPulse{0%,100%{filter:drop-shadow(0 0 12px rgba(74,222,128,.4))}50%{filter:drop-shadow(0 0 28px rgba(74,222,128,.8))}}
.hero-ecg-line{
    position:absolute;bottom:10%;left:5%;width:90%;height:2.5rem;opacity:.6;
    filter:drop-shadow(0 0 4px rgba(74,222,128,.6));
}
.hero-ecg{stroke-dasharray:400;stroke-dashoffset:400;animation:drawEcg 2.2s linear infinite}
@keyframes drawEcg{to{stroke-dashoffset:0}}

@media(min-width:768px){
    .hero{padding:3rem 1rem 6rem;min-height:auto}
    .hero-visual{display:block}
    .hero h1{font-size:5rem}
    .hero-city{font-size:1.25rem}
}
@media(min-width:1024px){
    .hero-visual{width:340px;height:340px}
    .hero-anim{width:280px;height:280px}
    .hero h1{font-size:6.5rem}
}

/* ===== SECTIONS ===== */
.section{padding:2.5rem 1rem;background:var(--dark-800)}
.section-title{
    font-size:1.25rem;font-weight:800;color:#fff;text-align:center;
    margin-bottom:1.5rem;letter-spacing:-.02em;
}
.section-title::after{
    content:'';display:block;width:40px;height:3px;background:var(--accent-500);
    border-radius:3px;margin:.5rem auto 0;
}
.section-bg{background:var(--dark-700)}

/* Trust cards — horizontal scroll snap on mobile */
.trust-grid{
    display:flex;gap:1rem;
    overflow-x:auto;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding-bottom:.5rem;
    scrollbar-width:none;
}
.trust-grid::-webkit-scrollbar{display:none}
.trust-card{
    background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);
    padding:1.5rem 1.25rem;text-align:center;transition:all .25s ease;
    position:relative;overflow:hidden;
    flex:0 0 240px;scroll-snap-align:start;
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
}
.trust-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:2px;
    background:linear-gradient(90deg,var(--violet),var(--accent-500));
    transform:scaleX(0);transition:transform .3s ease;transform-origin:left;
}
.trust-card:hover::before{transform:scaleX(1)}
.trust-card:hover{transform:translateY(-3px);box-shadow:0 8px 40px rgba(0,0,0,.3)}
.trust-icon{
    width:3rem;height:3rem;margin:0 auto .875rem;
    background:rgba(255,255,255,.08);
    border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;
}
.trust-icon svg{width:1.375rem;height:1.375rem;color:#4ade80}
.trust-card h3{font-size:.875rem;font-weight:700;color:#fff;margin-bottom:.375rem}
.trust-card p{font-size:.75rem;color:rgba(255,255,255,.55);line-height:1.6}
@media(min-width:768px){
    .trust-grid{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible}
    .trust-card{flex:unset;scroll-snap-align:unset}
}

/* WB-style product cards */
.wb-grid{
    display:grid;gap:.75rem;
    grid-template-columns:repeat(2,1fr);
}
.wb-card{
    display:flex;flex-direction:column;background:rgba(255,255,255,.05);
    border-radius:var(--radius);overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    transition:all .25s cubic-bezier(.22,1,.36,1);position:relative;
}
.wb-card:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 32px rgba(0,0,0,.3),0 4px 8px rgba(0,0,0,.2);
    border-color:rgba(105,83,218,.4);
}
.wb-card-img{
    aspect-ratio:1/0.85;display:flex;align-items:center;justify-content:center;
    position:relative;overflow:hidden;
}
.wb-card-photo{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.wb-card:hover .wb-card-photo{transform:scale(1.06)}
.wb-card-icon{width:3rem;height:3rem;opacity:.7;transition:all .3s}
.wb-card:hover .wb-card-icon{opacity:1;transform:scale(1.15)}
.wb-card-tag{
    position:absolute;top:.5rem;left:.5rem;
    color:#fff;font-size:.5625rem;font-weight:600;
    padding:.15rem .5rem;border-radius:4px;
    text-transform:uppercase;letter-spacing:.03em;
    line-height:1.4;
}
.wb-card-body{padding:.625rem .75rem .75rem;flex:1;display:flex;flex-direction:column}
.wb-card-price{
    font-size:1.0625rem;font-weight:800;color:#fff;
    margin-bottom:.25rem;letter-spacing:-.02em;
}
.wb-card-title{
    font-size:.75rem;font-weight:500;color:rgba(255,255,255,.7);
    margin-bottom:.375rem;line-height:1.4;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.wb-card:hover .wb-card-title{color:var(--violet-light)}
.wb-card-desc{
    font-size:.6875rem;color:rgba(255,255,255,.4);line-height:1.4;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
    margin-bottom:.5rem;flex:1;
}
.wb-card-footer{display:flex;gap:.25rem;flex-wrap:wrap}
.wb-card-badge{
    font-size:.5625rem;font-weight:600;
    padding:.125rem .375rem;border-radius:3px;
    background:var(--accent-50);color:var(--accent-600);
    text-transform:uppercase;letter-spacing:.02em;
}
@media(min-width:640px){.wb-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.wb-grid{grid-template-columns:repeat(4,1fr)}}

/* Service cards (catalog page) */
.services-grid{display:grid;gap:.75rem;grid-template-columns:1fr}
.service-card{
    display:flex;flex-direction:column;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);
    overflow:hidden;transition:all .25s cubic-bezier(.22,1,.36,1);
}
.service-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.3);border-color:rgba(105,83,218,.4)}
.service-card-img{aspect-ratio:16/9;overflow:hidden;background:rgba(255,255,255,.03)}
.service-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.service-card:hover .service-card-img img{transform:scale(1.05)}
.service-card-text{padding:1rem;display:flex;flex-direction:column;flex:1}
.service-card h3{font-size:.8125rem;font-weight:700;color:#fff;margin-bottom:.375rem;transition:color .15s}
.service-card:hover h3{color:var(--violet-light)}
.service-card .desc{font-size:.75rem;color:rgba(255,255,255,.5);margin-bottom:.625rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.service-card .price{
    font-size:.9375rem;font-weight:800;color:#4ade80;
    padding-top:.5rem;border-top:1px solid rgba(255,255,255,.08);margin-top:auto;
}

/* Doctors */
.doctors-grid{display:grid;gap:1rem;grid-template-columns:1fr}
.doctor-card{
    display:flex;gap:1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
    border-radius:var(--radius);padding:1.25rem;transition:all .25s ease;
}
.doctor-card:hover{box-shadow:0 8px 40px rgba(0,0,0,.3);transform:translateY(-2px)}
.doctor-name{font-size:.875rem;font-weight:700;color:#fff;margin-bottom:.125rem}
.doctor-pos{font-size:.75rem;font-weight:600;color:#4ade80;margin-bottom:.375rem}
.doctor-desc{font-size:.75rem;color:rgba(255,255,255,.55);line-height:1.6}
@media(min-width:768px){.doctors-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.doctors-grid{grid-template-columns:repeat(3,1fr)}}

/* Steps */
.steps-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr);text-align:center;counter-reset:step}
.steps-grid>div{
    background:rgba(255,255,255,.05);border-radius:var(--radius);padding:1.25rem .75rem;
    border:1px solid rgba(255,255,255,.1);transition:all .25s ease;
}
.steps-grid>div:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.step-num{
    width:2.5rem;height:2.5rem;margin:0 auto .625rem;
    background:linear-gradient(135deg,var(--brand-600),var(--brand-800));
    color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;
    font-size:.875rem;font-weight:700;box-shadow:0 3px 10px rgba(28,63,186,.2);
}
.step-title{font-size:.8125rem;font-weight:700;color:#fff}
.step-sub{font-size:.6875rem;color:rgba(255,255,255,.4);margin-top:.25rem}

/* Page hero (sub-pages) */
.page-hero{
    background:linear-gradient(135deg,#0d0f16,#161820);
    color:#fff;padding:2rem 1rem 1.5rem;text-align:center;
    position:relative;overflow:hidden;
}
.page-hero::after{
    content:'';position:absolute;bottom:0;left:0;right:0;height:40px;
    background:linear-gradient(to bottom,transparent,#161820);
}
.page-hero-title{font-size:1.375rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.375rem;color:#fff}
.page-hero-desc{font-size:.875rem;color:rgba(255,255,255,.55);position:relative;z-index:1}
@media(min-width:768px){
    .page-hero{padding:2.5rem 1rem 2rem}
    .page-hero-title{font-size:1.625rem}
}

/* Category navigation */
.cat-nav{
    display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1.5rem;
    padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.08);
}
.cat-nav-link{
    padding:.375rem .75rem;border-radius:100px;font-size:.6875rem;font-weight:600;
    color:rgba(255,255,255,.55);background:rgba(255,255,255,.06);
    transition:all .2s;white-space:nowrap;
}
.cat-nav-link:hover{background:rgba(255,255,255,.12);color:#fff}

/* Category header */
.cat-title{
    font-size:1rem;font-weight:700;color:rgba(255,255,255,.9);
    border-bottom:2px solid rgba(255,255,255,.1);padding-bottom:.625rem;margin-bottom:1rem;
    display:flex;align-items:center;gap:.5rem;
}
.cat-count{
    display:inline-flex;align-items:center;justify-content:center;
    width:1.5rem;height:1.5rem;border-radius:50%;
    background:rgba(255,255,255,.08);color:rgba(255,255,255,.6);
    font-size:.625rem;font-weight:700;flex-shrink:0;
}

/* Breadcrumbs */
.breadcrumbs{font-size:.75rem;color:rgba(255,255,255,.45);margin-bottom:1rem}
.breadcrumbs a{transition:color .15s}
.breadcrumbs a:hover{color:#fff}
.breadcrumbs .sep{margin:0 .25rem}

/* Service detail */
.service-badge{
    display:inline-block;background:var(--brand-50);color:var(--brand-600);
    font-size:.625rem;font-weight:600;padding:.125rem .625rem;
    border-radius:100px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.75rem;
}
.service-detail-title{font-size:1.25rem;font-weight:700;color:#fff;margin-bottom:.75rem}
.price-box{
    background:var(--accent-50);border:1px solid rgba(34,197,94,.15);
    border-radius:var(--radius);padding:1rem;margin-bottom:1.25rem;
    display:flex;flex-direction:column;gap:.5rem;
}
.price-box .price-label{font-size:.75rem;color:rgba(255,255,255,.5)}
.price-box .price-value{font-size:1.5rem;font-weight:700;color:#4ade80}
.price-box .btn{align-self:flex-start}
.service-body{color:rgba(255,255,255,.7);line-height:1.7;font-size:.875rem}
.service-body p{margin-bottom:.75rem}
.service-body a{color:var(--violet-light);font-weight:500}
.service-body h2{font-size:1.125rem;font-weight:700;color:#fff;margin:1.5rem 0 .5rem}
.service-body h3{font-size:.9375rem;font-weight:600;color:rgba(255,255,255,.85);margin:1.25rem 0 .375rem}
.service-body ul,.service-body ol{padding-left:1.25rem;margin-bottom:.75rem}
.service-body ul{list-style:disc}
.service-body ol{list-style:decimal}
.service-body li{margin-bottom:.25rem}
.service-body strong{color:#fff}

/* Lead form block */
.lead-block{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(105,83,218,.3);border-radius:1rem;
    padding:1.5rem;box-shadow:0 4px 16px rgba(0,0,0,.3);margin-top:2rem;
    position:relative;overflow:hidden;
}
/* Service features row */
.service-features{
    display:flex;gap:.75rem;margin:1.25rem 0;flex-wrap:wrap;
}
.service-feature{
    display:flex;align-items:center;gap:.375rem;
    padding:.5rem .75rem;border-radius:100px;
    background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
    font-size:.75rem;font-weight:600;color:rgba(255,255,255,.65);
}

.lead-block::before{
    content:'';position:absolute;top:0;left:0;right:0;height:3px;
    background:linear-gradient(90deg,var(--brand-500),var(--accent-500));
}
.lead-block h2{font-size:1rem;font-weight:700;color:#fff;margin-bottom:.25rem}
.lead-block .lead-sub{font-size:.75rem;color:rgba(255,255,255,.5);margin-bottom:1.25rem}

/* ===== STICKY CTA ===== */
.sticky-cta{
    position:fixed;bottom:.75rem;left:.75rem;right:.75rem;z-index:50;
}
.sticky-cta .btn{
    width:100%;padding:.75rem;font-size:.8125rem;border-radius:var(--radius);
    box-shadow:0 4px 16px rgba(34,197,94,.25);animation:softPulse 2.5s ease-in-out infinite;
}
@keyframes softPulse{0%,100%{box-shadow:0 4px 16px rgba(34,197,94,.25)}50%{box-shadow:0 4px 24px rgba(34,197,94,.45)}}

@media(min-width:768px){
    .sticky-cta{left:auto;right:1.5rem;bottom:1.5rem;width:auto}
    .sticky-cta .btn{width:auto}
    .trust-grid{grid-template-columns:repeat(3,1fr)}
    .services-grid{grid-template-columns:repeat(2,1fr)}
    .steps-grid{grid-template-columns:repeat(4,1fr)}
    .price-box{flex-direction:row;align-items:center;justify-content:space-between}
    .price-box .btn{align-self:center}
}
@media(min-width:1024px){
    .services-grid.cols-4{grid-template-columns:repeat(4,1fr)}
    .services-grid.cols-3{grid-template-columns:repeat(3,1fr)}
}

/* ===== FOOTER ===== */
.footer{
    background:linear-gradient(180deg,#0d0f16,#0a0c13);
    color:rgba(255,255,255,.5);margin-top:2.5rem;padding:2.5rem 1rem 1.5rem;
    position:relative;
}
.footer::before{
    content:'';position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,var(--violet),transparent);
}
.footer-grid{display:grid;gap:1.5rem;margin-bottom:1.5rem}
.footer h4{color:#fff;font-size:.875rem;font-weight:700;margin-bottom:.625rem}
.footer p,.footer a{font-size:.75rem;line-height:1.7;color:rgba(255,255,255,.5)}
.footer a{transition:all .2s}
.footer a:hover{opacity:.85}
.footer .accent{color:var(--accent-400);font-weight:600}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:1rem;text-align:center}
.footer-warn{color:rgba(253,224,71,.7);font-size:.75rem;font-weight:500;margin-bottom:.25rem}
.footer-copy{font-size:.625rem;color:rgba(255,255,255,.25)}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(3,1fr)}}

/* ===== SCROLL REVEAL ===== */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-group>*{opacity:0;transform:translateY(16px);transition:opacity .4s ease,transform .4s ease}
.reveal-group.visible>*:nth-child(1){transition-delay:.05s}
.reveal-group.visible>*:nth-child(2){transition-delay:.1s}
.reveal-group.visible>*:nth-child(3){transition-delay:.15s}
.reveal-group.visible>*:nth-child(4){transition-delay:.2s}
.reveal-group.visible>*:nth-child(5){transition-delay:.25s}
.reveal-group.visible>*:nth-child(6){transition-delay:.3s}
.reveal-group.visible>*:nth-child(7){transition-delay:.35s}
.reveal-group.visible>*:nth-child(8){transition-delay:.4s}
.reveal-group.visible>*{opacity:1;transform:translateY(0)}

/* Success banner */
.success-banner{
    display:flex;align-items:center;justify-content:center;gap:.5rem;
    background:linear-gradient(135deg,var(--accent-500),var(--accent-600));
    color:#fff;text-align:center;padding:.625rem 1rem;font-size:.8125rem;font-weight:600;
}

/* ===== PRIVACY / 404 ===== */
.prose{max-width:640px;margin:0 auto;padding:2rem 1rem}
.prose h1{font-size:1.25rem;font-weight:700;color:#fff;margin-bottom:1rem}
.prose h2{font-size:1rem;font-weight:600;color:rgba(255,255,255,.8);margin:1.5rem 0 .5rem}
.prose p{margin-bottom:.75rem;line-height:1.7;color:rgba(255,255,255,.7)}
.text-center{text-align:center}

/* ===== MESSENGER WIDGET ===== */
.msg-widget{position:fixed;bottom:4.5rem;right:.75rem;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}
.msg-toggle{
    width:3rem;height:3rem;border-radius:50%;background:var(--brand-700);color:#fff;
    display:flex;align-items:center;justify-content:center;cursor:pointer;
    box-shadow:var(--shadow-md);transition:all .2s;border:none;
}
.msg-toggle:hover{background:var(--brand-600);transform:scale(1.05)}
.msg-toggle.active{background:var(--dark-500)}
.msg-buttons{display:flex;flex-direction:column;gap:.375rem;align-items:flex-end}
.msg-btn{
    width:2.75rem;height:2.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;
    color:#fff;box-shadow:var(--shadow-sm);transition:transform .2s;
}
.msg-btn:hover{transform:scale(1.1)}
.msg-wa{background:#25D366}
.msg-tg{background:#0088cc}
.msg-vb{background:#7360f2}
@media(min-width:768px){.msg-widget{bottom:5.5rem;right:1.5rem}}

/* ===== HERO EXTRAS ===== */
.hero-live-badge{
    display:inline-flex;align-items:center;gap:.5rem;
    background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.3);
    color:var(--accent-400);font-size:.75rem;font-weight:600;
    padding:.375rem .875rem;border-radius:100px;margin-bottom:1rem;
}
.hero-live-dot{
    width:8px;height:8px;border-radius:50%;background:var(--accent-400);
    animation:livePulse 1.5s ease-in-out infinite;flex-shrink:0;
}
@keyframes livePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}
.hero-price{font-size:1.0625rem;color:rgba(255,255,255,.85);margin-bottom:.5rem;font-weight:500}
.hero-price strong{color:#fff;font-weight:800}
.hero-actions{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}
.hero-hint{font-size:.75rem;color:rgba(255,255,255,.4)}
@media(min-width:480px){.hero-actions{flex-direction:row;flex-wrap:wrap}}

/* ===== STATS BAR ===== */
.stats-bar{
    position:relative;z-index:5;
    padding:0 1rem;
    background:transparent;
    margin-top:-3rem;
    margin-bottom:.5rem;
}
.stats-row{
    display:flex;align-items:center;justify-content:center;
    max-width:800px;margin:0 auto;
    background:rgba(255,255,255,.06);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.1);
    border-radius:20px;
    box-shadow:0 8px 40px rgba(0,0,0,.3),0 2px 8px rgba(0,0,0,.2);
    overflow:hidden;
}
.stat-item{
    display:flex;flex-direction:column;align-items:center;
    padding:.875rem .5rem;flex:1;
}
.stat-num{
    font-size:1.5rem;font-weight:900;
    background:linear-gradient(135deg,#fff,rgba(255,255,255,.7));
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
    letter-spacing:-.03em;line-height:1;
}
.stat-label{font-size:.625rem;color:rgba(255,255,255,.45);font-weight:600;text-align:center;margin-top:.25rem;text-transform:uppercase;letter-spacing:.04em}
.stat-div{width:1px;height:2rem;background:rgba(255,255,255,.1);flex-shrink:0}
@media(max-width:479px){.stat-div{display:none}.stat-item{padding:.75rem .25rem}.stat-num{font-size:1.25rem}}
@media(min-width:768px){.stats-bar{margin-top:-3rem}.stat-item{padding:1.125rem 1.5rem}.stat-num{font-size:1.75rem}}

/* ===== SERVICE LIST ===== */
.svc-list{display:flex;flex-direction:column;gap:.5rem}
.svc-item{
    display:flex;align-items:center;gap:.875rem;
    background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);
    padding:.875rem 1rem;transition:all .2s cubic-bezier(.22,1,.36,1);
    text-decoration:none;color:inherit;
}
.svc-item:hover{
    background:rgba(255,255,255,.1);
    border-color:rgba(255,255,255,.2);
    transform:translateX(3px);
}
.svc-icon{
    width:2.75rem;height:2.75rem;border-radius:var(--radius-sm);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.svc-icon svg{width:1.25rem;height:1.25rem}
.svc-body{flex:1;min-width:0}
.svc-title{font-size:.875rem;font-weight:600;color:#fff;line-height:1.3}
.svc-desc{font-size:.75rem;color:rgba(255,255,255,.45);margin-top:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.svc-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.svc-price{font-size:.875rem;font-weight:700;color:#4ade80;white-space:nowrap}
.svc-right svg{color:rgba(255,255,255,.25);transition:color .2s}
.svc-item:hover .svc-right svg{color:rgba(255,255,255,.7)}

/* ===== STEPS TIMELINE ===== */
.steps-timeline{display:flex;flex-direction:column;gap:0}
.step-row{display:flex;gap:1rem;position:relative;padding-bottom:1.5rem}
.step-row.last{padding-bottom:0}
.step-circle{
    width:2.5rem;height:2.5rem;border-radius:50%;flex-shrink:0;
    background:linear-gradient(135deg,var(--brand-600),var(--brand-800));
    color:#fff;display:flex;align-items:center;justify-content:center;
    font-size:.875rem;font-weight:700;
    box-shadow:0 3px 10px rgba(28,63,186,.25);position:relative;z-index:1;
}
.step-line{
    position:absolute;left:1.25rem;top:2.5rem;bottom:0;
    width:2px;background:linear-gradient(to bottom,rgba(255,255,255,.2),transparent);
    transform:translateX(-50%);
}
.step-content{padding-top:.375rem;flex:1}
.step-content h3{font-size:.9375rem;font-weight:700;color:#fff;margin-bottom:.25rem}
.step-content p{font-size:.8125rem;color:rgba(255,255,255,.55);line-height:1.6}

/* ===== DOCTOR AVATAR ===== */
.doctor-avatar{
    width:72px;height:72px;border-radius:50%;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    font-size:1.25rem;font-weight:800;letter-spacing:-.02em;
}

/* ===== REVIEWS ===== */
.reviews-grid{display:grid;gap:1rem;grid-template-columns:1fr}
.review-card{
    background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);
    padding:1.25rem;transition:all .2s;position:relative;overflow:hidden;
}
.review-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:3px;
    background:linear-gradient(90deg,#fbbf24,#f59e0b);
}
.review-card:hover{box-shadow:0 8px 40px rgba(0,0,0,.3);transform:translateY(-2px)}
.review-stars{color:#f59e0b;font-size:1rem;letter-spacing:.05em;margin-bottom:.75rem}
.review-text{font-size:.8125rem;color:rgba(255,255,255,.65);line-height:1.7;margin-bottom:1rem;font-style:italic}
.review-author{display:flex;align-items:center;gap:.625rem}
.review-avatar{
    width:2.25rem;height:2.25rem;border-radius:50%;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    font-size:.6875rem;font-weight:700;
}
.review-name{font-size:.8125rem;font-weight:600;color:#fff}
.review-date{font-size:.6875rem;color:rgba(255,255,255,.4)}
@media(min-width:768px){.reviews-grid{grid-template-columns:repeat(3,1fr)}}

/* ===== MOBILE BOTTOM BAR ===== */
.mob-bar{
    position:fixed;bottom:0;left:0;right:0;z-index:80;
    display:flex;gap:0;
    background:#161820;
    border-top:1px solid rgba(255,255,255,.08);
    box-shadow:0 -4px 24px rgba(0,0,0,.4);
    transform:translateY(110%);
    transition:transform .4s cubic-bezier(.22,1,.36,1);
    /* только на мобиле */
}
.mob-bar-visible{transform:translateY(0)}
.mob-bar-call{
    flex:1;display:flex;align-items:center;gap:.625rem;
    background:linear-gradient(135deg,#16a34a,#22c55e);
    color:#fff;padding:.875rem 1rem;
    position:relative;overflow:hidden;text-decoration:none;
}
.mob-bar-call-ring{
    position:absolute;inset:0;border-radius:0;
    background:rgba(255,255,255,.07);
    animation:barCallPulse 2s ease-in-out infinite;
}
@keyframes barCallPulse{0%,100%{opacity:0}50%{opacity:1}}
.mob-bar-call svg{flex-shrink:0;animation:barPhoneShake 3s ease-in-out infinite}
@keyframes barPhoneShake{
    0%,85%,100%{transform:rotate(0)}
    87%{transform:rotate(-15deg)}
    90%{transform:rotate(15deg)}
    93%{transform:rotate(-10deg)}
    96%{transform:rotate(8deg)}
}
.mob-bar-call-text{display:flex;flex-direction:column;line-height:1.2}
.mob-bar-call-label{font-size:.5625rem;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.mob-bar-call-num{font-size:.9375rem;font-weight:800;color:#fff;letter-spacing:-.01em}
.mob-bar-quiz{
    width:110px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:.25rem;background:#161820;color:#fff;
    font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
    padding:.625rem .5rem;cursor:pointer;border:none;
    border-left:1px solid rgba(255,255,255,.08);
}
.mob-bar-quiz svg{color:var(--violet-light)}
@media(min-width:768px){.mob-bar{display:none}}

/* ===== TYPEWRITER — подзаголовок ===== */
.hero-tagline-anim{
    color:var(--accent-400);
    font-weight:600;
    border-right:2px solid var(--accent-400);
    padding-right:3px;
    animation:cursorBlink .75s step-end infinite;
    white-space:nowrap;
}
@keyframes cursorBlink{0%,100%{border-color:var(--accent-400)}50%{border-color:transparent}}

/* ===== 3D TILT ===== */
.trust-card,.review-card,.doctor-card{
    will-change:transform;
    transform-style:preserve-3d;
}

/* ===== REVIEWS CAROUSEL (mobile) ===== */
@media(max-width:767px){
    .reviews-grid{
        display:flex;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        -webkit-overflow-scrolling:touch;
        gap:.875rem;
        padding-bottom:.5rem;
        scrollbar-width:none;
    }
    .reviews-grid::-webkit-scrollbar{display:none}
    .review-card{
        flex:0 0 88%;
        scroll-snap-align:center;
    }
}

/* ===== SERVICE PAGE ===== */
.svc-page-header{
    padding:1.5rem 0 2rem;border-bottom:1px solid rgba(255,255,255,.08);
    background:#161820;
}
.svc-page-header-inner{max-width:1120px}
.svc-page-cat-badge{
    display:inline-block;font-size:.6875rem;font-weight:700;
    padding:.25rem .75rem;border-radius:100px;
    text-transform:uppercase;letter-spacing:.06em;margin-bottom:.625rem;
}
.svc-page-title{
    font-size:clamp(1.5rem,4vw,2.25rem);font-weight:800;
    color:#fff;letter-spacing:-.03em;line-height:1.15;
    max-width:680px;
}
.svc-page-title span{color:rgba(255,255,255,.4);font-weight:600}

/* Two-column layout */
.svc-layout{
    display:grid;
    grid-template-columns:1fr;
    gap:2rem;
    align-items:start;
    max-width:1120px;
}
@media(min-width:900px){
    .svc-layout{grid-template-columns:1fr 340px}
}

/* Price card */
.svc-price-card{
    display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;
    background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);
    padding:1.25rem 1.5rem;margin-bottom:1.5rem;
    box-shadow:0 4px 16px rgba(0,0,0,.2);
}
.svc-price-label{font-size:.75rem;color:rgba(255,255,255,.5);font-weight:500;margin-bottom:.25rem}
.svc-price-val{font-size:2rem;font-weight:900;color:#fff;letter-spacing:-.04em}
.svc-price-val strong{color:#4ade80}
.svc-price-actions{display:flex;gap:.625rem;flex-wrap:wrap}

/* Feature pills */
.svc-features-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.75rem}
.svc-feat{
    display:flex;align-items:center;gap:.625rem;
    background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
    border-radius:var(--radius-sm);padding:.625rem .875rem;flex:1;min-width:140px;
}
.svc-feat-icon{
    width:36px;height:36px;border-radius:8px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
}
.svc-feat-title{font-size:.8125rem;font-weight:700;color:#fff}
.svc-feat-sub{font-size:.6875rem;color:rgba(255,255,255,.45);margin-top:.0625rem}

/* Sidebar */
.svc-sidebar-card{
    background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:1rem;
    overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.3);
    position:sticky;top:72px;
}
.svc-sidebar-top{padding:1.25rem 1.5rem;margin-bottom:0}
.svc-sidebar-category{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.375rem}
.svc-sidebar-price{font-size:1.75rem;font-weight:900;color:#111827;letter-spacing:-.04em}
.svc-sidebar-hint{font-size:.6875rem;color:rgba(0,0,0,.5);margin-top:.25rem}
.svc-sidebar-body{padding:1.25rem 1.5rem}
.svc-sidebar-title{font-size:.9375rem;font-weight:700;color:#fff;margin-bottom:1rem}
.svc-sidebar-divider{height:1px;background:rgba(255,255,255,.08);margin:1rem 0}
.svc-sidebar-phone{
    display:flex;align-items:center;gap:.5rem;justify-content:center;
    font-size:1rem;font-weight:700;color:#fff;
    padding:.625rem;border-radius:var(--radius-sm);
    background:rgba(255,255,255,.08);transition:all .2s;
}
.svc-sidebar-phone:hover{background:rgba(255,255,255,.15)}

/* ===== CTA BLOCK ===== */
.cta-block{
    background:linear-gradient(135deg,#0d0f16,#1e2130);
    color:#fff;padding:2.5rem 1rem;
    border-top:1px solid rgba(255,255,255,.06);
}
.cta-inner{
    max-width:800px;margin:0 auto;
    display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center;
}
.cta-text h2{font-size:1.25rem;font-weight:800;margin-bottom:.375rem}
.cta-text p{font-size:.9375rem;color:rgba(255,255,255,.65)}
.cta-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}
@media(min-width:640px){
    .cta-inner{flex-direction:row;text-align:left;justify-content:space-between}
    .cta-actions{flex-wrap:nowrap}
}

/* ===== DARK NOISE TEXTURE ===== */
body::after{
    content:'';position:fixed;inset:0;z-index:9998;pointer-events:none;
    opacity:.03;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
}

/* ===== DARK OVERRIDES: service-feature ===== */
.service-feature{
    background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
    color:rgba(255,255,255,.65);
}
.service-body{color:rgba(255,255,255,.7)}
.service-body strong{color:#fff}
.service-body h2{color:#fff}
.service-body h3{color:rgba(255,255,255,.85)}
.service-body a{color:var(--violet-light)}

/* ===== DARK: WB-style cards ===== */
.wb-card{
    background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08);
}
.wb-card-price{color:#fff}
.wb-card-title{color:rgba(255,255,255,.7)}
.wb-card:hover .wb-card-title{color:var(--violet-light)}
.wb-card-desc{color:rgba(255,255,255,.4)}

/* ===== DARK: step-num ===== */
.step-num{background:linear-gradient(135deg,var(--violet),var(--violet-light))}
.step-title{color:#fff}
.step-sub{color:rgba(255,255,255,.4)}

/* ===== DARK: price box ===== */
.price-box{
    background:rgba(255,255,255,.05);border-color:rgba(34,197,94,.15);
}
.price-box .price-label{color:rgba(255,255,255,.5)}
.price-box .price-value{color:#4ade80}

/* ===== DARK: success banner ===== */
.success-banner{
    background:linear-gradient(135deg,#16a34a,#22c55e);
}

/* ===== DARK: step-circle gradient tweak ===== */
.step-circle{background:linear-gradient(135deg,var(--violet),var(--violet-light))}

/* ===== DARK: preloader bg tweak ===== */
#preloader{background:linear-gradient(160deg,#0d0f16 0%,#1e2130 60%,#0d0f16 100%)}

/* ===== DARK: mob-menu-phone ===== */
.mob-menu-phone{color:#4ade80}

/* ===== DARK: logo-sub ===== */
.logo-sub{color:rgba(255,255,255,.35)}

/* ===== DARK: service_badge ===== */
.service-badge{background:rgba(105,83,218,.15);color:var(--violet-light)}
.service-detail-title{color:#fff}

/* ===== DARK: msg-toggle ===== */
.msg-toggle{background:var(--dark-600)}

/* ===== DARK: footer link hover ===== */
.footer a:hover{color:#fff;opacity:1}

/* ===== CALCULATOR PAGE ===== */
.calc-page-header{
    padding:1.75rem 0 2.25rem;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:#161820;
}
.calc-page-title{
    font-size:clamp(1.625rem,4vw,2.5rem);font-weight:800;
    color:#fff;line-height:1.15;letter-spacing:-.03em;
    margin:.5rem 0 .75rem;
}
.calc-page-title span{
    background:linear-gradient(90deg,var(--accent-400),var(--accent-600));
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.calc-page-sub{font-size:.9375rem;color:rgba(255,255,255,.55);max-width:540px}

/* Wrapper */
.fullcalc-wrap{
    background:#1e2130;border:1px solid rgba(255,255,255,.08);
    border-radius:1.25rem;padding:2rem;
    box-shadow:0 12px 40px rgba(0,0,0,.35);
    margin-bottom:2rem;
}

/* Progress */
.fc-progress-bar{
    height:4px;background:rgba(255,255,255,.08);border-radius:4px;overflow:hidden;
    margin-bottom:.5rem;
}
.fc-progress-fill{
    height:100%;background:linear-gradient(90deg,var(--accent-500),var(--brand-400));
    border-radius:4px;transition:width .45s cubic-bezier(.22,1,.36,1);
}
.fc-progress-label{
    font-size:.75rem;color:rgba(255,255,255,.4);
    text-transform:uppercase;letter-spacing:.06em;margin-bottom:1.5rem;
}

/* Steps */
.fc-step{animation:fadeIn .3s ease}
.fc-fade{animation:fadeIn .3s ease}
.fc-step-title{font-size:1.25rem;font-weight:700;color:#fff;margin-bottom:.375rem}
.fc-step-hint{font-size:.8125rem;color:rgba(255,255,255,.45);margin-bottom:1.25rem}

/* Options grid */
.fc-options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.fc-grid-2{grid-template-columns:repeat(2,1fr)}

.fc-opt{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:.5rem;padding:1rem .75rem;
    background:rgba(255,255,255,.04);border:1.5px solid rgba(255,255,255,.08);
    border-radius:var(--radius);cursor:pointer;
    transition:all .2s ease;text-align:center;color:#fff;
    min-height:80px;
}
.fc-opt:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);transform:translateY(-2px)}
.fc-opt.selected{
    background:rgba(34,197,94,.1);border-color:var(--accent-500);
    box-shadow:0 0 0 1px var(--accent-500);
}
.fc-opt-icon{font-size:1.625rem;line-height:1}
.fc-opt-label{font-size:.8125rem;font-weight:600;color:#fff}
.fc-opt-sub{font-size:.6875rem;color:rgba(255,255,255,.4)}

/* Badges (duration) */
.fc-opt-badge{
    width:2.5rem;height:2.5rem;border-radius:.5rem;
    display:flex;align-items:center;justify-content:center;
    font-size:.875rem;font-weight:800;color:#fff;
}
.fc-badge-green{background:#15803d}
.fc-badge-yellow{background:#ca8a04}
.fc-badge-orange{background:#c2410c}
.fc-badge-red{background:#b91c1c}

/* Checkboxes */
.fc-checkboxes{display:flex;flex-direction:column;gap:.625rem}
.fc-check{
    display:flex;align-items:center;gap:.75rem;
    padding:.75rem 1rem;border-radius:var(--radius-sm);
    background:rgba(255,255,255,.03);border:1.5px solid rgba(255,255,255,.07);
    cursor:pointer;transition:all .15s;font-size:.875rem;color:rgba(255,255,255,.8);
}
.fc-check:hover{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.06)}
.fc-check input{position:absolute;opacity:0;width:0;height:0}
.fc-check-box{
    width:18px;height:18px;border-radius:5px;flex-shrink:0;
    border:2px solid rgba(255,255,255,.25);background:transparent;
    transition:all .15s;position:relative;
}
.fc-check input:checked ~ .fc-check-box{
    background:var(--accent-500);border-color:var(--accent-500);
}
.fc-check input:checked ~ .fc-check-box::after{
    content:'';position:absolute;left:3px;top:1px;
    width:8px;height:5px;
    border-left:2px solid #fff;border-bottom:2px solid #fff;
    transform:rotate(-45deg);
}

/* Result */
.fc-result-wrap{display:flex;flex-direction:column;gap:1.5rem}
.fc-result-header{text-align:center}
.fc-result-icon{
    width:3.5rem;height:3.5rem;margin:0 auto .75rem;
    border-radius:50%;background:rgba(34,197,94,.15);
    color:var(--accent-500);
    display:flex;align-items:center;justify-content:center;
}
.fc-result-title{font-size:1.375rem;font-weight:800;color:#fff;margin-bottom:.25rem}
.fc-result-sub{font-size:.875rem;color:rgba(255,255,255,.5)}

/* Recommendation */
.fc-rec{
    border-radius:var(--radius);padding:1rem 1.25rem;
    font-size:.875rem;
}
.fc-rec strong{display:block;font-size:.9375rem;margin-bottom:.375rem}
.fc-rec p{margin:0;line-height:1.6;color:rgba(255,255,255,.75)}
.fc-rec-safe{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);color:#4ade80}
.fc-rec-warn{background:rgba(234,179,8,.08);border:1px solid rgba(234,179,8,.2);color:#fbbf24}
.fc-rec-urgent{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);color:#f87171}

/* Summary table */
.fc-summary-table{
    background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
    border-radius:var(--radius);overflow:hidden;
}
.fc-sum-row{
    display:flex;justify-content:space-between;align-items:center;
    padding:.625rem 1rem;font-size:.8125rem;
    border-bottom:1px solid rgba(255,255,255,.05);
    color:rgba(255,255,255,.6);
}
.fc-sum-row:last-child{border-bottom:none}
.fc-sum-row span:last-child{color:#fff;font-weight:500}
.fc-sum-total{background:rgba(34,197,94,.06)}
.fc-sum-total span:first-child{font-weight:600;color:#fff}
.fc-price-val{font-size:1.125rem;font-weight:800;color:var(--accent-400)!important}
.fc-price-note{font-size:.75rem;color:rgba(255,255,255,.35);margin-top:-.5rem}

/* Contact */
.fc-contact-block{
    background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
    border-radius:var(--radius);padding:1.25rem;
}
.fc-contact-title{font-size:.9375rem;font-weight:600;color:#fff;margin-bottom:1rem}
.fc-form-row{display:flex;gap:.625rem;flex-wrap:wrap}
.fc-phone-input{flex:1;min-width:180px}
.fc-or-call{
    display:flex;align-items:center;gap:.75rem;margin-top:.875rem;
    font-size:.8125rem;color:rgba(255,255,255,.4);
}
.fc-or-call::before,.fc-or-call::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.08)}
.fc-phone-link{font-size:.9375rem;font-weight:700;color:var(--accent-400);white-space:nowrap}
.fc-phone-link:hover{color:var(--accent-500)}

.fc-restart-btn{
    background:none;border:none;cursor:pointer;
    font-size:.8125rem;color:rgba(255,255,255,.4);
    padding:.25rem 0;transition:color .15s;align-self:flex-start;
}
.fc-restart-btn:hover{color:rgba(255,255,255,.7)}

/* Trust row */
.fc-trust-row{
    display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;
    padding:1.5rem;
    background:#1e2130;border:1px solid rgba(255,255,255,.06);
    border-radius:var(--radius);margin-bottom:2rem;
}
.fc-trust-item{
    display:flex;align-items:center;gap:.5rem;
    font-size:.8125rem;color:rgba(255,255,255,.6);
}

/* Calculator nav link */
.nav-link-calc{color:var(--accent-400)!important;font-weight:600}
.nav-link-calc:hover{color:var(--accent-500)!important}

/* FAQ */
.faq-list{display:flex;flex-direction:column;gap:0}
.faq-item{
    border-bottom:1px solid rgba(255,255,255,.07);
}
.faq-q{
    width:100%;display:flex;align-items:center;justify-content:space-between;
    padding:1rem 0;text-align:left;cursor:pointer;
    font-size:.9375rem;font-weight:600;color:#fff;
    background:none;border:none;gap:1rem;transition:color .15s;
}
.faq-q:hover{color:var(--accent-400)}
.faq-arrow{flex-shrink:0;transition:transform .3s cubic-bezier(.22,1,.36,1);color:rgba(255,255,255,.4)}
.faq-item.open .faq-arrow{transform:rotate(180deg)}
.faq-a{
    max-height:0;overflow:hidden;
    font-size:.875rem;color:rgba(255,255,255,.6);
    line-height:1.7;padding-bottom:0;
    transition:max-height .35s cubic-bezier(.22,1,.36,1), padding .3s;
}
.faq-item.open .faq-a{max-height:300px;padding-bottom:1rem}

@media(max-width:640px){
    .fc-options-grid{grid-template-columns:1fr 1fr}
    .fc-options-grid:has(.fc-opt:nth-child(3):last-child){grid-template-columns:1fr}
    .fc-grid-2{grid-template-columns:1fr 1fr}
    .fullcalc-wrap{padding:1.25rem}
    .fc-form-row{flex-direction:column}
    .fc-form-row .btn{width:100%}
    .fc-trust-row{gap:.75rem}
}

/* ===== DOCTORS V2 ===== */
.doctors-grid-v2{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:1.5rem;
}
.doctor-card-v2{
    background:#1e2130;border:1px solid rgba(255,255,255,.08);
    border-radius:1.25rem;padding:1.5rem;
    transition:transform .25s ease,box-shadow .25s ease;
    display:flex;flex-direction:column;gap:1rem;
}
.doctor-card-v2:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.4)}
.dc2-header{display:flex;align-items:flex-start;gap:1rem}
.dc2-avatar{
    width:60px;height:60px;border-radius:50%;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    font-size:1.25rem;font-weight:800;letter-spacing:-.02em;
}
.dc2-meta{flex:1;min-width:0}
.dc2-name{font-size:.9375rem;font-weight:700;color:#fff;line-height:1.3;margin-bottom:.2rem}
.dc2-pos{font-size:.75rem;color:rgba(255,255,255,.5);margin-bottom:.4rem}
.dc2-qual-badge{
    display:inline-block;font-size:.625rem;font-weight:700;
    text-transform:uppercase;letter-spacing:.05em;
    padding:.2rem .5rem;border-radius:100px;
    background:rgba(105,83,218,.2);color:var(--violet-light);
    border:1px solid rgba(105,83,218,.3);
}
.dc2-stats{
    display:flex;align-items:center;gap:0;
    background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
    border-radius:.75rem;overflow:hidden;
}
.dc2-stat{
    flex:1;display:flex;flex-direction:column;align-items:center;
    padding:.625rem .5rem;
}
.dc2-stat-num{font-size:1.125rem;font-weight:800;color:#fff}
.dc2-stat-label{font-size:.625rem;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.04em}
.dc2-stat-div{width:1px;height:2.5rem;background:rgba(255,255,255,.07)}
.dc2-specs{display:flex;flex-wrap:wrap;gap:.375rem}
.dc2-spec-tag{
    font-size:.6875rem;font-weight:500;
    padding:.2rem .6rem;border-radius:100px;
    background:rgba(255,255,255,.06);color:rgba(255,255,255,.6);
    border:1px solid rgba(255,255,255,.08);
}
.dc2-quote{
    background:rgba(255,255,255,.03);border-left:2px solid var(--accent-500);
    border-radius:0 .5rem .5rem 0;padding:.75rem 1rem;
    position:relative;
}
.dc2-quote-icon{
    position:absolute;top:.5rem;right:.75rem;
    color:rgba(255,255,255,.1);width:14px;height:11px;
}
.dc2-quote p{
    font-size:.8125rem;color:rgba(255,255,255,.6);
    line-height:1.65;font-style:italic;margin:0;
}
.dc2-education{
    font-size:.6875rem;color:rgba(255,255,255,.35);
    display:flex;align-items:center;gap:.375rem;margin-top:auto;
}
.dc2-education svg{flex-shrink:0;color:rgba(255,255,255,.25)}

/* ===== RATINGS ROW ===== */
.ratings-row{
    display:flex;align-items:center;flex-wrap:wrap;gap:1rem;
    background:#1e2130;border:1px solid rgba(255,255,255,.08);
    border-radius:1rem;padding:1.25rem 1.5rem;margin-bottom:2rem;
}
.rating-platform{display:flex;align-items:center;gap:.75rem;flex:1;min-width:140px}
.rating-platform-div{width:1px;height:2.5rem;background:rgba(255,255,255,.08);flex-shrink:0}
.rating-platform-logo{
    width:40px;height:40px;border-radius:.625rem;
    display:flex;align-items:center;justify-content:center;
    font-size:.875rem;font-weight:900;color:#fff;flex-shrink:0;
}
.rating-yandex{background:#fc3f1d}
.rating-google{background:#4285f4}
.rating-prodoc{background:#1a73e8;font-size:.625rem}
.rating-platform-info{display:flex;flex-direction:column;gap:.2rem}
.rating-stars-row{display:flex;align-items:center;gap:.375rem}
.rating-stars-filled{color:#facc15;font-size:.9375rem;letter-spacing:.5px}
.rating-score{font-size:1rem;font-weight:800;color:#fff}
.rating-source{font-size:.6875rem;color:rgba(255,255,255,.4)}
@media(max-width:600px){
    .rating-platform-div{display:none}
    .rating-platform{flex:0 0 45%}
}

/* ===== REVIEW HEADER ===== */
.review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}
.review-platform-tag{
    font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
    padding:.2rem .5rem;border-radius:100px;
    background:rgba(255,255,255,.06);color:rgba(255,255,255,.4);
    border:1px solid rgba(255,255,255,.08);
}

/* ===== LICENSES PAGE ===== */
.lic-hero{
    padding:1.75rem 0 2.5rem;background:#161820;
    border-bottom:1px solid rgba(255,255,255,.07);
}
.lic-badge{
    display:inline-flex;align-items:center;gap:.5rem;
    font-size:.75rem;font-weight:600;color:var(--accent-400);
    background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.2);
    padding:.3rem .875rem;border-radius:100px;margin-bottom:1rem;
}
.lic-hero-inner{
    display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;
    margin-top:1rem;
}
.lic-hero-text h1{
    font-size:clamp(2rem,5vw,3rem);font-weight:800;
    color:#fff;line-height:1.1;letter-spacing:-.04em;
    margin:.5rem 0 1rem;
}
.lic-hero-text h1 span{
    background:linear-gradient(90deg,var(--brand-400),var(--violet-light));
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.lic-hero-sub{font-size:.9375rem;color:rgba(255,255,255,.55);line-height:1.7;max-width:420px}
.lic-hero-card{
    background:#1e2130;border:1px solid rgba(255,255,255,.1);
    border-radius:1.25rem;padding:1.5rem;
    box-shadow:0 12px 40px rgba(0,0,0,.3);
}
.lic-main-license{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}
.lic-license-icon{
    width:52px;height:52px;border-radius:.875rem;flex-shrink:0;
    background:rgba(34,197,94,.12);color:var(--accent-500);
    display:flex;align-items:center;justify-content:center;
}
.lic-license-label{font-size:.6875rem;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.25rem}
.lic-license-num{font-size:1rem;font-weight:800;color:#fff;letter-spacing:-.01em}
.lic-license-issuer{font-size:.75rem;color:rgba(255,255,255,.45);margin-top:.25rem}
.lic-license-meta{
    display:flex;flex-direction:column;gap:.625rem;
    padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.07);
}
.lic-meta-item{display:flex;justify-content:space-between;align-items:center}
.lic-meta-label{font-size:.75rem;color:rgba(255,255,255,.4)}
.lic-meta-val{font-size:.8125rem;font-weight:600;color:#fff}
.lic-status-active{color:var(--accent-400)}

/* Activities */
.lic-activities{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:1rem;margin-bottom:1rem;
}
.lic-activity-card{
    display:flex;align-items:flex-start;gap:1rem;
    background:#1e2130;border:1px solid rgba(255,255,255,.07);
    border-radius:var(--radius);padding:1.25rem;
}
.lic-act-icon{
    width:44px;height:44px;border-radius:.75rem;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
}
.lic-activity-card h3{font-size:.9rem;font-weight:700;color:#fff;margin-bottom:.375rem}
.lic-activity-card p{font-size:.8rem;color:rgba(255,255,255,.5);line-height:1.6}

/* Standards */
.lic-standards{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:1rem;
}
.lic-std-card{
    display:flex;align-items:flex-start;gap:1rem;
    background:#1e2130;border:1px solid rgba(255,255,255,.07);
    border-radius:var(--radius);padding:1.25rem;
}
.lic-std-num{
    font-size:.6875rem;font-weight:800;letter-spacing:.04em;
    color:var(--brand-400);background:rgba(96,144,251,.1);
    border:1px solid rgba(96,144,251,.2);
    padding:.375rem .625rem;border-radius:.5rem;flex-shrink:0;white-space:nowrap;
}
.lic-std-card h4{font-size:.875rem;font-weight:700;color:#fff;margin-bottom:.3rem}
.lic-std-card p{font-size:.8rem;color:rgba(255,255,255,.5);line-height:1.6}

/* Guarantees */
.lic-guarantees{
    background:#1e2130;border:1px solid rgba(255,255,255,.08);
    border-radius:1.25rem;padding:2rem;
}
.lic-guarantee-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:1.5rem;
}
.lic-guarantee-item{display:flex;gap:1rem;align-items:flex-start}
.lic-g-check{
    width:28px;height:28px;border-radius:50%;flex-shrink:0;
    background:rgba(34,197,94,.15);color:var(--accent-500);
    display:flex;align-items:center;justify-content:center;
    font-weight:900;font-size:.875rem;
}
.lic-guarantee-item h4{font-size:.875rem;font-weight:700;color:#fff;margin-bottom:.25rem}
.lic-guarantee-item p{font-size:.8rem;color:rgba(255,255,255,.5);line-height:1.6}

@media(max-width:767px){
    .lic-hero-inner{grid-template-columns:1fr}
    .lic-hero-text h1{font-size:2rem}
    .lic-hero-card{margin-top:1.5rem}
    .ratings-row{gap:.75rem}
}

/* ===== LOCATION PAGES ===== */
.loc-hero{
    position:relative;padding:1.75rem 0 2.5rem;
    background:#161820;border-bottom:1px solid rgba(255,255,255,.07);overflow:hidden;
}
.loc-hero-bg{
    position:absolute;inset:0;
    background:radial-gradient(ellipse 70% 120% at 80% 50%, rgba(59,108,246,.08) 0%, transparent 70%);
    pointer-events:none;
}
.loc-hero-inner{position:relative}
.loc-geo-badge{
    display:inline-flex;align-items:center;gap:.5rem;
    font-size:.75rem;font-weight:600;color:var(--brand-400);
    background:rgba(59,108,246,.1);border:1px solid rgba(59,108,246,.2);
    padding:.3rem .875rem;border-radius:100px;margin-bottom:.875rem;
}
.loc-h1{
    font-size:clamp(1.75rem,4.5vw,2.75rem);font-weight:800;
    color:#fff;line-height:1.1;letter-spacing:-.03em;margin-bottom:.75rem;
}
.loc-sub{font-size:.9375rem;color:rgba(255,255,255,.55);max-width:520px;margin-bottom:1.25rem}
.loc-hero-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.loc-pill{
    font-size:.75rem;font-weight:500;color:rgba(255,255,255,.6);
    padding:.3rem .75rem;border-radius:100px;
    background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);
}
.loc-pill-green{color:var(--accent-400);background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.2)}
.loc-hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}

/* Layout */
.loc-layout{
    display:grid;grid-template-columns:1fr 320px;
    gap:2rem;align-items:start;
}
.loc-main{display:flex;flex-direction:column;gap:2rem}

/* Area block */
.loc-area-block h2,.loc-services h2,.loc-coverage h2,.loc-faq h2{
    font-size:1.25rem;font-weight:700;color:#fff;margin-bottom:1rem;
}
.loc-area-text p{
    color:rgba(255,255,255,.65);line-height:1.75;margin-bottom:.875rem;font-size:.9375rem;
}
.loc-area-text p:last-child{margin-bottom:0}

/* Services list */
.loc-svc-list{display:flex;flex-direction:column;gap:.5rem}
.loc-svc-item{
    display:flex;align-items:center;justify-content:space-between;
    padding:.875rem 1rem;
    background:#1e2130;border:1px solid rgba(255,255,255,.07);
    border-radius:var(--radius-sm);text-decoration:none;
    transition:all .2s ease;
}
.loc-svc-item:hover{border-color:rgba(255,255,255,.18);transform:translateX(4px)}
.loc-svc-body{flex:1;min-width:0}
.loc-svc-title{font-size:.875rem;font-weight:600;color:#fff}
.loc-svc-sub{font-size:.75rem;color:rgba(255,255,255,.35);margin-top:.1rem}
.loc-svc-right{display:flex;align-items:center;gap:.625rem;flex-shrink:0}
.loc-svc-price{font-size:.875rem;font-weight:700;color:var(--accent-400)}
.loc-svc-right svg{color:rgba(255,255,255,.3)}

/* Coverage grid */
.loc-coverage-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem;
}
.loc-zone-item{
    display:flex;align-items:center;gap:.5rem;
    padding:.5rem .75rem;
    background:#1e2130;border:1px solid rgba(255,255,255,.06);
    border-radius:var(--radius-sm);
    font-size:.8125rem;color:rgba(255,255,255,.65);
}

/* Sidebar */
.loc-sidebar-card{
    background:#1e2130;border:1px solid rgba(255,255,255,.1);
    border-radius:1.25rem;padding:1.5rem;
    position:sticky;top:72px;
    box-shadow:0 8px 32px rgba(0,0,0,.3);
    margin-bottom:1rem;
}
.loc-sidebar-title{
    font-size:1rem;font-weight:700;color:#fff;margin-bottom:1rem;
    padding-bottom:.875rem;border-bottom:1px solid rgba(255,255,255,.07);
}
.loc-sidebar-info{
    margin-top:1rem;padding-top:.875rem;
    border-top:1px solid rgba(255,255,255,.07);
    display:flex;flex-direction:column;gap:.5rem;
}
.loc-info-row{
    display:flex;align-items:center;gap:.5rem;
    font-size:.8125rem;color:rgba(255,255,255,.5);
}
.loc-info-row svg{flex-shrink:0;color:var(--accent-500)}
.loc-info-row strong{color:#fff}

.loc-other-card{
    background:#1e2130;border:1px solid rgba(255,255,255,.07);
    border-radius:var(--radius);padding:1.25rem;
}
.loc-other-title{
    font-size:.8125rem;font-weight:600;color:rgba(255,255,255,.5);
    text-transform:uppercase;letter-spacing:.06em;margin-bottom:.875rem;
}
.loc-other-links{display:flex;flex-direction:column;gap:.375rem}
.loc-other-link{
    font-size:.8125rem;color:rgba(255,255,255,.55);padding:.3rem 0;
    border-bottom:1px solid rgba(255,255,255,.04);
    transition:color .15s;text-decoration:none;
}
.loc-other-link:last-child{border-bottom:none}
.loc-other-link:hover{color:var(--accent-400)}

@media(max-width:900px){
    .loc-layout{grid-template-columns:1fr}
    .loc-sidebar-card{position:static}
    .loc-other-card{display:none}
}
@media(max-width:600px){
    .loc-h1{font-size:1.75rem}
    .loc-hero-actions .btn{width:100%}
}

/* ===== HERO SEARCH ===== */
.hero-search-wrap{
    position:relative;
    width:100%;max-width:480px;
    margin-bottom:1.5rem;
    animation:fadeIn .5s ease .3s both;
}
.hero-search-box{
    display:flex;align-items:center;gap:.75rem;
    background:rgba(255,255,255,.08);
    border:1.5px solid rgba(255,255,255,.18);
    border-radius:14px;
    padding:.875rem 1.125rem;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    transition:border-color .2s, box-shadow .2s, background .2s;
    cursor:text;
}
.hero-search-box:focus-within{
    background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.4);
    box-shadow:0 0 0 3px rgba(255,255,255,.06), 0 8px 32px rgba(0,0,0,.3);
}
.hero-search-box svg{color:rgba(255,255,255,.5);flex-shrink:0}
.hero-search-input{
    flex:1;background:none;border:none;outline:none;
    font-size:.9375rem;color:#fff;font-family:inherit;
}
.hero-search-input::placeholder{color:rgba(255,255,255,.4)}
.hero-search-kbd{
    font-size:.625rem;font-weight:700;letter-spacing:.06em;
    color:rgba(255,255,255,.35);
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    border-radius:5px;padding:.2rem .45rem;
    white-space:nowrap;flex-shrink:0;
    font-family:inherit;
}

/* Теги-подсказки */
.hero-search-tags{
    display:flex;flex-wrap:wrap;gap:.375rem;
    margin-top:.625rem;padding:0 .25rem;
}
.hero-search-tag{
    font-size:.6875rem;font-weight:500;
    color:rgba(255,255,255,.5);
    padding:.25rem .6rem;border-radius:100px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.1);
    cursor:pointer;transition:all .15s;
}
.hero-search-tag:hover{
    color:#fff;background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.25);
}

/* Дропдаун результатов */
.hero-search-dropdown{
    position:absolute;top:calc(100% + .5rem);left:0;right:0;
    background:#1a1d2e;border:1px solid rgba(255,255,255,.12);
    border-radius:12px;
    box-shadow:0 16px 48px rgba(0,0,0,.6);
    overflow:hidden;z-index:150;
    animation:fadeIn .2s ease;
}
.hsd-item{
    display:flex;align-items:center;justify-content:space-between;
    gap:.75rem;padding:.75rem 1.125rem;text-decoration:none;
    border-bottom:1px solid rgba(255,255,255,.05);
    transition:background .15s;
}
.hsd-item:last-of-type{border-bottom:none}
.hsd-item:hover{background:rgba(255,255,255,.06)}
.hsd-body{flex:1;min-width:0}
.hsd-title{
    font-size:.875rem;font-weight:600;color:#fff;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.hero-search-mark{
    background:rgba(96,144,251,.35);color:#fff;
    border-radius:3px;padding:0 2px;font-style:normal;
}
.hsd-cat{font-size:.6875rem;color:rgba(255,255,255,.4);margin-top:.15rem}
.hsd-price{
    font-size:.8125rem;font-weight:700;
    color:var(--accent-400);white-space:nowrap;flex-shrink:0;
}
.hsd-all{
    display:block;text-align:center;padding:.625rem 1rem;
    font-size:.75rem;font-weight:600;color:var(--brand-300);
    background:rgba(59,108,246,.08);
    border-top:1px solid rgba(255,255,255,.06);
    transition:background .15s;
}
.hsd-all:hover{background:rgba(59,108,246,.15)}
.hsd-empty{
    padding:1rem 1.125rem;font-size:.8125rem;
    color:rgba(255,255,255,.4);
}
.hsd-empty a{color:var(--brand-300)}

@media(max-width:767px){
    .hero-search-wrap{max-width:100%}
    .hero-search-kbd{display:none}
}

/* ===== AI CHAT WIDGET ===== */
.chat-widget{
    position:fixed;bottom:1rem;right:1rem;z-index:90;
}
@media(max-width:767px){
    .chat-widget{bottom:5rem;right:.75rem}
}

/* FAB кнопка */
.chat-fab{
    width:52px;height:52px;border-radius:50%;
    background:linear-gradient(135deg,var(--brand-600),var(--violet));
    color:#fff;border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 20px rgba(59,108,246,.45);
    transition:transform .2s ease,box-shadow .2s ease;
    position:relative;
}
.chat-fab:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(59,108,246,.6)}
.chat-fab-open,.chat-fab-close{display:flex;align-items:center;justify-content:center}

/* Бейдж */
.chat-fab-badge{
    position:absolute;top:-3px;right:-3px;
    width:18px;height:18px;border-radius:50%;
    background:#f87171;color:#fff;
    font-size:.625rem;font-weight:800;
    display:flex;align-items:center;justify-content:center;
    border:2px solid #161820;
}
.chat-badge-pulse{animation:badgePulse 1s ease-in-out 3}
@keyframes badgePulse{
    0%,100%{transform:scale(1)}50%{transform:scale(1.3)}
}

/* Окно чата */
.chat-window{
    position:absolute;bottom:64px;right:0;
    width:320px;
    background:#1e2130;border:1px solid rgba(255,255,255,.1);
    border-radius:1.125rem;
    box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.04);
    display:flex;flex-direction:column;overflow:hidden;
    transform-origin:bottom right;
}
.chat-window.chat-open{animation:chatPop .25s cubic-bezier(.22,1,.36,1)}
@keyframes chatPop{from{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}

@media(max-width:400px){
    .chat-window{width:calc(100vw - 1.5rem);right:-.75rem}
}

/* Шапка */
.chat-header{
    display:flex;align-items:center;gap:.75rem;
    padding:.875rem 1rem;
    background:linear-gradient(135deg,var(--brand-700),var(--dark-500));
    border-bottom:1px solid rgba(255,255,255,.07);
}
.chat-header-avatar{
    width:36px;height:36px;border-radius:50%;
    background:rgba(255,255,255,.15);
    display:flex;align-items:center;justify-content:center;
    color:#fff;flex-shrink:0;position:relative;
}
.chat-header-online{
    position:absolute;bottom:1px;right:1px;
    width:9px;height:9px;border-radius:50%;
    background:#4ade80;border:2px solid var(--brand-700);
}
.chat-header-info{flex:1;min-width:0}
.chat-header-name{font-size:.8125rem;font-weight:700;color:#fff}
.chat-header-status{font-size:.6875rem;color:rgba(255,255,255,.5);margin-top:.1rem}
.chat-close-btn{
    width:28px;height:28px;border-radius:50%;
    background:rgba(255,255,255,.1);border:none;cursor:pointer;
    color:rgba(255,255,255,.6);
    display:flex;align-items:center;justify-content:center;
    transition:all .15s;flex-shrink:0;
}
.chat-close-btn:hover{background:rgba(255,255,255,.2);color:#fff}

/* Сообщения */
.chat-messages{
    flex:1;overflow-y:auto;padding:.875rem;
    display:flex;flex-direction:column;gap:.625rem;
    max-height:320px;min-height:180px;
    scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent;
}
.chat-messages::-webkit-scrollbar{width:4px}
.chat-messages::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:2px}

.chat-msg{
    max-width:85%;font-size:.8125rem;line-height:1.55;
    border-radius:.875rem;padding:.5rem .75rem;
    display:flex;flex-direction:column;gap:.25rem;
    animation:msgIn .25s ease;
}
@keyframes msgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.chat-msg-bot{
    align-self:flex-start;
    background:rgba(255,255,255,.07);color:rgba(255,255,255,.88);
    border-bottom-left-radius:.25rem;
}
.chat-msg-user{
    align-self:flex-end;
    background:linear-gradient(135deg,var(--brand-600),var(--brand-700));
    color:#fff;border-bottom-right-radius:.25rem;
}

/* Спец-форматирование */
.chat-tip{
    display:block;font-size:.75rem;padding:.2rem 0;
}
.chat-tip-green{color:#4ade80}
.chat-tip-red{color:#f87171}
.chat-msg-bot strong{color:#fff;font-size:.8rem}

/* Typing dots */
.chat-typing{
    display:flex!important;flex-direction:row!important;
    gap:5px;padding:.625rem .875rem;align-items:center;
}
.chat-typing span{
    width:7px;height:7px;border-radius:50%;
    background:rgba(255,255,255,.4);
    animation:typingDot 1.2s ease-in-out infinite;
}
.chat-typing span:nth-child(2){animation-delay:.2s}
.chat-typing span:nth-child(3){animation-delay:.4s}
@keyframes typingDot{
    0%,80%,100%{transform:scale(1);opacity:.4}
    40%{transform:scale(1.3);opacity:1}
}

/* Быстрые кнопки */
.chat-quick-btns{
    display:flex;flex-wrap:wrap;gap:.375rem;
    padding:.625rem .875rem;
    border-top:1px solid rgba(255,255,255,.06);
    animation:fadeIn .3s ease;
}
.chat-quick-btn{
    font-size:.6875rem;font-weight:600;
    padding:.375rem .75rem;border-radius:100px;
    background:rgba(59,108,246,.15);color:var(--brand-300);
    border:1px solid rgba(59,108,246,.3);cursor:pointer;
    transition:all .15s;white-space:nowrap;
}
.chat-quick-btn:hover{background:rgba(59,108,246,.3);border-color:rgba(59,108,246,.5);color:#fff}

/* Ввод */
.chat-input-row{
    padding:.625rem .75rem;
    border-top:1px solid rgba(255,255,255,.07);
}
.chat-input-wrap{display:flex;align-items:center;gap:.375rem}
.chat-text-input,.chat-phone-input{
    flex:1;background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.1);border-radius:.625rem;
    padding:.5rem .75rem;font-size:.8125rem;color:#fff;
    transition:border-color .15s;
}
.chat-text-input::placeholder,.chat-phone-input::placeholder{color:rgba(255,255,255,.3)}
.chat-text-input:focus,.chat-phone-input:focus{
    border-color:var(--brand-400);outline:none;
}
.chat-phone-input{width:100%;margin-bottom:.5rem;border-radius:.625rem}
.chat-send-btn{
    width:32px;height:32px;border-radius:50%;flex-shrink:0;
    background:var(--brand-600);color:#fff;border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:all .15s;
}
.chat-send-btn:hover{background:var(--brand-500);transform:scale(1.08)}

/* ===== GEO GRID (главная) ===== */
.geo-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
    gap:.75rem;
}
.geo-card{
    display:flex;flex-direction:column;gap:.25rem;
    padding:1rem 1.125rem;
    background:#1e2130;border:1.5px solid rgba(255,255,255,.08);
    border-radius:var(--radius);text-decoration:none;
    transition:all .2s ease;position:relative;overflow:hidden;
}
.geo-card::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(135deg,rgba(59,108,246,.06),transparent);
    opacity:0;transition:opacity .2s;
}
.geo-card:hover{border-color:rgba(255,255,255,.2);transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.3)}
.geo-card:hover::before{opacity:1}
.geo-card-name{font-size:1rem;font-weight:800;color:#fff;letter-spacing:-.02em}
.geo-card-full{font-size:.6875rem;color:rgba(255,255,255,.4);margin-top:.1rem}
.geo-card-time{
    font-size:.6875rem;font-weight:600;color:var(--accent-400);
    margin-top:.5rem;display:flex;align-items:center;gap:.3rem;
}
.geo-card-time::before{content:'⏱';font-size:.6rem}
.geo-card-fast{border-color:rgba(34,197,94,.2);background:rgba(34,197,94,.04)}
.geo-card-fast .geo-card-name{color:var(--accent-400)}
.geo-card-region{border-color:rgba(105,83,218,.15)}
.geo-card-region .geo-card-time{color:var(--violet-light)}
@media(max-width:480px){.geo-grid{grid-template-columns:1fr 1fr}}
