    /* ======================================================
       LITTLE FLOWER SCHOOL — REDESIGN
       Palette (from building photo):
         slate grey-blue (brand) + warm cream/sandstone (accent)
    ====================================================== */
    :root{
      --navy-900:#2b3a47;   /* deepest slate — brand (columns/trim) */
      --navy-800:#33454f;
      --navy-700:#42586a;
      --navy-500:#6b8095;   /* slate blue-grey */
      --navy-50:#eef1f4;    /* soft off-white wall */
      --sky:#c39a54;        /* warm sandstone gold accent */
      --sky-600:#a98341;
      --sky-bright:#e0c07a; /* bright cream-gold — pops on slate */
      --sky-50:#f6efe0;
      --ink:#25303a;
      --muted:#647585;
      --paper:#ffffff;
      --line:#e3e7ec;
      --shadow-sm:0 4px 14px rgba(43,58,71,.09);
      --shadow-md:0 18px 40px rgba(43,58,71,.16);
      --radius:18px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      font-family:'Mulish',system-ui,sans-serif;
      color:var(--ink);
      background:var(--paper);
      line-height:1.65;
      overflow-x:hidden;
    }
    h1,h2,h3,h4,.display-title{
      font-family:'Fraunces',Georgia,serif;
      letter-spacing:-.01em;
      line-height:1.12;
    }
    a{text-decoration:none}
    section{position:relative}

    /* eyebrow / small heading */
    .kicker{
      display:inline-flex;align-items:center;gap:.5rem;
      font-family:'Mulish';font-weight:800;font-size:.82rem;
      color:var(--sky-600);letter-spacing:.02em;
    }
    .kicker i{color:var(--sky-bright)}
    .section-pad{padding:5.5rem 0}
    .lead-soft{color:var(--muted);font-size:1.05rem}

    /* ===================== TOP BAR ===================== */
    .topbar{
      background:linear-gradient(90deg,var(--navy-900),var(--navy-800) 60%,var(--navy-700));
      color:#d8dde2;font-size:.86rem;
    }
    .topbar a{color:#d8dde2;transition:color .2s}
    .topbar a:hover{color:var(--sky-bright)}
    .topbar i{color:var(--sky-bright)}
    .topbar .divider{opacity:.3;margin:0 .35rem}
    .topbar .ig-pill{
      width:30px;height:30px;border-radius:8px;display:inline-grid;place-items:center;
      background:rgba(255,255,255,.1);transition:.25s;
    }
    .topbar .ig-pill:hover{background:var(--sky);color:#fff}
    .topbar .ig-pill i{color:#fff}
    .adm-chip{
      display:inline-flex;align-items:center;gap:.4rem;background:rgba(224,192,122,.16);
      border:1px solid rgba(224,192,122,.35);border-radius:30px;padding:.12rem .7rem;
      font-weight:800;font-size:.78rem;color:#f6efe0;
    }
    .adm-chip .dot{width:7px;height:7px;border-radius:50%;background:var(--sky-bright);box-shadow:0 0 0 0 rgba(224,192,122,.7);animation:pulseDot 1.8s infinite}
    @keyframes pulseDot{0%{box-shadow:0 0 0 0 rgba(224,192,122,.6)}70%{box-shadow:0 0 0 7px rgba(224,192,122,0)}100%{box-shadow:0 0 0 0 rgba(224,192,122,0)}}

    /* ===================== NAVBAR ===================== */
    .navbar-lf{
      background-color:rgba(255,255,255,.98);
      background-image: url("data:image/svg+xml,<svg id='patternId' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='58' height='100.23' patternTransform='scale(2) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='%23ffffffff'/><path d='M.111-33.307l-28.997 16.744zm.012.006l28.993 16.738-.004 33.485L.115 33.492l-28.997-16.57.004-33.485m40.992 43.198v-5.672l4.937 2.85M29.113 9.995L12.117.18l17-9.815M6.114 30.062L6.114 10.57l16.967 9.798m-51.963-3.446l57.998-33.485m-29 50.055l-.005-66.8m29.001 50.23l-57.99-33.485m57.992 19.63l-5-2.887 5.002-2.887m28.872-30.805L28.99-16.768zm.012.006l28.993 16.738-.004 33.485-28.997 16.57-28.997-16.57.004-33.485m-.004 33.485l57.998-33.485M57.992 33.287l-.004-66.799m29 50.229C67.615 5.529 48.285-5.633 28.999-16.768M28.998 2.86l4.998-2.886-4.998-2.886m6.029 23.076l16.964-9.794.002 19.49m-6-3.43v-5.67l-4.936 2.85M28.995 9.789L45.994-.026 28.998-9.84M-.003 66.943L-29 83.687zm.012.006l28.993 16.738-.004 33.485m0 0L.001 133.742m0 0l-28.997-16.57m0 0l.004-33.485m57.991 26.557l-16.996-9.814 17-9.815m-58 26.557l57.999-33.485M.001 133.742l-.004-66.8m29.001 50.23l-57.99-33.485m45.994-6.928l-5.005 2.89V73.87m11.005 6.353L5.999 90.04l-.002-19.633M29 103.317l-5-2.887 5.002-2.887m28.99-30.6L28.993 83.687zm.011.006l28.993 16.738-.004 33.485m0 0l-28.997 16.57m0 0l-28.997-16.57m0 0l.004-33.485m22.99-13.28v19.627l-16.995-9.813m-5.999 36.95l57.998-33.484m-29 50.055l-.005-66.8m29.001 50.23l-57.99-33.485M29 103.314L34 100.428 29 97.542m11.996-20.786l4.996 2.885v-5.77m-16.994 36.373l17-9.815L29 90.615M57.998 66.94l-.003-33.484zm-.012.008l-28.992 16.74L-.002 66.94l.148-33.397 28.849-16.827L57.99 33.463M.084 47.363L4.997 50.2.06 53.05m5.936 17.356l16.998-9.812v19.63m35.003-20.212L41 50.2l16.996-9.812m-57.878.067l16.88 9.745L.03 59.996m28.966-43.28v66.971M.144 33.544L57.999 66.94m-58 .001L57.99 33.463M40.994 76.759v-5.78l5.004 2.89m-5.004-50.221v5.772l5-2.886m-11 53.689V60.589l17.004 9.815m-40.003 3.467l5-2.887v5.775m41.002-29.444L53 50.2l4.998 2.885M22.995 20.217v19.589l-16.88-9.744m5.97-3.481l4.91 2.835v-5.7m18-3.535v19.63l16.997-9.813'  stroke-linecap='square' stroke-width='1' stroke='%23f8f6f6ff' fill='none'/></pattern></defs><rect width='800%' height='800%' transform='translate(0,0)' fill='url(%23a)'/></svg>");
      border-bottom:1px solid var(--line);
      transition:padding .3s ease, box-shadow .3s ease;
      padding-top:.85rem;padding-bottom:.85rem;
      z-index:1046; /* above offcanvas backdrop so the drawer isn't hidden */
    }
    .navbar-lf.shrink{padding-top:.4rem;padding-bottom:.4rem;box-shadow:var(--shadow-sm)}
    .brand-wrap{display:flex;align-items:center;gap:.75rem}
    .brand-wrap img{
      height:52px;width:52px;border-radius:50%;object-fit:contain;
      border:2px solid var(--sky);background:#fff;padding:2px;transition:height .3s,width .3s;
    }
    .navbar-lf.shrink .brand-wrap img{height:44px;width:44px}
    .brand-name{font-family:'Fraunces';font-weight:600;font-size:1.5rem;color:var(--navy-900);line-height:1}
    .brand-sub{font-size:.72rem;color:var(--muted);font-weight:600;letter-spacing:.02em;line-height:1;margin-top:1px;display:block}
    .navbar-lf .nav-link{
      color:var(--ink)!important;font-weight:700;font-size:.94rem;
      padding:.5rem .85rem!important;border-radius:10px;position:relative;
    }
    .navbar-lf .nav-link:hover{color:var(--navy-700)!important;background:var(--navy-50)}
    /* animated underline indicator (desktop) */
    @media (min-width:992px){
      .navbar-lf .nav-link::before{
        content:"";position:absolute;left:.85rem;right:.85rem;bottom:.28rem;height:2px;border-radius:2px;
        background:linear-gradient(90deg,var(--sky),var(--sky-bright));
        transform:scaleX(0);transform-origin:center;transition:transform .28s ease;
      }
      .navbar-lf .nav-link:hover::before{transform:scaleX(1)}
      .navbar-lf .nav-link.dropdown-toggle::before{right:1.6rem}
    }
    /* highlighted Admission button with soft pulse glow */
    .btn-admission{position:relative}
    .btn-admission::after{
      content:"";position:absolute;inset:0;border-radius:40px;
      box-shadow:0 0 0 0 rgba(195,154,84,.55);animation:admPulse 2.4s infinite;
    }
    @keyframes admPulse{0%{box-shadow:0 0 0 0 rgba(195,154,84,.5)}70%{box-shadow:0 0 0 12px rgba(195,154,84,0)}100%{box-shadow:0 0 0 0 rgba(195,154,84,0)}}
    .dropdown-menu{
      border:none;box-shadow:var(--shadow-md);border-radius:14px;padding:.5rem;
      border-top:3px solid var(--sky);
    }
    .dropdown-item{border-radius:9px;font-weight:600;font-size:.9rem;padding:.5rem .75rem}
    .dropdown-item:hover{background:var(--navy-50);color:var(--navy-800)}
    .btn-apply{
      background:var(--sky);color:#fff;font-weight:800;border-radius:40px;
      padding:.55rem 1.4rem;border:none;transition:transform .2s,box-shadow .2s;
    }
    .btn-apply:hover{background:var(--sky-600);color:#fff;transform:translateY(-2px);box-shadow:0 10px 22px rgba(195,154,84,.35)}

    /* ---- MOBILE SLIDE-IN DRAWER (off-canvas) ---- */
    @media (max-width:991.98px){
      .lf-drawer{
        width:84%;max-width:340px;background:#fff;
        box-shadow:-14px 0 44px rgba(43,58,71,.18);
      }
      .lf-drawer .offcanvas-header{
        border-bottom:1px solid var(--line);padding:1rem 1.15rem;
      }
      .lf-drawer .offcanvas-header .brand-wrap img{
        height:44px;width:44px;border-radius:50%;object-fit:cover;
        border:2px solid var(--sky);background:#fff;
      }
      .lf-drawer .offcanvas-body{padding:.9rem 1.1rem 1.4rem;overflow-y:auto}
      .lf-drawer .navbar-nav .nav-link{
        padding:.72rem .35rem!important;border-radius:10px;border-bottom:1px solid var(--navy-50);
      }
      .lf-drawer .navbar-nav .nav-item:last-child .nav-link,
      .lf-drawer .navbar-nav .nav-item .btn-apply{border-bottom:none}
      .lf-drawer .dropdown-menu{
        border:none;box-shadow:none;padding:.15rem 0 .35rem;margin:0;
        border-left:2px solid var(--sky-50);border-radius:0;
      }
      .lf-drawer .dropdown-item{padding:.5rem .9rem}
      .lf-drawer .btn-apply{display:inline-block;margin-top:.8rem}
    }

    /* ===================== HERO ===================== */
    .hero{color:#f3f1ec}
    /* ---- HERO SLIDER (Bootstrap carousel · fade + gradient) ---- */
    .hero-slider{position:relative;overflow:hidden}
    .hero-slider .carousel-item{min-height:88vh;position:relative}
    .hero-slider .carousel-item.active,
    .hero-slider .carousel-item-next,
    .hero-slider .carousel-item-prev{display:flex;align-items:center}

    /* slide background — real photo with brand-gradient fallback */
    .slide-bg{
      position:absolute;inset:0;z-index:0;overflow:hidden;
      background:linear-gradient(135deg,#1e2a34,#2b3a47 50%,#42586a);
    }
    .slide-bg img{
      width:100%;height:100%;object-fit:cover;display:block;
    }
    .slide-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0}
    /* overlay — removed so the photo / video shows at full clarity.
       The text stays readable through the text-shadow on .slide-content instead. */
    .slide-overlay{
      position:absolute;inset:0;z-index:1;background:none;pointer-events:none;
    }
    .slide-content{position:relative;z-index:3;color:#fff;padding:3rem 0}
    .hero-slider .slide-content h1,
    .hero-slider .slide-content p,
    .hero-slider .slide-content .kicker{
      text-shadow:0 2px 4px rgba(0,0,0,.75),0 4px 18px rgba(0,0,0,.55);
    }
    .hero-slider .slide-content p{color:#fff;font-weight:600}
    .hero-slider .slide-content h1 em{color:var(--sky-bright)}

    /* smooth crossfade between slides (Bootstrap carousel-fade) */
    .hero-slider .carousel-fade .carousel-item{
      opacity:0;transition:opacity 1s ease;
    }
    .hero-slider .carousel-fade .carousel-item.active{opacity:1}
    /* gentle ken-burns zoom on the active slide's photo */
    .hero-slider .carousel-item.active .slide-bg img{animation:kenBurns 9s ease-out forwards}
    @keyframes kenBurns{from{transform:scale(1.12)}to{transform:scale(1)}}
    /* content elements slide/fade up when a slide becomes active — retriggers on change */
    .hero-slider .slide-anim{opacity:0}
    .hero-slider .carousel-item.active .slide-anim{
      animation:heroIn .9s cubic-bezier(.22,.61,.36,1) forwards;
    }
    .hero-slider .carousel-item.active .slide-anim.a1{animation-delay:.15s}
    .hero-slider .carousel-item.active .slide-anim.a2{animation-delay:.32s}
    .hero-slider .carousel-item.active .slide-anim.a3{animation-delay:.49s}
    .hero-slider .carousel-item.active .slide-anim.a4{animation-delay:.66s}
    @keyframes heroIn{
      from{opacity:0;transform:translateY(28px)}
      to{opacity:1;transform:translateY(0)}
    }

    .hero-slider .petal{z-index:2}
    .slide-crest{
      height:78px;width:78px;border-radius:50%;object-fit:cover;
      border:2px solid var(--sky-bright);background:#fff;margin-bottom:1.1rem;
    }
    /* controls — pill arrows, vertically centered on the right */
    .hero-slider .carousel-control-prev,
    .hero-slider .carousel-control-next{
      width:auto;z-index:5;opacity:1;top:50%;bottom:auto;transform:translateY(-50%);
    }
    .hero-slider .carousel-control-prev{left:auto;right:4.9rem}
    .hero-slider .carousel-control-next{right:1.4rem}
    .slider-arrow{
      width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.14);
      border:1px solid rgba(255,255,255,.32);display:grid;place-items:center;color:#fff;transition:.25s;
    }
    .slider-arrow:hover{background:var(--sky);border-color:var(--sky)}
    /* indicators — sky bars */
    .hero-slider .carousel-indicators{z-index:5;margin-bottom:2.1rem}
    .hero-slider .carousel-indicators [data-bs-target]{
      width:34px;height:5px;border-radius:6px;background:rgba(255,255,255,.4);
      border:none;transition:width .3s,background .3s;
    }
    .hero-slider .carousel-indicators .active{background:var(--sky-bright);width:54px}
    @media (max-width:767px){
      .hero-slider .carousel-item{min-height:74vh}
      .hero-slider .carousel-control-prev,.hero-slider .carousel-control-next{display:none}
    }
    .hero h1{font-size:clamp(1.9rem,3.8vw,3.2rem);font-weight:600;color:#fff}
    .hero h1 em{font-style:italic;color:var(--sky-bright);font-weight:500}
    .hero p{color:#d5d0c4;font-size:1.14rem;max-width:33rem}
    .hero .btn-hero-primary{
      background:var(--sky-bright);color:#062138;font-weight:800;border-radius:40px;
      padding:.8rem 1.7rem;border:none;transition:transform .2s,box-shadow .2s;
    }
    .hero .btn-hero-primary:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(224,192,122,.45)}
    .hero .btn-hero-ghost{
      /* light glass fill so the button stays visible on bright video frames */
      background:rgba(20,28,36,.35);color:#fff;font-weight:800;border-radius:40px;
      padding:.8rem 1.6rem;border:1.5px solid rgba(255,255,255,.7);transition:.2s;
      backdrop-filter:blur(2px);
    }
    .hero .btn-hero-ghost:hover{background:rgba(255,255,255,.18);border-color:#fff}

    /* affiliation glass badge */
    .aff-badge{
      background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);
      border-radius:16px;padding:1.1rem 1.3rem;backdrop-filter:blur(6px);
      display:inline-flex;gap:1.6rem;flex-wrap:wrap;
    }
    .aff-badge .item small{display:block;color:#b4a88f;font-size:.72rem;font-weight:700;letter-spacing:.03em}
    .aff-badge .item b{font-family:'Fraunces';font-size:1.15rem;color:#fff}

    /* floating petals (decorative, motion) */
    .petal{position:absolute;color:rgba(224,192,122,.5);z-index:1;animation:drift 14s linear infinite}
    .petal.p2{color:rgba(195,154,84,.45);animation-duration:19s}
    .petal.p3{color:rgba(255,255,255,.25);animation-duration:23s}
    @keyframes drift{
      0%{transform:translateY(-40px) translateX(0) rotate(0);opacity:0}
      12%{opacity:1}
      100%{transform:translateY(680px) translateX(60px) rotate(220deg);opacity:0}
    }

    /* hero entrance orchestration */
    .rise{opacity:0;transform:translateY(22px);animation:rise .8s cubic-bezier(.22,.61,.36,1) forwards}
    .d1{animation-delay:.1s}.d2{animation-delay:.28s}.d3{animation-delay:.46s}.d4{animation-delay:.64s}
    @keyframes rise{to{opacity:1;transform:translateY(0)}}

    /* ===================== QUICK FACTS STRIP (hero par float) ===================== */
    .facts{
      background:transparent;position:relative;z-index:20;
      margin-top:-5.5rem;padding:0 0 1.2rem;
    }
    @media (max-width:767px){
      .facts{margin-top:-4rem;padding-bottom:.5rem}
    }
    .fact-card{
      --accent:var(--navy-700);
      position:relative;overflow:hidden;
      background:linear-gradient(180deg,#ffffff,#f7fafd);
      border:1px solid var(--line);border-radius:18px;
      padding:1.5rem 1.35rem;box-shadow:var(--shadow-sm);height:100%;
      display:flex;align-items:center;gap:1rem;
      transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s;
    }
    /* top accent bar — grows in on hover */
    .fact-card::before{
      content:"";position:absolute;top:0;left:0;right:0;height:4px;
      background:var(--accent);transform:scaleX(0);transform-origin:left;
      transition:transform .35s ease;
    }
    /* soft decorative corner blob */
    .fact-card::after{
      content:"";position:absolute;bottom:-34px;right:-34px;width:116px;height:116px;border-radius:50%;
      background:var(--accent);opacity:.08;transition:transform .4s ease,opacity .3s;
    }
    .fact-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
    .fact-card:hover::before{transform:scaleX(1)}
    .fact-card:hover::after{transform:scale(1.25);opacity:.12}
    .fact-ico{
      width:54px;height:54px;flex:0 0 54px;border-radius:14px;display:grid;place-items:center;
      font-size:1.35rem;color:#fff;position:relative;z-index:1;
      background:linear-gradient(145deg,var(--navy-700),var(--navy-900));
      box-shadow:0 8px 18px rgba(43,58,71,.22);
      transition:transform .3s ease;
    }
    .fact-card > div{position:relative;z-index:1}
    .fact-card:hover .fact-ico{transform:scale(1.08) rotate(-4deg)}
    .fact-card.sky{--accent:var(--sky)}
    .fact-card.sky .fact-ico{background:linear-gradient(145deg,var(--sky),var(--sky-600));box-shadow:0 8px 18px rgba(195,154,84,.3)}
    .fact-card.bright{--accent:var(--sky-bright)}
    .fact-card.bright .fact-ico{background:linear-gradient(145deg,var(--sky-bright),var(--sky));box-shadow:0 8px 18px rgba(224,192,122,.32)}
    .fact-card small{color:var(--muted);font-weight:800;font-size:.72rem;letter-spacing:.06em;display:block;margin-bottom:.15rem}
    .fact-card b{font-family:'Fraunces';font-size:1.3rem;color:var(--navy-900);line-height:1.15}

    /* ===================== ABOUT ===================== */
    .about-img-wrap{position:relative}
    .about-img{
      border-radius:22px;width:100%;height:420px;box-shadow:var(--shadow-md);
      background:linear-gradient(150deg,var(--navy-500),var(--navy-900));
      display:grid;place-items:center;color:rgba(255,255,255,.5);font-size:4rem;
      position:relative;overflow:hidden;
    }
    .about-img img,.about-img .about-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
    .about-tag{
      position:absolute;bottom:-22px;right:-10px;background:#fff;border-radius:16px;
      box-shadow:var(--shadow-md);padding:1rem 1.3rem;border-left:4px solid var(--sky);
      z-index:3;
    }
    .about-tag b{font-family:'Fraunces';font-size:1.8rem;color:var(--navy-900);display:block}
    .about-tag small{color:var(--muted);font-weight:700}
    .value-row{display:flex;gap:.85rem;align-items:flex-start;margin-top:1.1rem}
    .value-row i{color:var(--sky);font-size:1.1rem;margin-top:.25rem}
    .value-row b{color:var(--navy-900)}

    /* ===================== STATS ===================== */
    .stats{
      background-color:var(--navy-900);color:#fff;overflow:hidden;
      background-image: url("data:image/svg+xml,<svg id='patternId' width='100%' height='100%' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='58' height='100.23' patternTransform='scale(2) rotate(0)'><rect x='0' y='0' width='100%' height='100%' fill='%232b3a47ff'/><path d='M.111-33.307l-28.997 16.744zm.012.006l28.993 16.738-.004 33.485L.115 33.492l-28.997-16.57.004-33.485m40.992 43.198v-5.672l4.937 2.85M29.113 9.995L12.117.18l17-9.815M6.114 30.062L6.114 10.57l16.967 9.798m-51.963-3.446l57.998-33.485m-29 50.055l-.005-66.8m29.001 50.23l-57.99-33.485m57.992 19.63l-5-2.887 5.002-2.887m28.872-30.805L28.99-16.768zm.012.006l28.993 16.738-.004 33.485-28.997 16.57-28.997-16.57.004-33.485m-.004 33.485l57.998-33.485M57.992 33.287l-.004-66.799m29 50.229C67.615 5.529 48.285-5.633 28.999-16.768M28.998 2.86l4.998-2.886-4.998-2.886m6.029 23.076l16.964-9.794.002 19.49m-6-3.43v-5.67l-4.936 2.85M28.995 9.789L45.994-.026 28.998-9.84M-.003 66.943L-29 83.687zm.012.006l28.993 16.738-.004 33.485m0 0L.001 133.742m0 0l-28.997-16.57m0 0l.004-33.485m57.991 26.557l-16.996-9.814 17-9.815m-58 26.557l57.999-33.485M.001 133.742l-.004-66.8m29.001 50.23l-57.99-33.485m45.994-6.928l-5.005 2.89V73.87m11.005 6.353L5.999 90.04l-.002-19.633M29 103.317l-5-2.887 5.002-2.887m28.99-30.6L28.993 83.687zm.011.006l28.993 16.738-.004 33.485m0 0l-28.997 16.57m0 0l-28.997-16.57m0 0l.004-33.485m22.99-13.28v19.627l-16.995-9.813m-5.999 36.95l57.998-33.484m-29 50.055l-.005-66.8m29.001 50.23l-57.99-33.485M29 103.314L34 100.428 29 97.542m11.996-20.786l4.996 2.885v-5.77m-16.994 36.373l17-9.815L29 90.615M57.998 66.94l-.003-33.484zm-.012.008l-28.992 16.74L-.002 66.94l.148-33.397 28.849-16.827L57.99 33.463M.084 47.363L4.997 50.2.06 53.05m5.936 17.356l16.998-9.812v19.63m35.003-20.212L41 50.2l16.996-9.812m-57.878.067l16.88 9.745L.03 59.996m28.966-43.28v66.971M.144 33.544L57.999 66.94m-58 .001L57.99 33.463M40.994 76.759v-5.78l5.004 2.89m-5.004-50.221v5.772l5-2.886m-11 53.689V60.589l17.004 9.815m-40.003 3.467l5-2.887v5.775m41.002-29.444L53 50.2l4.998 2.885M22.995 20.217v19.589l-16.88-9.744m5.97-3.481l4.91 2.835v-5.7m18-3.535v19.63l16.997-9.813'  stroke-linecap='square' stroke-width='1' stroke='%2333454fff' fill='none'/></pattern></defs><rect width='800%' height='800%' transform='translate(0,0)' fill='url(%23a)'/></svg>");
    }
    .stat h3{font-family:'Fraunces';font-size:3rem;color:var(--sky-bright);font-weight:600;margin:0}
    .stat p{color:#cec7b9;font-weight:700;margin:0}
    .stat i{color:var(--sky);font-size:1.4rem;margin-bottom:.4rem}

    /* ===================== OFFER CARDS ===================== */
    .offer-card{
      --accent:var(--navy-700);
      border-radius:var(--radius);padding:2.2rem 1.8rem;height:100%;
      border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fbfe);
      transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s,border-color .3s;
      position:relative;overflow:hidden;
    }
    /* top accent bar grows on hover */
    .offer-card::before{
      content:"";position:absolute;top:0;left:0;right:0;height:4px;
      background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s ease;
    }
    .offer-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-md);border-color:transparent}
    .offer-card:hover::before{transform:scaleX(1)}
    .offer-card.sky{--accent:var(--sky)}
    .offer-card.bright{--accent:var(--sky-bright)}
    .offer-card .blob{
      position:absolute;top:-30px;right:-30px;width:130px;height:130px;border-radius:50%;
      opacity:.1;background:var(--accent);transition:transform .4s ease,opacity .3s;
    }
    .offer-card:hover .blob{transform:scale(1.25);opacity:.14}
    .offer-ico{
      width:62px;height:62px;border-radius:18px;display:grid;place-items:center;
      font-size:1.55rem;color:#fff;margin-bottom:1.2rem;position:relative;z-index:1;
      background:linear-gradient(145deg,var(--navy-700),var(--navy-900));
      box-shadow:0 10px 22px rgba(43,58,71,.22);transition:transform .3s ease;
    }
    .offer-card:hover .offer-ico{transform:scale(1.08) rotate(-4deg)}
    .offer-card.sky .offer-ico{background:linear-gradient(145deg,var(--sky),var(--sky-600));box-shadow:0 10px 22px rgba(195,154,84,.3)}
    .offer-card.bright .offer-ico{background:linear-gradient(145deg,var(--sky-bright),var(--sky));box-shadow:0 10px 22px rgba(224,192,122,.32)}
    .offer-card h4{font-size:1.4rem;color:var(--navy-900);margin-bottom:.6rem;position:relative;z-index:1}
    .offer-card ul{list-style:none;padding:0;margin:1rem 0 0}
    .offer-card li{padding:0;color:var(--muted);font-weight:600;font-size:.93rem}
    .offer-card li a{
      display:flex;align-items:center;gap:.55rem;color:var(--muted);
      padding:.5rem .6rem;border-radius:10px;transition:background .2s,color .2s,padding .2s;
    }
    .offer-card li a i{color:var(--accent);font-size:.85rem;transition:transform .2s}
    .offer-card li a:hover{background:var(--navy-50);color:var(--navy-800);padding-left:.9rem}
    .offer-card li a:hover i{transform:translateX(3px)}

    /* ===================== PRINCIPAL ===================== */
    .principal{
      background:
        radial-gradient(520px 280px at 8% 12%,rgba(224,192,122,.14),transparent 60%),
        var(--navy-50);
      overflow:hidden;
    }
    /* left: principal profile card */
    .principal-card{
      background:linear-gradient(180deg,#fff,#f6fafe);
      border:1px solid var(--line);border-radius:22px;
      padding:2.4rem 1.6rem;text-align:center;height:100%;
      box-shadow:var(--shadow-sm);position:relative;overflow:hidden;
    }
    .principal-card::before{
      content:"";position:absolute;top:0;left:0;right:0;height:6px;
      background:linear-gradient(90deg,var(--sky),var(--sky-bright));
    }
    .principal-photo{
      width:100%;max-width:270px;aspect-ratio:1/1;border-radius:18px;overflow:hidden;
      border:4px solid #fff;
      background:linear-gradient(150deg,var(--sky),var(--navy-800));
      display:grid;place-items:center;color:#fff;font-size:2.4rem;
      box-shadow:0 14px 30px rgba(43,58,71,.24);margin:.4rem auto 1.1rem;
    }
    .principal-photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%}
    .principal-card h4{color:var(--navy-900);margin-bottom:.15rem;font-size:1.35rem}
    .principal-role{display:block;color:var(--muted);font-weight:700;font-size:.86rem;margin-bottom:1rem}
    .principal-card .kicker{justify-content:center}

    /* right: quote card */
    .quote-card{
      background:#fff;border-radius:22px;padding:2.6rem 2.6rem 2.2rem;
      box-shadow:var(--shadow-md);position:relative;height:100%;overflow:hidden;
    }
    .quote-card::after{
      content:"";position:absolute;bottom:-40px;right:-40px;width:160px;height:160px;border-radius:50%;
      background:radial-gradient(circle,rgba(224,192,122,.12),transparent 65%);
    }
    .quote-card .fa-quote-left{color:var(--sky-bright);opacity:.5;font-size:3.4rem;position:absolute;top:1.3rem;left:1.6rem}
    .quote-card p{
      font-family:'Fraunces';font-size:1.15rem;color:var(--navy-900);font-style:italic;
      position:relative;line-height:1.7;margin:1.4rem 0 0;padding-left:.2rem;
    }
    .quote-card p + p{margin-top:1rem}
    .quote-sign{display:flex;align-items:center;gap:.9rem;margin-top:1.6rem;position:relative}
    .quote-sign .sign-line{width:42px;height:3px;border-radius:3px;background:var(--sky);flex:0 0 42px}
    .quote-sign b{font-family:'Fraunces';color:var(--navy-900);font-size:1.05rem;display:block;line-height:1.2}
    .quote-sign small{color:var(--muted);font-weight:700;font-size:.82rem}

    /* ===================== NEWS & EVENTS ===================== */
    .news{background:var(--navy-50)}
    /* latest news list */
    .news-item{
      display:flex;gap:1.1rem;align-items:flex-start;background:#fff;
      border:1px solid var(--line);border-radius:16px;padding:1.15rem 1.25rem;
      margin-bottom:1rem;box-shadow:var(--shadow-sm);
      transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden;
    }
    .news-item::before{
      content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--sky);
      transform:scaleY(0);transform-origin:top;transition:transform .3s ease;
    }
    .news-item{padding-right:2.9rem}
    .news-item:hover{transform:translateX(4px);box-shadow:var(--shadow-md)}
    .news-item:hover::before{transform:scaleY(1)}
    /* hover arrow (right) */
    .news-item::after{
      content:"\f061";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.85rem;
      position:absolute;right:1.15rem;top:50%;color:var(--sky-600);
      transform:translateY(-50%) translateX(8px);opacity:0;transition:opacity .28s,transform .28s;
    }
    .news-item:hover::after{opacity:1;transform:translateY(-50%) translateX(0)}
    .news-ico{
      flex:0 0 46px;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;
      color:#fff;font-size:1.1rem;background:linear-gradient(145deg,var(--navy-700),var(--navy-900));
    }
    /* auto step-scroll viewport for news */
    .news-scroll{overflow:hidden;position:relative}
    .news-track{will-change:transform}
    .news-scroll-hint{
      text-align:center;color:var(--muted);font-weight:700;font-size:.76rem;margin-top:.4rem;
    }
    .news-scroll-hint i{color:var(--sky);margin-right:.25rem}
    .news-item.sky .news-ico{background:linear-gradient(145deg,var(--sky),var(--sky-600))}
    .news-item.bright .news-ico{background:linear-gradient(145deg,var(--sky-bright),var(--sky))}
    .news-tag{
      display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.05em;
      color:var(--sky-600);background:var(--sky-50);border-radius:20px;padding:.15rem .6rem;margin-bottom:.3rem;
    }
    .news-body b{display:block;font-family:'Fraunces';font-size:1.08rem;color:var(--navy-900);line-height:1.3}
    .news-body .news-meta{color:var(--muted);font-weight:700;font-size:.78rem;margin-top:.25rem}
    .news-body .news-meta i{color:var(--sky)}

    /* upcoming events card */
    .events-box{
      background:linear-gradient(180deg,#fff,#f7fafd);border:1px solid var(--line);border-radius:20px;
      padding:1.6rem 1.4rem .7rem;box-shadow:var(--shadow-sm);height:100%;position:relative;overflow:hidden;
    }
    .events-box::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--sky),var(--sky-bright))}
    .events-box h5{font-family:'Fraunces';color:var(--navy-900);font-weight:600;margin-bottom:1.1rem;display:flex;align-items:center;gap:.5rem}
    .events-box h5 i{color:var(--sky)}
    .event-item{
      display:flex;gap:1rem;align-items:center;padding:.85rem .6rem;margin:0 -.6rem;
      border-bottom:1px dashed var(--line);border-radius:12px;transition:background .2s;
    }
    .event-item:last-child{border-bottom:none}
    .event-item:hover{background:var(--navy-50)}
    .event-date{
      flex:0 0 60px;width:60px;border-radius:14px;text-align:center;color:#fff;padding:.5rem 0;
      background:linear-gradient(150deg,var(--navy-700),var(--navy-900));line-height:1;
      box-shadow:0 6px 14px rgba(43,58,71,.2);transition:transform .25s;
    }
    .event-item:hover .event-date{transform:scale(1.07)}
    .event-item:nth-child(2) .event-date{background:linear-gradient(150deg,var(--sky),var(--sky-600));box-shadow:0 6px 14px rgba(195,154,84,.28)}
    .event-item:nth-child(3) .event-date{background:linear-gradient(150deg,var(--sky-bright),var(--sky));box-shadow:0 6px 14px rgba(224,192,122,.3)}
    .event-date .d{font-family:'Fraunces';font-size:1.5rem;font-weight:600;display:block}
    .event-date .m{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.9}
    .event-info b{display:block;font-family:'Fraunces';font-size:1.02rem;color:var(--navy-900);line-height:1.3}
    .event-info span{color:var(--muted);font-weight:700;font-size:.8rem}
    .event-info span i{color:var(--sky);margin-right:.25rem}

    /* ===================== GALLERY ===================== */
    .gal-track{
      display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;
      padding-bottom:.5rem;scroll-behavior:smooth;
      scrollbar-width:none;-ms-overflow-style:none;
    }
    .gal-track::-webkit-scrollbar{display:none}
    .gal-slide{flex:0 0 clamp(260px,32%,360px);scroll-snap-align:start}
    .gal-arrow{
      width:44px;height:44px;flex:none;border-radius:50%;
      border:1px solid var(--line);background:#fff;color:var(--navy-800);
      display:inline-grid;place-items:center;font-size:1rem;cursor:pointer;
      box-shadow:var(--shadow-sm);transition:background .2s,color .2s,border-color .2s,transform .2s;
    }
    .gal-arrow:hover{background:var(--sky);color:#fff;border-color:var(--sky);transform:translateY(-2px)}
    .gal-arrow:active{transform:translateY(0)}
    @media(max-width:991.98px){.gal-slide{flex-basis:46%}}
    @media(max-width:575.98px){.gal-slide{flex-basis:82%}}
    .gal-item{
      border-radius:var(--radius);overflow:hidden;position:relative;height:250px;display:block;
      box-shadow:var(--shadow-sm);
    }
    .gal-thumb{
      width:100%;height:100%;display:grid;place-items:center;font-size:2.6rem;color:rgba(255,255,255,.75);
      transition:transform .5s ease;overflow:hidden;
    }
    .gal-thumb img{width:100%;height:100%;object-fit:cover;display:block}
    .gal-item:nth-child(1) .gal-thumb{background:linear-gradient(150deg,var(--navy-700),var(--navy-900))}
    .gal-item:nth-child(2) .gal-thumb{background:linear-gradient(150deg,var(--sky),var(--sky-600))}
    .gal-item:nth-child(3) .gal-thumb{background:linear-gradient(150deg,var(--sky-bright),var(--navy-700))}
    .gal-item:hover .gal-thumb{transform:scale(1.08)}
    .gal-cap{
      position:absolute;left:0;right:0;bottom:0;padding:1.2rem 1.1rem .95rem;
      background:linear-gradient(transparent,rgba(30,42,52,.88));color:#fff;
    }
    .gal-cap b{font-family:'Fraunces';font-size:1.05rem;display:block}
    .gal-cap span{font-size:.8rem;color:#e7dfce;font-weight:600}

    /* ===================== ADMISSION CTA ===================== */
    .cta-band{
      position:relative;overflow:hidden;
      background:
        radial-gradient(560px 280px at 92% 8%,rgba(224,192,122,.4),transparent 60%),
        linear-gradient(120deg,var(--navy-900) 0%,var(--navy-700) 48%,var(--sky-600) 100%);
      color:#fff;border-radius:26px;padding:3.2rem 2.8rem;box-shadow:var(--shadow-md);
    }
    /* decorative glows + dotted texture */
    .cta-band::before{
      content:"";position:absolute;top:-70px;right:-40px;width:280px;height:280px;border-radius:50%;
      background:radial-gradient(circle,rgba(224,192,122,.35),transparent 65%);pointer-events:none;
    }
    .cta-band::after{
      content:"";position:absolute;bottom:-90px;left:24%;width:240px;height:240px;border-radius:50%;
      background:radial-gradient(circle,rgba(255,255,255,.08),transparent 65%);pointer-events:none;
    }
    .cta-watermark{
      position:absolute;right:1.6rem;bottom:-2.2rem;font-size:11rem;line-height:1;
      color:rgba(255,255,255,.07);pointer-events:none;z-index:0;
    }
    .cta-band > .row{position:relative;z-index:1}
    .cta-band h2{color:#fff;font-size:2.4rem}
    .cta-badges{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.1rem}
    .cta-badges span{
      background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.24);
      border-radius:30px;padding:.32rem .85rem;font-size:.8rem;font-weight:700;
    }
    .cta-badges span i{color:var(--sky-bright);margin-right:.35rem}
    .cta-band .btn-cta{background:#fff;color:var(--navy-800);font-weight:800;border-radius:40px;padding:.8rem 1.9rem;transition:transform .2s,box-shadow .2s}
    .cta-band .btn-cta:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,0,0,.28)}
    .cta-band .btn-tc{
      background:rgba(255,255,255,.12);color:#fff;font-weight:800;border-radius:40px;
      padding:.8rem 1.6rem;border:1.5px solid rgba(255,255,255,.55);transition:.2s;
    }
    .cta-band .btn-tc:hover{background:rgba(255,255,255,.22);color:#fff;border-color:#fff;transform:translateY(-3px)}

    /* ===================== FOOTER ===================== */
    footer{
      background:linear-gradient(180deg,var(--navy-900) 0%,#1e2a34 100%);
      color:#cac3b6;position:relative;overflow:hidden;
    }
    footer::before{
      content:"";position:absolute;top:0;left:0;right:0;height:4px;
      background:linear-gradient(90deg,var(--navy-700),var(--sky) 55%,var(--sky-bright));
    }
    footer::after{
      content:"";position:absolute;top:-120px;right:-80px;width:360px;height:360px;border-radius:50%;
      background:radial-gradient(circle,rgba(195,154,84,.12),transparent 65%);pointer-events:none;
    }
    footer .container{position:relative;z-index:1}
    footer h5{
      color:#fff;font-family:'Fraunces';font-weight:600;margin-bottom:1.2rem;
      position:relative;padding-bottom:.55rem;
    }
    footer h5::after{
      content:"";position:absolute;left:0;bottom:0;width:34px;height:3px;border-radius:3px;background:var(--sky);
    }
    footer h5.foot-brand::after{display:none}
    footer a{color:#cac3b6;transition:color .2s,padding .2s;font-weight:600;font-size:.92rem}
    footer a:hover{color:var(--sky-bright)}
    footer .flink{display:block;padding:.34rem 0}
    footer .flink:hover{padding-left:5px}
    .foot-tagline{font-size:.9rem;color:#b4a88f;line-height:1.6}
    /* contact lines with icon circles */
    .contact-line{display:flex;align-items:center;gap:.75rem;padding:.4rem 0;color:#cac3b6;font-weight:600;font-size:.92rem}
    .contact-line:hover{color:var(--sky-bright)}
    .contact-ico{
      flex:0 0 36px;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
      background:rgba(255,255,255,.08);color:var(--sky-bright);font-size:.9rem;transition:.25s;
    }
    .contact-line:hover .contact-ico{background:var(--sky);color:#fff}
    .soc{
      width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:#fff;
      background:rgba(255,255,255,.09);transition:.25s;font-size:1rem;
    }
    .soc:hover{background:var(--sky);transform:translateY(-3px);color:#fff}
    .foot-bottom{
      border-top:1px solid rgba(255,255,255,.12);font-size:.85rem;color:#9d9585;
      display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;align-items:center;
    }
    .foot-bottom a{font-size:.85rem}
    @media (max-width:575px){.foot-bottom{justify-content:center;text-align:center}}

    /* ===================== SCROLL REVEAL ===================== */
    .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
    .reveal.in{opacity:1;transform:translateY(0)}

    /* back to top */
    .to-top{
      position:fixed;right:22px;bottom:22px;width:48px;height:48px;border-radius:50%;
      background:var(--navy-800);color:#fff;border:none;display:grid;place-items:center;
      box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:.3s;z-index:60;font-size:1.1rem;
    }
    .to-top.show{opacity:1;pointer-events:auto}
    .to-top:hover{background:var(--sky)}

    /* ===================== ACCESSIBILITY: reduced motion ===================== */
    @media (prefers-reduced-motion:reduce){
      *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
      .reveal{opacity:1;transform:none}
      .rise{opacity:1;transform:none}
    }
    @media (max-width:991px){
      .navbar-lf .nav-link{padding:.6rem .4rem!important}
      .about-tag{position:static;margin-top:1.2rem;display:inline-block}
    }
  

    /* ===================== NEWS PAGE (script_news.php) ===================== */
    .nev{padding:3.5rem 1rem 4.5rem;background:var(--paper)}
    .nev-head{max-width:1160px;margin:0 auto 2.2rem;text-align:center}
    .nev-title{font-family:'Fraunces';font-size:clamp(1.8rem,4vw,2.6rem);color:var(--navy-900);margin:0}
    .nev-sub{color:var(--sky-600);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;margin-top:.35rem}
    .nev-divider{width:80px;height:4px;border:none;border-radius:4px;margin:1rem auto 0;opacity:1;
      background:linear-gradient(90deg,var(--sky),var(--sky-bright))}
    .nev-grid{max-width:1160px;margin:0 auto;display:grid;gap:1.6rem;
      grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
    .ncard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
      box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;
      transition:transform .25s,box-shadow .25s}
    .ncard:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
    .ncard-top{position:relative;height:190px;overflow:hidden;
      background:linear-gradient(150deg,var(--navy-800),var(--navy-900))}
    .ncard-img{width:100%;height:100%;object-fit:cover;display:block}
    .ncard-img.ncard-img-fallback{object-fit:contain;padding:2.6rem;background:linear-gradient(150deg,var(--navy-800),var(--navy-900))}
    .ncard-logo{width:100%;height:100%;display:grid;place-items:center;
      background:linear-gradient(150deg,rgba(11,31,59,.72),rgba(8,22,43,.82)),url("../Uploads/building.jpg") center/cover no-repeat}
    .ncard-logo img{display:none}
    .ncard-date{position:absolute;top:12px;left:12px;z-index:2;background:#fff;border-radius:12px;
      padding:.4rem .7rem;text-align:center;box-shadow:var(--shadow-sm);line-height:1}
    .ncard-day{font-family:'Fraunces';font-size:1.4rem;font-weight:700;color:var(--navy-900)}
    .ncard-mon{font-size:.66rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--sky-600)}
    .ncard-body{padding:1.1rem 1.2rem .35rem;flex:1}
    .ncard-meta{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-weight:700;
      font-size:.76rem;text-transform:uppercase;letter-spacing:.03em}
    .ncard-meta .dot{width:5px;height:5px;border-radius:50%;background:var(--sky);display:inline-block}
    .ncard-name{font-family:'Fraunces';font-size:1.15rem;color:var(--navy-900);margin:.5rem 0 .4rem;line-height:1.3}
    .ncard-excerpt{color:var(--muted);font-size:.9rem;margin:0}
    .ncard-foot{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.2rem 1.1rem}
    .ncard-readart{font-size:.8rem;color:var(--muted)}
    .ncard-more{font-weight:800;font-size:.85rem;color:var(--sky-600);display:inline-flex;align-items:center;gap:.4rem}
    .ncard-more i{transition:transform .2s}
    .ncard:hover .ncard-more i{transform:translateX(3px)}
    .nev-empty{max-width:1160px;margin:2rem auto;text-align:center;color:var(--muted);
      padding:3rem;border:2px dashed var(--line);border-radius:var(--radius)}
    /* reveal + deep-link highlight */
    .nev-anim .ncard{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}
    .nev-anim .ncard.is-in{opacity:1;transform:translateY(0)}
    .ncard.nev-flash{outline:3px solid var(--sky-bright);outline-offset:3px}
    /* attachments */
    .nev-att{margin-top:1.2rem;border-top:1px solid var(--line);padding-top:1rem}
    .nev-att-h{font-weight:800;color:var(--navy-900);margin-bottom:.6rem}
    .nev-chip{display:inline-flex;align-items:center;gap:.5rem;background:var(--navy-50);
      border:1px solid var(--line);border-radius:10px;padding:.45rem .8rem;margin:0 .5rem .5rem 0;
      color:var(--navy-800);font-size:.85rem;font-weight:600}
    .nev-chip:hover{background:var(--sky);color:#fff;border-color:var(--sky)}
    /* modal */
    .nev-modal .modal-content{border:none;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md)}
    .nev-modal .modal-header{background:linear-gradient(120deg,var(--navy-900),var(--navy-700));
      color:#fff;border-bottom:none;align-items:flex-start}
    .nev-mdate{font-size:.78rem;color:var(--sky-bright);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
    .nev-mtitle{font-family:'Fraunces';margin:.2rem 0 0;color:#fff}
    .nev-modal .btn-close{filter:invert(1) grayscale(1) brightness(2)}
    .nev-modal .modal-body{padding:1.4rem 1.5rem;color:var(--ink);line-height:1.7}
    .nev-modal .modal-body img{max-width:100%;border-radius:10px;margin:.5rem 0}

    /* ============================================================
       INNER CMS PAGE (script_page.php) — slate hero + content card
       ============================================================ */
    .page-hero{
      --pg-pic:url("../uploads/building.jpg");   /* default bg; page InfoPic overrides via inline style */
      position:relative;overflow:hidden;
      background:linear-gradient(135deg,var(--navy-900),var(--navy-700));
      padding:2.6rem 0 5rem;text-align:center;
    }
    /* building/page image behind the slate wash */
    .page-hero::after{
      content:"";position:absolute;inset:0;z-index:0;
      background:linear-gradient(135deg,rgba(43,58,71,.82),rgba(66,88,106,.72)),
                 var(--pg-pic) center/cover no-repeat;
    }
    /* subtle geometric texture on top of the image */
    .page-hero::before{
      content:"";position:absolute;inset:0;z-index:1;opacity:.08;
      background-image:radial-gradient(circle at 1px 1px,#fff 1px,transparent 0);
      background-size:22px 22px;
    }
    .page-hero-inner{
      position:relative;z-index:2;
      max-width:1180px;margin:0 auto;padding:0 1.25rem;
    }
    .page-crumbs{
      display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;
      font-size:.82rem;font-weight:700;color:rgba(255,255,255,.72);margin-bottom:.85rem;
    }
    .page-crumbs a{color:rgba(255,255,255,.72);transition:color .2s}
    .page-crumbs a:hover{color:var(--sky-bright)}
    .page-crumbs i{font-size:.7rem;color:rgba(255,255,255,.4)}
    .page-crumbs span{color:var(--sky-bright)}
    .page-hero .kicker{color:var(--sky-bright)}
    .page-hero .kicker i{color:var(--sky-bright)}
    .page-hero-title{
      margin:.45rem 0 0;color:#fff;
      font-size:clamp(1.7rem,3.6vw,2.5rem);line-height:1.12;
    }
    .page-hero-title::after{
      content:"";display:block;width:60px;height:4px;margin:.85rem auto 0;
      border-radius:4px;background:linear-gradient(90deg,var(--sky-bright),var(--sky));
    }

    .page-wrap{max-width:1180px;margin:0 auto;padding:0 1.25rem 4rem}
    .page-card{
      position:relative;margin-top:-3.2rem;z-index:3;
      background:var(--paper);border:1px solid var(--line);
      border-radius:var(--radius);box-shadow:var(--shadow-md);
      padding:clamp(1.4rem,3vw,2.8rem);
    }

    /* mini table-of-contents chips */
    .page-toc{
      display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;
      padding-bottom:1.4rem;margin-bottom:1.6rem;border-bottom:1px solid var(--line);
    }
    .page-toc-label{
      font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
      color:var(--muted);margin-right:.25rem;
    }
    .page-toc a{
      font-size:.82rem;font-weight:700;color:var(--navy-700);
      background:var(--navy-50);border:1px solid var(--line);
      padding:.32rem .8rem;border-radius:999px;transition:all .2s;
    }
    .page-toc a:hover{background:var(--sky-50);border-color:var(--sky);color:var(--sky-600)}

    /* readable long-form typography for CMS HTML */
    .page-body{color:var(--ink);font-size:1.02rem;line-height:1.8}
    .page-body > *:first-child{margin-top:0}
    .page-body p{margin:0 0 1.1rem}
    .page-body h2,.page-body h3,.page-body h4{
      color:var(--navy-900);margin:2rem 0 .8rem;line-height:1.25;
    }
    .page-body h2{font-size:1.5rem}
    .page-body h3{font-size:1.2rem}
    .page-body a{color:var(--sky-600);font-weight:600;border-bottom:1px solid transparent}
    .page-body a:hover{border-bottom-color:currentColor}
    .page-body ul,.page-body ol{margin:0 0 1.1rem;padding-left:1.3rem}
    .page-body li{margin:.35rem 0}
    .page-body ul li::marker{color:var(--sky)}
    .page-body img{max-width:100%;height:auto;border-radius:12px;margin:1rem 0;box-shadow:var(--shadow-sm)}
    .page-body blockquote{
      margin:1.4rem 0;padding:.8rem 1.2rem;color:var(--navy-700);font-style:italic;
      background:var(--sky-50);border-left:4px solid var(--sky);border-radius:0 10px 10px 0;
    }
    .page-body table{
      width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.95rem;
      border:1px solid var(--line);border-radius:10px;overflow:hidden;
    }
    .page-body th,.page-body td{padding:.7rem .9rem;border:1px solid var(--line);text-align:left;vertical-align:top}
    .page-body thead th{background:var(--navy-800);color:#fff;font-weight:700}
    .page-body tbody tr:nth-child(even){background:var(--navy-50)}

    /* extra sections from pagesections */
    .page-anchor{display:block;position:relative;top:-90px;visibility:hidden}
    .page-section{margin-top:2.4rem;padding-top:2rem;border-top:1px solid var(--line)}
    .page-section-title{
      display:flex;align-items:center;gap:.65rem;
      font-size:1.55rem;color:var(--navy-900);margin:0 0 1rem;
    }
    .page-section-title::before{
      content:"";width:8px;height:26px;border-radius:4px;
      background:linear-gradient(180deg,var(--sky-bright),var(--sky));
    }

    @media (max-width:576px){
      .page-hero{padding:2rem 0 4.5rem}
      .page-card{margin-top:-2.8rem}
    }

    /* ============================================================
       GALLERY / VIDEO DETAIL PAGES + LIGHTBOX MODALS
       (script_gallery.php · script_videos.php)
       ============================================================ */

    /* --- detail page header: back button + title + top gap --- */
    .gallery-detail{padding:2.4rem 0 3rem}
    .gallery-head{
      margin-bottom:1.8rem;padding-bottom:1.2rem;
      border-bottom:1px solid var(--line);
    }
    .btn-back{
      display:inline-flex;align-items:center;gap:.5rem;
      font-size:.85rem;font-weight:700;color:var(--navy-700);
      background:var(--navy-50);border:1px solid var(--line);
      padding:.46rem .95rem;border-radius:999px;margin-bottom:1rem;
      transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
    }
    .btn-back:hover{background:var(--sky);color:#fff;border-color:var(--sky);transform:translateX(-3px)}
    .btn-back i{font-size:.78rem}
    .gallery-title{
      font-family:'Fraunces';color:var(--navy-900);margin:0;
      font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.15;
    }

    /* --- gallery list: uniform album cards --- */
    .gallery-card{
      display:flex;flex-direction:column;height:100%;
      background:var(--paper);border:1px solid var(--line);
      border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);
      transition:transform .25s ease,box-shadow .25s ease;
    }
    .gallery-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
    .gallery-card-img{height:190px;overflow:hidden;background:var(--navy-50)}
    .gallery-card-img img{
      width:100%;height:100%;object-fit:cover;display:block;
      transition:transform .35s ease;
    }
    .gallery-card:hover .gallery-card-img img{transform:scale(1.06)}
    .gallery-card-body{
      flex:1;display:flex;align-items:center;justify-content:center;
      padding:1rem .9rem;text-align:center;
    }
    .gallery-card-body h5{
      margin:0;font-family:'Fraunces';font-size:1.05rem;line-height:1.25;
      color:var(--navy-900);
    }
    @media (max-width:575.98px){.gallery-card-img{height:160px}}

    /* --- photo gallery detail: uniform thumbnail grid --- */
    .gallery-img{
      width:100%;height:190px;object-fit:cover;
      border-radius:12px;cursor:pointer;
      box-shadow:var(--shadow-sm);
      transition:transform .25s ease,box-shadow .25s ease;
    }
    .gallery-img:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
    .caption{color:var(--muted)}

    /* --- video gallery listing: play-button thumbnails (top of a .gallery-card) --- */
    .video-thumb{
      position:relative;height:190px;overflow:hidden;cursor:pointer;
      background-size:cover;background-position:center center;background-color:var(--navy-50);
    }
    @media (max-width:575.98px){.video-thumb{height:160px}}
    .video-play{
      position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
      width:56px;height:56px;border-radius:50%;
      background:rgba(43,58,71,.6);color:#fff;
      display:flex;align-items:center;justify-content:center;
      font-size:1.35rem;line-height:1;transition:background .2s ease,transform .2s ease;
    }
    .video-item:hover .video-play{background:var(--sky);transform:translate(-50%,-50%) scale(1.08)}

    /* --- shared modal shell (image + video lightbox) --- */
    #imageModal .modal-content,#videoModal .modal-content{
      border:none;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);
    }
    #imageModal .modal-header,#videoModal .modal-header{
      background:linear-gradient(120deg,var(--navy-900),var(--navy-700));
      color:#fff;border-bottom:none;
    }
    #imageModal .modal-title,#videoModal .modal-title{font-family:'Fraunces';color:#fff}
    #imageModal .modal-title .text-muted,#videoModal .modal-title .text-muted{color:var(--sky-bright)!important}
    #imageModal .btn-close,#videoModal .btn-close{filter:invert(1) grayscale(1) brightness(2)}
    #modalCaption,#vidCaption{color:var(--ink);margin-top:1rem}

    /* --- stage: holds the media + the two nav arrows --- */
    #galStage,#vidStage{
      position:relative;display:flex;align-items:center;justify-content:center;
      min-height:140px;overflow:hidden;
    }
    #modalImage{
      max-width:100%;max-height:72vh;object-fit:contain;border-radius:10px;
      transition:transform .22s ease,opacity .22s ease;
    }
    #vidFrame{
      width:100%;aspect-ratio:16/9;border:0;border-radius:10px;display:block;
      transition:transform .22s ease,opacity .22s ease;
    }

    /* --- prev / next arrows (overlaid on the stage, vertically centred) --- */
    .gal-nav,.vid-nav{
      position:absolute;top:50%;transform:translateY(-50%);z-index:5;
      width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
      display:flex;align-items:center;justify-content:center;
      font-size:1.3rem;line-height:1;
      background:rgba(43,58,71,.55);color:#fff;
      transition:background .2s ease;
    }
    .gal-nav:hover,.vid-nav:hover{background:var(--sky)}
    #galPrev,#vidPrev{left:10px}
    #galNext,#vidNext{right:10px}

    /* --- slide transition states (used by the modal JS) --- */
    .slide-in{transform:translateX(0);opacity:1}
    .slide-out-left{transform:translateX(-45px);opacity:0}
    .slide-out-right{transform:translateX(45px);opacity:0}

    @media (max-width:576px){
      .gallery-img{height:150px}
      .gal-nav,.vid-nav{width:38px;height:38px;font-size:1.1rem}
    }

    /* ============================================================
       MIGRATED CONTENT PAGES (content from the old site)
       Shared building blocks used inside pages.InfoDetails:
       lead, rules list, document cards, PDF viewer, class grid,
       stats, contact, disclosure tables.
       ============================================================ */
    .lf-lead{
      font-size:1.12rem;line-height:1.75;font-weight:600;color:var(--navy-800);
      border-left:4px solid var(--sky);padding-left:1.15rem;margin:0 0 1.6rem;
    }
    .lf-note{
      display:flex;gap:.8rem;align-items:flex-start;
      background:var(--sky-50);border:1px solid #ecdcb9;border-radius:12px;
      padding:.9rem 1.1rem;margin:1.2rem 0;color:var(--navy-800);font-size:.96rem;
    }
    .lf-note i{color:var(--sky-600);margin-top:.3rem}
    .page-body .lf-subhead{
      display:flex;align-items:center;gap:.6rem;
      font-size:1.2rem;color:var(--navy-900);margin:2rem 0 .9rem;
    }
    .page-body .lf-subhead i{
      width:34px;height:34px;border-radius:10px;flex:0 0 34px;
      display:inline-flex;align-items:center;justify-content:center;
      background:var(--navy-50);color:var(--sky-600);font-size:.95rem;
    }

    /* numbered rules */
    .page-body ol.lf-rules{list-style:none;padding:0;margin:0 0 1.4rem;counter-reset:lfr}
    .page-body ol.lf-rules > li{
      counter-increment:lfr;position:relative;
      padding:.95rem 1.1rem .95rem 3.6rem;margin:0 0 .7rem;
      background:var(--paper);border:1px solid var(--line);border-radius:12px;
      box-shadow:0 2px 8px rgba(43,58,71,.04);
    }
    .page-body ol.lf-rules > li::before{
      content:counter(lfr);position:absolute;left:1rem;top:.9rem;
      width:1.8rem;height:1.8rem;border-radius:50%;
      display:flex;align-items:center;justify-content:center;
      background:linear-gradient(135deg,var(--navy-900),var(--navy-700));
      color:var(--sky-bright);font-weight:800;font-size:.85rem;
    }

    /* buttons */
    .page-body a.lf-btn,.lf-btn{
      display:inline-flex;align-items:center;gap:.45rem;
      padding:.5rem 1rem;border-radius:999px;border:1px solid transparent;
      font-size:.85rem;font-weight:700;line-height:1.2;white-space:nowrap;
      background:var(--navy-800);color:#fff;transition:all .2s;
    }
    .page-body a.lf-btn:hover,.lf-btn:hover{background:var(--sky);color:#fff;border-bottom-color:transparent;transform:translateY(-1px)}
    .page-body a.lf-btn.ghost,.lf-btn.ghost{background:transparent;color:var(--navy-800);border-color:var(--line)}
    .page-body a.lf-btn.ghost:hover,.lf-btn.ghost:hover{background:var(--sky-50);border-color:var(--sky);color:var(--sky-600)}
    .page-body a.lf-btn.gold,.lf-btn.gold{background:var(--sky);color:#fff}
    .page-body a.lf-btn.gold:hover,.lf-btn.gold:hover{background:var(--sky-600)}

    /* document cards */
    .lf-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin:1rem 0 1.6rem}
    .lf-doc{
      display:flex;gap:.9rem;align-items:flex-start;
      background:var(--paper);border:1px solid var(--line);border-radius:14px;
      padding:1rem 1.1rem;transition:all .2s;
    }
    .lf-doc:hover{border-color:var(--sky);box-shadow:var(--shadow-sm);transform:translateY(-2px)}
    .lf-doc-ico{
      flex:0 0 44px;height:52px;border-radius:10px;
      display:flex;align-items:center;justify-content:center;
      background:linear-gradient(160deg,var(--navy-900),var(--navy-700));
      color:var(--sky-bright);font-size:1.25rem;
    }
    .lf-doc-body{min-width:0;flex:1}
    .page-body .lf-doc-title{font-family:'Mulish',sans-serif;font-weight:800;font-size:.98rem;color:var(--navy-900);margin:0 0 .15rem;line-height:1.35}
    .lf-doc-meta{font-size:.78rem;color:var(--muted);margin:0 0 .6rem;word-break:break-all}
    .lf-doc-actions{display:flex;gap:.45rem;flex-wrap:wrap}
    .page-body .lf-doc-actions a.lf-btn{padding:.35rem .8rem;font-size:.78rem}

    /* embedded PDF viewer */
    .lf-pdf{
      border:1px solid var(--line);border-radius:16px;overflow:hidden;
      box-shadow:var(--shadow-sm);margin:1rem 0 1.6rem;background:var(--navy-50);
    }
    .lf-pdf-bar{
      display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;
      padding:.85rem 1.1rem;background:linear-gradient(120deg,var(--navy-900),var(--navy-700));color:#fff;
    }
    .lf-pdf-name{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:.95rem}
    .lf-pdf-name i{color:var(--sky-bright);font-size:1.1rem}
    .page-body .lf-pdf-bar a.lf-btn.ghost{color:#fff;border-color:rgba(255,255,255,.35)}
    .page-body .lf-pdf-bar a.lf-btn.ghost:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff}
    .lf-pdf iframe{display:block;width:100%;height:78vh;min-height:520px;border:0;background:#fff}
    @media (max-width:576px){ .lf-pdf iframe{height:65vh;min-height:420px} }

    /* class / syllabus grid */
    .lf-classgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.9rem;margin:.6rem 0 1.6rem}
    .page-body a.lf-class{
      display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center;
      padding:1.2rem .8rem;border-radius:14px;border:1px solid var(--line);
      background:var(--paper);color:var(--navy-900);transition:all .2s;
    }
    .page-body a.lf-class:hover{border-color:var(--sky);box-shadow:var(--shadow-sm);transform:translateY(-3px);color:var(--navy-900)}
    .lf-class-no{
      width:56px;height:56px;border-radius:50%;
      display:flex;align-items:center;justify-content:center;
      background:linear-gradient(135deg,var(--navy-900),var(--navy-700));
      color:var(--sky-bright);font-family:'Fraunces',Georgia,serif;font-size:1.25rem;font-weight:700;
    }
    .lf-class-label{font-weight:800;font-size:.95rem}
    .lf-class-sub{font-size:.75rem;color:var(--muted);font-weight:600}

    /* stat tiles */
    .lf-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem;margin:.4rem 0 1.4rem}
    .lf-stat{background:var(--navy-50);border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;text-align:center}
    .lf-stat-num{font-family:'Fraunces',Georgia,serif;font-size:1.9rem;font-weight:700;color:var(--navy-900);line-height:1.1}
    .lf-stat-label{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:.25rem}
    .lf-stat.accent{background:linear-gradient(135deg,var(--navy-900),var(--navy-700));border-color:transparent}
    .lf-stat.accent .lf-stat-num{color:var(--sky-bright)}
    .lf-stat.accent .lf-stat-label{color:rgba(255,255,255,.75)}

    /* tables: scroll on small screens, tidy cells */
    .lf-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem 0 1.4rem;border-radius:10px}
    .page-body .lf-table-wrap table{margin:0;min-width:560px}
    .page-body table.lf-table td.c,.page-body table.lf-table th.c{text-align:center}
    .page-body table.lf-table td.sn,.page-body table.lf-table th.sn{width:70px;text-align:center}
    .page-body table.lf-table td.act,.page-body table.lf-table th.act{width:1%;white-space:nowrap;text-align:center}
    .page-body table.lf-table tfoot td{background:var(--sky-50);font-weight:800;color:var(--navy-900)}
    .page-body table.lf-table td.lbl{font-weight:700;color:var(--navy-800)}
    .page-body table.lf-table .na{color:var(--muted);font-size:.85rem;font-style:italic}
    .page-body table.lf-table td.sub{padding-left:2rem;color:var(--muted)}

    /* achievements categories */
    .lf-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin:1rem 0}
    .lf-cat{
      text-align:center;padding:1.6rem 1rem;border-radius:16px;
      background:var(--paper);border:1px solid var(--line);transition:all .2s;
    }
    .lf-cat:hover{border-color:var(--sky);box-shadow:var(--shadow-sm);transform:translateY(-3px)}
    .lf-cat > i{
      width:60px;height:60px;border-radius:50%;margin-bottom:.8rem;
      display:inline-flex;align-items:center;justify-content:center;
      background:var(--sky-50);color:var(--sky-600);font-size:1.4rem;
    }
    .page-body .lf-cat h3{font-size:1.05rem;margin:0;color:var(--navy-900)}

    /* contact */
    .lf-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin:0 0 1.6rem}
    .lf-contact-card{
      display:flex;gap:.9rem;align-items:flex-start;
      background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1.1rem;
    }
    .lf-contact-card > i{
      flex:0 0 44px;height:44px;border-radius:12px;
      display:flex;align-items:center;justify-content:center;
      background:linear-gradient(135deg,var(--navy-900),var(--navy-700));color:var(--sky-bright);
    }
    .lf-contact-card .k{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
    .lf-contact-card .v{font-weight:700;color:var(--navy-900);line-height:1.5;word-break:break-word}
    .page-body .lf-contact-card .v a{color:var(--navy-900)}
    .lf-map{border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
    .lf-map iframe{display:block;width:100%;height:420px;border:0}

    /* message page with a photo (manager) */
    .lf-msg-photo{float:right;width:min(340px,100%);margin:0 0 1rem 1.6rem}
    .page-body .lf-msg-photo img{margin:0;width:100%}
    .lf-msg-sign{margin-top:1.4rem;padding-top:1rem;border-top:1px dashed var(--line);clear:both}
    .lf-msg-sign .n{font-family:'Fraunces',Georgia,serif;font-size:1.25rem;font-weight:700;color:var(--navy-900)}
    .lf-msg-sign .r{font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--sky-600)}
    @media (max-width:768px){ .lf-msg-photo{float:none;margin:0 auto 1.2rem} }
    .page-body table.lf-table td.act .lf-doc-actions{flex-wrap:nowrap;justify-content:center}
    .page-body table.lf-table th.sn{white-space:nowrap}
