@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');

:root {
    --purple: #5b1a68;
    --purple-deep: #35103e;
    --purple-soft: #f2eaf4;
    --gold: #d9a62e;
    --ink: #1c1720;
    --muted: #6e6670;
    --paper: #fbf9f7;
    --white: #fff;
    --line: #e7e0e7;
    --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: "DM Sans", Arial, sans-serif;
    line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(251,249,247,.96);
    border-bottom: 1px solid rgba(91,26,104,.08);
    box-shadow: 0 10px 24px rgba(53,16,62,.04);
    backdrop-filter: blur(12px);
}
.navigation-shell {
    padding-top: 0;
}
.nav-row {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 84px;
    position: relative;
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 14px 0;
}
.brand {
    display:flex;
    align-items:center;
    gap:12px;
    min-width: 0;
    flex-shrink: 0;
}
.brand img { width:46px; height:46px; border-radius:50%; }
.brand span { display:grid; line-height:1.05; }
.brand strong { color:var(--purple); letter-spacing:.08em; font-size:16px; }
.brand small { font-size:8px; color:var(--gold); letter-spacing:.12em; font-weight:700; margin-top:4px; }

.main-nav {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px 20px;
    flex: 1;
    flex-wrap:wrap;
    font-size:15px;
    font-weight:600;
    min-width: 0;
}
.main-nav a {
    padding: 8px 4px;
    border-radius: 10px;
    transition: color .2s ease, background-color .2s ease;
}
.main-nav a:not(.nav-cta) { color:#514951; }
.main-nav a:hover { color:var(--purple); background: rgba(91,26,104,.04); }
.nav-actions {
    display:flex;
    align-items:center;
    justify-self:end;
    gap:12px;
    flex-wrap:nowrap;
    margin-left: auto;
}
.nav-auth-group {
    display:flex;
    align-items:center;
    gap:8px;
    padding:6px;
    border-radius:999px;
    background:rgba(91,26,104,.04);
    border:1px solid rgba(91,26,104,.08);
}
.nav-auth-link {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:82px;
    padding:11px 16px;
    border-radius:999px;
    font-size:13px;
    font-weight:700;
    color:var(--purple);
    background:transparent;
    transition:.2s ease;
}
.nav-auth-link:hover { background:rgba(91,26,104,.06); }
.nav-auth-link-primary {
    background:var(--purple);
    color:#fff;
    box-shadow:0 10px 22px rgba(91,26,104,.18);
}
.nav-auth-link-primary:hover { background:var(--purple-deep); }
.nav-cta {
    background:var(--purple); color:white; padding:16px 22px; border-radius:999px;
    min-width: 190px; text-align: center; font-size: 14px; font-weight: 700;
    justify-self: end;
    white-space: nowrap;
    box-shadow:0 12px 26px rgba(91,26,104,.15);
    transition: transform .2s ease, box-shadow .2s ease;
}
.nav-cta:hover { transform:translateY(-1px); box-shadow:0 16px 30px rgba(91,26,104,.18); }
.menu-button { display:none; border:0; background:none; padding:8px; }
.menu-button span { display:block; width:23px; height:2px; background:var(--ink); margin:5px; }

.hero { padding:76px 0 90px; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:center; }
.eyebrow { display:flex; align-items:center; gap:9px; color:var(--purple); font-size:11px; font-weight:700; letter-spacing:.16em; }
.eyebrow span { width:22px; height:1px; background:var(--gold); display:inline-block; }
.eyebrow.light { color:#d9cbdc; }
.hero h1, .inner-hero h1, h2 {
    font-family:"Playfair Display", Georgia, serif;
    line-height:1.05;
    letter-spacing:-.03em;
}
.hero h1 { font-size:clamp(48px, 7vw, 82px); margin:22px 0 22px; }
.hero h1 em, h2 em { color:var(--purple); font-weight:600; }
.hero-text { max-width:600px; font-size:18px; color:var(--muted); }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin:32px 0 42px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:12px; border:none; border-radius:999px; padding:14px 24px; font-weight:700; font-size:14px; font-family:inherit; cursor:pointer; text-decoration:none; transition:all .2s ease; outline:none; }
.button-primary { background:var(--purple); color:white; box-shadow:0 10px 22px rgba(91,26,104,.18); }
.button-primary:hover { transform:translateY(-2px); background:var(--purple-deep); box-shadow:0 14px 28px rgba(91,26,104,.25); }
.button-ghost { border:1px solid var(--line); background:white; }
.button-light { background:white; color:var(--purple); }
.hero-trust { display:flex; gap:30px; }
.hero-trust div { display:grid; gap:1px; }
.hero-trust strong { font-size:10px; color:var(--gold); }
.hero-trust span { font-size:12px; color:var(--muted); }

.hero-slider {
    position: relative;
    min-height:420px;
    border-radius:32px;
    overflow:hidden;
    box-shadow:0 25px 70px rgba(53,16,62,.18);
}
.hero-slide {
    position:absolute;
    inset:0;
    display:flex;
    align-items:flex-end;
    color:white; text-decoration:none;
    opacity:0;
    visibility:hidden;
    transform:scale(1.02);
    transition: opacity .65s ease, transform .65s ease, visibility .65s ease;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}
.hero-slide.slide-commerce {
    background-image:linear-gradient(135deg, rgba(67,15,74,0.72), rgba(91,26,104,0.72)), url('../images/banners/1.png');
}
.hero-slide.slide-board {
    background-image:linear-gradient(135deg, rgba(44,20,48,0.72), rgba(95,52,97,0.72)), url('../images/banners/2.png');
}
.hero-slide.slide-mentor {
    background-image:linear-gradient(135deg, rgba(39,18,61,0.72), rgba(123,71,125,0.72)), url('../images/banners/3.png');
}
.hero-slide.is-active {
    opacity:1;
    visibility:visible;
    transform:scale(1);
}
.hero-slide:before {
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at top left, rgba(255,255,255,.15), transparent 38%),
        radial-gradient(circle at bottom right, rgba(229,191,101,.18), transparent 30%),
        linear-gradient(120deg, rgba(255,255,255,.06), rgba(255,255,255,0));
}
.hero-slide-overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(18,8,22,0.08), rgba(18,8,22,0.34));
}
.hero-slide-content {
    position:relative;
    z-index:1;
    width:100%;
    padding:42px;
}
.field-label { font-size:10px; letter-spacing:.18em; color:#d9cbdc; font-weight:700; }
.guide-line { width:40px; height:2px; background:var(--gold); margin:18px 0 25px; }
.guide-title { font:600 39px/1.05 "Playfair Display",serif; margin-bottom:30px; }
.guide-row { display:flex; justify-content:space-between; gap:20px; padding:14px 0; border-top:1px solid rgba(255,255,255,.15); }
.guide-row span { color:#cbbbcf; font-size:10px; letter-spacing:.13em; }
.guide-row strong { font-size:12px; }
.guide-button { display:flex; justify-content:space-between; margin-top:18px; padding:15px 0; color:white; font-weight:700; border-bottom:1px solid var(--gold); }

@keyframes heroPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.02); }
}
.hero-slide.is-active {
    animation: heroPulse 8s ease-in-out infinite;
}

.logout-form { display:inline-flex; }
.logout-button {
    border: 1px solid rgba(91, 26, 104, 0.18);
    background: rgba(91, 26, 104, 0.04);
    color: var(--purple);
    border-radius: 999px;
    padding: 9px 14px;
    font: 700 12px/1 'DM Sans', sans-serif;
    cursor: pointer;
}
.auth-page {
    min-height: calc(100vh - 84px);
    display:flex;
    align-items:center;
    padding: 70px 0 90px;
    background: linear-gradient(180deg, #f8f3fb 0%, #fff 100%);
}
.auth-shell {
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
}
.auth-card {
    width:min(560px, 100%);
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(91,26,104,.08);
    border-radius: 28px;
    box-shadow: 0 28px 58px rgba(53,16,62,.08);
    padding: 36px 32px 28px;
    margin: 0 auto;
}
.auth-intro {
    margin-bottom: 28px;
}
.auth-intro h1 {
    font-family:"Playfair Display", Georgia, serif;
    font-size: clamp(36px, 5vw, 52px);
    line-height:1.08;
    margin: 16px 0 10px;
    letter-spacing:-.04em;
}
.auth-intro p {
    margin: 0;
    color: var(--muted);
}
.auth-switch {
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    background: rgba(91,26,104,.04);
    border: 1px solid rgba(91,26,104,.08);
    border-radius: 16px;
    padding: 6px;
    margin-bottom: 22px;
}
.auth-tab {
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--muted);
    font: 700 14px/1 'DM Sans', sans-serif;
    padding: 12px 16px;
    cursor: pointer;
    transition: all .2s ease;
}
.auth-tab.is-active {
    background: var(--purple);
    color: #fff;
    box-shadow: 0 12px 24px rgba(91,26,104,.18);
}
.auth-panel {
    display: none;
}
.auth-panel.is-active {
    display: block;
}
.auth-form {
    display:grid;
    gap: 18px;
}
.field-group {
    display:grid;
    gap: 8px;
}
.field-group label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--purple);
}
.field-group input {
    width:100%;
    border: 1px solid rgba(91,26,104,.18);
    border-radius: 16px;
    padding: 14px 16px;
    font: 500 15px/1.5 'DM Sans', sans-serif;
    background: #fff;
    color: var(--ink);
    transition: border-color .2s ease, box-shadow .2s ease;
}
.field-group input:focus {
    outline:none;
    border-color: rgba(91,26,104,.7);
    box-shadow: 0 0 0 4px rgba(91,26,104,.08);
}
.form-row {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-top: 4px;
    color: var(--muted);
    font-size: 14px;
}
.checkbox-wrap {
    display:flex;
    align-items:center;
    gap:8px;
}
.checkbox-wrap input {
    accent-color: var(--purple);
}
.form-link {
    color: var(--purple);
    font-weight: 700;
}
.auth-submit {
    width:100%;
    margin-top: 8px;
    border: 0;
    border-radius: 999px;
    background: var(--purple);
    color: white;
    font: 700 15px/1 'DM Sans', sans-serif;
    padding: 16px 18px;
    cursor:pointer;
}
.auth-submit:hover {
    background: var(--purple-deep);
}
.auth-alert {
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(201, 37, 37, 0.08);
    border: 1px solid rgba(201,37,37,.16);
    color: #8a1d1d;
    font-size: 14px;
}
.auth-meta {
    margin-top: 20px;
    text-align: center;
    color: var(--muted);
    font-size: 14px;
}
.auth-meta a {
    color: var(--purple);
    font-weight:700;
}
.auth-toggle-link {
    cursor: pointer;
}
.section { padding:105px 0; }
.faculty-spotlight { background:linear-gradient(180deg, #f7f2f8 0%, #ffffff 100%); }
.faculty-spotlight-grid { display:grid; grid-template-columns: .9fr 1.1fr; gap:80px; align-items:center; }
.faculty-spotlight-image-wrap { position:relative; width:min(100%, 440px); }
.faculty-spotlight-image { width:100%; aspect-ratio:4/5; border-radius:30px; overflow:hidden; background:linear-gradient(135deg, #f6eef9, #ece0f1); border:1px solid rgba(91,26,104,.12); box-shadow:0 24px 60px rgba(31,20,35,.08); }
.faculty-spotlight-image img { width:100%; height:100%; object-fit:contain; object-position:center top; display:block; }
.faculty-spotlight-badge { position:absolute; right:-12px; bottom:24px; display:flex; flex-direction:column; background:var(--purple); color:white; padding:18px 20px; border-radius:18px; box-shadow:0 16px 36px rgba(56,22,60,.18); }
.faculty-spotlight-badge strong { font-size:34px; line-height:1; }
.faculty-spotlight-badge span { font-size:11px; letter-spacing:.12em; text-transform:uppercase; opacity:.85; margin-top:8px; }
.faculty-spotlight-copy h2 { font-size:clamp(36px, 4.5vw, 54px); margin:18px 0 18px; }
.faculty-spotlight-copy p { color:var(--muted); font-size:16px; max-width:620px; }
.faculty-points { list-style:none; padding:0; margin:28px 0 0; display:grid; grid-template-columns:1fr; gap:12px; }
.faculty-points li { position:relative; padding-left:28px; color:var(--ink); font-weight:600; }
.faculty-points li:before { content:"✓"; position:absolute; left:0; top:0; color:var(--purple); font-weight:800; }
.faculty-actions { margin-top:26px; }

.finder-section { background:white; }
.section-heading { display:flex; justify-content:space-between; gap:50px; margin-bottom:45px; }
.section-heading h2, .split-section h2, .location-inner h2, .faq-layout h2, .cta-inner h2 { font-size:clamp(38px, 5vw, 58px); margin:17px 0 0; }
.section-heading > p { max-width:390px; color:var(--muted); margin-top:28px; }

.finder-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.finder-card { background:var(--purple); color:white; border:1px solid var(--purple); border-radius:var(--radius); padding:28px; min-height:300px; position:relative; transition:.25s ease; text-decoration:none; }
.finder-card h3 { margin:0 0 8px; font-size:22px; color:white; }
.finder-card p { color:#f2e9f7; font-size:14px; margin:0; }
.finder-card .card-link { color:#f2e9f7; position:absolute; left:28px; bottom:25px; font-size:12px; font-weight:700; }
.finder-number { font-size:10px; color:var(--gold); font-weight:700; }
.finder-icon { display:block; font-size:30px; margin:35px 0 15px; color:var(--gold); }
.finder-card:hover, .finder-card:focus-visible { transform:translateY(-5px) !important; background:var(--purple-deep) !important; border-color:var(--gold) !important; box-shadow:0 18px 50px rgba(28,23,32,.1) !important; }
.finder-card:hover h3, .finder-card:focus-visible h3, .finder-card:hover .card-link, .finder-card:focus-visible .card-link { color:#e5bf65 !important; }
.finder-card:hover p, .finder-card:focus-visible p { color:#f2e9f7 !important; }

.dark-section { background:var(--purple-deep); color:white; }
.split-section { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; }
.split-section h2 em { color:#e5bf65; }
.approach-item { display:grid; grid-template-columns:40px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.13); }
.approach-item > span { color:var(--gold); font-size:11px; font-weight:700; }
.approach-item h3 { margin:0 0 4px; font-size:18px; }
.approach-item p { margin:0; color:#cbbbcf; font-size:14px; }

.feature-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:16px; }
.feature-card { border:1px solid var(--line); border-radius:var(--radius); padding:30px; min-height:240px; background:white; color:var(--ink); text-decoration:none; position:relative; transition:.25s ease; }
.feature-card:nth-child(odd) { background:var(--purple); color:white; }
.feature-card:nth-child(even) { background:#f7f3fa; }
.feature-card:nth-child(odd) p, .feature-card:nth-child(odd) .card-link, .feature-card:nth-child(odd) .text-link { color:#f2e9f7; }
.feature-card:hover, .feature-card:focus-visible { transform:translateY(-5px); border-color:var(--purple); box-shadow:0 18px 50px rgba(28,23,32,.1); }
.feature-card:hover h3, .feature-card:focus-visible h3, .feature-card:hover .card-link, .feature-card:focus-visible .card-link { color:var(--purple); }
.feature-card:nth-child(odd):hover, .feature-card:nth-child(odd):focus-visible { background:var(--purple-deep); border-color:var(--gold); }
.feature-card:nth-child(odd):hover h3, .feature-card:nth-child(odd):focus-visible h3, .feature-card:nth-child(odd):hover .card-link, .feature-card:nth-child(odd):focus-visible .card-link { color:#e5bf65; }
.feature-card.large { grid-row:span 2; min-height:496px; background:var(--purple-soft); color:var(--ink); }
.feature-card.large h3 { color:var(--purple); }
.feature-card.large p { color:var(--muted); }
.feature-card.large .card-link { color:var(--purple); }
.feature-card.large:hover, .feature-card.large:focus-visible { background:var(--purple-deep) !important; border-color:var(--gold) !important; }
.feature-card.large:hover h3, .feature-card.large:focus-visible h3, .feature-card.large:hover .card-link, .feature-card.large:focus-visible .card-link { color:#e5bf65 !important; }
.feature-card.large:hover p, .feature-card.large:focus-visible p { color:#f2e9f7 !important; }
.feature-tag { font-size:10px; font-weight:700; letter-spacing:.15em; color:var(--gold); }
.feature-card h3 { font:600 30px/1.15 "Playfair Display",serif; max-width:480px; }
.feature-card:not(.large) h3 { font-size:24px; }
.feature-card p { color:var(--muted); font-size:14px; }
.feature-card .card-link, .text-link { color:var(--purple); font-weight:700; font-size:13px; }

.location-strip { background:#f0e6f1; padding:70px 0; }
.location-inner { display:flex; justify-content:space-between; align-items:center; gap:30px; }

.faq-preview { background:white; }
.faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; }
.faq-list details { border-top:1px solid var(--line); padding:20px 0; }
.faq-list summary { cursor:pointer; list-style:none; font-weight:700; display:flex; justify-content:space-between; gap:20px; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:var(--gold); }
.faq-list p { color:var(--muted); font-size:14px; max-width:700px; }

.cta-section { background:var(--purple); color:white; padding:80px 0; }
.cta-inner { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.cta-inner h2 em { color:#e5bf65; }

.inner-hero { position:relative; background-color:var(--purple-deep); background-size:cover; background-position:center; background-repeat:no-repeat; color:white; padding:90px 0; }
.inner-hero h1 { font-size:clamp(48px,7vw,76px); margin:20px 0 15px; }
.inner-hero p { max-width:680px; color:#d9cbdc; font-size:17px; }
.about-intro { padding-bottom:75px; }
.why-intro { padding-bottom:105px; }
.why-intro .section-heading { margin-bottom:45px; }
.why-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.why-card { border:1px solid var(--line); border-radius:var(--radius); padding:30px; min-height:270px; background:white; color:var(--ink); text-decoration:none; position:relative; transition:.25s ease; }
.why-card:hover, .why-card:focus-visible, .about-pillar:hover, .about-pillar:focus-visible { transform:translateY(-5px); border-color:var(--purple); box-shadow:0 18px 50px rgba(28,23,32,.1); }
.why-card:hover h3, .why-card:focus-visible h3, .about-pillar:hover h2, .about-pillar:focus-visible h2 { color:var(--purple); }
.why-card-featured:hover, .why-card-featured:focus-visible, .about-pillar-dark:hover, .about-pillar-dark:focus-visible, .why-card:nth-child(odd):hover, .why-card:nth-child(odd):focus-visible, .about-pillar:nth-child(odd):hover, .about-pillar:nth-child(odd):focus-visible { background:var(--purple-deep); border-color:var(--gold); }
.why-card-featured:hover h3, .why-card-featured:focus-visible h3, .about-pillar-dark:hover h2, .about-pillar-dark:focus-visible h2, .why-card:nth-child(odd):hover h3, .why-card:nth-child(odd):focus-visible h3, .about-pillar:nth-child(odd):hover h2, .about-pillar:nth-child(odd):focus-visible h2 { color:#e5bf65; }
.why-card-featured { background:var(--purple); color:white; border-color:var(--purple); }
.why-card:nth-child(odd) { background:var(--purple); color:white; }
.why-card:nth-child(even) { background:#f7f3fa; }
.why-card:nth-child(odd) h3, .why-card:nth-child(odd) p, .why-card:nth-child(odd) small, .why-card:nth-child(odd) .feature-tag { color:white; }
.why-card:nth-child(odd).why-card-featured, .why-card:nth-child(odd).why-card-featured h3, .why-card:nth-child(odd).why-card-featured p { background:var(--purple); color:white; }
.why-card-price { background:var(--purple-soft); }
.why-card h3 { font:600 27px/1.15 "Playfair Display",serif; margin:22px 0 12px; max-width:430px; }
.why-card p { color:var(--muted); font-size:14px; margin:0; max-width:480px; }
.why-card-featured p { color:#d9cbdc; }
.why-price { display:inline-flex; align-items:baseline; gap:6px; color:var(--purple); font:700 34px/1.1 "DM Sans",sans-serif; margin:22px 0 10px; }
.rupee-symbol { font-family:"Segoe UI Symbol","Nirmala UI Symbol","Arial Unicode MS","DejaVu Sans",sans-serif; font-size:.85em; font-weight:600; line-height:1; display:inline-block; transform:translateY(-1px); }
.why-price small { color:var(--muted); font:500 14px "DM Sans",sans-serif; }
.admission-section { background:white; }
.admission-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:90px; align-items:center; }
.admission-grid h2 { font-size:clamp(38px,5vw,58px); margin:18px 0; }
.admission-lead { color:var(--muted); max-width:600px; font-size:16px; }
.admission-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
.admission-card { background:var(--purple-soft); border-radius:var(--radius); padding:38px; border:1px solid #e2d3e5; }
.admission-price { display:flex; align-items:baseline; gap:8px; margin:28px 0 8px; color:var(--purple); }
.admission-price strong { font:700 38px/1.1 "DM Sans",sans-serif; }
.admission-price span { color:var(--muted); font-size:14px; }
.admission-plan { font-weight:700; padding-bottom:22px; border-bottom:1px solid #dcc9df; }
.admission-price.annual { margin:22px 0 5px; }
.admission-price.annual strong { font-size:28px; }
.admission-card p { color:var(--muted); margin:22px 0 0; font-size:14px; }
.admission-steps { background:var(--paper); }
.admission-step-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; }
.admission-step-grid > div { border-top:1px solid var(--line); padding-top:18px; }
.admission-step-grid strong { color:var(--gold); font-size:11px; }
.admission-step-grid h3 { font-size:20px; margin:18px 0 6px; }
.admission-step-grid p { color:var(--muted); font-size:14px; margin:0; }
.about-lead { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:end; }
.about-lead h2, .founder-grid h2, .about-reach h2 { font-size:clamp(38px,5vw,58px); margin:18px 0 0; }
.about-lead > p, .about-copy p { color:var(--muted); font-size:16px; margin:0; }
.about-pillars { padding:0 0 105px; }
.about-pillars-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.about-pillar { background:var(--purple-soft); border-radius:var(--radius); padding:42px; min-height:390px; color:var(--ink); text-decoration:none; position:relative; transition:.25s ease; }
.about-pillar:nth-child(odd) { background:var(--purple); color:white; }
.about-pillar:nth-child(even) { background:#f7f3fa; }
.about-pillar:nth-child(odd) p, .about-pillar:nth-child(odd) .card-link { color:#f2e9f7; }
.about-pillar-dark { background:var(--purple); color:white; }
.about-pillar h2 { font-size:38px; max-width:390px; margin:35px 0 20px; }
.about-pillar p { color:var(--muted); font-size:15px; max-width:470px; }
.about-pillar-dark p { color:#d9cbdc; }
.founder-section { background:white; }
.founder-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:100px; align-items:center; }
.founder-grid p { color:var(--muted); max-width:650px; }
.faculty-photo-wrap { position:relative; width:min(100%, 430px); }
.faculty-photo-frame { width:100%; max-width:430px; aspect-ratio:4/5; border-radius:28px; overflow:hidden; border:1px solid rgba(91,26,104,.12); background:linear-gradient(135deg, #f7f2fa, #e9e0ef); box-shadow:0 24px 60px rgba(31,20,35,.08); }
.faculty-photo-frame img { width:100%; height:100%; object-fit:contain; object-position:center top; display:block; background:#f3f3f3; }
.student-stat-badge { position:absolute; right:-12px; bottom:24px; display:flex; flex-direction:column; align-items:flex-start; background:var(--purple); color:white; padding:16px 18px; border-radius:18px; box-shadow:0 16px 40px rgba(67,32,78,.2); }
.student-stat-number { font:800 34px/1 "DM Sans",sans-serif; letter-spacing:-.04em; }
.student-stat-label { font-size:11px; letter-spacing:.12em; text-transform:uppercase; opacity:.9; }
.founder-mark { width:230px; height:270px; display:grid; place-content:center; text-align:center; border:1px solid var(--gold); color:var(--purple); font:700 48px/.82 "Playfair Display",serif; letter-spacing:.06em; transform:rotate(-4deg); }
.founder-mark span { color:var(--gold); font-size:68px; }
.about-reach-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.about-copy { padding-top:12px; }
.highlight-stat { background:linear-gradient(135deg, rgba(127,82,163,.08), rgba(229,191,101,.1)); border:1px solid rgba(127,82,163,.15); border-radius:18px; padding:18px 20px; }
.highlight-stat strong { color:var(--purple); font-size:1.1em; }
.about-promise { padding:95px 0 105px; }
.promise-heading { display:flex; justify-content:space-between; align-items:end; gap:60px; margin:25px 0 55px; }
.promise-heading h2 { font-size:clamp(38px,5vw,58px); max-width:540px; margin:0; }
.promise-heading p { color:#d9cbdc; max-width:350px; margin:0; }
.promise-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.promise-item { background:#f8f3fa; border:1px solid rgba(91,26,104,.08); border-radius:22px; padding:28px 24px; min-height:220px; }
.promise-item:nth-child(odd) { background:var(--purple); color:white; }
.promise-item:nth-child(even) { background:#f8f3fa; }
.promise-item:nth-child(odd) p { color:#e8dff0; }
.promise-item:nth-child(odd) span { color:#e5bf65; }
.promise-item span { display:inline-block; font-size:12px; font-weight:800; letter-spacing:.12em; color:var(--purple); margin-bottom:18px; }
.promise-item h3 { font-size:24px; margin:0 0 12px; }
.promise-item p { color:var(--muted); font-size:15px; line-height:1.7; margin:0; }
.placeholder-section { min-height:500px; }
.narrow { width:min(800px, calc(100% - 40px)); }
.placeholder-box { border:1px dashed #cbbbcf; border-radius:var(--radius); padding:45px; background:white; }
.placeholder-box > span { color:var(--gold); font-size:10px; font-weight:700; letter-spacing:.15em; }
.placeholder-box h2 { font-size:38px; margin:16px 0; }
.placeholder-box p { color:var(--muted); }

.course-catalogue { background:#f6f1f8; }
.course-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:26px; }
.course-card { display:block; text-decoration:none; color:inherit; cursor:pointer; background:#fff; border:1px solid #e6dfe7; border-radius:22px; overflow:hidden; box-shadow:0 8px 24px rgba(31,20,35,.04); transition:.25s ease; }
.course-card:hover { transform:translateY(-5px); box-shadow:0 18px 45px rgba(31,20,35,.1); }
.course-visual {
    position:relative; min-height:220px; height:220px; padding:0; background:linear-gradient(135deg, #f7f3fa, #efeaf2);
    border-bottom:1px solid rgba(91,26,104,.08); overflow:hidden;
}
.course-visual-img {
    width:100%; height:100%; object-fit:cover; object-position:center; display:block;
    transition:transform .4s ease;
}
.course-card:hover .course-visual-img { transform:scale(1.06); }
.mini-brand { position:absolute; left:16px; top:16px; font-size:10px; font-weight:800; letter-spacing:.12em; color:var(--purple); z-index:2; background:rgba(255,255,255,.85); padding:4px 8px; border-radius:999px; backdrop-filter:blur(4px); }
.visual-badge { position:absolute; right:16px; top:16px; background:rgba(255,255,255,.9); color:var(--ink); padding:5px 12px; border-radius:999px; font-size:10px; font-weight:700; z-index:2; backdrop-filter:blur(6px); box-shadow:0 4px 12px rgba(0,0,0,.12); }
.course-stack { position:absolute; left:20px; right:20px; bottom:26px; display:flex; align-items:flex-end; justify-content:center; gap:10px; }
.book { display:flex; align-items:center; justify-content:center; width:44px; height:90px; border-radius:10px 10px 6px 6px; font-weight:800; color:#fff; box-shadow:0 10px 22px rgba(49,18,52,.15); }
.book-a { background:linear-gradient(180deg, #7c1aa8, #4f1b6c); }
.book-b { background:linear-gradient(180deg, #ffb000, #d99900); }
.book-c { background:linear-gradient(180deg, #1b9dff, #1366c8); }
.course-label { position:absolute; left:16px; bottom:16px; font-size:10px; letter-spacing:.12em; font-weight:700; color:#fff; background:rgba(91,26,104,.85); padding:4px 10px; border-radius:999px; z-index:2; backdrop-filter:blur(4px); }
.course-meta { padding:20px 18px 18px; }
.course-meta-top { display:flex; justify-content:space-between; align-items:center; }
.pill { display:inline-flex; align-items:center; padding:7px 10px; border-radius:999px; font-size:10px; font-weight:700; letter-spacing:.02em; }
.is-success { background:#dcfce7; color:#166534; }
.is-warning { background:#fef3c7; color:#92400e; }
.is-purple { background:#f3e8ff; color:#6b21a8; }
.is-gold { background:#fef3c7; color:#9a6700; }
.mini-star { color:#f5b700; font-size:18px; }
.course-meta h3 { margin:16px 0 8px; font-size:18px; line-height:1.35; min-height:70px; color:var(--ink); }
.course-meta p { margin:0; color:var(--muted); font-size:14px; }
.course-price { margin-top:18px; font-weight:800; font-size:34px; line-height:1; color:var(--ink); font-family:"Playfair Display",serif; }
.course-price .rupee-symbol { font-size:.8em; margin-right:2px; }

.contact-layout { background:#fff; }
.contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:28px; }
.contact-panel, .contact-form-panel { display:flex; }
.contact-card, .contact-form { width:100%; background:#fff; border:1px solid rgba(91,26,104,.08); border-radius:26px; padding:30px; box-shadow:0 18px 50px rgba(28,23,32,.04); }
.contact-card h2, .form-header h2 { margin:18px 0 12px; font-size:clamp(30px, 4vw, 42px); }
.contact-list { list-style:none; margin:24px 0 30px; padding:0; display:grid; gap:14px; color:var(--ink); }
.contact-list li { color:var(--muted); line-height:1.6; }
.contact-list strong { color:var(--ink); }
.contact-list a { color:var(--purple); }
.form-header { margin-bottom:20px; }
.contact-form { display:grid; gap:20px; }
.form-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px 20px; }
.field-group { display:grid; gap:8px; }
.field-group-full { grid-column:1 / -1; }
.field-group label { font-size:13px; font-weight:700; color:var(--ink); }
.required-mark { color:var(--purple); }
.field-group input,
.field-group select,
.field-group textarea {
    width:100%; border:1px solid rgba(91,26,104,.14); border-radius:999px; background:#fff; padding:14px 16px; font:inherit; color:var(--ink); transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    box-shadow:0 8px 18px rgba(36,18,46,.02);
}
.field-group textarea {
    border-radius:22px;
}
.field-group select {
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235b1a68' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-position:calc(100% - 18px) center;
    background-size:14px 14px;
    background-repeat:no-repeat;
    padding-right:44px;
    cursor:pointer;
    border-radius:999px;
    border:1px solid rgba(91,26,104,.14);
    color:var(--ink);
    width:100%;
}
.field-group select option {
    background:#fff;
    color:var(--ink);
    padding:12px 14px;
}
.field-group select option:checked,
.field-group select option:hover {
    background:#f5f0fa;
    color:var(--ink);
}
.field-group input:focus,
.field-group select:focus,
.field-group textarea:focus {
    outline:none; border-color:rgba(91,26,104,.22); box-shadow:0 0 0 3px rgba(91,26,104,.08), 0 12px 26px rgba(91,26,104,.04);
    transform:translateY(-1px);
}
.field-group input:focus,
.field-group select:focus,
.field-group textarea:focus {
    outline:none; border:none; box-shadow:0 14px 28px rgba(74,40,87,.10), inset 0 0 0 1px rgba(91,26,104,.04);
    transform:translateY(-1px);
}
.field-group textarea { min-height:150px; resize:vertical; }
.contact-detail-grid {
    display:grid;
    gap:14px;
    margin-top:24px;
}
.contact-detail-item {
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:16px 18px;
    border:1px solid rgba(91,26,104,.08);
    border-radius:18px;
    background:linear-gradient(135deg, #fff, #f9f4fd);
    box-shadow:0 12px 22px rgba(41,17,52,.03);
}
.detail-icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:12px;
    background:linear-gradient(135deg, rgba(91,26,104,.12), rgba(229,191,101,.18));
    color:var(--purple);
    font-size:18px;
    font-weight:700;
}
.contact-detail-item small {
    display:block;
    margin-bottom:6px;
    color:var(--muted);
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.contact-detail-item a,
.contact-detail-item p {
    margin:0;
    color:var(--ink);
    text-decoration:none;
    line-height:1.5;
}
.contact-detail-item a:hover { color:var(--purple); }
.location-map-card {
    margin-top:16px;
    border:1px solid rgba(91,26,104,.08);
    border-radius:20px;
    background:linear-gradient(135deg, #fff, #f8f3ff);
    box-shadow:0 12px 26px rgba(41,17,52,.03);
    overflow:hidden;
}
.map-topbar {
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 16px;
    border-bottom:1px solid rgba(91,26,104,.08);
    background:rgba(91,26,104,.02);
}
.map-dot {
    width:10px;
    height:10px;
    border-radius:50%;
    background:linear-gradient(135deg, #5b1a68, #9a6cb9);
    box-shadow:0 0 0 4px rgba(91,26,104,.08);
}
.map-label {
    font-size:11px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--purple);
}
.map-visual {
    position:relative;
    height:170px;
    background:
        linear-gradient(135deg, rgba(91,26,104,.06), rgba(229,191,101,.1)),
        linear-gradient(90deg, rgba(255,255,255,.8) 0%, rgba(255,255,255,.3) 100%),
        repeating-linear-gradient(
            90deg,
            rgba(91,26,104,.08),
            rgba(91,26,104,.08) 1px,
            transparent 1px,
            transparent 28px
        ),
        repeating-linear-gradient(
            0deg,
            rgba(91,26,104,.05),
            rgba(91,26,104,.05) 1px,
            transparent 1px,
            transparent 28px
        );
}
.map-pin {
    position:absolute;
    left:50%;
    top:52%;
    transform:translate(-50%, -50%);
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:linear-gradient(135deg, #5b1a68, #8a4aa3);
    color:#fff;
    font-size:26px;
    box-shadow:0 16px 34px rgba(91,26,104,.2);
}
.map-info {
    padding:16px 18px 18px;
}
.map-info strong {
    display:block;
    margin-bottom:6px;
    font-size:18px;
    color:var(--ink);
}
.map-info p {
    margin:0;
    color:var(--muted);
    line-height:1.6;
}
.info-badge-box {
    background:linear-gradient(135deg, rgba(91,26,104,.06), rgba(229,191,101,.12));
    border:1px solid rgba(91,26,104,.12);
    border-radius:18px;
    padding:18px 18px 14px;
    margin-top:16px;
}
.info-badge-label { display:inline-block; margin-bottom:8px; padding:7px 10px; border-radius:999px; background:rgba(91,26,104,.08); color:var(--purple); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.info-badge-box p { margin:0; color:var(--muted); line-height:1.7; }
.info-badge-box a { color:var(--purple); }
.error-text { color:#b42318; font-size:12px; font-weight:600; }
.form-status { border-radius:14px; padding:14px 16px; font-size:14px; font-weight:600; }
.success-status { background:#eafaf2; color:#15603a; border:1px solid #b9e7c7; }
.error-status { background:#fff1f1; color:#9a1f1f; border:1px solid #f4c2c2; }
.submit-button { width:100%; padding:16px 28px; font-size:15px; border:none !important; cursor:pointer; margin-top:6px; box-shadow:0 10px 24px rgba(91,26,104,.22); }
.submit-button:hover { background:var(--purple-deep); box-shadow:0 14px 30px rgba(91,26,104,.3); transform:translateY(-2px); }
.submit-button:focus { outline:none; box-shadow:0 0 0 3px rgba(91,26,104,.25), 0 10px 24px rgba(91,26,104,.22); }
.submit-button:disabled { opacity:.7; cursor:not-allowed; transform:none; }

.site-footer { background:#1b101e; color:white; padding:65px 0 25px; }
.footer-grid { display:grid; grid-template-columns:1.3fr 0.65fr 0.65fr 1.4fr; gap:36px; padding-bottom:50px; }
.footer-brand { display:flex !important; align-items:center; gap:12px; text-decoration:none; margin-bottom:16px; width:fit-content; }
.footer-logo { width:46px; height:46px; border-radius:50%; object-fit:cover; flex-shrink:0; border:2px solid rgba(229,191,101,.35); box-shadow:0 4px 12px rgba(0,0,0,.25); }
.footer-brand-text { display:flex; flex-direction:column; justify-content:center; line-height:1.1; }
.footer-brand-text strong { color:#e5bf65; font-weight:800; letter-spacing:.12em; font-size:18px; text-transform:uppercase; }
.footer-brand-text small { font-size:8px; color:#bcaebf; letter-spacing:.14em; font-weight:700; margin-top:3px; text-transform:uppercase; }
.site-footer p { color:#bcaebf; max-width:320px; font-size:14px; margin-top:0; line-height:1.6; }
.site-footer h3 { font-size:12px; color:#e5bf65; letter-spacing:.12em; text-transform:uppercase; margin-bottom:16px; font-weight:800; }
.site-footer a { color:#bcaebf; font-size:13px; text-decoration:none; transition:color .2s ease; }
.site-footer a:hover { color:white; }
.footer-contact-list { display:flex; flex-direction:column; gap:12px; }
.footer-contact-item { display:flex !important; align-items:center; gap:10px; width:100%; color:#bcaebf !important; font-size:13px; text-decoration:none; margin:0 !important; transition:color .2s ease, transform .2s ease; }
.footer-contact-item:hover { transform:translateX(3px); color:#fff !important; }
.footer-contact-icon { flex-shrink:0; width:16px; height:16px; }
.email-icon { color:#e5bf65; }
.whatsapp-icon { color:#25D366; opacity:1; }
.instagram-icon { color:#E1306C; opacity:1; }
.facebook-icon { color:#1877F2; opacity:1; }
.footer-whatsapp-item:hover { color:#25D366 !important; }
.footer-instagram-item:hover { color:#E1306C !important; }
.footer-facebook-item:hover { color:#1877F2 !important; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding-top:20px; display:flex; justify-content:space-between; color:#887b8a; font-size:11px; }

@media (max-width: 900px) {
    .nav-row { flex-wrap: wrap; row-gap: 12px; }
    .main-nav {
        display:none;
        position:absolute;
        left:0;
        right:0;
        top:calc(100% + 8px);
        background:white;
        border:1px solid var(--line);
        border-radius:18px;
        padding:16px;
        box-shadow:0 15px 40px rgba(0,0,0,.1);
        flex-direction:column;
        align-items:flex-start;
        gap:6px;
        width:100%;
        z-index:12;
    }
    .main-nav.is-open { display:grid; }
    .main-nav a {
        width:100%;
        padding:12px 14px;
        border-radius:12px;
    }
    .nav-actions {
        margin-left: auto;
    }
    .menu-button { display:block; }
    .hero-grid, .split-section, .faq-layout, .contact-grid { grid-template-columns:1fr; }
    .about-lead, .founder-grid, .about-reach-grid { grid-template-columns:1fr; gap:40px; }
    .about-pillars-grid, .promise-grid, .why-grid { grid-template-columns:1fr; }
    .admission-grid, .admission-step-grid { grid-template-columns:1fr; gap:40px; }
    .founder-mark { width:180px; height:210px; }
    .promise-heading { align-items:flex-start; flex-direction:column; gap:20px; }
    .hero-grid { gap:40px; }
    .finder-grid { grid-template-columns:1fr; }
    .feature-grid { grid-template-columns:1fr; }
    .feature-card.large { grid-row:auto; min-height:300px; }
    .section-heading, .location-inner, .cta-inner { align-items:flex-start; flex-direction:column; }
    .form-grid { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 700px) {
    .nav-row { min-height: 72px; padding: 10px 0; }
    .brand img { width: 38px; height: 38px; }
    .brand strong { font-size: 14px; }
    .brand small { font-size: 7px; }
    .nav-actions {
        width: 100%;
        justify-content: flex-end;
    }
    .nav-auth-group {
        width: 100%;
        justify-content: space-between;
    }
    .nav-auth-link {
        flex: 1;
        min-width: 0;
        padding: 10px 12px;
    }
    .hero { padding:50px 0 60px; }
    .hero h1 { font-size: clamp(42px, 12vw, 58px); }
    .hero-text { font-size:16px; }
    .hero-actions {
        flex-direction:column;
        align-items:stretch;
    }
    .button {
        width:100%;
        justify-content:center;
    }
    .hero-trust {
        flex-wrap:wrap;
        gap:16px 22px;
    }
    .hero-slider { min-height:350px; }
    .hero-slide-content { padding:24px; }
    .guide-title { font-size:30px; }
    .feature-grid, .about-pillars-grid, .promise-grid, .course-grid { grid-template-columns:1fr; }
    .about-lead, .founder-grid, .about-reach-grid, .admission-grid { grid-template-columns:1fr; gap:40px; }
    .section-heading, .promise-heading, .cta-inner, .location-inner { align-items:flex-start; flex-direction:column; }
    .faq-layout { grid-template-columns:1fr; gap:36px; }
    .contact-detail-grid { grid-template-columns:1fr; }
    .form-grid { grid-template-columns:1fr; }
}

@media (max-width: 600px) {
    .container { width:min(100% - 28px, 1160px); }
    .hero h1 { font-size:44px; }
    .hero-card { padding:28px; min-height:380px; }
    .section { padding:75px 0; }
    .site-header .container { width:min(100% - 20px, 1160px); }
    .nav-auth-group { gap:6px; padding:4px; }
    .nav-auth-link { font-size:12px; }
    .guide-row { flex-direction:column; gap:6px; }
    .footer-grid { grid-template-columns:1fr; gap:25px; }
    .footer-bottom { flex-direction:column; gap:8px; }
}

@media (max-width: 420px) {
    .brand span { line-height:1; }
    .brand strong { letter-spacing: .06em; }
    .nav-auth-link { min-width: 0; }
    .hero-actions { margin-top:24px; }
    .feature-card, .finder-card, .why-card, .about-pillar, .promise-item, .contact-card, .contact-form { padding:22px 18px; }
    .course-meta h3 { min-height: auto; }
}
