/* ============================================================
   EduCaller — Aurelian Medical Design System
   Colors: Deep Navy · Professional Teal · Elegant Gold
   Fonts: Manrope (headlines) · Inter (body)
   ============================================================ */
:root {
    /* Brand Palette */
    --primary:      #0f293f;   /* Deep Medical Navy */
    --primary-dk:   #001425;   /* Darkest Navy */
    --primary-lt:   #1a4a6b;   /* Lighter Navy */
    --secondary:    #006b5f;   /* Professional Teal */
    --secondary-lt: #4fdbc8;   /* Light Teal */
    --gold:         #cca830;   /* Elegant Gold */
    --gold-lt:      #e9c349;   /* Light Gold */

    /* Surfaces */
    --bg:           #f5faff;   /* Ice Blue Background */
    --surface:      #ffffff;
    --surface-low:  #eff4f9;
    --surface-mid:  #e9eef3;
    --surface-high: #dee3e8;

    /* Text */
    --text:         #171c20;
    --muted:        #43474d;
    --muted-lt:     #73777d;
    --on-primary:   #ffffff;

    /* UI */
    --border:       #c3c7cd;
    --border-lt:    #e4e9ee;
    --radius:       12px;
    --radius-lg:    20px;
    --radius-xl:    28px;
    --shadow:       0 4px 24px rgba(15,41,63,.08);
    --shadow-lg:    0 12px 48px rgba(15,41,63,.12);
    --shadow-gold:  0 8px 32px rgba(204,168,48,.25);

    /* Typography */
    --font:         'Inter', 'Segoe UI', sans-serif;
    --font-head:    'Manrope', 'Segoe UI', sans-serif;

    /* Glass */
    --glass-bg:     rgba(255,255,255,0.65);
    --glass-border: rgba(255,255,255,0.45);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    font-family: var(--font);
    color: var(--text);
    background: var(--bg);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4,h5,h6 { font-family: var(--font-head); }
img { max-width: 100%; height: auto; }
a { text-decoration: none; color: inherit; }

/* ── Glass Utility ─────────────────────────────────────────── */
.glass {
    background: var(--glass-bg);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--glass-border);
}

/* ── Buttons ────────────────────────────────────────────────── */
.btn-primary {
    display: inline-block;
    background: var(--primary);
    color: #fff;
    padding: 12px 28px;
    border-radius: 10px;
    font-size: 14.5px;
    font-weight: 700;
    font-family: var(--font-head);
    border: none;
    border-bottom: 2px solid var(--gold);
    cursor: pointer;
    transition: all .25s cubic-bezier(.4,0,.2,1);
    white-space: nowrap;
    letter-spacing: .01em;
}
.btn-primary:hover {
    background: var(--primary-lt);
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(15,41,63,.25);
    border-bottom-color: var(--gold-lt);
}
.btn-outline-white {
    display: inline-block;
    background: var(--glass-bg);
    color: var(--primary);
    border: 1px solid var(--glass-border);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 12px 28px;
    border-radius: 10px;
    font-size: 14.5px;
    font-weight: 700;
    font-family: var(--font-head);
    cursor: pointer;
    transition: all .25s;
}
.btn-outline-white:hover { background: rgba(255,255,255,.85); box-shadow: var(--shadow); }
.btn-outline-dark {
    display: inline-block;
    background: transparent;
    color: var(--primary);
    border: 2px solid var(--primary);
    padding: 11px 26px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    font-family: var(--font-head);
    cursor: pointer;
    transition: all .2s;
}
.btn-outline-dark:hover { background: var(--primary); color: #fff; }
.btn-teal {
    display: inline-block;
    background: var(--secondary);
    color: #fff;
    padding: 12px 28px;
    border-radius: 10px;
    font-size: 14.5px;
    font-weight: 700;
    font-family: var(--font-head);
    border: none;
    cursor: pointer;
    transition: all .2s;
}
.btn-teal:hover { background: #005248; transform: translateY(-2px); box-shadow: 0 8px 28px rgba(0,107,95,.25); }
.btn-green  { display:inline-block;background:#16a34a;color:#fff;padding:12px 28px;border-radius:10px;font-size:14.5px;font-weight:700;border:none;cursor:pointer;transition:all .2s; }
.btn-green:hover  { background:#166534; }
.btn-whatsapp { display:inline-block;background:rgba(37,211,102,.15);color:#16a34a;border:1px solid rgba(37,211,102,.35);padding:11px 20px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s; }
.btn-whatsapp:hover { background:rgba(37,211,102,.28); }
.btn-full { width:100%;text-align:center; }
.justify-center { justify-content:center; }

/* ── Forms ──────────────────────────────────────────────────── */
.form-input {
    display: block;
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--border-lt);
    border-radius: 10px;
    font-size: 14px;
    font-family: var(--font);
    color: var(--text);
    background: var(--surface-low);
    transition: border-color .2s, box-shadow .2s, background .2s;
}
.form-input:focus {
    outline: none;
    background: #fff;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(15,41,63,.08);
}
.form-input::placeholder { color: var(--muted-lt); }
.form-select { appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2373777d' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-color:var(--surface-low);padding-right:36px; }
.form-textarea { resize:vertical;min-height:100px; }
.lead-form   { display:flex;flex-direction:column;gap:10px; }
.form-row-2  { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.full-col    { grid-column:1/-1; }
.max-600     { max-width:600px;margin:0 auto; }

/* ── Layout ─────────────────────────────────────────────────── */
/* Note: Tailwind's container corePlugin is disabled in main.blade.php
   so these rules are the sole definition of .container */
.container    { max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px;width:100%; }
.container-sm { max-width:820px;margin:0 auto;padding-left:24px;padding-right:24px;width:100%; }
.container-md { max-width:1020px;margin:0 auto;padding-left:24px;padding-right:24px;width:100%; }
.section      { padding:72px 0; }
.bg-light     { background:var(--surface-low); }
.bg-surface   { background:var(--surface); }
.bg-dark      { background:var(--primary); }
.bg-navy      { background:linear-gradient(135deg,var(--primary-dk) 0%,var(--primary) 100%); }
.text-center  { text-align:center; }
.text-primary { color:var(--primary); }
.text-teal    { color:var(--secondary); }
.text-gold    { color:var(--gold); }
.text-white   { color:#fff; }
.text-muted   { color:var(--muted); }
.text-muted-lt{ color:var(--muted-lt); }
.mt-24 { margin-top:24px; }
.mt-40 { margin-top:40px; }
.mt-48 { margin-top:48px; }

/* ── Section Headers ────────────────────────────────────────── */
.section-head  { text-align:center;margin-bottom:48px; }
.section-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(0,107,95,.08);
    color: var(--secondary);
    border: 1px solid rgba(0,107,95,.2);
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    font-family: var(--font-head);
    padding: 5px 14px;
    margin-bottom: 14px;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.badge-gold  { background:rgba(204,168,48,.1);color:var(--gold);border-color:rgba(204,168,48,.3); }
.badge-navy  { background:rgba(15,41,63,.08);color:var(--primary);border-color:rgba(15,41,63,.2); }
.section-title {
    font-family: var(--font-head);
    font-size: clamp(24px,3vw,36px);
    font-weight: 800;
    color: var(--primary);
    line-height: 1.25;
    margin-bottom: 10px;
    letter-spacing: -.01em;
}
.section-sub  { font-size:16px;color:var(--muted);line-height:1.65;max-width:560px;margin:0 auto 40px; }

/* ── Hero ───────────────────────────────────────────────────── */
.hero-section {
    background: linear-gradient(135deg, var(--primary-dk) 0%, var(--primary) 55%, #1a4a6b 100%);
    padding: 80px 0 72px;
    position: relative;
    overflow: hidden;
}
.hero-section::before {
    content: '';
    position: absolute;
    top: -120px; right: -80px;
    width: 500px; height: 500px;
    background: rgba(79,219,200,.07);
    border-radius: 50%;
    pointer-events: none;
}
.hero-section::after {
    content: '';
    position: absolute;
    bottom: -100px; left: -60px;
    width: 380px; height: 380px;
    background: rgba(204,168,48,.05);
    border-radius: 50%;
    pointer-events: none;
}
.hero-inner   { display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;position:relative;z-index:1; }
.hero-badge   {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(204,168,48,.12);
    color: var(--gold-lt);
    border: 1px solid rgba(204,168,48,.25);
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    font-family: var(--font-head);
    padding: 6px 16px;
    margin-bottom: 20px;
    letter-spacing: .05em;
}
.hero-title   { font-family:var(--font-head);font-size:clamp(28px,4vw,50px);font-weight:800;color:#fff;line-height:1.18;margin-bottom:18px;letter-spacing:-.02em; }
.hero-desc    { font-size:16px;color:rgba(255,255,255,.72);line-height:1.72;margin-bottom:28px;max-width:480px; }
.hero-btns    { display:flex;gap:14px;flex-wrap:wrap;margin-bottom:36px; }
.hero-stats   { display:grid;grid-template-columns:repeat(4,1fr);gap:12px; }
.hs-item      { text-align:center;padding:14px 8px;background:rgba(255,255,255,.07);border-radius:12px;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px); }
.hs-num       { font-family:var(--font-head);font-size:20px;font-weight:800;color:var(--gold-lt); }
.hs-label     { font-size:11px;color:rgba(255,255,255,.55);margin-top:3px; }
.hero-form-card {
    background: rgba(255,255,255,.96);
    border-radius: var(--radius-lg);
    padding: 32px;
    box-shadow: 0 24px 64px rgba(0,0,0,.28);
    border: 1px solid rgba(255,255,255,.6);
}
.hfc-title { font-family:var(--font-head);font-size:18px;font-weight:800;color:var(--primary);margin-bottom:4px; }
.hfc-sub   { font-size:13px;color:var(--muted);margin-bottom:20px; }
.hero-form-card .form-input { margin-bottom:12px; }

/* ── Courses ────────────────────────────────────────────────── */
.courses-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:14px; }
.course-card  {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 22px 14px;
    background: var(--surface);
    border-radius: var(--radius);
    border: 1px solid var(--border-lt);
    text-align: center;
    cursor: pointer;
    transition: all .25s cubic-bezier(.4,0,.2,1);
    text-decoration: none;
}
.course-card:hover { transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--secondary); }
.course-icon  { font-size:30px;margin-bottom:10px; }
.course-name  { font-family:var(--font-head);font-weight:700;color:var(--primary);font-size:13.5px;line-height:1.3; }
.course-sub   { font-size:11.5px;color:var(--muted-lt);margin-top:4px; }

/* ── Why Cards ──────────────────────────────────────────────── */
.why-grid  { display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center; }
.why-list  { display:flex;flex-direction:column;gap:16px; }
.why-item  { display:flex;gap:14px;align-items:flex-start; }
.why-icon  { width:40px;height:40px;background:rgba(0,107,95,.1);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0; }
.why-name  { font-family:var(--font-head);font-weight:700;font-size:14.5px;color:var(--primary); }
.why-desc  { font-size:13px;color:var(--muted);margin-top:3px;line-height:1.55; }
.why-stats-grid { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.why-stat-card { padding:28px 20px;border-radius:16px;text-align:center; }
.wsc-num   { font-family:var(--font-head);font-size:32px;font-weight:800; }
.wsc-label { font-size:13px;color:var(--muted);margin-top:6px;line-height:1.4;font-weight:500; }

/* ── States Grid ────────────────────────────────────────────── */
.states-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:14px; }
.state-card  {
    display: flex;
    flex-direction: column;
    padding: 20px 18px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--radius);
    text-decoration: none;
    transition: all .25s;
    position: relative;
}
.state-card:hover { background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28);transform:translateY(-3px); }
.state-card-name  { font-family:var(--font-head);font-size:15px;font-weight:700;color:#fff;margin-bottom:4px; }
.state-card-count { font-size:12px;color:rgba(255,255,255,.5); }
.state-card-arrow { position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--gold-lt);font-size:16px;font-weight:700; }

/* ── College Cards ──────────────────────────────────────────── */
.colleges-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px; }
.college-card  { background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-lt);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column; }
.college-card:hover { transform:translateY(-6px);box-shadow:0 16px 48px rgba(15,41,63,.14);border-color:var(--border); }

/* Thumbnail */
.cc-thumb-wrap { position:relative;height:180px;overflow:hidden;background:linear-gradient(135deg,var(--primary),var(--primary-lt));flex-shrink:0; }
.cc-thumb      { width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.4,0,.2,1); }
.college-card:hover .cc-thumb { transform:scale(1.06); }
.cc-type-badge { position:absolute;top:12px;right:12px;font-family:var(--font-head);font-size:11px;font-weight:800;padding:4px 12px;border-radius:20px;white-space:nowrap;letter-spacing:.03em;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px); }
.cc-type-government { background:rgba(0,107,95,.85);color:#fff; }
.cc-type-private    { background:rgba(115,92,0,.85);color:#ffe088; }
.cc-type-deemed     { background:rgba(15,41,63,.85);color:#b0c9e5; }
.cc-featured-badge  { position:absolute;top:12px;left:12px;background:rgba(204,168,48,.9);color:#001425;font-size:10.5px;font-weight:800;padding:3px 10px;border-radius:20px;font-family:var(--font-head);letter-spacing:.02em;backdrop-filter:blur(8px); }

/* Card body */
.cc-body     { padding:18px;display:flex;flex-direction:column;flex:1; }
.cc-name     { font-family:var(--font-head);font-weight:800;color:var(--primary);font-size:15.5px;line-height:1.35;margin-bottom:5px; }
.cc-location { font-size:12.5px;color:var(--muted-lt);margin-bottom:14px;display:flex;align-items:center;gap:4px; }
.cc-stats    { display:flex;justify-content:space-between;margin-bottom:14px;padding:12px 14px;background:var(--surface-low);border-radius:10px;border:1px solid var(--border-lt); }
.cc-stat     { text-align:center; }
.ccs-label   { display:block;font-size:10.5px;color:var(--muted-lt);font-family:var(--font-head);font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:3px; }
.ccs-val     { display:block;font-family:var(--font-head);font-weight:800;font-size:14.5px;color:var(--primary); }
.cc-cta      { font-size:14px;padding:11px;margin-top:auto; }

/* ── Testimonials ───────────────────────────────────────────── */
.testimonials-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px; }
.testi-card {
    background: rgba(255,255,255,.65);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: var(--radius-lg);
    border: 1px solid var(--glass-border);
    padding: 28px;
    box-shadow: var(--shadow);
    transition: all .25s;
}
.testi-card:hover { transform:translateY(-4px);box-shadow:var(--shadow-lg); }
.testi-stars  { color:var(--gold);font-size:14px;margin-bottom:12px; }
.testi-review { font-size:14px;color:var(--muted);line-height:1.75;margin-bottom:18px;font-style:italic; }
.testi-author { display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--border-lt); }
.testi-avatar { width:40px;height:40px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-head);font-weight:700;font-size:16px;flex-shrink:0; }
.testi-name   { font-family:var(--font-head);font-weight:700;font-size:14px;color:var(--primary); }
.testi-meta   { font-size:12px;color:var(--muted-lt); }

/* ── Testimonial Slider ─────────────────────────────────────── */
.testi-slider-wrap  { position:relative;overflow:hidden; }
.testi-track        { display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1);will-change:transform; }
.testi-slide        { flex:0 0 calc(33.333% - 16px);margin-right:24px;box-sizing:border-box; }
.testi-card {
    background: rgba(255,255,255,.72);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: var(--radius-lg);
    border: 1px solid var(--glass-border);
    padding: 28px;
    box-shadow: var(--shadow);
    transition: all .25s;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.testi-card:hover { transform:translateY(-4px);box-shadow:var(--shadow-lg); }
.testi-stars  { color:var(--gold);font-size:14px;margin-bottom:12px;letter-spacing:2px; }
.testi-review { font-size:14px;color:var(--muted);line-height:1.75;margin-bottom:18px;font-style:italic;flex:1; }
.testi-author { display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--border-lt);margin-top:auto; }
.testi-avatar { width:42px;height:42px;background:linear-gradient(135deg,var(--primary),var(--primary-lt));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-head);font-weight:800;font-size:16px;flex-shrink:0; }
.testi-name   { font-family:var(--font-head);font-weight:700;font-size:14px;color:var(--primary); }
.testi-meta   { font-size:12px;color:var(--muted-lt);margin-top:2px; }

/* Slider controls */
.testi-nav       { display:flex;align-items:center;justify-content:center;gap:16px;margin-top:32px; }
.testi-btn       { width:44px;height:44px;border-radius:50%;border:2px solid var(--border-lt);background:var(--surface);color:var(--primary);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0; }
.testi-btn:hover { background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.08); }
.testi-dots      { display:flex;gap:8px; }
.testi-dot       { width:8px;height:8px;border-radius:50%;background:var(--border);border:none;cursor:pointer;transition:all .25s;padding:0; }
.testi-dot.active{ width:24px;border-radius:4px;background:var(--secondary); }

@media(max-width:900px){
    .testi-slide { flex:0 0 calc(50% - 12px); }
}
@media(max-width:580px){
    .testi-slide { flex:0 0 100%;margin-right:24px; }
}

/* ── Blog Cards ─────────────────────────────────────────────── */
.blogs-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px; }
.blog-card  { background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-lt);overflow:hidden;transition:all .25s; }
.blog-card:hover { transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--border); }
.bc-img-wrap { display:block;height:190px;overflow:hidden;position:relative; }
.bc-img      { width:100%;height:100%;object-fit:cover;transition:transform .4s; }
.blog-card:hover .bc-img { transform:scale(1.05); }
.bc-img-placeholder { background:linear-gradient(135deg,var(--surface-low),var(--surface-mid));display:flex;align-items:center;justify-content:center; }
.bc-cat-badge { position:absolute;top:12px;left:12px;background:var(--secondary);color:#fff;font-size:10.5px;font-weight:700;padding:3px 10px;border-radius:20px;font-family:var(--font-head);letter-spacing:.04em; }
.bc-body     { padding:20px; }
.bc-category { font-size:11px;font-weight:700;color:var(--secondary);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-head); }
.bc-title    { font-family:var(--font-head);font-size:15.5px;font-weight:700;color:var(--primary);margin:7px 0 9px;line-height:1.4; }
.bc-title a:hover { color:var(--secondary); }
.bc-excerpt  { font-size:13px;color:var(--muted);line-height:1.65; }
.bc-meta     { display:flex;align-items:center;gap:6px;margin-top:12px;font-size:12px;color:var(--muted-lt); }
.bc-sep      { color:var(--border); }
.bc-read     { display:inline-block;margin-top:13px;font-size:13px;font-weight:700;color:var(--secondary);font-family:var(--font-head); }
.bc-read:hover { color:var(--primary); }

/* ── FAQ ────────────────────────────────────────────────────── */
.faq-list   { display:flex;flex-direction:column;gap:10px; }
.faq-item   { background:var(--surface);border-radius:12px;border:1px solid var(--border-lt);overflow:hidden;transition:border-color .2s; }
.faq-item:hover { border-color:var(--border); }
.faq-question { width:100%;padding:18px 22px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-head);font-weight:700;color:var(--primary);font-size:14.5px;background:none;border:none;text-align:left;gap:12px; }
.faq-question:hover { background:var(--surface-low); }
.faq-icon   { color:var(--secondary);font-size:20px;transition:transform .2s;flex-shrink:0;line-height:1; }
.faq-answer { display:none;padding:0 22px 18px;color:var(--muted);font-size:14px;line-height:1.75; }
.faq-answer.open { display:block; }

/* ── CTA Section ────────────────────────────────────────────── */
.cta-section   { background:linear-gradient(135deg,var(--primary-dk),var(--primary)); }
.cta-form-wrap { background:rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:32px;border:1px solid rgba(255,255,255,.15); }
.cta-form .form-input { background:rgba(255,255,255,.9); }

/* ── Page Hero ──────────────────────────────────────────────── */
.page-hero        { background:linear-gradient(135deg,var(--primary-dk) 0%,var(--primary) 60%,var(--primary-lt) 100%);padding:60px 0 48px;position:relative;overflow:hidden; }
.page-hero::after { content:'';position:absolute;top:-80px;right:-60px;width:400px;height:400px;background:rgba(79,219,200,.07);border-radius:50%;pointer-events:none; }
/* NRI Quota hero — teal-forward palette to distinguish from regular state pages */
.page-hero.nri-hero { background:linear-gradient(135deg,#003d35 0%,#006b5f 55%,#1a4a6b 100%); }
.page-hero.nri-hero::after { background:rgba(204,168,48,.10); }
.page-hero.nri-hero::before { content:'🌍';position:absolute;top:50%;right:10%;transform:translateY(-50%);font-size:120px;opacity:.07;pointer-events:none; }
.page-hero-title  { font-family:var(--font-head);font-size:clamp(26px,4vw,42px);font-weight:800;color:#fff;line-height:1.22;letter-spacing:-.01em; }
.page-hero-sub    { color:rgba(255,255,255,.68);margin-top:10px;font-size:16px;line-height:1.65; }
.page-hero.text-center .page-hero-title,
.page-hero.text-center .page-hero-sub { text-align:center; }

/* ── Breadcrumb ─────────────────────────────────────────────── */
.breadcrumb-nav { font-size:13px;color:rgba(255,255,255,.5);margin-bottom:14px; }
.breadcrumb-nav a { color:rgba(255,255,255,.5);transition:color .2s; }
.breadcrumb-nav a:hover { color:var(--gold-lt); }

/* ── Info Card (NRI, etc.) ──────────────────────────────────── */
.info-card    { background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-lt);padding:30px;margin-bottom:24px;box-shadow:var(--shadow); }
.card-heading { font-family:var(--font-head);font-size:20px;font-weight:800;color:var(--primary);margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid var(--surface-low);position:relative; }
.card-heading::after { content:'';position:absolute;bottom:-2px;left:0;width:48px;height:2px;background:var(--gold); }

/* ── Quick Info Grid ─────────────────────────────────────────── */
.quick-info-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.info-item  { padding:14px;background:var(--surface-low);border-radius:10px;border:1px solid var(--border-lt); }
.info-label { display:block;font-size:11px;color:var(--muted-lt);margin-bottom:4px;font-family:var(--font-head);font-weight:700;letter-spacing:.04em;text-transform:uppercase; }
.info-value { display:block;font-family:var(--font-head);font-weight:700;color:var(--primary);font-size:14px; }

/* ── Data Table ─────────────────────────────────────────────── */
.data-table { width:100%;border-collapse:collapse;font-size:14px; }
.data-table th { padding:13px 16px;text-align:left;background:var(--primary);color:#fff;font-family:var(--font-head);font-weight:700;font-size:13px;letter-spacing:.02em; }
.data-table th:first-child { border-radius:8px 0 0 0; }
.data-table th:last-child  { border-radius:0 8px 0 0; }
.data-table td { padding:12px 16px;border-top:1px solid var(--surface-low);vertical-align:middle; }
.data-table tr:nth-child(even) td { background:var(--surface-low); }
.data-table tr:hover td { background:#eff4f9; }
.text-right { text-align:right; }
.table-responsive { overflow-x:auto;border-radius:var(--radius); }
.table-note { font-size:12px;color:var(--muted-lt);margin-top:10px;font-style:italic; }

/* ── Docs Checklist ─────────────────────────────────────────── */
.docs-checklist { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.docs-checklist.two-col { grid-template-columns:1fr 1fr; }
.doc-item  { display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface-low);border-radius:10px;font-size:13.5px;color:var(--text);border:1px solid rgba(0,107,95,.12); }
.doc-check { color:var(--secondary);font-weight:800;flex-shrink:0;font-size:15px; }

/* ── NRI Stats ──────────────────────────────────────────────── */
.stat-highlight-card { background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-lt);padding:28px;text-align:center;box-shadow:var(--shadow);transition:all .25s; }
.stat-highlight-card:hover { transform:translateY(-4px);box-shadow:var(--shadow-lg); }
.stat-big   { font-family:var(--font-head);font-size:38px;font-weight:800;color:var(--primary); }
.stat-title { font-family:var(--font-head);font-weight:700;color:var(--primary);margin-top:6px; }
.stat-sub   { font-size:13px;color:var(--muted-lt);margin-top:4px; }

/* ── Process Steps ──────────────────────────────────────────── */
.steps-timeline  { display:flex;flex-direction:column;gap:0; }
.timeline-step   { display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--surface-low); }
.timeline-step:last-child { border:none; }
.timeline-num    { width:34px;height:34px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-head);font-size:13px;font-weight:800;flex-shrink:0; }
.timeline-title  { font-family:var(--font-head);font-weight:700;color:var(--primary);font-size:15px; }
.timeline-desc   { font-size:13px;color:var(--muted);margin-top:4px; }

/* ── College Detail ─────────────────────────────────────────── */
.college-hero { min-height:340px;background-size:cover;background-position:center;position:relative;padding:64px 0 44px; }
.college-hero-overlay { position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,20,37,.88),rgba(15,41,63,.75)); }
.college-hero-inner   { position:relative;z-index:1; }
.college-hero-content { display:flex;justify-content:space-between;align-items:flex-start;gap:24px; }
.college-type-badge   { display:inline-block;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:8px;font-size:12px;font-weight:700;font-family:var(--font-head);padding:4px 14px;margin-bottom:12px;letter-spacing:.04em; }
.college-hero-title   { font-family:var(--font-head);font-size:clamp(26px,3.5vw,38px);font-weight:800;color:#fff;margin-bottom:10px;line-height:1.2; }
.college-hero-sub     { font-size:16px;color:rgba(255,255,255,.65);margin-bottom:22px; }
.hero-action-btns     { display:flex;gap:12px;flex-wrap:wrap; }
.college-rating-box   { background:rgba(255,255,255,.08);border-radius:var(--radius);padding:22px 30px;text-align:center;border:1px solid rgba(255,255,255,.15);flex-shrink:0;backdrop-filter:blur(12px); }
.big-rating  { font-family:var(--font-head);font-size:34px;font-weight:800;color:var(--gold-lt); }
.rating-label { font-size:13px;color:rgba(255,255,255,.6);margin-top:4px; }
.college-page-layout { display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:start;padding-top:32px;padding-bottom:72px; }

/* ── College Sidebar ────────────────────────────────────────── */
.college-sidebar { position:sticky;top:80px; }
.enquiry-box     { background:var(--surface);border-radius:var(--radius-lg);border:2px solid var(--primary);padding:24px;margin-bottom:14px; }
.enquiry-header  { background:var(--primary);color:#fff;font-family:var(--font-head);font-weight:700;font-size:15px;padding:13px 16px;border-radius:10px;text-align:center;margin-bottom:20px; }
.or-call   { text-align:center;margin-top:10px;font-size:13px;color:var(--muted-lt); }
.call-link { display:block;text-align:center;font-family:var(--font-head);font-weight:800;color:var(--primary);font-size:17px;margin-top:4px; }
.brochure-box { background:#f0fef4;border-radius:var(--radius);border:1px solid #bbf7d0;padding:16px;margin-bottom:14px; }
.brochure-box h4 { font-size:14px;font-weight:700;color:#166534;margin-bottom:4px; }
.brochure-box p  { font-size:13px;color:#4b7a5c;margin-bottom:10px; }
.sidebar-nav-box { background:var(--surface);border-radius:var(--radius);border:1px solid var(--border-lt);padding:16px; }
.sidebar-nav-box h4 { font-family:var(--font-head);font-size:14px;font-weight:700;color:var(--primary);margin-bottom:10px; }
.page-nav a { display:block;padding:9px 12px;font-size:13.5px;color:var(--text);border-radius:8px;transition:background .15s; }
.page-nav a:hover { background:var(--surface-low);color:var(--secondary); }

/* ── Gallery ────────────────────────────────────────────────── */
.facilities-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:12px; }
.facility-item   { text-align:center;padding:14px 8px;background:var(--surface-low);border-radius:10px;border:1px solid var(--border-lt); }
.fac-icon { display:block;font-size:22px;margin-bottom:4px; }
.fac-name { font-size:12px;color:var(--muted);font-weight:600; }
.gallery-grid  { display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px; }
.gallery-item  { border-radius:12px;overflow:hidden;cursor:pointer;position:relative;aspect-ratio:4/3;background:var(--surface-low); }
.gallery-item img { width:100%;height:100%;object-fit:cover;transition:transform .3s; }
.gallery-item:hover img { transform:scale(1.07); }
.gallery-overlay { position:absolute;inset:0;background:rgba(15,41,63,.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;font-size:24px; }
.gallery-item:hover .gallery-overlay { opacity:1; }
.map-wrap iframe { width:100%;height:340px;border:none;border-radius:var(--radius); }
.about-content.prose p  { margin-bottom:14px;line-height:1.8;color:var(--text); }
.about-content.prose ul { margin-left:20px;margin-bottom:14px; }
.about-content.prose li { margin-bottom:4px;color:var(--text); }

/* ── Filter Bar ─────────────────────────────────────────────── */
.filter-bar    { display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px; }
.filter-search { flex:1;min-width:200px; }
.results-info  { font-size:14px;color:var(--muted-lt);margin-bottom:16px; }
.colleges-grid-list { display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px; }
.empty-state   { text-align:center;padding:64px 20px; }
.empty-icon    { font-size:48px;margin-bottom:14px; }
.empty-state h3 { font-family:var(--font-head);font-size:20px;font-weight:800;color:var(--primary);margin-bottom:8px; }
.pagination-wrap { margin-top:32px;display:flex;justify-content:center; }

/* ── About ──────────────────────────────────────────────────── */
.about-grid  { display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;margin-bottom:40px; }
.about-text h2 { font-family:var(--font-head);font-size:28px;font-weight:800;color:var(--primary);margin-bottom:16px; }
.about-text p  { color:var(--muted);line-height:1.8;margin-bottom:14px; }
.about-stats   { display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px; }
.as-num { font-family:var(--font-head);font-size:30px;font-weight:800;color:var(--primary); }
.as-lbl { font-size:14px;color:var(--muted); }
.about-img  { width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg); }

/* ── Services ───────────────────────────────────────────────── */
.services-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px; }
.service-card  { background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-lt);padding:30px;transition:all .25s; }
.service-card:hover { border-color:var(--secondary);transform:translateY(-4px);box-shadow:var(--shadow-lg); }
.service-icon  { font-size:32px;margin-bottom:14px; }
.service-title { font-family:var(--font-head);font-weight:800;color:var(--primary);margin-bottom:10px;font-size:17px; }
.service-desc  { font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:16px; }
.service-cta   { font-size:14px;font-weight:700;color:var(--secondary);font-family:var(--font-head); }

/* ── Contact ────────────────────────────────────────────────── */
.contact-layout  { display:grid;grid-template-columns:1fr 1fr;gap:48px; }
.contact-info h2 { font-family:var(--font-head);font-size:26px;font-weight:800;color:var(--primary);margin-bottom:12px; }
.contact-items   { margin-top:24px;display:flex;flex-direction:column;gap:16px; }
.contact-item    { display:flex;align-items:flex-start;gap:12px; }
.ci-icon  { font-size:20px;flex-shrink:0;margin-top:2px; }
.ci-label { font-size:11.5px;color:var(--muted-lt);margin-bottom:2px;font-family:var(--font-head);font-weight:700;text-transform:uppercase;letter-spacing:.04em; }
.ci-value { font-weight:600;color:var(--primary);font-size:15px; }
.contact-form-box h2 { font-family:var(--font-head);font-size:22px;font-weight:800;color:var(--primary);margin-bottom:20px; }
.wa-cta-btn { display:inline-block;background:#25d366;color:#fff;padding:12px 24px;border-radius:10px;font-weight:700;font-size:14px;margin-top:16px; }

/* ── Lightbox ───────────────────────────────────────────────── */
.lightbox { display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:9999;align-items:center;justify-content:center;flex-direction:column; }
.lightbox.open { display:flex; }
.lightbox-close { position:absolute;top:20px;right:24px;background:none;border:none;color:#fff;font-size:32px;cursor:pointer; }
.lightbox #lightboxImg { max-width:90vw;max-height:80vh;border-radius:10px; }
.lightbox #lightboxCaption { color:#aaa;margin-top:12px;font-size:14px; }

/* ── Alerts ─────────────────────────────────────────────────── */
.alert         { display:flex;align-items:flex-start;gap:10px;padding:14px 20px;border-radius:10px;margin-bottom:16px;font-size:14px; }
.alert-success { background:#f0fdf4;border:1px solid #bbf7d0;color:#166534; }
.alert-danger  { background:#fef2f2;border:1px solid #fecaca;color:#dc2626; }
.alert-icon    { font-weight:700;flex-shrink:0; }
.alert-close   { margin-left:auto;background:none;border:none;cursor:pointer;font-size:16px;color:inherit;opacity:.7; }
.error-list    { margin:0;padding-left:16px; }

/* ── Admin Panel ────────────────────────────────────────────── */
.section-head  { margin-bottom:48px; }
.btn-outline-white-dark { display:inline-block;background:transparent;color:var(--primary);border:2px solid var(--primary);padding:10px 22px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s; }
.btn-outline-white-dark:hover { background:var(--primary);color:#fff; }

/* ── Reusable page grid utilities ───────────────────────────── */
.ec-grid-2 { display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start; }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .college-page-layout { grid-template-columns:1fr; }
    .college-sidebar     { position:static; }
}
@media (max-width: 900px) {
    .ec-grid-2 { grid-template-columns:1fr;gap:32px; }
}
@media (max-width: 768px) {
    .hero-inner       { grid-template-columns:1fr; }
    .hero-title       { font-size:30px; }
    .hero-stats       { grid-template-columns:repeat(2,1fr); }
    .section-title    { font-size:24px; }
    .form-row-2       { grid-template-columns:1fr; }
    .quick-info-grid  { grid-template-columns:1fr; }
    .docs-checklist,
    .docs-checklist.two-col { grid-template-columns:1fr; }
    .about-grid       { grid-template-columns:1fr; }
    .contact-layout   { grid-template-columns:1fr; }
    .college-hero-content { flex-direction:column; }
    .hero-action-btns { flex-direction:column; }
    .why-grid         { grid-template-columns:1fr; }
    .why-stats-grid   { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 580px) {
    .courses-grid     { grid-template-columns:repeat(2,1fr); }
    .states-grid      { grid-template-columns:1fr 1fr; }
    .blogs-grid,.testimonials-grid { grid-template-columns:1fr; }
    .colleges-grid    { grid-template-columns:1fr; }
}
@media (max-width: 480px) {
    .container,.container-sm,.container-md { padding:0 16px; }
    .section { padding:48px 0; }
    .ec-grid-2 { gap:24px; }
}
