/*
Theme Name: Health Check 2026
Author: Dr. Namika Dhamija
Description: Modern design for health-check.at
Version: 2.0
*/

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
/* Inline SVG icons — replaces Font Awesome */
.svg-icon { width:1em; height:1em; display:inline-block; vertical-align:-0.125em; overflow:visible; }

:root {
    --primary: #007AAE;
    --primary-dark: #005d85;
    --primary-light: #e8f4fb;
    --primary-glow: rgba(0,122,174,0.25);
    --teal-alt: #0d9488;
    --ink: #0d3460;
    --ink-2: #0a2950;
    --surface: #ffffff;
    --surface-2: #f7f9fc;
    --border: #e4e9f0;
    --text: #111827;
    --text-2: #4b5563;
    --text-3: #9ca3af;
    --gradient-teal: linear-gradient(135deg,#007AAE,#0d9488);
    --r-sm: 8px; --r: 12px; --r-lg: 18px; --r-xl: 24px; --r-pill: 100px;
    --sh-sm: 0 1px 3px rgba(0,0,0,0.07);
    --sh-md: 0 4px 20px rgba(0,0,0,0.08);
    --sh-lg: 0 8px 40px rgba(0,0,0,0.11);
    --sh-xl: 0 20px 60px rgba(0,0,0,0.14);
    --sh-glow: 0 8px 32px rgba(0,122,174,0.28);
    --t: 0.2s ease;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
    line-height: 1.6;
    color: var(--text);
    background: var(--surface);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

/* ==============================
   LANGUAGE SELECTOR
============================== */
.language-selector { position:relative; display:inline-block; }
.language-dropdown {
    cursor:pointer; display:flex; align-items:center; gap:0.4rem;
    padding:0.4rem 0.75rem; background:transparent;
    border:1px solid var(--border); border-radius:var(--r-pill);
    transition:all var(--t); min-width:72px; justify-content:center;
}
.language-dropdown:hover { background:var(--primary-light); border-color:var(--primary); }
.flag-icon { width:20px; height:14px; border-radius:3px; object-fit:cover; }
.language-dropdown i { font-size:0.7rem; color:var(--text-2); transition:transform 0.2s ease; }
.language-dropdown.active i { transform:rotate(180deg); }
.language-options {
    position:absolute; top:calc(100% + 0.5rem); right:0;
    background:var(--surface); border:1px solid var(--border);
    border-radius:var(--r); box-shadow:var(--sh-lg); z-index:1000;
    min-width:130px; opacity:0; visibility:hidden;
    transform:translateY(-8px); transition:all 0.2s ease;
}
.language-options.active { opacity:1; visibility:visible; transform:translateY(0); }
.language-option {
    display:flex; align-items:center; gap:0.75rem; padding:0.65rem 1rem;
    cursor:pointer; transition:background var(--t);
    border-bottom:1px solid var(--border); font-size:0.875rem;
}
.language-option:last-child { border-bottom:none; }
.language-option:hover { background:var(--surface-2); }
.language-option.active { background:var(--primary-light); color:var(--primary); font-weight:600; }
.language-option span { font-size:0.875rem; }

/* ==============================
   SUBPAGE CONTENT
============================== */
.page-content-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 2rem 2rem 4rem;
}

/* ==============================
   BLOG POST
============================== */

/* Header — full-width two-column, matching hero layout */
.single-post .post-header {
    display: grid;
    grid-template-columns: 55% 45%;
    min-height: 460px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, var(--ink) 0%, var(--ink-2) 60%, #0a3d6b 100%);
    margin-bottom: 0;
}
.single-post .post-header::before {
    content: ''; position: absolute; top: -80px; right: -80px;
    width: 320px; height: 320px;
    background: radial-gradient(circle, rgba(0,122,174,0.25) 0%, transparent 65%);
    pointer-events: none; z-index: 0;
}
.single-post .post-header::after {
    content: ''; position: absolute; bottom: -60px; left: -60px;
    width: 240px; height: 240px;
    background: radial-gradient(circle, rgba(13,148,136,0.15) 0%, transparent 65%);
    pointer-events: none; z-index: 0;
}

/* Left column — text */
.post-header-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 4rem 3.5rem 4rem 5rem;
    position: relative;
    z-index: 1;
}

/* Right column — image */
.post-header-visual {
    position: relative;
    overflow: hidden;
}
.post-header-visual img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center top;
    display: block;
    clip-path: polygon(6% 0%, 100% 0%, 100% 100%, 0% 100%);
}

/* Category badges */
.post-cats { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; }
.post-cat-badge {
    font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em;
    padding: 0.25rem 0.75rem; border-radius: var(--r-pill);
    background: rgba(0,122,174,0.35); color: #7dd3fc;
    text-decoration: none; border: 1px solid rgba(0,122,174,0.4);
    transition: background var(--t);
}
.post-cat-badge:hover { background: rgba(0,122,174,0.55); }

.single-post .post-title {
    font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; line-height: 1.2;
    color: #fff; margin-bottom: 1rem;
}
.post-meta {
    font-size: 0.875rem; color: rgba(255,255,255,0.55);
    display: flex; flex-wrap: wrap; align-items: center; gap: 0;
}
.post-meta time, .post-meta span { color: rgba(255,255,255,0.55); }
.post-meta-sep { margin: 0 0.5rem; }

/* Body content */
.post-content { font-size: 1.0625rem; line-height: 1.8; color: var(--text); margin-top: 2.5rem; }
.post-content h2 {
    font-size: 1.5rem; font-weight: 700; margin: 2.5rem 0 0.75rem; color: var(--ink);
    padding-bottom: 0.5rem; border-bottom: 2px solid var(--primary-light);
}
.post-content h3 { font-size: 1.25rem; font-weight: 600; margin: 1.75rem 0 0.5rem; color: var(--ink); }
.post-content p { margin-bottom: 1.25rem; }
.post-content ul, .post-content ol { padding-left: 1.5rem; margin-bottom: 1.25rem; }
.post-content li { margin-bottom: 0.4rem; }
.post-content a { color: var(--primary); }
.post-content a:hover { text-decoration: underline; }
.post-content img { max-width: 100%; height: auto; border-radius: var(--r); }
.post-content blockquote {
    border-left: 4px solid var(--primary); margin: 2rem 0;
    padding: 1rem 1.5rem;
    background: var(--primary-light); border-radius: 0 var(--r-lg) var(--r-lg) 0;
    font-style: italic; color: var(--ink);
}

/* Post navigation */
.post-navigation { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--border); }
.post-nav-links { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.post-nav-prev, .post-nav-next {
    color: var(--primary); text-decoration: none;
    font-size: 0.9375rem; font-weight: 500; max-width: 48%;
    padding: 0.6rem 1rem; border-radius: var(--r);
    background: var(--primary-light); transition: background var(--t);
}
.post-nav-prev:hover, .post-nav-next:hover { background: #d1eaf7; }
.post-nav-next { margin-left: auto; text-align: right; }

/* Responsive */
@media (max-width: 1024px) {
    .single-post .post-header { grid-template-columns: 1fr; min-height: auto; }
    .post-header-visual { min-height: 50vw; order: -1; }
    .post-header-visual img { clip-path: none; }
    .post-header-content { padding: 3rem 3rem 3.5rem; }
}
@media (max-width: 768px) {
    .post-header-visual { min-height: 56vw; }
    .post-header-content { padding: 2rem 1.5rem 2.5rem; }
    .single-post .post-title { font-size: 1.75rem; }
}

/* ==============================
   BLOG SECTION (front page)
============================== */
.blog-section { padding: 7rem 0; background: var(--surface); }

.blog-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 3rem;
    flex-wrap: wrap;
}
.blog-all-link {
    flex-shrink: 0;
    color: var(--primary);
    font-weight: 600;
    font-size: 0.9375rem;
    text-decoration: none;
    padding: 0.55rem 1.25rem;
    border: 1.5px solid var(--primary);
    border-radius: var(--r-pill);
    transition: all var(--t);
    white-space: nowrap;
    align-self: flex-end;
}
.blog-all-link:hover { background: var(--primary); color: #fff; }

.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
}
.blog-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform var(--t), box-shadow var(--t);
    box-shadow: 0 2px 12px rgba(0,0,0,0.05);
}
.blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0,0,0,0.1);
}
.blog-card-image {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}
.blog-card-image img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.blog-card:hover .blog-card-image img { transform: scale(1.04); }
.blog-card-body {
    padding: 1.5rem 1.75rem 1.75rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.blog-card-cats { margin-bottom: 0.65rem; }
.blog-card-title {
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 0.65rem;
    color: var(--ink);
}
.blog-card-title a { color: inherit; text-decoration: none; }
.blog-card-title a:hover { color: var(--primary); }
.blog-card-excerpt {
    font-size: 0.875rem;
    line-height: 1.7;
    color: var(--text-2);
    margin-bottom: 1.25rem;
    flex-grow: 1;
}
.blog-card-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.8125rem;
    color: var(--text-2);
    border-top: 1px solid var(--border);
    padding-top: 1rem;
    margin-top: auto;
}
.blog-card-read {
    color: var(--primary);
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}
.blog-card-read:hover { text-decoration: underline; }
/* On the full blog index, show all cards without hiding the last */
.blog-grid--full .blog-card:last-child { display: flex !important; }
.blog-pagination { margin-top: 3rem; display: flex; justify-content: center; }
.blog-pagination .nav-links { display: flex; gap: 0.5rem; align-items: center; }
.blog-pagination .page-numbers {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 2.25rem; height: 2.25rem; padding: 0 0.75rem;
    border-radius: var(--r-md); border: 1px solid var(--border);
    font-size: 0.875rem; font-weight: 600; color: var(--ink);
    text-decoration: none; transition: background var(--t), color var(--t);
}
.blog-pagination .page-numbers:hover,
.blog-pagination .page-numbers.current {
    background: var(--primary); color: #fff; border-color: var(--primary);
}
@media (max-width: 900px) {
    .blog-grid { grid-template-columns: 1fr 1fr; }
    .blog-grid .blog-card:last-child { display: none; }
    .blog-grid--full .blog-card:last-child { display: flex !important; }
}
@media (max-width: 640px) {
    .blog-header { flex-direction: column; align-items: flex-start; gap: 1rem; }
    .blog-grid { grid-template-columns: 1fr; }
    .blog-grid .blog-card:last-child { display: flex; }
}

/* ==============================
   HEADER
============================== */
.header {
    position:fixed; top:0; width:100%;
    background:rgba(255,255,255,0.88);
    backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
    z-index:1000; border-bottom:1px solid rgba(0,0,0,0.07);
}
/* Push navbar below WP admin bar for logged-in admins */
.admin-bar .header { top:32px; }
@media screen and (max-width:782px) { .admin-bar .header { top:46px; } }
.nav-container {
    max-width:1200px; margin:0 auto;
    display:flex; justify-content:space-between; align-items:center;
    padding:0.9rem 2rem;
}
.logo img { height:50px; width:auto; transition:opacity var(--t); }
.logo img:hover { opacity:0.8; }
.nav-menu { display:flex; list-style:none; gap:0.125rem; align-items:center; }
.nav-link {
    text-decoration:none; color:var(--text-2); font-weight:500; font-size:0.9rem;
    padding:0.45rem 0.8rem; border-radius:var(--r-sm); transition:all var(--t); position:relative;
}
.nav-link:hover { color:var(--primary); background:var(--primary-light); }
.nav-actions { display:flex; align-items:center; gap:0.75rem; }
.contact-btn {
    display:flex; align-items:center; gap:0.4rem;
    padding:0.5rem 1rem; background:transparent; color:var(--text-2);
    border:1px solid var(--border); border-radius:var(--r-pill);
    text-decoration:none; font-weight:500; font-size:0.875rem; transition:all var(--t);
}
.contact-btn:hover { color:var(--primary); border-color:var(--primary); background:var(--primary-light); }
.contact-btn i { font-size:0.75rem; }
.cta-button {
    background:var(--primary); color:white;
    padding:0.55rem 1.25rem; border:none; border-radius:var(--r-pill);
    text-decoration:none; font-weight:600; font-size:0.875rem;
    transition:background var(--t),box-shadow var(--t); display:inline-block;
}
.cta-button:hover { background:var(--primary-dark); box-shadow:var(--sh-glow); }
.mobile-menu-toggle {
    display:none; background:none; border:1px solid var(--border);
    border-radius:var(--r-sm); font-size:1.2rem; color:var(--text);
    cursor:pointer; padding:0.4rem 0.6rem; align-items:center; justify-content:center;
}
.mobile-menu-toggle .icon-xmark { display:none; }
.mobile-menu-toggle[aria-expanded="true"] .icon-bars { display:none; }
.mobile-menu-toggle[aria-expanded="true"] .icon-xmark { display:inline-block; }
.mobile-nav-menu {
    display:none; position:absolute; top:100%; left:0; width:100%;
    background:var(--surface); border-bottom:1px solid var(--border);
    box-shadow:var(--sh-md); z-index:999;
}
.mobile-nav-menu.active { display:block; }
.mobile-nav-menu li { list-style:none; border-bottom:1px solid var(--border); }
.mobile-nav-menu a {
    display:block; padding:0.9rem 1.5rem; text-decoration:none;
    color:var(--text); font-weight:500; font-size:0.95rem;
}
.mobile-nav-menu a:hover { background:var(--surface-2); color:var(--primary); }

/* ==============================
   HERO
============================== */
.hero {
    min-height:100vh; position:relative; overflow:hidden;
    background:#ffffff;
}
.hero::before {
    content:''; position:absolute; inset:0;
    background-image:radial-gradient(circle, rgba(0,122,174,0.09) 1px, transparent 1px);
    background-size:28px 28px; pointer-events:none; z-index:0;
}
.hero-container {
    display:grid; grid-template-columns:55% 45%;
    min-height:100vh; width:100%; max-width:none; margin:0; padding:0;
    position:relative; z-index:1;
}
.hero-content {
    display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
    padding:8rem 3.5rem 4rem 5rem;
}
.hero-content h1 {
    font-size:clamp(2.6rem,5vw,4.2rem); font-weight:800;
    color:var(--text); margin-bottom:1.25rem;
    line-height:1.05; letter-spacing:-0.03em;
}
.hero-tagline {
    display:inline-flex; align-items:center; gap:0.6rem;
    background:var(--primary-light); color:var(--primary);
    font-size:0.72rem; font-weight:800; letter-spacing:0.12em;
    text-transform:uppercase; padding:0.4rem 0.9rem;
    border-radius:var(--r-pill); margin-bottom:1.5rem;
    border:1px solid rgba(0,122,174,0.2);
}
.hero-subtitle {
    font-size:1.1rem; color:var(--text-2);
    margin-bottom:2.5rem; line-height:1.75;
}
.hero-cta {
    display:inline-flex; align-items:center; gap:0.5rem;
    background:var(--primary); color:white;
    padding:0.95rem 2rem; border-radius:var(--r-pill);
    font-size:1rem; font-weight:700; text-decoration:none;
    transition:all var(--t); box-shadow:0 4px 16px rgba(0,122,174,0.25);
}
.hero-cta:hover { background:var(--primary-dark); transform:translateY(-2px); box-shadow:var(--sh-glow); }
.hero-visual {
    position:relative;
}
.hero-visual-media {
    position:absolute; inset:0;
    clip-path:polygon(6% 0%, 100% 0%, 100% 100%, 0% 100%);
    overflow:hidden;
}
.hero-image {
    width:100%; height:100%; object-fit:cover; object-position:center top;
    display:block; border-radius:0; box-shadow:none;
}
.image-overlay {
    position:absolute; inset:0;
    background:
        linear-gradient(to right, rgba(255,255,255,0.18) 0%, transparent 30%),
        linear-gradient(to top, rgba(7,13,26,0.62) 0%, transparent 52%);
    pointer-events:none;
}
/* ==============================
   HERO STATS (inline in hero)
============================== */
.hero-stats {
    display:flex; gap:2rem; margin-top:3.5rem;
    padding-top:2rem; border-top:1px solid var(--border);
    align-items:center;
}
.hero-stat { display:flex; flex-direction:column; gap:0.15rem; }
.hero-stat-number {
    font-size:1.75rem; font-weight:800; line-height:1;
    letter-spacing:-0.03em; color:var(--primary);
}
.hero-stat-label { font-size:0.75rem; color:var(--text-2); font-weight:500; text-transform:uppercase; letter-spacing:0.06em; }
.hero-stat + .hero-stat { padding-left:2rem; border-left:1px solid var(--border); }

/* ==============================
   HERO CLIENTS STRIP (left column only)
============================== */
.hero-clients {
    margin-top:2rem; padding-top:1.5rem;
    width:100%; overflow:hidden;
}
.hero-clients-label {
    font-size:0.68rem; font-weight:700;
    letter-spacing:0.1em; text-transform:uppercase;
    color:var(--text-3); margin-bottom:0.75rem;
}
.hero-clients .marquee-wrapper::before { width:50px; }
.hero-clients .marquee-wrapper::after  { width:50px; }
.hero-clients .marquee-track { animation-duration:28s; }
.hero-clients .client-logo {
    height:auto; width:auto;
    padding:0 1rem;
    background:none; border:none; box-shadow:none;
}
.hero-clients .client-logo:hover { border:none; box-shadow:none; }
.hero-clients .client-logo-image {
    max-height:32px;
    filter:grayscale(100%) opacity(0.45);
}
.hero-clients .client-logo:hover .client-logo-image { filter:grayscale(0%) opacity(0.9); }

/* ==============================
   SHARED
============================== */
.container { max-width:1200px; margin:0 auto; padding:0 2rem; }
.section-title {
    text-align:center; font-size:clamp(1.875rem,3vw,2.6rem);
    font-weight:800; color:var(--text); margin-bottom:0.75rem;
    letter-spacing:-0.03em; line-height:1.15;
}
.section-subtitle {
    text-align:center; font-size:1.05rem; color:var(--text-2);
    margin-bottom:4rem; font-weight:400;
    max-width:520px; margin-left:auto; margin-right:auto;
}

/* ==============================
   BENEFITS — dark navy sections
============================== */
.benefits {
    padding:7rem 0; background:var(--ink-2);
    position:relative; overflow:hidden;
}
.benefits::before {
    content:''; position:absolute; top:-200px; right:-200px;
    width:600px; height:600px;
    background:radial-gradient(circle, rgba(0,122,174,0.12) 0%, transparent 65%);
    pointer-events:none;
}
.benefits .section-title { color:#fff; }
.benefits .section-subtitle { color:rgba(255,255,255,0.55); }
.benefits-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.benefit-card {
    background:rgba(255,255,255,0.05); backdrop-filter:blur(8px);
    padding:1.75rem; border-radius:var(--r-lg);
    border:1px solid rgba(255,255,255,0.09);
    transition:all var(--t); display:flex; flex-direction:column;
    gap:0.5rem; position:relative; overflow:hidden;
}
.benefit-card:hover {
    background:rgba(255,255,255,0.09);
    border-color:var(--primary);
    transform:translateY(-3px);
}
.benefit-icon {
    width:44px; height:44px;
    background:linear-gradient(135deg,rgba(0,122,174,0.3),rgba(13,148,136,0.2));
    border-radius:var(--r-sm); display:flex; align-items:center;
    justify-content:center; font-size:1.2rem;
    color:rgba(0,200,255,0.9); margin-bottom:0.25rem; flex-shrink:0;
}
.benefit-card:hover .benefit-icon {
    background:linear-gradient(135deg,rgba(0,122,174,0.5),rgba(13,148,136,0.4));
}
.benefit-card h3 { font-size:0.975rem; font-weight:700; color:rgba(255,255,255,0.92); line-height:1.3; }
.benefit-card p { font-size:0.875rem; color:rgba(255,255,255,0.5); line-height:1.7; }

/* ==============================
   PROCESS — light with timeline
============================== */
.services { padding:7rem 0; background:var(--surface-2); position:relative; }
.process-grid {
    display:grid; grid-template-columns:repeat(4,1fr);
    gap:0; position:relative;
    align-items: stretch;
}
.process-grid::before {
    content:''; position:absolute;
    top:28px; left:calc(12.5%); right:calc(12.5%);
    height:2px;
    background:linear-gradient(90deg,var(--primary) 0%,var(--teal-alt) 100%);
    z-index:0;
}
.process-card {
    background:transparent; padding:0 1.25rem;
    position:relative; z-index:1; text-align:center;
    border:none; border-radius:0; transition:none;
    display:flex; flex-direction:column;
}
.process-number {
    width:56px; height:56px; background:var(--primary); color:white;
    border-radius:50%; display:flex; align-items:center;
    justify-content:center; font-size:1.25rem; font-weight:800;
    margin:0 auto 1.75rem; position:relative;
    box-shadow:0 4px 16px rgba(0,122,174,0.3);
    border:4px solid var(--surface-2);
    transition:transform var(--t),box-shadow var(--t);
}
.process-card:hover .process-number {
    transform:scale(1.1); box-shadow:0 6px 24px rgba(0,122,174,0.45);
}
.process-inner {
    background:var(--surface); border:1px solid var(--border);
    border-radius:var(--r-lg); padding:1.5rem;
    transition:all var(--t); text-align:left;
    flex:1;
}
.process-card:hover .process-inner { border-color:var(--primary); box-shadow:var(--sh-md); }
.process-card h3 {
    font-size:0.975rem; color:var(--text); margin-bottom:0.6rem;
    font-weight:700; line-height:1.3;
}
.process-card p { color:var(--text-2); line-height:1.65; font-size:0.875rem; }

/* ==============================
   TESTIMONIALS — deep teal-dark
============================== */
.testimonials {
    padding:7rem 0;
    background:linear-gradient(160deg,#005a8e 0%,var(--ink) 100%);
    position:relative; overflow:hidden;
}
.testimonials::before {
    content:''; position:absolute; bottom:-100px; left:-100px;
    width:500px; height:500px;
    background:radial-gradient(circle, rgba(0,122,174,0.14) 0%, transparent 65%);
    pointer-events:none;
}
.testimonials .section-title { color:#fff; }
.testimonials .section-subtitle { color:rgba(255,255,255,0.55); }
.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.testimonial-card {
    background:rgba(255,255,255,0.06); backdrop-filter:blur(12px);
    padding:1.75rem; border-radius:var(--r-lg);
    border:1px solid rgba(255,255,255,0.1);
    transition:all var(--t); position:relative;
    display:flex; flex-direction:column;
}
.testimonial-card:hover {
    background:rgba(255,255,255,0.1);
    border-color:rgba(0,200,255,0.3);
    transform:translateY(-3px); box-shadow:0 8px 32px rgba(0,0,0,0.25);
}
.testimonial-content { margin-bottom:1.25rem; flex:1; }
.quote-icon {
    font-size:2rem; margin-bottom:1rem; display:block; opacity:0.7;
    color:var(--primary);
}
.testimonial-content p {
    font-size:0.925rem; line-height:1.75;
    color:rgba(255,255,255,0.78); font-style:italic;
}
.testimonial-content p strong { color:rgba(255,255,255,0.95); }
.testimonial-rating {
    display:flex; align-items:center; justify-content:space-between;
    padding-top:1rem; border-top:1px solid rgba(255,255,255,0.1);
}
.testimonial-author { text-align:left; font-size:0.82rem; color:rgba(255,255,255,0.5); }
.testimonial-author strong { color:rgba(255,255,255,0.85); }
.testimonial-author span { color:rgba(0,200,255,0.85) !important; font-size:0.82rem !important; }
.stars { color:#fbbf24; font-size:0.8rem; display:flex; gap:0.1rem; }

/* ==============================
   LEAD FORM
============================== */
.lead-form-section { padding:7rem 0; background:var(--surface-2); }
.form-container {
    max-width:700px; margin:0 auto; background:var(--surface);
    padding:3rem; border-radius:var(--r-xl);
    border:1px solid var(--border); box-shadow:var(--sh-lg);
}
.form-container h2 {
    color:var(--text); text-align:center; margin-bottom:0.5rem;
    font-size:1.75rem; font-weight:800; letter-spacing:-0.025em;
}
.form-group { margin-bottom:1.25rem; }
.form-group label { display:block; margin-bottom:0.4rem; font-weight:600; font-size:0.875rem; color:var(--text); }
.form-group input,
.form-group textarea,
.form-group select {
    width:100%; padding:0.75rem 1rem; border:1.5px solid var(--border);
    border-radius:var(--r-sm); font-size:0.95rem; transition:border-color var(--t);
    font-family:inherit; background:var(--surface); color:var(--text);
}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
    outline:none; border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(0,122,174,0.1);
}
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.submit-btn {
    width:100%; padding:1rem; background:var(--primary); color:white;
    border:none; border-radius:var(--r-pill); font-size:1rem;
    font-weight:700; cursor:pointer; transition:background var(--t),box-shadow var(--t);
    margin-top:0.5rem;
}
.submit-btn:hover { background:var(--primary-dark); box-shadow:var(--sh-glow); }
.form-success {
    background:var(--surface-2); border:1px solid var(--primary);
    border-radius:var(--r); padding:1.25rem; text-align:center;
    color:var(--primary); font-weight:600;
}
.privacy-note { font-size:0.8rem; color:var(--text-3); text-align:center; margin-top:0.75rem; }

/* ==============================
   CLIENTS — infinite marquee
============================== */
.clients { padding:6rem 0; background:var(--surface); overflow:hidden; }
.clients .section-title,
.clients .section-subtitle { padding:0 2rem; }
.marquee-wrapper {
    overflow:hidden; position:relative; margin-top:1rem;
}
.marquee-wrapper::before,
.marquee-wrapper::after {
    content:''; position:absolute; top:0; bottom:0;
    width:120px; z-index:2; pointer-events:none;
}
.marquee-wrapper::before {
    left:0; background:linear-gradient(to right,var(--surface),transparent);
}
.marquee-wrapper::after {
    right:0; background:linear-gradient(to left,var(--surface),transparent);
}
.marquee-track {
    display:flex; gap:1rem; width:max-content;
    animation:marquee-scroll 60s linear infinite;
}
.marquee-track:hover { animation-play-state:paused; }
@keyframes marquee-scroll {
    from { transform:translateX(0); }
    to   { transform:translateX(-50%); }
}
.client-logo {
    background:var(--surface); padding:1.25rem 1.75rem;
    border-radius:var(--r); text-align:center;
    border:1px solid var(--border); transition:all var(--t);
    display:flex; align-items:center; justify-content:center;
    height:96px; width:200px; flex-shrink:0;
}
.client-logo:hover { border-color:var(--primary); box-shadow:0 4px 16px rgba(0,122,174,0.12); }
.client-logo-image {
    max-width:90%; max-height:52px; width:auto; height:auto;
    object-fit:contain; transition:filter var(--t);
    filter:grayscale(100%) opacity(0.5);
}
.client-logo:hover .client-logo-image { filter:grayscale(0%) opacity(1); }
.client-logo-text { display:none; }

/* ==============================
   CONTACT
============================== */
.contact { padding:7rem 0; background:var(--surface-2); }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.contact-info h3 {
    color:var(--text); font-size:1.35rem; margin-bottom:1.25rem;
    font-weight:700; letter-spacing:-0.015em;
}
.contact-item {
    display:flex; align-items:center; gap:1rem;
    margin-bottom:0.75rem; padding:0.875rem 1rem;
    background:var(--surface); border:1px solid var(--border);
    border-radius:var(--r); transition:border-color var(--t);
}
.contact-item:hover { border-color:var(--primary); }
.contact-item a { color:var(--primary); text-decoration:none; }
.contact-item a:hover { text-decoration:underline; }
.contact-icon {
    width:40px; height:40px; background:var(--primary-light);
    color:var(--primary); border-radius:var(--r-sm);
    display:flex; align-items:center; justify-content:center;
    font-size:1rem; flex-shrink:0;
}
.doctor-profile {
    text-align:center; padding:2.5rem 2rem;
    background:var(--ink); border-radius:var(--r-xl);
    border:1px solid rgba(255,255,255,0.05);
    color:white; position:relative; overflow:hidden;
}
.doctor-profile::before {
    content:''; position:absolute; top:-60px; right:-60px;
    width:240px; height:240px;
    background:radial-gradient(circle, rgba(0,122,174,0.2) 0%, transparent 65%);
    pointer-events:none;
}
.doctor-image {
    width:110px; height:110px; border-radius:50%;
    margin:0 auto 1.25rem; overflow:hidden;
    border:3px solid rgba(0,122,174,0.45);
    position:relative; z-index:1; box-shadow:0 4px 20px rgba(0,0,0,0.3);
}
.doctor-image img { width:100%; height:100%; object-fit:cover; }
.doctor-profile h3 { font-size:1.25rem; font-weight:700; color:#fff; margin-bottom:0.25rem; position:relative; z-index:1; }
.doctor-profile p { position:relative; z-index:1; }
.doctor-title { color:rgba(0,200,255,0.85); font-weight:600; margin-bottom:0.75rem; }
.doctor-desc { color:rgba(255,255,255,0.6); font-size:0.9rem; line-height:1.6; }
.doctor-profile .cta-button {
    position:relative; z-index:1; background:var(--primary); margin-top:1.5rem;
    display:inline-block;
}
.doctor-profile .cta-button:hover { background:var(--primary-dark); }

/* ==============================
   FOOTER
============================== */
.footer { background:#070d1a; color:#64748b; padding:3.5rem 0 1.5rem; }
.footer-content {
    max-width:1200px; margin:0 auto; padding:0 2rem;
    display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:2.5rem; margin-bottom:2.5rem;
}
.footer-section h3 {
    color:#e2e8f0; margin-bottom:1rem; font-size:0.75rem;
    font-weight:800; letter-spacing:0.08em; text-transform:uppercase;
}
.footer-link {
    color:#64748b; text-decoration:none; display:block;
    margin-bottom:0.5rem; transition:color var(--t); font-size:0.875rem;
}
.footer-link:hover { color:#e2e8f0; }
.footer-bottom {
    max-width:1200px; margin:0 auto; padding:1.5rem 2rem 0;
    border-top:1px solid #1e293b; text-align:center;
    color:#475569; font-size:0.875rem;
}

/* ==============================
   404 PAGE
============================== */
.error-404-section {
    min-height: calc(100vh - 80px);
    display: flex; align-items: center; justify-content: center;
    padding: 5rem 2rem;
    background: var(--surface);
    position: relative; overflow: hidden;
}
.error-404-section::before {
    content: ''; position: absolute; inset: 0;
    background-image: radial-gradient(circle, rgba(0,122,174,0.07) 1px, transparent 1px);
    background-size: 28px 28px; pointer-events: none;
}
.error-404-container {
    position: relative; z-index: 1;
    max-width: 580px; width: 100%; text-align: center;
}
.error-404-number {
    font-size: clamp(6rem, 18vw, 11rem);
    font-weight: 900; line-height: 1;
    background: linear-gradient(135deg, var(--primary) 0%, var(--teal-alt) 100%);
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 0.25rem;
    user-select: none;
}
.error-404-title {
    font-size: clamp(1.6rem, 4vw, 2.2rem);
    font-weight: 800; color: var(--text);
    letter-spacing: -0.03em; margin-bottom: 1rem;
}
.error-404-subtitle {
    font-size: 1rem; color: var(--text-2);
    line-height: 1.75; margin-bottom: 2.5rem;
}
.error-404-actions {
    display: flex; gap: 1rem; justify-content: center;
    flex-wrap: wrap; margin-bottom: 2.5rem;
}
.error-404-btn-primary {
    display: inline-flex; align-items: center; gap: 0.5rem;
    background: var(--primary); color: white;
    padding: 0.85rem 1.75rem; border-radius: var(--r-pill);
    font-weight: 700; font-size: 0.95rem; text-decoration: none;
    transition: all var(--t); box-shadow: 0 4px 16px rgba(0,122,174,0.25);
}
.error-404-btn-primary:hover {
    background: var(--primary-dark);
    transform: translateY(-2px); box-shadow: var(--sh-glow);
}
.error-404-btn-secondary {
    display: inline-flex; align-items: center; gap: 0.5rem;
    background: transparent; color: var(--primary);
    padding: 0.85rem 1.75rem; border-radius: var(--r-pill);
    font-weight: 700; font-size: 0.95rem; text-decoration: none;
    border: 1.5px solid var(--primary); transition: all var(--t);
}
.error-404-btn-secondary:hover {
    background: var(--primary-light);
    transform: translateY(-2px);
}
.error-404-links { border-top: 1px solid var(--border); padding-top: 2rem; }
.error-404-links p {
    font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em;
    text-transform: uppercase; color: var(--text-3); margin-bottom: 1rem;
}
.error-404-links ul {
    list-style: none; display: flex; justify-content: center;
    gap: 1.5rem; flex-wrap: wrap;
}
.error-404-links ul li a {
    display: inline-flex; align-items: center; gap: 0.4rem;
    color: var(--text-2); text-decoration: none; font-size: 0.9rem;
    font-weight: 500; transition: color var(--t);
}
.error-404-links ul li a i { color: var(--primary); font-size: 0.85rem; }
.error-404-links ul li a:hover { color: var(--primary); }

@media (max-width: 480px) {
    .error-404-actions { flex-direction: column; align-items: stretch; }
    .error-404-btn-primary,
    .error-404-btn-secondary { justify-content: center; }
    .error-404-links ul { flex-direction: column; align-items: center; gap: 0.875rem; }
}

/* ==============================
   PASSWORD PROTECTED PAGE
============================== */
.post-password-form {
    max-width: 440px;
    margin: 6rem auto 8rem;
    padding: 2.5rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--r-xl);
    box-shadow: var(--sh-lg);
    text-align: center;
}
.post-password-form::before {
    content: '🔒';
    display: block;
    font-size: 2.5rem;
    margin-bottom: 1.25rem;
}
.post-password-form p {
    font-size: 0.95rem;
    color: var(--text-2);
    margin-bottom: 1.5rem;
    line-height: 1.6;
}
.post-password-form label {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--text);
    margin-bottom: 1rem;
}
.post-password-form input[type="password"] {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1.5px solid var(--border);
    border-radius: var(--r-sm);
    font-size: 0.95rem;
    font-family: inherit;
    background: var(--surface);
    color: var(--text);
    transition: border-color var(--t), box-shadow var(--t);
    outline: none;
}
.post-password-form input[type="password"]:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(0,122,174,0.1);
}
.post-password-form input[type="submit"] {
    width: 100%;
    padding: 0.85rem 1.5rem;
    background: var(--primary);
    color: white;
    border: none;
    border-radius: var(--r-pill);
    font-size: 0.95rem;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: background var(--t), box-shadow var(--t);
    margin-top: 0.25rem;
}
.post-password-form input[type="submit"]:hover {
    background: var(--primary-dark);
    box-shadow: var(--sh-glow);
}
@media (max-width: 480px) {
    .post-password-form {
        margin: 4rem 1.25rem 6rem;
        padding: 2rem 1.5rem;
    }
}

/* ==============================
   ANIMATIONS
============================== */
.fade-in { opacity:0; transform:translateY(24px); transition:opacity 0.55s ease,transform 0.55s ease; }
.fade-in.visible { opacity:1; transform:translateY(0); }

/* Hero content staggered fade-in */
@keyframes hc-fade-up {
    from { opacity:0; transform:translateX(-28px); }
    to   { opacity:1; transform:translateX(0); }
}
.hero-fade {
    opacity:0;
    animation: hc-fade-up 0.6s ease forwards;
}
.hero-fade:nth-child(1) { animation-delay: 0.1s; }
.hero-fade:nth-child(2) { animation-delay: 0.25s; }
.hero-fade:nth-child(3) { animation-delay: 0.4s; }
.hero-fade:nth-child(4) { animation-delay: 0.55s; }
.hero-fade:nth-child(5) { animation-delay: 0.7s; }

/* Hero image fade-in from right */
@keyframes hc-fade-right {
    from { opacity:0; transform:translateX(28px); }
    to   { opacity:1; transform:translateX(0); }
}
.hero-visual {
    opacity:0;
    animation: hc-fade-right 0.65s ease forwards;
    animation-delay: 0.3s;
}

/* Marquee items must be visible from the start */
.marquee-track .fade-in { opacity:1; transform:none; }
.language-transition { transition:opacity 0.25s ease; }
.language-transition.fade-out { opacity:0.4; }

/* ==============================
   RESPONSIVE
============================== */
@media (max-width:1024px) {
    .benefits-grid { grid-template-columns:repeat(2,1fr); }
    .testimonials-grid { grid-template-columns:repeat(2,1fr); }
    .process-grid { grid-template-columns:repeat(2,1fr); gap:2rem; }
    .process-grid::before { display:none; }
    .hero { min-height:auto; }
    .hero-container { grid-template-columns:1fr; min-height:auto; }
    .hero-visual { min-height:50vw; order:-1; }
    .hero-visual-media { clip-path:none; }
    .hero-content { padding:3rem 3rem 3.5rem; align-items:flex-start; min-width:0; overflow:hidden; }
    .hero-content h1 { font-size:clamp(2rem,4.5vw,3rem); }
    .hero-stats { display:flex; gap:2rem; }
}
@media (max-width:768px) {
    .nav-menu { display:none; }
    .mobile-menu-toggle { display:flex; align-items:center; justify-content:center; }
    .nav-container { position:relative; padding:0.875rem 1.25rem; }
    .nav-actions { gap:0.4rem; }
    .logo img { height:44px; }
    .hero { padding:0; min-height:auto; }
    .hero-container { grid-template-columns:1fr; min-height:auto; }
    .hero-visual { min-height:56vw; order:-1; }
    .hero-visual-media { clip-path:none; }
    .hero-content { max-width:none; margin-left:0; padding:2rem 1.5rem 2.5rem; text-align:center; align-items:center; width:100%; }
    .hero-cta { width:100%; justify-content:center; }
    .hero-tagline { justify-content:center; }
    .hero-content h1 { font-size:2.1rem; }
    .hero-subtitle { font-size:1rem; }
    .hero-stats { gap:0; margin-top:1.75rem; padding-top:1.5rem; justify-content:center; width:100%; display:grid; grid-template-columns:repeat(3,1fr); }
    .hero-stat { align-items:center; padding:0 0.5rem; }
    .hero-stat + .hero-stat { padding-left:0.5rem; border-left:1px solid var(--border); }
    .hero-stat-number { font-size:1.4rem; }
    .hero-stat-label { font-size:0.65rem; }
    .container { padding:0 1.25rem; }
    .section-subtitle { font-size:0.95rem; margin-bottom:2.5rem; }
    .benefits,.services,.testimonials,.clients,.contact,.lead-form-section { padding:5rem 0; }
    .benefits-grid,.testimonials-grid { grid-template-columns:1fr; gap:0.875rem; }
    .process-grid { grid-template-columns:1fr; gap:1.5rem; }
    .process-grid::before { display:none; }
    .contact-grid { grid-template-columns:1fr; gap:2rem; }
    .form-container { padding:2rem 1.25rem; margin:0 0.75rem; }
    .footer-content { grid-template-columns:1fr; gap:1.75rem; }
    .cta-button { padding:0.5rem 1rem; font-size:0.85rem; }
    .contact-btn { padding:0.45rem 0.875rem; font-size:0.8rem; }
}
@media (max-width:480px) {
    .hero-content h1 { font-size:1.75rem; }
    .section-title { font-size:1.625rem; }
    .benefit-card,.testimonial-card { padding:1.25rem; }
    .form-container { padding:1.5rem 1rem; }
    .form-row { grid-template-columns:1fr; }
}
