/* ============================================================
   CADLINC INFOTECH - PREMIUM MASTER STYLES
   Use across all pages for consistent design
   ============================================================ */

/* ---------- CSS RESET & ROOT VARIABLES ---------- */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:90px; }
body { 
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; 
    color:#1e293b; 
    overflow-x:hidden; 
    background:#fff;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; height:auto; }
button { font-family:inherit; cursor:pointer; border:none; background:none; }

:root {
    /* Brand Colors */
    --c-primary:#0f4c81;
    --c-primary-light:#1a6db5;
    --c-primary-dark:#061e35;
    --c-primary-bg:#e8f0fe;
    --c-accent:#00b894;
    --c-accent-light:#00d4aa;
    --c-accent-dark:#009d80;
    
    /* Neutral Colors */
    --c-bg:#f8fafc;
    --c-alt:#f1f5f9;
    --c-text-dark:#1e293b;
    --c-text-mid:#475569;
    --c-text-light:#94a3b8;
    --c-border:#e2e8f0;
    
    /* Shadows */
    --shadow-sm:0 2px 8px rgba(15,76,129,.04);
    --shadow-md:0 8px 30px rgba(15,76,129,.06);
    --shadow-lg:0 20px 60px rgba(15,76,129,.12);
    --shadow-xl:0 30px 80px rgba(15,76,129,.18);
    --shadow-glow:0 0 40px rgba(0,184,148,.15);
    
    /* Border Radius */
    --radius-sm:8px;
    --radius-md:12px;
    --radius-lg:18px;
    --radius-xl:24px;
    
    /* Transitions */
    --ease:cubic-bezier(0.22,0.61,0.36,1);
    --ease-bounce:cubic-bezier(0.68,-0.6,0.32,1.6);
    
    /* Typography */
    --font-display:'Space Grotesk','Inter',sans-serif;
    --font-body:'Inter',sans-serif;
}

.container { max-width:1240px; margin:0 auto; padding:0 24px; }

/* ---------- SCROLL PROGRESS BAR ---------- */
.scroll-progress {
    position:fixed; top:0; left:0; right:0; height:3px;
    background:transparent; z-index:9999; pointer-events:none;
}
.scroll-progress-bar {
    height:100%; 
    background:linear-gradient(90deg,var(--c-primary),var(--c-accent));
    width:0%; transition:width .15s ease;
}

/* ---------- CUSTOM SCROLLBAR ---------- */
::-webkit-scrollbar { width:10px; }
::-webkit-scrollbar-track { background:#f1f5f9; }
::-webkit-scrollbar-thumb { 
    background:linear-gradient(180deg,var(--c-primary),var(--c-accent));
    border-radius:5px;
}

/* ============================================================
   NAVBAR - PREMIUM WHITE WITH DROPDOWN
   ============================================================ */
.navbar {
    position:fixed; top:0; left:0; right:0; z-index:9000;
    background:#ffffff;
    border-bottom:1px solid rgba(15,76,129,0.06);
    transition:all .3s var(--ease);
    box-shadow:var(--shadow-sm);
}
.navbar.scrolled { 
    box-shadow:var(--shadow-md);
    backdrop-filter:blur(20px);
    background:rgba(255,255,255,0.95);
}

.nav-inner {
    max-width:1240px; margin:0 auto; padding:0 24px;
    display:flex; align-items:center; justify-content:space-between;
    height:80px; /* Increased for premium feel */
}

/* Logo */
.nav-logo {
    display:flex; align-items:center;
    transition:transform .3s var(--ease);
    padding:8px 0;
}
.nav-logo:hover { transform:scale(1.03); }
.nav-logo img {
    height:55px;
    width:auto;
    max-width:200px;
    display:block;
    object-fit:contain;
}

/* Main Nav Menu */
.nav-menu {
    display:flex; align-items:center; gap:4px;
}

.nav-link {
    padding:10px 16px;
    color:var(--c-text-dark);
    font-weight:500;
    font-size:0.92rem;
    transition:all .3s var(--ease);
    border-radius:var(--radius-sm);
    position:relative;
    white-space:nowrap;
}
.nav-link:hover {
    color:var(--c-primary);
    background:var(--c-primary-bg);
}
.nav-link.active {
    color:var(--c-primary);
    background:var(--c-primary-bg);
    font-weight:600;
}

/* CTA Button */
.nav-cta {
    padding:12px 24px;
    background:linear-gradient(135deg,var(--c-accent),var(--c-accent-dark));
    color:#fff !important;
    border-radius:var(--radius-md);
    font-weight:700;
    font-size:0.9rem;
    display:inline-flex;
    align-items:center;
    gap:8px;
    transition:all .3s var(--ease);
    box-shadow:0 6px 20px rgba(0,184,148,.3);
    margin-left:8px;
    white-space:nowrap;
}
.nav-cta:hover {
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(0,184,148,.4);
}

/* Mobile Toggle */
.mobile-toggle {
    display:none;
    font-size:1.5rem;
    color:var(--c-text-dark);
    cursor:pointer;
    padding:8px;
    border-radius:var(--radius-sm);
}
.mobile-toggle:hover {
    background:var(--c-bg);
}

/* ---------- DROPDOWN MENU (IT Services) ---------- */
.nav-dropdown {
    position:relative;
}
.nav-dropdown > .nav-link {
    display:inline-flex;
    align-items:center;
    gap:6px;
}
.nav-dropdown > .nav-link::after {
    content:'\f107';
    font-family:'Font Awesome 6 Free';
    font-weight:900;
    font-size:0.7rem;
    transition:transform .3s var(--ease);
}
.nav-dropdown:hover > .nav-link::after { transform:rotate(180deg); }
.nav-dropdown:hover > .nav-link {
    color:var(--c-primary);
    background:var(--c-primary-bg);
}

.dropdown-menu {
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    min-width:340px;
    background:#ffffff;
    border-radius:var(--radius-md);
    box-shadow:0 25px 60px rgba(15,76,129,0.15);
    border:1px solid rgba(15,76,129,0.06);
    padding:10px;
    opacity:0;
    visibility:hidden;
    transform:translateY(15px);
    transition:all .35s var(--ease);
    z-index:1000;
}
.nav-dropdown:hover .dropdown-menu {
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

/* Decorative arrow on top */
.dropdown-menu::before {
    content:'';
    position:absolute;
    top:-6px;
    left:30px;
    width:12px;
    height:12px;
    background:#ffffff;
    border-top:1px solid rgba(15,76,129,0.06);
    border-left:1px solid rgba(15,76,129,0.06);
    transform:rotate(45deg);
}

.dropdown-menu a {
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    color:var(--c-text-dark);
    font-size:0.88rem;
    font-weight:500;
    border-radius:var(--radius-sm);
    transition:all .25s var(--ease);
    position:relative;
    z-index:1;
}
.dropdown-menu a:hover {
    background:linear-gradient(135deg,var(--c-primary-bg),#dbe9fa);
    color:var(--c-primary);
    padding-left:20px;
}
.dropdown-menu a i {
    width:36px; height:36px;
    background:linear-gradient(135deg,var(--c-primary-bg),#dbe9fa);
    color:var(--c-primary);
    border-radius:var(--radius-sm);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:0.9rem;
    transition:all .25s var(--ease);
    flex-shrink:0;
}
.dropdown-menu a:hover i {
    background:linear-gradient(135deg,var(--c-primary),var(--c-accent));
    color:#fff;
    transform:scale(1.1);
}

/* ============================================================
   HERO SECTION - PREMIUM SPLIT LAYOUT
   ============================================================ */
.hero {
    min-height:calc(100vh - 80px);
    display:flex;
    align-items:center;
    background:linear-gradient(135deg,#0f4c81 0%,#061e35 60%,#020f1f 100%);
    color:#fff;
    position:relative;
    overflow:hidden;
    padding:120px 0 100px;
    margin-top:80px;
}

/* Animated background orbs */
.hero::before {
    content:'';
    position:absolute;
    width:900px; height:900px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(0,184,148,.18) 0%,transparent 60%);
    top:-350px; right:-250px;
    animation:heroGlow 8s ease-in-out infinite alternate;
    filter:blur(40px);
    pointer-events:none;
}
.hero::after {
    content:'';
    position:absolute;
    width:600px; height:600px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(15,76,129,.5) 0%,transparent 60%);
    bottom:-250px; left:-200px;
    filter:blur(50px);
    pointer-events:none;
}
@keyframes heroGlow {
    from { opacity:.5; transform:scale(.95); }
    to { opacity:1; transform:scale(1.2); }
}

/* Decorative floating orbs */
.orb {
    position:absolute;
    border-radius:50%;
    filter:blur(70px);
    opacity:.4;
    pointer-events:none;
}
.orb-1 { width:300px; height:300px; background:#00b894; top:15%; left:5%; animation:orbFloat 9s ease-in-out infinite; }
.orb-2 { width:250px; height:250px; background:#1a6db5; bottom:20%; right:8%; animation:orbFloat 11s ease-in-out infinite reverse; }
@keyframes orbFloat {
    0%,100% { transform:translate(0,0); }
    50% { transform:translate(40px,-50px); }
}

/* Hero Grid Layout */
.hero-grid {
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.25fr 1fr;
    gap:70px;
    align-items:center;
    width:100%;
}

/* HERO LEFT - Content */
.hero-content {
    padding-right:20px;
}

.hero-badge {
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:rgba(0,184,148,.12);
    backdrop-filter:blur(20px);
    padding:10px 20px;
    border-radius:50px;
    font-size:0.82rem;
    color:#00d4aa;
    border:1px solid rgba(0,184,148,.3);
    margin-bottom:24px;
    font-weight:700;
    letter-spacing:0.5px;
    animation:fadeUp .8s var(--ease) .2s both;
}
.hero-badge::before {
    content:'';
    width:8px; height:8px;
    background:#00d4aa;
    border-radius:50%;
    animation:pulseDot 2s infinite;
}
@keyframes pulseDot {
    0%,100% { box-shadow:0 0 0 0 rgba(0,212,170,.6); }
    50% { box-shadow:0 0 0 12px rgba(0,212,170,0); }
}

.hero-title {
    font-family:var(--font-display);
    font-size:3.4rem;
    font-weight:700;
    line-height:1.08;
    margin-bottom:24px;
    letter-spacing:-1.8px;
    animation:fadeUp .8s var(--ease) .35s both;
    color:#fff;
}
.hero-title .accent {
    background:linear-gradient(135deg,#00b894,#00d4aa,#5eead4);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
}

.hero-subtitle {
    font-size:1.1rem;
    color:rgba(255,255,255,.75);
    max-width:580px;
    margin-bottom:32px;
    line-height:1.7;
    animation:fadeUp .8s var(--ease) .5s both;
}

.hero-trust {
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-bottom:36px;
    animation:fadeUp .8s var(--ease) .65s both;
}
.trust-item {
    display:flex;
    align-items:center;
    gap:12px;
    color:rgba(255,255,255,.85);
    font-size:0.95rem;
}
.trust-item i {
    color:#00d4aa;
    font-size:1rem;
    width:20px;
}

.hero-buttons {
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    animation:fadeUp .8s var(--ease) .8s both;
}

@keyframes fadeUp {
    from { opacity:0; transform:translateY(40px); }
    to { opacity:1; transform:translateY(0); }
}

/* Buttons */
.btn-primary {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:16px 32px;
    background:linear-gradient(135deg,var(--c-accent),var(--c-accent-dark));
    color:#fff;
    border-radius:var(--radius-md);
    font-weight:700;
    transition:all .4s var(--ease);
    font-size:0.95rem;
    box-shadow:0 10px 30px rgba(0,184,148,.3);
    text-decoration:none;
}
.btn-primary:hover {
    transform:translateY(-4px);
    box-shadow:0 20px 40px rgba(0,184,148,.4);
}

.btn-outline {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:16px 32px;
    border:2px solid rgba(255,255,255,.25);
    background:rgba(255,255,255,.04);
    backdrop-filter:blur(12px);
    color:#fff;
    border-radius:var(--radius-md);
    font-weight:700;
    transition:all .4s var(--ease);
    font-size:0.95rem;
    text-decoration:none;
}
.btn-outline:hover {
    border-color:#fff;
    background:rgba(255,255,255,.1);
    transform:translateY(-4px);
}

/* HERO RIGHT - Glass Form */
.hero-form-wrapper {
    animation:fadeUp .8s var(--ease) .4s both;
}
.hero-form {
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(30px);
    -webkit-backdrop-filter:blur(30px);
    border:1px solid rgba(255,255,255,.15);
    border-radius:var(--radius-xl);
    padding:40px 36px;
    box-shadow:0 40px 100px rgba(0,0,0,.35);
    position:relative;
}
.hero-form::before {
    content:'';
    position:absolute;
    top:-1px; left:-1px; right:-1px;
    height:3px;
    background:linear-gradient(90deg,var(--c-accent),var(--c-accent-light));
    border-radius:var(--radius-xl) var(--radius-xl) 0 0;
}

.form-badge {
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:rgba(0,184,148,.18);
    color:#00d4aa;
    padding:6px 14px;
    border-radius:20px;
    font-size:0.72rem;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    margin-bottom:16px;
}

.form-title {
    font-family:var(--font-display);
    font-size:1.7rem;
    font-weight:700;
    color:#fff;
    margin-bottom:6px;
    line-height:1.2;
}
.form-sub {
    font-size:0.9rem;
    color:rgba(255,255,255,.65);
    margin-bottom:28px;
    display:flex;
    align-items:center;
    gap:6px;
}
.form-sub i { color:#00d4aa; }

.form-row { margin-bottom:16px; }
.form-row label {
    display:block;
    font-size:0.78rem;
    font-weight:600;
    color:rgba(255,255,255,.85);
    margin-bottom:8px;
    letter-spacing:0.3px;
}
.form-row input,
.form-row select,
.form-row textarea {
    width:100%;
    padding:14px 18px;
    border:1.5px solid rgba(255,255,255,.15);
    border-radius:var(--radius-md);
    font-size:0.95rem;
    font-family:var(--font-body);
    background:rgba(255,255,255,.04);
    color:#fff;
    transition:all .3s var(--ease);
}
.form-row input::placeholder,
.form-row textarea::placeholder {
    color:rgba(255,255,255,.4);
}
.form-row select { 
    color:rgba(255,255,255,.85); 
    cursor:pointer;
    appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2300d4aa'%3E%3Cpath d='M12 16L6 10h12z'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 16px center;
    background-size:18px;
    padding-right:50px;
}
.form-row select option {
    background:#0f4c81;
    color:#fff;
}
.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus {
    outline:none;
    border-color:var(--c-accent);
    background:rgba(255,255,255,.08);
    box-shadow:0 0 0 4px rgba(0,184,148,.15);
}

.form-submit {
    width:100%;
    padding:16px;
    background:linear-gradient(135deg,var(--c-accent),var(--c-accent-dark));
    color:#fff;
    border:none;
    border-radius:var(--radius-md);
    font-size:1rem;
    font-weight:700;
    cursor:pointer;
    transition:all .4s var(--ease);
    box-shadow:0 15px 35px rgba(0,184,148,.3);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:8px;
}
.form-submit:hover {
    transform:translateY(-3px);
    box-shadow:0 22px 45px rgba(0,184,148,.4);
}

.form-trust-row {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.08);
    font-size:0.78rem;
    color:rgba(255,255,255,.55);
}
.form-trust-row span {
    display:flex;
    align-items:center;
    gap:6px;
}
.form-trust-row i {
    color:#00d4aa;
    font-size:0.9rem;
}

/* ============================================================
   SECTION COMMONS
   ============================================================ */
.section-header {
    text-align:center;
    max-width:780px;
    margin:0 auto 60px;
}
.section-pill {
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:linear-gradient(135deg,var(--c-primary-bg),#dbe9fa);
    color:var(--c-primary);
    font-size:0.72rem;
    font-weight:800;
    padding:8px 20px;
    border-radius:50px;
    text-transform:uppercase;
    letter-spacing:1.8px;
    margin-bottom:18px;
    border:1px solid rgba(15,76,129,.12);
}
.section-pill.light {
    background:rgba(255,255,255,.1);
    color:#fff;
    border:1px solid rgba(255,255,255,.15);
    backdrop-filter:blur(20px);
}
.section-title {
    font-family:var(--font-display);
    font-size:2.6rem;
    font-weight:700;
    margin:14px 0 14px;
    line-height:1.15;
    letter-spacing:-1.2px;
    background:linear-gradient(135deg,#1e293b,#475569);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}
.section-sub {
    font-size:1.05rem;
    color:var(--c-text-mid);
    line-height:1.7;
}

/* ============================================================
   STATS SECTION
   ============================================================ */
.stats { padding:80px 0; background:linear-gradient(180deg,#fff 0%,#f8fafc 100%); }
.stats-grid {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:20px;
}
.stat-card {
    background:rgba(255,255,255,.65);
    backdrop-filter:blur(20px);
    border:1px solid rgba(15,76,129,.08);
    border-radius:var(--radius-lg);
    padding:32px 24px;
    text-align:center;
    transition:all .4s var(--ease);
    position:relative;
    overflow:hidden;
}
.stat-card::before {
    content:'';
    position:absolute;
    top:0; left:0; right:0;
    height:3px;
    background:linear-gradient(90deg,var(--c-primary),var(--c-accent));
    transform:scaleX(0);
    transition:transform .4s var(--ease);
    transform-origin:left;
}
.stat-card:hover::before { transform:scaleX(1); }
.stat-card:hover {
    transform:translateY(-8px);
    box-shadow:var(--shadow-xl);
    background:#fff;
}
.stat-card h3 {
    font-family:var(--font-display);
    font-size:2.6rem;
    font-weight:700;
    background:linear-gradient(135deg,var(--c-primary),var(--c-accent));
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    line-height:1;
    margin-bottom:10px;
}
.stat-card p {
    font-size:0.8rem;
    color:var(--c-text-mid);
    text-transform:uppercase;
    letter-spacing:1.2px;
    font-weight:600;
}

/* ============================================================
   SERVICES GRID
   ============================================================ */
.services { padding:100px 0; background:var(--c-bg); }
.services-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:26px;
}
.service-card {
    background:#fff;
    border-radius:var(--radius-lg);
    padding:40px 32px;
    border:1px solid rgba(15,76,129,.06);
    transition:all .5s var(--ease);
    position:relative;
    overflow:hidden;
}
.service-card::before {
    content:'';
    position:absolute;
    top:0; left:0;
    width:100%; height:100%;
    background:linear-gradient(135deg,rgba(15,76,129,.03),rgba(0,184,148,.03));
    opacity:0;
    transition:opacity .4s;
}
.service-card::after {
    content:'';
    position:absolute;
    top:0; left:0; right:0;
    height:4px;
    background:linear-gradient(90deg,var(--c-primary),var(--c-accent));
    transform:scaleX(0);
    transition:transform .5s var(--ease);
    transform-origin:left;
}
.service-card:hover {
    transform:translateY(-12px);
    border-color:rgba(0,184,148,.2);
    box-shadow:0 30px 60px rgba(15,76,129,.15);
}
.service-card:hover::before { opacity:1; }
.service-card:hover::after { transform:scaleX(1); }
.service-card > * { position:relative; z-index:1; }

.service-icon {
    width:64px;
    height:64px;
    border-radius:var(--radius-md);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:24px;
    font-size:1.6rem;
    color:#fff;
    box-shadow:0 10px 25px rgba(15,76,129,.2);
    transition:transform .4s var(--ease);
}
.service-card:hover .service-icon {
    transform:scale(1.1) rotate(-6deg);
}

.service-card h3 {
    font-family:var(--font-display);
    font-size:1.3rem;
    font-weight:700;
    margin-bottom:12px;
    color:var(--c-text-dark);
}
.service-card p {
    font-size:0.94rem;
    color:var(--c-text-mid);
    line-height:1.65;
    margin-bottom:20px;
}
.service-link {
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--c-primary);
    font-weight:600;
    font-size:0.9rem;
    transition:gap .3s var(--ease);
}
.service-link:hover {
    gap:14px;
    color:var(--c-accent);
}

/* ============================================================
   WHY CHOOSE US
   ============================================================ */
.why { padding:100px 0; background:#fff; }
.why-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
}
.why-content h2 {
    font-family:var(--font-display);
    font-size:2.4rem;
    font-weight:700;
    margin-bottom:20px;
    line-height:1.15;
    letter-spacing:-1px;
    color:var(--c-text-dark);
}
.why-content p {
    font-size:1.05rem;
    color:var(--c-text-mid);
    line-height:1.75;
    margin-bottom:32px;
}
.why-features {
    display:grid;
    gap:14px;
}
.why-feature {
    display:flex;
    gap:18px;
    padding:20px;
    background:#f8fafc;
    border-radius:var(--radius-md);
    border:1px solid rgba(15,76,129,.04);
    transition:all .3s var(--ease);
    align-items:flex-start;
}
.why-feature:hover {
    background:#fff;
    border-color:rgba(0,184,148,.2);
    transform:translateX(8px);
    box-shadow:var(--shadow-md);
}
.why-feature-icon {
    width:52px;
    height:52px;
    border-radius:var(--radius-sm);
    background:linear-gradient(135deg,var(--c-primary-bg),#dbe9fa);
    color:var(--c-primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.3rem;
    flex-shrink:0;
    transition:all .3s var(--ease);
}
.why-feature:hover .why-feature-icon {
    background:linear-gradient(135deg,var(--c-primary),var(--c-accent));
    color:#fff;
    transform:scale(1.05);
}
.why-feature-content h4 {
    font-size:1.05rem;
    font-weight:700;
    margin-bottom:6px;
    color:var(--c-text-dark);
}
.why-feature-content p {
    font-size:0.88rem;
    color:var(--c-text-mid);
    line-height:1.55;
    margin:0;
}

.why-visual {
    position:relative;
}
.why-card {
    background:linear-gradient(135deg,#0f4c81,#061e35);
    padding:56px 44px;
    border-radius:var(--radius-xl);
    color:#fff;
    position:relative;
    overflow:hidden;
    box-shadow:0 40px 80px rgba(15,76,129,.25);
}
.why-card::before {
    content:'';
    position:absolute;
    width:400px;
    height:400px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(0,184,148,.25),transparent 60%);
    top:-180px; right:-180px;
    filter:blur(30px);
}
.why-card-badge {
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:rgba(0,184,148,.18);
    color:#00d4aa;
    padding:10px 22px;
    border-radius:50px;
    font-size:0.85rem;
    font-weight:700;
    margin-bottom:24px;
    position:relative;
    z-index:1;
}
.why-card h3 {
    font-family:var(--font-display);
    font-size:2.2rem;
    font-weight:700;
    line-height:1.15;
    margin-bottom:18px;
    position:relative;
    z-index:1;
}
.why-card p {
    font-size:0.98rem;
    color:rgba(255,255,255,.78);
    line-height:1.7;
    margin-bottom:30px;
    position:relative;
    z-index:1;
}
.why-card-stats {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
    padding-top:28px;
    border-top:1px solid rgba(255,255,255,.12);
    position:relative;
    z-index:1;
}
.why-card-stats > div h4 {
    font-family:var(--font-display);
    font-size:1.9rem;
    font-weight:700;
    color:#00d4aa;
    margin-bottom:6px;
}
.why-card-stats > div p {
    font-size:0.82rem;
    color:rgba(255,255,255,.65);
    margin:0;
}

/* ============================================================
   PROCESS
   ============================================================ */
.process { padding:100px 0; background:var(--c-bg); }
.process-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    position:relative;
}
.process-step {
    text-align:center;
    position:relative;
}
.process-step::before {
    content:'';
    position:absolute;
    top:46px;
    right:-15px;
    width:calc(100% - 92px);
    height:2px;
    background:linear-gradient(90deg,var(--c-primary-bg),transparent);
    z-index:0;
}
.process-step:last-child::before { display:none; }

.step-number {
    width:92px;
    height:92px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--c-primary),var(--c-accent));
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:var(--font-display);
    font-size:1.9rem;
    font-weight:700;
    margin:0 auto 24px;
    box-shadow:0 18px 40px rgba(15,76,129,.25);
    position:relative;
    z-index:1;
    border:5px solid #fff;
}
.step-number::after {
    content:'';
    position:absolute;
    inset:-8px;
    border-radius:50%;
    border:2px solid currentColor;
    opacity:.2;
    animation:ringPulse 2.5s ease-in-out infinite;
}
@keyframes ringPulse {
    0%,100% { transform:scale(1); opacity:.2; }
    50% { transform:scale(1.15); opacity:0; }
}

.process-step h4 {
    font-family:var(--font-display);
    font-size:1.2rem;
    font-weight:700;
    margin-bottom:10px;
    color:var(--c-text-dark);
}
.process-step p {
    font-size:0.9rem;
    color:var(--c-text-mid);
    line-height:1.6;
    padding:0 10px;
}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testimonials { padding:100px 0; background:#fff; }
.testimonials-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}
.testimonial-card {
    background:#fff;
    border-radius:var(--radius-lg);
    padding:36px;
    border:1px solid rgba(15,76,129,.08);
    transition:all .4s var(--ease);
    position:relative;
    box-shadow:var(--shadow-sm);
}
.testimonial-card::before {
    content:'\f10d';
    font-family:'Font Awesome 6 Free';
    font-weight:900;
    position:absolute;
    top:24px; right:28px;
    font-size:2.8rem;
    color:rgba(0,184,148,.12);
    line-height:1;
}
.testimonial-card:hover {
    transform:translateY(-10px);
    box-shadow:var(--shadow-lg);
    border-color:rgba(0,184,148,.2);
}
.testimonial-stars {
    color:#fbbf24;
    font-size:1.05rem;
    margin-bottom:18px;
    letter-spacing:3px;
}
.testimonial-card blockquote {
    font-size:0.98rem;
    line-height:1.75;
    color:var(--c-text-dark);
    margin-bottom:24px;
    font-style:italic;
}
.testimonial-author {
    display:flex;
    align-items:center;
    gap:16px;
    padding-top:22px;
    border-top:1px solid var(--c-alt);
}
.testimonial-avatar {
    width:52px;
    height:52px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--c-primary),var(--c-accent));
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:1.05rem;
    flex-shrink:0;
}
.testimonial-author h5 {
    font-size:0.98rem;
    font-weight:700;
    color:var(--c-text-dark);
    margin-bottom:2px;
}
.testimonial-author p {
    font-size:0.82rem;
    color:var(--c-text-mid);
}

/* ============================================================
   SERVICE AREAS
   ============================================================ */
.areas-section { padding:80px 0; background:linear-gradient(180deg,var(--c-bg),#fff); }
.area-pills {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:14px;
    max-width:900px;
    margin:0 auto;
}
.area-pill {
    background:#fff;
    border:1.5px solid var(--c-border);
    padding:14px 28px;
    border-radius:50px;
    font-size:0.92rem;
    font-weight:600;
    color:var(--c-text-mid);
    transition:all .4s var(--ease);
    cursor:default;
}
.area-pill:hover {
    background:linear-gradient(135deg,var(--c-primary),var(--c-accent));
    color:#fff;
    border-color:transparent;
    transform:translateY(-4px) scale(1.05);
    box-shadow:0 12px 30px rgba(15,76,129,.3);
}
.area-pill.hq {
    background:linear-gradient(135deg,var(--c-primary),var(--c-accent));
    color:#fff;
    border-color:transparent;
    box-shadow:0 8px 24px rgba(0,184,148,.3);
}
.area-pill.hq i { margin-right:6px; }

/* ============================================================
   CTA SECTION
   ============================================================ */
.cta-section {
    padding:120px 0;
    background:linear-gradient(135deg,#0f4c81 0%,#061e35 60%,#020f1f 100%);
    color:#fff;
    position:relative;
    overflow:hidden;
}
.cta-section::before {
    content:'';
    position:absolute;
    width:700px;
    height:700px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(0,184,148,.18),transparent 60%);
    top:-250px; right:-100px;
    filter:blur(50px);
}
.cta-section::after {
    content:'';
    position:absolute;
    width:500px;
    height:500px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(15,76,129,.4),transparent 60%);
    bottom:-200px; left:-100px;
    filter:blur(50px);
}
.cta-content {
    text-align:center;
    max-width:780px;
    margin:0 auto;
    position:relative;
    z-index:1;
}
.cta-content h2 {
    font-family:var(--font-display);
    font-size:2.8rem;
    font-weight:700;
    margin-bottom:20px;
    line-height:1.15;
    letter-spacing:-1.2px;
}
.cta-content p {
    color:rgba(255,255,255,.78);
    margin-bottom:36px;
    line-height:1.7;
    font-size:1.15rem;
}
.cta-buttons {
    display:flex;
    gap:16px;
    justify-content:center;
    flex-wrap:wrap;
}

/* ============================================================
   FOOTER
   ============================================================ */
.footer {
    background:#061e35;
    color:rgba(255,255,255,0.7);
    padding:90px 0 30px;
    position:relative;
    overflow:hidden;
}
.footer::before {
    content:'';
    position:absolute;
    width:600px;
    height:600px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(0,184,148,.08),transparent 60%);
    top:-250px; right:-150px;
    filter:blur(50px);
    pointer-events:none;
}
.footer-grid {
    display:grid;
    grid-template-columns:2.2fr 1fr 1fr 1.2fr;
    gap:60px;
    margin-bottom:60px;
    position:relative;
    z-index:1;
}
.footer-col h4 {
    font-family:var(--font-display);
    font-size:1.05rem;
    font-weight:700;
    color:#fff;
    margin-bottom:24px;
    letter-spacing:0.3px;
}
.footer-brand h4 {
    font-size:1.5rem;
    margin-bottom:18px;
}
.footer-brand h4 span { color:var(--c-accent); }
.footer p, .footer li {
    font-size:0.9rem;
    line-height:1.8;
    color:rgba(255,255,255,0.65);
}
.footer-brand p {
    margin-bottom:24px;
    max-width:380px;
}
.footer-contact {
    margin-top:14px;
}
.footer-contact > div {
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:12px;
    font-size:0.9rem;
    color:rgba(255,255,255,0.75);
}
.footer-contact i {
    color:var(--c-accent);
    width:20px;
    font-size:1rem;
    margin-top:2px;
}
.footer ul { list-style:none; }
.footer ul a {
    color:rgba(255,255,255,0.65);
    transition:all .3s var(--ease);
    display:block;
    padding:6px 0;
    font-size:0.9rem;
}
.footer ul a:hover {
    color:var(--c-accent);
    transform:translateX(6px);
}
.footer-social {
    display:flex;
    gap:12px;
    margin-top:20px;
}
.footer-social a {
    width:42px;
    height:42px;
    background:rgba(255,255,255,0.06);
    border-radius:var(--radius-sm);
    display:flex;
    align-items:center;
    justify-content:center;
    color:rgba(255,255,255,0.65);
    font-size:1rem;
    transition:all .3s var(--ease);
    border:1px solid rgba(255,255,255,0.05);
}
.footer-social a:hover {
    background:var(--c-accent);
    color:#fff;
    transform:translateY(-4px);
    border-color:var(--c-accent);
    box-shadow:0 10px 24px rgba(0,184,148,0.3);
}
.footer-bottom {
    border-top:1px solid rgba(255,255,255,0.08);
    padding-top:28px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:0.85rem;
    color:rgba(255,255,255,0.5);
    flex-wrap:wrap;
    gap:14px;
    position:relative;
    z-index:1;
}
.footer-legal { display:flex; gap:28px; }
.footer-legal a {
    color:rgba(255,255,255,0.5);
    transition:color .3s;
}
.footer-legal a:hover { color:var(--c-accent); }

/* ============================================================
   WHATSAPP FLOAT
   ============================================================ */
.whatsapp-float {
    position:fixed;
    bottom:30px;
    right:30px;
    width:62px;
    height:62px;
    background:linear-gradient(135deg,#25D366,#128C7E);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:1.85rem;
    box-shadow:0 12px 32px rgba(37,211,102,.4);
    z-index:998;
    animation:waPulse 3s infinite;
    text-decoration:none;
}
@keyframes waPulse {
    0%,100% { box-shadow:0 12px 32px rgba(37,211,102,.4), 0 0 0 0 rgba(37,211,102,.6); }
    50% { box-shadow:0 12px 32px rgba(37,211,102,.4), 0 0 0 22px rgba(37,211,102,0); }
}
.whatsapp-float:hover {
    transform:scale(1.1) rotate(8deg);
}

/* ============================================================
   RESPONSIVE - TABLET (1024px)
   ============================================================ */
@media (max-width:1024px) {
    .mobile-toggle { display:block; }
    .nav-menu {
        display:none;
        position:absolute;
        top:80px; left:0; right:0;
        background:#fff;
        flex-direction:column;
        padding:24px;
        gap:6px;
        box-shadow:0 20px 40px rgba(0,0,0,0.1);
        border-top:1px solid rgba(15,76,129,0.08);
        max-height:calc(100vh - 80px);
        overflow-y:auto;
    }
    .nav-menu.open { display:flex; }
    .nav-link { width:100%; text-align:center; }
    .nav-cta { margin-top:8px; }
    .dropdown-menu {
        position:static;
        opacity:1;
        visibility:visible;
        transform:none;
        box-shadow:none;
        border:none;
        background:rgba(15,76,129,0.04);
        margin-top:8px;
        padding:14px;
        min-width:auto;
        width:100%;
    }
    .dropdown-menu::before { display:none; }
    .nav-dropdown:hover .dropdown-menu { transform:none; }
    
    .hero-grid { grid-template-columns:1fr; gap:50px; }
    .hero-content { padding-right:0; text-align:center; }
    .hero-title { font-size:2.6rem; }
    .hero-trust { align-items:center; }
    .hero-buttons { justify-content:center; }
    
    .services-grid, .testimonials-grid { grid-template-columns:repeat(2,1fr); }
    .stats-grid { grid-template-columns:repeat(3,1fr); }
    .process-grid { grid-template-columns:repeat(2,1fr); gap:50px; }
    .process-step::before { display:none; }
    .why-grid { grid-template-columns:1fr; gap:50px; }
    .footer-grid { grid-template-columns:1fr 1fr; gap:40px; }
    .footer-brand { grid-column:1/-1; }
}

/* ============================================================
   RESPONSIVE - MOBILE (768px)
   ============================================================ */
@media (max-width:768px) {
    .nav-logo img { height:42px; }
    .nav-inner { height:70px; }
    .hero { margin-top:70px; padding:80px 0 60px; }
    .hero-title { font-size:2.1rem; }
    .section-title { font-size:1.9rem; }
    .services-grid, .testimonials-grid, .stats-grid { grid-template-columns:1fr; }
    .process-grid { grid-template-columns:1fr; gap:60px; }
    .footer-grid { grid-template-columns:1fr; gap:36px; }
    .footer-bottom { flex-direction:column; text-align:center; }
    .footer-legal { justify-content:center; }
    .cta-content h2 { font-size:1.9rem; }
    .why-card h3 { font-size:1.7rem; }
    .why-card { padding:40px 28px; }
    .hero-form { padding:32px 26px; }
}

/* ============================================================
   PREMIUM MOBILE ENHANCEMENTS
   Add at the end of cadlinc-styles.css
   ============================================================ */

/* ---------- iOS Safe Area Support (iPhone notch) ---------- */
@supports (padding:max(0px)) {
    .navbar, .footer {
        padding-left: max(24px, env(safe-area-inset-left));
        padding-right: max(24px, env(safe-area-inset-right));
    }
    .whatsapp-float {
        right: max(30px, env(safe-area-inset-right));
        bottom: max(30px, env(safe-area-inset-bottom));
    }
}

/* ---------- Better Touch Targets ---------- */
@media (max-width: 1024px) {
    /* Larger tap areas for mobile - WCAG recommendation */
    .nav-link {
        padding: 14px 20px;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .dropdown-menu a {
        padding: 14px 16px;
        min-height: 44px;
    }
    .btn-primary, .btn-outline {
        min-height: 48px;
        padding: 14px 28px;
    }
    .form-submit {
        min-height: 52px;
    }
    .area-pill {
        min-height: 40px;
        display: inline-flex;
        align-items: center;
    }
}

/* ---------- Premium Hamburger Animation ---------- */
.mobile-toggle {
    position: relative;
    width: 44px;
    height: 44px;
    display: none;
    border-radius: var(--radius-sm);
    align-items: center;
    justify-content: center;
    transition: all .3s var(--ease);
}
.mobile-toggle:hover {
    background: var(--c-primary-bg);
}
.mobile-toggle.active {
    background: var(--c-primary-bg);
    transform: rotate(90deg);
}
@media (max-width: 1024px) {
    .mobile-toggle { display: flex; }
}

/* ---------- Mobile Menu Slide-In Animation ---------- */
@media (max-width: 1024px) {
    .nav-menu {
        transform: translateY(-20px);
        opacity: 0;
        visibility: hidden;
        transition: all .35s var(--ease);
    }
    .nav-menu.open {
        display: flex !important;
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
    }
    
    /* Better spacing in mobile menu */
    .nav-menu {
        padding: 16px 20px 32px;
        gap: 4px;
    }
    .nav-link {
        font-size: 1rem;
        font-weight: 600;
    }
    .nav-cta {
        margin-top: 12px;
        padding: 16px 24px;
        font-size: 1rem;
        justify-content: center;
        width: 100%;
    }
}

/* ---------- Mobile Hero Refinements ---------- */
@media (max-width: 768px) {
    /* Tighter hero spacing on mobile */
    .hero { 
        padding: 60px 0 50px;
        min-height: auto;
    }
    .hero-grid { gap: 40px; }
    
    /* Hero badge slightly smaller */
    .hero-badge {
        font-size: 0.74rem;
        padding: 8px 16px;
        margin-bottom: 18px;
    }
    
    /* Hero title - perfect mobile size */
    .hero-title {
        font-size: 2rem;
        line-height: 1.1;
        letter-spacing: -1px;
        margin-bottom: 16px;
    }
    
    .hero-subtitle {
        font-size: 1rem;
        line-height: 1.65;
        margin-bottom: 24px;
    }
    
    /* Trust items - tighter on mobile */
    .hero-trust { gap: 10px; margin-bottom: 24px; }
    .trust-item { 
        font-size: 0.88rem;
        text-align: left;
        align-items: flex-start;
    }
    .trust-item i { margin-top: 2px; }
    
    /* Mobile buttons - full width feels premium */
    .hero-buttons {
        flex-direction: column;
        width: 100%;
        gap: 12px;
    }
    .hero-buttons .btn-primary,
    .hero-buttons .btn-outline {
        width: 100%;
        justify-content: center;
        padding: 16px;
        font-size: 0.95rem;
    }
    
    /* Form - cleaner on mobile */
    .hero-form {
        padding: 28px 22px;
        border-radius: 18px;
    }
    .form-title { font-size: 1.4rem; }
    .form-sub { font-size: 0.85rem; margin-bottom: 22px; }
    .form-trust-row {
        gap: 12px;
        font-size: 0.72rem;
    }
}

/* ---------- Mobile Stats - Premium Cards ---------- */
@media (max-width: 768px) {
    .stats { padding: 60px 0; }
    .stats-grid { 
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }
    .stat-card {
        padding: 24px 16px;
    }
    .stat-card h3 { font-size: 2rem; }
    .stat-card p { font-size: 0.72rem; }
    
    /* Last stat card centers itself when 5 items make uneven grid */
    .stat-card:nth-child(5) {
        grid-column: 1 / -1;
        max-width: 200px;
        margin: 0 auto;
    }
}

/* ---------- Mobile Section Headers ---------- */
@media (max-width: 768px) {
    .section-header { margin-bottom: 40px; }
    .section-title {
        font-size: 1.7rem;
        letter-spacing: -0.8px;
        line-height: 1.2;
    }
    .section-sub {
        font-size: 0.95rem;
        line-height: 1.65;
    }
    .section-pill {
        font-size: 0.68rem;
        padding: 7px 16px;
        letter-spacing: 1.4px;
    }
}

/* ---------- Mobile Service Cards ---------- */
@media (max-width: 768px) {
    .services { padding: 60px 0; }
    .services-grid { gap: 16px; }
    .service-card {
        padding: 28px 24px;
    }
    .service-icon { 
        width: 56px;
        height: 56px;
        font-size: 1.4rem;
        margin-bottom: 18px;
    }
    .service-card h3 { font-size: 1.15rem; }
    .service-card p { font-size: 0.9rem; }
}

/* ---------- Mobile Why Choose Us ---------- */
@media (max-width: 768px) {
    .why { padding: 60px 0; }
    .why-content h2 {
        font-size: 1.8rem;
        line-height: 1.2;
    }
    .why-features { gap: 12px; }
    .why-feature {
        padding: 16px;
        gap: 14px;
    }
    .why-feature-icon { 
        width: 44px;
        height: 44px;
        font-size: 1.1rem;
    }
    .why-feature-content h4 { font-size: 0.98rem; }
    .why-feature-content p { font-size: 0.84rem; }
    
    .why-card {
        padding: 36px 24px;
        border-radius: 18px;
    }
    .why-card h3 { 
        font-size: 1.5rem;
        letter-spacing: -0.5px;
    }
    .why-card p { font-size: 0.92rem; }
    .why-card-stats { gap: 18px; }
    .why-card-stats > div h4 { font-size: 1.6rem; }
    .why-card-stats > div p { font-size: 0.75rem; }
}

/* ---------- Mobile Process - Vertical Connecting Line ---------- */
@media (max-width: 768px) {
    .process { padding: 60px 0; }
    .process-grid { 
        gap: 50px;
        position: relative;
    }
    /* Vertical connecting line for mobile */
    .process-grid::before {
        content: '';
        position: absolute;
        top: 90px;
        bottom: 90px;
        left: 50%;
        width: 2px;
        background: linear-gradient(180deg, var(--c-primary-bg), transparent);
        transform: translateX(-50%);
    }
    .step-number {
        width: 80px;
        height: 80px;
        font-size: 1.7rem;
        margin-bottom: 18px;
    }
    .process-step h4 { font-size: 1.05rem; }
    .process-step p {
        font-size: 0.88rem;
        padding: 0 20px;
    }
}

/* ---------- Mobile Testimonials ---------- */
@media (max-width: 768px) {
    .testimonials { padding: 60px 0; }
    .testimonials-grid { gap: 18px; }
    .testimonial-card {
        padding: 28px 24px;
    }
    .testimonial-card::before { font-size: 2.2rem; }
    .testimonial-card blockquote { 
        font-size: 0.92rem;
        line-height: 1.7;
    }
    .testimonial-author { 
        gap: 14px;
        padding-top: 18px;
    }
    .testimonial-avatar {
        width: 46px;
        height: 46px;
        font-size: 0.95rem;
    }
}

/* ---------- Mobile Areas ---------- */
@media (max-width: 768px) {
    .areas-section { padding: 60px 0; }
    .area-pills { gap: 10px; }
    .area-pill {
        padding: 10px 20px;
        font-size: 0.84rem;
    }
}

/* ---------- Mobile CTA ---------- */
@media (max-width: 768px) {
    .cta-section { padding: 70px 0; }
    .cta-content h2 {
        font-size: 1.8rem;
        line-height: 1.2;
        margin-bottom: 16px;
    }
    .cta-content p {
        font-size: 1rem;
        margin-bottom: 28px;
    }
    .cta-buttons {
        flex-direction: column;
        gap: 12px;
        width: 100%;
    }
    .cta-buttons .btn-primary,
    .cta-buttons .btn-outline {
        width: 100%;
        justify-content: center;
    }
}

/* ---------- Mobile Footer ---------- */
@media (max-width: 768px) {
    .footer { padding: 60px 0 24px; }
    .footer-grid { 
        gap: 32px;
        margin-bottom: 40px;
    }
    .footer-col h4 {
        font-size: 1rem;
        margin-bottom: 18px;
    }
    .footer-brand h4 { font-size: 1.3rem; }
    .footer-brand p { font-size: 0.88rem; }
    .footer-contact > div {
        font-size: 0.88rem;
    }
    .footer ul a {
        font-size: 0.88rem;
        padding: 8px 0;
    }
    .footer-social a {
        width: 44px;
        height: 44px;
        font-size: 1.1rem;
    }
    .footer-bottom {
        text-align: center;
        gap: 16px;
        font-size: 0.8rem;
    }
    .footer-legal { 
        gap: 20px;
        justify-content: center;
    }
}

/* ---------- Mobile WhatsApp Float ---------- */
@media (max-width: 768px) {
    .whatsapp-float {
        width: 56px;
        height: 56px;
        font-size: 1.7rem;
        bottom: 20px;
        right: 20px;
    }
}

/* ---------- Very Small Phones (< 380px) ---------- */
@media (max-width: 380px) {
    .container { padding: 0 16px; }
    .nav-inner { padding: 0 16px; height: 64px; }
    .nav-logo img { height: 38px; }
    .hero { margin-top: 64px; padding: 50px 0 40px; }
    .hero-title { font-size: 1.75rem; }
    .hero-subtitle { font-size: 0.92rem; }
    .hero-form { padding: 24px 18px; }
    .form-row input, .form-row select, .form-row textarea {
        padding: 13px 14px;
        font-size: 16px; /* Prevents iOS zoom on focus */
    }
    .section-title { font-size: 1.5rem; }
    .stat-card h3 { font-size: 1.7rem; }
    .stats-grid { grid-template-columns: 1fr; }
    .stat-card:nth-child(5) { grid-column: auto; max-width: none; }
}

/* ---------- Landscape Phones ---------- */
@media (max-height: 500px) and (orientation: landscape) {
    .hero {
        min-height: auto;
        padding: 30px 0;
    }
    .hero-title { font-size: 1.8rem; margin-bottom: 12px; }
    .hero-subtitle { font-size: 0.92rem; margin-bottom: 16px; }
    .hero-trust { display: none; } /* Hide trust items on landscape mobile */
    .hero-buttons { flex-direction: row; }
}

/* ---------- Prevent iOS Form Zoom ---------- */
@media (max-width: 768px) {
    input, select, textarea {
        font-size: 16px !important; /* iOS requires 16px to prevent auto-zoom */
    }
    .form-row input,
    .form-row select,
    .form-row textarea {
        font-size: 16px !important;
    }
}

/* ---------- Smooth Animations on Mobile ---------- */
@media (max-width: 768px) {
    /* Reduce heavy animations on mobile for better performance */
    .orb { display: none; }
    .hero::before, .hero::after {
        animation: none;
        opacity: 0.6;
    }
    .step-number::after {
        animation-duration: 3.5s; /* Slower on mobile */
    }
}

/* ---------- Reduce Motion (Accessibility) ---------- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ---------- Dark Mode Support (Future-Ready) ---------- */
@media (prefers-color-scheme: dark) {
    /* Optional: Add dark mode styles if needed */
    /* Currently your site uses light theme by default */
}

/* ============================================================
   END OF PREMIUM MOBILE ENHANCEMENTS
   ============================================================ */