:root {
  /* Colors */
  --color-primary: #950d2d; --color-primary-dark: #740821; --color-secondary: #071a42; --color-background: #f9f7f3; --color-white: #ffffff; --color-text: #10203e; --color-muted: #536078; --color-line: #d9d7d1; --color-gold: #d59b22;
  /* Typography */
  --font-heading: Georgia, "Times New Roman", serif; --font-body: Arial, Helvetica, sans-serif;
  /* Font sizes */
  --text-xs: .75rem; --text-sm: .875rem; --text-base: 1rem; --text-lg: 1.125rem; --text-xl: 1.35rem; --text-2xl: clamp(2.25rem, 4.2vw, 4.35rem); --text-3xl: clamp(3rem, 7vw, 6.5rem);
  /* Spacing */
  --space-1: .5rem; --space-2: .875rem; --space-3: 1.25rem; --space-4: 1.75rem; --space-5: 2.75rem; --space-6: clamp(4.5rem, 9vw, 9rem);
  /* Layout */
  --container-width: 76rem;
  /* Borders */
  --border-color: var(--color-line); --border-width: 1px;
  /* Radius */
  --radius-sm: .25rem; --radius-md: .75rem; --radius-lg: 1.5rem; --radius-pill: 100vmax;
  /* Shadows */
  --shadow-sm: 0 7px 18px rgba(7,26,66,.08); --shadow-md: 0 18px 45px rgba(7,26,66,.13);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body { margin: 0; background: var(--color-background); color: var(--color-text); font-family: var(--font-body); font-size: var(--text-base); line-height: 1.6; }
img { display: block; max-width: 100%; } a { color: inherit; text-decoration: none; } button, input, select, textarea { font: inherit; } button { cursor: pointer; }
.container { width: min(calc(100% - 2.5rem), var(--container-width)); margin-inline: auto; }.section { padding-block: var(--space-6); }.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }.skip-link { position:fixed; top:1rem; left:1rem; z-index:100; padding:.7rem 1rem; color:#fff; background:var(--color-primary); transform:translateY(-200%); }.skip-link:focus { transform:translateY(0); }.eyebrow { display:flex; align-items:center; gap:.65rem; margin:0 0 1rem; color:var(--color-primary); font-size:var(--text-xs); font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.eyebrow span { width:2rem; height:2px; background:currentColor; }.button { display:inline-flex; align-items:center; justify-content:center; gap:.75rem; border:1px solid var(--color-primary); border-radius:var(--radius-pill); padding:.85rem 1.25rem; color:#fff; background:var(--color-primary); font-size:var(--text-sm); font-weight:700; transition:background .2s, transform .2s, border-color .2s; }.button:hover { background:var(--color-primary-dark); border-color:var(--color-primary-dark); transform:translateY(-2px); }.button-small { padding:.65rem 1rem; }.text-link { display:inline-flex; align-items:center; gap:.5rem; color:var(--color-primary); font-size:var(--text-sm); font-weight:800; border-bottom:1px solid currentColor; }.text-link:hover { color:var(--color-primary-dark); }
.site-header { position:relative; z-index:10; background:var(--color-background); border-bottom:var(--border-width) solid rgba(7,26,66,.1); }.nav-wrap { min-height:5.25rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }.brand { display:inline-flex; align-items:center; gap:.6rem; color:var(--color-secondary); line-height:1; }.brand-mark { width:2.4rem; aspect-ratio:1; display:grid; place-items:center; color:#fff; background:var(--color-secondary); border-radius:50%; }.brand-mark svg { width:1.7rem; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }.brand strong { display:block; font-family:var(--font-heading); font-size:1.5rem; letter-spacing:-.07em; }.brand small { display:block; margin-top:.3rem; font-size:.46rem; letter-spacing:.18em; font-weight:800; }.nav-toggle { position:absolute; opacity:0; }.nav-toggle-label { width:2.5rem; height:2.5rem; display:grid; place-content:center; gap:.32rem; color:var(--color-secondary); border:1px solid var(--color-line); cursor:pointer; }.nav-toggle-label span:not(.sr-only) { width:1.1rem; height:2px; background:currentColor; }.main-nav { display:none; position:absolute; top:100%; left:0; right:0; padding:1rem 1.25rem 1.5rem; background:var(--color-background); border-bottom:1px solid var(--color-line); box-shadow:var(--shadow-sm); }.main-nav a:not(.button) { display:block; padding:.75rem 0; font-weight:700; }.nav-toggle:checked ~ .main-nav { display:grid; }.main-nav .button { margin-top:.5rem; width:max-content; }
.hero { overflow:hidden; padding-top:clamp(3.5rem, 8vw, 7rem); }.hero-grid { display:grid; align-items:center; gap:3rem; }.hero-copy h1, h2, h3, p { margin-top:0; }.hero h1 { max-width:43rem; margin-bottom:1.5rem; color:var(--color-secondary); font-family:var(--font-heading); font-size:var(--text-3xl); font-weight:400; letter-spacing:-.065em; line-height:.96; }.hero h1 em, h2 em { color:var(--color-primary); font-style:italic; }.hero-intro { max-width:35rem; color:var(--color-muted); font-size:var(--text-lg); }.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.25rem; margin:2rem 0 1.25rem; }.trust-note { display:flex; align-items:center; gap:.5rem; color:var(--color-muted); font-size:var(--text-sm); }.trust-note svg, .parent-points svg { width:1.2rem; fill:none; stroke:var(--color-primary); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }.hero-visual { position:relative; width:min(100%, 29rem); margin-inline:auto; padding:0 1rem 1.5rem 0; }.hero-image-frame { position:relative; z-index:1; overflow:hidden; min-height:26rem; border-radius:8rem 8rem var(--radius-sm) var(--radius-sm); background:var(--color-secondary); }.hero-image-frame img { width:100%; height:100%; min-height:26rem; object-fit:cover; }.hero-accent { position:absolute; z-index:0; right:0; bottom:0; width:75%; height:74%; background:var(--color-gold); }.hero-quote { position:absolute; z-index:2; left:-.75rem; bottom:2.5rem; max-width:13rem; padding:1rem; color:#fff; background:var(--color-primary); box-shadow:var(--shadow-md); }.hero-quote span { font-family:var(--font-heading); font-size:1.65rem; }.hero-quote p { margin:.2rem 0 0; font-size:var(--text-xs); line-height:1.4; }.intro-strip { background:var(--color-secondary); color:#fff; }.intro-strip .container { display:flex; justify-content:space-around; align-items:center; gap:1rem; padding-block:1rem; text-align:center; }.intro-strip p { margin:0; font-size:var(--text-xs); font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.intro-strip span { width:.35rem; height:.35rem; background:var(--color-gold); transform:rotate(45deg); }
.split-heading { display:grid; gap:1rem; }.split-heading h2, .section-heading h2, .journey-top h2, .learners-section h2, .diff-grid h2, .faq-section h2, .contact-copy h2, .parent-card h2 { margin-bottom:0; color:var(--color-secondary); font-family:var(--font-heading); font-weight:400; letter-spacing:-.05em; line-height:1.02; font-size:var(--text-2xl); }.split-heading > p:last-child, .section-heading > p { max-width:33rem; color:var(--color-muted); }.benefits-layout { display:grid; gap:1rem; margin-top:3rem; }.benefit-feature { padding:2rem; color:#fff; background:var(--color-primary); }.feature-number, .program-index { color:var(--color-gold); font-size:var(--text-xs); font-weight:800; letter-spacing:.12em; }.benefit-feature h3 { margin:3rem 0 1rem; font-family:var(--font-heading); font-size:clamp(2rem, 4vw, 3.5rem); font-weight:400; letter-spacing:-.05em; line-height:1; }.benefit-feature p { color:#f7dfe5; }.benefit-feature .text-link { margin-top:1rem; color:#fff; }.benefit-list { border-top:1px solid var(--color-line); }.benefit-list article { display:flex; gap:1rem; padding:1.5rem 0; border-bottom:1px solid var(--color-line); }.benefit-list h3 { margin-bottom:.25rem; font-size:1.1rem; }.benefit-list p { margin-bottom:0; color:var(--color-muted); font-size:var(--text-sm); }.icon-circle { flex:0 0 2.2rem; height:2.2rem; display:grid; place-items:center; color:var(--color-primary); border:1px solid var(--color-primary); border-radius:50%; font-weight:800; }
.programs-section { background:var(--color-secondary); }.light-heading .eyebrow, .light-heading h2 { color:#fff; }.light-heading .eyebrow span { background:var(--color-gold); }.light-heading h2 em { color:var(--color-gold); }.light-heading > p { color:#b9c4dc; }.section-heading { display:grid; gap:1.5rem; margin-bottom:2.5rem; }.programs-grid { display:grid; gap:1px; background:rgba(255,255,255,.2); border:1px solid rgba(255,255,255,.2); }.program-card { min-height:20rem; padding:1.75rem; color:#fff; background:#102756; transition:background .25s, transform .25s; }.program-card:hover { background:var(--color-primary); transform:translateY(-4px); }.program-card h3 { margin:2.75rem 0 1rem; font-family:var(--font-heading); font-size:2.35rem; font-weight:400; line-height:.9; letter-spacing:-.06em; }.program-card > p:not(.program-index) { color:#d4dced; font-size:var(--text-sm); }.program-card ul { padding:0; margin:1.5rem 0; list-style:none; color:#fff; font-size:var(--text-xs); }.program-card li { display:inline-block; margin-right:.75rem; }.program-card li::before { content:"•"; margin-right:.25rem; color:var(--color-gold); }.program-card a { font-size:var(--text-sm); font-weight:800; }.program-card a span { margin-left:.35rem; }.program-card.upsc { background:#17386d; }.program-card.neet { background:#163845; }.program-card.nda { background:#3a234d; }
.journey-section { overflow:hidden; }.journey-top { max-width:44rem; }.journey-top h2 { margin-bottom:2.5rem; }.timeline { display:grid; grid-template-columns:repeat(2, 1fr); gap:0; list-style:none; padding:0; counter-reset:journey; }.timeline li { position:relative; min-height:12rem; padding:1.5rem 1rem 1rem 0; border-top:1px solid var(--color-line); }.timeline li:nth-child(odd) { border-right:1px solid var(--color-line); padding-right:1rem; }.timeline li:nth-child(even) { padding-left:1rem; }.timeline span { color:var(--color-primary); font-size:var(--text-xs); font-weight:800; }.timeline h3 { margin:2rem 0 .5rem; color:var(--color-secondary); font-family:var(--font-heading); font-size:1.5rem; font-weight:400; }.timeline p { margin:0; color:var(--color-muted); font-size:var(--text-sm); }.comparison-section { background:#ece9e1; }.table-wrap { overflow-x:auto; border:1px solid var(--color-line); background:#fff; box-shadow:var(--shadow-sm); } table { width:100%; min-width:48rem; border-collapse:collapse; text-align:left; } th, td { padding:1rem; border-bottom:1px solid var(--color-line); vertical-align:top; } thead { color:#fff; background:var(--color-secondary); } th { font-size:var(--text-sm); } tbody th { color:var(--color-primary); } td { color:var(--color-muted); font-size:var(--text-sm); } tbody tr:last-child th, tbody tr:last-child td { border-bottom:0; }
.learners-grid { display:grid; align-items:center; gap:2.5rem; }.learners-image { overflow:hidden; height:25rem; border-radius:var(--radius-lg) var(--radius-sm) var(--radius-lg) var(--radius-sm); }.learners-image img { width:100%; height:100%; object-fit:cover; }.age-list { margin-top:2rem; border-top:1px solid var(--color-line); }.age-list article { display:grid; grid-template-columns:7rem 1fr; align-items:baseline; gap:1rem; padding:1.15rem 0; border-bottom:1px solid var(--color-line); }.age-list p { margin:0; color:var(--color-primary); font-size:var(--text-xs); font-weight:800; letter-spacing:.05em; text-transform:uppercase; }.age-list h3 { margin:0; font-family:var(--font-heading); color:var(--color-secondary); font-size:1.15rem; font-weight:400; }.fine-print { margin-top:1.5rem; color:var(--color-muted); font-size:var(--text-sm); }.proof-section { color:#fff; background:var(--color-primary); }.proof-grid { display:grid; grid-template-columns:repeat(2,1fr); }.proof-grid div { padding:2rem 1rem; border-bottom:1px solid rgba(255,255,255,.25); }.proof-grid div:nth-child(odd) { border-right:1px solid rgba(255,255,255,.25); }.proof-grid strong, .proof-grid span { display:block; }.proof-grid strong { font-family:var(--font-heading); font-size:clamp(1.7rem, 3vw, 2.75rem); font-weight:400; letter-spacing:-.05em; }.proof-grid span { color:#f2ced8; font-size:var(--text-xs); font-weight:700; text-transform:uppercase; letter-spacing:.06em; }.diff-grid { display:grid; gap:2.5rem; }.principles { border-top:1px solid var(--color-line); }.principles p { display:grid; grid-template-columns:3rem 1fr; margin:0; padding:1rem 0; border-bottom:1px solid var(--color-line); color:var(--color-secondary); font-family:var(--font-heading); font-size:clamp(1.2rem, 2.3vw, 1.8rem); }.principles span { color:var(--color-primary); font-family:var(--font-body); font-size:var(--text-xs); font-weight:800; }.parent-section { padding-top:0; }.parent-card { display:grid; gap:2rem; padding:2rem; color:#fff; background:var(--color-secondary); }.parent-card .eyebrow, .parent-card h2 { color:#fff; }.parent-card .eyebrow span { background:var(--color-gold); }.parent-points { display:grid; gap:1rem; }.parent-points p { display:flex; gap:.7rem; align-items:flex-start; margin:0; color:#d8e0ef; font-size:var(--text-sm); }.parent-points svg { flex:0 0 1.1rem; stroke:var(--color-gold); }
.faq-layout { display:grid; gap:2.5rem; }.faq-layout > div:first-child > p:last-child { color:var(--color-muted); }.faq-list { border-top:1px solid var(--color-line); }.faq-list details { border-bottom:1px solid var(--color-line); }.faq-list summary { display:flex; justify-content:space-between; gap:1rem; padding:1.1rem 0; color:var(--color-secondary); cursor:pointer; font-weight:800; list-style:none; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary::after { content:"+"; color:var(--color-primary); font-size:1.25rem; }.faq-list details[open] summary::after { content:"−"; }.faq-list details p { max-width:44rem; margin:0 2rem 1.1rem 0; color:var(--color-muted); font-size:var(--text-sm); }.contact-section { color:#fff; background:var(--color-primary); }.contact-grid { display:grid; gap:2.5rem; }.contact-copy .eyebrow, .contact-copy h2 { color:#fff; }.contact-copy .eyebrow span { background:var(--color-gold); }.contact-copy > p:not(.eyebrow) { color:#f4dce3; }.contact-details { display:grid; gap:1rem; margin-top:2rem; }.contact-details a, .contact-details > p { display:flex; align-items:flex-start; gap:.8rem; margin:0; }.contact-details svg { flex:0 0 1.3rem; width:1.3rem; margin-top:.2rem; fill:none; stroke:var(--color-gold); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }.contact-details small, .contact-details span { display:block; }.contact-details small { color:#f1cbd6; font-size:var(--text-xs); font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.enquiry-form { padding:1.5rem; color:var(--color-text); background:#fff; box-shadow:var(--shadow-md); }.enquiry-form h3 { margin-bottom:.25rem; color:var(--color-secondary); font-family:var(--font-heading); font-size:2rem; font-weight:400; }.enquiry-form > p { color:var(--color-muted); font-size:var(--text-sm); }.form-grid { display:grid; gap:1rem; margin:1.5rem 0; }.form-grid label { display:block; margin-bottom:.35rem; color:var(--color-secondary); font-size:var(--text-xs); font-weight:800; }.form-grid input, .form-grid select, .form-grid textarea { width:100%; padding:.7rem; color:var(--color-text); background:#fff; border:1px solid #b7bdc7; border-radius:var(--radius-sm); }.form-grid textarea { resize:vertical; }.form-note { margin:1rem 0 0!important; font-size:var(--text-xs)!important; }.site-footer { padding-top:4rem; color:#dde4f1; background:#06142f; }.footer-grid { display:grid; gap:2rem; padding-bottom:3rem; }.footer-brand { color:#fff; }.footer-brand .brand-mark { background:var(--color-primary); }.footer-grid > div:first-child > p { max-width:17rem; margin:1.25rem 0; color:#aab6cd; font-size:var(--text-sm); }.footer-grid h3 { margin:0 0 1rem; color:#fff; font-size:var(--text-xs); letter-spacing:.1em; text-transform:uppercase; }.footer-grid > div:not(:first-child) a { display:block; margin:.5rem 0; color:#cbd3e2; font-size:var(--text-sm); }.footer-grid > div:not(:first-child) a:hover, .footer-bottom a:hover { color:#fff; }.footer-grid > div:not(:first-child) p { color:#aab6cd; font-size:var(--text-sm); }.socials { display:flex; gap:.6rem; }.socials a { display:grid; place-items:center; width:2rem; height:2rem; border:1px solid #526179; border-radius:50%; }.socials svg { width:1rem; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }.footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; padding:1.25rem 0; color:#94a2ba; border-top:1px solid #273a5a; font-size:var(--text-xs); }.footer-bottom span:last-child { display:flex; gap:1rem; }
:focus-visible { outline:3px solid var(--color-gold); outline-offset:3px; } @media (min-width: 46rem) { .hero-grid { grid-template-columns:1.2fr .8fr; }.split-heading { grid-template-columns:.7fr 1.1fr 1fr; align-items:end; }.benefits-layout { grid-template-columns:1.05fr .95fr; }.section-heading { grid-template-columns:1.15fr .85fr; align-items:end; }.programs-grid { grid-template-columns:repeat(2, 1fr); }.timeline { grid-template-columns:repeat(3, 1fr); }.timeline li:nth-child(odd) { border-right:0; padding-right:1rem; }.timeline li:not(:nth-child(3n)) { border-right:1px solid var(--color-line); }.timeline li:nth-child(even) { padding-left:0; }.learners-grid { grid-template-columns:.8fr 1.2fr; }.learners-image { height:34rem; }.proof-grid { grid-template-columns:repeat(4,1fr); }.proof-grid div, .proof-grid div:nth-child(odd) { border-bottom:0; border-right:1px solid rgba(255,255,255,.25); }.proof-grid div:last-child { border-right:0; }.diff-grid { grid-template-columns:.85fr 1.15fr; }.parent-card { grid-template-columns:1fr 1fr; padding:3.5rem; }.faq-layout { grid-template-columns:.8fr 1.2fr; }.contact-grid { grid-template-columns:.85fr 1.15fr; }.form-grid { grid-template-columns:repeat(2,1fr); }.full-width { grid-column:1/-1; }.footer-grid { grid-template-columns:1.5fr repeat(3,1fr); } }
@media (min-width: 62rem) { .site-header { position:sticky; top:0; }.nav-toggle-label { display:none; }.main-nav { position:static; display:flex; align-items:center; gap:1.4rem; padding:0; background:transparent; border:0; box-shadow:none; }.main-nav a:not(.button) { display:inline; padding:0; font-size:var(--text-sm); }.main-nav a:not(.button):hover { color:var(--color-primary); }.main-nav .button { margin:0; }.programs-grid { grid-template-columns:repeat(4,1fr); }.program-card { padding:1.5rem; }.hero-visual { width:100%; }.contact-copy { padding-right:2rem; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }

/* Supplied Base Camp logo */
.brand img { display:block; width:clamp(9.5rem, 25vw, 15rem); height:auto; }
.footer-brand { display:block; width:min(100%, 14rem); height:3.8rem; background:#f9f7f3 url("base-camp-logo.png") center / contain no-repeat; border-radius:var(--radius-sm); }
.footer-brand > * { display:none; }
