/**
 * Reconnect Vasectomy Reversal - Design System v3
 * Tighter spacing, Montserrat headings, real imagery
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Montserrat:wght@400;500;600;700;800;900&display=swap');

:root {
    --color-primary: #0d9488;
    --color-primary-light: #2dd4bf;
    --color-primary-dark: #0f766e;
    --color-primary-subtle: rgba(13,148,136,0.08);
    --color-primary-glow: rgba(13,148,136,0.25);
    --color-accent: #6366f1;
    --color-accent-light: #818cf8;
    --color-accent-warm: #f59e0b;
    --color-bg: #fafbfc;
    --color-bg-alt: #f1f5f9;
    --color-bg-card: #ffffff;
    --color-bg-footer: #0c1222;
    --color-bg-glass: rgba(255,255,255,0.7);
    --color-bg-glass-strong: rgba(255,255,255,0.9);
    --color-text: #0f172a;
    --color-text-secondary: #475569;
    --color-text-muted: #94a3b8;
    --color-text-inverse: #ffffff;
    --color-text-link: #0d9488;
    --color-border: rgba(0,0,0,0.06);
    --color-border-light: rgba(0,0,0,0.03);
    --shadow-xs: 0 1px 2px rgba(0,0,0,0.04);
    --shadow-sm: 0 2px 8px rgba(0,0,0,0.06);
    --shadow-md: 0 4px 16px rgba(0,0,0,0.08);
    --shadow-lg: 0 12px 40px rgba(0,0,0,0.1);
    --shadow-xl: 0 24px 60px rgba(0,0,0,0.14);
    --shadow-glow: 0 0 30px var(--color-primary-glow);
    --shadow-card: 0 1px 3px rgba(0,0,0,0.04), 0 6px 16px rgba(0,0,0,0.06);
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-heading: 'Montserrat', sans-serif;
    --space-xs: 0.25rem;
    --space-sm: 0.5rem;
    --space-md: 0.75rem;
    --space-lg: 1rem;
    --space-xl: 1.5rem;
    --space-2xl: 2rem;
    --space-3xl: 3rem;
    --space-4xl: 4rem;
    --container-max: 1200px;
    --header-height: 64px;
    --border-radius: 12px;
    --border-radius-sm: 8px;
    --border-radius-lg: 16px;
    --border-radius-xl: 24px;
    --transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
    --transition-fast: all 0.15s ease;
}

[data-theme="dark"] {
    --color-primary: #2dd4bf;
    --color-primary-light: #5eead4;
    --color-primary-dark: #14b8a6;
    --color-primary-subtle: rgba(45,212,191,0.1);
    --color-primary-glow: rgba(45,212,191,0.3);
    --color-accent: #818cf8;
    --color-bg: #0a0f1a;
    --color-bg-alt: #111827;
    --color-bg-card: #151c2c;
    --color-bg-footer: #060a12;
    --color-bg-glass: rgba(10,15,26,0.7);
    --color-bg-glass-strong: rgba(10,15,26,0.9);
    --color-text: #e2e8f0;
    --color-text-secondary: #94a3b8;
    --color-text-muted: #475569;
    --color-text-link: #2dd4bf;
    --color-border: rgba(255,255,255,0.06);
    --color-border-light: rgba(255,255,255,0.03);
    --shadow-sm: 0 2px 8px rgba(0,0,0,0.3);
    --shadow-md: 0 4px 16px rgba(0,0,0,0.35);
    --shadow-lg: 0 12px 40px rgba(0,0,0,0.4);
    --shadow-card: 0 1px 3px rgba(0,0,0,0.2), 0 6px 16px rgba(0,0,0,0.3);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);font-size:15px;line-height:1.65;color:var(--color-text);background:var(--color-bg);transition:background-color .4s,color .4s;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.nav-open{overflow:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--color-text-link);text-decoration:none;transition:var(--transition-fast)}
a:hover{color:var(--color-primary-light)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text);line-height:1.2;margin-bottom:var(--space-md);font-weight:700}
h1{font-size:clamp(1.8rem,4.5vw,2.8rem)}
h2{font-size:clamp(1.4rem,3.5vw,2rem)}
h3{font-size:clamp(1.05rem,2.5vw,1.25rem)}
h4{font-size:1rem}
p{margin-bottom:var(--space-md);color:var(--color-text-secondary);font-size:0.92rem;line-height:1.7}
ul,ol{padding-left:var(--space-xl);margin-bottom:var(--space-md)}
li{margin-bottom:var(--space-xs);color:var(--color-text-secondary);font-size:0.92rem}

.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-xl)}

/* ===== Header ===== */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--color-bg-glass);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--color-border);transition:var(--transition);height:var(--header-height)}
.site-header.scrolled{box-shadow:var(--shadow-md);height:56px;background:var(--color-bg-glass-strong)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-xl)}
.site-logo{display:flex;align-items:center;text-decoration:none;height:100%;padding:4px 0}
.site-logo img{height:100%;max-height:56px;width:auto;transition:var(--transition);object-fit:contain}
.site-header.scrolled .site-logo img{max-height:48px}

/* Dark mode logo: pure white pill-shaped background matching Book Consultation button */
[data-theme="dark"] .site-logo img{background:#ffffff;border-radius:50px;padding:4px 4px}

/* Dark mode gicon fix - add white background circle */
[data-theme="dark"] .team-avatar img[src*="gicon"]{background:#fff;border-radius:50%;padding:8px}

.nav-menu{display:flex;align-items:center;list-style:none;gap:2px;padding:0;margin:0}
.nav-item{position:relative}
.nav-item>a{display:block;padding:6px 12px;color:var(--color-text-secondary);font-size:0.82rem;font-weight:500;letter-spacing:0.01em;transition:var(--transition-fast);white-space:nowrap;border-radius:6px}
.nav-item>a:hover,.nav-item.active>a{color:var(--color-primary);background:var(--color-primary-subtle)}
.nav-dropdown{position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%) translateY(8px);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-lg);min-width:240px;opacity:0;visibility:hidden;transition:var(--transition);padding:var(--space-xs);list-style:none;z-index:100}
.nav-item.has-dropdown:hover .nav-dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav-dropdown a{display:block;padding:8px 14px;color:var(--color-text-secondary);font-size:0.82rem;transition:var(--transition-fast);border-radius:6px}
.nav-dropdown a:hover{background:var(--color-primary-subtle);color:var(--color-primary)}
.header-actions{display:flex;align-items:center;gap:var(--space-sm)}
.theme-toggle{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:50%;width:34px;height:34px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:0.9rem;transition:var(--transition);color:var(--color-text)}
.theme-toggle:hover{border-color:var(--color-primary);background:var(--color-primary-subtle);transform:rotate(15deg)}
.header-cta{display:inline-flex;align-items:center;gap:var(--space-sm);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff !important;padding:8px 18px;border-radius:50px;font-size:0.78rem;font-weight:600;transition:var(--transition);box-shadow:0 2px 12px var(--color-primary-glow)}
.header-cta:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow);color:#fff !important}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;border:none;background:none;z-index:1001}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--color-text);transition:var(--transition);border-radius:2px}
.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav-toggle.active span:nth-child(2){opacity:0}
.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);z-index:999}
.nav-overlay.active{display:block}

/* ===== Hero - SHORTER, LESS OPAQUE ===== */
.hero{position:relative;min-height:65vh;display:flex;align-items:center;margin-top:var(--header-height);overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;transition:opacity 1s ease;position:absolute;inset:0;opacity:0}
.hero-bg img.active{opacity:1}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(15,118,110,0.55) 0%,rgba(10,15,26,0.6) 100%);z-index:1}
.hero-content{position:relative;z-index:2;text-align:center;color:#fff;padding:var(--space-2xl) 0;width:100%}
.hero-slide{display:none;animation:heroFade 0.8s cubic-bezier(0.4,0,0.2,1)}
.hero-slide.active{display:block}
@keyframes heroFade{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.hero h1{color:#fff;font-size:clamp(2rem,5vw,3.5rem);margin-bottom:var(--space-sm);text-shadow:0 2px 12px rgba(0,0,0,0.3)}
.hero-badge{display:inline-flex;align-items:center;gap:var(--space-sm);background:rgba(255,255,255,0.12);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2);padding:6px 16px;border-radius:50px;font-size:0.78rem;font-weight:500;margin-bottom:var(--space-lg);color:rgba(255,255,255,0.9)}
.hero-subtitle{font-size:clamp(0.92rem,2vw,1.1rem);opacity:0.9;margin-bottom:var(--space-xl);font-weight:300;color:rgba(255,255,255,0.9);max-width:500px;margin-left:auto;margin-right:auto;line-height:1.65}
.hero-buttons{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap;margin-bottom:var(--space-lg)}
.hero-dots{display:flex;justify-content:center;gap:8px;margin-top:var(--space-md)}
.hero-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.3);cursor:pointer;border:none;transition:var(--transition)}
.hero-dot.active{background:#fff;transform:scale(1.3);box-shadow:0 0 10px rgba(255,255,255,0.4)}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:10px 24px;border-radius:50px;font-family:var(--font-body);font-size:0.85rem;font-weight:600;cursor:pointer;transition:var(--transition);border:none;text-decoration:none;position:relative;overflow:hidden}
.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;box-shadow:0 4px 16px var(--color-primary-glow)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px var(--color-primary-glow);color:#fff}
.btn-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,0.35)}
.btn-outline:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.7);color:#fff;transform:translateY(-2px)}
.btn-secondary{background:var(--color-bg-card);color:var(--color-primary);border:1.5px solid var(--color-primary)}
.btn-secondary:hover{background:var(--color-primary);color:#fff;transform:translateY(-2px)}
.btn-lg{padding:12px 28px;font-size:0.88rem}

/* ===== Sections - REDUCED spacing ===== */
.section{padding:var(--space-4xl) 0}
.section-alt{background:var(--color-bg-alt)}
.section-header{text-align:center;max-width:600px;margin:0 auto var(--space-2xl)}
.section-header h2{position:relative;display:inline-block}
.section-label{display:inline-block;font-family:var(--font-body);font-size:0.7rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-xs);background:var(--color-primary-subtle);padding:4px 12px;border-radius:50px}
.section-header p{margin-top:var(--space-sm);font-size:0.92rem;line-height:1.7}

/* ===== Cards ===== */
.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--space-xl);transition:var(--transition);position:relative;overflow:hidden}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));opacity:0;transition:var(--transition)}
.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:transparent}
.card:hover::before{opacity:1}
.card-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--color-primary-subtle),rgba(99,102,241,0.08));display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:var(--space-md);color:var(--color-primary)}
.card h3{font-size:0.95rem;margin-bottom:var(--space-xs)}
.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-lg)}
.cards-grid-3{grid-template-columns:repeat(3,1fr)}
.feature-card{text-align:center;padding:var(--space-xl)}
.feature-card .card-icon{margin:0 auto var(--space-md);width:52px;height:52px;font-size:1.3rem}
.feature-card p{font-size:0.85rem}

/* ===== Image Card ===== */
.image-card{border-radius:var(--border-radius);overflow:hidden;position:relative}
.image-card img{width:100%;height:180px;object-fit:cover;object-position:center top;transition:transform .6s ease}
.image-card:hover img{transform:scale(1.05)}
.image-card-body{padding:var(--space-lg)}

/* ===== Testimonials ===== */
.testimonial-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--space-xl);position:relative}
.testimonial-card::before{content:'"';font-family:var(--font-heading);font-size:4rem;color:var(--color-primary);opacity:0.12;position:absolute;top:8px;left:20px;line-height:1}
.testimonial-text{font-style:italic;font-size:0.88rem;line-height:1.8;color:var(--color-text-secondary);position:relative;z-index:1}

/* ===== Stats ===== */
.stats-section{position:relative;padding:var(--space-3xl) 0;overflow:hidden}
.stats-bg{position:absolute;inset:0;z-index:0}
.stats-bg img{width:100%;height:100%;object-fit:cover}
.stats-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(15,118,110,0.88) 0%,rgba(10,15,26,0.92) 100%);z-index:1}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg);text-align:center;position:relative;z-index:2}
.stat-item{color:#fff}
.stat-number{font-family:var(--font-heading);font-size:clamp(1.6rem,3.5vw,2.8rem);font-weight:800;display:block;margin-bottom:var(--space-xs);background:linear-gradient(135deg,#fff,rgba(255,255,255,0.7));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stat-label{font-size:0.72rem;opacity:0.7;text-transform:uppercase;letter-spacing:0.12em;font-weight:600}

/* ===== Page Header - SHORTER ===== */
.page-header{position:relative;padding:var(--space-3xl) 0 var(--space-2xl);margin-top:var(--header-height);text-align:center;overflow:hidden}
.page-header-bg{position:absolute;inset:0;z-index:0}
.page-header-bg img{width:100%;height:100%;object-fit:cover}
.page-header-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(15,118,110,0.75) 0%,rgba(10,15,26,0.8) 100%);z-index:1}
.page-header .container{position:relative;z-index:2}
.page-header h1{color:#fff;margin-bottom:var(--space-xs);font-size:clamp(1.6rem,4vw,2.5rem)}
.page-header .breadcrumb{color:rgba(255,255,255,0.6);font-size:0.82rem}
.page-header .breadcrumb a{color:rgba(255,255,255,0.8)}
.page-header .breadcrumb a:hover{color:#fff}

/* ===== Page Content ===== */
.page-content{padding:var(--space-3xl) 0}
.content-wrapper{max-width:740px;margin:0 auto}
.content-wrapper p{font-size:0.95rem;line-height:1.8;margin-bottom:var(--space-lg)}
.content-wrapper h2{margin-top:var(--space-2xl);margin-bottom:var(--space-md)}
.content-wrapper h3{margin-top:var(--space-xl)}

/* ===== Team ===== */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg)}
.team-card{text-align:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--space-xl);transition:var(--transition);overflow:hidden}
.team-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.team-avatar{width:120px;height:120px;border-radius:50%;overflow:hidden;margin:0 auto var(--space-md);border:3px solid var(--color-primary-subtle);box-shadow:0 0 0 6px var(--color-bg-alt);transition:var(--transition)}
.team-card:hover .team-avatar{border-color:var(--color-primary);box-shadow:0 0 0 6px var(--color-primary-subtle)}
.team-avatar img{width:100%;height:100%;object-fit:cover}
.team-card h3{margin-bottom:var(--space-xs)}
.team-role{color:var(--color-primary);font-size:0.78rem;font-weight:600;margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:0.06em}
.team-card p{font-size:0.85rem}

/* ===== Success Table ===== */
.success-table{width:100%;border-collapse:separate;border-spacing:0;margin:var(--space-lg) 0;border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-card)}
.success-table thead{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark))}
.success-table th{padding:12px 16px;color:#fff;font-weight:600;font-size:0.78rem;text-align:center;text-transform:uppercase;letter-spacing:0.05em}
.success-table td{padding:12px 16px;text-align:center;border-bottom:1px solid var(--color-border);font-size:0.88rem;color:var(--color-text-secondary);background:var(--color-bg-card)}
.success-table tbody tr:hover td{background:var(--color-primary-subtle)}
.success-table .highlight{font-weight:700;color:var(--color-primary);font-size:1.2rem;font-family:var(--font-heading)}

/* ===== Price Card ===== */
.price-card{background:var(--color-bg-card);border:2px solid var(--color-primary);border-radius:var(--border-radius-xl);padding:var(--space-2xl);text-align:center;max-width:440px;margin:var(--space-xl) auto;position:relative;overflow:hidden;box-shadow:0 8px 40px var(--color-primary-glow)}
.price-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent),var(--color-primary-light))}
.price-amount{font-family:var(--font-heading);font-size:3rem;color:var(--color-primary);margin:var(--space-md) 0;font-weight:800}
.price-label{font-size:0.95rem;color:var(--color-text-secondary);margin-bottom:var(--space-lg)}
.price-features{list-style:none;padding:0;text-align:left;margin-bottom:var(--space-lg)}
.price-features li{padding:10px 0;border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);font-size:0.88rem;padding-left:28px;position:relative}
.price-features li::before{content:'✓';position:absolute;left:0;color:var(--color-primary);font-weight:700}

/* ===== Forms ===== */
.form-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--space-2xl);margin:var(--space-lg) 0;box-shadow:var(--shadow-card)}
.form-group{margin-bottom:var(--space-lg)}
.form-group label{display:block;margin-bottom:var(--space-xs);font-weight:500;font-size:0.82rem;color:var(--color-text)}
.form-group label .required{color:#ef4444}
.form-control{width:100%;padding:10px 14px;border:1.5px solid var(--color-border);border-radius:var(--border-radius-sm);font-family:var(--font-body);font-size:0.88rem;color:var(--color-text);background:var(--color-bg);transition:var(--transition);appearance:none;-webkit-appearance:none}
.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}
.form-control.error{border-color:#ef4444}
.field-error{display:none;color:#ef4444;font-size:0.75rem;margin-top:var(--space-xs)}
select.form-control{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
textarea.form-control{min-height:120px;resize:vertical}
.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}
.form-section-title{font-family:var(--font-body);font-size:1rem;font-weight:700;color:var(--color-primary);margin-bottom:var(--space-md);padding-bottom:var(--space-xs);border-bottom:2px solid var(--color-primary-subtle);text-transform:uppercase;letter-spacing:0.04em}
.form-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;padding:var(--space-lg);border-radius:var(--border-radius-sm);text-align:center;margin-bottom:var(--space-lg)}
[data-theme="dark"] .form-success{background:rgba(16,185,129,0.1);border-color:rgba(16,185,129,0.3);color:#6ee7b7}

/* ===== Contact Cards ===== */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);margin-bottom:var(--space-2xl)}
.contact-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--space-xl);text-align:center;transition:var(--transition)}
.contact-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-glow);transform:translateY(-3px)}
.contact-card-icon{font-size:1.8rem;margin-bottom:var(--space-sm)}
.contact-card h3{font-size:0.92rem;margin-bottom:var(--space-xs)}
.contact-card p,.contact-card a{font-size:0.85rem}

/* ===== Map ===== */
.map-container{border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--color-border)}
.map-container iframe{width:100%;height:360px;border:none;display:block}

/* ===== Image Banner ===== */
.image-banner{position:relative;height:280px;overflow:hidden;border-radius:var(--border-radius-lg);margin:var(--space-xl) 0}
.image-banner img{width:100%;height:100%;object-fit:cover;object-position:center top}
.image-banner-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.35),transparent)}

/* ===== Pre-Footer with Address + Map ===== */
.pre-footer{background:var(--color-bg-alt);padding:var(--space-2xl) 0;border-top:1px solid var(--color-border)}
.pre-footer-grid{display:grid;grid-template-columns:2fr 3fr;gap:var(--space-2xl);align-items:center}
.pre-footer-info h3{font-size:1.3rem;margin-bottom:var(--space-sm)}
.pre-footer-info p{font-size:0.88rem;margin-bottom:var(--space-xs)}

/* ===== Footer ===== */
.site-footer{background:var(--color-bg-footer);color:rgba(255,255,255,0.7);padding:var(--space-3xl) 0 var(--space-lg)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--space-xl);margin-bottom:var(--space-xl);max-width:var(--container-max);margin-left:auto;margin-right:auto}
.footer-col h4{color:#fff;font-family:var(--font-body);font-size:0.78rem;font-weight:700;margin-bottom:var(--space-md);text-transform:uppercase;letter-spacing:0.1em;border-bottom:1px solid rgba(255,255,255,0.12);padding-bottom:var(--space-sm)}
.footer-col p{color:rgba(255,255,255,0.5);font-size:0.8rem;line-height:1.6}
.footer-links{list-style:none;padding:0}
.footer-links li{margin-bottom:6px}
.footer-links a{color:rgba(255,255,255,0.5);font-size:0.8rem;transition:var(--transition-fast)}
.footer-links a:hover{color:var(--color-primary-light)}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.06);padding-top:var(--space-lg);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-lg)}
.footer-bottom p{font-size:0.75rem;color:rgba(255,255,255,0.3);margin:0}
.footer-bottom a{color:rgba(255,255,255,0.4)}

/* ===== CTA Banner ===== */
.cta-banner{position:relative;padding:var(--space-3xl) 0;text-align:center;overflow:hidden}
.cta-banner-bg{position:absolute;inset:0;z-index:0}
.cta-banner-bg img{width:100%;height:100%;object-fit:cover}
.cta-banner-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(15,118,110,0.88) 0%,rgba(10,15,26,0.92) 100%);z-index:1}
.cta-banner .container{position:relative;z-index:2}
.cta-banner h2{color:#fff;margin-bottom:var(--space-sm)}
.cta-banner p{color:rgba(255,255,255,0.75);max-width:500px;margin:0 auto var(--space-lg);font-size:1rem}
.cta-banner .btn-group{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}

/* ===== Scroll-to-top ===== */
.scroll-top{position:fixed;bottom:24px;right:24px;width:40px;height:40px;border-radius:12px;background:var(--color-primary);color:#fff;border:none;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(10px);transition:var(--transition);z-index:99}
.scroll-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.scroll-top:hover{background:var(--color-primary-dark);transform:translateY(-2px)}

/* ===== Animations ===== */
.animate-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s cubic-bezier(0.4,0,0.2,1)}
.animate-on-scroll.animate-in{opacity:1;transform:translateY(0)}

/* ===== Info Box ===== */
.info-box{background:var(--color-primary-subtle);border-left:3px solid var(--color-primary);padding:var(--space-md) var(--space-lg);border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;margin:var(--space-lg) 0}
.info-box p{color:var(--color-text);margin:0;font-size:0.88rem}

/* ===== News List ===== */
.news-list{list-style:none;padding:0;max-height:600px;overflow-y:auto;padding-right:var(--space-sm)}
.news-list::-webkit-scrollbar{width:4px}
.news-list::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:2px}
.news-list::-webkit-scrollbar-track{background:var(--color-border)}
.news-list li{padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);font-size:0.82rem;line-height:1.6}
.news-list li:last-child{border-bottom:none}
.news-list a{font-weight:500}

/* ===== News Image Slider ===== */
.news-image-slider{position:relative}
.news-slider-img{width:100%;height:100%;object-fit:cover;object-position:center top;position:absolute;inset:0;opacity:0;transition:opacity 1s ease}
.news-slider-img.active{opacity:1;position:relative}

/* ===== Two Column ===== */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);align-items:start}
.two-col-image{border-radius:var(--border-radius-lg);overflow:hidden}
.two-col-image img{width:100%;height:100%;object-fit:cover;object-position:center top}

/* ===== Responsive ===== */
@media(max-width:968px){
    .nav-toggle{display:flex}
    .nav-menu{position:fixed;top:0;right:-100%;height:100vh;width:280px;background:var(--color-bg);flex-direction:column;padding:calc(var(--header-height) + 16px) var(--space-xl) var(--space-xl);transition:right .3s ease;z-index:1000;overflow-y:auto;align-items:stretch;box-shadow:var(--shadow-xl);gap:0}
    .nav-menu.active{right:0}
    .nav-item>a{padding:12px 0;font-size:0.95rem;border-bottom:1px solid var(--color-border-light);border-radius:0}
    .nav-dropdown{position:static;opacity:1;visibility:hidden;max-height:0;overflow:hidden;box-shadow:none;border:none;background:transparent;transform:none;padding:0;min-width:0;transition:max-height .3s ease,visibility 0s linear .3s}
    .nav-item.dropdown-open .nav-dropdown{visibility:visible;max-height:500px;transition:max-height .3s ease,visibility 0s}
    .nav-dropdown a{padding:8px 20px}
    .header-cta{display:none}
    .cards-grid-3{grid-template-columns:1fr}
    .stats-grid{grid-template-columns:repeat(2,1fr)}
    .two-col{grid-template-columns:1fr}
    .pre-footer-grid{grid-template-columns:1fr}
    .contact-grid{grid-template-columns:1fr}
    .form-row{grid-template-columns:1fr}
    .footer-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-xl)}
    .footer-col{padding-right:0}
    .footer-bottom{flex-direction:column;text-align:center}
}
@media(max-width:640px){
    .hero{min-height:55vh}
    .hero h1{font-size:1.8rem}
    .section{padding:var(--space-2xl) 0}
    .container{padding:0 var(--space-md)}
    .form-section{padding:var(--space-lg)}
    .price-card{padding:var(--space-lg)}
    .stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}
    .footer-grid{grid-template-columns:1fr}
}
