/* =========================================================
   EVERGREEN PUBLIC SCHOOL — eps.css  ·  "Canopy & Amber"
   Palette: deep forest green + warm amber + parchment
   ========================================================= */
:root {
  /* Brand tokens */
  --forest:       #1A3D20;
  --canopy:       #2B6B3E;
  --leaf:         #4A8C60;
  --amber:        #C87D2A;
  --amber-2:      #DFA44E;
  --amber-soft:   #EDD3A0;
  --parchment:    #F8F6F0;
  --parchment-2:  #EDE9DE;
  --parchment-s:  #FDFBF6;
  --bark:         #3A4A3E;
  --bark-2:       #5E7063;

  /* Base.css aliases */
  --paper:        var(--parchment);
  --paper-2:      var(--parchment-2);
  --paper-soft:   var(--parchment-s);
  --ink:          var(--forest);
  --ink-2:        #0F2614;
  --accent:       var(--amber);
  --accent-2:     var(--amber-2);
  --accent-soft:  var(--amber-soft);
  --spot:         var(--canopy);
  --muted:        var(--bark);
  --muted-2:      var(--bark-2);
  --line:         rgba(26,61,32,.14);
  --line-2:       rgba(26,61,32,.06);

  --f-display: "Fraunces", Georgia, serif;
  --f-body:    "Inter Tight", "Inter", -apple-system, sans-serif;
  --f-mono:    "JetBrains Mono", Menlo, monospace;

  --container:        1320px;
  --container-narrow: 1040px;
  --gutter: clamp(20px, 4vw, 56px);
  --ease: cubic-bezier(.22, 1, .36, 1);
  --shadow-soft: 0 1px 2px rgba(0,0,0,.04), 0 12px 32px -16px rgba(0,0,0,.10);
  --shadow-lift: 0 2px 4px rgba(0,0,0,.06), 0 24px 48px -20px rgba(0,0,0,.16);
}

/* RESET */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; min-width: 0; }
*::selection { background: var(--forest); color: var(--parchment); }
html { scroll-behavior: smooth; overflow-x: hidden; -webkit-text-size-adjust: 100%; }
body { font-family: var(--f-body); font-size: 16px; line-height: 1.65; color: var(--ink);
  background: var(--paper); overflow-x: hidden; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: opacity .3s var(--ease); }
button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
section, header, footer { max-width: 100vw; overflow-x: clip; position: relative; }

/* FILM GRAIN */
body::after { content:""; position:fixed; inset:0; pointer-events:none; z-index:200;
  opacity:.04; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px 200px; }
@media(prefers-reduced-motion:reduce){ body::after{display:none} }

/* TYPOGRAPHY */
h1,h2,h3,h4,h5 { font-family:var(--f-display); font-weight:400; letter-spacing:-.012em; line-height:1.08; color:var(--ink); }
h1 { font-size: clamp(2.4rem,5.5vw,4.8rem); }
h2 { font-size: clamp(1.9rem,3.6vw,3.2rem); }
h3 { font-size: clamp(1.3rem,2.2vw,2rem); }
p  { color: var(--muted); }
em { font-style:italic; font-family:var(--f-display); }

/* EYEBROW */
.eyebrow { font-family:var(--f-body); text-transform:uppercase; letter-spacing:.4em;
  font-size:11px; font-weight:600; color:var(--bark-2); display:flex; align-items:center; gap:10px; }
.eyebrow::before { content:""; display:block; width:32px; height:1.5px; background:var(--amber); flex-shrink:0; }

/* WRAPPER */
.wrap { width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }
.wrap--narrow { max-width:var(--container-narrow); }

/* NAV */
.nav { position:sticky; top:0; z-index:100; background:rgba(248,246,240,.92);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line-2); transition:box-shadow .3s var(--ease); }
.nav.scrolled { box-shadow:var(--shadow-soft); }
.nav__inner { display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  padding-block:14px; gap:16px; }
.nav__logo { display:flex; align-items:center; gap:12px; }
.nav__emblem { width:44px; height:44px; flex-shrink:0; }
.nav__name { font-family:var(--f-display); font-size:1.1rem; font-weight:400; color:var(--forest); line-height:1.1; }
.nav__name span { display:block; font-family:var(--f-mono); font-size:9px; letter-spacing:.3em; text-transform:uppercase; color:var(--bark-2); margin-top:2px; }
.nav__links { display:flex; align-items:center; gap:28px; justify-content:center; list-style:none; }
.nav__links a { font-size:13px; font-weight:500; color:var(--bark); letter-spacing:.02em; transition:color .25s; }
.nav__links a:hover, .nav__links a.active { color:var(--forest); }
.nav__cta { display:flex; justify-content:flex-end; }
.nav__phone { display:inline-flex; align-items:center; gap:8px; padding:9px 18px;
  background:var(--forest); color:var(--parchment); border-radius:4px;
  font-size:13px; font-weight:600; letter-spacing:.02em; transition:background .25s; }
.nav__phone:hover { background:var(--canopy); opacity:1; }
.nav__burger { display:none; flex-direction:column; gap:5px; padding:8px; cursor:pointer; }
.nav__burger span { display:block; width:22px; height:2px; background:var(--forest); border-radius:2px; transition:transform .3s var(--ease); }
@media(max-width:768px){
  .nav__links,.nav__cta { display:none; }
  .nav__inner { grid-template-columns:1fr auto; }
  .nav__burger { display:flex; }
  .nav__mobile { display:none; flex-direction:column; padding:16px var(--gutter) 20px; border-top:1px solid var(--line-2); }
  .nav__mobile.open { display:flex; }
  .nav__mobile a { padding:12px 0; font-size:15px; border-bottom:1px solid var(--line-2); }
  .nav__mobile .nav__phone { margin-top:16px; width:100%; justify-content:center; }
}

/* HERO */
.hero { background:var(--forest); color:var(--parchment); min-height:92vh; display:flex; align-items:center; position:relative; overflow:hidden; }
.hero__leaves { position:absolute; inset:0; pointer-events:none; overflow:hidden; opacity:.08; }
.hero__content { position:relative; z-index:2; padding-block:clamp(60px,10vh,120px); display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,6vw,80px); align-items:center; }
.hero__text .eyebrow { color:rgba(248,246,240,.5); }
.hero__text .eyebrow::before { background:var(--amber); }
.hero__text h1 { color:var(--parchment); margin-top:20px; margin-bottom:24px; }
.hero__text h1 em { color:var(--amber-2); }
.hero__text p { color:rgba(248,246,240,.7); font-size:1.1rem; max-width:480px; margin-bottom:36px; }
.hero__btns { display:flex; gap:14px; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; gap:8px; padding:14px 28px; border-radius:4px;
  font-size:14px; font-weight:600; letter-spacing:.04em; transition:all .3s var(--ease); cursor:pointer; }
.btn--primary { background:var(--amber); color:#fff; }
.btn--primary:hover { background:var(--amber-2); opacity:1; }
.btn--outline { border:1.5px solid rgba(248,246,240,.4); color:var(--parchment); }
.btn--outline:hover { border-color:var(--amber); color:var(--amber-2); opacity:1; }
.hero__badge-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:8px; padding:32px; backdrop-filter:blur(8px); }
.hero__badge-card .cbse-num { font-family:var(--f-mono); font-size:11px; letter-spacing:.25em; text-transform:uppercase; color:rgba(248,246,240,.5); margin-bottom:16px; }
.hero__badge-card h3 { color:var(--parchment); font-size:1.4rem; margin-bottom:8px; }
.hero__badge-card p { color:rgba(248,246,240,.6); font-size:.9rem; margin-bottom:20px; }
.hero__affil { display:inline-block; background:var(--amber); color:#fff; padding:6px 14px; border-radius:3px; font-family:var(--f-mono); font-size:12px; letter-spacing:.15em; margin-bottom:20px; }
.hero__trust { display:flex; flex-direction:column; gap:10px; }
.hero__trust-item { display:flex; align-items:center; gap:10px; color:rgba(248,246,240,.75); font-size:13px; }
.hero__trust-item svg { flex-shrink:0; }
@media(max-width:768px){
  .hero__content { grid-template-columns:1fr; }
  .hero__badge-card { display:none; }
  .hero { min-height:85vh; }
}

/* MARQUEE */
.marquee { background:var(--canopy); padding:13px 0; overflow:hidden; }
.marquee__track { display:flex; gap:0; animation:marquee-scroll 28s linear infinite; white-space:nowrap; }
.marquee__track span { font-family:var(--f-mono); font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:rgba(248,246,240,.85); padding:0 32px; }
.marquee__track span::after { content:"·"; margin-left:32px; color:var(--amber); }
@keyframes marquee-scroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.marquee:hover .marquee__track { animation-play-state:paused; }
@media(prefers-reduced-motion:reduce){ .marquee__track{animation:none} }

/* STATS BAR */
.stats { background:var(--parchment-2); border-block:1px solid var(--line); padding:36px 0; }
.stats__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); }
.stats__item { background:var(--parchment-2); padding:24px 28px; text-align:center; }
.stats__num { font-family:var(--f-display); font-size:clamp(1.8rem,3vw,2.8rem); color:var(--forest); font-weight:400; line-height:1; }
.stats__num sup { font-size:.5em; vertical-align:super; }
.stats__label { font-family:var(--f-mono); font-size:10px; letter-spacing:.3em; text-transform:uppercase; color:var(--bark-2); margin-top:6px; }
@media(max-width:600px){ .stats__grid{grid-template-columns:1fr 1fr} }

/* SECTION COMMONS */
.section { padding-block:clamp(60px,8vw,100px); }
.section__head { margin-bottom:clamp(36px,5vw,60px); }
.section__head h2 { margin-top:14px; }
.section__head p { max-width:600px; margin-top:16px; font-size:1.05rem; }

/* ABOUT STRIP */
.about-strip { background:var(--parchment-s); }
.about-strip__grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,6vw,80px); align-items:center; }
.about-strip__img { border-radius:6px; overflow:hidden; aspect-ratio:4/3; background:var(--parchment-2); position:relative; }
.about-strip__img img { width:100%; height:100%; object-fit:cover; }
.about-strip__img .img-fallback { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:8px; padding:24px; text-align:center; }
.about-strip__img .img-fallback svg { opacity:.3; }
.about-strip__img .img-fallback p { font-size:12px; color:var(--bark-2); }
.about-strip__trust { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:28px; }
.trust-chip { background:var(--parchment-2); border:1px solid var(--line); border-radius:4px; padding:14px 16px; }
.trust-chip__icon { font-size:1.4rem; margin-bottom:6px; }
.trust-chip__label { font-family:var(--f-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--bark-2); }
.trust-chip__val { font-size:.9rem; font-weight:600; color:var(--forest); margin-top:2px; }
@media(max-width:768px){ .about-strip__grid{grid-template-columns:1fr} }

/* PROGRAMS */
.programs { background:var(--forest); color:var(--parchment); }
.programs .eyebrow { color:rgba(248,246,240,.5); }
.programs .eyebrow::before { background:var(--amber); }
.programs .section__head h2 { color:var(--parchment); }
.programs .section__head p { color:rgba(248,246,240,.6); }
.programs__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.program-card { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:6px; padding:28px; transition:background .3s var(--ease); }
.program-card:hover { background:rgba(255,255,255,.1); }
.program-card__num { font-family:var(--f-mono); font-size:11px; letter-spacing:.3em; color:var(--amber); margin-bottom:16px; }
.program-card h3 { color:var(--parchment); font-size:1.3rem; margin-bottom:10px; }
.program-card p { color:rgba(248,246,240,.6); font-size:.9rem; margin-bottom:18px; }
.program-card__subs { display:flex; flex-wrap:wrap; gap:6px; }
.program-card__subs span { font-family:var(--f-mono); font-size:10px; letter-spacing:.15em; text-transform:uppercase; background:rgba(200,125,42,.2); color:var(--amber-2); padding:4px 10px; border-radius:3px; }
@media(max-width:768px){ .programs__grid{grid-template-columns:1fr} }

/* PILLARS */
.pillars__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.pillar { border-top:2px solid var(--amber); padding-top:20px; }
.pillar__icon { width:40px; height:40px; background:var(--parchment-2); border-radius:6px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; font-size:1.3rem; }
.pillar h3 { font-size:1.1rem; margin-bottom:8px; }
.pillar p { font-size:.9rem; }
@media(max-width:768px){ .pillars__grid{grid-template-columns:1fr 1fr} }
@media(max-width:480px){ .pillars__grid{grid-template-columns:1fr} }

/* CBSE BAND */
.cbse-band { background:var(--canopy); color:var(--parchment); padding:clamp(36px,5vw,56px) 0; }
.cbse-band__inner { display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.cbse-band__text .eyebrow { color:rgba(248,246,240,.5); }
.cbse-band__text .eyebrow::before { background:var(--amber); }
.cbse-band__text h2 { color:var(--parchment); font-size:clamp(1.6rem,3vw,2.6rem); margin-top:12px; }
.cbse-band__num { font-family:var(--f-mono); font-size:clamp(2rem,4vw,3.4rem); color:var(--amber-2); letter-spacing:.05em; font-weight:700; }
.cbse-band__sub { font-size:12px; color:rgba(248,246,240,.55); letter-spacing:.2em; text-transform:uppercase; margin-top:4px; font-family:var(--f-mono); }
.cbse-band__btn { background:var(--amber); color:#fff; padding:14px 28px; border-radius:4px; font-size:14px; font-weight:600; }

/* ADMISSIONS CTA */
.adm-cta { background:var(--parchment-2); border-top:1px solid var(--line); padding:clamp(48px,7vw,80px) 0; text-align:center; }
.adm-cta h2 { margin-bottom:16px; }
.adm-cta p { max-width:560px; margin-inline:auto; margin-bottom:32px; font-size:1.05rem; }
.adm-cta .btn--primary { font-size:15px; padding:16px 36px; }

/* FOOTER */
.footer { background:var(--ink-2); color:var(--parchment); padding:clamp(48px,6vw,72px) 0 24px; }
.footer__grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:clamp(24px,4vw,48px); margin-bottom:48px; }
.footer__brand .nav__name { font-size:1.2rem; }
.footer__brand p { color:rgba(248,246,240,.55); font-size:.88rem; margin-top:12px; max-width:260px; line-height:1.6; }
.footer__col h4 { font-family:var(--f-mono); font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:rgba(248,246,240,.4); margin-bottom:16px; }
.footer__col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer__col ul a { color:rgba(248,246,240,.65); font-size:.88rem; transition:color .25s; }
.footer__col ul a:hover { color:var(--amber-2); }
.footer__col address { font-style:normal; color:rgba(248,246,240,.65); font-size:.88rem; line-height:1.7; }
.footer__col address a { color:rgba(248,246,240,.65); }
.footer__col address a:hover { color:var(--amber-2); }
.footer__bottom { border-top:1px solid rgba(248,246,240,.1); padding-top:20px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer__bottom p { font-size:.82rem; color:rgba(248,246,240,.35); }
.footer__bottom a { color:rgba(248,246,240,.5); }
.footer__bottom a:hover { color:var(--amber-2); }
@media(max-width:768px){ .footer__grid{grid-template-columns:1fr 1fr} }
@media(max-width:480px){ .footer__grid{grid-template-columns:1fr} }

/* PAGE HERO (inner pages) */
.page-hero { background:var(--forest); color:var(--parchment); padding:clamp(60px,8vw,96px) 0 clamp(48px,6vw,72px); }
.page-hero .eyebrow { color:rgba(248,246,240,.5); }
.page-hero .eyebrow::before { background:var(--amber); }
.page-hero h1 { color:var(--parchment); margin-top:16px; }
.page-hero p { color:rgba(248,246,240,.65); max-width:560px; margin-top:14px; font-size:1.05rem; }

/* PRINCIPAL CARD */
.principal-card { display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:start;
  background:var(--parchment-2); border:1px solid var(--line); border-radius:6px; padding:28px;
  border-left:3px solid var(--amber); margin-top:24px; }
.principal-card__photo { width:80px; height:80px; border-radius:50%; background:var(--parchment); overflow:hidden; flex-shrink:0; }
.principal-card__photo img { width:100%;height:100%;object-fit:cover; }
.principal-card__name { font-family:var(--f-display); font-size:1.2rem; color:var(--forest); }
.principal-card__title { font-family:var(--f-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--bark-2); margin-top:3px; }
.principal-card blockquote { margin-top:10px; font-style:italic; font-family:var(--f-display); color:var(--muted); font-size:1rem; line-height:1.55; }

/* REVEAL ANIMATION */
.reveal { opacity:1; transform:none; }
@media(prefers-reduced-motion:no-preference){
  .reveal { opacity:0; transform:translateY(24px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
  .reveal.in { opacity:1; transform:none; }
}

/* ABOUT / INNER pages */
.prose { max-width:680px; }
.prose p { font-size:1rem; margin-bottom:16px; }
.prose p:last-child { margin-bottom:0; }
.two-col-prose { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,64px); align-items:start; }
@media(max-width:680px){ .two-col-prose{grid-template-columns:1fr} }

/* TEAM GRID */
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.team-card { border:1px solid var(--line); border-radius:6px; overflow:hidden; transition:box-shadow .3s var(--ease); }
.team-card:hover { box-shadow:var(--shadow-lift); }
.team-card__body { padding:18px; }
.team-card__name { font-family:var(--f-display); font-size:1.05rem; }
.team-card__role { font-family:var(--f-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--bark-2); margin-top:3px; }
.team-card__qual { font-size:.85rem; color:var(--muted-2); margin-top:6px; }
@media(max-width:680px){ .team-grid{grid-template-columns:1fr 1fr} }
@media(max-width:420px){ .team-grid{grid-template-columns:1fr} }

/* TABLE */
.data-table { width:100%; border-collapse:collapse; font-size:.9rem; }
.data-table th { background:var(--forest); color:var(--parchment); text-align:left; padding:12px 16px; font-family:var(--f-mono); font-size:10px; letter-spacing:.25em; text-transform:uppercase; font-weight:400; }
.data-table td { padding:12px 16px; border-bottom:1px solid var(--line); color:var(--muted); }
.data-table tr:hover td { background:var(--parchment-2); }
.data-table tr:last-child td { border-bottom:none; }

/* DISCLOSURE BOX */
.disclosure-box { background:var(--parchment-2); border:1px solid var(--line); border-radius:6px; padding:24px 28px; }
.disclosure-box h3 { font-size:1rem; margin-bottom:14px; }
.disclosure-row { display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid var(--line-2); font-size:.88rem; }
.disclosure-row:last-child { border-bottom:none; }
.disclosure-row dt { color:var(--bark-2); }
.disclosure-row dd { font-weight:600; color:var(--forest); text-align:right; }

/* FORM */
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group { display:flex; flex-direction:column; gap:6px; }
.form-group--full { grid-column:1/-1; }
.form-group label { font-size:12px; font-weight:600; letter-spacing:.05em; color:var(--bark); }
.form-group input, .form-group select, .form-group textarea { border:1.5px solid var(--line); border-radius:4px; padding:12px 14px; font-family:var(--f-body); font-size:14px; color:var(--ink); background:var(--paper); transition:border-color .25s; width:100%; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline:none; border-color:var(--canopy); }
.form-group textarea { resize:vertical; min-height:120px; }
@media(max-width:560px){ .contact-form{grid-template-columns:1fr} }
