/* ============================================================================
   LSAF · Cinematic · Green & White Edition
   Light theme. Logo-matched palette. Same animations & 3D.
   ============================================================================ */
:root{
  /* Whites & mints — body sits on mint, white for elevated cards only */
  --white:#fff;
  --paper:#ebf7ed;       /* mint body background */
  --paper-2:#dceee2;     /* slightly deeper mint */
  --cream:#e0f1e6;       /* greenish cream */
  --mist:#d3ebd9;        /* deeper mint, for section variety */

  /* Greens — lighter, brand-vibrant; dark sections now medium green */
  --green-950:#03110b;
  --green-900:#0a3625;
  --green-850:#114b33;
  --green-800:#176f44;   /* PRIMARY dark sections — lighter than before */
  --green-700:#1a5d3f;   /* deep brand */
  --green-600:#1d8551;   /* primary buttons */
  --green-500:#2da76e;   /* vibrant accent */
  --green-400:#4fcf8a;
  --green-300:#82e0a9;
  --green-200:#b8e8c8;
  --green-100:#d9f1de;
  --green-50:#ebf7ed;

  /* Gold accents — tiny role */
  --gold-600:#a87f1d;
  --gold-500:#c8a035;
  --gold-400:#e3c77a;

  /* Text */
  --ink:#0a2018;
  --ink-2:#16302a;
  --body:#2e453a;
  --muted:#6d7a73;

  /* Lines */
  --line:rgba(10,32,24,.10);
  --line-2:rgba(10,32,24,.06);
  --line-d:rgba(255,255,255,.14);

  --r-sm:10px;--r:18px;--r-lg:28px;--r-xl:40px;
  --wrap:1280px;--wrap-w:min(1480px,95vw);--pad:clamp(20px,5vw,80px);
  --ease:cubic-bezier(.22,1,.36,1);--ease-quint:cubic-bezier(.83,0,.17,1);
  --shadow-1:0 16px 40px -20px rgba(11,75,51,.18);
  --shadow-2:0 40px 100px -36px rgba(11,75,51,.28);
  --shadow-3:0 60px 140px -40px rgba(31,157,87,.32);

  --font-display:"Bricolage Grotesque","Arial Black",sans-serif;
  --font-serif:"Fraunces","Newsreader",Georgia,serif;
  --font-body:"Inter","Segoe UI",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
.lenis.lenis-smooth{scroll-behavior:auto!important;}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain;}
.lenis.lenis-stopped{overflow:hidden;}
body{margin:0;background:var(--paper);color:var(--body);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit;padding:0;}
input,textarea,select{font-family:inherit;font-size:1rem;}
::selection{background:var(--green-600);color:#fff;}
h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--ink);font-weight:700;line-height:1.02;letter-spacing:-.025em;margin:0;}
.dark h1,.dark h2,.dark h3,.dark h4{color:#fff;}
p{margin:0 0 1.1em;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);width:100%;}
.wrap-wide{max-width:var(--wrap-w);margin:0 auto;padding:0 var(--pad);width:100%;}
main{display:block;background:var(--paper);}
.kicker{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-body);font-weight:600;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--green-700);}
.kicker::before{content:"";width:24px;height:1.5px;background:var(--green-600);}
.kicker--gold{color:var(--gold-600);}
.kicker--gold::before{background:var(--gold-500);}
.kicker--light{color:rgba(255,255,255,.8);}
.kicker--light::before{background:var(--gold-400);}
.serif{font-family:var(--font-serif);font-weight:400;font-style:italic;}

/* LOADER — mint with deep-green wordmark */
.loader{position:fixed;inset:0;z-index:9999;background:var(--green-50);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.loader__mark{position:relative;width:min(60vw,420px);text-align:center;}
.loader__svg{display:block;width:100%;height:auto;}
.loader__svg path,.loader__svg line,.loader__svg rect{fill:none;stroke:var(--green-700);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.loader__text{margin-top:1.4rem;color:var(--muted);font-size:.72rem;letter-spacing:.4em;text-transform:uppercase;text-align:center;opacity:0;font-weight:500;}
.loader__bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(17,75,51,.06);overflow:hidden;}
.loader__bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green-600),var(--green-400));}

/* CUSTOM CURSOR — disabled per user request */
.cursor{display:none!important;}

/* TOPBAR — medium green strip at top */
.topbar{background:var(--green-800);color:rgba(255,255,255,.85);font-size:.78rem;border-bottom:1px solid rgba(255,255,255,.08);transition:max-height .45s var(--ease),padding .35s,opacity .25s;max-height:50px;overflow:hidden;}
.topbar__in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.55rem 0;max-width:var(--wrap-w);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}
.topbar__l,.topbar__r{display:flex;align-items:center;gap:1.6rem;}
.topbar__item{display:inline-flex;align-items:center;gap:.45rem;transition:color .25s;}
.topbar__item:hover{color:var(--gold-400);}
.topbar__item svg{color:var(--gold-400);}
.topbar__note{display:inline-flex;align-items:center;gap:.55rem;font-weight:600;color:#fff;}
.topbar__note .dot{width:6px;height:6px;border-radius:50%;background:var(--gold-400);animation:pulse 2.4s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(227,199,122,.6);}70%{box-shadow:0 0 0 9px rgba(227,199,122,0);}100%{box-shadow:0 0 0 0 rgba(227,199,122,0);}}
body.is-scrolled .topbar{max-height:0;padding:0;border:0;opacity:0;}

/* Topbar login pills */
.topbar__login{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .85rem;border:1px solid rgba(255,255,255,.22);border-radius:99px;background:rgba(255,255,255,.06);color:#fff;font-weight:600;transition:background .25s,border-color .25s;}
.topbar__login:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.4);color:#fff;}
.topbar__login svg{color:var(--gold-400);}
.topbar__login--admin{background:rgba(200,160,53,.18);border-color:rgba(200,160,53,.45);color:var(--gold-300);}
.topbar__login--admin:hover{background:var(--gold-500);border-color:var(--gold-500);color:var(--green-900);}
.topbar__login--admin:hover svg{color:var(--green-900);}

/* HEADER — white translucent */
.site-header{position:sticky;top:0;z-index:500;background:rgba(255,255,255,.82);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-bottom:1px solid var(--line-2);transition:background .35s,box-shadow .35s;}
body.is-scrolled .site-header{background:rgba(255,255,255,.94);box-shadow:0 6px 30px -20px rgba(11,75,51,.2);}
.header__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:84px;max-width:var(--wrap-w);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);transition:min-height .35s var(--ease);}
body.is-scrolled .header__in{min-height:68px;}
.brand{display:flex;align-items:center;flex-shrink:0;position:relative;}
.brand img{max-height:54px;width:auto;transition:max-height .35s var(--ease);}
body.is-scrolled .brand img{max-height:44px;}

.primary-nav>ul{display:flex;align-items:center;gap:.1rem;flex-wrap:nowrap;}
.primary-nav>ul>li>a{position:relative;display:flex;align-items:center;gap:.3rem;white-space:nowrap;font-weight:500;font-size:.92rem;color:var(--ink-2);padding:.7rem .9rem;border-radius:10px;transition:color .25s;}
.primary-nav>ul>li>a::before{content:"";position:absolute;left:50%;bottom:.45rem;width:0;height:1.5px;background:var(--green-600);transition:width .35s var(--ease),left .35s var(--ease);}
.primary-nav>ul>li>a:hover,.primary-nav>ul>li.active>a{color:var(--green-700);}
.primary-nav>ul>li>a:hover::before,.primary-nav>ul>li.active>a::before{width:calc(100% - 1.8rem);left:.9rem;}

.header__actions{display:flex;align-items:center;gap:.55rem;flex-shrink:0;}
.burger{display:none;width:48px;height:48px;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:var(--green-100);border:1px solid var(--line);}
.burger span{width:21px;height:1.6px;background:var(--green-800);border-radius:2px;transition:transform .32s var(--ease),opacity .25s;}
.burger.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.burger.is-open span:nth-child(2){opacity:0;}
.burger.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* MOBILE MENU — medium green for drama */
.mobile-menu{position:fixed;inset:0;z-index:1200;background:var(--green-800);color:#fff;display:flex;flex-direction:column;padding:1.5rem var(--pad) 2.5rem;transform:translateX(100%);transition:transform .55s var(--ease-quint);overflow-y:auto;}
.mobile-menu.is-open{transform:translateX(0);}
.mobile-menu__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;padding-top:.3rem;}
.mobile-menu__top img{max-height:48px;background:#fff;padding:6px 10px;border-radius:8px;}
.mobile-menu__x{width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,.1);display:grid;place-items:center;color:#fff;}
.mobile-menu>nav>ul>li{border-bottom:1px solid rgba(255,255,255,.1);overflow:hidden;}
.mobile-menu>nav>ul>li>a{display:flex;justify-content:space-between;align-items:center;padding:1.1rem .2rem;font-family:var(--font-display);font-weight:600;font-size:1.7rem;color:#fff;letter-spacing:-.01em;}
.mobile-menu>nav>ul>li>a::after{content:"→";color:var(--gold-400);font-size:1.3rem;opacity:.55;transition:opacity .3s,transform .3s;}
.mobile-menu>nav>ul>li>a:hover::after{opacity:1;transform:translateX(6px);}
.mobile-menu__cta{margin-top:2rem;display:flex;flex-direction:column;gap:.7rem;}
.mobile-menu__cta .btn{justify-content:center;}
.scrim{position:fixed;inset:0;background:rgba(11,20,16,.55);z-index:1100;opacity:0;visibility:hidden;transition:.45s;backdrop-filter:blur(6px);}
.scrim.is-open{opacity:1;visibility:visible;}

/* BUTTONS */
.btn{position:relative;display:inline-flex;align-items:center;gap:.6rem;font-weight:600;font-size:.94rem;padding:1rem 1.7rem;border-radius:999px;line-height:1;transition:transform .45s var(--ease),box-shadow .45s var(--ease),background .35s,color .35s,border-color .35s;white-space:nowrap;letter-spacing:-.01em;}
.btn svg{transition:transform .35s var(--ease);}
.btn:hover svg{transform:translateX(5px);}
.btn--green{background:var(--green-600);color:#fff;box-shadow:0 12px 32px -14px rgba(21,99,63,.5);}
.btn--green:hover{background:var(--green-700);box-shadow:0 22px 50px -16px rgba(21,99,63,.7);}
.btn--gold{background:var(--gold-500);color:#1d180b;box-shadow:0 12px 32px -12px rgba(200,160,53,.55);}
.btn--gold:hover{background:var(--gold-400);box-shadow:0 22px 50px -16px rgba(227,199,122,.7);}
.btn--ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line);}
.btn--ghost:hover{border-color:var(--green-600);color:var(--green-700);background:var(--green-50);}
.btn--white{background:#fff;color:var(--green-800);border:1.5px solid var(--line);box-shadow:0 6px 18px -10px rgba(11,75,51,.15);}
.btn--white:hover{background:var(--green-50);border-color:var(--green-600);color:var(--green-700);}
.btn--light{background:rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(8px);border:1.5px solid rgba(255,255,255,.2);}
.btn--light:hover{background:#fff;color:var(--green-800);}
.btn--outline-dark{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.28);}
.btn--outline-dark:hover{background:#fff;color:var(--green-800);border-color:#fff;}
.btn--lg{padding:1.2rem 2.1rem;font-size:1rem;}
.btn--xl{padding:1.4rem 2.6rem;font-size:1.06rem;}

/* SECTIONS — light by default, dark variants explicit */
.section{padding:clamp(4rem,9vw,9rem) 0;position:relative;overflow:clip;}
.section--paper{background:var(--paper);color:var(--body);}
.section--white{background:var(--green-50);color:var(--body);}
.section--cream{background:var(--cream);color:var(--body);}
.section--mist{background:var(--mist);color:var(--body);}
.section--mint{background:var(--green-100);color:var(--body);}
.section--deep{background:linear-gradient(180deg,var(--green-700),var(--green-800));color:rgba(255,255,255,.92);}
.section--deep .section-head__title,.section--deep h2,.section--deep h3,.section--deep .why-card__title{color:#fff;}
.section--deep .section-head__sub{color:rgba(255,255,255,.75);}
.section--deep .kicker{color:var(--gold-400);}
.section--deep .kicker::before{background:var(--gold-400);}
.section--deep .why-card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);}
.section--deep .why-card:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);transform:translateY(-6px);}
.section--deep .why-card__num{color:var(--gold-400);}
.section--deep .why-card__num::after{background:rgba(255,255,255,.18);}
.section--deep .why-card__text{color:rgba(255,255,255,.78);}
/* Dark accent sections — use sparingly */
.section--green{background:var(--green-800);color:rgba(255,255,255,.92);position:relative;}
.section--green-dark{background:var(--green-700);color:rgba(255,255,255,.92);}
.section--ink{background:var(--green-800);color:rgba(255,255,255,.92);}
.section--dark{background:var(--paper);color:var(--body);} /* legacy alias — light */

.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:clamp(2rem,5vw,4.5rem);flex-wrap:wrap;}
.section-head__l{max-width:680px;}
.section-head__title{font-size:clamp(2.2rem,5.5vw,4.4rem);letter-spacing:-.03em;margin:.8rem 0 0;color:var(--ink);}
.section--green .section-head__title,.section--green-dark .section-head__title,.section--ink .section-head__title{color:#fff;}
.section-head__sub{margin:1.2rem 0 0;color:var(--muted);font-size:1.1rem;max-width:560px;}
.section--green .section-head__sub,.section--green-dark .section-head__sub,.section--ink .section-head__sub{color:rgba(255,255,255,.7);}

/* HERO — light with subtle green gradient + 3D scene */
.lsaf-home{background:var(--paper);}
.lsaf-home main{background:var(--paper);}
.fx-hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:radial-gradient(1100px 700px at 78% 8%,rgba(45,167,110,.16),transparent 60%),radial-gradient(800px 700px at 8% 95%,rgba(200,160,53,.08),transparent 60%),linear-gradient(180deg,var(--green-50) 0%,var(--paper) 60%,var(--green-100) 100%);}
.fx-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;}
.fx-hero__grid{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.45;background-image:linear-gradient(rgba(31,157,87,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(31,157,87,.07) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(ellipse 75% 65% at 50% 45%,#000 25%,transparent 80%);mask-image:radial-gradient(ellipse 75% 65% at 50% 45%,#000 25%,transparent 80%);}
.fx-hero__veil{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(ellipse 65% 60% at 50% 55%,rgba(235,247,237,.78) 0%,rgba(235,247,237,.4) 45%,rgba(235,247,237,0) 75%),linear-gradient(180deg,rgba(235,247,237,.3) 0%,rgba(235,247,237,0) 25%,rgba(235,247,237,0) 60%,rgba(235,247,237,.92) 100%);}
.fx-hero__noise{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='400' height='400'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.45'/></svg>");}
.fx-hero__inner{position:relative;z-index:5;max-width:1100px;margin:0 auto;padding:7vh var(--pad);text-align:center;width:100%;}
.fx-eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-weight:600;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--green-800);background:rgba(255,255,255,.7);border:1px solid var(--green-200);border-radius:99px;padding:.5rem 1.1rem;margin-bottom:2rem;backdrop-filter:blur(10px);opacity:0;box-shadow:0 4px 16px -8px rgba(11,75,51,.1);}
.fx-dot{width:7px;height:7px;border-radius:50%;background:var(--green-500);box-shadow:0 0 14px rgba(31,157,87,.5);}
.fx-title{font-size:clamp(2.8rem,9vw,7.4rem);line-height:.94;letter-spacing:-.045em;font-weight:700;margin:0 0 .2em;color:var(--ink);}
.fx-title .line{display:block;overflow:hidden;padding-bottom:.04em;}
.fx-title .line>span{display:inline-block;}
.fx-title em{font-family:var(--font-serif);font-style:italic;font-weight:400;background:linear-gradient(120deg,var(--green-800),var(--green-700));-webkit-background-clip:text;background-clip:text;color:transparent;}
.fx-sub{font-size:clamp(1.05rem,1.55vw,1.3rem);color:var(--body);max-width:46rem;margin:1.5rem auto 2.5rem;opacity:0;}
.fx-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;opacity:0;}
.fx-chips{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-top:3rem;opacity:0;}
.fx-chip{font-size:.74rem;font-weight:600;letter-spacing:.14em;color:var(--green-800);border:1px solid var(--green-200);border-radius:99px;padding:.45rem 1rem;background:rgba(255,255,255,.6);backdrop-filter:blur(8px);}
.fx-scroll{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);z-index:6;display:flex;flex-direction:column;align-items:center;gap:.6rem;color:var(--muted);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;opacity:0;}
.fx-scroll__line{width:1px;height:50px;background:linear-gradient(180deg,transparent,var(--green-600),transparent);position:relative;overflow:hidden;}
.fx-scroll__line::after{content:"";position:absolute;left:0;top:-50%;width:100%;height:50%;background:linear-gradient(180deg,transparent,var(--green-500));animation:scrollLine 1.8s var(--ease) infinite;}
@keyframes scrollLine{from{transform:translateY(0);}to{transform:translateY(200%);}}

/* SLIDER */
.fx-slider-wrap{max-width:1400px;margin:0 auto;padding:0 var(--pad);}
.hero-slider{position:relative;background:var(--green-950);overflow:hidden;border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:0 60px 140px -50px rgba(11,75,51,.4),0 20px 60px -20px rgba(11,75,51,.18);}
.hs-viewport{overflow:hidden;}
.hs-track{display:flex;transition:transform 1s var(--ease-quint);}
.hs-slide{position:relative;flex:0 0 100%;width:100%;height:min(72vh,680px);min-height:440px;overflow:hidden;}
.hs-bg{position:absolute;inset:-8%;background-size:cover;background-position:center;filter:blur(40px) brightness(.55) saturate(1.2);transform:scale(1.16);}
.hs-slide[data-fit="fill"] .hs-bg{display:none;}
.hs-media{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.hs-media img{width:100%;height:100%;object-fit:contain;transform:scale(1.04);transition:transform 8s ease-out;}
.hs-slide[data-fit="fill"] .hs-media img{object-fit:cover;}
.hs-slide.is-active .hs-media img{transform:scale(1.13);}
.hs-scrim{position:absolute;inset:0;background:linear-gradient(105deg,rgba(6,41,25,.92) 0%,rgba(6,41,25,.6) 40%,rgba(6,41,25,0) 72%),linear-gradient(0deg,rgba(6,41,25,.75) 0%,rgba(6,41,25,0) 45%);}
.hs-link{position:absolute;inset:0;z-index:3;}
.hs-content{position:absolute;inset:0;z-index:4;display:flex;align-items:flex-end;padding:clamp(2rem,6vw,5.5rem) var(--pad);pointer-events:none;}
.hs-content__in{max-width:720px;color:#fff;opacity:0;transform:translateY(40px);}
.hs-slide.is-active .hs-content__in{opacity:1;transform:none;transition:opacity .8s var(--ease) .4s,transform .8s var(--ease) .4s;}
.hs-content__in>*{pointer-events:auto;}
.hs-eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-weight:600;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:rgba(31,157,87,.4);border:1px solid rgba(255,255,255,.25);padding:.45rem 1rem;border-radius:99px;backdrop-filter:blur(8px);margin-bottom:1.3rem;}
.hs-pulse{width:7px;height:7px;border-radius:50%;background:var(--gold-400);animation:pulse 2.2s infinite;}
.hs-heading{color:#fff;font-size:clamp(2rem,4.6vw,4rem);line-height:1.04;letter-spacing:-.025em;text-shadow:0 4px 32px rgba(0,0,0,.5);margin-bottom:.7rem;}
.hs-text{font-size:clamp(1rem,1.4vw,1.18rem);color:rgba(255,255,255,.9);margin-bottom:1.6rem;max-width:36rem;}
.hs-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);transition:background .3s,color .3s,transform .3s;opacity:0;}
.hero-slider:hover .hs-arrow{opacity:1;}
.hs-arrow:hover{background:#fff;color:var(--green-900);}
.hs-prev{left:clamp(14px,2.5vw,30px);}
.hs-next{right:clamp(14px,2.5vw,30px);}
.hs-dots{position:absolute;left:50%;transform:translateX(-50%);bottom:1.6rem;z-index:6;display:flex;gap:.55rem;}
.hs-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.32);transition:width .35s var(--ease),background .3s;}
.hs-dot.is-active{width:36px;border-radius:5px;background:var(--gold-500);}
.hs-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.1);z-index:6;}
.hs-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green-500),var(--gold-400));}
.hs-empty{padding:4rem var(--pad);text-align:center;color:var(--muted);background:#fff;border:1px dashed var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);}
.hs-empty a{color:var(--green-700);text-decoration:underline;text-underline-offset:3px;font-weight:600;}

/* EDITORIAL — cream with deep green serif italic */
.editorial{padding:clamp(5rem,12vw,11rem) 0;background:var(--cream);color:var(--ink);position:relative;overflow:hidden;}
.editorial::before{content:"";position:absolute;top:-200px;right:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(21,99,63,.10),transparent 60%);}
.editorial::after{content:"";position:absolute;bottom:-200px;left:-200px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(200,160,53,.08),transparent 60%);}
.editorial__in{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:0 var(--pad);}
.editorial__num{font-family:var(--font-display);font-size:.78rem;color:var(--green-700);letter-spacing:.32em;text-transform:uppercase;margin-bottom:2rem;display:flex;align-items:center;gap:1rem;font-weight:600;}
.editorial__num::after{content:"";flex:1;height:1px;background:var(--line);max-width:200px;}
.editorial__text{font-family:var(--font-display);font-weight:500;font-size:clamp(1.7rem,3.8vw,3.3rem);line-height:1.2;letter-spacing:-.022em;color:var(--ink);max-width:20ch;}
.editorial__text em{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--green-600);}
.editorial__bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-top:3rem;flex-wrap:wrap;}
.editorial__byline{font-size:.84rem;color:var(--muted);max-width:32ch;}
.editorial__cta{display:inline-flex;align-items:center;gap:.55rem;font-weight:600;color:var(--green-700);padding:.6rem 0;border-bottom:1.5px solid var(--green-600);transition:gap .25s,color .25s;}
.editorial__cta:hover{gap:.9rem;color:var(--green-500);}

/* WHY LSAF — light cards */
.why{background:var(--paper);color:var(--body);}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;}
.why-card{position:relative;padding:2.4rem;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;overflow:hidden;transition:border-color .4s,background .4s,transform .5s var(--ease),box-shadow .5s;}
.why-card::before{content:"";position:absolute;inset:0;background:radial-gradient(400px 300px at 80% 0%,rgba(31,157,87,.06),transparent 60%);opacity:0;transition:opacity .5s;}
.why-card:hover{border-color:var(--green-300);transform:translateY(-6px);box-shadow:var(--shadow-1);}
.why-card:hover::before{opacity:1;}
.why-card__num{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--green-600);margin-bottom:2rem;display:flex;align-items:center;gap:.7rem;letter-spacing:.04em;}
.why-card__num::after{content:"";flex:1;height:1px;background:var(--line);}
.why-card__icon{width:56px;height:56px;border-radius:14px;background:var(--green-100);color:var(--green-700);display:grid;place-items:center;margin-bottom:1.3rem;}
.why-card__title{font-size:clamp(1.4rem,2.4vw,1.85rem);color:var(--ink);margin-bottom:.7rem;letter-spacing:-.02em;}
.why-card__text{color:var(--body);font-size:.97rem;line-height:1.6;margin:0;}
/* Variant for dark sections */
.section--green .why-card,.section--green-dark .why-card,.section--ink .why-card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);}
.section--green .why-card:hover,.section--green-dark .why-card:hover,.section--ink .why-card:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);}
.section--green .why-card__num,.section--green-dark .why-card__num,.section--ink .why-card__num{color:var(--gold-400);}
.section--green .why-card__icon,.section--green-dark .why-card__icon,.section--ink .why-card__icon{background:rgba(255,255,255,.12);color:var(--green-200);}
.section--green .why-card__title,.section--green-dark .why-card__title,.section--ink .why-card__title{color:#fff;}
.section--green .why-card__text,.section--green-dark .why-card__text,.section--ink .why-card__text{color:rgba(255,255,255,.78);}

/* PROGRAMS SHOWCASE — mint bg, light cards with image */
.programs-showcase{background:var(--green-50);padding-bottom:0;color:var(--body);overflow:hidden;}
.programs-showcase .section-head{padding:0 var(--pad);max-width:var(--wrap);margin-left:auto;margin-right:auto;}
.ps-track{display:flex;gap:1.4rem;padding:2rem var(--pad) 6rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;}
.ps-track::-webkit-scrollbar{display:none;}
.ps-card{position:relative;flex:0 0 min(420px,82vw);scroll-snap-align:start;border-radius:var(--r-lg);overflow:hidden;background:#fff;border:1px solid var(--line);min-height:560px;display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s,border-color .5s;}
.ps-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-2);border-color:var(--green-300);}
.ps-card__img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--green-100);}
.ps-card__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-quint),filter .5s;filter:saturate(.95);}
.ps-card:hover .ps-card__img img{transform:scale(1.06);filter:saturate(1.1);}
.ps-card__tag{position:absolute;top:1rem;left:1rem;z-index:2;background:rgba(255,255,255,.95);color:var(--green-800);font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;padding:.4rem .85rem;border-radius:99px;border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(10px);}
.ps-card__body{padding:1.7rem 1.7rem 2rem;display:flex;flex-direction:column;flex:1;}
.ps-card__type{font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--green-700);margin-bottom:.7rem;}
.ps-card__title{font-family:var(--font-display);color:var(--ink);font-size:1.5rem;letter-spacing:-.02em;line-height:1.12;margin:0 0 .8rem;}
.ps-card__text{color:var(--body);font-size:.94rem;flex:1;margin:0;}
.ps-card__foot{margin-top:1.4rem;display:flex;align-items:center;justify-content:space-between;padding-top:1.2rem;border-top:1px solid var(--line);}
.ps-card__duration{font-size:.82rem;color:var(--muted);}
.ps-card__go{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--green-700);transition:background .3s,border-color .3s,color .3s,transform .3s;}
.ps-card:hover .ps-card__go{background:var(--green-600);border-color:var(--green-600);color:#fff;}
.ps-hint{display:flex;align-items:center;gap:.6rem;justify-content:center;color:var(--muted);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin-top:-3rem;padding-bottom:5rem;}
.ps-hint svg{animation:slideHint 2.4s ease-in-out infinite;}
@keyframes slideHint{0%,100%{transform:translateX(0);}50%{transform:translateX(8px);}}

/* STATS — KEEP medium green for visual punch */
.stats{background:var(--green-800);color:#fff;position:relative;overflow:hidden;}
.stats::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 600px at 20% 0%,rgba(200,160,53,.14),transparent 60%),radial-gradient(700px 500px at 90% 100%,rgba(31,157,87,.25),transparent 60%);}
.stats__in{position:relative;z-index:1;}
.stats .section-head__title{color:#fff;}
.stats .section-head__sub{color:rgba(255,255,255,.7);}
.stats .kicker{color:var(--gold-400);}
.stats .kicker::before{background:var(--gold-400);}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.12);}
.stat{padding:3.5rem 1.5rem 3rem;border-right:1px solid rgba(255,255,255,.12);position:relative;text-align:left;}
.stat:last-child{border-right:0;}
.stat__num{font-family:var(--font-display);font-weight:700;font-size:clamp(3rem,7vw,5.6rem);line-height:.95;letter-spacing:-.04em;color:#fff;display:flex;align-items:baseline;gap:.1em;}
.stat__num small{font-size:.45em;color:var(--gold-400);font-weight:600;}
.stat__label{margin-top:1rem;color:rgba(255,255,255,.6);font-size:.92rem;max-width:18ch;}

/* FACULTY — light bg with image cards */
.faculty-preview{background:var(--paper);color:var(--body);}
.faculty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.fac-card{position:relative;border-radius:var(--r-lg);overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .5s var(--ease),box-shadow .5s;}
.fac-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-2);}
.fac-card__img{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--green-100);}
.fac-card__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92);transition:transform 1.2s var(--ease-quint),filter .5s;}
.fac-card:hover .fac-card__img img{transform:scale(1.05);filter:saturate(1.05);}
.fac-card__overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,41,25,.92) 0%,rgba(6,41,25,0) 55%);}
.fac-card__body{position:absolute;inset:auto 0 0 0;padding:1.6rem 1.6rem 1.7rem;color:#fff;z-index:1;}
.fac-card__name{font-family:var(--font-display);font-size:1.32rem;font-weight:700;letter-spacing:-.018em;color:#fff;}
.fac-card__role{margin-top:.3rem;color:var(--gold-400);font-size:.85rem;letter-spacing:.04em;}
.fac-card__bio{color:rgba(255,255,255,.78);font-size:.86rem;margin-top:.7rem;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--ease),opacity .4s,margin-top .4s;}
.fac-card:hover .fac-card__bio{max-height:200px;opacity:1;margin-top:.7rem;}
.fac-disclaimer{margin-top:2.2rem;font-size:.82rem;color:var(--muted);text-align:center;font-style:italic;}

/* CAMPUS */
.campus{background:var(--cream);color:var(--body);}
.campus-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(150px,1fr);gap:1rem;}
.campus-cell{position:relative;overflow:hidden;border-radius:var(--r);background:var(--paper-2);}
.campus-cell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-quint),filter .5s;}
.campus-cell:hover img{transform:scale(1.05);}
.campus-cell::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,41,25,.65) 0%,rgba(6,41,25,0) 50%);opacity:0;transition:opacity .35s;}
.campus-cell:hover::after{opacity:1;}
.campus-cell__cap{position:absolute;left:1rem;bottom:1rem;color:#fff;font-size:.86rem;font-weight:600;letter-spacing:.04em;z-index:1;opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s;}
.campus-cell:hover .campus-cell__cap{opacity:1;transform:none;}
.campus-cell--a{grid-column:span 5;grid-row:span 2;}
.campus-cell--b{grid-column:span 4;grid-row:span 1;}
.campus-cell--c{grid-column:span 3;grid-row:span 1;}
.campus-cell--d{grid-column:span 3;grid-row:span 1;}
.campus-cell--e{grid-column:span 4;grid-row:span 1;}
.campus-cell--f{grid-column:span 6;grid-row:span 2;}
.campus-cell--g{grid-column:span 3;grid-row:span 1;}
.campus-cell--h{grid-column:span 3;grid-row:span 1;}

/* EVENTS */
.events{background:var(--green-50);color:var(--body);}
.events-list{display:flex;flex-direction:column;gap:0;}
.event{display:grid;grid-template-columns:140px 1fr auto;gap:2rem;padding:2.2rem 0;border-top:1px solid var(--line);align-items:center;position:relative;transition:background .35s;}
.event:hover{background:linear-gradient(90deg,var(--green-50),transparent 70%);}
.event:last-child{border-bottom:1px solid var(--line);}
.event__date{font-family:var(--font-display);font-size:.86rem;letter-spacing:.06em;color:var(--green-600);text-transform:uppercase;font-weight:600;}
.event__date strong{display:block;font-size:2.2rem;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-top:.2rem;text-transform:none;}
.event__title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.2rem,2vw,1.6rem);color:var(--ink);letter-spacing:-.015em;margin:0 0 .35rem;}
.event__meta{font-size:.88rem;color:var(--muted);}
.event__cta{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--green-700);transition:background .3s,border-color .3s,color .3s,transform .3s;}
.event:hover .event__cta{background:var(--green-600);border-color:var(--green-600);color:#fff;transform:translateX(4px);}

/* TESTIMONIALS */
.testimonials{background:var(--cream);color:var(--ink);position:relative;overflow:hidden;padding:clamp(5rem,10vw,9rem) 0;}
.testimonials::before,.testimonials::after{content:"";position:absolute;font-family:var(--font-serif);font-size:34rem;line-height:1;color:rgba(21,99,63,.08);pointer-events:none;z-index:0;}
.testimonials::before{top:-4rem;left:-2rem;content:"\201C";}
.testimonials::after{bottom:-18rem;right:-2rem;content:"\201D";}
.testimonials__in{position:relative;z-index:1;}
.tm-track{display:flex;gap:2rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:1rem;}
.tm-track::-webkit-scrollbar{display:none;}
.tm-card{flex:0 0 min(480px,85vw);scroll-snap-align:start;background:#fff;border-radius:var(--r-lg);padding:2.4rem;border:1px solid var(--line);display:flex;flex-direction:column;box-shadow:var(--shadow-1);}
.tm-card__quote{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(1.25rem,1.7vw,1.5rem);line-height:1.4;color:var(--ink);margin:0 0 1.6rem;flex:1;letter-spacing:-.01em;}
.tm-card__person{display:flex;align-items:center;gap:1rem;padding-top:1.4rem;border-top:1px solid var(--line);}
.tm-card__avatar{width:54px;height:54px;border-radius:50%;background:var(--green-700);object-fit:cover;}
.tm-card__name{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--ink);letter-spacing:-.01em;}
.tm-card__role{font-size:.84rem;color:var(--muted);margin-top:.15rem;}

/* APPLY CTA — KEEP medium green */
.apply-cta{position:relative;background:var(--green-800);color:#fff;overflow:hidden;}
.apply-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 600px at 80% 100%,rgba(200,160,53,.22),transparent 60%),radial-gradient(700px 500px at 10% 0%,rgba(31,157,87,.35),transparent 60%);}
.apply-cta__in{position:relative;z-index:1;padding:clamp(5rem,12vw,11rem) 0;text-align:center;max-width:var(--wrap);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}
.apply-cta h2{font-size:clamp(2.6rem,8vw,7rem);line-height:.96;letter-spacing:-.04em;color:#fff;margin:0;}
.apply-cta h2 em{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--gold-400);}
.apply-cta p{margin:2rem auto 2.5rem;color:rgba(255,255,255,.78);font-size:1.18rem;max-width:38rem;}
.apply-cta__deadline{display:inline-flex;align-items:center;gap:.55rem;font-weight:600;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-400);background:rgba(200,160,53,.12);border:1px solid rgba(200,160,53,.35);border-radius:99px;padding:.5rem 1.2rem;margin-bottom:2rem;}

/* INNER PAGE HEROES — mint background with subtle green wash */
.page-hero{position:relative;padding:clamp(7rem,13vw,11rem) 0 clamp(4rem,7vw,7rem);overflow:hidden;background:linear-gradient(180deg,var(--green-50) 0%,var(--green-100) 100%);color:var(--ink);}
.page-hero__bg{position:absolute;inset:0;z-index:0;}
.page-hero__bg::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 600px at 78% 8%,rgba(31,157,87,.10),transparent 60%),radial-gradient(700px 500px at 12% 95%,rgba(200,160,53,.06),transparent 60%);}
.page-hero__bg::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(31,157,87,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(31,157,87,.06) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000 25%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000 25%,transparent 75%);}
.page-hero__in{position:relative;z-index:1;}
.page-hero__num{font-family:var(--font-display);font-size:.85rem;letter-spacing:.3em;text-transform:uppercase;color:var(--green-700);margin-bottom:1.4rem;display:flex;align-items:center;gap:1rem;font-weight:600;}
.page-hero__num::after{content:"";flex:1;height:1px;background:var(--line);max-width:240px;}
.page-hero__title{font-size:clamp(2.6rem,8vw,6.4rem);line-height:.96;letter-spacing:-.038em;color:var(--ink);max-width:18ch;margin:0;}
.page-hero__title em{font-family:var(--font-serif);font-style:italic;font-weight:400;background:linear-gradient(120deg,var(--green-600),var(--green-500));-webkit-background-clip:text;background-clip:text;color:transparent;}
.page-hero__sub{margin:1.6rem 0 0;color:var(--body);font-size:clamp(1.05rem,1.5vw,1.25rem);max-width:42rem;}
.page-hero__meta{margin-top:2.6rem;display:flex;gap:3rem;flex-wrap:wrap;font-size:.86rem;color:var(--muted);}
.page-hero__meta b{display:block;font-family:var(--font-display);color:var(--ink);font-weight:700;font-size:1.05rem;margin-top:.25rem;letter-spacing:-.01em;}
.crumbs{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;font-size:.78rem;font-weight:500;color:var(--muted);margin-bottom:1.4rem;letter-spacing:.04em;}
.crumbs a:hover{color:var(--green-700);}
.crumbs .sep{color:var(--line);}

/* PROSE */
.prose{font-size:1.08rem;color:var(--body);max-width:720px;margin:0 auto;}
.dark .prose,.section--green .prose,.section--green-dark .prose,.section--ink .prose{color:rgba(255,255,255,.78);}
.prose h2{margin:2.2rem 0 .8rem;font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.025em;color:var(--ink);}
.prose h3{margin:1.7rem 0 .6rem;font-size:1.25rem;color:var(--ink);}
.section--green .prose h2,.section--green-dark .prose h2,.section--ink .prose h2,.section--green .prose h3,.section--green-dark .prose h3,.section--ink .prose h3{color:#fff;}
.prose ul{margin:0 0 1.3em;}
.prose ul li{position:relative;padding-left:1.7rem;margin-bottom:.6rem;}
.prose ul li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:9px;border-radius:3px;background:var(--green-500);}
.prose blockquote{margin:2rem 0;padding:1.7rem 2rem;background:#fff;border-left:4px solid var(--green-600);border-radius:0 var(--r-sm) var(--r-sm) 0;font-family:var(--font-serif);font-style:italic;font-size:1.35rem;line-height:1.5;color:var(--ink);box-shadow:var(--shadow-1);}
.section--green .prose blockquote,.section--green-dark .prose blockquote,.section--ink .prose blockquote{background:rgba(255,255,255,.06);color:#fff;border-color:var(--gold-500);}

/* CARDS */
.prog-grid-light{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.prog-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.8rem;transition:transform .4s var(--ease),box-shadow .4s,border-color .4s;position:relative;overflow:hidden;}
.prog-card::before{content:"";position:absolute;top:0;left:0;width:0;height:3px;background:var(--green-500);transition:width .5s var(--ease);}
.prog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-1);border-color:var(--green-300);}
.prog-card:hover::before{width:100%;}
.prog-card__ico{width:44px;height:44px;border-radius:11px;background:var(--green-100);color:var(--green-700);display:grid;place-items:center;margin-bottom:1.1rem;}
.prog-card h3{font-size:1.22rem;margin-bottom:.3rem;letter-spacing:-.015em;color:var(--ink);}
.prog-card__meta{font-size:.82rem;color:var(--green-700);margin-bottom:.6rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;}
.prog-card__text{font-size:.96rem;color:var(--body);margin:0 0 1.2rem;}

/* TABLES */
.exempt-table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.96rem;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-1);border:1px solid var(--line);}
.exempt-table th,.exempt-table td{padding:1rem 1.2rem;border-bottom:1px solid var(--line);text-align:left;}
.exempt-table thead th{background:var(--green-700);color:#fff;font-family:var(--font-display);font-size:.84rem;letter-spacing:.04em;text-transform:uppercase;}
.exempt-table tbody tr:last-child td{border-bottom:0;}
.exempt-table tbody tr:hover{background:var(--green-50);}
.exempt-table td strong{color:var(--ink);}

/* STEPS */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin:2.5rem 0;}
.step{position:relative;padding:1.8rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);transition:transform .4s,box-shadow .4s,border-color .4s;}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-1);border-color:var(--green-300);}
.step__num{font-family:var(--font-display);font-weight:700;font-size:3rem;line-height:1;margin-bottom:1rem;letter-spacing:-.04em;background:linear-gradient(135deg,var(--green-600),var(--gold-500));-webkit-background-clip:text;background-clip:text;color:transparent;}
.step__title{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--ink);letter-spacing:-.015em;margin-bottom:.4rem;}
.step__text{font-size:.92rem;color:var(--body);margin:0;}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:.9fr 1.3fr;gap:clamp(2rem,4vw,4rem);}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:2.2rem;box-shadow:var(--shadow-1);}
.contact-list li{display:flex;gap:.9rem;padding:1rem 0;border-bottom:1px solid var(--line);}
.contact-list li:last-child{border-bottom:0;}
.contact-list svg{color:var(--green-600);flex-shrink:0;margin-top:3px;}
.contact-list b{color:var(--ink);font-family:var(--font-display);display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.2rem;}
.contact-list a:hover{color:var(--green-700);}
.form-field{margin-bottom:1.2rem;}
.form-field label{display:block;font-weight:600;font-size:.78rem;color:var(--ink);margin-bottom:.4rem;letter-spacing:.08em;text-transform:uppercase;}
.form-field input,.form-field textarea,.form-field select{width:100%;padding:.95rem 1.05rem;border:1.5px solid var(--line);border-radius:var(--r-sm);background:#fff;color:var(--ink);transition:border-color .25s;font-size:1rem;}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:var(--green-600);}
.form-field textarea{min-height:160px;resize:vertical;}

/* FOOTER — medium green */
.site-footer{background:var(--green-800);color:rgba(255,255,255,.72);padding-top:5rem;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:3rem;max-width:var(--wrap);margin:0 auto;padding:0 var(--pad) 3rem;}
.footer-brand img{max-height:60px;background:#fff;padding:8px 12px;border-radius:10px;margin-bottom:1rem;}
.footer-about{margin:1.1rem 0 1.6rem;font-size:.94rem;line-height:1.7;}
.site-footer h4{color:#fff;font-family:var(--font-display);font-size:.84rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 1.5rem;}
.site-footer li{margin-bottom:.75rem;}
.site-footer a{color:rgba(255,255,255,.7);transition:color .25s;}
.site-footer a:hover{color:var(--gold-400);}
.footer-contact li{display:flex;gap:.7rem;font-size:.92rem;}
.footer-contact svg{color:var(--gold-400);flex-shrink:0;margin-top:3px;}
.socials{display:flex;gap:.5rem;}
.socials a{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.06);transition:background .25s,transform .25s,border-color .25s;}
.socials a:hover{background:var(--gold-500);color:var(--green-900);transform:translateY(-3px);border-color:var(--gold-500);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.6rem var(--pad);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.82rem;color:rgba(255,255,255,.55);max-width:var(--wrap-w);margin:0 auto;}
.to-top{position:fixed;right:24px;bottom:24px;z-index:400;width:54px;height:54px;border-radius:14px;background:var(--green-600);color:#fff;display:grid;place-items:center;box-shadow:var(--shadow-2);opacity:0;visibility:hidden;transform:translateY(14px);transition:.4s var(--ease);}
.to-top.is-show{opacity:1;visibility:visible;transform:none;}
.to-top:hover{transform:translateY(-3px);background:var(--green-700);}

/* ANIMATION UTILS */
.reveal{opacity:0;transform:translateY(50px);transition:opacity 1s var(--ease),transform 1s var(--ease);}
.reveal.is-in{opacity:1;transform:none;}
[data-delay="1"]{transition-delay:.08s;}[data-delay="2"]{transition-delay:.16s;}[data-delay="3"]{transition-delay:.24s;}[data-delay="4"]{transition-delay:.32s;}[data-delay="5"]{transition-delay:.4s;}[data-delay="6"]{transition-delay:.48s;}
.clip-reveal{clip-path:inset(0 0 100% 0);transition:clip-path 1.2s var(--ease-quint);}
.clip-reveal.is-in{clip-path:inset(0 0 0 0);}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;}.reveal,.clip-reveal{opacity:1!important;transform:none!important;clip-path:inset(0 0 0 0)!important;}.hs-media img{transform:none!important;}}

/* RESPONSIVE */
@media(max-width:1340px){.primary-nav{display:none;}.burger{display:flex;}}
@media(max-width:1100px){.why-grid,.faculty-grid,.prog-grid-light{grid-template-columns:repeat(2,1fr);}.stats-grid{grid-template-columns:repeat(2,1fr);}.stat{border-bottom:1px solid rgba(255,255,255,.12);}.stat:nth-last-child(-n+2){border-bottom:0;}.stat:nth-child(2n){border-right:0;}.footer-grid{grid-template-columns:1fr 1fr;}.contact-grid{grid-template-columns:1fr;}.steps{grid-template-columns:repeat(2,1fr);}.campus-grid{grid-template-columns:repeat(6,1fr);}.campus-cell--a{grid-column:span 6;grid-row:span 2;}.campus-cell--b,.campus-cell--c,.campus-cell--d,.campus-cell--e{grid-column:span 3;grid-row:span 1;}.campus-cell--f{grid-column:span 6;grid-row:span 2;}.campus-cell--g,.campus-cell--h{grid-column:span 3;grid-row:span 1;}}
@media(max-width:900px){.header__actions .btn{display:none;}.topbar__l .topbar__item:not(:first-child),.topbar__r a{display:none;}.event{grid-template-columns:80px 1fr auto;gap:1.2rem;}.event__date strong{font-size:1.5rem;}}
@media(max-width:640px){body{font-size:16px;}.fx-hero{min-height:88vh;}.why-grid,.faculty-grid,.prog-grid-light,.footer-grid{grid-template-columns:1fr;}.steps{grid-template-columns:1fr;}.stats-grid{grid-template-columns:1fr;}.stat{border-right:0;}.fx-cta .btn{width:100%;justify-content:center;}.hs-arrow{display:none;}.editorial__text{font-size:clamp(1.45rem,5.5vw,2rem);}.page-hero__meta{gap:1.5rem;}}
