/*
 * PHASE 4 — HOMEPAGE DESIGN
 * PURPOSE: Premium homepage-specific layout, cards and conversion sections.
 * USED BY: index.php.
 * CONNECTS TO: style.css, design-tokens.css, animations.css.
 * EDIT HERE: Homepage visual hierarchy, section spacing and component styling.
 */

.map-home-hero {
    position: relative;
    overflow: hidden;
    padding: 82px 0 0;
    background:
        radial-gradient(circle at 78% 12%, rgba(32,184,196,.13), transparent 28%),
        linear-gradient(135deg, #f8fcff 0%, #eaf5ff 52%, #f9fcff 100%);
}

.map-hero-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(1px);
}
.map-hero-orb-one { width:420px;height:420px;right:-170px;top:50px;background:rgba(14,165,168,.08); }
.map-hero-orb-two { width:280px;height:280px;left:-160px;bottom:100px;background:rgba(18,59,112,.06); }

.map-home-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 70px;
    align-items: center;
    padding-bottom: 76px;
}

.map-home-eyebrow,
.map-section-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--secondary);
    font: 800 11px/1.2 var(--font-body);
    text-transform: uppercase;
    letter-spacing: .12em;
}

.map-home-eyebrow {
    padding: 8px 11px;
    border: 1px solid #d8ebf4;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    margin-bottom: 20px;
}

.map-live-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--success);
    box-shadow: 0 0 0 4px rgba(22,163,74,.1);
}

.map-home-hero h1 {
    max-width: 760px;
    margin: 0 0 22px;
    color: var(--primary-dark);
    font: 800 clamp(43px, 5.2vw, 68px)/1.04 var(--font-heading);
    letter-spacing: -.055em;
}

.map-home-hero h1 span {
    color: var(--secondary);
}

.map-home-hero-text {
    max-width: 650px;
    margin-bottom: 28px;
    color: #526176;
    font-size: 17px;
    line-height: 1.75;
}

.map-home-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
}

.map-home-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 49px;
    padding: 13px 18px;
    border-radius: 12px;
    border: 1px solid transparent;
    font: 800 13px/1 var(--font-body);
    transition: transform .22s var(--ease-standard), box-shadow .22s var(--ease-standard), background .22s var(--ease-standard);
}

.map-home-btn span {
    transition: transform .22s var(--ease-standard);
}

.map-home-btn:hover span { transform: translateX(3px); }
.map-home-btn:hover { transform: translateY(-2px); }

.map-home-btn-primary {
    color: #fff;
    background: var(--primary);
    box-shadow: 0 13px 26px rgba(18,59,112,.19);
}
.map-home-btn-primary:hover { color:#fff;background:var(--primary-dark);box-shadow:0 16px 30px rgba(18,59,112,.24); }

.map-home-btn-white {
    color: var(--primary);
    background: #fff;
    border-color: #dbe7f0;
}
.map-home-btn-white:hover { color:var(--primary);box-shadow:0 13px 28px rgba(18,59,112,.10); }

.map-home-btn-secondary {
    color: var(--primary);
    background: #fff;
    border-color: var(--border);
}
.map-home-btn-outline-white {
    color: #fff;
    background: transparent;
    border-color: rgba(255,255,255,.35);
}

.map-hero-proof {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 27px;
}
.map-proof-avatars { display:flex; }
.map-proof-avatars span {
    width: 29px;
    height: 29px;
    margin-left: -6px;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:2px solid #f8fcff;
    color:#fff;
    background:var(--primary);
    font:800 10px/1 var(--font-body);
}
.map-proof-avatars span:first-child { margin-left:0; background:#0f766e; }
.map-proof-avatars span:nth-child(2) { background:#2563eb; }
.map-proof-avatars span:nth-child(3) { background:#0e7490; }
.map-proof-avatars span:last-child { background:var(--secondary); }
.map-hero-proof strong { display:block;color:var(--primary-dark);font:800 12px/1.3 var(--font-body); }
.map-hero-proof small { display:block;color:var(--muted);font-size:11px; }

.map-home-hero-visual { min-height:500px; display:grid; place-items:center; }
.map-hero-image-card {
    position:relative;
    width:min(460px,100%);
    padding:15px;
    border-radius:34px;
    background:rgba(255,255,255,.7);
    border:1px solid rgba(255,255,255,.85);
    box-shadow:0 35px 80px rgba(18,59,112,.15);
}
.map-demo-photo {
    position:relative;
    height:470px;
    overflow:hidden;
    display:grid;
    place-items:center;
    border-radius:25px;
    background:
        radial-gradient(circle at 70% 22%, rgba(32,184,196,.45), transparent 22%),
        linear-gradient(145deg, #0b315d 0%, #123b70 50%, #0e7f83 100%);
}
.map-demo-photo-glow {
    position:absolute;
    width:330px;
    height:330px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    filter:blur(3px);
}
.map-demo-person {
    position:relative;
    z-index:1;
    width:190px;
    height:240px;
    display:grid;
    place-items:center;
    border-radius:95px 95px 55px 55px;
    color:#fff;
    background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.06));
    border:1px solid rgba(255,255,255,.18);
    font:800 17px/1.3 var(--font-heading);
    letter-spacing:.12em;
    text-align:center;
}
.map-photo-note {
    position:absolute;
    left:18px;
    bottom:17px;
    z-index:2;
    padding:7px 9px;
    border-radius:8px;
    color:rgba(255,255,255,.72);
    background:rgba(0,0,0,.18);
    font-size:9px;
}
.map-hero-floating-card {
    position:absolute;
    z-index:3;
    display:flex;
    align-items:center;
    gap:10px;
    min-width:205px;
    padding:13px;
    border-radius:15px;
    background:rgba(255,255,255,.96);
    border:1px solid #e0e9f0;
    box-shadow:0 18px 35px rgba(18,59,112,.15);
}
.map-hero-floating-top { top:42px;left:-46px; }
.map-hero-floating-bottom { right:-35px;bottom:42px; }
.map-float-icon {
    width:36px;height:36px;display:grid;place-items:center;border-radius:11px;
    color:var(--primary);background:#eaf5ff;font-weight:900;
}
.map-float-icon.teal { color:#0f766e;background:#e6fffb; }
.map-hero-floating-card strong { display:block;color:var(--primary-dark);font:800 11px/1.35 var(--font-body); }
.map-hero-floating-card small { display:block;color:var(--muted);font-size:10px;margin-top:2px; }

.map-hero-trust-strip {
    position:relative;
    z-index:2;
    background:rgba(255,255,255,.72);
    border-top:1px solid rgba(18,59,112,.08);
}
.map-hero-trust-strip .container {
    min-height:88px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.map-trust-item { text-align:center;flex:1; }
.map-trust-item strong { display:block;color:var(--primary);font:800 25px/1.15 var(--font-heading); }
.map-trust-item span { display:block;color:var(--muted);margin-top:5px;font-size:11px;font-weight:600; }
.map-trust-divider { width:1px;height:35px;background:#dce6ee; }

.map-section { padding:94px 0; }
.map-enquiry-section { background:#fff; }
.map-enquiry-grid { display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center; }
.map-enquiry-copy h2,
.map-section-heading h2,
.map-why-copy h2,
.map-faq-intro h2 {
    margin:13px 0 17px;
    color:var(--primary-dark);
    font:800 clamp(32px,3.6vw,46px)/1.1 var(--font-heading);
    letter-spacing:-.04em;
}
.map-enquiry-copy > p { max-width:520px;font-size:16px;line-height:1.75; }
.map-enquiry-points { margin-top:28px;display:grid;gap:11px; }
.map-enquiry-points > div {
    display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--border);
    border-radius:13px;background:#fbfdff;
}
.map-enquiry-points span {
    width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:var(--light-blue);
    color:var(--primary);font:800 10px/1 var(--font-body);
}
.map-enquiry-points strong { color:var(--primary-dark);font-size:12px; }

.map-lead-card {
    padding:30px;
    border-radius:26px;
    background:#fff;
    border:1px solid #dce7ef;
    box-shadow:0 25px 60px rgba(18,59,112,.11);
}
.map-card-top { display:flex;align-items:center;justify-content:space-between;gap:10px; }
.map-mini-badge {
    padding:6px 8px;border-radius:7px;background:#e8f8ed;color:#15803d;font:800 9px/1 var(--font-body);letter-spacing:.08em;
}
.map-card-shield { width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eaf5ff;color:var(--primary);font-weight:900; }
.map-lead-card h3 { margin:18px 0 8px;color:var(--primary-dark);font:800 23px/1.2 var(--font-heading); }
.map-lead-card > p { font-size:13px; }
.map-home-form { margin-top:21px; }
.map-form-row { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px; }
.map-form-field { display:grid;gap:6px; }
.map-form-field label { color:#334155;font-size:11px;font-weight:800; }
.map-form-field input,.map-form-field select {
    height:45px;border-radius:10px;border-color:#dce5ec;padding:10px 12px;font-size:12px;
}
.map-submit-btn { width:100%;border:0;margin-top:3px; }

.map-services-section { background:#f8fbff; }
.map-section-heading { display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:39px; }
.map-section-heading > div { max-width:690px; }
.map-section-heading > p { max-width:410px;margin:0;color:var(--muted);font-size:14px;line-height:1.7; }
.map-section-heading.centered { display:block;max-width:740px;margin:0 auto 43px;text-align:center; }
.map-section-heading.centered > p { max-width:650px;margin:0 auto; }
.map-service-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:17px; }
.map-service-card {
    position:relative;min-height:265px;padding:25px;border-radius:20px;border:1px solid var(--border);
    background:#fff;box-shadow:0 7px 24px rgba(18,59,112,.045);transition:.25s var(--ease-standard);overflow:hidden;
}
.map-service-card::after {
    content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-65px;bottom:-65px;background:#eaf5ff;transition:.25s ease;
}
.map-service-card:hover { transform:translateY(-6px);box-shadow:0 20px 45px rgba(18,59,112,.10);border-color:#cfe1ec; }
.map-service-card:hover::after { transform:scale(1.4); }
.map-service-number { color:#a0afbd;font:800 10px/1 var(--font-body); }
.map-service-icon {
    width:46px;height:46px;margin:18px 0 18px;display:grid;place-items:center;border-radius:13px;
    color:var(--primary);background:var(--light-blue);font:700 23px/1 var(--font-body);
}
.map-service-card h3 { margin-bottom:9px;color:var(--primary-dark);font:800 18px/1.25 var(--font-heading); }
.map-service-card p { margin-bottom:18px;font-size:12px;line-height:1.65; }
.map-service-card a { position:relative;z-index:2;color:var(--primary);font-size:11px;font-weight:800; }
.map-service-card a span { margin-left:5px; }

.map-admission-section { background:#fff; }
.map-admission-grid { display:grid;grid-template-columns:repeat(6,1fr);gap:14px; }
.map-admission-card {
    position:relative;min-height:225px;padding:22px;border:1px solid var(--border);border-radius:19px;background:#fafdff;
    transition:.25s var(--ease-standard);grid-column:span 2;overflow:hidden;
}
.map-admission-card:nth-child(4),.map-admission-card:nth-child(5) { grid-column:span 3; }
.map-admission-card:hover { transform:translateY(-5px);background:#fff;box-shadow:var(--shadow-sm);border-color:#cfe1ec; }
.map-admission-index { color:#9aa9b8;font:800 10px/1 var(--font-body); }
.map-admission-tag { display:block;margin:22px 0 11px;color:var(--secondary);font:800 9px/1 var(--font-body);text-transform:uppercase;letter-spacing:.1em; }
.map-admission-card h3 { max-width:280px;margin-bottom:8px;font:800 20px/1.2 var(--font-heading); }
.map-admission-card p { max-width:300px;font-size:12px;line-height:1.65; }
.map-arrow { position:absolute;right:21px;bottom:20px;color:var(--primary);font-size:19px; }

.map-scope-section { background:#f5f9fd; }
.map-scope-grid { display:grid;grid-template-columns:1fr 1.6fr;gap:16px;max-width:900px;margin:0 auto; }
.map-scope-card { padding:25px;border-radius:21px;background:#fff;border:1px solid var(--border); }
.map-scope-card.live { box-shadow:inset 0 3px 0 #16a34a; }
.map-scope-card.soon { box-shadow:inset 0 3px 0 #f59e0b; }
.map-scope-header { display:flex;align-items:center;gap:9px;margin-bottom:20px; }
.map-scope-header strong { color:var(--primary-dark);font-size:11px;letter-spacing:.08em; }
.map-status-dot { width:8px;height:8px;border-radius:50%;background:var(--success); }
.soon .map-status-dot { background:var(--warning); }
.map-scope-list { display:flex;flex-wrap:wrap;gap:8px; }
.map-scope-list span { padding:9px 11px;border-radius:9px;background:#f4f8fb;color:#405269;font-size:11px;font-weight:700; }

.map-why-section { background:#fff; }
.map-why-grid { display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:center; }
.map-why-image { position:relative;max-width:490px;margin:auto; }
.map-why-image::before {
    content:"";position:absolute;inset:-15px 35px 25px -15px;border-radius:31px;background:#eaf5ff;transform:rotate(-3deg);
}
.map-why-image-inner {
    position:relative;height:500px;border-radius:29px;display:grid;place-items:center;overflow:hidden;
    background:linear-gradient(145deg,#082b52,#123b70 58%,#0ea5a8);
    box-shadow:0 28px 60px rgba(18,59,112,.19);
}
.map-why-image-inner span { color:rgba(255,255,255,.85);font:800 20px/1.2 var(--font-heading);letter-spacing:.1em;text-align:center; }
.map-why-stat {
    position:absolute;right:-20px;bottom:22px;padding:17px 20px;border-radius:15px;background:#fff;box-shadow:0 18px 35px rgba(18,59,112,.16);
}
.map-why-stat strong { display:block;color:var(--primary);font:800 28px/1 var(--font-heading); }
.map-why-stat span { display:block;color:var(--muted);font-size:10px;margin-top:5px; }
.map-why-copy > p { max-width:600px;font-size:15px;line-height:1.75; }
.map-check-list { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:25px; }
.map-check-list > div { display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--border);border-radius:12px; }
.map-check-list > div > span {
    width:23px;height:23px;flex:0 0 23px;display:grid;place-items:center;border-radius:50%;background:#e8f8ed;color:var(--success);font-size:11px;font-weight:900;
}
.map-check-list p { margin:0;font-size:11px;line-height:1.6; }
.map-check-list strong { color:var(--primary-dark); }

.map-process-section { background:#f8fbff; }
.map-process-track { max-width:950px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:14px;position:relative; }
.map-process-step { display:flex;gap:15px;padding:19px;border:1px solid var(--border);border-radius:16px;background:#fff;transition:.25s ease; }
.map-process-step:hover { transform:translateY(-3px);box-shadow:var(--shadow-sm); }
.map-process-step > span { width:39px;height:39px;flex:0 0 39px;display:grid;place-items:center;border-radius:11px;background:var(--primary);color:#fff;font:800 10px/1 var(--font-body); }
.map-process-step h3 { margin:2px 0 6px;font:800 14px/1.3 var(--font-heading); }
.map-process-step p { margin:0;font-size:11px;line-height:1.55; }

.map-states-section { background:#fff; }
.map-text-link { color:var(--primary);font-size:12px;font-weight:800;white-space:nowrap; }
.map-state-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:11px; }
.map-state-card {
    display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--border);border-radius:14px;background:#fff;
    transition:.22s ease;
}
.map-state-card:hover { transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:#cfe1ec; }
.map-state-icon { width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--light-blue);color:var(--primary);font:800 10px/1 var(--font-body); }
.map-state-card strong { display:block;color:var(--primary-dark);font:800 12px/1.3 var(--font-heading); }
.map-state-card small { display:block;margin-top:3px;color:var(--muted);font-size:9px; }
.map-state-card > span:last-child { margin-left:auto;color:var(--primary);font-size:15px; }
.map-open-closed-callout {
    margin-top:25px;padding:25px 28px;display:flex;align-items:center;justify-content:space-between;gap:30px;
    border-radius:20px;background:linear-gradient(135deg,#eef8ff,#f2fffd);border:1px solid #d7e9ee;
}
.map-open-closed-callout h3 { margin:8px 0 6px;font:800 20px/1.25 var(--font-heading); }
.map-open-closed-callout p { margin:0;max-width:570px;font-size:11px; }

.map-college-section { background:#f7fbff; }
.map-college-placeholder-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
.map-college-placeholder {
    min-height:155px;padding:22px;display:flex;align-items:center;gap:14px;border:1px dashed #cbdbe7;border-radius:18px;background:#fff;
}
.map-placeholder-icon { width:45px;height:45px;display:grid;place-items:center;border-radius:13px;background:#edf5fa;color:#7b8da0;font:800 11px/1 var(--font-body); }
.map-college-placeholder strong { display:block;color:#5c6c7d;font:800 13px/1.3 var(--font-heading); }
.map-college-placeholder small { display:block;margin-top:5px;color:#94a3b8;font-size:10px;line-height:1.4; }
.map-centered-action { display:flex;justify-content:center;margin-top:25px; }

.map-testimonial-section { background:#fff; }
.map-testimonial-placeholder {
    max-width:780px;margin:0 auto;padding:44px 35px;text-align:center;border-radius:24px;background:#f8fbff;border:1px dashed #cbdbe7;
}
.map-quote-mark { color:var(--secondary);font:800 54px/1 Georgia,serif; }
.map-testimonial-placeholder h3 { margin:5px 0 8px;font:800 22px/1.2 var(--font-heading); }
.map-testimonial-placeholder p { max-width:580px;margin:0 auto 15px;font-size:13px; }
.map-testimonial-placeholder > span { color:#94a3b8;font:800 9px/1 var(--font-body);letter-spacing:.1em; }

.map-faq-section { background:#f7fbff; }
.map-faq-grid { display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:start; }
.map-faq-intro > p { font-size:14px; }
.map-faq-intro .map-text-link { display:inline-block;margin-top:15px; }
.map-faq-list { display:grid;gap:9px; }
.map-faq-item { background:#fff;border:1px solid var(--border);border-radius:14px;padding:0 17px; }
.map-faq-item summary {
    display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;cursor:pointer;
    list-style:none;color:var(--primary-dark);font:800 13px/1.4 var(--font-heading);
}
.map-faq-item summary::-webkit-details-marker { display:none; }
.map-faq-item summary span { color:var(--secondary);font-size:20px;font-weight:400;transition:transform .2s ease; }
.map-faq-item[open] summary span { transform:rotate(45deg); }
.map-faq-item p { margin:0 0 17px;font-size:12px;line-height:1.7; }

.map-home-final-cta {
    position:relative;overflow:hidden;padding:95px 0;text-align:center;color:#fff;
    background:
        radial-gradient(circle at 20% 30%,rgba(32,184,196,.18),transparent 24%),
        radial-gradient(circle at 80% 70%,rgba(255,255,255,.08),transparent 24%),
        linear-gradient(135deg,#061e3a,#123b70);
}
.map-home-final-cta .container { position:relative;z-index:1; }
.map-home-final-cta .map-section-label { color:#7ce2df; }
.map-home-final-cta h2 { max-width:780px;margin:15px auto 12px;color:#fff;font:800 clamp(34px,4.5vw,54px)/1.08 var(--font-heading);letter-spacing:-.04em; }
.map-home-final-cta p { color:rgba(255,255,255,.72);font-size:14px; }
.map-home-final-cta .map-home-hero-actions { justify-content:center;margin-top:25px; }

@media (max-width: 1000px) {
    .map-home-hero-grid { grid-template-columns:1fr;gap:35px; }
    .map-home-hero-copy { text-align:center; }
    .map-home-hero-text { margin-left:auto;margin-right:auto; }
    .map-home-hero-actions,.map-hero-proof { justify-content:center; }
    .map-home-hero-visual { min-height:470px; }
    .map-hero-floating-top { left:0; }
    .map-hero-floating-bottom { right:0; }
    .map-service-grid { grid-template-columns:1fr 1fr; }
    .map-why-grid { grid-template-columns:1fr; }
    .map-why-visual { order:2; }
    .map-faq-grid { grid-template-columns:1fr;gap:35px; }
}

@media (max-width: 760px) {
    .map-section { padding:70px 0; }
    .map-hero-trust-strip .container { display:grid;grid-template-columns:1fr 1fr;padding:18px 0;gap:15px; }
    .map-trust-divider { display:none; }
    .map-enquiry-grid { grid-template-columns:1fr;gap:35px; }
    .map-form-row { grid-template-columns:1fr; }
    .map-section-heading { display:block; }
    .map-section-heading > p { margin-top:15px; }
    .map-service-grid,.map-state-grid,.map-college-placeholder-grid { grid-template-columns:1fr; }
    .map-admission-grid { grid-template-columns:1fr; }
    .map-admission-card,.map-admission-card:nth-child(4),.map-admission-card:nth-child(5) { grid-column:auto; }
    .map-scope-grid { grid-template-columns:1fr; }
    .map-check-list { grid-template-columns:1fr; }
    .map-process-track { grid-template-columns:1fr; }
    .map-open-closed-callout { flex-direction:column;align-items:flex-start; }
    .map-home-hero h1 { font-size:42px; }
}

@media (max-width: 520px) {
    .map-home-hero { padding-top:55px; }
    .map-home-hero-actions { flex-direction:column; }
    .map-home-btn { width:100%; }
    .map-home-hero-visual { min-height:390px; }
    .map-demo-photo { height:380px; }
    .map-hero-image-card { padding:10px;border-radius:25px; }
    .map-hero-floating-card { min-width:175px;padding:10px; }
    .map-hero-floating-top { top:20px;left:-8px; }
    .map-hero-floating-bottom { right:-8px;bottom:20px; }
    .map-hero-floating-card strong { font-size:9px; }
    .map-hero-floating-card small { font-size:8px; }
    .map-lead-card { padding:21px; }
    .map-why-image-inner { height:380px; }
    .map-why-stat { right:-5px; }
}

.map-testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.map-testimonial-placeholder strong{display:block;color:var(--primary-dark);font:800 13px/1.3 var(--font-heading);margin-top:12px}.map-testimonial-placeholder span{display:block;margin-top:5px;color:#94a3b8;font:800 9px/1 var(--font-body);letter-spacing:.05em}.map-testimonial-placeholder p{line-height:1.7}@media(max-width:760px){.map-testimonial-grid{grid-template-columns:1fr}}

/* Hero course pill row */
.map-hero-course-pills { display:flex; flex-wrap:wrap; gap:9px; margin:6px 0 26px; }
.map-hero-course-pills span { display:inline-flex; align-items:center; padding:7px 14px; border-radius:999px; background:#fff; border:1px solid #d9eaf7; color:var(--primary); font:800 12px/1 var(--font-heading); }
.map-hero-course-pills span.highlight { background:linear-gradient(135deg,var(--primary),var(--secondary)); color:#fff; border-color:transparent; box-shadow:0 8px 18px rgba(18,59,112,.18); }
.map-hero-subheading { font:800 17px/1.4 var(--font-heading); color:var(--primary-dark); margin:2px 0 12px; }

/* Top Medical Courses box */
.map-medical-box { background:#fff; border:1px solid var(--border); border-radius:26px; padding:38px; box-shadow:0 18px 45px rgba(18,59,112,.06); }
.map-quota-pills { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0 30px; justify-content:center; }
.map-quota-pills span { padding:8px 16px; border-radius:999px; background:var(--light-blue); color:var(--primary); font:800 11px/1 var(--font-heading); text-transform:uppercase; letter-spacing:.04em; }
.map-medical-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.map-medical-card { background:var(--background); border:1px solid var(--border); border-radius:20px; padding:26px; }
.map-medical-card h3 { margin-bottom:14px; font:800 19px/1.25 var(--font-heading); color:var(--primary-dark); }
.map-medical-card-list { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.map-medical-card-list span { padding:6px 12px; border-radius:999px; background:#fff; border:1px solid var(--border); color:#3b475a; font-size:11.5px; font-weight:700; }
.map-medical-card .map-home-btn { width:100%; justify-content:center; }
@media (max-width:760px) {
    .map-medical-grid { grid-template-columns:1fr; }
    .map-medical-box { padding:24px; }
}

/* Explore-all-courses photo strip */
.map-course-photo-strip { display:grid; grid-template-columns:1fr 1fr; gap:16px; max-width:900px; margin:0 auto 34px; }
.map-course-photo-strip figure { position:relative; margin:0; border-radius:20px; overflow:hidden; height:220px; box-shadow:0 18px 40px rgba(18,59,112,.10); }
.map-course-photo-strip img { width:100%; height:100%; object-fit:cover; display:block; }
.map-course-photo-strip figcaption { position:absolute; left:0; right:0; bottom:0; padding:14px 18px; background:linear-gradient(180deg,transparent,rgba(8,43,82,.82)); color:#fff; font:800 13px/1.2 var(--font-heading); letter-spacing:.02em; }
@media (max-width:640px) {
    .map-course-photo-strip { grid-template-columns:1fr; }
}
