:root {
    --ink:#1a1a18; --ink-mid:#3d3d38; --ink-soft:#6b6b64; --ink-faint:#a8a89e;
    --bg:#f7f5f0; --bg-deep:#032850;
    --blue:#134a87; --blue-mid:#1762b5; --blue-lt:#dce8f8;
    --orange:#e97a31; --orange-dk:#b55e24; --orange-lt:#fef0e4;
    --purple:#810793; --purple-lt:#f5e8f7;
    --rule:#e0ddd6;
    --font-display:'Fraunces',Georgia,serif;
    --font-body:'Inter',system-ui,sans-serif;
    /* Override Bootstrap's theme color */
    --bs-primary:#1762b5;
  }
  body { font-family:var(--font-body); background:var(--bg); color:var(--ink); line-height:1.7; }
  h1,h2,h3,h4 { font-family:var(--font-display); letter-spacing:-0.02em; }

  /* Display + accent helpers */
  .font-display { font-family:var(--font-display); }
  .text-blue { color:var(--blue) !important; }
  .text-orange { color:var(--orange) !important; }
  .bg-deep { background:var(--bg-deep) !important; }
  .bg-cream { background:var(--bg) !important; }
  .bg-orange-lt { background:var(--orange-lt) !important; }

  .eyebrow {
    font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
    color:var(--blue); display:inline-flex; align-items:center; gap:8px;
  }
  .eyebrow::before { content:''; width:20px; height:1.5px; background:currentColor; display:block; }
  .eyebrow.light { color:#f5a05a; }

  .section-title { font-size:clamp(28px,4vw,40px); font-weight:700; line-height:1.15; }
  .section-title em { font-style:italic; color:var(--blue); }

  /* Brand buttons (extend Bootstrap) */
  .btn-brand { background:var(--orange); color:#fff; font-weight:600; }
  .btn-brand:hover { background:var(--orange-dk); color:#fff; }
  .btn-outline-light-soft { color:rgba(255,255,255,.85); border:1px solid rgba(255,255,255,.25); font-weight:500; }
  .btn-outline-light-soft:hover { color:#fff; border-color:#fff; }

  /* Navbar */
  .navbar { background:var(--bg-deep); }
  .navbar .navbar-brand { font-family:var(--font-display); font-weight:700; font-size:18px; color:#fff; }
  .navbar .navbar-brand span { color:#f5a05a; }
  .navbar .nav-link { color:rgba(255,255,255,.72); font-size:13px; font-weight:500; }
  .navbar .nav-link:hover { color:#fff; }
  .navbar .nav-link.active { color:var(--orange) !important; font-weight:600; }
  .navbar-toggler { border:none; }
  .navbar-toggler-icon { filter:invert(1) grayscale(1) brightness(1.5); }
  .navbar-toggler:focus { box-shadow: none;}
  .nav-cta { background:var(--orange); color:#fff !important; border-radius:6px; font-weight:600 !important; padding:7px 14px !important; }
  .nav-cta:hover { background:var(--orange-dk); }

  /* Hero */
  .hero { background:var(--bg-deep); color:#fff; position:relative; overflow:hidden; }
  .hero::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background: radial-gradient(ellipse 60% 70% at 80% 40%, rgb(0 121 255 / 45%) 0%, transparent 70%), radial-gradient(ellipse 40% 50% at 10% 80%, rgb(233 122 49 / 35%) 0%, transparent 60%);
  }
  .hero h1 { font-size:clamp(36px,5vw,56px); font-weight:700; line-height:1.1; }
  .hero h1 em { font-style:italic; color:#f5a05a; }
  .hero-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:16px; backdrop-filter:blur(8px); }
  .hero-stat { background:rgba(255,255,255,.06); border-radius:10px; }
  .hero-stat-num { font-family:var(--font-display); font-size:26px; font-weight:700; color:#fff; line-height:1; }
  .hero-stat-num span { font-size:16px; color:#f5a05a; }

  /* Trust bar */
  .trust-item { font-size:13px; color:var(--ink-soft); font-weight:500; }
  .trust-dot { width:7px; height:7px; border-radius:50%; background:var(--blue-mid); }

  /* Cards */
  .card-soft { background:#fff; border:1px solid var(--rule); border-radius:10px; transition:border-color .15s,box-shadow .15s,transform .15s; }
  .card-soft:hover { border-color:var(--blue-mid); box-shadow:0 4px 20px rgba(23,98,181,.12); transform:translateY(-2px); }
  .icon-badge { width:44px; height:44px; background:var(--blue-lt); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:20px; }
  .guide-num { font-size:12px; font-weight:600; letter-spacing:.08em; color:var(--ink-faint); }
  .guide-link { font-size:13px; font-weight:600; color:var(--blue); }

  /* Featured college */
  .college-block { background:var(--bg-deep); border-radius:20px; overflow:hidden; color:#fff; }
  .college-badge { background:rgba(233,122,49,.15); border:1px solid rgba(233,122,49,.4); color:#f5a05a;
    font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; padding:5px 12px; border-radius:20px; }
  .tag { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.8);
    font-size:12px; font-weight:500; padding:5px 12px; border-radius:20px; }
  .college-sidebar { background:rgba(255,255,255,.04); border-left:1px solid rgba(255,255,255,.08); }
  .result-exam { font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#f5a05a; }
  .result-text { font-size:14px; color:rgba(255,255,255,.8); line-height:1.45; }
  .result-row { border-bottom:1px solid rgba(255,255,255,.06); }
  .result-row:last-child { border-bottom:none; }
  .link-ext { color:rgba(255,255,255,.7); font-weight:500; border-bottom:1px solid rgba(255,255,255,.3); text-decoration:none; }
  .link-ext:hover { color:#fff; border-color:#fff; }

  /* Testimonials */
  .quote { font-family:var(--font-display); font-style:italic; font-size:15px; line-height:1.65; color:var(--ink-mid); }
  .avatar { width:36px; height:36px; border-radius:50%; background:var(--blue-lt); color:var(--blue);
    display:flex; align-items:center; justify-content:center; font-weight:700; }

  /* CTA banner */
  .cta-banner { background:linear-gradient(135deg, var(--bg-deep) 0%, var(--blue) 100%); color:#fff; }
  .cta-banner h2 { color:#fff; font-weight:700; }
  .btn-white { background:#fff; color:var(--blue); font-weight:700; }
  .btn-white:hover { color:var(--blue-mid); transform:translateY(-1px); }

  /* Footer */
  .footer { background:var(--bg-deep); color:rgba(255,255,255,.6); }
  .footer h3 { font-family:var(--font-display); font-weight:700; color:#fff; font-size:20px; }
  .footer h3 span { color:#f5a05a; }
  .footer h4 { font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.4); }
  .footer a { color:rgba(255,255,255,.6); text-decoration:none; font-size:13px; }
  .footer a:hover { color:#fff; }

  @media (prefers-reduced-motion:reduce){ *{transition:none !important;} }

  /* ── Page Hero (inner pages) ── */
  .page-hero { background:var(--bg-deep); color:#fff; padding:60px 0 56px; position:relative; overflow:hidden; }
  .page-hero::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background:radial-gradient(ellipse 55% 60% at 90% 30%,rgba(23,98,181,.3) 0%,transparent 65%),
               radial-gradient(ellipse 35% 45% at 5% 85%,rgba(233,122,49,.15) 0%,transparent 55%);
  }
  .page-hero h1 { font-size:clamp(30px,4.5vw,48px); font-weight:700; line-height:1.12; }
  .page-hero h1 em { font-style:italic; color:#f5a05a; }

  /* Breadcrumb */
  .breadcrumb-nav { font-size:12px; color:rgba(255,255,255,.5); margin-bottom:20px; }
  .breadcrumb-nav a { color:rgba(255,255,255,.5); text-decoration:none; }
  .breadcrumb-nav a:hover { color:#fff; }
  .breadcrumb-nav span { margin:0 6px; }

  /* Stat pills (hero) */
  .stat-pill { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); color:#fff; padding:8px 16px; border-radius:50px; font-size:13px; font-weight:500; }
  .stat-pill strong { color:#f5a05a; font-family:var(--font-display); font-size:18px; font-weight:700; }

  /* Article body */
  .article-body h2 { font-family:var(--font-display); font-size:clamp(22px,3vw,30px); font-weight:700; color:var(--ink); margin-bottom:16px; letter-spacing:-0.02em; }
  .article-body p,
  .article-body ul { color:var(--ink-mid); line-height:1.8; font-size:15.5px; }
  .article-body ul { padding-left:20px; }
  .article-body ul li { margin-bottom:8px; }

  /* Section dividers inside article */
  .section-block { padding:52px 0; border-bottom:1px solid var(--rule); }
  .section-block:last-child { border-bottom:none; }

  /* Highlight / callout box */
  .highlight-box { background:var(--blue-lt); border-left:4px solid var(--blue-mid); border-radius:0 10px 10px 0; padding:20px 24px; margin:24px 0; }
  .highlight-box p { color:var(--ink); margin:0; font-size:15px; font-weight:500; }

  /* Stream cards */
  .stream-card { background:#fff; border:1px solid var(--rule); border-radius:12px; padding:24px; transition:box-shadow .15s,transform .15s; }
  .stream-card:hover { box-shadow:0 4px 20px rgba(23,98,181,.1); transform:translateY(-2px); }
  .stream-label { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--blue-mid); margin-bottom:8px; }

  /* Culture / feature items */
  .culture-item { display:flex; gap:14px; margin-bottom:24px; }
  .culture-icon { width:40px; height:40px; min-width:40px; background:var(--blue-lt); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:18px; }

  /* Compare cards */
  .compare-card { border-radius:14px; padding:28px 24px; }
  .compare-card.day { background:#fff; border:1px solid var(--rule); }
  .compare-card.residential { background:var(--bg-deep); color:#fff; }
  .compare-card.residential p { color:rgba(255,255,255,.75); }
  .compare-card.residential h3 { color:#fff; }
  .compare-badge { display:inline-block; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:4px 12px; border-radius:20px; margin-bottom:16px; }
  .compare-badge.popular { background:rgba(233,122,49,.15); color:var(--orange); border:1px solid rgba(233,122,49,.3); }
  .compare-badge.standard { background:var(--blue-lt); color:var(--blue); border:1px solid rgba(23,98,181,.2); }

  /* Criteria cards */
  .criteria-card { background:#fff; border:1px solid var(--rule); border-radius:12px; padding:22px; display:flex; gap:14px; align-items:flex-start; transition:border-color .15s,box-shadow .15s; }
  .criteria-card:hover { border-color:var(--blue-mid); box-shadow:0 4px 16px rgba(23,98,181,.1); }
  .criteria-num { font-family:var(--font-display); font-size:32px; font-weight:700; color:var(--blue-lt); line-height:1; min-width:36px; }

  /* Inline CTA block */
  .cta-inline { background:linear-gradient(135deg,var(--bg-deep) 0%,var(--blue) 100%); border-radius:16px; padding:40px 36px; color:#fff; }
  .cta-inline h3 { font-family:var(--font-display); font-size:24px; font-weight:700; color:#fff; margin-bottom:10px; }
  .cta-inline p { color:rgba(255,255,255,.75); margin-bottom:24px; font-size:15px; }

  /* Next guide link */
  .next-link { display:inline-flex; align-items:center; gap:8px; color:var(--blue-mid); font-weight:600; font-size:14px; text-decoration:none; }
  .next-link:hover { color:var(--blue); }

  /* Sidebar guide list */
  .guide-sidebar-list li { padding:8px 0; border-bottom:1px solid var(--rule); font-size:13px; }
  .guide-sidebar-list li:last-child { border-bottom:none; }
  .guide-sidebar-list li.active { color:var(--orange); font-weight:600; }
  .guide-sidebar-list li a { color:var(--ink-mid); text-decoration:none; }
  .guide-sidebar-list li a:hover { color:var(--blue); }

  /* ── Money page — Excel PU College Profile ── */
  .facts-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:1px; background:var(--rule); border:1px solid var(--rule); border-radius:12px; overflow:hidden; }
  .fact-item { background:#fff; padding:16px 20px; }
  .fact-label { font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:4px; }
  .fact-value { font-size:14px; font-weight:600; color:var(--ink); }

  .program-card { background:#fff; border:1px solid var(--rule); border-radius:14px; padding:28px; transition:border-color .15s,box-shadow .15s,transform .15s; height:100%; }
  .program-card:hover { border-color:var(--orange); box-shadow:0 4px 20px rgba(233,122,49,.12); transform:translateY(-2px); }
  .program-label { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--orange); margin-bottom:10px; }
  .program-card h3 { font-family:var(--font-display); font-size:18px; font-weight:700; color:var(--ink); margin-bottom:8px; }

  .result-stat-big { font-family:var(--font-display); font-size:clamp(34px,5vw,50px); font-weight:700; color:#fff; line-height:1; }
  .result-stat-big span { font-size:16px; color:#f5a05a; font-weight:500; }

  .testimonial-full { background:#fff; border:1px solid var(--rule); border-radius:12px; padding:28px; height:100%; }

  .apply-box { background:linear-gradient(135deg,var(--bg-deep) 0%,var(--blue) 100%); border-radius:16px; padding:40px; }
  .apply-box h3 { font-family:var(--font-display); font-size:26px; font-weight:700; color:#fff; margin-bottom:8px; }
  .contact-row { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.1); font-size:14px; color:rgba(255,255,255,.85); }
  .contact-row:last-child { border-bottom:none; }
  .contact-row strong { color:#fff; }
