/* ================================================================
   Иванов И.И. — Премиум-лендинг
   Светлая тема с глубиной: тени, анимации, parallax, микроэффекты
   ================================================================ */

/* ---------- FONTS ---------- */
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Inter:opsz,wght@14..32,300;14..32,400;14..32,500;14..32,600;14..32,700&display=swap');

/* ---------- CUSTOM PROPERTIES ---------- */
:root {
    /* Palette */
    --bg:          #f9f7f4;
    --bg-alt:      #f3f0ec;
    --white:       #ffffff;
    --card:        #ffffff;
    --primary:     #1a2744;
    --primary-lt:  #2a3f6a;
    --accent:      #b8944c;
    --accent-lt:   #d4b56c;
    --accent-dk:   #8b6d2f;
    --medical:     #2d5f7c;
    --medical-lt:  #e8f0f6;
    --text:        #1a1a2e;
    --text-alt:    #4a4a5e;
    --text-light:  #787890;
    --border:      #e5e2dc;
    --border-lt:   #f0ede8;
    --success:     #2d8a5e;
    --warning:     #d4a43c;
    --danger:      #c0392b;

    /* Effects */
    --shadow-sm:   0 1px 3px rgba(26,39,68,0.06);
    --shadow-md:   0 4px 20px rgba(26,39,68,0.08);
    --shadow-lg:   0 12px 40px rgba(26,39,68,0.10);
    --shadow-xl:   0 24px 60px rgba(26,39,68,0.12);
    --shadow-gold: 0 8px 32px rgba(184,148,76,0.20);
    --radius-sm:   8px;
    --radius:      16px;
    --radius-lg:   24px;
    --radius-xl:   32px;
    --transition:  0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);

    /* Typography */
    --font-heading: 'Playfair Display', Georgia, serif;
    --font-body:    'Inter', -apple-system, sans-serif;

    /* Layout */
    --max-width: 1200px;
    --nav-height: 80px;
}

/* ---------- RESET & BASE ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height)}
body{
    font-family:var(--font-body);
    font-size:16px;line-height:1.7;
    color:var(--text);
    background:var(--bg);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{max-width:100%;display:block}
button,input,select,textarea{font-family:inherit;font-size:inherit}

/* ---------- NOISE TEXTURE OVERLAY ---------- */
body::before{
    content:'';
    position:fixed;inset:0;z-index:9999;
    pointer-events:none;
    opacity:0.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='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
}

/* ---------- UTILITY ---------- */
.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}
.section{padding:100px 0}
.section-label{
    display:inline-block;
    font-size:0.8rem;font-weight:700;letter-spacing:0.15em;
    text-transform:uppercase;color:var(--accent);
    margin-bottom:12px;
}
.section-title{
    font-family:var(--font-heading);
    font-size:clamp(2rem,4vw,2.8rem);
    font-weight:700;color:var(--primary);
    line-height:1.25;margin-bottom:16px;
    position:relative;
}
.section-title .accent{color:var(--accent)}
.section-title::after{
    content:'';
    display:block;width:60px;height:3px;
    background:linear-gradient(90deg,var(--accent),var(--accent-lt));
    margin-top:16px;border-radius:2px;
}
.section-title.centered{text-align:center}
.section-title.centered::after{margin:16px auto 0}
.section-desc{
    color:var(--text-alt);font-size:1.1rem;line-height:1.7;
    max-width:680px;
}
.section-desc.centered{text-align:center;margin:0 auto 50px}

/* ---------- GOLD ACCENT LINE ---------- */
.accent-line{
    width:80px;height:2px;
    background:linear-gradient(90deg,transparent,var(--accent),transparent);
    margin:20px auto;border-radius:1px;
}

/* ---------- BUTTONS ---------- */
.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:14px 32px;border-radius:50px;font-weight:600;font-size:0.95rem;
    letter-spacing:0.01em;
    cursor:pointer;transition:var(--transition);
    border:none;position:relative;overflow:hidden;
}
.btn::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,0.15) 50%,transparent 60%);
    transform:translateX(-100%);transition:0.6s;
}
.btn:hover::after{transform:translateX(100%)}
.btn-primary{
    background:linear-gradient(135deg,var(--primary),var(--primary-lt));
    color:#fff;box-shadow:0 4px 16px rgba(26,39,68,0.3);
}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(26,39,68,0.4)}
.btn-accent{
    background:linear-gradient(135deg,var(--accent),var(--accent-lt));
    color:#fff;box-shadow:var(--shadow-gold);
}
.btn-accent:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(184,148,76,0.35)}
.btn-outline{
    background:transparent;color:var(--primary);
    border:2px solid var(--primary);
}
.btn-outline:hover{background:var(--primary);color:#fff;transform:translateY(-3px)}
.btn-large{padding:18px 44px;font-size:1.05rem}
.btn i{font-size:0.9em}

/* ---------- HEADER ---------- */
.header{
    position:fixed;top:0;left:0;right:0;z-index:1000;
    background:rgba(255,255,255,0.85);
    backdrop-filter:blur(20px) saturate(180%);
    -webkit-backdrop-filter:blur(20px) saturate(180%);
    border-bottom:1px solid var(--border-lt);
    transition:var(--transition);
    height:var(--nav-height);
}
.header.scrolled{box-shadow:var(--shadow-md)}
.header .container{
    display:flex;justify-content:space-between;align-items:center;
    height:100%;
}
.logo{
    display:flex;align-items:center;gap:10px;
    font-family:'Caveat', cursive;
    font-weight:600;font-size:1.7rem;color:var(--primary);
}
.logo-icon{
    width:40px;height:40px;
    background:linear-gradient(135deg,var(--primary),var(--primary-lt));
    border-radius:12px;display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:1.1rem;
    animation:logoPulse 3s ease-in-out infinite;
}
@keyframes logoPulse{
    0%,100%{box-shadow:0 0 0 0 rgba(26,39,68,0.4)}
    50%{box-shadow:0 0 0 8px rgba(26,39,68,0)}
}
.nav{display:flex;gap:36px;font-weight:500;font-size:0.95rem}
.nav a{color:var(--text-alt);transition:color 0.2s;position:relative}
.nav a::after{
    content:'';position:absolute;bottom:-6px;left:0;width:0;height:2px;
    background:var(--accent);border-radius:1px;transition:width 0.3s ease;
}
.nav a:hover{color:var(--primary)}
.nav a:hover::after{width:100%}
.header .btn-primary{padding:12px 28px;font-size:0.9rem}
.header-actions{display:flex;align-items:center;gap:12px}

/* Accessibility toggle */
.a11y-toggle{
    width:40px;height:40px;border-radius:10px;
    border:1px solid var(--border);background:var(--white);
    color:var(--text-alt);cursor:pointer;font-size:1rem;
    display:flex;align-items:center;justify-content:center;
    transition:var(--transition);
}
.a11y-toggle:hover{background:var(--primary);color:#fff;border-color:var(--primary)}

/* Phone link in nav (visible on mobile) */
.nav-phone{display:none!important}
.nav-phone i{margin-right:4px}

/* Burger */
.burger{
    display:none;flex-direction:column;gap:5px;cursor:pointer;
    z-index:1001;padding:4px;
}
.burger span{
    display:block;width:26px;height:2px;background:var(--primary);
    border-radius:2px;transition:var(--transition);
}
.burger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* Mobile nav */
.mobile-nav{
    display:none;position:fixed;inset:0;z-index:999;
    background:rgba(255,255,255,0.98);
    backdrop-filter:blur(20px);
    flex-direction:column;align-items:center;justify-content:center;gap:32px;
}
.mobile-nav.active{display:flex}
.mobile-nav a{font-size:1.3rem;font-weight:500;color:var(--primary)}
.mobile-nav .btn{padding:14px 40px;color:#fff !important;margin-top:16px}

/* ---------- HERO ---------- */
.hero{
    padding:160px 0 100px;
    background:linear-gradient(170deg, #f8f5f0 0%, #f0ece6 40%, #eae4da 100%);
    position:relative;overflow:hidden;
}
.hero::before{
    content:'';position:absolute;top:-200px;right:-200px;
    width:600px;height:600px;
    background:radial-gradient(circle,rgba(184,148,76,0.08) 0%,transparent 70%);
    border-radius:50%;pointer-events:none;
}
.hero::after{
    content:'';position:absolute;bottom:-100px;left:-150px;
    width:400px;height:400px;
    background:radial-gradient(circle,rgba(26,39,68,0.04) 0%,transparent 70%);
    border-radius:50%;pointer-events:none;
}
.hero .container{
    display:flex;align-items:center;gap:60px;
    position:relative;z-index:1;
}
.hero-content{flex:1;min-width:300px}
.hero-badge{
    display:inline-flex;align-items:center;gap:8px;
    background:rgba(184,148,76,0.1);
    color:var(--accent-dk);padding:8px 20px;
    border-radius:50px;font-weight:700;font-size:0.9rem;
    letter-spacing:0.03em;margin-bottom:24px;
    border:1px solid rgba(184,148,76,0.2);
}
.hero-badge i{font-size:0.85rem}
.hero h1{
    font-family:var(--font-heading);
    font-size:clamp(2.4rem,5vw,3.6rem);font-weight:700;
    line-height:1.15;color:var(--primary);margin-bottom:20px;
}
.hero h1 .name{display:block;font-size:0.55em;font-weight:400;color:var(--accent);letter-spacing:0.05em;margin-top:6px;font-family:var(--font-body)}
.hero p{
    font-size:1.15rem;color:var(--text-alt);max-width:520px;
    margin-bottom:32px;line-height:1.7;
}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.hero-image{flex:1;min-width:300px;display:flex;justify-content:center}
.hero-image-wrapper{
    position:relative;width:380px;height:460px;
    border-radius:var(--radius-lg);overflow:hidden;
    box-shadow:var(--shadow-xl);
    background:var(--primary);
}
.hero-image-wrapper img{
    width:100%;height:100%;object-fit:cover;
}
.hero-image-wrapper::after{
    content:'';position:absolute;bottom:0;left:0;right:0;
    height:80px;
    background:linear-gradient(transparent,var(--primary));
}
.hero-image-badge{
    position:absolute;bottom:20px;left:20px;right:20px;z-index:1;
    color:#fff;font-weight:600;font-size:0.95rem;
}
.hero-image-badge span{display:block;font-size:0.8rem;opacity:0.7;font-weight:400}

/* ---------- ABOUT ---------- */
.about{background:var(--white)}
.about .container{display:flex;gap:64px;align-items:center}
.about-image{flex:0 0 400px}
.about-image-inner{
    position:relative;
    border-radius:var(--radius-lg);overflow:hidden;
    box-shadow:var(--shadow-lg);
}
.about-image-inner::before{
    content:'';position:absolute;inset:-4px;z-index:-1;
    background:linear-gradient(135deg,var(--accent),var(--primary));
    border-radius:calc(var(--radius-lg) + 4px);
    opacity:0.3;
}
.about-image-inner img{width:100%;aspect-ratio:3/4;object-fit:cover}
.about-text{flex:1;min-width:300px}
.about-text .section-title{margin-bottom:8px}
.about-text .subtitle{color:var(--accent-dk);font-weight:600;font-size:1rem;margin-bottom:20px}
.about-text p{color:var(--text-alt);margin-bottom:16px;line-height:1.8}
.about-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:32px}
.stat-item{
    background:var(--bg);padding:20px;border-radius:var(--radius);
    text-align:center;transition:var(--transition);
    border:1px solid var(--border-lt);
}
.stat-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--accent-lt)}
.stat-number{
    font-family:var(--font-heading);font-size:2.4rem;font-weight:700;
    color:var(--primary);line-height:1;
}
.stat-suffix{color:var(--accent);font-size:1.2rem;font-weight:600}
.stat-label{color:var(--text-light);font-size:0.85rem;margin-top:6px}

/* ---------- SERVICES ---------- */
.services{background:var(--bg)}
.services-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
    gap:24px;
}
.service-card{
    background:var(--card);padding:36px 28px;
    border-radius:var(--radius);border:1px solid var(--border-lt);
    transition:var(--transition);
    position:relative;overflow:hidden;
    cursor:default;
}
.service-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:3px;
    background:linear-gradient(90deg,var(--accent),var(--primary));
    transform:scaleX(0);transform-origin:left;transition:transform 0.5s ease;
}
.service-card:hover::before{transform:scaleX(1)}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:transparent}
.service-card .icon{
    width:52px;height:52px;border-radius:14px;
    background:var(--medical-lt);
    display:flex;align-items:center;justify-content:center;
    color:var(--medical);font-size:1.3rem;margin-bottom:20px;
    transition:var(--transition);
}
.service-card:hover .icon{background:var(--primary);color:#fff}
.service-card h3{font-family:var(--font-heading);font-size:1.15rem;font-weight:600;margin-bottom:10px;color:var(--primary)}
.service-card p{color:var(--text-alt);font-size:0.95rem;line-height:1.7}

/* ---------- PRICES ---------- */
.prices{background:var(--white)}
.prices-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:24px;
}
.price-card{
    background:var(--bg);padding:36px 28px;
    border-radius:var(--radius);border:1px solid var(--border-lt);
    text-align:center;transition:var(--transition);
    position:relative;overflow:hidden;
}
.price-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--accent-lt)}
.price-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:4px;
    background:linear-gradient(90deg,var(--accent),var(--primary));
}
.price-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--primary);margin:16px 0 8px}
.price-value{font-size:2.2rem;font-weight:700;color:var(--accent);font-family:var(--font-heading);line-height:1}
.price-note{color:var(--text-light);font-size:0.85rem;margin-top:8px;line-height:1.5}

/* ---------- BENEFITS ---------- */
.benefits{background:var(--white)}
.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}
.benefit-item{text-align:center;padding:32px 20px;transition:var(--transition)}
.benefit-item:hover{transform:translateY(-4px)}
.benefit-item .icon-wrap{
    width:80px;height:80px;margin:0 auto 20px;
    border-radius:50%;display:flex;align-items:center;justify-content:center;
    font-size:1.8rem;color:var(--accent);
    background:linear-gradient(135deg,rgba(184,148,76,0.1),rgba(184,148,76,0.05));
    position:relative;
}
.benefit-item .icon-wrap::after{
    content:'';position:absolute;
    inset:-6px;border-radius:50%;
    border:1px solid rgba(184,148,76,0.2);
}
.benefit-item h4{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;margin-bottom:8px;color:var(--primary)}
.benefit-item p{color:var(--text-light);font-size:0.9rem}

/* ---------- SYMPTOMS ---------- */
.symptoms{background:var(--bg)}
.symptoms-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
    gap:16px;
}
.symptom-item{
    background:var(--card);padding:18px 22px;
    border-radius:var(--radius-sm);
    display:flex;align-items:center;gap:14px;
    border:1px solid var(--border-lt);
    transition:var(--transition);cursor:default;
}
.symptom-item:hover{
    transform:translateY(-3px);box-shadow:var(--shadow-md);
    border-color:var(--accent-lt);
}
.symptom-item .icon{
    width:40px;height:40px;min-width:40px;border-radius:10px;
    background:var(--medical-lt);display:flex;align-items:center;
    justify-content:center;color:var(--medical);font-size:1rem;
}
.symptom-item span{color:var(--text);font-size:0.95rem;font-weight:500}

/* ---------- PROCESS ---------- */
.process{background:var(--white)}
.process-steps{
    display:grid;grid-template-columns:repeat(4,1fr);gap:30px;
    position:relative;
}
.process-steps::before{
    content:'';position:absolute;top:40px;left:calc(12.5% + 20px);right:calc(12.5% + 20px);
    height:2px;background:linear-gradient(90deg,var(--accent),var(--primary),var(--accent));
    z-index:0;
}
.process-step{
    text-align:center;position:relative;z-index:1;
    padding:0 10px;
}
.process-step .step-number{
    width:80px;height:80px;margin:0 auto 24px;
    border-radius:50%;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--primary),var(--primary-lt));
    color:#fff;font-family:var(--font-heading);font-size:1.8rem;font-weight:700;
    box-shadow:var(--shadow-md);position:relative;
}
.process-step .step-number::after{
    content:'';position:absolute;inset:-6px;border-radius:50%;
    border:2px solid rgba(184,148,76,0.3);
}
.process-step h4{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;margin-bottom:8px;color:var(--primary)}
.process-step p{color:var(--text-light);font-size:0.9rem;line-height:1.6}

/* ---------- QUOTE / PARALLAX ---------- */
.quote-section{
    padding:120px 0;text-align:center;
    background:linear-gradient(135deg,var(--primary) 0%,#0f1a30 100%);
    color:#fff;position:relative;overflow:hidden;
}
.quote-section::before{
    content:'';position:absolute;inset:0;
    background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    opacity:0.4;
}
.quote-inner{position:relative;z-index:1;max-width:800px;margin:0 auto;padding:0 24px}
.quote-mark{font-size:5rem;line-height:1;color:var(--accent);opacity:0.6;margin-bottom:16px;font-family:var(--font-heading)}
.quote-text{
    font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2rem);
    font-weight:500;font-style:italic;line-height:1.5;
    margin-bottom:24px;
}
.quote-author{font-weight:500;color:var(--accent-lt);letter-spacing:0.05em}

/* ---------- FAQ ---------- */
.faq{background:var(--bg)}
.faq-list{max-width:800px;margin:0 auto}
.faq-item{
    background:var(--card);border-radius:var(--radius);
    margin-bottom:12px;border:1px solid var(--border-lt);
    overflow:hidden;transition:var(--transition);
}
.faq-item:hover{border-color:var(--accent-lt)}
.faq-question{
    padding:22px 28px;display:flex;justify-content:space-between;
    align-items:center;cursor:pointer;font-weight:600;
    color:var(--primary);font-size:1rem;
    user-select:none;
}
.faq-question i{transition:transform 0.3s ease;color:var(--accent)}
.faq-item.active .faq-question i{transform:rotate(180deg)}
.faq-answer{
    max-height:0;overflow:hidden;transition:max-height 0.45s ease,padding 0.45s ease;
    padding:0 28px;color:var(--text-alt);line-height:1.8;font-size:0.95rem;
}
.faq-item.active .faq-answer{max-height:500px;padding:0 28px 22px}

/* ---------- CONTACTS ---------- */
.contact{background:var(--white)}
.contact .container{display:flex;gap:50px}
.contact-info{flex:1;min-width:300px}
.contact-info .section-title{margin-bottom:16px}
.contact-detail{
    display:flex;align-items:flex-start;gap:16px;
    margin-bottom:24px;padding:16px;
    border-radius:var(--radius-sm);
    transition:var(--transition);border:1px solid transparent;
}
.contact-detail:hover{background:var(--bg);border-color:var(--border-lt)}
.contact-detail i{
    width:44px;height:44px;min-width:44px;border-radius:12px;
    background:var(--medical-lt);display:flex;align-items:center;
    justify-content:center;color:var(--medical);font-size:1rem;
}
.contact-detail strong{display:block;color:var(--primary);font-weight:600;margin-bottom:2px}
.contact-detail span{color:var(--text-alt)}
.contact-form-wrap{flex:1.2;min-width:320px}
.contact-form{
    background:var(--bg);padding:40px 32px;
    border-radius:var(--radius-lg);border:1px solid var(--border-lt);
}
.contact-form h3{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;margin-bottom:6px;color:var(--primary)}
.contact-form .sub{color:var(--text-light);margin-bottom:28px;font-size:0.95rem}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-weight:500;margin-bottom:6px;color:var(--text);font-size:0.9rem}
.form-group input,.form-group textarea,.form-group select{
    width:100%;padding:14px 16px;border:1px solid var(--border);
    border-radius:var(--radius-sm);font-size:0.95rem;
    background:var(--white);color:var(--text);
    transition:var(--transition);
}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{
    outline:none;border-color:var(--accent);
    box-shadow:0 0 0 3px rgba(184,148,76,0.12);
}
.form-group textarea{resize:vertical;min-height:100px}
.form-row{display:flex;gap:16px}
.form-row .form-group{flex:1;min-width:140px}
.contact-form .btn{width:100%;margin-top:4px}

/* Success/error messages */
.form-message{
    padding:14px 18px;border-radius:var(--radius-sm);
    margin-bottom:20px;font-weight:500;font-size:0.9rem;
    display:none;
}
.form-message.success{display:block;background:#e8f5e9;color:#2d6a3f;border:1px solid #c8e6c9}
.form-message.error{display:block;background:#fdecea;color:#b71c1c;border:1px solid #f5c6cb}

/* Form field error */
.form-group.error input,
.form-group.error textarea{border-color:var(--danger)!important}

/* ---------- MAP ---------- */
.contact-map{margin-top:30px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-lt)}
.contact-map iframe{display:block;width:100%;height:300px;border:0}

/* ---------- FOOTER ---------- */
.footer{
    background:var(--primary);color:rgba(255,255,255,0.7);
    padding:60px 0 0;
}
.footer-grid{
    display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;
    margin-bottom:40px;
}
.footer-brand .logo{color:#fff;margin-bottom:14px;font-size:1.3rem}
.footer-brand p{line-height:1.7;font-size:0.95rem;max-width:320px}
.footer-col h4{color:#fff;font-weight:600;margin-bottom:20px;font-size:1rem;letter-spacing:0.02em}
.footer-col ul li{margin-bottom:12px}
.footer-col ul li a{color:rgba(255,255,255,0.6);transition:color 0.2s;font-size:0.95rem}
.footer-col ul li a:hover{color:var(--accent-lt)}
.footer-bottom{
    border-top:1px solid rgba(255,255,255,0.08);
    padding:24px 0;display:flex;justify-content:space-between;
    align-items:center;flex-wrap:wrap;gap:12px;
    font-size:0.85rem;
}
.footer-credit a{color:var(--accent-lt);transition:color 0.2s}
.footer-credit a:hover{color:#fff}

/* ---------- SCROLL REVEAL ANIMATIONS ---------- */
.reveal{opacity:0;transform:translateY(30px);transition:opacity 0.8s ease,transform 0.8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:0.1s}
.reveal-delay-2{transition-delay:0.2s}
.reveal-delay-3{transition-delay:0.3s}
.reveal-delay-4{transition-delay:0.4s}

/* Fade-in from left/right */
.reveal-left{opacity:0;transform:translateX(-30px);transition:opacity 0.8s ease,transform 0.8s ease}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(30px);transition:opacity 0.8s ease,transform 0.8s ease}
.reveal-right.visible{opacity:1;transform:translateX(0)}

/* ---------- PARALLAX ---------- */
.parallax-slow{will-change:transform}

/* ---------- COUNTER ANIMATION ---------- */
.counter{display:inline-block}

/* ---------- BACK TO TOP ---------- */
.back-to-top{
    position:fixed;bottom:30px;right:30px;z-index:100;
    width:48px;height:48px;border-radius:50%;
    background:var(--primary);color:#fff;
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;border:none;font-size:1.1rem;
    box-shadow:var(--shadow-md);
    opacity:0;visibility:hidden;transform:translateY(10px);
    transition:var(--transition);
}
.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover{background:var(--accent);transform:translateY(-4px)}

/* ---------- ACCESSIBILITY MODE ---------- */
.a11y-mode{
    --bg:#fff !important;
    --text:#000 !important;
    --text-alt:#222 !important;
    --text-light:#444 !important;
    --primary:#000 !important;
    --medical:#000 !important;
    --accent:#000 !important;
    --accent-dk:#000 !important;
    --accent-lt:#000 !important;
    --border:#000 !important;
    --border-lt:#000 !important;
    filter:grayscale(0.3);
    font-size:18px;
}
.a11y-mode .btn{font-weight:700}
.a11y-mode .hero::before,
.a11y-mode .hero::after,
.a11y-mode body::before{display:none}
.a11y-mode *{animation:none!important;transition:none!important}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1024px){
    .process-steps{grid-template-columns:repeat(2,1fr);gap:40px 20px}
    .process-steps::before{display:none}
    .about .container{flex-direction:column}
    .about-image{flex:0 0 auto;max-width:350px}
    .footer-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:768px){
    .nav,.header .btn{display:none}
    .header-actions{gap:8px}
    .nav-phone{display:flex!important;align-items:center}
    .burger{display:flex}
    .hero .container{flex-direction:column-reverse;gap:40px;text-align:center}
    .hero-image{display:none}
    .hero p{margin:0 auto 32px}
    .hero-actions{justify-content:center}
    .hero-image-wrapper{width:280px;height:340px}
    .section-title.centered::after,.section-title::after{margin-left:auto;margin-right:auto}
    .section-desc.centered,.section-desc{text-align:center;margin-left:auto;margin-right:auto}
    .about .container{flex-direction:column}
    .about-image{max-width:300px;margin:0 auto}
    .about-stats{grid-template-columns:1fr 1fr}
    .services-grid{grid-template-columns:1fr}
    .symptoms-grid{grid-template-columns:1fr}
    .benefits-grid{grid-template-columns:1fr 1fr}
    .process-steps{grid-template-columns:1fr;gap:24px}
    .contact .container{flex-direction:column}
    .form-row{flex-direction:column}
    .footer-grid{grid-template-columns:1fr;gap:30px}
    .footer-bottom{flex-direction:column;text-align:center}
    .quote-section{padding:80px 0}
}

@media(max-width:480px){
    .hero-image-wrapper{width:240px;height:300px}
    .about-stats{grid-template-columns:1fr}
    .benefits-grid{grid-template-columns:1fr}
    .hero-actions{flex-direction:column;width:100%}
    .hero-actions .btn{width:100%;justify-content:center}
    .contact-form{padding:28px 20px}
}
