:root{
    --navy-900:#1E1F5C;
    --navy-700:#3C3D80;
    --navy-600:#4A4B96;
    --navy-100:#ECECF6;
    --navy-50:#F5F5FA;
    --red:#D91E2B;
    --red-dark:#B3121D;
    --cream:#FAF8F3;
    --white:#FFFFFF;
    --charcoal:#262637;
    --muted:#6B6B80;
    --border:#E4E2DA;
    --radius:14px;
    --shadow:0 20px 50px -20px rgba(30,31,92,0.25);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Manrope',sans-serif;
    background:var(--cream);
    color:var(--charcoal);
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{font-family:'Fraunces',serif; color:var(--navy-900); line-height:1.15; font-weight:600;}
  a{text-decoration:none; color:inherit;}
  img{max-width:100%; display:block;}
  .container{max-width:1180px; margin:0 auto; padding:0 1.5rem;}
  ul{list-style:none;}
  button{font-family:inherit; cursor:pointer;}

  .eyebrow{
    display:inline-flex; align-items:center; gap:0.5rem;
    font-family:'Fraunces',serif; font-style:italic; font-weight:500;
    color:var(--red); font-size:1rem; margin-bottom:0.6rem;
    letter-spacing:0.01em;
  }
  .eyebrow::before{content:''; width:22px; height:1.5px; background:var(--red); display:inline-block;}

  .section{padding:5.5rem 0;}
  .section-alt{background:var(--navy-50);}
  .section-title{font-size:clamp(1.8rem,3.2vw,2.6rem); margin-bottom:0.9rem; max-width:640px;}
  .section-sub{color:var(--muted); font-size:1.05rem; max-width:560px; margin-bottom:3rem;}

  /* ===== Laurel signature (SVG data via inline, reused as divider) ===== */
  .laurel-divider{display:flex; align-items:center; justify-content:center; gap:1rem; margin:0 auto 2.5rem; width:fit-content;}
  .laurel-divider svg{width:34px; height:34px; fill:var(--navy-700);}
  .laurel-divider .dot{width:6px; height:6px; border-radius:50%; background:var(--red);}

  /* ===== TOPBAR ===== */
  .topbar{background:var(--navy-900); color:rgba(255,255,255,0.85); font-size:0.82rem;}
  .topbar-inner{max-width:1180px; margin:0 auto; padding:0.55rem 1.5rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:0.5rem;}
  .topbar a{color:rgba(255,255,255,0.85);}
  .topbar-left,.topbar-right{display:flex; gap:1.3rem; flex-wrap:wrap;}
  .topbar i{margin-right:0.4rem; color:var(--red);}

  /* ===== HEADER ===== */
  header.site-header{
    position:sticky; top:0; z-index:100; background:var(--white);
    border-bottom:1px solid var(--border);
  }
  .nav-wrapper{max-width:1180px; margin:0 auto; padding:0.9rem 1.5rem; display:flex; align-items:center; justify-content:space-between;}
  .brand{display:flex; align-items:center; gap:0.75rem;}
  .brand img{height:52px; width:auto;}
  .brand-text .name{font-family:'Fraunces',serif; font-weight:700; font-size:1.25rem; color:var(--navy-900); display:block;}
  .brand-text .tagline{font-family:'Fraunces',serif; font-style:italic; color:var(--red); font-size:0.78rem;}
  nav.main-nav{display:flex; align-items:center; gap:2rem;}
  nav.main-nav a{font-weight:600; font-size:0.92rem; color:var(--navy-900); position:relative; padding:0.3rem 0;}
  nav.main-nav a::after{content:''; position:absolute; bottom:0; left:0; height:2px; width:0; background:var(--red); transition:width 0.25s;}
  nav.main-nav a:hover::after{width:100%;}
  nav.main-nav a.active{color:var(--red);}
  nav.main-nav a.active::after{width:100%;}
  .btn{
    display:inline-flex; align-items:center; gap:0.55rem; font-weight:700; font-size:0.88rem;
    padding:0.8rem 1.6rem; border-radius:50px; border:2px solid transparent; transition:all 0.2s;
  }
  .btn-red{background:var(--red); color:var(--white);}
  .btn-red:hover{background:var(--red-dark);}
  .btn-outline{border-color:var(--navy-900); color:var(--navy-900);}
  .btn-outline:hover{background:var(--navy-900); color:var(--white);}
  .btn-outline-white{border-color:rgba(255,255,255,0.5); color:var(--white);}
  .btn-outline-white:hover{background:var(--white); color:var(--navy-900); border-color:var(--white);}
  .hamburger{display:none; flex-direction:column; gap:5px; background:none; border:none;}
  .hamburger span{width:24px; height:2px; background:var(--navy-900);}

  /* ===== HERO ===== */
  .hero{
    position:relative; overflow:hidden;
    background:
      radial-gradient(circle at 85% 20%, rgba(217,30,43,0.14), transparent 45%),
      linear-gradient(135deg, var(--navy-900), var(--navy-700) 65%);
    color:var(--white);
    padding:5.5rem 0 6rem;
  }
  .hero::before{
    content:''; position:absolute; inset:0; opacity:0.06;
    background-image:radial-gradient(circle, #fff 1px, transparent 1px);
    background-size:22px 22px;
  }
  .hero-inner{position:relative; display:grid; grid-template-columns:1.1fr 0.9fr; gap:3rem; align-items:center;}
  .hero-badge{
    display:inline-flex; align-items:center; gap:0.5rem; background:rgba(255,255,255,0.1);
    border:1px solid rgba(255,255,255,0.25); padding:0.45rem 1rem; border-radius:50px;
    font-size:0.82rem; font-weight:600; margin-bottom:1.5rem;
  }
  .hero-badge i{color:var(--red);}
  .hero h1{color:var(--white); font-size:clamp(2.3rem,4.5vw,3.4rem); margin-bottom:1.1rem;}
  .hero h1 em{color:var(--red); font-style:italic;}
  .hero p.lead{color:rgba(255,255,255,0.78); font-size:1.08rem; max-width:490px; margin-bottom:2.1rem;}
  .hero-cta{display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2.5rem;}
  .hero-motto{
    font-family:'Fraunces',serif; font-style:italic; color:var(--red); font-size:1.15rem;
    border-left:3px solid var(--red); padding-left:1rem;
  }
  .hero-crest{
    position:relative; display:flex; align-items:center; justify-content:center;
  }
  .hero-crest-ring{
    position:absolute; width:340px; height:340px; border-radius:50%;
    border:1px dashed rgba(255,255,255,0.25);
  }
  .hero-crest img{width:230px; filter:drop-shadow(0 25px 40px rgba(0,0,0,0.35));}

  /* ===== STATS ===== */
  .stats-strip{background:var(--white); border-bottom:1px solid var(--border);}
  .stats-inner{max-width:1180px; margin:0 auto; padding:2.2rem 1.5rem; display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; text-align:center;}
  .stat-num{font-family:'Fraunces',serif; font-size:2.1rem; font-weight:700; color:var(--navy-700);}
  .stat-label{font-size:0.85rem; color:var(--muted); font-weight:600; text-transform:uppercase; letter-spacing:0.04em;}

  /* ===== WHY CHOOSE US ===== */
  .why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem;}
  .why-card{
    background:var(--white); border:1px solid var(--border); border-radius:var(--radius);
    padding:2.1rem 1.8rem; transition:transform 0.25s, box-shadow 0.25s;
  }
  .why-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
  .why-icon{
    width:54px; height:54px; border-radius:12px; background:var(--navy-100);
    display:flex; align-items:center; justify-content:center; margin-bottom:1.2rem;
    color:var(--navy-700); font-size:1.3rem;
  }
  .why-card:nth-child(3n+2) .why-icon{background:#FCE9EA; color:var(--red);}
  .why-card h3{font-size:1.15rem; margin-bottom:0.6rem;}
  .why-card p{color:var(--muted); font-size:0.95rem;}

  /* ===== ABOUT / MISSION-VISION ===== */
  .about-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:3.5rem; align-items:center;}
  .about-img{position:relative;}
  .about-img img{border-radius:var(--radius); box-shadow:var(--shadow);}
  .about-img .badge-founded{
    position:absolute; bottom:-22px; left:-22px; background:var(--red); color:var(--white);
    padding:1.1rem 1.4rem; border-radius:12px; text-align:center; box-shadow:var(--shadow);
  }
  .badge-founded .num{font-family:'Fraunces',serif; font-size:1.6rem; font-weight:700; display:block;}
  .badge-founded .lbl{font-size:0.7rem; text-transform:uppercase; letter-spacing:0.05em;}
  .tabs{display:flex; gap:0.6rem; margin-bottom:1.4rem;}
  .tab-btn{
    padding:0.6rem 1.3rem; border-radius:50px; border:1.5px solid var(--border);
    background:var(--white); font-weight:700; font-size:0.88rem; color:var(--muted);
  }
  .tab-btn.active{background:var(--navy-900); border-color:var(--navy-900); color:var(--white);}
  .tab-panel{display:none; color:var(--muted); font-size:1rem;}
  .tab-panel.active{display:block;}
  .tab-panel strong{color:var(--navy-900);}

  /* ===== CORE VALUES ===== */
  .values-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.3rem;}
  .value-card{
    background:var(--white); border:1px solid var(--border); border-radius:var(--radius);
    padding:1.6rem; text-align:center;
  }
  .value-card svg{width:26px; height:26px; fill:var(--red); margin-bottom:0.7rem;}
  .value-card h4{font-size:1rem; margin-bottom:0.4rem;}
  .value-card p{font-size:0.85rem; color:var(--muted);}

  /* ===== JOURNEY / LEVELS (real sequence -> numbering justified) ===== */
  .journey{position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; margin-top:1rem;}
  .journey::before{
    content:''; position:absolute; top:34px; left:8%; right:8%; height:2px;
    background:repeating-linear-gradient(90deg, var(--border) 0 8px, transparent 8px 16px);
  }
  .journey-step{position:relative; background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:1.8rem 1.4rem; text-align:center;}
  .journey-num{
    width:36px; height:36px; border-radius:50%; background:var(--navy-700); color:var(--white);
    display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-weight:700;
    margin:0 auto 1rem; position:relative; z-index:1;
  }
  .journey-step:nth-child(2) .journey-num{background:var(--red);}
  .journey-step:nth-child(4) .journey-num{background:var(--red);}
  .journey-step h4{font-size:1.02rem; margin-bottom:0.35rem;}
  .journey-step span{font-size:0.82rem; color:var(--muted); font-weight:600;}

  /* ===== LEADERSHIP ===== */
  .leader-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem;}
  .leader-card{background:var(--white); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; text-align:center;}
  .leader-avatar{
    height:160px; background:linear-gradient(135deg, var(--navy-700), var(--navy-900));
    display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.85); font-size:2.2rem;
  }
  .leader-body{padding:1.4rem 1.2rem;}
  .leader-body h4{font-size:1.02rem; margin-bottom:0.25rem;}
  .leader-body span{display:block; font-size:0.8rem; font-weight:700; color:var(--red); text-transform:uppercase; letter-spacing:0.03em; margin-bottom:0.6rem;}
  .leader-body p{font-size:0.85rem; color:var(--muted);}

  /* ===== EXTRACURRICULAR ===== */
  .extra-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:1.2rem;}
  .extra-card{
    background:var(--navy-900); color:var(--white); border-radius:var(--radius); padding:1.7rem 1.3rem;
    text-align:center; transition:transform 0.25s;
  }
  .extra-card:hover{transform:translateY(-5px);}
  .extra-card:nth-child(2n){background:var(--red);}
  .extra-card i{font-size:1.5rem; margin-bottom:0.9rem; color:rgba(255,255,255,0.9);}
  .extra-card h4{color:var(--white); font-size:0.92rem; font-weight:700; font-family:'Manrope',sans-serif;}

  /* ===== GALLERY ===== */
  .gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:170px; gap:0.9rem;}
  .gallery-grid a{border-radius:10px; overflow:hidden; position:relative;}
  .gallery-grid a:nth-child(1){grid-column:span 2; grid-row:span 2;}
  .gallery-grid img{width:100%; height:100%; object-fit:cover; transition:transform 0.4s;}
  .gallery-grid a:hover img{transform:scale(1.08);}

  /* ===== CTA BANNER ===== */
  .cta-banner{
    background:linear-gradient(120deg, var(--red), var(--red-dark));
    color:var(--white); text-align:center; padding:4rem 1.5rem;
  }
  .cta-banner h2{color:var(--white); margin-bottom:0.8rem; font-size:clamp(1.6rem,3vw,2.2rem);}
  .cta-banner p{color:rgba(255,255,255,0.9); max-width:520px; margin:0 auto 1.8rem;}
  .cta-banner .hero-cta{justify-content:center;}
  .cta-banner .btn-outline-white:hover{color:var(--red);}

  /* ===== CONTACT ===== */
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:3rem;}
  .contact-item{display:flex; gap:1rem; margin-bottom:1.5rem;}
  .contact-icon{
    width:44px; height:44px; border-radius:10px; background:var(--navy-100); color:var(--navy-700);
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .contact-detail strong{display:block; font-size:0.85rem; text-transform:uppercase; letter-spacing:0.03em; color:var(--navy-900); margin-bottom:0.2rem;}
  .contact-detail a,.contact-detail span{display:block; color:var(--muted); font-size:0.95rem;}
  .form-card{background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:2rem; box-shadow:var(--shadow);}
  .form-card h3{font-size:1.25rem; margin-bottom:1.3rem;}
  .form-row{display:flex; flex-direction:column; gap:1rem;}
  .form-row input, .form-row select, .form-row textarea{
    padding:0.8rem 1rem; border:1px solid var(--border); border-radius:8px; font-family:'Manrope',sans-serif;
    font-size:0.92rem; outline:none; transition:border-color 0.2s; background:var(--cream);
  }
  .form-row input:focus, .form-row select:focus, .form-row textarea:focus{border-color:var(--navy-700);}
  .form-row button{border:none; justify-content:center;}

  /* ===== FOOTER ===== */
  footer{background:var(--navy-900); color:rgba(255,255,255,0.7); padding-top:4rem;}
  .footer-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:2.5rem; padding-bottom:3rem;}
  .footer-brand{display:flex; gap:0.8rem; align-items:center; margin-bottom:1rem;}
  .footer-brand img{height:46px;}
  .footer-brand .name{font-family:'Fraunces',serif; font-weight:700; color:var(--white); font-size:1.1rem; display:block;}
  .footer-desc{font-size:0.9rem; margin-bottom:1.3rem;}
  .footer-heading{color:var(--white); font-family:'Fraunces',serif; font-size:1rem; margin-bottom:1.1rem;}
  .footer-links li{margin-bottom:0.7rem; font-size:0.9rem;}
  .footer-links a:hover{color:var(--white);}
  .footer-bottom{border-top:1px solid rgba(255,255,255,0.12); padding:1.4rem 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:0.6rem; font-size:0.82rem;}

  /* ===== REVEAL ===== */
  .reveal{opacity:0; transform:translateY(24px); transition:opacity 0.7s ease, transform 0.7s ease;}
  .reveal.visible{opacity:1; transform:translateY(0);}

  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1; transform:none; transition:none;}
    html{scroll-behavior:auto;}
  }

  @media (max-width:980px){
    .hero-inner{grid-template-columns:1fr; text-align:center;}
    .hero p.lead{margin-inline:auto;}
    .hero-cta{justify-content:center;}
    .hero-motto{margin:0 auto; border-left:none; border-top:3px solid var(--red); padding-left:0; padding-top:0.8rem;}
    .hero-crest{order:-1;}
    .stats-inner{grid-template-columns:repeat(2,1fr);}
    .why-grid, .values-grid, .journey, .leader-grid, .extra-grid{grid-template-columns:repeat(2,1fr);}
    .journey::before{display:none;}
    .about-grid{grid-template-columns:1fr;}
    .contact-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .gallery-grid{grid-template-columns:repeat(2,1fr);}
    .gallery-grid a:nth-child(1){grid-column:span 2;}
  }
  @media (max-width:640px){
    nav.main-nav{position:fixed; top:78px; left:0; right:0; background:var(--white); flex-direction:column; padding:1.5rem; gap:1.2rem; border-bottom:1px solid var(--border); transform:translateY(-130%); transition:transform 0.3s; z-index:99;}
    nav.main-nav.open{transform:translateY(0);}
    .hamburger{display:flex;}
    .why-grid, .values-grid, .journey, .leader-grid, .extra-grid, .footer-grid{grid-template-columns:1fr;}
    .stats-inner{grid-template-columns:repeat(2,1fr);}
    .section{padding:3.5rem 0;}
  }

  /* ===== PAGE HERO (interior pages) ===== */
  .page-hero{
    position:relative; overflow:hidden;
    background:
      radial-gradient(circle at 85% 20%, rgba(217,30,43,0.14), transparent 45%),
      linear-gradient(135deg, var(--navy-900), var(--navy-700) 65%);
    color:var(--white); padding:4.5rem 0 4rem; text-align:center;
  }
  .page-hero::before{
    content:''; position:absolute; inset:0; opacity:0.06;
    background-image:radial-gradient(circle, #fff 1px, transparent 1px);
    background-size:22px 22px;
  }
  .breadcrumb{position:relative; display:flex; gap:0.5rem; justify-content:center; font-size:0.85rem; color:rgba(255,255,255,0.7); margin-bottom:1.1rem;}
  .breadcrumb a{color:rgba(255,255,255,0.7);}
  .breadcrumb a:hover{color:var(--white);}
  .breadcrumb span.sep{color:var(--red);}
  .page-hero h1{position:relative; color:var(--white); font-size:clamp(2rem,4vw,2.9rem); margin-bottom:0.9rem;}
  .page-hero p{position:relative; color:rgba(255,255,255,0.8); max-width:560px; margin:0 auto;}

  /* ===== STORY / SPLIT BLOCK ===== */
  .story-grid{display:grid; grid-template-columns:1fr 1fr; gap:3.5rem; align-items:center; margin-bottom:4rem;}
  .story-grid:nth-of-type(2n) .story-img{order:2;}
  .story-img img{border-radius:var(--radius); box-shadow:var(--shadow);}
  .story-text p{color:var(--muted); margin-bottom:1rem;}
  .story-text p strong{color:var(--navy-900);}

  /* ===== MISSION/VISION CARDS ===== */
  .mv-grid{display:grid; grid-template-columns:1fr 1fr; gap:1.6rem;}
  .mv-card{background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:2.4rem; position:relative; overflow:hidden;}
  .mv-card::before{content:''; position:absolute; top:0; left:0; width:5px; height:100%; background:var(--navy-700);}
  .mv-card.red::before{background:var(--red);}
  .mv-card .mv-icon{width:50px; height:50px; border-radius:12px; background:var(--navy-100); color:var(--navy-700); display:flex; align-items:center; justify-content:center; margin-bottom:1.2rem; font-size:1.2rem;}
  .mv-card.red .mv-icon{background:#FCE9EA; color:var(--red);}
  .mv-card h3{font-size:1.3rem; margin-bottom:0.8rem;}
  .mv-card p{color:var(--muted); font-size:0.97rem;}

  @media (max-width:900px){
    .story-grid{grid-template-columns:1fr; gap:1.8rem;}
    .story-grid .story-img{order:0 !important;}
    .mv-grid{grid-template-columns:1fr;}
  }