/* RAVI'S DENTAL CARE v2.0 */
:root{--blue:#1B6FD8;--blue-dark:#1458B0;--blue-light:#EBF3FD;--blue-mid:#D0E7FA;--navy:#0A1628;--navy-2:#0F2040;--teal:#0EA5A0;--gold:#E8A020;--white:#FFFFFF;--off-white:#F7F9FC;--gray-50:#F0F4F8;--gray-100:#E2E8F0;--gray-200:#CBD5E1;--gray-400:#94A3B8;--gray-600:#64748B;--body:#475569;--heading:#0A1628;--font:'DM Sans',system-ui,sans-serif;--font-display:'Fraunces',Georgia,serif;--shadow-xs:0 1px 3px rgba(10,22,40,.06);--shadow-sm:0 2px 8px rgba(10,22,40,.08);--shadow-md:0 8px 24px rgba(10,22,40,.10);--shadow-lg:0 16px 48px rgba(10,22,40,.12);--shadow-xl:0 24px 64px rgba(10,22,40,.14);--shadow-blue:0 8px 32px rgba(27,111,216,.28);--r-sm:8px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-2xl:36px;--ease:.28s cubic-bezier(.4,0,.2,1);--max-w:1200px;--nav-h:76px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px);-webkit-text-size-adjust:100%}
body{font-family:var(--font);font-size:16px;line-height:1.65;color:var(--body);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-decoration:none;transition:color var(--ease)}
a:hover{color:var(--blue-dark)}
ul,ol{list-style:none}
p{margin-bottom:1em}
p:last-child{margin-bottom:0}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--heading);line-height:1.2;font-weight:600;letter-spacing:-.02em}
h1{font-size:clamp(2.6rem,5vw,4rem)}
h2{font-size:clamp(2rem,3.5vw,3rem)}
h3{font-size:1.2rem;font-weight:600}
button{font-family:var(--font);cursor:pointer}
.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 28px}
.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--blue);color:#fff;padding:10px 20px;border-radius:var(--r-md);z-index:10000;font-weight:600}
.skip-link:focus{top:12px;color:#fff}
.eyebrow{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:999px;background:var(--blue-light);color:var(--blue);font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;font-family:var(--font);margin-bottom:16px}
.eyebrow-dark{background:rgba(255,255,255,.12);color:rgba(255,255,255,.85)}
.eyebrow-teal{background:rgba(14,165,160,.12);color:var(--teal)}
.section-pad{padding:96px 0}
.section-pad-sm{padding:64px 0}
/* ============================================
   CLASS ALIASES — old HTML → new v2 CSS
   ============================================ */

/* Why Choose section */
.why-choose { position:relative; overflow:hidden; background:var(--navy); padding:96px 0; }
.why-choose::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(10,24,38,.95),rgba(15,32,64,.88)); }
.why-choose .container { position:relative; z-index:1; }
.why-choose .eyebrow,.why-choose__content .eyebrow { background:rgba(27,111,216,.2); color:#7ab8f5; }
.why-choose h2,.why-choose__content h2 { color:#fff; margin-bottom:8px; }
.why-choose h2 em { font-style:italic; color:#7ab8f5; font-weight:300; }
.why-choose__content { padding:0; }
.why-choose__grid { display:grid!important; grid-template-columns:repeat(3,1fr)!important; gap:16px; margin-top:48px; }
.why-card { padding:28px 24px; border-radius:var(--r-lg); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); transition:background var(--ease),border-color var(--ease),transform var(--ease); display:flex; flex-direction:column; align-items:flex-start; min-height:176px; }
.why-card:hover { background:rgba(255,255,255,.10); border-color:rgba(27,111,216,.4); transform:translateY(-3px); }
.why-card img { width:48px; height:48px; margin-bottom:16px; object-fit:contain; filter:brightness(10) saturate(0); background:rgba(27,111,216,.2); padding:10px; border-radius:var(--r-md); box-sizing:border-box; }
.why-card h3 { font-family:var(--font); font-size:1rem; font-weight:700; color:#fff; margin-bottom:8px; }
.why-card p { font-size:.88rem; color:rgba(255,255,255,.6); margin:0; line-height:1.65; }
.why-icon-img { display:none; }

/* Section strip */
.section-strip { background:var(--blue); padding:14px 0; overflow:hidden; }
.section-strip p { margin:0; text-align:center; font-size:.8rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.85); }

/* Certificates */
.certificate-panel { padding:40px; border-radius:var(--r-2xl); background:var(--off-white); border:1px solid var(--gray-100); }
.certificate-copy h2 { margin-bottom:16px; }
.certificate-points { display:grid; gap:10px; margin-top:16px; }
.certificate-points li { display:flex; align-items:flex-start; gap:12px; font-size:.9rem; color:var(--body); line-height:1.6; }
.certificate-points li::before { content:'✓'; width:22px; height:22px; border-radius:50%; background:var(--blue); color:#fff; display:flex; align-items:center; justify-content:center; font-size:.7rem; font-weight:700; flex-shrink:0; margin-top:1px; }
.certificate-grid { display:grid!important; grid-template-columns:repeat(4,1fr)!important; gap:14px; margin-top:24px; }
.certificate-card { border-radius:var(--r-lg); overflow:hidden; background:var(--white); box-shadow:var(--shadow-sm); border:1px solid var(--gray-100); padding:10px; transition:transform var(--ease),box-shadow var(--ease); }
.certificate-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.certificate-card img { width:100%; object-fit:contain; display:block; border-radius:8px; }

/* Difference section */
.difference { padding:96px 0; background:var(--navy); position:relative; overflow:hidden; }
.difference::before { content:''; position:absolute; top:-200px; right:-200px; width:600px; height:600px; border-radius:50%; background:radial-gradient(circle,rgba(27,111,216,.15) 0%,transparent 70%); pointer-events:none; }
.difference .eyebrow { background:rgba(27,111,216,.2); color:#7ab8f5; }
.difference h2 { color:#fff; margin-bottom:8px; }
.difference h2 span { font-style:italic; color:#7ab8f5; font-weight:300; font-family:var(--font-display); }
.split-section { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; margin-top:48px; }
.split-copy p,.difference-list li { font-size:.9rem; color:rgba(255,255,255,.75); line-height:1.65; }
.difference-list { display:grid; gap:12px; margin-top:16px; }
.difference-list li { display:flex; align-items:flex-start; gap:12px; padding:14px 18px; border-radius:var(--r-md); background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); }
.difference-list li::before { content:counter(item); counter-increment:item; width:28px; height:28px; border-radius:50%; flex-shrink:0; background:var(--blue); color:#fff; display:flex; align-items:center; justify-content:center; font-size:.75rem; font-weight:700; font-family:var(--font); }
.difference-list { counter-reset:item; }
.split-visual { border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--shadow-xl); border:2px solid rgba(255,255,255,.08); }
.split-visual img,.rounded-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.rounded-photo { border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--shadow-xl); }

/* Specialties — map old class names */
.specialty-card--info { background:linear-gradient(160deg,var(--navy-2) 0%,#0d2a50 100%); color:#fff; padding:32px 28px; display:flex; flex-direction:column; justify-content:center; border:none; }
.specialty-card--info .eyebrow,.specialty-card--info .eyebrow-light { background:rgba(255,255,255,.1); color:rgba(255,255,255,.7); }
.specialty-card--info h3 { font-family:var(--font-display); font-size:1.7rem; font-weight:500; color:#fff; margin-bottom:12px; line-height:1.2; }
.specialty-card--info p { color:rgba(255,255,255,.65); font-size:.92rem; }
.specialty-card--image img { height:100%; min-height:280px; }

/* Clinic intro */
.clinic-intro h2 span,.team-showcase h2 span,.home-faq h2 span,.home-testimonials h2 span { font-style:italic; color:var(--blue); font-weight:300; font-family:var(--font-display); }

/* Team */
.team-feature { display:grid; grid-template-columns:1fr 380px; gap:56px; align-items:center; margin-bottom:48px; }

/* Emergency panel map */
.emergency-banner { padding:96px 0; background:var(--off-white); }
.emergency-panel { position:relative; overflow:hidden; padding:64px 56px; border-radius:var(--r-2xl); background:linear-gradient(135deg,var(--navy) 0%,#0d2a50 60%,#0f3264 100%); box-shadow:var(--shadow-xl); }
.emergency-panel::before { content:''; position:absolute; top:-100px; right:-100px; width:400px; height:400px; border-radius:50%; background:radial-gradient(circle,rgba(27,111,216,.25) 0%,transparent 70%); pointer-events:none; }
.emergency-panel .eyebrow,.emergency-panel .eyebrow-invert { background:rgba(255,255,255,.1); color:rgba(255,255,255,.8); }
.emergency-panel h2 { color:#fff; margin-bottom:14px; position:relative; }
.emergency-panel p { color:rgba(255,255,255,.7); font-size:.97rem; max-width:540px; margin-bottom:32px; position:relative; line-height:1.75; }

/* Appointment */
.appointment-panel { padding:96px 0 0; background:var(--off-white); }
.appointment-shell { display:grid!important; grid-template-columns:1fr 1fr!important; border-radius:var(--r-2xl); overflow:hidden; box-shadow:var(--shadow-xl); background:var(--white); }
.appointment-form-wrap h2 span { font-style:italic; color:var(--blue); font-weight:300; font-family:var(--font-display); }

/* Stats */
.stats-band .stats-grid { display:grid!important; grid-template-columns:repeat(4,1fr)!important; }
.stat-tile { text-align:center; padding:32px 20px; border-right:1px solid var(--gray-100); transition:background var(--ease); }
.stat-tile:last-child { border-right:none; }
.stat-tile:hover { background:var(--blue-light); }
.stat-tile strong { display:block; font-family:var(--font-display); font-size:3rem; font-weight:500; color:var(--blue); letter-spacing:-.03em; line-height:1; }
.stat-tile span { font-size:.84rem; color:var(--gray-600); font-weight:500; margin-top:8px; display:block; }

/* Intro badge */
.intro-badge-card .seal-mark { width:64px; height:64px; margin:0 auto 16px; border-radius:50%; background:linear-gradient(135deg,var(--blue),#4A9EE8); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:1.6rem; font-weight:600; color:#fff; box-shadow:0 6px 20px rgba(27,111,216,.4); }

/* Footer */
/* ============================================
   FOOTER CTA STRIP — compact & elegant
   ============================================ */
.ft-cta-strip{background:linear-gradient(135deg,#1B6FD8 0%,#1558B0 50%,#1248A0 100%);padding:22px 0 26px;position:relative;overflow:visible;}
.ft-cta-strip::before{content:'';position:absolute;top:-80px;right:-80px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.05);pointer-events:none;}
.ft-cta-strip::after{content:'';position:absolute;bottom:-24px;left:0;right:0;height:24px;background:linear-gradient(180deg,rgba(7,23,41,.6),rgba(7,23,41,0));pointer-events:none;z-index:2;}
.ft-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:1;}
.ft-cta-text h3{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:#fff;margin:0 0 3px;}
.ft-cta-text p{font-size:.82rem;color:rgba(255,255,255,.68);margin:0;max-width:360px;line-height:1.45;}
.ft-cta-buttons{display:flex;gap:10px;flex-shrink:0;align-items:center;}
.ft-cta-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;border-radius:10px;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .25s;border:1.5px solid transparent;}
/* Call = tertiary outline */
.ft-cta-call{background:transparent;color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.25);backdrop-filter:blur(4px);}
.ft-cta-call:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4);color:#fff;transform:translateY(-2px);}
/* WhatsApp = secondary */
.ft-cta-wa{background:#22C55E;color:#fff;box-shadow:0 4px 14px rgba(34,197,94,.25);}
.ft-cta-wa:hover{background:#16A34A;transform:translateY(-2px);box-shadow:0 8px 24px rgba(34,197,94,.35);}
/* Book = primary (strongest) */
.ft-cta-book{background:#fff;color:#1B6FD8;font-weight:700;box-shadow:0 4px 16px rgba(0,0,0,.12);}
.ft-cta-book:hover{background:#F0F7FF;transform:translateY(-2px);box-shadow:0 8px 28px rgba(27,111,216,.2);}

/* ============================================
   MAIN FOOTER — Dark Navy Premium
   ============================================ */
.site-footer{background:linear-gradient(160deg,#071729 0%,#0B2244 40%,#0D2A57 80%,#0F3264 100%)!important;color:rgba(255,255,255,.75)!important;border-top:none;padding:0;position:relative;overflow:hidden;}
.site-footer::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.015) 1px,transparent 0);background-size:32px 32px;pointer-events:none;}
.ft-glow-1{position:absolute;top:-150px;left:-100px;width:450px;height:450px;border-radius:50%;background:radial-gradient(circle,rgba(27,111,216,.1) 0%,transparent 60%);pointer-events:none;}
.ft-glow-2{position:absolute;bottom:-100px;right:-60px;width:350px;height:350px;border-radius:50%;background:radial-gradient(circle,rgba(46,196,182,.06) 0%,transparent 60%);pointer-events:none;}
.ft-container{position:relative;z-index:1;padding-top:96px;}
.ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1.1fr 1.3fr;gap:44px;padding-bottom:48px;align-items:start;}
.ft-col{display:flex;flex-direction:column;}

/* Brand col — premium intro */
.ft-brand-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.35);margin-bottom:14px;}
.ft-logo{display:inline-block;margin-bottom:14px;}
.ft-logo img{height:44px;width:auto;display:block;object-fit:contain;filter:brightness(0) invert(1);}
.ft-desc{font-size:.84rem;color:rgba(255,255,255,.55);line-height:1.72;margin:0 0 18px;max-width:280px;}
.ft-trust-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
.ft-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08);font-size:.7rem;color:rgba(255,255,255,.55);backdrop-filter:blur(4px);transition:border-color .2s;}
.ft-badge:hover{border-color:rgba(255,255,255,.18);}
.ft-badge strong{color:#fff;font-size:.76rem;font-weight:700;}
.ft-badge svg{flex-shrink:0;}
.ft-social{display:flex;gap:10px;}
.ft-social-btn{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);transition:all .28s;text-decoration:none;}
.ft-social-btn:hover{background:rgba(27,111,216,.2);border-color:rgba(27,111,216,.4);color:#7EC8F8;transform:translateY(-2px);box-shadow:0 6px 20px rgba(27,111,216,.15);}

/* Link cols */
.ft-heading{font-family:var(--font-display);font-size:.95rem;font-weight:700;color:#fff;margin:0 0 18px;letter-spacing:-.01em;position:relative;padding-bottom:10px;min-height:1.2em;}
.ft-heading::after{content:'';position:absolute;bottom:0;left:0;width:24px;height:2px;background:linear-gradient(90deg,#1B6FD8,rgba(27,111,216,.2));border-radius:2px;}
.ft-brand .ft-brand-label{margin-bottom:12px;}
.ft-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
.ft-links a{font-size:.84rem;color:rgba(255,255,255,.5);text-decoration:none;transition:color .2s,padding-left .2s;display:inline-flex;align-items:center;gap:0;line-height:1.4;}
.ft-links a::before{content:'';width:0;height:1px;background:#7EC8F8;transition:width .2s;margin-right:0;}
.ft-links a:hover{color:#7EC8F8;padding-left:0;}
.ft-links a:hover::before{width:12px;margin-right:6px;}

/* Contact col */
.ft-contact-card{background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:18px;backdrop-filter:blur(4px);margin-top:-2px;}
.ft-contact-row{display:flex;align-items:flex-start;gap:12px;}
.ft-contact-row p{margin:0;font-size:.82rem;color:rgba(255,255,255,.6);line-height:1.55;}
.ft-contact-row a{font-size:.84rem;color:rgba(255,255,255,.7);text-decoration:none;transition:color .2s;}
.ft-contact-row a:hover{color:#7EC8F8;}
.ft-icon-circle{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s;}
.ft-icon-circle:hover{transform:scale(1.08);}
.ft-icon-circle{background:rgba(27,111,216,.12);color:#7EC8F8;}
.ft-icon-green{background:rgba(46,196,182,.1);color:#2EC4B6;}
.ft-icon-blue{background:rgba(27,111,216,.1);color:#7EC8F8;}
.ft-icon-amber{background:rgba(245,158,11,.1);color:#F59E0B;}
.ft-contact-label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.35);margin-bottom:3px;margin-top:8px;}
.ft-contact-label:first-child{margin-top:0;}
.ft-hours{font-size:.84rem;color:rgba(255,255,255,.7);font-weight:500;}
.ft-directions{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:.8rem;font-weight:600;color:#7EC8F8;text-decoration:none;transition:gap .2s,color .2s;}
.ft-directions:hover{gap:10px;color:#fff;}

/* Trust Stats Row */
.ft-trust-row{display:flex;align-items:center;justify-content:center;gap:36px;padding:22px 0;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);margin-top:4px;}
.ft-trust-item{display:flex;flex-direction:column;align-items:center;text-align:center;}
.ft-trust-item strong{font-size:1.1rem;font-weight:800;color:#fff;letter-spacing:-.02em;}
.ft-trust-item span{font-size:.68rem;color:rgba(255,255,255,.35);margin-top:2px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;}
.ft-trust-sep{width:1px;height:28px;background:rgba(255,255,255,.08);}

/* Bottom Bar — distinct darker strip */
.ft-bottom{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;background:rgba(0,0,0,.2);margin:16px -28px 0;border-top:1px solid rgba(255,255,255,.04);}
.ft-bottom p{margin:0;font-size:.75rem;color:rgba(255,255,255,.3);}
.ft-credit{display:inline-block;}
.ft-credit a{color:rgba(255,255,255,.5);font-weight:600;text-decoration:none;transition:color .2s;}
.ft-credit a:hover{color:#7EC8F8;}
.ft-bottom-links{display:flex;gap:20px;}
.ft-bottom-links a{font-size:.75rem;color:rgba(255,255,255,.3);text-decoration:none;transition:color .2s;}
.ft-bottom-links a:hover{color:rgba(255,255,255,.65);}

/* Back to top */
.back-to-top{position:fixed;bottom:24px;left:24px;width:40px;height:40px;border-radius:50%;background:#1B6FD8;color:#fff;border:none;font-size:1.1rem;cursor:pointer;opacity:0;visibility:hidden;transition:all .3s;z-index:997;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(27,111,216,.3);}
.back-to-top.visible{opacity:1;visibility:visible;}
.back-to-top:hover{background:#155BB0;transform:translateY(-3px);}

/* Main padding */
/* main padding-top removed — navbar is sticky not fixed */

/* ============================================
   LOGO IMAGE — navbar & footer
   ============================================ */
.nav-logo-img {
    height: 44px; width: auto; display: block;
    object-fit: contain;
}
.logo { align-items: center; }

/* ============================================
   REVIEWS — match screenshot style
   ============================================ */
.review-card {
    text-align: center;
    padding: 32px 28px;
}
.review-card__quote {
    font-size: 2.8rem; color: var(--blue);
    opacity: 1; margin-bottom: 0;
    line-height: 1;
}
.review-card-avatar {
    width: 72px; height: 72px; border-radius: 50%;
    overflow: hidden; margin: 16px auto 12px;
    border: 3px solid var(--blue-light);
}
.review-card-avatar img { width: 100%; height: 100%; object-fit: cover; }
.review-card__author strong {
    font-size: 1rem; color: var(--heading);
    font-weight: 700; display: block; margin-bottom: 12px;
}
.review-card p {
    font-size: 0.9rem; color: var(--gray-600);
    line-height: 1.7; text-align: center;
    margin-bottom: 0;
}
.review-card__author { flex-direction: column; border-top: none; padding-top: 0; gap: 0; }

/* ============================================
   APPOINTMENT — match screenshot glassmorphism
   ============================================ */
.appointment-shell {
    position: relative; overflow: hidden;
}
.appointment-photo {
    position: relative;
}
.appointment-photo::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(255,255,255,0.12) 0%, transparent 50%);
}
.appointment-form-wrap {
    background: rgba(255,255,255,0.96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    position: relative; z-index: 1;
}
.appointment-form label { margin-top: 4px; }
.appointment-form input {
    background: transparent;
    border: none; border-bottom: 1.5px solid var(--gray-200);
    border-radius: 0; padding: 10px 0;
    font-size: 0.95rem;
}
.appointment-form input:focus {
    border-bottom-color: var(--blue);
    box-shadow: none; background: transparent;
}
.appointment-form textarea {
    border: none; border-bottom: 1.5px solid var(--gray-200);
    border-radius: 0; padding: 10px 0; background: transparent;
    min-height: 60px;
}
.appointment-form textarea:focus {
    border-bottom-color: var(--blue);
    box-shadow: none; background: transparent;
}
.appointment-eyebrow {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 14px; border-radius: 999px;
    border: 1px solid var(--gray-200);
    font-size: 0.72rem; font-weight: 700;
    letter-spacing: 0.15em; text-transform: uppercase;
    color: var(--gray-600); font-family: var(--font); margin-bottom: 16px;
    background: transparent;
}
.btn-appt {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 14px 28px; background: var(--blue);
    color: #fff; border: none; border-radius: 999px;
    font-size: 0.95rem; font-weight: 600;
    font-family: var(--font); cursor: pointer;
    transition: all var(--ease); margin-top: 8px;
}
.btn-appt:hover { background: var(--blue-dark); transform: translateY(-2px); box-shadow: var(--shadow-blue); }
.btn-appt-icon {
    width: 32px; height: 32px; border-radius: 50%;
    background: rgba(255,255,255,0.2);
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem;
}

/* Why choose grid fix */
.why-choose__grid { display: grid!important; grid-template-columns: repeat(3,1fr)!important; gap: 16px; margin-top: 48px; }
.certificate-grid { display: grid!important; grid-template-columns: repeat(4,1fr)!important; gap: 14px; margin-top: 24px; }

/* Responsive footer */
@media (max-width: 768px) {
    .nav-logo-img { height: 36px; }
    .footer-logo img { height: 36px; }
    .review-card { padding: 24px 20px; }
    .appointment-form input,.appointment-form textarea { border-radius: 0; }
}

/* ============================================
   HERO — Reference Design Match
   ============================================ */

/* Hero card - white left panel, full-height image right */
.hero-card {
    display: grid !important;
    grid-template-columns: 1fr 440px !important;
    gap: 0 !important;
    padding: 0 !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: 0 8px 40px rgba(10,22,40,0.10) !important;
    border: 1px solid var(--gray-100) !important;
    overflow: hidden !important;
    min-height: 520px;
}

.hero-copy {
    padding: 52px 48px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    background: #EBF5FF;
    border-radius: 24px 0 0 24px;
}

/* Pill eyebrow matching reference */
.hero-eyebrow-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 7px 16px !important;
    border-radius: 999px !important;
    background: transparent !important;
    border: 1.5px solid var(--gray-200) !important;
    color: var(--gray-600) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    margin-bottom: 22px !important;
}

.hero-copy h1 {
    font-family: var(--font-display) !important;
    font-size: clamp(2.6rem, 4vw, 3.8rem) !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    color: var(--navy) !important;
    margin-bottom: 16px !important;
}

.hero-copy h1 em,.hero-copy h1 span {
    font-style: italic !important;
    color: var(--blue) !important;
    font-weight: 600 !important;
}

.hero-copy > p {
    color: var(--gray-600) !important;
    font-size: 1rem !important;
    line-height: 1.65 !important;
    max-width: 400px !important;
    margin-bottom: 0 !important;
}

.hero-actions {
    margin-top: 32px !important;
    display: flex !important;
    gap: 12px !important;
}

/* Arrow button matching reference */
.btn-arrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 16px 14px 28px !important;
    background: var(--blue) !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    border: none !important;
    transition: all var(--ease) !important;
    text-decoration: none !important;
}
.btn-arrow:hover {
    background: var(--blue-dark) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-blue) !important;
}
.btn-arrow-icon {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.22) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}
.btn-arrow-icon--sm {
    width: 28px !important;
    height: 28px !important;
}

/* Hero trust row */
.hero-trust {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 28px !important;
    padding-top: 24px !important;
    border-top: 1px solid var(--gray-200) !important;
}
.hero-trust-stars { color: var(--gold); font-size: 0.95rem; letter-spacing: 2px; }
.hero-trust-text { font-size: 0.84rem; color: var(--gray-600); }
.hero-trust-text strong { color: var(--heading); font-weight: 700; }

/* Hero media — full bleed no radius */
.hero-media {
    position: relative !important;
    border-radius: 0 24px 24px 0 !important;
    overflow: hidden !important;
    background: #1a3a6e !important;
    min-height: 520px !important;
}
.hero-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
}
/* Remove the RAVI'S brand overlay from media */
.hero-media-brand { display: none !important; }

/* ============================================
/* ============================================
   HERO RESPONSIVE
   ============================================ */
@media (max-width: 900px) {
    .hero-card {
        grid-template-columns: 1fr !important;
        min-height: auto !important;
    }
    .hero-copy {
        border-radius: 24px 24px 0 0 !important;
        padding: 36px 28px !important;
    }
    .hero-media {
        border-radius: 0 0 24px 24px !important;
        min-height: 320px !important;
    }
}
@media (max-width: 768px) {
    .hero-card { border-radius: 20px !important; }
    .hero-copy { padding: 28px 22px !important; border-radius: 20px 20px 0 0 !important; }
    .hero-media { min-height: 280px !important; border-radius: 0 0 20px 20px !important; }
    .hero-copy h1 { font-size: 2.2rem !important; }
    .btn-arrow { padding: 13px 14px 13px 24px !important; }
}

/* ============================================================
   HERO v3 — Stunning Redesign
   ============================================================ */

/* Page background */
.home-hero {
    background: #F0F6FF;
    padding: 20px 0 48px;
}

/* Card — split layout */
.hero-card {
    display: grid !important;
    grid-template-columns: 55% 45% !important;
    gap: 0 !important;
    padding: 0 !important;
    border-radius: 28px !important;
    background: #fff !important;
    box-shadow: 0 4px 6px rgba(10,22,40,.04), 0 20px 60px rgba(10,22,40,.10) !important;
    border: 1px solid rgba(27,111,216,.1) !important;
    overflow: hidden !important;
    min-height: 520px !important;
}

/* LEFT COPY PANEL — light blue */
.hero-copy {
    padding: 48px 44px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    background: linear-gradient(160deg, #EBF4FF 0%, #F0F8FF 60%, #F8FBFF 100%) !important;
    border-radius: 28px 0 0 28px !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Decorative dot grid background on copy */
.hero-copy::before {
    content: '';
    position: absolute; inset: 0;
    background-image: radial-gradient(circle, rgba(27,111,216,.08) 1px, transparent 1px);
    background-size: 24px 24px;
    pointer-events: none;
}
.hero-copy > * { position: relative; z-index: 1; }

/* Eyebrow pill */
.hero-eyebrow-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 18px !important;
    border-radius: 999px !important;
    background: transparent !important;
    border: 1.5px solid rgba(27,111,216,.3) !important;
    color: var(--blue) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    margin-bottom: 24px !important;
    width: fit-content !important;
    backdrop-filter: blur(4px);
}

/* H1 */
.hero-copy h1 {
    font-family: var(--font-display) !important;
    font-size: clamp(2.4rem, 3.8vw, 3.4rem) !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.025em !important;
    color: var(--navy) !important;
    margin-bottom: 16px !important;
}
.hero-copy h1 em {
    font-style: italic !important;
    color: var(--blue) !important;
    font-weight: 600 !important;
}

/* Sub text */
.hero-subtext {
    font-size: 1.02rem !important;
    color: #52647A !important;
    line-height: 1.72 !important;
    max-width: 440px !important;
    margin-bottom: 0 !important;
}

/* Feature badges */
.hero-badges {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 22px !important;
}
.hero-badge {
    display: inline-flex;
    align-items: center; gap: 6px;
    padding: 6px 14px;
    background: rgba(14,165,160,.08);
    border: 1px solid rgba(14,165,160,.2);
    border-radius: 999px;
    font-size: 0.78rem; font-weight: 600;
    color: #0A7E7A;
    font-family: var(--font);
    white-space: nowrap;
}

/* CTA row */
.hero-actions {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin-top: 30px !important;
    flex-wrap: wrap !important;
}

/* Primary arrow button */
.btn-arrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 15px 16px 15px 28px !important;
    background: var(--blue) !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    border: none !important;
    transition: all var(--ease) !important;
    text-decoration: none !important;
    letter-spacing: 0.01em !important;
    box-shadow: 0 4px 20px rgba(27,111,216,.35) !important;
}
.btn-arrow:hover {
    background: var(--blue-dark) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 32px rgba(27,111,216,.45) !important;
}
.btn-arrow-icon {
    width: 36px !important; height: 36px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.22) !important;
    display: flex !important; align-items: center !important;
    justify-content: center !important; flex-shrink: 0 !important;
    transition: transform var(--ease) !important;
}
.btn-arrow:hover .btn-arrow-icon { transform: translateX(3px) !important; }

/* Phone CTA button */
.btn-hero-call {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 14px 22px !important;
    background: transparent !important;
    color: var(--navy) !important;
    border-radius: 999px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    border: 1.5px solid rgba(10,22,40,.18) !important;
    transition: all var(--ease) !important;
    text-decoration: none !important;
}
.btn-hero-call:hover {
    background: var(--navy) !important;
    color: #fff !important;
    border-color: var(--navy) !important;
}

/* Social proof */
.hero-trust {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin-top: 30px !important;
    padding-top: 24px !important;
    border-top: 1px solid rgba(27,111,216,.15) !important;
}
.hero-trust-avatars {
    display: flex; align-items: center;
}
.ha {
    width: 34px; height: 34px; border-radius: 50%;
    border: 2px solid #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 0.65rem; font-weight: 800;
    color: #fff; margin-left: -8px;
}
.ha:first-child { margin-left: 0; }
.ha-1 { background: linear-gradient(135deg, #1B6FD8, #4A9EE8); }
.ha-2 { background: linear-gradient(135deg, #0EA5A0, #38C4BF); }
.ha-3 { background: linear-gradient(135deg, #6366F1, #8B5CF6); }
.hero-trust-stars {
    color: #F59E0B; font-size: 0.88rem;
    letter-spacing: 2px; line-height: 1;
}
.hero-trust-text {
    font-size: 0.84rem; color: #52647A; line-height: 1.5;
}
.hero-trust-text strong { color: var(--navy); font-weight: 700; }

/* RIGHT MEDIA PANEL */
.hero-media {
    position: relative !important;
    border-radius: 0 28px 28px 0 !important;
    overflow: hidden !important;
    background: linear-gradient(170deg, #EBF4FF 0%, #D4E7FA 50%, #C0D8F0 100%) !important;
    min-height: 520px !important;
    clip-path: none !important;
}
.hero-media::after {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 60px;
    background: linear-gradient(90deg, #F0F8FF, transparent);
    z-index: 2;
    pointer-events: none;
}
.hero-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
    position: relative !important;
    z-index: 1 !important;
}
.hero-media-brand { display: none !important; }

/* Floating stat cards */
.hero-float {
    position: absolute;
    z-index: 10;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 14px;
    padding: 12px 16px;
    box-shadow: 0 8px 28px rgba(10,22,40,.18);
    border: 1px solid rgba(255,255,255,.6);
    display: flex; flex-direction: column;
    min-width: 120px;
    animation: floatBob 4s ease-in-out infinite;
}
.hero-float--tl {
    top: 28px; left: -24px;
    animation-delay: 0s;
}
.hero-float--br {
    bottom: 60px; right: -20px;
    animation-delay: 2s;
}
.hero-float-num {
    font-family: var(--font-display);
    font-size: 1.7rem; font-weight: 700;
    color: var(--blue); line-height: 1;
    display: block;
}
.hero-float-icon {
    font-size: 1.4rem; line-height: 1;
    display: block; margin-bottom: 2px;
}
.hero-float-label {
    font-size: 0.72rem; font-weight: 600;
    color: var(--gray-600); display: block;
    margin-top: 4px; white-space: nowrap;
}
@keyframes floatBob {
    0%,100% { transform: translateY(0); }
    50%      { transform: translateY(-6px); }
}

/* ============================================================
   HERO RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
    .hero-card {
        grid-template-columns: 1fr 380px !important;
        min-height: 480px !important;
    }
    .hero-copy { padding: 44px 36px !important; }
    .hero-float--tl { left: -12px; top: 20px; }
    .hero-float--br { right: -12px; bottom: 40px; }
}

@media (max-width: 860px) {
    .hero-card {
        grid-template-columns: 1fr !important;
        min-height: auto !important;
    }
    .hero-copy {
        border-radius: 28px 28px 0 0 !important;
        order: 2 !important;
        padding: 36px 28px !important;
    }
    .hero-media {
        border-radius: 0 0 28px 28px !important;
        order: 1 !important;
        min-height: 340px !important;
    }
    .hero-float--tl { top: 16px; left: 12px; }
    .hero-float--br { bottom: 16px; right: 12px; }
}

@media (max-width: 640px) {
    .home-hero { padding: 12px 0 32px; }
    .hero-card {
        border-radius: 20px !important;
    }
    .hero-copy {
        padding: 28px 22px !important;
        border-radius: 0 0 20px 20px !important;
    }
    .hero-media {
        border-radius: 20px 20px 0 0 !important;
        min-height: 280px !important;
    }
    .hero-copy h1 { font-size: 2.2rem !important; }
    .hero-subtext { font-size: 0.95rem !important; }
    .hero-actions { flex-direction: column !important; }
    .hero-actions .btn-arrow,
    .hero-actions .btn-hero-call { width: 100% !important; justify-content: center !important; }
    .hero-badges { gap: 6px !important; }
    .hero-float { display: none; }
}

@media (max-width: 480px) {
    .hero-copy h1 { font-size: 2rem !important; }
    .hero-copy { padding: 24px 18px !important; }
    .hero-eyebrow-pill { font-size: 0.67rem !important; padding: 6px 14px !important; }
}

/* ============================================================
   CLINIC INTRO — Full Redesign v3
   ============================================================ */

.clinic-intro {
    padding: 80px 0 96px;
    background: var(--white);
}

/* ── TOP: heading + photo ── */
.intro-top {
    margin-bottom: 48px;
}
.intro-head {
    margin-bottom: 28px;
}
.intro-head h2 {
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 3.5vw, 3.2rem);
    font-weight: 700;
    color: var(--navy);
    line-height: 1.12;
    letter-spacing: -0.025em;
    margin-bottom: 0;
}
.intro-head h2 em {
    font-style: italic;
    color: var(--blue);
    font-weight: 500;
}

/* Photo with floating badge */
.intro-photo {
    position: relative;
    border-radius: 24px;
    overflow: visible;
    margin: 0;
    box-shadow: 0 4px 6px rgba(10,22,40,.04),
                0 24px 56px rgba(10,22,40,.10);
}
.intro-photo img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    object-position: center 30%;
    display: block;
    border-radius: 24px;
}

/* Floating badge on photo */
.intro-photo-badge {
    position: absolute;
    bottom: -20px;
    right: 32px;
    background: var(--blue);
    color: #fff;
    border-radius: 18px;
    padding: 16px 24px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 8px 32px rgba(27,111,216,.4);
    white-space: nowrap;
    z-index: 2;
}
.intro-photo-badge-num {
    font-family: var(--font-display);
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1;
    color: #fff;
}
.intro-photo-badge-text {
    font-size: 0.82rem;
    font-weight: 600;
    color: rgba(255,255,255,.88);
    line-height: 1.45;
}

/* ── STAT PILLARS ── */
.intro-stats {
    display: flex;
    align-items: center;
    background: var(--navy);
    border-radius: 20px;
    padding: 28px 40px;
    margin-bottom: 48px;
    margin-top: 32px;
}
.intro-stat {
    flex: 1;
    text-align: center;
}
.intro-stat strong {
    display: block;
    font-family: var(--font-display);
    font-size: 2.2rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.02em;
    line-height: 1;
}
.intro-stat span {
    display: block;
    font-size: 0.8rem;
    color: rgba(255,255,255,.55);
    font-weight: 500;
    margin-top: 6px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.intro-stat-divider {
    width: 1px;
    height: 44px;
    background: rgba(255,255,255,.12);
    flex-shrink: 0;
}

/* ── BOTTOM: text + feature cards ── */
.intro-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}

.intro-text p {
    font-size: 1rem;
    color: var(--body);
    line-height: 1.8;
    margin-bottom: 20px;
}
.intro-highlights {
    display: grid;
    gap: 12px;
    margin-top: 4px;
}
.intro-highlights li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.92rem;
    color: var(--body);
    line-height: 1.5;
}
.intro-highlights li::before {
    content: '';
    width: 22px; height: 22px;
    border-radius: 50%;
    background: var(--blue-light);
    border: 1.5px solid var(--blue);
    flex-shrink: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='11' height='9' viewBox='0 0 11 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 4.5l2.5 2.5 5.5-6' stroke='%231B6FD8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 11px;
}

/* Feature cards */
.intro-features {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.intro-feature-card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 22px;
    border-radius: 16px;
    background: var(--off-white);
    border: 1px solid var(--gray-100);
    transition: transform var(--ease), box-shadow var(--ease), border-color var(--ease);
}
.intro-feature-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
    border-color: var(--blue-mid);
}
.intro-feature-card--accent {
    background: linear-gradient(135deg, var(--blue-light), #F0F8FF);
    border-color: rgba(27,111,216,.2);
}
.intro-feature-icon {
    font-size: 1.6rem;
    flex-shrink: 0;
    width: 44px; height: 44px;
    background: var(--white);
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    box-shadow: var(--shadow-xs);
}
.intro-feature-card h3 {
    font-family: var(--font);
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--heading);
    margin-bottom: 4px;
    line-height: 1.3;
}
.intro-feature-card p {
    font-size: 0.84rem;
    color: var(--gray-600);
    margin: 0;
    line-height: 1.6;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
    .intro-content { grid-template-columns: 1fr; gap: 32px; }
    .intro-stats { padding: 22px 24px; }
    .intro-stat strong { font-size: 1.8rem; }
}
@media (max-width: 768px) {
    .intro-photo img { height: 260px; }
    .intro-photo-badge { right: 16px; bottom: -16px; padding: 12px 18px; }
    .intro-photo-badge-num { font-size: 1.8rem; }
    .intro-stats {
        flex-wrap: wrap; gap: 16px;
        padding: 20px 18px;
    }
    .intro-stat { flex: 0 0 calc(50% - 8px); }
    .intro-stat-divider { display: none; }
    .clinic-intro { padding: 60px 0 72px; }
}
@media (max-width: 480px) {
    .intro-photo img { height: 220px; }
    .intro-photo-badge { position: relative; right: auto; bottom: auto; margin: 12px 16px 0; border-radius: 14px; }
    .intro-stat { flex: 0 0 calc(50% - 8px); }
    .intro-features { gap: 10px; }
    .intro-feature-card { padding: 16px; }
}
/* INTRO PHOTO FIX — prevent double-exposure artifact */
.intro-photo { overflow: hidden !important; }
.intro-photo img {
    display: block !important;
    position: relative !important;
    z-index: 1 !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
    filter: none !important;
}
.intro-photo::before, .intro-photo::after { display: none !important; }

/* ── INTRO PHOTO FIXES ── */

/* Wrapper needs overflow:visible so badge hangs outside */
.intro-photo {
    overflow: visible !important;
    margin-bottom: 28px;   /* space for badge hanging below */
}

/* Clip only the image itself, not the wrapper */
.intro-photo-img-wrap {
    border-radius: 24px;
    overflow: hidden;
    position: relative;
}

/* Image: position faces better */
.intro-photo img {
    width: 100% !important;
    height: 420px !important;
    object-fit: cover !important;
    object-position: center 35% !important;
    display: block !important;
    border-radius: 24px !important;
    position: relative !important;
    z-index: 1 !important;
    mix-blend-mode: normal !important;
    filter: none !important;
    opacity: 1 !important;
}

/* Badge — sits outside the image at bottom-right */
.intro-photo-badge {
    position: absolute !important;
    bottom: -22px !important;
    right: 24px !important;
    z-index: 10 !important;
    background: var(--blue) !important;
    color: #fff !important;
    border-radius: 16px !important;
    padding: 14px 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    box-shadow: 0 8px 32px rgba(27,111,216,.45) !important;
    white-space: nowrap !important;
    border: 2px solid rgba(255,255,255,.2) !important;
}
.intro-photo-badge-num {
    font-family: var(--font-display) !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}
.intro-photo-badge-text {
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    color: rgba(255,255,255,.9) !important;
    line-height: 1.4 !important;
}

/* Stats bar: add top margin to clear the badge */
.intro-stats {
    margin-top: 48px !important;
}

/* Responsive */
@media (max-width: 768px) {
    .intro-photo { margin-bottom: 24px; }
    .intro-photo img { height: 300px !important; }
    .intro-photo-badge {
        bottom: -18px !important;
        right: 16px !important;
        padding: 10px 14px !important;
    }
    .intro-photo-badge-num { font-size: 1.6rem !important; }
    .intro-stats { margin-top: 40px !important; }
}
@media (max-width: 480px) {
    .intro-photo img { height: 240px !important; }
    .intro-photo-badge {
        position: relative !important;
        bottom: auto !important; right: auto !important;
        display: inline-flex !important;
        margin: 12px 0 0 auto !important;
        border-radius: 12px !important;
    }
}

/* ============================================================
   WHY CHOOSE — Premium Redesign
   ============================================================ */
/* Background echoes navbar Book Appointment gradient (#1B6FD8 → #2EC4B6), softened for large areas */
.wc-section{background:linear-gradient(148deg,#153560 0%,#1a5a96 38%,#1f739f 68%,#248578 100%);padding:88px 0;position:relative;overflow:hidden;}
.wc-glow-1{position:absolute;top:-180px;right:-120px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(27,111,216,.16) 0%,transparent 65%);pointer-events:none;will-change:transform;}
.wc-glow-2{position:absolute;bottom:-140px;left:-80px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(46,196,182,.12) 0%,transparent 60%);pointer-events:none;will-change:transform;}
.wc-container{position:relative;z-index:1;}

/* Header */
.wc-header{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:44px;}
.wc-header-left .eyebrow-dark{background:rgba(27,111,216,.18);color:#7ab8f5;}
.wc-header-left h2{font-family:var(--font-display);font-size:clamp(1.9rem,3.2vw,2.8rem);font-weight:700;color:#fff;line-height:1.12;letter-spacing:-.025em;margin:0;}
.wc-header-left h2 em{font-style:italic;color:#7ab8f5;font-weight:500;}
.wc-header-desc{font-size:.92rem;color:rgba(255,255,255,.5);line-height:1.72;margin:0;max-width:340px;text-align:right;}

/* Main grid: featured + 4 cards */
.wc-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:auto auto;gap:14px;margin-bottom:14px;}

/* Base card */
.wc-card{padding:26px 24px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden;transition:background .28s ease,border-color .28s ease,transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s ease;}
.wc-card::before{content:'';position:absolute;inset:0;border-radius:18px;opacity:0;transition:opacity .28s;background:linear-gradient(135deg,rgba(27,111,216,.08),transparent);pointer-events:none;}
.wc-card:hover{background:rgba(255,255,255,.08);border-color:rgba(27,111,216,.3);}
.wc-card:hover::before{opacity:1;}

/* Icon containers */
.wc-icon{width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);flex-shrink:0;transition:background .28s;}
.wc-card:hover .wc-icon{background:rgba(27,111,216,.15);color:#7EC8F8;}
.wc-icon-featured{width:56px;height:56px;border-radius:16px;background:rgba(27,111,216,.2);border-color:rgba(27,111,216,.3);color:#7EC8F8;}

/* Featured card */
.wc-card-featured{grid-row:1/3;background:linear-gradient(160deg,rgba(27,111,216,.18) 0%,rgba(27,111,216,.06) 100%);border-color:rgba(27,111,216,.25);padding:32px 28px;justify-content:space-between;}
.wc-card-featured h3{font-size:1.3rem;}
.wc-card-featured p{font-size:.94rem;line-height:1.75;color:rgba(255,255,255,.65);}

/* Card text */
.wc-card h3{font-family:var(--font);font-size:1rem;font-weight:700;color:#fff;margin:0;line-height:1.3;}
.wc-card p{font-size:.84rem;color:rgba(255,255,255,.55);margin:0;line-height:1.7;flex:1;}

/* Stat badge in featured card */
.wc-stat{display:flex;align-items:center;gap:12px;padding:14px 16px;background:rgba(27,111,216,.15);border:1px solid rgba(27,111,216,.2);border-radius:12px;margin-top:auto;}
.wc-stat-num{font-family:var(--font-display);font-size:2.2rem;font-weight:700;color:#fff;line-height:1;}
.wc-stat-label{font-size:.78rem;color:rgba(255,255,255,.55);font-weight:500;line-height:1.35;}

/* Emergency card — full width */
.wc-emergency{margin-bottom:14px;}
.wc-emergency-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 28px;border-radius:18px;background:linear-gradient(135deg,rgba(220,38,38,.08),rgba(220,38,38,.03));border:1px solid rgba(220,38,38,.15);transition:border-color .28s ease,transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease;}
.wc-emergency-inner:hover{border-color:rgba(220,38,38,.3);}
.wc-emergency-left{display:flex;align-items:center;gap:16px;}
.wc-icon-emergency{width:48px;height:48px;border-radius:14px;background:rgba(220,38,38,.12);border:1px solid rgba(220,38,38,.2);color:#FCA5A5;}
.wc-emergency-left h3{font-family:var(--font);font-size:1rem;font-weight:700;color:#fff;margin:0 0 4px;}
.wc-emergency-left p{font-size:.84rem;color:rgba(255,255,255,.5);margin:0;line-height:1.6;max-width:480px;}
.wc-emergency-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:12px;background:rgba(220,38,38,.15);border:1px solid rgba(220,38,38,.25);color:#FCA5A5;font-size:.86rem;font-weight:700;text-decoration:none;transition:all .25s;flex-shrink:0;}
.wc-emergency-btn:hover{background:rgba(220,38,38,.25);border-color:rgba(220,38,38,.4);color:#fff;transform:translateY(-2px);}

/* Stats strip */
.wc-stats{display:flex;align-items:center;justify-content:center;gap:0;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:24px 32px;}
.wc-stats-item{flex:1;text-align:center;padding:0 16px;}
.wc-stats-item strong{display:block;font-family:var(--font-display);font-size:1.8rem;font-weight:700;color:#fff;line-height:1;}
.wc-stats-item span{display:block;font-size:.72rem;color:rgba(255,255,255,.38);font-weight:600;margin-top:5px;text-transform:uppercase;letter-spacing:.08em;}
.wc-stats-sep{width:1px;height:36px;background:rgba(255,255,255,.08);flex-shrink:0;}
.why-trust-sep {
    width: 1px;
    height: 40px;
    background: rgba(255,255,255,.1);
    flex-shrink: 0;
}

@media (prefers-reduced-motion: no-preference) {
    .wc-glow-1 { animation: wcGlowDrift 22s ease-in-out infinite; }
    .wc-glow-2 { animation: wcGlowDrift 28s ease-in-out infinite reverse; }
}
@keyframes wcGlowDrift {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(-14px, 18px) scale(1.045); }
}

/* Scroll-reveal + hover lift (coordinates with .wc-animate--visible from main.js) */
.wc-section .wc-animate {
    opacity: 0;
    transform: translateY(1.25rem);
    transition: opacity 0.58s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.58s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.32s ease,
                border-color 0.28s ease,
                background 0.28s ease;
}
.wc-section .wc-animate.wc-animate--visible {
    opacity: 1;
    transform: translateY(0);
}
.wc-grid > .wc-card.wc-animate:nth-child(1) { transition-delay: 0.04s; }
.wc-grid > .wc-card.wc-animate:nth-child(2) { transition-delay: 0.09s; }
.wc-grid > .wc-card.wc-animate:nth-child(3) { transition-delay: 0.14s; }
.wc-grid > .wc-card.wc-animate:nth-child(4) { transition-delay: 0.19s; }
.wc-grid > .wc-card.wc-animate:nth-child(5) { transition-delay: 0.24s; }
.wc-section .wc-grid > .wc-card.wc-animate--visible:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 36px rgba(10, 22, 40, 0.16);
}
.wc-section .wc-emergency-inner.wc-animate--visible:hover {
    border-color: rgba(220,38,38,.35);
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
}
.wc-section .wc-stats.wc-animate--visible:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
    border-color: rgba(255,255,255,.1);
}

@media (prefers-reduced-motion: reduce) {
    .wc-glow-1,
    .wc-glow-2 { animation: none !important; }
    .wc-section .wc-animate {
        opacity: 1 !important;
        transform: none !important;
        transition-duration: 0.01ms !important;
    }
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
    .why-grid-v2 {
        grid-template-columns: 1fr 1fr !important;
    }
    .why-card-v2--featured {
        grid-column: 1 / 3 !important;
        grid-row: auto !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        grid-template-rows: auto !important;
        gap: 24px !important;
        align-items: start !important;
    }
    .why-card-v2--featured > * { grid-column: auto; }
    .why-card-v2--featured .why-card-v2-icon { grid-column: 1; grid-row: 1; }
    .why-header { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 768px) {
    .why-grid-v2 {
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
    }
    .why-card-v2--featured {
        grid-column: 1 / 3 !important;
        grid-template-columns: 1fr !important;
    }
    .why-trust-bar { flex-wrap: wrap; gap: 16px; padding: 20px 16px; }
    .why-trust-item { flex: 0 0 calc(50% - 8px); }
    .why-trust-sep { display: none; }
    .why-choose { padding: 64px 0 !important; }
}
@media (max-width: 540px) {
    .why-grid-v2 {
        grid-template-columns: 1fr !important;
    }
    .why-card-v2--featured { grid-column: auto !important; }
    .why-trust-item { flex: 0 0 calc(50% - 8px); }
}

/* ============================================================
   TEAM SHOWCASE — Redesign v2
   ============================================================ */

.team-showcase {
    padding: 96px 0;
    background: var(--white);
}

/* Header */
.team-header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: end;
    margin-bottom: 64px;
}
.team-header-left h2 {
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.2vw, 2.8rem);
    font-weight: 700;
    color: var(--navy);
    line-height: 1.12;
    letter-spacing: -0.025em;
    margin: 0;
}
.team-header-left h2 em {
    font-style: italic;
    color: var(--blue);
    font-weight: 500;
}
.team-header-desc {
    font-size: 1rem;
    color: var(--gray-600);
    line-height: 1.75;
    margin: 0;
    align-self: end;
    padding-bottom: 4px;
}

/* Lead doctor — centered photo, content below */
.team-lead {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 36px;
    background: linear-gradient(160deg, var(--off-white) 0%, #F0F6FF 100%);
    border-radius: 28px;
    padding: 48px 40px;
    margin-bottom: 48px;
    border: 1px solid var(--gray-100);
    box-shadow: var(--shadow-sm);
}
.team-lead-photo {
    position: relative;
    border-radius: 20px;
    overflow: visible;
    width: 100%;
    max-width: 380px;
    margin: 0 auto;
    flex-shrink: 0;
}
.team-lead-photo img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    object-position: center center;
    border-radius: 20px;
    display: block;
    box-shadow: var(--shadow-xl);
}
.team-lead-badge {
    position: absolute;
    bottom: -18px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--navy);
    color: #fff;
    border-radius: 14px;
    padding: 12px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: var(--shadow-lg);
    border: 2px solid rgba(255,255,255,.1);
    max-width: calc(100% - 24px);
    text-align: left;
}
.team-lead-badge-icon { font-size: 1.4rem; }
.team-lead-badge strong { display: block; font-size: 0.85rem; font-weight: 700; color: #fff; }
.team-lead-badge span  { font-size: 0.72rem; color: rgba(255,255,255,.6); }

.team-lead-info {
    padding-top: 8px;
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.team-lead-name-block { margin-bottom: 20px; }
.team-lead-name-block h3 {
    font-family: var(--font-display);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--navy);
    letter-spacing: -0.02em;
    margin-bottom: 4px;
}
.team-lead-qual {
    font-size: 0.88rem;
    color: var(--blue);
    font-weight: 600;
    margin: 0;
}
.team-lead-bio {
    font-size: 0.97rem;
    color: var(--body);
    line-height: 1.8;
    margin-bottom: 24px;
    max-width: 52rem;
    margin-left: auto;
    margin-right: auto;
}
.team-lead-highlights {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
    max-width: 560px;
}
.team-lead-hl {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    background: var(--white);
    border-radius: 14px;
    border: 1px solid var(--gray-100);
    box-shadow: var(--shadow-xs);
    transition: border-color var(--ease), transform var(--ease), box-shadow var(--ease);
    text-align: left;
}
.team-lead-hl:hover { border-color: var(--blue-mid); transform: translateY(-3px); box-shadow: var(--shadow-sm); }
.team-lead-hl-icon { font-size: 1.4rem; flex-shrink: 0; }
.team-lead-hl strong { display: block; font-size: 0.9rem; font-weight: 700; color: var(--heading); }
.team-lead-hl span   { font-size: 0.8rem; color: var(--gray-600); }

/* Specialists label */
.specialists-label {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
}
.specialists-label::before,
.specialists-label::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--gray-100);
}
.specialists-label span {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gray-400);
    white-space: nowrap;
}

/* Specialist grid */
.specialist-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.specialist-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 16px;
    border-radius: 16px;
    background: var(--white);
    border: 1px solid var(--gray-100);
    box-shadow: var(--shadow-xs);
    transition: transform var(--ease), box-shadow var(--ease), border-color var(--ease);
}
.specialist-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
    border-color: var(--blue-mid);
}

/* Avatar circles */
.specialist-avatar {
    width: 48px; height: 48px;
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.82rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: 0.02em;
}
.specialist-avatar--blue   { background: linear-gradient(135deg, #1B6FD8, #4A9EE8); }
.specialist-avatar--teal   { background: linear-gradient(135deg, #0EA5A0, #38C4BF); }
.specialist-avatar--purple { background: linear-gradient(135deg, #6366F1, #8B5CF6); }
.specialist-avatar--pink   { background: linear-gradient(135deg, #EC4899, #F472B6); }
.specialist-avatar--gold   { background: linear-gradient(135deg, #E8A020, #F59E0B); }

.specialist-info h4 {
    font-family: var(--font);
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--heading);
    margin-bottom: 3px;
    line-height: 1.3;
}
.specialist-qual {
    font-size: 0.72rem;
    color: var(--blue);
    font-weight: 600;
    margin-bottom: 4px;
    line-height: 1.4;
}
.specialist-focus {
    font-size: 0.76rem;
    color: var(--gray-600);
    margin: 0;
    line-height: 1.5;
}

/* ── RESPONSIVE ── */
@media (max-width: 1100px) {
    .specialist-grid { grid-template-columns: repeat(2, 1fr); }
    .team-lead { padding: 36px 28px; gap: 28px; }
    .team-lead-photo { max-width: 340px; }
    .team-lead-photo img { height: 380px; }
}
@media (max-width: 900px) {
    .team-header { grid-template-columns: 1fr; gap: 16px; }
    .team-lead {
        padding: 28px 20px;
        gap: 28px;
    }
    .team-lead-photo { margin-bottom: 8px; max-width: min(320px, 100%); }
    .team-lead-photo img { height: 320px; }
    .team-lead-badge { bottom: -14px; padding: 10px 14px; }
    .team-lead-info { padding-top: 20px; }
    .team-lead-highlights { flex-direction: row; flex-wrap: wrap; justify-content: center; max-width: 100%; }
    .team-lead-hl { flex: 1 1 calc(50% - 6px); }
}
@media (max-width: 640px) {
    .specialist-grid { grid-template-columns: 1fr; }
    .team-showcase { padding: 64px 0; }
    .team-lead { padding: 24px 16px; gap: 24px; }
    .team-lead-highlights { flex-direction: column; }
    .team-lead-hl { flex: none; }
    .team-lead-photo img { height: 280px; }
    .team-header { margin-bottom: 40px; }
}

/* ============================================================
   SERVICES GRID
   ============================================================ */
.services-section { padding: 96px 0; background: var(--off-white); }
.services-section h2 { font-family: var(--font-display); font-size: clamp(1.9rem,3vw,2.6rem); font-weight:700; color:var(--navy); letter-spacing:-.025em; margin-bottom:0; }
.services-section h2 em { font-style:italic; color:var(--blue); font-weight:500; }
.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.service-card {
    display: flex; flex-direction: column;
    background: var(--white); border-radius: 20px;
    border: 1px solid var(--gray-100);
    overflow: hidden; text-decoration: none; color: inherit;
    box-shadow: var(--shadow-xs);
    transition: transform var(--ease), box-shadow var(--ease), border-color var(--ease);
}
.service-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: var(--blue-mid); }
.service-card-img { height: 200px; overflow: hidden; }
.service-card-img img { width:100%; height:100%; object-fit:cover; object-position:center; transition: transform .5s ease; }
.service-card:hover .service-card-img img { transform: scale(1.05); }
.service-card-body { padding: 22px 24px 28px; flex:1; display:flex; flex-direction:column; }
.service-card-body h3 { font-family:var(--font-display); font-size:1.15rem; font-weight:700; color:var(--navy); margin-bottom:8px; }
.service-card-body p { font-size:.9rem; color:var(--gray-600); line-height:1.7; flex:1; margin-bottom:16px; }
.service-link { font-size:.82rem; font-weight:700; color:var(--blue); letter-spacing:.04em; }
.service-card:hover .service-link { text-decoration:underline; }

/* ── SPECIALIST PHOTO CARD ── */
.specialist-card--photo { flex-direction: column; padding: 0; overflow: hidden; }
.specialist-card--photo .specialist-info { padding: 14px 16px 16px; }
.specialist-photo { width:100%; height:180px; overflow:hidden; }
.specialist-photo img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; }

/* ── DIFFERENCE SECTION FIX ── */
.difference { background: var(--navy); color:#fff; padding: 96px 0; }
.difference .eyebrow { --eyebrow-bg: rgba(255,255,255,.08); --eyebrow-color: rgba(255,255,255,.7); }
.difference h2 { color: #fff; font-family:var(--font-display); font-size:clamp(1.9rem,3vw,2.6rem); font-weight:700; margin-bottom:40px; }
.difference h2 em { color: var(--blue-light,#7EC8F8); font-style:italic; font-weight:500; }
.split-section { display:grid; grid-template-columns:1fr 480px; gap:60px; align-items:center; }
.difference-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
.difference-list li {
    display:flex; align-items:center; gap:14px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.1);
    border-radius:12px; padding:14px 18px;
    font-size:.95rem; color:rgba(255,255,255,.9); font-weight:500;
    counter-increment: diff-counter;
}
.difference-list { counter-reset: diff-counter; }
.difference-list li::before {
    content: counter(diff-counter);
    min-width:28px; height:28px; border-radius:50%;
    background:var(--blue); color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-size:.78rem; font-weight:800; flex-shrink:0;
}
.rounded-photo { border-radius:24px; overflow:hidden; box-shadow:0 24px 64px rgba(0,0,0,.4); }
.rounded-photo img { width:100%; height:520px; object-fit:cover; object-position:center; display:block; mix-blend-mode:normal; filter:none; opacity:1; }

/* ── CERT CARD IMAGES ── */
.cert-card img { width:100%; height:auto; border-radius:10px; display:block; }

/* ── RESPONSIVE ── */
@media(max-width:1100px){
    .services-grid { grid-template-columns:repeat(2,1fr); }
    .split-section { grid-template-columns:1fr; }
    .rounded-photo img { height:320px; }
}
@media(max-width:640px){
    .services-grid { grid-template-columns:1fr; }
    .services-section { padding:64px 0; }
    .difference { padding:64px 0; }
}

/* ── SPECIALIST PHOTO CARD v2 ── */
.specialist-card--photo {
    flex-direction: column;
    padding: 0;
    overflow: hidden;
    align-items: stretch;
}
.specialist-card--photo .specialist-info {
    padding: 14px 16px 18px;
}
.specialist-photo {
    width: 100%;
    height: 190px;
    overflow: hidden;
    background: var(--off-white);
    flex-shrink: 0;
}
.specialist-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform .4s ease;
}
.specialist-card--photo:hover .specialist-photo img {
    transform: scale(1.04);
}

/* ── SPECIALIST GRID FIX v3 ── */
/* Make ALL cards same height in each row via grid */
.specialist-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    align-items: start; /* each card height is its own content */
}

/* Base card reset */
.specialist-card {
    display: flex;
    flex-direction: column;
    border-radius: 18px;
    background: var(--white);
    border: 1px solid var(--gray-100);
    box-shadow: var(--shadow-xs);
    overflow: hidden;
    transition: transform var(--ease), box-shadow var(--ease), border-color var(--ease);
    padding: 0; /* remove default padding — photo cards use 0, avatar cards use padding via inner */
}
.specialist-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
    border-color: var(--blue-mid);
}

/* Avatar-only cards — centered content with padding */
.specialist-card:not(.specialist-card--photo) {
    padding: 20px 16px 18px;
    flex-direction: row;
    align-items: flex-start;
    gap: 14px;
    min-height: 0; /* let content dictate height */
}
.specialist-card:not(.specialist-card--photo) .specialist-avatar {
    flex-shrink: 0;
    width: 48px; height: 48px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: .82rem; font-weight: 800; color: #fff;
}

/* Photo cards */
.specialist-card--photo {
    flex-direction: column;
    padding: 0;
    overflow: hidden;
}
.specialist-card--photo .specialist-info {
    padding: 14px 16px 18px;
}

/* Photo container — fixed height, show face */
.specialist-photo {
    width: 100%;
    height: 220px;
    overflow: hidden;
    background: var(--gray-50, #f8f9fa);
    flex-shrink: 0;
}
.specialist-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 15%; /* shift down slightly to show faces not tops of heads */
    display: block;
    transition: transform .4s ease;
}
.specialist-card--photo:hover .specialist-photo img {
    transform: scale(1.04);
}

/* Doctor name & qual inside card */
.specialist-card .specialist-info { flex: 1; }
.specialist-card .specialist-info h4 {
    font-size: .92rem; font-weight: 700;
    color: var(--heading); margin-bottom: 3px; line-height: 1.3;
}
.specialist-card .specialist-qual {
    font-size: .72rem; color: var(--blue);
    font-weight: 600; margin-bottom: 6px; line-height: 1.4;
}
.specialist-card .specialist-focus {
    font-size: .78rem; color: var(--gray-600);
    margin: 0; line-height: 1.5;
}

/* Avatar colours */
.specialist-avatar--blue   { background: linear-gradient(135deg,#1B6FD8,#4A9EE8); }
.specialist-avatar--teal   { background: linear-gradient(135deg,#0EA5A0,#38C4BF); }
.specialist-avatar--purple { background: linear-gradient(135deg,#6366F1,#8B5CF6); }
.specialist-avatar--pink   { background: linear-gradient(135deg,#EC4899,#F472B6); }
.specialist-avatar--gold   { background: linear-gradient(135deg,#E8A020,#F59E0B); }

/* Responsive */
@media(max-width:1100px){ .specialist-grid { grid-template-columns: repeat(2,1fr); } }
@media(max-width:600px){  .specialist-grid { grid-template-columns: 1fr; } }

/* ============================================================
   EMERGENCY SECTION — v3 Redesign
   ============================================================ */
.emergency-panel {
    padding: 80px 0;
    background: linear-gradient(135deg, #0A1628 0%, #0D2048 60%, #0A2A5E 100%);
    position: relative;
    overflow: hidden;
}
.emergency-panel::before {
    content: '';
    position: absolute;
    top: -120px; right: -120px;
    width: 480px; height: 480px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(27,111,216,.18) 0%, transparent 70%);
    pointer-events: none;
}
.emergency-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}
.emergency-left .eyebrow-invert {
    background: rgba(255,255,255,.1);
    color: rgba(255,255,255,.75);
    border: 1px solid rgba(255,255,255,.15);
}
.emergency-left h2 {
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.2vw, 2.8rem);
    font-weight: 700;
    color: #fff;
    line-height: 1.15;
    letter-spacing: -.025em;
    margin: 16px 0 20px;
}
.emergency-left h2 em {
    font-style: italic;
    color: #7EC8F8;
    font-weight: 500;
}
.emergency-desc {
    font-size: 1rem;
    color: rgba(255,255,255,.7);
    line-height: 1.75;
    margin-bottom: 32px;
    max-width: 480px;
}
.btn-emergency {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    color: var(--navy);
    font-size: 1rem;
    font-weight: 700;
    padding: 16px 32px;
    border-radius: 50px;
    text-decoration: none;
    box-shadow: 0 8px 32px rgba(0,0,0,.3);
    transition: transform var(--ease), box-shadow var(--ease);
}
.btn-emergency:hover { transform: translateY(-2px); box-shadow: 0 12px 40px rgba(0,0,0,.4); }
.emergency-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.emergency-card {
    display: flex;
    align-items: center;
    gap: 14px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 16px;
    padding: 18px 16px;
    backdrop-filter: blur(8px);
    transition: background var(--ease), border-color var(--ease);
}
.emergency-card:hover {
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.22);
}
.emergency-card-icon {
    font-size: 1.8rem;
    flex-shrink: 0;
}
.emergency-card strong {
    display: block;
    color: #fff;
    font-size: .9rem;
    font-weight: 700;
    margin-bottom: 3px;
}
.emergency-card span {
    color: rgba(255,255,255,.55);
    font-size: .78rem;
    line-height: 1.4;
}

/* ============================================================
   DIFFERENCE SECTION — v3 Redesign
   ============================================================ */
.difference {
    padding: 96px 0;
    background: var(--navy);
    color: #fff;
    position: relative;
    overflow: hidden;
}
.difference::before {
    content: '';
    position: absolute;
    bottom: -80px; left: -80px;
    width: 400px; height: 400px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(14,165,160,.12) 0%, transparent 70%);
    pointer-events: none;
}
.difference-layout {
    display: grid;
    grid-template-columns: 1fr 480px;
    gap: 72px;
    align-items: center;
}
.eyebrow-teal {
    background: rgba(14,165,160,.15);
    color: #5DD5D1;
    border: 1px solid rgba(14,165,160,.3);
}
.difference-copy h2 {
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.2vw, 2.8rem);
    font-weight: 700;
    color: #fff;
    line-height: 1.15;
    letter-spacing: -.025em;
    margin: 16px 0 16px;
}
.difference-copy h2 em {
    font-style: italic;
    color: #7EC8F8;
    font-weight: 500;
}
.difference-intro {
    color: rgba(255,255,255,.65);
    font-size: .97rem;
    line-height: 1.75;
    max-width: 480px;
    margin-bottom: 32px;
}
.difference-list-v2 {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.diff-item {
    display: flex;
    align-items: center;
    gap: 16px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 12px;
    padding: 14px 18px;
    transition: background var(--ease), border-color var(--ease), transform var(--ease);
}
.diff-item:hover {
    background: rgba(255,255,255,.1);
    border-color: rgba(14,165,160,.35);
    transform: translateX(6px);
}
.diff-num {
    min-width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-size: .8rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.diff-item p {
    color: rgba(255,255,255,.88);
    font-size: .93rem;
    font-weight: 500;
    margin: 0;
    line-height: 1.45;
}
.btn-teal {
    background: var(--teal);
    color: #fff;
    padding: 14px 28px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 700;
    font-size: .92rem;
    box-shadow: 0 6px 24px rgba(14,165,160,.35);
    transition: transform var(--ease), box-shadow var(--ease);
}
.btn-teal:hover { transform: translateY(-2px); box-shadow: 0 10px 32px rgba(14,165,160,.5); }
.difference-photo {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 32px 80px rgba(0,0,0,.5);
}
.difference-photo img {
    width: 100%;
    height: 560px;
    object-fit: cover;
    object-position: center;
    display: block;
    mix-blend-mode: normal;
    filter: none;
    opacity: 1;
}
.difference-photo-badge {
    position: absolute;
    bottom: 20px;
    left: 20px;
    background: rgba(10,22,40,.88);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 14px;
    padding: 12px 18px;
    color: #fff;
}
.difference-photo-badge strong {
    display: block;
    font-size: .88rem;
    font-weight: 700;
    color: #5DD5D1;
}
.difference-photo-badge span {
    font-size: .75rem;
    color: rgba(255,255,255,.6);
}

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
    .emergency-inner { grid-template-columns: 1fr; gap: 40px; }
    .difference-layout { grid-template-columns: 1fr; gap: 40px; }
    .difference-photo img { height: 360px; }
    .difference-photo { order: -1; }
}
@media (max-width: 640px) {
    .emergency-cards { grid-template-columns: 1fr; }
    .emergency-panel { padding: 56px 0; }
    .difference { padding: 64px 0; }
}

/* ============================================================
   SERVICES SECTION — v2
   ============================================================ */
.services-header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: end;
    margin-bottom: 48px;
}
.services-header h2 {
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 3vw, 2.6rem);
    font-weight: 700;
    color: var(--navy);
    letter-spacing: -.025em;
    margin: 8px 0 0;
    line-height: 1.15;
}
.services-header h2 em { font-style:italic; color:var(--blue); font-weight:500; }
.services-header-desc {
    font-size: .97rem;
    color: var(--gray-600);
    line-height: 1.75;
    margin: 0;
    align-self: end;
}
.service-card-img img {
    width: 100%;
    height: 210px;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .5s ease;
}
.service-card:hover .service-card-img img { transform: scale(1.06); }

/* ============================================================
   APPOINTMENT SECTION — v2 with dual photos
   ============================================================ */
.appointment-shell {
    display: grid;
    grid-template-columns: 1fr 520px;
    gap: 64px;
    align-items: start;
}
.appointment-form-wrap { padding-top: 8px; }
.appointment-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--blue);
    margin-bottom: 12px;
}
.appointment-form-wrap h2 {
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 2.8vw, 2.4rem);
    font-weight: 700;
    color: var(--navy);
    letter-spacing: -.025em;
    margin-bottom: 8px;
}
.appointment-form-wrap h2 em { font-style:italic; color:var(--blue); font-weight:500; }
.appointment-form-wrap > p { color:var(--gray-600); margin-bottom:24px; font-size:.95rem; }
.appointment-form { display:flex; flex-direction:column; gap:14px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group label { font-size:.8rem; font-weight:700; color:var(--heading); letter-spacing:.02em; }
.form-group input,
.form-group select,
.form-group textarea {
    border: 1.5px solid var(--gray-100);
    border-radius: 10px;
    padding: 11px 14px;
    font-size: .9rem;
    color: var(--body);
    background: var(--white);
    font-family: var(--font);
    transition: border-color var(--ease), box-shadow var(--ease);
    outline: none;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    border-color: var(--blue);
    box-shadow: 0 0 0 3px rgba(27,111,216,.12);
}
.form-group textarea { resize: vertical; }
.btn-appt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--blue);
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    padding: 15px 32px;
    border-radius: 50px;
    border: none;
    cursor: pointer;
    font-family: var(--font);
    box-shadow: 0 6px 24px rgba(27,111,216,.3);
    transition: transform var(--ease), box-shadow var(--ease);
    width: 100%;
}
.btn-appt:hover { transform: translateY(-2px); box-shadow: 0 10px 32px rgba(27,111,216,.4); }
.btn-appt-icon { font-size:1.1rem; }

/* Appointment photos */
.appointment-photos { display:flex; flex-direction:column; gap:16px; }
.appt-photo-main {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: var(--shadow-xl);
}
.appt-photo-main img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    object-position: center;
    display: block;
}
.appt-photo-badge {
    position: absolute;
    bottom: 16px;
    left: 16px;
    background: rgba(10,22,40,.88);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50px;
    padding: 8px 16px;
    font-size: .78rem;
    font-weight: 700;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 8px;
}
.appt-photo-secondary {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: var(--shadow-md);
}
.appt-photo-secondary img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .5s ease;
}
.appt-photo-secondary:hover img { transform: scale(1.04); }

/* ============================================================
   RESPONSIVE — ALL SECTIONS
   ============================================================ */
@media (max-width: 1100px) {
    .appointment-shell { grid-template-columns: 1fr; }
    .appointment-photos { order: -1; }
    .appt-photo-main img { height: 280px; }
    .services-header { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 768px) {
    .form-row { grid-template-columns: 1fr; }
    .services-grid { grid-template-columns: 1fr; }
    .appt-photo-secondary { display: none; }
}
@media (max-width: 640px) {
    .appointment-panel { padding: 64px 0; }
    .services-section { padding: 64px 0; }
}

/* ============================================================
   IMAGE FIX — v17 — No blank spaces, consistent cards
   ============================================================ */

/* ── SERVICE CARDS — fixed height image containers ── */
.service-card { display:flex; flex-direction:column; }
.service-card-img {
    height: 220px;
    min-height: 220px;
    overflow: hidden;
    background: var(--off-white);
    flex-shrink: 0;
    position: relative;
}
.service-card-img img {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .5s ease;
}
.service-card:hover .service-card-img img { transform: scale(1.06); }
.service-card-body { flex: 1; }

/* ── SPECIALIST CARDS — photo + avatar unified ── */
.specialist-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.specialist-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 16px;
    border-radius: 16px;
    background: var(--white);
    border: 1px solid var(--gray-100);
    box-shadow: var(--shadow-xs);
    transition: transform var(--ease), box-shadow var(--ease), border-color var(--ease);
}
.specialist-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
    border-color: var(--blue-mid);
}
/* Photo card layout override */
.specialist-card--photo {
    flex-direction: column;
    padding: 0;
    overflow: hidden;
    gap: 0;
    align-items: stretch;
}
.specialist-card--photo .specialist-info {
    padding: 14px 16px 18px;
    flex: 1;
}
.specialist-photo {
    width: 100%;
    height: 200px;
    min-height: 200px;
    overflow: hidden;
    background: var(--gray-100);
    position: relative;
    flex-shrink: 0;
}
.specialist-photo img {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transition: transform .4s ease;
}
.specialist-card--photo:hover .specialist-photo img { transform: scale(1.04); }

/* ── CERT CARDS — fixed ratio ── */
.cert-card {
    background: var(--white);
    border: 1px solid var(--gray-100);
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    padding-top: 70%;
    box-shadow: var(--shadow-xs);
}
.cert-card img {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 12px;
    display: block;
}

/* ── INTRO PHOTO — fixed height ── */
.intro-photo {
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    margin: 0;
}
.intro-photo img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    object-position: center;
    display: block;
}
.intro-photo-badge {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: rgba(10,22,40,.88);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 14px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff;
}
.intro-photo-badge-num {
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 800;
    color: var(--teal);
    line-height: 1;
}
.intro-photo-badge-text {
    font-size: .78rem;
    color: rgba(255,255,255,.8);
    line-height: 1.4;
}

/* ── TEAM LEAD PHOTO — remove blank, fixed height ── */
.team-lead-photo img {
    width: 100%;
    height: 420px;
    min-height: 420px;
    object-fit: cover;
    object-position: center center;
    display: block;
    border-radius: 20px;
    box-shadow: var(--shadow-xl);
}

/* ── DIFFERENCE PHOTO — solid, no ghost ── */
.difference-photo img {
    width: 100%;
    height: 540px;
    min-height: 540px;
    object-fit: cover;
    object-position: center;
    display: block;
    mix-blend-mode: normal !important;
    filter: none !important;
    opacity: 1 !important;
}

/* ── APPOINTMENT PHOTOS ── */
.appt-photo-main img {
    width: 100%;
    height: 320px;
    min-height: 320px;
    object-fit: cover;
    object-position: center;
    display: block;
}
.appt-photo-secondary img {
    width: 100%;
    height: 160px;
    min-height: 160px;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* ── PREVENT ALL LAYOUT SHIFT — skeleton shimmer ── */
img {
    background: linear-gradient(90deg, var(--gray-100) 25%, #f0f0f0 50%, var(--gray-100) 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}
img.loaded, img[src=""], img:not([src]) {
    background: none;
    animation: none;
}
@keyframes shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
img[src] { background: var(--gray-100); animation: none; }

/* ── RESPONSIVE IMAGE FIXES ── */
@media (max-width: 1100px) {
    .specialist-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .specialist-grid { grid-template-columns: repeat(2, 1fr); }
    .service-card-img { height: 200px; min-height: 200px; }
    .specialist-photo { height: 180px; min-height: 180px; }
    .intro-photo img { height: 300px; }
    .team-lead-photo img { height: 320px; min-height: 320px; }
    .difference-photo img { height: 360px; min-height: 360px; }
}
@media (max-width: 480px) {
    .specialist-grid { grid-template-columns: 1fr 1fr; }
    .service-card-img { height: 180px; min-height: 180px; }
    .specialist-photo { height: 160px; min-height: 160px; }
}

/* ============================================================
   ANTI-BLANK v18 — prevent all layout shift
   ============================================================ */

/* Remove shimmer animation to prevent flicker */
img { background: var(--gray-100); animation: none !important; }
img[src] { background: transparent; }

/* Service images — absolute fill, never blank */
.service-card-img {
    height: 220px !important;
    min-height: 220px !important;
    position: relative !important;
    overflow: hidden !important;
    background: var(--gray-100) !important;
    display: block !important;
}
.service-card-img img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Specialist photo — absolute fill */
.specialist-photo {
    height: 200px !important;
    min-height: 200px !important;
    position: relative !important;
    overflow: hidden !important;
    background: var(--gray-100) !important;
    display: block !important;
}
.specialist-photo img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
}

/* Cert cards */
.cert-card {
    position: relative !important;
    overflow: hidden !important;
    padding-top: 140% !important;
    border-radius: 12px !important;
    background: var(--white) !important;
    border: 1px solid var(--gray-100) !important;
    box-shadow: var(--shadow-xs) !important;
}
.cert-card img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: 16px !important;
}

/* Intro photo */
.intro-photo { position: relative !important; overflow: hidden !important; }
.intro-photo img {
    width: 100% !important;
    height: 420px !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}

/* Team lead — enforce stacked centered layout (overrides any stale grid rules) */
.team-showcase .team-lead {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}
.team-showcase .team-lead-info {
    align-items: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.team-lead-photo { position: relative !important; overflow: visible !important; width: 100% !important; max-width: 380px !important; margin-left: auto !important; margin-right: auto !important; }
.team-lead-photo img {
    width: 100% !important;
    height: 420px !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
    border-radius: 20px !important;
}

/* Difference photo — kill ghost */
.difference-photo {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 20px !important;
}
.difference-photo img {
    width: 100% !important;
    height: 520px !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    mix-blend-mode: normal !important;
    filter: brightness(1) contrast(1) !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Appointment photos */
.appt-photo-main img {
    width: 100% !important;
    height: 300px !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}
.appt-photo-secondary img {
    width: 100% !important;
    height: 150px !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}

/* Responsive img fixes */
@media (max-width: 768px) {
    .service-card-img { height: 200px !important; min-height: 200px !important; }
    .specialist-photo { height: 180px !important; min-height: 180px !important; }
    .intro-photo img { height: 280px !important; }
    .team-lead-photo img { height: 300px !important; }
    .difference-photo img { height: 340px !important; }
}
@media (max-width: 480px) {
    .service-card-img { height: 180px !important; min-height: 180px !important; }
    .specialist-photo { height: 160px !important; min-height: 160px !important; }
    .intro-photo img { height: 240px !important; }
}

/* ============================================================
   PREMIUM REDESIGN v19 — Emergency + Difference
   Design system: glassmorphism, layered gradients, micro-interactions
   ============================================================ */

/* ── GOOGLE FONTS IMPORT (add if not in header) ────────────── */
/* Fraunces + Plus Jakarta Sans loaded via header.php */

/* ── DESIGN TOKENS ─────────────────────────────────────────── */
:root {
    --navy-deep:  #0A1628;
    --navy-mid:   #0B1F3A;
    --navy-light: #123B6B;
    --blue-glow:  #1F5FA8;
    --teal:       #2EC4B6;
    --teal-dark:  #0EA5A0;
    --blue-soft:  #4DA3FF;
    --glass-bg:   rgba(255,255,255,.06);
    --glass-border: rgba(255,255,255,.12);
    --glow-teal:  rgba(46,196,182,.18);
    --glow-blue:  rgba(77,163,255,.15);
}

/* ============================================================
   EMERGENCY SECTION V2
   ============================================================ */
.emergency-v2 {
    position: relative;
    padding: 100px 0 110px;
    background: linear-gradient(160deg, #0A1628 0%, #0B1F3A 45%, #0D2648 100%);
    overflow: hidden;
    isolation: isolate;
}
.emerg-glow-1 {
    position: absolute;
    top: -120px; right: -100px;
    width: 600px; height: 600px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,107,107,.12) 0%, transparent 65%);
    pointer-events: none;
    animation: glowPulse 4s ease-in-out infinite;
}
.emerg-glow-2 {
    position: absolute;
    bottom: -80px; left: -80px;
    width: 400px; height: 400px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(46,196,182,.1) 0%, transparent 65%);
    pointer-events: none;
}
@keyframes glowPulse {
    0%,100% { opacity:.7; transform: scale(1); }
    50% { opacity:1; transform: scale(1.08); }
}

.emerg-container { position: relative; z-index: 1; }

.emerg-badge-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 48px;
}
.emerg-live-dot {
    width: 10px; height: 10px;
    border-radius: 50%;
    background: #2EC4B6;
    box-shadow: 0 0 0 0 rgba(46,196,182,.6);
    animation: livePing 1.8s ease infinite;
    flex-shrink: 0;
}
@keyframes livePing {
    0% { box-shadow: 0 0 0 0 rgba(46,196,182,.6); }
    70% { box-shadow: 0 0 0 12px rgba(46,196,182,0); }
    100% { box-shadow: 0 0 0 0 rgba(46,196,182,0); }
}
.emerg-live-text {
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255,255,255,.55);
}

.emerg-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

/* Left col */
.emerg-left h2 {
    font-family: 'Fraunces', Georgia, serif;
    font-size: clamp(2.2rem, 4vw, 3.4rem);
    font-weight: 700;
    line-height: 1.1;
    color: #fff;
    letter-spacing: -.03em;
    margin-bottom: 20px;
}
.emerg-left h2 em {
    font-style: italic;
    font-weight: 400;
    color: #2EC4B6;
    display: block;
}
.emerg-desc {
    font-size: 1.05rem;
    color: rgba(255,255,255,.65);
    line-height: 1.8;
    margin-bottom: 36px;
    max-width: 460px;
}

.emerg-stats {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 40px;
    padding: 20px 24px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 16px;
    backdrop-filter: blur(12px);
}
.emerg-stat strong {
    display: block;
    font-size: 1.4rem;
    font-weight: 800;
    color: #fff;
    line-height: 1;
    margin-bottom: 4px;
}
.emerg-stat span {
    font-size: .73rem;
    color: rgba(255,255,255,.5);
    letter-spacing: .04em;
    white-space: nowrap;
}
.emerg-stat-div {
    width: 1px;
    height: 32px;
    background: rgba(255,255,255,.15);
    flex-shrink: 0;
}

.emerg-cta-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.btn-emerg-primary {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(135deg, #2EC4B6 0%, #4DA3FF 100%);
    color: #fff;
    font-size: 1.05rem;
    font-weight: 700;
    padding: 18px 32px;
    border-radius: 14px;
    text-decoration: none;
    box-shadow: 0 8px 32px rgba(46,196,182,.35);
    transition: transform .2s ease, box-shadow .2s ease;
    width: fit-content;
}
.btn-emerg-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 40px rgba(46,196,182,.5);
}
.btn-emerg-icon {
    width: 36px; height: 36px;
    background: rgba(255,255,255,.2);
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.btn-emerg-secondary {
    color: rgba(255,255,255,.6);
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none;
    padding: 4px 0;
    transition: color .2s;
    width: fit-content;
}
.btn-emerg-secondary:hover { color: #2EC4B6; }

/* Right col — cards */
.emerg-card-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 20px;
}
.emerg-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 16px;
    padding: 18px;
    backdrop-filter: blur(12px);
    transition: background .2s ease, transform .2s ease, border-color .2s ease;
    cursor: default;
}
.emerg-card:hover {
    background: rgba(255,255,255,.1);
    border-color: rgba(46,196,182,.3);
    transform: translateY(-2px);
}
.emerg-card-icon {
    width: 44px; height: 44px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    color: #fff;
}
.emerg-card strong {
    display: block;
    font-size: .88rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
    line-height: 1.3;
}
.emerg-card span {
    font-size: .75rem;
    color: rgba(255,255,255,.5);
    line-height: 1.4;
}

/* Hotline bar */
.emerg-hotline {
    display: flex;
    align-items: center;
    gap: 16px;
    background: rgba(46,196,182,.1);
    border: 1px solid rgba(46,196,182,.25);
    border-radius: 14px;
    padding: 16px 20px;
}
.emerg-hotline-pulse {
    width: 12px; height: 12px;
    border-radius: 50%;
    background: #2EC4B6;
    flex-shrink: 0;
    animation: livePing 1.8s ease infinite;
}
.emerg-hotline-label {
    display: block;
    font-size: .72rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,.5);
    margin-bottom: 2px;
}
.emerg-hotline-num {
    font-size: 1.2rem;
    font-weight: 800;
    color: #2EC4B6;
    text-decoration: none;
    letter-spacing: -.01em;
    transition: opacity .2s;
}
.emerg-hotline-num:hover { opacity: .8; }

/* ============================================================
   DIFFERENCE SECTION V2
   ============================================================ */
.difference-v2 {
    position: relative;
    padding: 112px 0 120px;
    background: linear-gradient(160deg, #060E1C 0%, #0A1628 40%, #0B1F3A 100%);
    overflow: hidden;
    isolation: isolate;
}
.diff2-glow {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    width: 800px; height: 600px;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(46,196,182,.07) 0%, transparent 65%);
    pointer-events: none;
}
.diff2-container { position: relative; z-index: 1; }

.diff2-header {
    text-align: center;
    max-width: 680px;
    margin: 0 auto 72px;
}
.diff2-eyebrow {
    display: inline-block;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #2EC4B6;
    background: rgba(46,196,182,.12);
    border: 1px solid rgba(46,196,182,.25);
    border-radius: 50px;
    padding: 6px 16px;
    margin-bottom: 20px;
}
.diff2-header h2 {
    font-family: 'Fraunces', Georgia, serif;
    font-size: clamp(2.2rem, 4vw, 3.2rem);
    font-weight: 700;
    color: #fff;
    letter-spacing: -.03em;
    line-height: 1.12;
    margin-bottom: 16px;
}
.diff2-header h2 em {
    font-style: italic;
    font-weight: 400;
    color: #4DA3FF;
}
.diff2-subtitle {
    font-size: 1.02rem;
    color: rgba(255,255,255,.55);
    line-height: 1.8;
    margin: 0;
}

.diff2-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: center;
}

/* Points */
.diff2-points {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.diff2-item {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
    transition: background .2s ease;
    cursor: default;
}
.diff2-item:first-child { padding-top: 0; }
.diff2-item:last-of-type { border-bottom: none; }
.diff2-num {
    width: 40px; height: 40px;
    border-radius: 12px;
    background: rgba(46,196,182,.12);
    border: 1px solid rgba(46,196,182,.25);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    transition: background .2s, border-color .2s;
}
.diff2-num span {
    font-size: .72rem;
    font-weight: 800;
    color: #2EC4B6;
    letter-spacing: .04em;
}
.diff2-item:hover .diff2-num {
    background: rgba(46,196,182,.22);
    border-color: rgba(46,196,182,.5);
}
.diff2-item-body p {
    font-size: .97rem;
    color: rgba(255,255,255,.8);
    font-weight: 500;
    margin: 0;
    line-height: 1.5;
    transition: color .2s;
}
.diff2-item:hover .diff2-item-body p { color: #fff; }

.diff2-cta {
    padding-top: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.btn-diff2 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #2EC4B6, #4DA3FF);
    color: #fff;
    font-size: .92rem;
    font-weight: 700;
    padding: 14px 28px;
    border-radius: 12px;
    text-decoration: none;
    box-shadow: 0 6px 24px rgba(46,196,182,.3);
    transition: transform .2s, box-shadow .2s;
    width: fit-content;
}
.btn-diff2:hover { transform: translateY(-2px); box-shadow: 0 10px 32px rgba(46,196,182,.45); }
.diff2-trust {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .78rem;
    color: rgba(255,255,255,.4);
}

/* Visual */
.diff2-visual { position: relative; }
.diff2-img-wrap {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 40px 80px rgba(0,0,0,.5);
}
.diff2-img-wrap img {
    width: 100%;
    height: 580px;
    object-fit: cover;
    object-position: center top;
    display: block;
    filter: brightness(0.9) contrast(1.05);
    transition: transform .6s ease;
}
.diff2-img-wrap:hover img { transform: scale(1.03); }
.diff2-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(10,22,40,.7) 0%, transparent 50%);
    pointer-events: none;
}
.diff2-img-badge {
    position: absolute;
    top: 24px;
    right: -20px;
    background: #fff;
    border-radius: 16px;
    padding: 16px 20px;
    box-shadow: 0 16px 40px rgba(0,0,0,.25);
    text-align: center;
    min-width: 110px;
    transform: rotate(3deg);
    transition: transform .3s ease;
}
.diff2-img-wrap:hover .diff2-img-badge { transform: rotate(0deg) scale(1.04); }
.diff2-img-badge-inner strong {
    display: block;
    font-size: 1.8rem;
    font-weight: 900;
    color: #0A1628;
    line-height: 1;
    margin-bottom: 4px;
}
.diff2-img-badge-inner span {
    font-size: .7rem;
    color: #6B7280;
    font-weight: 600;
    letter-spacing: .03em;
}
.diff2-img-tag {
    position: absolute;
    bottom: 24px;
    left: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(10,22,40,.85);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(46,196,182,.25);
    border-radius: 50px;
    padding: 10px 18px;
    font-size: .78rem;
    font-weight: 600;
    color: rgba(255,255,255,.85);
}

/* ── SHARED MOBILE RESPONSIVE ──────────────────────────────── */
@media (max-width: 960px) {
    .emerg-grid { grid-template-columns: 1fr; gap: 48px; }
    .emerg-left h2 { font-size: 2.4rem; }
    .emerg-card-grid { grid-template-columns: 1fr 1fr; }
    .diff2-layout { grid-template-columns: 1fr; gap: 56px; }
    .diff2-img-wrap img { height: 420px; }
    .diff2-img-badge { right: 12px; }
    .diff2-visual { order: -1; }
}
@media (max-width: 640px) {
    .emergency-v2 { padding: 64px 0 72px; }
    .difference-v2 { padding: 72px 0 80px; }
    .emerg-grid { gap: 36px; }
    .emerg-stats { flex-wrap: wrap; gap: 16px; }
    .emerg-stat-div { display: none; }
    .emerg-card-grid { grid-template-columns: 1fr; gap: 10px; }
    .emerg-left h2 { font-size: 2rem; }
    .btn-emerg-primary { width: 100%; justify-content: center; }
    .diff2-header { margin-bottom: 48px; }
    .diff2-img-wrap img { height: 320px; }
    .diff2-img-badge { display: none; }
    .diff2-layout { gap: 36px; }
}
@media (max-width: 480px) {
    .emerg-card { flex-direction: row; }
    .diff2-item { gap: 14px; }
    .diff2-num { width: 36px; height: 36px; border-radius: 10px; }
}

/* ============================================================
/* ============================================================

/* ============================================================
   NAVBAR v22 — Single clean definition
   Hamburger uses visibility+transform (JS class-toggle only)
   ============================================================ */
.site-header {
    position:sticky; top:0; z-index:1000;
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(10,22,40,.06);
    transition:box-shadow .25s ease;
}
.site-header.is-scrolled { box-shadow:0 4px 24px rgba(10,22,40,.1); }
.site-nav { width:100%; }
.nav-inner {
    display:flex; align-items:center; justify-content:space-between;
    height:72px; gap:24px; max-width:1240px; margin:0 auto; padding:0 24px;
}
.nav-logo img { height:48px; width:auto; display:block; }
.nav-links {
    display:flex; align-items:center; gap:4px;
    list-style:none; margin:0; padding:0; flex:1; justify-content:center;
}
.nav-link {
    display:inline-flex; align-items:center; gap:4px;
    padding:8px 14px; font-size:.88rem; font-weight:600;
    color:#374151; text-decoration:none; border-radius:8px;
    transition:background .2s,color .2s; white-space:nowrap;
}
.nav-link:hover,.nav-link.active { background:#F0F6FF; color:#1B6FD8; }
.nav-dropdown { position:relative; }
.nav-dropdown-menu {
    display:none; position:absolute; top:calc(100% + 8px); left:0;
    background:#fff; border:1px solid rgba(10,22,40,.08);
    border-radius:16px; padding:8px; list-style:none; margin:0;
    min-width:220px; box-shadow:0 12px 40px rgba(10,22,40,.12); z-index:100;
}
.nav-dropdown:hover .nav-dropdown-menu { display:block; }
.nav-dropdown-menu li a {
    display:block; padding:10px 14px; font-size:.86rem; font-weight:500;
    color:#374151; text-decoration:none; border-radius:10px; transition:background .15s,color .15s;
}
.nav-dropdown-menu li a:hover { background:#F0F6FF; color:#1B6FD8; }
.nav-cta { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.nav-phone {
    display:flex; align-items:center; gap:6px; font-size:.84rem;
    font-weight:700; color:#0A1628; text-decoration:none; white-space:nowrap;
}
.nav-phone:hover { color:#1B6FD8; }
.btn-nav-cta {
    display:inline-flex; align-items:center;
    background:linear-gradient(135deg,#1B6FD8,#2EC4B6); color:#fff !important;
    font-size:.84rem; font-weight:700; padding:10px 20px; border-radius:10px;
    text-decoration:none; white-space:nowrap;
    box-shadow:0 4px 16px rgba(27,111,216,.3); transition:transform .2s,box-shadow .2s;
}
.btn-nav-cta:hover { transform:translateY(-1px); box-shadow:0 6px 20px rgba(27,111,216,.4); }
.nav-hamburger {
    display:none; flex-direction:column; justify-content:center;
    align-items:center; gap:5px; width:44px; height:44px;
    background:none; border:1.5px solid rgba(10,22,40,.12);
    border-radius:10px; cursor:pointer; padding:0; flex-shrink:0; transition:background .2s;
}
.nav-hamburger:hover { background:#F0F6FF; border-color:#1B6FD8; }
.ham-line {
    display:block; width:20px; height:2px; background:#0A1628;
    border-radius:2px; transition:transform .3s ease,opacity .3s ease;
}
.nav-hamburger.is-active .ham-line:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-hamburger.is-active .ham-line:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav-hamburger.is-active .ham-line:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* Overlay */
.mobile-nav-overlay {
    position:fixed; inset:0; background:rgba(10,22,40,.55);
    z-index:1001; backdrop-filter:blur(2px);
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .3s ease,visibility .3s ease;
}
.mobile-nav-overlay.is-open { opacity:1; visibility:visible; pointer-events:auto; }

/* Drawer — visibility+transform, JS toggles .is-open only */
.mobile-nav {
    position:fixed; top:0; right:0; width:300px; max-width:88vw;
    height:100vh; height:100dvh; background:#fff; z-index:1002;
    display:flex; flex-direction:column;
    box-shadow:-8px 0 40px rgba(10,22,40,.25);
    transform:translateX(110%); visibility:hidden;
    transition:transform .35s cubic-bezier(.4,0,.2,1),visibility 0s .35s;
    overflow-y:auto; -webkit-overflow-scrolling:touch;
}
.mobile-nav.is-open {
    transform:translateX(0); visibility:visible;
    transition:transform .35s cubic-bezier(.4,0,.2,1),visibility 0s 0s;
}
body.nav-open { overflow:hidden !important; }
.mobile-nav-header {
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 20px; border-bottom:1px solid #F3F4F6; flex-shrink:0;
}
.mobile-nav-header .nav-logo img { height:40px; }
.mobile-nav-close {
    width:40px; height:40px; border:1px solid #E5E7EB; border-radius:10px;
    background:none; cursor:pointer; display:flex; align-items:center; justify-content:center;
    color:#374151; transition:background .2s,color .2s;
}
.mobile-nav-close:hover { background:#FEF2F2; color:#EF4444; border-color:#FCA5A5; }
.mobile-nav-links { list-style:none; margin:0; padding:12px 0; flex:1; }
.mobile-nav-links > li > a {
    display:block; padding:14px 20px; font-size:1rem; font-weight:600;
    color:#111827; text-decoration:none; transition:background .15s,color .15s,padding-left .15s;
}
.mobile-nav-links > li > a:hover { background:#F0F6FF; color:#1B6FD8; padding-left:28px; }
.mobile-nav-group-btn {
    display:flex; align-items:center; justify-content:space-between; width:100%;
    padding:14px 20px; font-size:1rem; font-weight:600; color:#111827;
    background:none; border:none; cursor:pointer; text-align:left; transition:background .15s,color .15s;
}
.mobile-nav-group-btn:hover { background:#F0F6FF; color:#1B6FD8; }
.mobile-nav-group-btn svg { transition:transform .25s ease; flex-shrink:0; }
.mobile-nav-group-btn.is-open svg { transform:rotate(180deg); }
.mobile-nav-submenu {
    list-style:none; margin:0; padding:0;
    max-height:0; overflow:hidden; transition:max-height .3s ease; background:#F9FAFB;
}
.mobile-nav-submenu li a {
    display:block; padding:12px 20px 12px 32px; font-size:.9rem; font-weight:500;
    color:#374151; text-decoration:none; border-bottom:1px solid #F3F4F6; transition:background .15s,color .15s;
}
.mobile-nav-submenu li:last-child a { border-bottom:none; }
.mobile-nav-submenu li a:hover { background:#EFF6FF; color:#1B6FD8; }
.mobile-nav-footer {
    padding:16px 20px 32px; border-top:1px solid #F3F4F6;
    display:flex; flex-direction:column; gap:12px; flex-shrink:0;
}
.mobile-nav-phone {
    display:flex; align-items:center; gap:8px; font-size:.95rem; font-weight:700;
    color:#0A1628; text-decoration:none; padding:12px 16px; background:#F0F6FF;
    border-radius:12px; transition:background .2s;
}
.mobile-nav-phone:hover { background:#DBEAFE; }
.btn-mobile-cta {
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg,#1B6FD8,#2EC4B6); color:#fff !important;
    font-size:.95rem; font-weight:700; padding:14px 20px;
    border-radius:12px; text-decoration:none; box-shadow:0 4px 16px rgba(27,111,216,.3);
}

/* ── RESPONSIVE NAVBAR ───────────────────────────────────── */
@media (min-width:769px) {
    .nav-hamburger { display:none !important; }
    .mobile-nav { display:none !important; }
    .mobile-nav-overlay { display:none !important; }
    .nav-links { display:flex !important; }
    .nav-cta   { display:flex !important; }
}
@media (max-width:768px) {
    .nav-links          { display:none !important; }
    .nav-cta            { display:none !important; }
    .nav-dropdown-menu  { display:none !important; }
    .nav-hamburger      { display:flex !important; }
    .nav-inner          { height:64px !important; }
    .nav-logo img       { height:40px !important; }
    .mobile-nav         { display:flex !important; }
    .mobile-nav-overlay { display:block !important; }
}
@media (max-width:480px) {
    .nav-inner { padding:0 14px !important; }
    .nav-logo img { height:36px !important; }
}
/* ============================================================
   NAVBAR v22 — Definitive Clean Version
   KEY: mobile-nav uses visibility+transform NOT display:none
   ============================================================ */

/* ── SITE HEADER ─────────────────────────────────────────── */
.site-header {
    position: sticky;
    top: 0;
    z-index: 999;
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(10,22,40,.07);
    transition: box-shadow .25s;
}
.site-header.is-scrolled { box-shadow: 0 4px 24px rgba(10,22,40,.1); }
.site-nav { width: 100%; }

/* ── NAV INNER ───────────────────────────────────────────── */
.nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 72px;
    gap: 16px;
}
.nav-logo img { height: 48px; width: auto; display: block; }

/* ── DESKTOP LINKS ───────────────────────────────────────── */
.nav-links {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0; padding: 0;
    gap: 2px;
    flex: 1;
    justify-content: center;
}
.nav-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 8px 13px;
    font-size: .88rem;
    font-weight: 600;
    color: #374151;
    text-decoration: none;
    border-radius: 8px;
    white-space: nowrap;
    transition: background .18s, color .18s;
}
.nav-link:hover, .nav-link.active { background: #EEF4FF; color: #1B6FD8; }
.nav-link svg { opacity: .6; }

/* Dropdown */
.nav-dropdown { position: relative; }
.nav-dropdown-menu {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 220px;
    background: #fff;
    border: 1px solid rgba(10,22,40,.08);
    border-radius: 14px;
    padding: 6px;
    list-style: none;
    margin: 0;
    box-shadow: 0 12px 40px rgba(10,22,40,.12);
    z-index: 100;
}
.nav-dropdown:hover .nav-dropdown-menu { display: block; }
.nav-dropdown-menu li a {
    display: block;
    padding: 10px 14px;
    font-size: .86rem;
    font-weight: 500;
    color: #374151;
    text-decoration: none;
    border-radius: 9px;
    transition: background .15s, color .15s;
}
.nav-dropdown-menu li a:hover { background: #EEF4FF; color: #1B6FD8; }

/* ── DESKTOP CTA ─────────────────────────────────────────── */
.nav-cta {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}
.nav-phone {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .84rem;
    font-weight: 700;
    color: #0A1628;
    text-decoration: none;
    white-space: nowrap;
}
.nav-phone:hover { color: #1B6FD8; }
.btn-nav-cta {
    display: inline-flex;
    align-items: center;
    background: linear-gradient(135deg,#1B6FD8,#2EC4B6);
    color: #fff !important;
    font-size: .84rem;
    font-weight: 700;
    padding: 10px 20px;
    border-radius: 10px;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 4px 16px rgba(27,111,216,.28);
    transition: transform .18s, box-shadow .18s;
}
.btn-nav-cta:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(27,111,216,.38); }

/* ── HAMBURGER ───────────────────────────────────────────── */
.nav-hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    background: none;
    border: 1.5px solid rgba(10,22,40,.14);
    border-radius: 10px;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    -webkit-tap-highlight-color: transparent;
    transition: background .18s, border-color .18s;
}
.nav-hamburger:hover { background: #EEF4FF; border-color: #1B6FD8; }
.ham-line {
    display: block;
    width: 20px;
    height: 2px;
    background: #0A1628;
    border-radius: 2px;
    transition: transform .28s ease, opacity .28s ease, width .28s ease;
    transform-origin: center;
}
.nav-hamburger.is-active .ham-line:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-hamburger.is-active .ham-line:nth-child(2) { opacity: 0; width: 0; }
.nav-hamburger.is-active .ham-line:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── OVERLAY ─────────────────────────────────────────────── */
.mobile-nav-overlay {
    position: fixed;
    inset: 0;
    z-index: 1001;
    background: rgba(10,22,40,.6);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
}
.mobile-nav-overlay.is-open {
    opacity: 1;
    pointer-events: all;
}

/* ── MOBILE DRAWER ───────────────────────────────────────── */
/* KEY: always display:flex, off-screen via transform + invisible via visibility */
.mobile-nav {
    position: fixed;
    top: 0;
    right: 0;
    width: 300px;
    max-width: 88vw;
    height: 100vh;
    height: 100dvh;
    z-index: 1002;
    display: flex;
    flex-direction: column;
    background: #fff;
    box-shadow: -8px 0 48px rgba(10,22,40,.18);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    /* Off-screen by default */
    transform: translateX(110%);
    visibility: hidden;
    transition: transform .32s cubic-bezier(.4,0,.2,1),
                visibility 0s linear .32s;
}
/* Open state */
.mobile-nav.is-open {
    transform: translateX(0);
    visibility: visible;
    transition: transform .32s cubic-bezier(.4,0,.2,1),
                visibility 0s linear 0s;
}

/* Scroll lock */
body.nav-open { overflow: hidden; }

/* ── DRAWER HEADER ───────────────────────────────────────── */
.mobile-nav-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #F3F4F6;
    flex-shrink: 0;
}
.mobile-nav-header .nav-logo img { height: 38px; width: auto; }
.mobile-nav-close {
    width: 40px; height: 40px;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    background: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6B7280;
    -webkit-tap-highlight-color: transparent;
    transition: background .18s, color .18s, border-color .18s;
}
.mobile-nav-close:hover { background: #FEF2F2; color: #EF4444; border-color: #FCA5A5; }

/* ── DRAWER LINKS ────────────────────────────────────────── */
.mobile-nav-links {
    list-style: none;
    margin: 0;
    padding: 8px 0;
    flex: 1;
}
.mobile-nav-links > li > a {
    display: block;
    padding: 14px 22px;
    font-size: .97rem;
    font-weight: 600;
    color: #111827;
    text-decoration: none;
    border-bottom: 1px solid #F9FAFB;
    transition: background .15s, color .15s, padding-left .15s;
}
.mobile-nav-links > li > a:hover { background: #F0F6FF; color: #1B6FD8; padding-left: 30px; }

/* Services accordion */
.mobile-nav-group-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 22px;
    font-size: .97rem;
    font-weight: 600;
    color: #111827;
    background: none;
    border: none;
    border-bottom: 1px solid #F9FAFB;
    cursor: pointer;
    text-align: left;
    -webkit-tap-highlight-color: transparent;
    transition: background .15s, color .15s;
}
.mobile-nav-group-btn:hover { background: #F0F6FF; color: #1B6FD8; }
.mobile-nav-group-btn svg { transition: transform .25s ease; flex-shrink: 0; }
.mobile-nav-group-btn.is-open svg { transform: rotate(180deg); }

.mobile-nav-submenu {
    list-style: none;
    margin: 0; padding: 0;
    max-height: 0;
    overflow: hidden;
    background: #F9FAFB;
    transition: max-height .28s ease;
}
.mobile-nav-submenu li a {
    display: block;
    padding: 11px 22px 11px 34px;
    font-size: .88rem;
    font-weight: 500;
    color: #4B5563;
    text-decoration: none;
    border-bottom: 1px solid #F3F4F6;
    transition: background .15s, color .15s;
}
.mobile-nav-submenu li:last-child a { border-bottom: none; }
.mobile-nav-submenu li a:hover { background: #EEF4FF; color: #1B6FD8; }

/* ── DRAWER FOOTER ───────────────────────────────────────── */
.mobile-nav-footer {
    padding: 16px 20px 32px;
    border-top: 1px solid #F3F4F6;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex-shrink: 0;
}
.mobile-nav-phone {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: .92rem;
    font-weight: 700;
    color: #0A1628;
    text-decoration: none;
    padding: 12px 16px;
    background: #F0F6FF;
    border-radius: 12px;
    transition: background .18s;
}
.mobile-nav-phone:hover { background: #DBEAFE; }
.mobile-nav-phone svg { color: #1B6FD8; flex-shrink: 0; }
.btn-mobile-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg,#1B6FD8,#2EC4B6);
    color: #fff !important;
    font-size: .92rem;
    font-weight: 700;
    padding: 14px 20px;
    border-radius: 12px;
    text-decoration: none;
    box-shadow: 0 4px 16px rgba(27,111,216,.28);
    -webkit-tap-highlight-color: transparent;
    transition: transform .18s, box-shadow .18s;
}
.btn-mobile-cta:active { transform: scale(.97); }

/* ============================================================
   NAVBAR RESPONSIVE — show/hide rules
   ============================================================ */

/* Desktop ≥ 769px */
@media (min-width: 769px) {
    .nav-hamburger   { display: none !important; }
    .nav-links       { display: flex !important; }
    .nav-cta         { display: flex !important; }
    /* Keep mobile-nav off-screen on desktop too (don't show via keyboard/etc) */
    .mobile-nav      { visibility: hidden !important; transform: translateX(110%) !important; }
    .mobile-nav-overlay { pointer-events: none !important; opacity: 0 !important; }
}

/* Mobile ≤ 768px */
@media (max-width: 768px) {
    .nav-links       { display: none !important; }
    .nav-cta         { display: none !important; }
    .nav-hamburger   { display: flex !important; }
    .nav-inner       { height: 64px !important; }
    .nav-logo img    { height: 40px !important; }
    .nav-dropdown-menu { display: none !important; }
}

/* ============================================================
   FAQ SECTION — Premium accordion v22
   ============================================================ */
.home-faq {
    padding: 100px 0;
    background: #fff;
}
.faq-header {
    margin-bottom: 56px;
}
.faq-header h2 {
    font-family: 'Fraunces', Georgia, serif;
    font-size: clamp(2rem, 4vw, 2.8rem);
    font-weight: 700;
    color: #0A1628;
    letter-spacing: -.03em;
    margin-bottom: 12px;
}
.faq-header h2 em {
    font-style: italic;
    font-weight: 400;
    color: #1B6FD8;
}

/* FAQ grid — 2 column on desktop */
.faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    align-items: start;
}

/* FAQ accordion item */
.faq-item {
    border: 1px solid #E5E7EB;
    border-radius: 14px;
    overflow: hidden;
    transition: border-color .2s, box-shadow .2s;
    background: #fff;
}
.faq-item:hover {
    border-color: #BFDBFE;
    box-shadow: 0 4px 20px rgba(27,111,216,.08);
}
.faq-item[open] {
    border-color: #93C5FD;
    box-shadow: 0 6px 24px rgba(27,111,216,.1);
}

/* Summary — the clickable question */
.faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 24px;
    font-size: .97rem;
    font-weight: 600;
    color: #111827;
    cursor: pointer;
    list-style: none;
    user-select: none;
    -webkit-user-select: none;
    transition: background .15s, color .15s;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::marker { display: none; }
.faq-item[open] summary {
    color: #1B6FD8;
    background: #EFF6FF;
}
.faq-item summary:hover { background: #F9FAFB; }
.faq-item[open] summary:hover { background: #EFF6FF; }

/* The ＋/× chevron icon */
.faq-item summary::after {
    content: '';
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    min-width: 28px;
    background: #F3F4F6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / 14px no-repeat;
    border-radius: 50%;
    transition: background .2s, transform .25s;
    flex-shrink: 0;
}
.faq-item[open] summary::after {
    background: #DBEAFE url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231B6FD8' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E") center / 14px no-repeat;
    transform: rotate(180deg);
}

/* Answer body */
.faq-answer {
    padding: 0 24px 20px;
    font-size: .93rem;
    color: #4B5563;
    line-height: 1.75;
    border-top: 1px solid #F3F4F6;
    padding-top: 16px;
}
.faq-answer p { margin: 0; }

/* ============================================================
   REVIEWS / TESTIMONIALS — Premium card grid v22
   ============================================================ */
/* ============================================
   REVIEWS — Premium Redesign
   ============================================ */
.rv-section{padding:80px 0;background:linear-gradient(160deg,#F8FAFF 0%,#F0F6FF 100%);}
.rv-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px;}
.rv-header-left h2{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;color:var(--navy);line-height:1.12;letter-spacing:-.025em;margin:0;}
.rv-header-left h2 em{font-style:italic;color:var(--blue);font-weight:500;}
.rv-google-badge{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:12px 20px;box-shadow:0 2px 8px rgba(0,0,0,.04);}
.rv-google-stars{color:#FBBF24;font-size:.95rem;letter-spacing:1px;display:flex;align-items:center;gap:6px;}
.rv-google-stars strong{color:var(--navy);font-size:1.1rem;font-weight:800;}
.rv-google-count{font-size:.75rem;color:var(--gray-600);display:block;margin-top:1px;}

/* Cards grid */
.rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.rv-card{background:#fff;border:1px solid #E5E7EB;border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 2px 10px rgba(10,22,40,.04);transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;}
.rv-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px rgba(27,111,216,.1);border-color:#BFDBFE;}
.rv-card-featured{border-color:#DBEAFE;background:linear-gradient(160deg,#fff 0%,#F0F7FF 100%);}

/* Card top — tag + stars */
.rv-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.rv-tag{font-size:.68rem;font-weight:700;padding:4px 10px;border-radius:999px;border:1px solid;letter-spacing:.02em;text-transform:uppercase;}
.rv-stars{color:#FBBF24;font-size:.9rem;letter-spacing:2px;}

/* Review text */
.rv-text{font-size:.9rem;color:#374151;line-height:1.72;flex:1;margin:0;font-style:italic;}

/* Author */
.rv-author{display:flex;align-items:center;gap:10px;padding-top:14px;border-top:1px solid #F3F4F6;}
.rv-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.12);}
.rv-author strong{display:block;font-size:.88rem;font-weight:700;color:#111827;margin-bottom:1px;}
.rv-source{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;color:var(--gray-600);}

/* Footer CTA */
.rv-footer{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:32px;}
.rv-cta-link{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;font-weight:600;color:var(--blue);text-decoration:none;transition:gap .2s,color .2s;}
.rv-cta-link:hover{gap:10px;color:var(--blue-dark);}
.rv-cta-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border-radius:10px;background:var(--blue);color:#fff;font-size:.84rem;font-weight:600;text-decoration:none;transition:all .25s;box-shadow:0 4px 14px rgba(27,111,216,.2);}
.rv-cta-btn:hover{background:var(--blue-dark);color:#fff;transform:translateY(-2px);box-shadow:0 8px 24px rgba(27,111,216,.3);}

/* ============================================================
   CERTIFICATIONS — Premium layout v22
   ============================================================ */
/* ============================================
   CERTIFICATIONS — Premium Redesign
   ============================================ */
.cr-section{padding:80px 0;background:linear-gradient(180deg,#F8FAFF 0%,#fff 100%);}
.cr-layout{display:grid;grid-template-columns:38% 1fr;gap:56px;align-items:center;}
.cr-content h2{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;color:var(--navy);line-height:1.12;letter-spacing:-.025em;margin-bottom:14px;}
.cr-content h2 em{font-style:italic;color:var(--blue);font-weight:500;}
.cr-intro{font-size:.9rem;color:var(--gray-600);line-height:1.7;margin-bottom:24px;}
.cr-checks{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:14px;}
.cr-checks li{display:flex;align-items:flex-start;gap:12px;}
.cr-check-icon{width:28px;height:28px;border-radius:8px;background:#EFF6FF;border:1px solid #DBEAFE;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.cr-checks li strong{display:block;font-size:.88rem;color:var(--navy);font-weight:600;margin-bottom:1px;}
.cr-checks li span{font-size:.8rem;color:var(--gray-600);line-height:1.45;}
.cr-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;}
.cr-pill{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:999px;background:#EFF6FF;border:1px solid #DBEAFE;font-size:.72rem;font-weight:600;color:var(--blue);letter-spacing:.02em;}
.cr-cta{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:12px;background:var(--blue);color:#fff;font-size:.88rem;font-weight:600;text-decoration:none;transition:all .25s;box-shadow:0 4px 14px rgba(27,111,216,.2);}
.cr-cta:hover{background:var(--blue-dark);color:#fff;transform:translateY(-2px);box-shadow:0 8px 24px rgba(27,111,216,.3);}

/* Gallery panel */
.cr-gallery-panel{background:#fff;border:1px solid #E5E7EB;border-radius:20px;padding:16px;box-shadow:0 4px 24px rgba(10,22,40,.06);}
.cr-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.cr-card{position:relative;aspect-ratio:3/4;border-radius:12px;overflow:hidden;background:#F9FAFB;border:1px solid #F0F0F0;cursor:pointer;transition:transform .2s,box-shadow .2s;padding:0;-webkit-appearance:none;appearance:none;font-family:inherit;}
.cr-card:hover{transform:scale(1.03);box-shadow:0 8px 28px rgba(10,22,40,.1);}
.cr-card img{width:100%;height:100%;object-fit:contain;object-position:center;padding:8px;display:block;}
.cr-card-zoom{position:absolute;bottom:8px;right:8px;width:30px;height:30px;border-radius:8px;background:rgba(27,111,216,.85);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;backdrop-filter:blur(4px);}
.cr-card:hover .cr-card-zoom{opacity:1;}
.cr-more{display:block;width:100%;margin-top:10px;padding:10px;border:1px dashed #CBD5E1;border-radius:10px;background:transparent;color:var(--blue);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s;}
.cr-more:hover{background:#EFF6FF;border-color:var(--blue);}

/* Lightbox Modal */
.cr-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;}
.cr-modal[aria-hidden="false"]{opacity:1;visibility:visible;}
.cr-modal-overlay{position:absolute;inset:0;background:rgba(8,23,41,.85);backdrop-filter:blur(8px);}
.cr-modal-content{position:relative;max-width:720px;max-height:90vh;display:flex;align-items:center;justify-content:center;}
.cr-modal-img{max-width:100%;max-height:85vh;border-radius:16px;box-shadow:0 24px 64px rgba(0,0,0,.3);object-fit:contain;background:#fff;padding:12px;}
.cr-modal-close{position:fixed;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;z-index:10;}
.cr-modal-close:hover{background:rgba(255,255,255,.2);}
.cr-modal-nav{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;z-index:10;}
.cr-modal-nav:hover{background:rgba(255,255,255,.2);}
.cr-modal-prev{left:20px;}
.cr-modal-next{right:20px;}
.cr-modal-counter{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.6);font-size:.82rem;font-weight:500;z-index:10;}

/* ============================================================
   RESPONSIVE — FAQ, Reviews, Certs
   ============================================================ */
@media (max-width: 1024px) {
    .faq-grid { grid-template-columns: 1fr; }
    .rv-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
    .cr-layout { grid-template-columns: 1fr; gap: 36px; }
}
@media (max-width: 768px) {
    .home-faq, .rv-section, .cr-section { padding: 56px 0; }
    .faq-grid { grid-template-columns: 1fr; gap: 8px; }
    .rv-grid { grid-template-columns: 1fr; gap: 14px; }
    .cr-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .faq-item summary { padding: 16px 18px; font-size: .92rem; }
    .faq-answer { padding: 0 18px 16px; padding-top: 14px; }
}
@media (max-width: 480px) {
    .rv-grid { grid-template-columns: 1fr; }
    .cr-grid { grid-template-columns: 1fr 1fr; }
    .cr-pills { gap: 6px; }
    .cr-cta { width: 100%; justify-content: center; }
    .faq-item summary { padding: 14px 16px; }
}

/* ============================================================
   APPOINTMENT SECTION v22 — High-Conversion Redesign
   ============================================================ */
.appt-section {
    position: relative;
    padding: 100px 0 120px;
    background: linear-gradient(160deg, #F8FAFF 0%, #EFF6FF 50%, #F0FDFA 100%);
    overflow: hidden;
    isolation: isolate;
}
.appt-glow {
    position: absolute;
    top: -100px; right: -100px;
    width: 500px; height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(46,196,182,.08) 0%, transparent 65%);
    pointer-events: none;
}
.appt-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: start;
    position: relative;
    z-index: 1;
}

/* ── LEFT COL ─────────────────────────────── */
.appt-form-col { display: flex; flex-direction: column; gap: 0; }

.appt-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #0EA5A0;
    background: rgba(46,196,182,.1);
    border: 1px solid rgba(46,196,182,.25);
    border-radius: 50px;
    padding: 6px 14px;
    margin-bottom: 18px;
    width: fit-content;
}
.appt-form-col h2 {
    font-family: 'Fraunces', Georgia, serif;
    font-size: clamp(1.9rem, 3.5vw, 2.8rem);
    font-weight: 700;
    color: #0A1628;
    letter-spacing: -.03em;
    line-height: 1.12;
    margin-bottom: 14px;
}
.appt-form-col h2 em {
    font-style: italic;
    font-weight: 400;
    color: #1B6FD8;
    display: block;
}
.appt-sub {
    font-size: .97rem;
    color: #4B5563;
    line-height: 1.75;
    margin-bottom: 22px;
    max-width: 480px;
}

/* Trust strip */
.appt-trust-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin-bottom: 28px;
    padding: 14px 18px;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
}
.appt-trust-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .8rem;
    font-weight: 600;
    color: #374151;
    white-space: nowrap;
}

/* Form */
.appt-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.appt-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.appt-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.appt-field label {
    font-size: .82rem;
    font-weight: 600;
    color: #374151;
}
.req { color: #EF4444; }
.appt-field input,
.appt-field select,
.appt-field textarea {
    width: 100%;
    padding: 12px 16px;
    font-size: .92rem;
    color: #111827;
    background: #fff;
    border: 1.5px solid #D1D5DB;
    border-radius: 10px;
    outline: none;
    transition: border-color .18s, box-shadow .18s;
    font-family: inherit;
    -webkit-appearance: none;
    appearance: none;
}
.appt-field input:focus,
.appt-field select:focus,
.appt-field textarea:focus {
    border-color: #1B6FD8;
    box-shadow: 0 0 0 3px rgba(27,111,216,.12);
}
.appt-field select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
    cursor: pointer;
}
.appt-field textarea { resize: vertical; min-height: 88px; }

/* Optional expand */
.appt-optional { border: none; }
.appt-optional summary {
    font-size: .82rem;
    font-weight: 600;
    color: #1B6FD8;
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 0;
    user-select: none;
}
.appt-optional summary::-webkit-details-marker { display: none; }
.appt-optional summary::before {
    content: '+';
    width: 18px; height: 18px;
    background: #DBEAFE;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: .8rem; font-weight: 700; color: #1B6FD8;
    flex-shrink: 0; line-height: 18px; text-align: center;
    transition: background .18s;
}
.appt-optional[open] summary::before { content: '−'; background: #BFDBFE; }
.appt-optional-body { display: flex; flex-direction: column; gap: 12px; padding-top: 12px; }

/* Submit button */
.btn-appt-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 16px 24px;
    background: linear-gradient(135deg, #1B6FD8 0%, #2EC4B6 100%);
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    box-shadow: 0 8px 28px rgba(27,111,216,.3);
    transition: transform .18s, box-shadow .18s;
    font-family: inherit;
    margin-top: 4px;
}
.btn-appt-submit:hover { transform: translateY(-2px); box-shadow: 0 12px 36px rgba(27,111,216,.4); }
.btn-appt-submit:active { transform: scale(.98); }

.appt-cta-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: .78rem;
    color: #6B7280;
    text-align: center;
    margin-top: 6px;
}

/* WhatsApp button */
.btn-whatsapp {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 20px;
    background: #fff;
    border: 1.5px solid #25D366;
    color: #15803D;
    font-size: .88rem;
    font-weight: 700;
    border-radius: 12px;
    text-decoration: none;
    margin-top: 10px;
    transition: background .18s, transform .18s;
    font-family: inherit;
}
.btn-whatsapp:hover { background: #F0FDF4; transform: translateY(-1px); }
.btn-whatsapp svg { color: #25D366; }

/* ── RIGHT COL ────────────────────────────── */
.appt-visual-col {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: sticky;
    top: 88px;
}

/* Urgency badge */
.appt-urgency {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .78rem;
    font-weight: 700;
    color: #B45309;
    background: #FEF3C7;
    border: 1px solid #FDE68A;
    border-radius: 50px;
    padding: 7px 14px;
    width: fit-content;
}
.appt-urgency-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #F59E0B;
    animation: urgPulse 1.6s ease infinite;
    flex-shrink: 0;
}
@keyframes urgPulse {
    0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,.5);}
    50%{box-shadow:0 0 0 6px rgba(245,158,11,0);}
}

/* Photos */
.appt-photo-main,
.appt-photo-secondary {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(10,22,40,.12);
}
.appt-photo-main img {
    width: 100%; height: 280px;
    object-fit: cover; object-position: center;
    display: block;
    transition: transform .5s ease;
}
.appt-photo-secondary img {
    width: 100%; height: 160px;
    object-fit: cover; object-position: center top;
    display: block;
    transition: transform .5s ease;
}
.appt-photo-main:hover img,
.appt-photo-secondary:hover img { transform: scale(1.03); }
.appt-photo-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(10,22,40,.35) 0%, transparent 50%);
    pointer-events: none;
}

/* ISO badge */
.appt-iso-badge {
    position: absolute;
    bottom: 16px; left: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(10,22,40,.88);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(46,196,182,.3);
    border-radius: 50px;
    padding: 8px 16px;
    font-size: .78rem;
    font-weight: 600;
    color: #fff;
}

/* Social proof */
.appt-social-proof {
    padding: 14px 18px;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 14px;
}
.appt-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .85rem;
    color: #374151;
}
.appt-stars { color: #FBBF24; font-size: 1rem; letter-spacing: 1px; }
.appt-rating strong { font-size: 1.1rem; color: #111827; }

/* ── MOBILE STICKY BAR ───────────────────── */
.appt-sticky-mobile {
    display: none;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    z-index: 990;
    padding: 12px 16px;
    background: #fff;
    border-top: 1px solid #E5E7EB;
    box-shadow: 0 -4px 20px rgba(10,22,40,.1);
    gap: 10px;
}
.appt-sticky-call {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px;
    background: #F0F6FF;
    border: 1.5px solid #BFDBFE;
    color: #1B6FD8;
    font-size: .9rem;
    font-weight: 700;
    border-radius: 12px;
    text-decoration: none;
}
.appt-sticky-book {
    flex: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px;
    background: linear-gradient(135deg, #1B6FD8, #2EC4B6);
    color: #fff;
    font-size: .9rem;
    font-weight: 700;
    border-radius: 12px;
    text-decoration: none;
}

/* ── RESPONSIVE ──────────────────────────── */
@media (max-width: 1024px) {
    .appt-wrap { grid-template-columns: 1fr; gap: 48px; }
    .appt-visual-col { position: static; order: -1; }
    .appt-photo-main img { height: 240px; }
    .appt-photo-secondary { display: none; }
}
@media (max-width: 768px) {
    .appt-section { padding: 56px 0 100px; }
    .appt-form-row { grid-template-columns: 1fr; gap: 12px; }
    .appt-trust-strip { gap: 8px 12px; }
    .appt-photo-main img { height: 200px; }
    .appt-sticky-mobile { display: flex; }
    .appt-wrap { gap: 32px; }
}
@media (max-width: 480px) {
    .appt-form-col h2 { font-size: 1.7rem; }
    .appt-photo-main img { height: 180px; }
    .appt-trust-strip { flex-direction: column; gap: 8px; }
}

/* ============================================================
   ABOUT PAGE — v1
   ============================================================ */

/* ── SHARED ─────────────────────────────────── */
.about-section-eyebrow {
    display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.14em;
    text-transform:uppercase;color:#2EC4B6;background:rgba(46,196,182,.1);
    border:1px solid rgba(46,196,182,.25);border-radius:50px;padding:5px 14px;margin-bottom:14px;
}
.about-section-header { text-align:center; max-width:680px; margin:0 auto 56px; }
.about-section-header h2 {
    font-family:'Fraunces',Georgia,serif;font-size:clamp(1.8rem,3.5vw,2.6rem);
    font-weight:700;color:#0A1628;letter-spacing:-.03em;line-height:1.15;margin-bottom:12px;
}
.about-section-sub { font-size:.97rem;color:#4B5563;line-height:1.75; }

/* ── HERO ───────────────────────────────────── */
.about-hero {
    position:relative;padding:96px 0 100px;
    background:linear-gradient(160deg,#060E1C 0%,#0A1628 45%,#0B1F3A 100%);
    overflow:hidden;isolation:isolate;
}
.about-hero-glow {
    position:absolute;top:-100px;right:-80px;width:500px;height:500px;border-radius:50%;
    background:radial-gradient(circle,rgba(46,196,182,.15) 0%,transparent 65%);pointer-events:none;
}
.about-hero-inner {
    display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;position:relative;z-index:1;
}
.about-eyebrow {
    display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.14em;
    text-transform:uppercase;color:#2EC4B6;background:rgba(46,196,182,.12);
    border:1px solid rgba(46,196,182,.25);border-radius:50px;padding:5px 14px;margin-bottom:18px;
}
.about-hero-content h1 {
    font-family:'Fraunces',Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);
    font-weight:700;color:#fff;letter-spacing:-.03em;line-height:1.1;margin-bottom:16px;
}
.about-hero-content h1 em { font-style:italic;font-weight:400;color:#4DA3FF;display:block;font-size:90%; }
.about-hero-sub { font-size:1rem;color:rgba(255,255,255,.65);line-height:1.75;margin-bottom:24px;max-width:480px; }
.about-trust-strip {
    display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:32px;
    padding:14px 18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
    border-radius:12px;backdrop-filter:blur(10px);
}
.about-trust-item {
    display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;
    color:rgba(255,255,255,.8);white-space:nowrap;
}
.about-hero-ctas { display:flex;gap:12px;flex-wrap:wrap; }
.btn-about-primary {
    display:inline-flex;align-items:center;padding:13px 28px;
    background:linear-gradient(135deg,#2EC4B6,#4DA3FF);color:#fff;font-size:.92rem;
    font-weight:700;border-radius:12px;text-decoration:none;
    box-shadow:0 6px 24px rgba(46,196,182,.3);transition:transform .18s,box-shadow .18s;
}
.btn-about-primary:hover { transform:translateY(-2px);box-shadow:0 10px 32px rgba(46,196,182,.45); }
.btn-about-secondary {
    display:inline-flex;align-items:center;gap:8px;padding:13px 24px;
    background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.2);color:#fff;
    font-size:.92rem;font-weight:600;border-radius:12px;text-decoration:none;
    transition:background .18s;
}
.btn-about-secondary:hover { background:rgba(255,255,255,.14); }
.about-hero-img-wrap {
    position:relative;border-radius:20px;overflow:hidden;
    box-shadow:0 24px 64px rgba(0,0,0,.4);
}
.about-hero-img-wrap img { width:100%;height:400px;object-fit:cover;object-position:center;display:block; }
.about-hero-img-overlay {
    position:absolute;inset:0;
    background:linear-gradient(to top,rgba(10,22,40,.5) 0%,transparent 50%);pointer-events:none;
}
.about-hero-badge {
    position:absolute;bottom:20px;left:20px;background:#fff;border-radius:12px;
    padding:12px 18px;box-shadow:0 8px 24px rgba(0,0,0,.2);
}
.about-hero-badge strong { display:block;font-size:1.3rem;font-weight:900;color:#0A1628;line-height:1; }
.about-hero-badge span { font-size:.72rem;color:#6B7280;font-weight:600; }

/* ── INTRO ──────────────────────────────────── */
.about-intro { padding:100px 0;background:#fff; }
.about-intro-inner { display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center; }
.about-intro-text h2 {
    font-family:'Fraunces',Georgia,serif;font-size:clamp(1.8rem,3vw,2.4rem);
    font-weight:700;color:#0A1628;letter-spacing:-.03em;margin-bottom:20px;
}
.about-intro-text p { font-size:.97rem;color:#374151;line-height:1.8;margin-bottom:16px; }
.about-stats-row { display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px; }
.about-stat {
    text-align:center;padding:16px 8px;background:#F8FAFF;border:1px solid #E5E7EB;border-radius:12px;
}
.about-stat strong { display:block;font-size:1.5rem;font-weight:800;color:#1B6FD8;line-height:1;margin-bottom:4px; }
.about-stat span { font-size:.72rem;color:#6B7280;font-weight:600; }
.about-intro-img img { width:100%;border-radius:16px;box-shadow:0 12px 40px rgba(10,22,40,.1);display:block; }

/* ── DOCTOR ─────────────────────────────────── */
.about-doctor { padding:100px 0;background:linear-gradient(160deg,#F8FAFF 0%,#EFF6FF 100%); }
.about-doctor-inner { display:grid;grid-template-columns:420px 1fr;gap:64px;align-items:start; }
.about-doctor-img-wrap {
    position:relative;border-radius:20px;overflow:hidden;
    box-shadow:0 20px 56px rgba(10,22,40,.15);
}
.about-doctor-img-wrap img { width:100%;height:500px;object-fit:cover;object-position:center top;display:block; }
.about-doctor-overlay {
    position:absolute;inset:0;
    background:linear-gradient(to top,rgba(10,22,40,.4) 0%,transparent 55%);pointer-events:none;
}
.about-doctor-cred-card {
    background:#fff;border:1px solid #E5E7EB;border-radius:14px;padding:16px 18px;
    margin-top:14px;display:flex;flex-direction:column;gap:10px;
}
.about-cred-item {
    display:flex;align-items:flex-start;gap:8px;font-size:.85rem;color:#374151;
    font-weight:500;line-height:1.5;
}
.about-doctor-content h2 {
    font-family:'Fraunces',Georgia,serif;font-size:clamp(1.8rem,3vw,2.4rem);
    font-weight:700;color:#0A1628;letter-spacing:-.03em;line-height:1.15;margin-bottom:20px;
}
.about-doctor-content h2 em { font-style:italic;font-weight:400;color:#1B6FD8;display:block;font-size:70%;margin-top:4px; }
.about-doctor-content p { font-size:.97rem;color:#374151;line-height:1.8;margin-bottom:16px; }
.about-doctor-specialties h3 { font-size:1rem;font-weight:700;color:#0A1628;margin-bottom:12px;margin-top:8px; }
.about-spec-grid { display:flex;flex-wrap:wrap;gap:8px; }
.about-spec-grid span {
    font-size:.8rem;font-weight:600;color:#1B6FD8;padding:5px 12px;
    background:#EFF6FF;border:1px solid #DBEAFE;border-radius:50px;
}

/* ── WHY ────────────────────────────────────── */
.about-why { padding:100px 0;background:#fff; }
.about-why-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:0; }
.about-why-card {
    padding:28px 24px;background:#F9FAFB;border:1px solid #E5E7EB;border-radius:16px;
    transition:transform .2s,box-shadow .2s,border-color .2s;
}
.about-why-card:hover { transform:translateY(-3px);box-shadow:0 8px 28px rgba(27,111,216,.1);border-color:#BFDBFE; }
.about-why-icon {
    width:44px;height:44px;background:linear-gradient(135deg,#1B6FD8,#2EC4B6);border-radius:12px;
    display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:16px;
}
.about-why-card h3 { font-size:1rem;font-weight:700;color:#0A1628;margin-bottom:8px; }
.about-why-card p { font-size:.88rem;color:#4B5563;line-height:1.7;margin:0; }

/* ── MISSION ────────────────────────────────── */
.about-mission { padding:100px 0;background:linear-gradient(160deg,#060E1C,#0B1F3A); }
.about-mission-inner { display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }
.about-mission-card {
    padding:32px 28px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
    border-radius:20px;backdrop-filter:blur(12px);
}
.about-mission-icon {
    width:56px;height:56px;background:rgba(46,196,182,.15);border:1px solid rgba(46,196,182,.25);
    border-radius:16px;display:flex;align-items:center;justify-content:center;
    color:#2EC4B6;margin-bottom:20px;
}
.about-mission-card h2 {
    font-family:'Fraunces',Georgia,serif;font-size:1.4rem;font-weight:700;
    color:#fff;margin-bottom:12px;
}
.about-mission-card p { font-size:.92rem;color:rgba(255,255,255,.65);line-height:1.8;margin:0; }

/* ── INFRA ──────────────────────────────────── */
.about-infra { padding:100px 0;background:#fff; }
.about-infra-inner { display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start; }
.about-infra-content h2 {
    font-family:'Fraunces',Georgia,serif;font-size:clamp(1.8rem,3vw,2.4rem);
    font-weight:700;color:#0A1628;letter-spacing:-.03em;margin-bottom:20px;
}
.about-infra-content h2 em { font-style:italic;font-weight:400;color:#1B6FD8;display:block;font-size:80%; }
.about-infra-content p { font-size:.97rem;color:#374151;line-height:1.8;margin-bottom:20px; }
.about-infra-list { list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px; }
.about-infra-list li {
    display:flex;align-items:flex-start;gap:10px;font-size:.9rem;color:#374151;line-height:1.6;
    padding:10px 14px;background:#F8FAFF;border-radius:10px;border-left:3px solid #1B6FD8;
}
.about-infra-imgs { display:flex;flex-direction:column;gap:14px; }
.about-infra-img-main img,.about-infra-img-sec img {
    width:100%;object-fit:cover;border-radius:16px;display:block;
    box-shadow:0 8px 28px rgba(10,22,40,.1);transition:transform .4s ease;
}
.about-infra-img-main img { height:280px; }
.about-infra-img-sec img { height:160px; }
.about-infra-img-main:hover img,.about-infra-img-sec:hover img { transform:scale(1.02); }

/* ── PROOF ──────────────────────────────────── */
.about-proof { padding:80px 0;background:linear-gradient(160deg,#F8FAFF,#EFF6FF); }
.about-proof-stats { display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px; }
.about-proof-stat {
    text-align:center;padding:24px 16px;background:#fff;border:1px solid #E5E7EB;border-radius:16px;
}
.about-proof-stat strong { display:block;font-size:2rem;font-weight:800;color:#1B6FD8;line-height:1;margin-bottom:6px; }
.about-proof-stat span { font-size:.78rem;color:#6B7280;font-weight:600; }
.about-proof-certs { display:flex;flex-wrap:wrap;gap:10px;justify-content:center; }
.about-cert-badge {
    display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:600;color:#1B6FD8;
    padding:8px 16px;background:#EFF6FF;border:1px solid #DBEAFE;border-radius:50px;
}

/* ── CTA ────────────────────────────────────── */
.about-cta {
    position:relative;padding:96px 0;
    background:linear-gradient(135deg,#0A1628,#0B1F3A);overflow:hidden;isolation:isolate;
}
.about-cta-glow {
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:600px;height:400px;border-radius:50%;
    background:radial-gradient(ellipse,rgba(46,196,182,.12) 0%,transparent 65%);pointer-events:none;
}
.about-cta-inner { position:relative;z-index:1;text-align:center; }
.about-cta-inner h2 {
    font-family:'Fraunces',Georgia,serif;font-size:clamp(1.8rem,3.5vw,2.8rem);
    font-weight:700;color:#fff;letter-spacing:-.03em;margin-bottom:14px;
}
.about-cta-inner p { font-size:1rem;color:rgba(255,255,255,.65);max-width:520px;margin:0 auto 32px;line-height:1.75; }
.about-cta-btns { display:flex;gap:12px;justify-content:center;flex-wrap:wrap; }
.btn-about-cta-primary {
    display:inline-flex;align-items:center;padding:15px 32px;
    background:linear-gradient(135deg,#2EC4B6,#4DA3FF);color:#fff;font-size:.97rem;
    font-weight:700;border-radius:12px;text-decoration:none;
    box-shadow:0 8px 28px rgba(46,196,182,.35);transition:transform .18s,box-shadow .18s;
}
.btn-about-cta-primary:hover { transform:translateY(-2px);box-shadow:0 12px 36px rgba(46,196,182,.5); }
.btn-about-cta-secondary {
    display:inline-flex;align-items:center;gap:8px;padding:15px 24px;
    background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.2);color:#fff;
    font-size:.92rem;font-weight:700;border-radius:12px;text-decoration:none;transition:background .18s;
}
.btn-about-cta-secondary:hover { background:rgba(255,255,255,.14); }
.btn-about-cta-wa {
    display:inline-flex;align-items:center;gap:8px;padding:15px 24px;
    background:#25D366;color:#fff;font-size:.92rem;font-weight:700;
    border-radius:12px;text-decoration:none;transition:background .18s;
}
.btn-about-cta-wa:hover { background:#1DAA56; }

/* ── ABOUT RESPONSIVE ───────────────────────── */
@media(max-width:1024px){
    .about-hero-inner,.about-intro-inner,.about-infra-inner{grid-template-columns:1fr;gap:40px;}
    .about-doctor-inner{grid-template-columns:1fr;gap:36px;}
    .about-mission-inner{grid-template-columns:1fr;gap:20px;}
    .about-why-grid{grid-template-columns:repeat(2,1fr);}
    .about-hero-visual{order:-1;}
    .about-hero-img-wrap img{height:320px;}
    .about-doctor-img-wrap img{height:380px;}
    .about-stats-row{grid-template-columns:repeat(2,1fr);}
    .about-proof-stats{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
    .about-hero,.about-intro,.about-doctor,.about-why,.about-mission,.about-infra,.about-proof,.about-cta{padding:64px 0;}
    .about-why-grid{grid-template-columns:1fr;}
    .about-hero-content h1{font-size:1.9rem;}
    .about-cta-btns{flex-direction:column;align-items:center;}
    .btn-about-cta-primary,.btn-about-cta-secondary,.btn-about-cta-wa{width:100%;max-width:320px;justify-content:center;}
    .about-hero-ctas{flex-direction:column;gap:10px;}
    .btn-about-primary,.btn-about-secondary{width:100%;justify-content:center;}
    .about-infra-img-sec{display:none;}
}
@media(max-width:480px){
    .about-hero-img-wrap img{height:240px;}
    .about-stats-row{grid-template-columns:1fr 1fr;}
    .about-proof-stats{grid-template-columns:1fr 1fr;}
    .about-trust-strip{flex-direction:column;gap:8px;}
}

/* ============================================================
   RCT SERVICE PAGE CSS — v1
   ============================================================ */

/* ── SHARED ─────────────────────────────────── */
.svc-eyebrow {
    display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;
    letter-spacing:.14em;text-transform:uppercase;color:#2EC4B6;
    background:rgba(46,196,182,.1);border:1px solid rgba(46,196,182,.25);
    border-radius:50px;padding:5px 14px;margin-bottom:16px;
}
.svc-section-eyebrow {
    display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.14em;
    text-transform:uppercase;color:#2EC4B6;background:rgba(46,196,182,.1);
    border:1px solid rgba(46,196,182,.25);border-radius:50px;padding:5px 14px;margin-bottom:14px;
}
.svc-section-header { text-align:center;max-width:700px;margin:0 auto 52px; }
.svc-section-header h2 {
    font-family:'Fraunces',Georgia,serif;font-size:clamp(1.8rem,3.5vw,2.6rem);
    font-weight:700;color:#0A1628;letter-spacing:-.03em;line-height:1.15;margin-bottom:12px;
}
.svc-section-header h2 em { display:block;font-style:italic;font-weight:400;color:#1B6FD8;font-size:85%; }
.svc-section-sub { font-size:.97rem;color:#4B5563;line-height:1.75; }
.svc-list { list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:8px; }
.svc-list li {
    display:flex;align-items:flex-start;gap:10px;font-size:.9rem;color:#374151;
    line-height:1.65;padding:9px 14px;background:#F0F9FF;border-radius:8px;
    border-left:3px solid #2EC4B6;
}
.svc-list li::before { content:'✓';color:#2EC4B6;font-weight:700;flex-shrink:0; }

/* ── HERO ───────────────────────────────────── */
#rct-main { }
.svc-hero {
    position:relative;padding:88px 0 96px;
    background:linear-gradient(160deg,#060E1C 0%,#0A1628 45%,#0B1F3A 100%);
    overflow:hidden;isolation:isolate;
}
.svc-hero-glow {
    position:absolute;top:-120px;right:-80px;width:560px;height:560px;border-radius:50%;
    background:radial-gradient(circle,rgba(46,196,182,.14) 0%,transparent 65%);pointer-events:none;
}
.svc-hero-inner {
    display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:1;
}
.svc-hero-content h1 {
    font-family:'Fraunces',Georgia,serif;font-size:clamp(2rem,4vw,3.1rem);
    font-weight:700;color:#fff;letter-spacing:-.03em;line-height:1.1;margin-bottom:16px;
}
.svc-hero-content h1 em { font-style:italic;font-weight:400;color:#2EC4B6;display:block;font-size:72%; }
.svc-hero-sub { font-size:.97rem;color:rgba(255,255,255,.65);line-height:1.8;margin-bottom:22px;max-width:500px; }
.svc-trust-strip {
    display:flex;flex-wrap:wrap;gap:7px 18px;margin-bottom:28px;
    padding:13px 16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
    border-radius:10px;
}
.svc-trust-item {
    display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;
    color:rgba(255,255,255,.8);white-space:nowrap;
}
.svc-hero-ctas { display:flex;gap:12px;flex-wrap:wrap; }
.btn-svc-primary {
    display:inline-flex;align-items:center;padding:13px 28px;
    background:linear-gradient(135deg,#2EC4B6,#1B6FD8);color:#fff;font-size:.92rem;
    font-weight:700;border-radius:10px;text-decoration:none;
    box-shadow:0 6px 22px rgba(46,196,182,.3);transition:transform .18s,box-shadow .18s;
}
.btn-svc-primary:hover { transform:translateY(-2px);box-shadow:0 10px 30px rgba(46,196,182,.45); }
.btn-svc-secondary {
    display:inline-flex;align-items:center;gap:8px;padding:13px 22px;
    background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.2);color:#fff;
    font-size:.92rem;font-weight:600;border-radius:10px;text-decoration:none;transition:background .18s;
}
.btn-svc-secondary:hover { background:rgba(255,255,255,.14); }
.svc-hero-img {
    position:relative;border-radius:20px;overflow:hidden;
    box-shadow:0 24px 60px rgba(0,0,0,.45);
}
.svc-hero-img img { width:100%;height:420px;object-fit:cover;display:block; }
.svc-hero-img-overlay {
    position:absolute;inset:0;
    background:linear-gradient(to top,rgba(10,22,40,.45) 0%,transparent 55%);pointer-events:none;
}
.svc-hero-badge {
    position:absolute;bottom:18px;left:18px;background:#fff;border-radius:10px;
    padding:10px 16px;box-shadow:0 6px 20px rgba(0,0,0,.2);
}
.svc-hero-badge strong { display:block;font-size:1.25rem;font-weight:900;color:#0A1628;line-height:1; }
.svc-hero-badge span { font-size:.7rem;color:#6B7280;font-weight:600; }

/* ── WHAT IS RCT ────────────────────────────── */
.svc-what { padding:96px 0;background:#fff; }
.svc-what-inner { display:grid;grid-template-columns:1fr 480px;gap:60px;align-items:start; }
.svc-what-content h2 {
    font-family:'Fraunces',Georgia,serif;font-size:clamp(1.8rem,3vw,2.4rem);
    font-weight:700;color:#0A1628;letter-spacing:-.03em;margin-bottom:16px;
}
.svc-what-content h3 { font-size:1.1rem;font-weight:700;color:#0A1628;margin:24px 0 10px; }
.svc-what-content p { font-size:.97rem;color:#374151;line-height:1.8;margin-bottom:14px; }
.svc-what-img img { width:100%;border-radius:16px;box-shadow:0 10px 36px rgba(10,22,40,.1);display:block; }

/* ── ADVANTAGE ──────────────────────────────── */
.svc-advantage {
    padding:96px 0;
    background:linear-gradient(160deg,#F8FAFF 0%,#EFF6FF 100%);
    position:relative;overflow:hidden;
}
.svc-advantage-glow {
    position:absolute;top:-80px;right:-100px;width:500px;height:500px;border-radius:50%;
    background:radial-gradient(circle,rgba(27,111,216,.06) 0%,transparent 65%);pointer-events:none;
}
.svc-adv-grid { display:flex;flex-direction:column;gap:40px; }
.svc-adv-card {
    display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
    background:#fff;border:1px solid #E5E7EB;border-radius:20px;overflow:hidden;
    box-shadow:0 4px 20px rgba(10,22,40,.06);
}
.svc-adv-img img { width:100%;height:280px;object-fit:cover;display:block; }
.svc-adv-body { padding:32px 32px 32px 0; }
.svc-adv-body h3 { font-family:'Fraunces',Georgia,serif;font-size:1.4rem;font-weight:700;color:#0A1628;margin-bottom:12px; }
.svc-adv-body p { font-size:.93rem;color:#374151;line-height:1.8;margin-bottom:12px; }
.svc-adv-features { display:flex;flex-direction:column;gap:24px; }
.svc-adv-feat {
    display:flex;gap:18px;align-items:flex-start;
    padding:22px;background:#fff;border:1px solid #E5E7EB;border-radius:14px;
}
.svc-adv-feat-icon {
    flex-shrink:0;width:44px;height:44px;background:linear-gradient(135deg,#0A1628,#1B6FD8);
    border-radius:12px;display:flex;align-items:center;justify-content:center;color:#2EC4B6;
}
.svc-adv-feat h3 { font-size:1rem;font-weight:700;color:#0A1628;margin-bottom:6px; }
.svc-adv-feat p { font-size:.88rem;color:#4B5563;line-height:1.75;margin:0; }

/* ── COST TABLE ─────────────────────────────── */
.svc-cost { padding:96px 0;background:#fff; }
.svc-cost-table-wrap { overflow-x:auto;border-radius:16px;box-shadow:0 4px 24px rgba(10,22,40,.08); }
.svc-cost-table { width:100%;border-collapse:collapse;font-size:.9rem; }
.svc-cost-table thead tr { background:#0A1628;color:#fff; }
.svc-cost-table thead th {
    padding:14px 20px;text-align:left;font-weight:700;font-size:.85rem;
    letter-spacing:.04em;white-space:nowrap;
}
.svc-cost-table tbody tr { border-bottom:1px solid #E5E7EB;transition:background .15s; }
.svc-cost-table tbody tr:hover { background:#F0F9FF; }
.svc-cost-table tbody tr:nth-child(even) { background:#F9FAFB; }
.svc-cost-table tbody tr:nth-child(even):hover { background:#F0F9FF; }
.svc-cost-table td { padding:14px 20px;color:#374151;vertical-align:middle; }
.svc-cost-table td:nth-child(2) { font-weight:700;color:#1B6FD8;white-space:nowrap; }
.svc-cost-note-row td {
    background:#FFF9E6;color:#92400E;font-size:.8rem;font-weight:600;
    text-align:center;padding:10px 20px;border-top:2px solid #FCD34D;
}

/* ── STEPS ──────────────────────────────────── */
.svc-steps {
    padding:96px 0;
    background:linear-gradient(160deg,#060E1C,#0B1F3A);
}
.svc-steps-inner { display:grid;grid-template-columns:1fr 440px;gap:64px;align-items:start; }
.svc-steps-content h2 {
    font-family:'Fraunces',Georgia,serif;font-size:clamp(1.8rem,3vw,2.4rem);
    font-weight:700;color:#fff;letter-spacing:-.03em;line-height:1.15;margin-bottom:8px;
}
.svc-steps-content h2 em { font-style:italic;font-weight:400;color:#2EC4B6;display:block;font-size:80%; }
.svc-steps-content > p { font-size:.93rem;color:rgba(255,255,255,.6);line-height:1.8;margin-bottom:32px; }
.svc-steps-list { display:flex;flex-direction:column;gap:16px; }
.svc-step {
    display:flex;gap:18px;align-items:flex-start;
    padding:18px 20px;background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.1);border-radius:14px;
}
.svc-step-num {
    flex-shrink:0;width:40px;height:40px;background:linear-gradient(135deg,#2EC4B6,#1B6FD8);
    border-radius:10px;display:flex;align-items:center;justify-content:center;
    font-size:.85rem;font-weight:800;color:#fff;
}
.svc-step-body h3 { font-size:.95rem;font-weight:700;color:#fff;margin-bottom:4px; }
.svc-step-body p { font-size:.85rem;color:rgba(255,255,255,.6);line-height:1.7;margin:0; }
.svc-steps-img img {
    width:100%;border-radius:16px;
    box-shadow:0 16px 48px rgba(0,0,0,.4);
    object-fit:cover;height:560px;display:block;
    position:sticky;top:90px;
}

/* ── DOCTOR ─────────────────────────────────── */
.svc-doctor {
    padding:96px 0;
    background:linear-gradient(160deg,#F8FAFF,#EFF6FF);
    position:relative;overflow:hidden;
}
.svc-doctor-glow {
    position:absolute;top:-60px;left:-80px;width:500px;height:500px;border-radius:50%;
    background:radial-gradient(circle,rgba(27,111,216,.08) 0%,transparent 65%);pointer-events:none;
}
.svc-doctor-inner {
    display:grid;grid-template-columns:380px 1fr;gap:60px;align-items:start;
    position:relative;z-index:1;
}
.svc-doctor-img img {
    width:100%;height:480px;object-fit:cover;object-position:center top;
    border-radius:18px;box-shadow:0 16px 48px rgba(10,22,40,.15);display:block;
}
.svc-doctor-content h2 {
    font-family:'Fraunces',Georgia,serif;font-size:clamp(1.8rem,3vw,2.3rem);
    font-weight:700;color:#0A1628;letter-spacing:-.03em;line-height:1.15;margin-bottom:18px;
}
.svc-doctor-content h2 em { font-style:italic;font-weight:400;color:#1B6FD8;display:block;font-size:70%;margin-top:4px; }
.svc-doctor-content p { font-size:.95rem;color:#374151;line-height:1.8;margin-bottom:14px; }
.svc-doctor-creds { display:flex;flex-direction:column;gap:9px;margin-top:20px; }
.svc-cred {
    display:flex;align-items:center;gap:8px;font-size:.87rem;
    color:#1B6FD8;font-weight:600;padding:8px 14px;
    background:#EFF6FF;border:1px solid #DBEAFE;border-radius:8px;
}

/* ── WHY ────────────────────────────────────── */
.svc-why { padding:96px 0;background:#fff; }
.svc-why-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px; }
.svc-why-card {
    padding:26px 22px;background:#F9FAFB;border:1px solid #E5E7EB;border-radius:16px;
    transition:transform .2s,box-shadow .2s,border-color .2s;
}
.svc-why-card:hover { transform:translateY(-3px);box-shadow:0 8px 28px rgba(46,196,182,.12);border-color:#A7F3D0; }
.svc-why-card svg { margin-bottom:14px;display:block; }
.svc-why-card h3 { font-size:.97rem;font-weight:700;color:#0A1628;margin-bottom:7px; }
.svc-why-card p { font-size:.86rem;color:#4B5563;line-height:1.7;margin:0; }

/* ── FAQ ────────────────────────────────────── */
.svc-faq { padding:96px 0;background:linear-gradient(160deg,#F8FAFF,#EFF6FF); }
.svc-faq-inner { }
.svc-faq-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:1040px;margin:0 auto; }

/* ── CTA ────────────────────────────────────── */
.svc-cta {
    position:relative;padding:96px 0;
    background:linear-gradient(135deg,#0A1628,#0B1F3A);overflow:hidden;isolation:isolate;
}
.svc-cta-glow {
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:600px;height:400px;border-radius:50%;
    background:radial-gradient(ellipse,rgba(46,196,182,.1) 0%,transparent 65%);pointer-events:none;
}
.svc-cta-inner { position:relative;z-index:1;text-align:center; }
.svc-cta-inner h2 {
    font-family:'Fraunces',Georgia,serif;font-size:clamp(1.8rem,3.5vw,2.7rem);
    font-weight:700;color:#fff;letter-spacing:-.03em;margin-bottom:12px;
}
.svc-cta-inner p { font-size:1rem;color:rgba(255,255,255,.65);max-width:500px;margin:0 auto 30px;line-height:1.75; }
.svc-cta-btns { display:flex;gap:12px;justify-content:center;flex-wrap:wrap; }
.btn-svc-cta-primary {
    display:inline-flex;align-items:center;padding:14px 30px;
    background:linear-gradient(135deg,#2EC4B6,#1B6FD8);color:#fff;font-size:.95rem;
    font-weight:700;border-radius:10px;text-decoration:none;
    box-shadow:0 6px 24px rgba(46,196,182,.3);transition:transform .18s,box-shadow .18s;
}
.btn-svc-cta-primary:hover { transform:translateY(-2px);box-shadow:0 10px 32px rgba(46,196,182,.45); }
.btn-svc-cta-secondary {
    display:inline-flex;align-items:center;gap:8px;padding:14px 22px;
    background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.2);color:#fff;
    font-size:.92rem;font-weight:700;border-radius:10px;text-decoration:none;transition:background .18s;
}
.btn-svc-cta-secondary:hover { background:rgba(255,255,255,.14); }
.btn-svc-cta-wa {
    display:inline-flex;align-items:center;gap:8px;padding:14px 22px;
    background:#25D366;color:#fff;font-size:.92rem;font-weight:700;
    border-radius:10px;text-decoration:none;transition:background .18s;
}
.btn-svc-cta-wa:hover { background:#1DAA56; }

/* ── RCT RESPONSIVE ─────────────────────────── */
@media(max-width:1024px){
    .svc-hero-inner,.svc-what-inner,.svc-steps-inner,.svc-doctor-inner { grid-template-columns:1fr;gap:40px; }
    .svc-adv-card { grid-template-columns:1fr; }
    .svc-adv-body { padding:24px; }
    .svc-why-grid { grid-template-columns:repeat(2,1fr); }
    .svc-faq-grid { grid-template-columns:1fr; }
    .svc-steps-img img { position:static;height:340px; }
    .svc-hero-img img { height:320px; }
    .svc-doctor-img img { height:360px; }
}
@media(max-width:768px){
    .svc-hero,.svc-what,.svc-advantage,.svc-cost,.svc-steps,.svc-doctor,.svc-why,.svc-faq,.svc-cta { padding:64px 0; }
    .svc-why-grid { grid-template-columns:1fr; }
    .svc-hero-content h1 { font-size:1.9rem; }
    .svc-hero-ctas { flex-direction:column; }
    .btn-svc-primary,.btn-svc-secondary { width:100%;justify-content:center; }
    .svc-cta-btns { flex-direction:column;align-items:center; }
    .btn-svc-cta-primary,.btn-svc-cta-secondary,.btn-svc-cta-wa { width:100%;max-width:300px;justify-content:center; }
}
@media(max-width:480px){
    .svc-trust-strip { flex-direction:column;gap:8px; }
    .svc-hero-img img { height:240px; }
    .svc-adv-img img { height:200px; }
}

/* ═══════════════════════════════════════════════════════════════
   TEETH-WHITENING PAGE — TW-specific CSS
   ═══════════════════════════════════════════════════════════════ */

/* ── TYPES GRID ─────────────────────────────────────────────── */
.tw-types-grid {
    display:grid;grid-template-columns:1fr 1fr;gap:24px;
}
.tw-type-card {
    background:#fff;border:1px solid #E5E7EB;border-radius:20px;overflow:hidden;
    box-shadow:0 4px 20px rgba(10,22,40,.07);
    transition:transform .2s,box-shadow .2s;
    display:flex;flex-direction:column;
}
.tw-type-card:hover { transform:translateY(-4px);box-shadow:0 12px 36px rgba(10,22,40,.12); }
.tw-type-featured { grid-column:1 / -1;flex-direction:row; }
.tw-type-img { position:relative;overflow:hidden;flex:0 0 50%; }
.tw-type-img img { width:100%;height:100%;min-height:260px;object-fit:cover;display:block; }
.tw-type-badge {
    position:absolute;top:14px;left:14px;
    background:linear-gradient(135deg,#2EC4B6,#1B6FD8);color:#fff;
    font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
    padding:5px 12px;border-radius:20px;
}
.tw-type-body { padding:28px 32px;flex:1;display:flex;flex-direction:column; }
.tw-type-body-full { padding:28px; }
.tw-type-body h3 {
    font-family:'Fraunces',Georgia,serif;font-size:1.2rem;font-weight:700;
    color:#0A1628;margin-bottom:8px;letter-spacing:-.02em;
}
.tw-type-best {
    display:block;font-size:.82rem;font-weight:600;color:#1B6FD8;
    background:#EFF6FF;border-radius:6px;padding:6px 10px;margin-bottom:12px;
}
.tw-type-body p { font-size:.92rem;color:#374151;line-height:1.8;margin-bottom:16px;flex:1; }
.tw-type-price {
    display:inline-block;font-size:.95rem;font-weight:800;color:#0A1628;
    background:linear-gradient(135deg,rgba(46,196,182,.1),rgba(27,111,216,.1));
    border:1px solid rgba(46,196,182,.25);border-radius:8px;padding:8px 14px;margin-top:auto;
}

/* ── WEDDING SECTION ─────────────────────────────────────────── */
.tw-wedding { padding:96px 0;background:#fff; }
.tw-wedding-inner { display:grid;grid-template-columns:480px 1fr;gap:64px;align-items:start; }
.tw-wedding-img img {
    width:100%;height:520px;object-fit:cover;
    border-radius:20px;box-shadow:0 16px 48px rgba(10,22,40,.12);display:block;
}
.tw-wedding-content h2 {
    font-family:'Fraunces',Georgia,serif;font-size:clamp(1.8rem,3vw,2.4rem);
    font-weight:700;color:#0A1628;letter-spacing:-.03em;margin-bottom:14px;
}
.tw-wedding-content > p { font-size:.95rem;color:#374151;line-height:1.8;margin-bottom:28px; }
.tw-timeline { display:flex;flex-direction:column;margin-bottom:28px;position:relative; }
.tw-timeline::before {
    content:'';position:absolute;left:22px;top:22px;bottom:22px;
    width:2px;background:linear-gradient(to bottom,#2EC4B6,#1B6FD8);z-index:0;
}
.tw-timeline-item { display:flex;gap:16px;align-items:flex-start;padding:12px 0;position:relative;z-index:1; }
.tw-timeline-dot {
    flex-shrink:0;width:46px;height:46px;border-radius:50%;
    background:linear-gradient(135deg,#2EC4B6,#1B6FD8);color:#fff;
    font-size:.68rem;font-weight:800;display:flex;align-items:center;justify-content:center;
    letter-spacing:.03em;box-shadow:0 4px 12px rgba(46,196,182,.3);
}
.tw-timeline-item > div:last-child { padding-top:10px; }
.tw-timeline-item strong { display:block;font-size:.93rem;font-weight:700;color:#0A1628;margin-bottom:3px; }
.tw-timeline-item p { font-size:.85rem;color:#4B5563;line-height:1.65;margin:0; }
.tw-wedding-package {
    background:linear-gradient(135deg,#FFF9F0,#FFF3E0);border:1px solid #FCD34D;
    border-radius:14px;padding:16px 20px;margin-bottom:24px;
    display:flex;flex-direction:column;gap:4px;
}
.tw-wedding-package strong { font-size:.97rem;font-weight:700;color:#92400E; }
.tw-wedding-package span { font-size:1.1rem;font-weight:900;color:#0A1628; }
.tw-wedding-package p { font-size:.84rem;color:#78350F;margin:0;line-height:1.6; }

/* ── STEPS GRID ──────────────────────────────────────────────── */
.tw-steps { background:linear-gradient(160deg,#F8FAFF,#EFF6FF) !important; }
.tw-steps-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.tw-step-card {
    background:#fff;border:1px solid #E5E7EB;border-radius:16px;padding:24px 22px;
    box-shadow:0 2px 12px rgba(10,22,40,.06);
    transition:transform .2s,box-shadow .2s,border-color .2s;
}
.tw-step-card:hover { transform:translateY(-3px);box-shadow:0 8px 28px rgba(46,196,182,.12);border-color:#A7F3D0; }
.tw-step-num {
    display:inline-flex;align-items:center;justify-content:center;
    width:40px;height:40px;background:linear-gradient(135deg,#2EC4B6,#1B6FD8);
    border-radius:10px;font-size:.85rem;font-weight:800;color:#fff;margin-bottom:14px;
}
.tw-step-card h3 { font-size:.97rem;font-weight:700;color:#0A1628;margin-bottom:8px; }
.tw-step-card p { font-size:.87rem;color:#4B5563;line-height:1.7;margin:0; }

/* ── TW RESPONSIVE ───────────────────────────────────────────── */
@media(max-width:1024px){
    .tw-types-grid { grid-template-columns:1fr; }
    .tw-type-featured { flex-direction:column; }
    .tw-type-img { flex:0 0 auto; }
    .tw-type-img img { height:260px; }
    .tw-wedding-inner { grid-template-columns:1fr;gap:40px; }
    .tw-wedding-img img { height:380px; }
    .tw-steps-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px){
    .tw-wedding,.tw-steps { padding:64px 0; }
    .tw-wedding-img img { height:280px; }
    .tw-steps-grid { grid-template-columns:1fr; }
    .tw-timeline::before { display:none; }
}
@media(max-width:480px){
    .tw-type-body,.tw-type-body-full { padding:20px; }
    .tw-step-card { padding:18px 16px; }
}

/* ═══════════════════════════════════════════════════════════════
   BRACES PAGE — Full CSS
   Appended to style.css — uses existing site design tokens
   (:root vars --blue, --navy, --teal, --font, --font-display etc.)
   ═══════════════════════════════════════════════════════════════ */

/* ── LOCAL TOKENS (braces-scoped) ──────────────────────────── */
#braces-main {
  --br-teal:    #2EC4B6;
  --br-teal-dk: #0EA5A0;
  --br-navy:    #0A1628;
  --br-mid:     #0B1F3A;
  --br-blue:    #1B6FD8;
  --br-white:   #ffffff;
  --br-light:   #F0F6FF;
  --br-off:     #F7F9FC;
  --br-border:  #E2E8F0;
  --br-text:    #374151;
  --br-muted:   #64748B;
  --br-gold:    #F59E0B;
  --br-green:   #25D366;
  --br-r:       12px;
  --br-r-lg:    20px;
  --br-r-xl:    28px;
  --br-shadow:  0 4px 20px rgba(10,22,40,.08);
  --br-shadow-lg: 0 12px 40px rgba(10,22,40,.13);
  --br-ease:    .22s cubic-bezier(.4,0,.2,1);
}

/* ── SHARED LAYOUT ─────────────────────────────────────────── */
#braces-main .container { width:100%; max-width:1200px; margin:0 auto; padding:0 28px; }

.br-section-hd { text-align:center; max-width:680px; margin:0 auto 52px; }
.br-section-hd h2 {
  font-family:var(--font-display); font-size:clamp(1.7rem,3.2vw,2.4rem);
  font-weight:700; color:var(--br-navy); letter-spacing:-.025em;
  line-height:1.2; margin-bottom:12px;
}
.br-section-hd h2 em { font-style:italic; font-weight:500; color:var(--br-blue); }
.br-section-hd p { font-size:.97rem; color:var(--br-muted); line-height:1.75; }
.br-section-hd--light h2 { color:#fff; }
.br-section-hd--light p  { color:rgba(255,255,255,.65); }

.br-eyebrow {
  display:inline-flex; align-items:center; gap:6px;
  font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--br-teal); background:rgba(46,196,182,.1);
  border:1px solid rgba(46,196,182,.22); border-radius:50px;
  padding:5px 14px; margin-bottom:14px;
}
.br-eyebrow--light { color:var(--br-teal); background:rgba(46,196,182,.15); }

/* ── BUTTON SYSTEM ─────────────────────────────────────────── */
.br-btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 26px; border-radius:10px;
  font-size:.92rem; font-weight:700;
  text-decoration:none; transition:transform var(--br-ease), box-shadow var(--br-ease), background var(--br-ease);
  white-space:nowrap; cursor:pointer; border:none; font-family:inherit;
}
.br-btn:hover { transform:translateY(-2px); }
.br-btn--primary {
  background:linear-gradient(135deg,var(--br-teal),var(--br-blue));
  color:#fff; box-shadow:0 6px 22px rgba(46,196,182,.32);
}
.br-btn--primary:hover { box-shadow:0 10px 30px rgba(46,196,182,.45); color:#fff; }
.br-btn--outline {
  background:transparent; color:var(--br-navy);
  border:1.5px solid var(--br-border);
}
.br-btn--outline:hover { border-color:var(--br-teal); color:var(--br-teal); }
.br-btn--ghost {
  background:rgba(255,255,255,.08); color:#fff;
  border:1.5px solid rgba(255,255,255,.18);
}
.br-btn--ghost:hover { background:rgba(255,255,255,.14); color:#fff; }
.br-btn--wa { background:#25D366; color:#fff; box-shadow:0 6px 20px rgba(37,211,102,.3); }
.br-btn--wa:hover { background:#1DAA56; color:#fff; box-shadow:0 10px 28px rgba(37,211,102,.4); }
.br-btn--dark { background:var(--br-navy); color:#fff; }
.br-btn--dark:hover { background:#0d1f35; color:#fff; }
.br-btn--lg { padding:16px 32px; font-size:1rem; }
.br-btn--full { width:100%; justify-content:center; }

/* ════════════════════════════════════════════════════════════
   1. HERO
════════════════════════════════════════════════════════════ */
.br-hero {
  position:relative; overflow:hidden; padding:88px 0 80px;
  background:linear-gradient(160deg,#060E1C 0%,#0A1628 45%,#0B1F3A 100%);
  isolation:isolate;
}
.br-hero__glow {
  position:absolute; top:-120px; right:-100px; width:560px; height:560px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(46,196,182,.15) 0%,transparent 65%);
  pointer-events:none;
}
.br-hero__inner {
  position:relative; z-index:1;
  display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;
}

/* Left */
.br-hero__badge {
  display:inline-flex; align-items:center; gap:8px;
  font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--br-teal); background:rgba(46,196,182,.1);
  border:1px solid rgba(46,196,182,.25); border-radius:50px;
  padding:7px 16px; margin-bottom:20px;
}
.br-hero__badge-dot {
  width:8px; height:8px; border-radius:50%; background:var(--br-teal);
  animation:brHeroPing 2s ease infinite;
}
@keyframes brHeroPing {
  0%,100%{box-shadow:0 0 0 0 rgba(46,196,182,.5);}
  50%{box-shadow:0 0 0 8px rgba(46,196,182,0);}
}

.br-hero__left h1 {
  font-family:var(--font-display);
  font-size:clamp(2rem,3.8vw,3rem);
  font-weight:700; color:#fff; line-height:1.1;
  letter-spacing:-.025em; margin-bottom:16px;
}
.br-hero__left h1 em { font-style:italic; font-weight:500; color:var(--br-teal); }
.br-hero__sub { font-size:1rem; color:rgba(255,255,255,.68); line-height:1.8; margin-bottom:24px; }

.br-hero__pills {
  display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px;
}
.br-hero__pill {
  display:inline-flex; align-items:center; gap:5px;
  font-size:.78rem; font-weight:600; color:rgba(255,255,255,.82);
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12);
  padding:6px 12px; border-radius:50px;
}
.br-hero__pill svg { color:var(--br-teal); flex-shrink:0; }

.br-hero__ctas { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:18px; }

.br-hero__urgency {
  display:inline-flex; align-items:center; gap:8px;
  font-size:.8rem; color:rgba(255,255,255,.6);
  background:rgba(245,158,11,.1); border:1px solid rgba(245,158,11,.22);
  padding:8px 14px; border-radius:8px;
}
.br-hero__urgency strong { color:var(--br-gold); }

/* Right */
.br-hero__img-wrap {
  position:relative; border-radius:20px; overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.45);
}
.br-hero__img-wrap img {
  width:100%; height:440px; object-fit:cover;
  object-position:center top; display:block;
}
.br-hero__img-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(10,22,40,.45) 0%,transparent 55%);
  pointer-events:none;
}
.br-hero__stat { position:absolute; z-index:10; }
.br-hero__stat--tl { top:20px; left:-20px; }
.br-hero__stat--br { bottom:24px; right:-20px; }
.br-hero__stat-card {
  background:rgba(255,255,255,.96); backdrop-filter:blur(12px);
  border-radius:12px; padding:11px 16px;
  box-shadow:0 8px 28px rgba(10,22,40,.18);
  border:1px solid rgba(255,255,255,.6);
  animation:brFloat 4s ease-in-out infinite;
}
.br-hero__stat--br .br-hero__stat-card { animation-delay:2s; }
@keyframes brFloat {
  0%,100%{transform:translateY(0);} 50%{transform:translateY(-5px);}
}
.br-hero__stat-num { display:block; font-family:var(--font-display); font-size:1.4rem; font-weight:800; color:var(--br-navy); line-height:1; }
.br-hero__stat-lbl { display:block; font-size:.68rem; font-weight:600; color:var(--br-muted); text-transform:uppercase; letter-spacing:.06em; margin-top:3px; }

/* ════════════════════════════════════════════════════════════
   2. PROBLEM / PAIN SECTION
════════════════════════════════════════════════════════════ */
.br-pain { padding:80px 0; background:#fff; }
.br-pain__grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:40px;
}
.br-pain__card {
  padding:24px 20px; background:var(--br-off);
  border:1px solid var(--br-border); border-radius:var(--br-r);
  transition:transform var(--br-ease), box-shadow var(--br-ease), border-color var(--br-ease);
}
.br-pain__card:hover { transform:translateY(-3px); box-shadow:var(--br-shadow); border-color:rgba(46,196,182,.3); }
.br-pain__icon { font-size:1.7rem; margin-bottom:12px; }
.br-pain__card h3 { font-family:var(--font); font-size:.97rem; font-weight:700; color:var(--br-navy); margin-bottom:7px; }
.br-pain__card p { font-size:.86rem; color:var(--br-muted); line-height:1.65; margin:0; }
.br-pain__cta { text-align:center; }
.br-pain__cta p { font-size:.97rem; color:var(--br-muted); margin-bottom:16px; }

/* ════════════════════════════════════════════════════════════
   3. TYPES OF BRACES
════════════════════════════════════════════════════════════ */
.br-types {
  position:relative; padding:80px 0;
  background:linear-gradient(160deg,var(--br-off) 0%,var(--br-light) 100%);
  overflow:hidden;
}
.br-types__glow {
  position:absolute; top:-60px; left:-80px; width:480px; height:480px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(27,111,216,.06) 0%,transparent 65%);
  pointer-events:none;
}
.br-types .container { position:relative; z-index:1; }
.br-types__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-bottom:28px; }

.br-type-card {
  background:#fff; border-radius:var(--br-r-lg);
  box-shadow:var(--br-shadow); overflow:hidden;
  display:flex; flex-direction:column;
  border:1px solid var(--br-border);
  transition:transform var(--br-ease), box-shadow var(--br-ease);
}
.br-type-card:hover { transform:translateY(-5px); box-shadow:var(--br-shadow-lg); }
.br-type-card--best {
  border-color:var(--br-teal);
  box-shadow:0 6px 28px rgba(46,196,182,.18);
}

.br-type-card__img { position:relative; overflow:hidden; }
.br-type-card__img img {
  width:100%; height:195px; object-fit:cover; display:block;
  transition:transform .4s ease;
}
.br-type-card:hover .br-type-card__img img { transform:scale(1.05); }

.br-type-tag {
  position:absolute; top:12px; left:12px;
  font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em;
  padding:4px 10px; border-radius:50px;
}
.br-type-tag--popular  { background:var(--br-navy); color:#fff; }
.br-type-tag--best     { background:var(--br-teal); color:#fff; }
.br-type-tag--comfort  { background:#6366F1; color:#fff; }
.br-type-tag--invisible{ background:rgba(255,255,255,.9); color:var(--br-navy); }

.br-type-card__body { padding:20px 18px 22px; flex:1; display:flex; flex-direction:column; }
.br-type-card__body h3 { font-family:var(--font-display); font-size:1.05rem; font-weight:700; color:var(--br-navy); margin-bottom:5px; }
.br-type-card__sub { font-size:.8rem; color:var(--br-muted); margin-bottom:13px; line-height:1.5; }
.br-type-card__list {
  list-style:none; padding:0; margin:0 0 16px; flex:1;
  display:flex; flex-direction:column; gap:4px;
}
.br-type-card__list li {
  font-size:.82rem; color:var(--br-text); padding:4px 0 4px 18px; position:relative; line-height:1.5;
}
.br-type-card__list li::before { content:'✓'; position:absolute; left:0; color:var(--br-teal); font-weight:800; font-size:.78rem; }

.br-type-card__foot { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.br-type-card__price { font-size:.88rem; font-weight:800; color:var(--br-teal); }
.br-type-card__cta {
  font-size:.75rem; font-weight:700; color:#fff;
  background:var(--br-teal); padding:7px 13px; border-radius:7px;
  text-decoration:none; white-space:nowrap; transition:background var(--br-ease);
}
.br-type-card__cta:hover { background:var(--br-teal-dk); color:#fff; }

.br-types__note {
  display:flex; align-items:flex-start; gap:10px;
  background:rgba(46,196,182,.08); border:1px solid rgba(46,196,182,.2);
  border-radius:10px; padding:14px 18px;
  font-size:.87rem; color:var(--br-text); line-height:1.65;
  max-width:680px; margin:0 auto;
}
.br-types__note a { color:var(--br-teal); font-weight:700; }

/* ════════════════════════════════════════════════════════════
   4. MID-PAGE CTA STRIP
════════════════════════════════════════════════════════════ */
.br-cta-strip { background:var(--br-navy); padding:26px 0; }
.br-cta-strip--teal { background:linear-gradient(90deg,#0B1F3A,#123B6B); }
.br-cta-strip__inner {
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; flex-wrap:wrap;
}
.br-cta-strip__text { color:#fff; }
.br-cta-strip__text strong { display:block; font-size:1.05rem; margin-bottom:3px; }
.br-cta-strip__text span  { font-size:.86rem; color:rgba(255,255,255,.65); }
.br-cta-strip__btns { display:flex; gap:10px; flex-wrap:wrap; }

/* ════════════════════════════════════════════════════════════
   5. TREATMENT JOURNEY — Timeline
════════════════════════════════════════════════════════════ */
.br-journey { padding:80px 0; background:#fff; }
.br-timeline { max-width:800px; margin:0 auto; position:relative; padding-left:64px; }
.br-timeline::before {
  content:''; position:absolute; left:20px; top:0; bottom:0; width:2px;
  background:linear-gradient(to bottom,var(--br-teal),rgba(46,196,182,.08));
}
.br-timeline__item { position:relative; margin-bottom:40px; }
.br-timeline__item:last-child { margin-bottom:0; }

.br-timeline__num {
  position:absolute; left:-64px; top:0;
  width:42px; height:42px; border-radius:50%;
  background:var(--br-teal); color:#fff;
  font-size:.82rem; font-weight:900;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 0 4px rgba(46,196,182,.16); z-index:1;
}
.br-timeline__item--last .br-timeline__num { background:var(--br-navy); box-shadow:0 0 0 4px rgba(10,22,40,.1); }

.br-timeline__body {
  background:var(--br-off); border:1px solid var(--br-border);
  border-radius:var(--br-r); padding:22px 26px;
  transition:box-shadow var(--br-ease);
}
.br-timeline__body:hover { box-shadow:var(--br-shadow); }
.br-timeline__body h3 { font-family:var(--font); font-size:1rem; font-weight:700; color:var(--br-navy); margin-bottom:6px; }
.br-timeline__body p { font-size:.88rem; color:var(--br-muted); line-height:1.75; margin:0; }

/* ════════════════════════════════════════════════════════════
   6. COST TABLE
════════════════════════════════════════════════════════════ */
.br-cost {
  position:relative; padding:80px 0; overflow:hidden;
  background:linear-gradient(145deg,#0A1628 0%,#0B1F3A 100%);
  isolation:isolate;
}
.br-cost__glow {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:700px; height:500px; border-radius:50%;
  background:radial-gradient(ellipse,rgba(46,196,182,.07) 0%,transparent 65%);
  pointer-events:none;
}
.br-cost .container { position:relative; z-index:1; }

.br-cost__table-wrap {
  overflow-x:auto; border-radius:16px; margin-bottom:28px;
  box-shadow:0 8px 40px rgba(0,0,0,.3);
}
.br-cost__table {
  width:100%; border-collapse:collapse; font-size:.9rem;
  background:#fff; border-radius:16px; overflow:hidden;
}
.br-cost__table thead tr { background:var(--br-navy); }
.br-cost__table thead th {
  padding:14px 20px; text-align:left; color:rgba(255,255,255,.82);
  font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  white-space:nowrap;
}
.br-cost__table tbody tr { border-bottom:1px solid var(--br-border); transition:background var(--br-ease); }
.br-cost__table tbody tr:hover { background:#F0F9FF; }
.br-cost__table tbody td { padding:15px 20px; color:var(--br-text); vertical-align:middle; }
.br-cost__table tbody td:nth-child(2) { font-weight:800; color:var(--br-teal); font-size:.95rem; }

.br-cost__table tr.br-cost__row--featured td { border-left:3px solid var(--br-teal); background:rgba(46,196,182,.04); }
.br-cost__badge {
  display:inline-flex; font-size:.65rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.07em; background:var(--br-teal); color:#fff;
  padding:3px 8px; border-radius:50px; margin-left:7px; vertical-align:middle;
}
.br-cost__table tfoot td {
  background:#F8FAFB; padding:12px 20px; font-size:.78rem;
  color:var(--br-muted); border-top:1px solid var(--br-border);
}

.br-cost__features {
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:32px;
}
.br-cost__feat {
  display:flex; align-items:flex-start; gap:10px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
  border-radius:10px; padding:14px 16px;
  font-size:.86rem; color:rgba(255,255,255,.82); line-height:1.55;
}
.br-cost__feat svg { flex-shrink:0; margin-top:2px; }
.br-cost__cta { display:flex; gap:12px; flex-wrap:wrap; }

/* ════════════════════════════════════════════════════════════
   7. WHY CHOOSE / TRUST SECTION
════════════════════════════════════════════════════════════ */
.br-trust { padding:80px 0; background:var(--br-off); }
.br-trust__inner {
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start;
}
.br-trust__img-col {}
.br-trust__img-col img {
  width:100%; border-radius:20px;
  box-shadow:0 16px 48px rgba(10,22,40,.14); display:block;
}
.br-trust__stats {
  display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:14px;
}
.br-trust__stat {
  background:#fff; border-radius:10px; padding:14px 10px;
  text-align:center; box-shadow:var(--br-shadow);
}
.br-trust__stat strong { display:block; font-family:var(--font-display); font-size:1.1rem; font-weight:800; color:var(--br-navy); }
.br-trust__stat span   { font-size:.68rem; color:var(--br-muted); font-weight:600; text-transform:uppercase; letter-spacing:.05em; }

.br-trust__content {}
.br-trust__lead { font-size:.97rem; color:var(--br-muted); line-height:1.8; margin-bottom:26px; }

.br-trust__items { display:flex; flex-direction:column; gap:16px; margin-bottom:30px; }
.br-trust__item { display:flex; gap:14px; align-items:flex-start; }
.br-trust__item-icon {
  width:42px; height:42px; flex-shrink:0;
  background:rgba(46,196,182,.1); border-radius:10px;
  display:flex; align-items:center; justify-content:center;
}
.br-trust__item h4 { font-family:var(--font); font-size:.95rem; font-weight:700; color:var(--br-navy); margin:0 0 4px; }
.br-trust__item p  { font-size:.85rem; color:var(--br-muted); line-height:1.65; margin:0; }

/* ════════════════════════════════════════════════════════════
   8. FAQ — ACCORDION
════════════════════════════════════════════════════════════ */
.br-faq { padding:80px 0; background:#fff; }
.br-faq__grid { max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:10px; }

.br-faq__item {
  background:var(--br-off); border:1px solid var(--br-border);
  border-radius:var(--br-r); overflow:hidden;
  transition:box-shadow var(--br-ease);
}
.br-faq__item[open] { box-shadow:var(--br-shadow); border-color:rgba(46,196,182,.28); }
.br-faq__item[open] > summary { color:var(--br-blue); background:#EFF6FF; }

.br-faq__item summary {
  padding:18px 22px;
  font-family:var(--font); font-size:.95rem; font-weight:700; color:var(--br-navy);
  cursor:pointer; list-style:none;
  display:flex; align-items:center; justify-content:space-between;
  user-select:none; transition:background var(--br-ease), color var(--br-ease);
}
.br-faq__item summary::-webkit-details-marker { display:none; }
.br-faq__item summary:hover { background:#F0F9FF; }
.br-faq__item summary::after {
  content:''; width:26px; height:26px; flex-shrink:0;
  background:rgba(10,22,40,.06) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.5' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center/13px no-repeat;
  border-radius:50%; transition:transform .22s ease;
}
.br-faq__item[open] summary::after {
  transform:rotate(180deg);
  background:rgba(27,111,216,.1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B6FD8' stroke-width='2.5' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center/13px no-repeat;
}

.br-faq__answer {
  padding:0 22px 18px;
  border-top:1px solid var(--br-border);
  padding-top:14px;
}
.br-faq__answer p { font-size:.89rem; color:var(--br-muted); line-height:1.78; margin:0; }

/* ════════════════════════════════════════════════════════════
   9. FINAL CTA SECTION
════════════════════════════════════════════════════════════ */
.br-final-cta {
  position:relative; padding:80px 0; overflow:hidden;
  background:linear-gradient(135deg,#0A1628 0%,#0B1F3A 100%);
  isolation:isolate;
}
.br-final-cta__glow {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:600px; height:400px; border-radius:50%;
  background:radial-gradient(ellipse,rgba(46,196,182,.1) 0%,transparent 65%);
  pointer-events:none;
}
.br-final-cta__inner {
  position:relative; z-index:1;
  display:grid; grid-template-columns:1fr 1.1fr; gap:64px; align-items:center;
}
.br-final-cta__img img {
  width:100%; border-radius:20px;
  box-shadow:0 24px 60px rgba(0,0,0,.45); display:block;
}
.br-final-cta__content h2 {
  font-family:var(--font-display);
  font-size:clamp(1.7rem,3vw,2.4rem); font-weight:700;
  color:#fff; letter-spacing:-.025em; line-height:1.15;
  margin-bottom:14px;
}
.br-final-cta__content p { font-size:.95rem; color:rgba(255,255,255,.65); line-height:1.78; margin-bottom:22px; }

.br-checklist { display:flex; flex-direction:column; gap:9px; margin-bottom:28px; }
.br-checklist__item {
  display:flex; align-items:center; gap:10px;
  font-size:.88rem; color:rgba(255,255,255,.88); font-weight:500;
}
.br-final-cta__btns { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:20px; }
.br-final-cta__address {
  display:flex; align-items:flex-start; gap:8px;
  font-size:.8rem; color:rgba(255,255,255,.45); line-height:1.65;
}

/* ════════════════════════════════════════════════════════════
   10. FLOATING WHATSAPP BUTTON
════════════════════════════════════════════════════════════ */
.br-wa-float {
  position:fixed; bottom:84px; right:18px; z-index:999;
  width:56px; height:56px; border-radius:50%;
  background:#25D366; color:#fff;
  display:flex; align-items:center; justify-content:center;
  text-decoration:none;
  box-shadow:0 4px 20px rgba(37,211,102,.42);
  transition:transform .2s, box-shadow .2s;
  animation:brWaPulse 2.8s ease-in-out infinite;
}
.br-wa-float:hover { transform:scale(1.1); box-shadow:0 6px 28px rgba(37,211,102,.55); }
@keyframes brWaPulse {
  0%,100%{box-shadow:0 4px 20px rgba(37,211,102,.42);}
  50%{box-shadow:0 4px 28px rgba(37,211,102,.7),0 0 0 8px rgba(37,211,102,.1);}
}

/* ════════════════════════════════════════════════════════════
   11. STICKY MOBILE BOTTOM BAR
════════════════════════════════════════════════════════════ */
.br-sticky-bar {
  display:none; /* shown on mobile only */
  position:fixed; bottom:0; left:0; right:0; z-index:998;
  background:#fff; border-top:1px solid var(--br-border);
  box-shadow:0 -4px 20px rgba(0,0,0,.1);
}
.br-sticky-bar__btn {
  flex:1; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:3px;
  padding:11px 8px; font-size:.7rem; font-weight:700;
  text-decoration:none; transition:opacity .15s;
}
.br-sticky-bar__btn:hover { opacity:.82; }
.br-sticky-bar__btn--call { color:var(--br-teal); border-right:1px solid var(--br-border); }
.br-sticky-bar__btn--wa   { color:#25D366; border-right:1px solid var(--br-border); }
.br-sticky-bar__btn--book { color:#fff; background:var(--br-teal); }

/* ════════════════════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════════════════════ */

/* 1100px — 4-col → 2-col types */
@media (max-width:1100px) {
  .br-types__grid  { grid-template-columns:repeat(2,1fr); }
  .br-cost__features { grid-template-columns:repeat(2,1fr); }
}

/* 960px — hero collapse, trust collapse */
@media (max-width:960px) {
  .br-hero__inner { grid-template-columns:1fr; text-align:center; gap:40px; }
  .br-hero__left h1 { font-size:2rem; }
  .br-hero__pills  { justify-content:center; }
  .br-hero__ctas   { justify-content:center; }
  .br-hero__urgency{ justify-content:center; }
  .br-hero__stat--tl { top:14px; left:8px; }
  .br-hero__stat--br { bottom:14px; right:8px; }

  .br-trust__inner { grid-template-columns:1fr; }
  .br-trust__img-col { max-width:480px; margin:0 auto; }
  .br-final-cta__inner { grid-template-columns:1fr; }
  .br-final-cta__img { display:none; }
}

/* 768px — mobile */
@media (max-width:768px) {
  .br-hero { padding:68px 0 56px; }
  .br-hero__img-wrap img { height:300px; }
  .br-hero__stat-card { display:none; } /* hide on mobile — too cramped */

  .br-pain__grid { grid-template-columns:repeat(2,1fr); }
  .br-types__grid { grid-template-columns:1fr; }
  .br-trust__stats { grid-template-columns:repeat(2,1fr); }
  .br-cost__features { grid-template-columns:1fr 1fr; }

  .br-timeline { padding-left:50px; }
  .br-timeline::before { left:15px; }
  .br-timeline__num { left:-50px; width:36px; height:36px; font-size:.72rem; }
  .br-timeline__body { padding:16px 18px; }

  .br-cta-strip__inner { flex-direction:column; text-align:center; }
  .br-cta-strip__btns { justify-content:center; }

  .br-final-cta { padding-bottom:80px; } /* room for sticky bar */
  .br-final-cta__btns { flex-direction:column; }
  .br-final-cta__btns .br-btn { width:100%; justify-content:center; }

  /* Show sticky bar on mobile */
  .br-sticky-bar { display:flex; }
  /* Push float WA above sticky bar */
  .br-wa-float { bottom:74px; }

  /* Section padding reduction */
  .br-hero, .br-pain, .br-types, .br-journey, .br-cost, .br-trust, .br-faq, .br-final-cta { padding-top:60px; padding-bottom:60px; }
}

/* 640px — tighter mobile */
@media (max-width:640px) {
  #braces-main .container { padding:0 16px; }
  .br-pain__grid { grid-template-columns:1fr; }
  .br-cost__features { grid-template-columns:1fr; }
  .br-trust__stats { grid-template-columns:repeat(4,1fr); }
  .br-trust__stat strong { font-size:.95rem; }
  .br-hero__left h1 { font-size:1.75rem; }
  .br-section-hd h2 { font-size:1.6rem; }
}

@media (max-width:480px) {
  .br-trust__stats { grid-template-columns:repeat(2,1fr); }
}