/* ============================================
   EDUSKY PRIVATE SCHOOL — Design System
   Hope & Joy palette. Shechinah-level warmth.
   Built for multi-page static site.
   ============================================ */

/* ----- DESIGN TOKENS ----- */
:root {
  /* Primary Palette — Hope & Joy */
  --sky: #4A90D9;
  --sky-deep: #3570B0;
  --sunrise: #F9A107;
  --sunrise-deep: #D48900;
  --coral: #FF6B6B;
  --coral-deep: #E05555;
  --green: #669F38;
  --green-deep: #4A7A28;

  /* Neutrals */
  --cream: #FFF8F0;
  --cream-warm: #FDF3E7;
  --ink: #111827;
  --ink-soft: #1F2937;
  --gray: #6B7280;
  --gray-light: #9CA3AF;
  --gray-border: #E5E7EB;
  --gray-bg: #F9FAFB;
  --white: #FFFFFF;

  /* Typography */
  --font-display: 'Satoshi', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* Motion */
  --ease-fluid: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  /* Layout */
  --nav-h: 72px;
  --nav-h-wrap: 128px;
  --container-max: 1280px;
}

/* ============================================
   CRAYON THEME — Full Hand-Drawn Override
   Applied via <body class="crayon-theme">
   ============================================ */

body.crayon-theme {
  --font-display: 'Caveat', cursive;
  --font-body: 'Comic Neue', 'Comic Sans MS', cursive, sans-serif;
  --font-serif: 'IBM Plex Serif', Georgia, serif;
  --paper: #FDFBF7;
  --paper-line: rgba(74, 144, 217, 0.07);
  --chalkboard: #2D2D2D;
  --chalk: #F0F0F0;

  font-family: var(--font-body);
  background: var(--paper);
  color: var(--ink);
}

/* Crayon scratch texture — disabled, kept for reference */
.crayon-scratch { display: none; }

/* Texture utilities */
.bg-paper { background: var(--paper) !important; }
.bg-sky-soft { background: linear-gradient(135deg, #F0F7FF 0%, #EAF2FD 100%) !important; }
.bg-sunrise-soft { background: linear-gradient(135deg, #FFF7E6 0%, #FFF0D9 100%) !important; }
.bg-coral-soft { background: linear-gradient(135deg, #FFF0F0 0%, #FFEBEB 100%) !important; }
.bg-green-soft { background: linear-gradient(135deg, #F0F7E6 0%, #EDF5E0 100%) !important; }
.bg-notebook {
  background: var(--paper);
  background-image: repeating-linear-gradient(
    transparent,
    transparent 31px,
    var(--paper-line) 31px,
    var(--paper-line) 32px
  );
  background-attachment: local;
}
.bg-chalkboard {
  background: var(--chalkboard) !important;
  color: var(--chalk) !important;
}
.bg-chalkboard .section-label,
.bg-chalkboard .section-title,
.bg-chalkboard .section-subtitle,
.bg-chalkboard h1,
.bg-chalkboard h2,
.bg-chalkboard h3,
.bg-chalkboard p,
.bg-chalkboard li { color: var(--chalk); }
.bg-chalkboard .section-label { color: var(--sunrise); }

/* Nav — paper instead of frosted glass */
body.crayon-theme .nav {
  background: var(--paper);
  border-bottom: 2.5px solid var(--sunrise);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.crayon-theme .nav.scrolled {
  box-shadow: 0 2px 12px rgba(249, 161, 7, 0.12);
  border-bottom-color: var(--sunrise);
}
body.crayon-theme .nav-brand {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  gap: 8px;
  margin-right: 20px;
}
body.crayon-theme .nav-brand img {
  height: 32px;
}
body.crayon-theme .nav-brand {
  font-family: 'Walter Turncoat', cursive;
}
body.crayon-theme .nav-links {
  font-family: 'Pangolin', var(--font-display);
}
body.crayon-theme .nav-cta,
body.crayon-theme .mobile-cta,
body.crayon-theme .btn,
body.crayon-theme .badge,
body.crayon-theme .btn-planning {
  font-family: 'Walter Turncoat', cursive;
}
body.crayon-theme .nav-links {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.01em;
  gap: 14px;
}
body.crayon-theme .nav-links a::before {
  width: 14px;
  height: 14px;
  margin-right: 5px;
}
body.crayon-theme .nav-cta {
  font-size: 16px;
  padding: 10px 24px;
  border-radius: 10px 14px 8px 12px;
  letter-spacing: 0.02em;
}
.nav-brand-full{white-space:nowrap}
@media(max-width:1100px){.nav-brand-full{display:none}}
@media(max-width:1200px){
  body.crayon-theme .nav-brand{font-size:0;gap:0}
  body.crayon-theme .nav-brand img{height:32px}
  body.crayon-theme .nav-cta{font-size:12px;padding:8px 16px}
}
body.crayon-theme .mobile-nav {
  background: var(--paper);
  border-top: 2px solid var(--sunrise);
}

/* Cards — wobbly hand-drawn border default */
body.crayon-theme .card {
  border: 2.5px solid var(--sunrise);
  border-radius: 12px 16px 10px 14px;
  background: var(--paper);
}
body.crayon-theme .card:hover {
  border-color: var(--sunrise-deep);
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(249, 161, 7, 0.1);
}

/* Buttons — hand-drawn border default */
body.crayon-theme .btn {
  font-family: var(--font-display);
  font-weight: 700;
  border: 2.5px solid var(--sunrise);
  border-radius: 10px 14px 8px 12px;
  letter-spacing: 0.02em;
}
body.crayon-theme .btn-primary {
  background: var(--sunrise);
}
body.crayon-theme .btn-sky {
  border-color: var(--sky);
}
body.crayon-theme .btn-coral {
  border-color: var(--coral);
}
body.crayon-theme .btn-outline {
  border: 2.5px solid var(--sky);
}
body.crayon-theme .btn-white {
  border-color: rgba(255, 255, 255, 0.5);
}

/* Headings — handwritten weight */
body.crayon-theme h1,
body.crayon-theme h2,
body.crayon-theme h3,
body.crayon-theme h4 {
  font-weight: 700;
  letter-spacing: 0.01em;
}
body.crayon-theme .hero-headline {
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.05;
}
body.crayon-theme .section-title {
  font-weight: 700;
  letter-spacing: 0.01em;
}
body.crayon-theme .section-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
body.crayon-theme .hero-badge,
body.crayon-theme .hero-badges .hbadge {
  font-family: var(--font-display);
  letter-spacing: 0.1em;
}
body.crayon-theme .hero-stats .hs-val,
body.crayon-theme .hero-stats .hs-label {
  font-family: var(--font-display);
}
body.crayon-theme .hero-scroll {
  font-family: var(--font-display);
}

/* Scribble-filled icon container */
.crayon-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  vertical-align: middle;
  margin-right: 6px;
}
.crayon-icon svg {
  width: 100%;
  height: 100%;
}

/* Scribble-filled nav icons — pure CSS, no HTML changes */
body.crayon-theme .nav-links a,
body.crayon-theme .mobile-nav a {
  display: inline-flex;
  align-items: center;
}
body.crayon-theme .nav-links a::before,
body.crayon-theme .mobile-nav a::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  flex-shrink: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* Icon variants — cycle 4 colors */
body.crayon-theme .nav-links li:nth-child(1) a::before,
body.crayon-theme .mobile-nav a[href="index.html"]::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2718%27%20height%3D%2718%27%20viewBox%3D%270%200%2018%2018%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%279%27%20r%3D%277%27%20fill%3D%27none%27%20stroke%3D%27%23F9A107%27%20stroke-width%3D%271.5%27%2F%3E%3Cpath%20d%3D%27M2%2C16L16%2C2%27%20stroke%3D%27%23F9A107%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M4%2C16L16%2C4%27%20stroke%3D%27%23F9A107%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M0%2C12L12%2C0%27%20stroke%3D%27%23F9A107%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3C%2Fsvg%3E");
}
body.crayon-theme .nav-links li:nth-child(2) a::before,
body.crayon-theme .mobile-nav a[href="about.html"]::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2718%27%20height%3D%2718%27%20viewBox%3D%270%200%2018%2018%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%279%27%20r%3D%277%27%20fill%3D%27none%27%20stroke%3D%27%234A90D9%27%20stroke-width%3D%271.5%27%2F%3E%3Cpath%20d%3D%27M2%2C16L16%2C2%27%20stroke%3D%27%234A90D9%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M4%2C16L16%2C4%27%20stroke%3D%27%234A90D9%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M0%2C12L12%2C0%27%20stroke%3D%27%234A90D9%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3C%2Fsvg%3E");
}
body.crayon-theme .nav-links li:nth-child(3) a::before,
body.crayon-theme .mobile-nav a[href="facilities.html"]::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2718%27%20height%3D%2718%27%20viewBox%3D%270%200%2018%2018%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%279%27%20r%3D%277%27%20fill%3D%27none%27%20stroke%3D%27%23FF6B6B%27%20stroke-width%3D%271.5%27%2F%3E%3Cpath%20d%3D%27M2%2C16L16%2C2%27%20stroke%3D%27%23FF6B6B%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M4%2C16L16%2C4%27%20stroke%3D%27%23FF6B6B%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M0%2C12L12%2C0%27%20stroke%3D%27%23FF6B6B%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3C%2Fsvg%3E");
}
body.crayon-theme .nav-links li:nth-child(4) a::before,
body.crayon-theme .mobile-nav a[href="curriculum.html"]::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2718%27%20height%3D%2718%27%20viewBox%3D%270%200%2018%2018%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%279%27%20r%3D%277%27%20fill%3D%27none%27%20stroke%3D%27%23669F38%27%20stroke-width%3D%271.5%27%2F%3E%3Cpath%20d%3D%27M2%2C16L16%2C2%27%20stroke%3D%27%23669F38%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M4%2C16L16%2C4%27%20stroke%3D%27%23669F38%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M0%2C12L12%2C0%27%20stroke%3D%27%23669F38%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3C%2Fsvg%3E");
}
body.crayon-theme .nav-links li:nth-child(5) a::before,
body.crayon-theme .mobile-nav a[href="admissions.html"]::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2718%27%20height%3D%2718%27%20viewBox%3D%270%200%2018%2018%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%279%27%20r%3D%277%27%20fill%3D%27none%27%20stroke%3D%27%23F9A107%27%20stroke-width%3D%271.5%27%2F%3E%3Cpath%20d%3D%27M2%2C16L16%2C2%27%20stroke%3D%27%23F9A107%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M4%2C16L16%2C4%27%20stroke%3D%27%23F9A107%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M0%2C12L12%2C0%27%20stroke%3D%27%23F9A107%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3C%2Fsvg%3E");
}
body.crayon-theme .nav-links li:nth-child(6) a::before,
body.crayon-theme .mobile-nav a[href="student-life.html"]::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2718%27%20height%3D%2718%27%20viewBox%3D%270%200%2018%2018%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%279%27%20r%3D%277%27%20fill%3D%27none%27%20stroke%3D%27%234A90D9%27%20stroke-width%3D%271.5%27%2F%3E%3Cpath%20d%3D%27M2%2C16L16%2C2%27%20stroke%3D%27%234A90D9%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M4%2C16L16%2C4%27%20stroke%3D%27%234A90D9%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M0%2C12L12%2C0%27%20stroke%3D%27%234A90D9%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3C%2Fsvg%3E");
}
body.crayon-theme .nav-links li:nth-child(7) a::before,
body.crayon-theme .mobile-nav a[href="eca-clubs.html"]::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2718%27%20height%3D%2718%27%20viewBox%3D%270%200%2018%2018%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%279%27%20r%3D%277%27%20fill%3D%27none%27%20stroke%3D%27%23FF6B6B%27%20stroke-width%3D%271.5%27%2F%3E%3Cpath%20d%3D%27M2%2C16L16%2C2%27%20stroke%3D%27%23FF6B6B%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M4%2C16L16%2C4%27%20stroke%3D%27%23FF6B6B%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M0%2C12L12%2C0%27%20stroke%3D%27%23FF6B6B%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3C%2Fsvg%3E");
}
body.crayon-theme .nav-links li:nth-child(8) a::before,
body.crayon-theme .mobile-nav a[href="gallery.html"]::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2718%27%20height%3D%2718%27%20viewBox%3D%270%200%2018%2018%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%279%27%20r%3D%277%27%20fill%3D%27none%27%20stroke%3D%27%23669F38%27%20stroke-width%3D%271.5%27%2F%3E%3Cpath%20d%3D%27M2%2C16L16%2C2%27%20stroke%3D%27%23669F38%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M4%2C16L16%2C4%27%20stroke%3D%27%23669F38%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M0%2C12L12%2C0%27%20stroke%3D%27%23669F38%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3C%2Fsvg%3E");
}
body.crayon-theme .nav-links li:nth-child(9) a::before,
body.crayon-theme .mobile-nav a[href="events.html"]::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2718%27%20height%3D%2718%27%20viewBox%3D%270%200%2018%2018%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%279%27%20r%3D%277%27%20fill%3D%27none%27%20stroke%3D%27%23F9A107%27%20stroke-width%3D%271.5%27%2F%3E%3Cpath%20d%3D%27M2%2C16L16%2C2%27%20stroke%3D%27%23F9A107%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M4%2C16L16%2C4%27%20stroke%3D%27%23F9A107%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M0%2C12L12%2C0%27%20stroke%3D%27%23F9A107%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3C%2Fsvg%3E");
}
body.crayon-theme .nav-links li:nth-child(10) a::before,
body.crayon-theme .mobile-nav a[href="blog/"]::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2718%27%20height%3D%2718%27%20viewBox%3D%270%200%2018%2018%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%279%27%20r%3D%277%27%20fill%3D%27none%27%20stroke%3D%27%234A90D9%27%20stroke-width%3D%271.5%27%2F%3E%3Cpath%20d%3D%27M2%2C16L16%2C2%27%20stroke%3D%27%234A90D9%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M4%2C16L16%2C4%27%20stroke%3D%27%234A90D9%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M0%2C12L12%2C0%27%20stroke%3D%27%234A90D9%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3C%2Fsvg%3E");
}
body.crayon-theme .nav-links li:nth-child(11) a::before,
body.crayon-theme .mobile-nav a[href="contact.html"]::before {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2718%27%20height%3D%2718%27%20viewBox%3D%270%200%2018%2018%27%3E%3Ccircle%20cx%3D%279%27%20cy%3D%279%27%20r%3D%277%27%20fill%3D%27none%27%20stroke%3D%27%23FF6B6B%27%20stroke-width%3D%271.5%27%2F%3E%3Cpath%20d%3D%27M2%2C16L16%2C2%27%20stroke%3D%27%23FF6B6B%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M4%2C16L16%2C4%27%20stroke%3D%27%23FF6B6B%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3Cpath%20d%3D%27M0%2C12L12%2C0%27%20stroke%3D%27%23FF6B6B%27%20stroke-width%3D%271.5%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.7%27%2F%3E%3C%2Fsvg%3E");
}
body.crayon-theme ul:not(.nav-links):not(.tabs):not(.breadcrumbs) li {
  position: relative;
  padding-left: 22px;
}
body.crayon-theme ul:not(.nav-links):not(.tabs):not(.breadcrumbs) li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 8px;
  background: var(--sunrise);
  border-radius: 50%;
  opacity: 0.8;
  transform: rotate(3deg);
}

/* Section textures under crayon theme */
body.crayon-theme .section-alt {
  background: var(--paper);
}
body.crayon-theme .section-dark:not(.section-bg-photo) {
  background: var(--chalkboard);
  color: var(--chalk);
}
body.crayon-theme .section-dark:not(.section-bg-photo) .section-label,
body.crayon-theme .section-dark:not(.section-bg-photo) .section-title,
body.crayon-theme .section-dark:not(.section-bg-photo) h1,
body.crayon-theme .section-dark:not(.section-bg-photo) h2,
body.crayon-theme .section-dark:not(.section-bg-photo) h3 { color: var(--chalk); }
body.crayon-theme .section-dark:not(.section-bg-photo) .section-label { color: var(--sunrise); }
body.crayon-theme .bg-chalkboard .badge-sublabel { color: rgba(255, 255, 255, 0.6); }

/* Hero video — remove ghostly mist, let video breathe */
body.crayon-theme .hero-sticky,
body.crayon-theme .page-hero-sticky {
  z-index: 0;
}
body.crayon-theme .hero-sticky::before {
  background: linear-gradient(180deg, rgba(0,0,0,0.30) 0%, rgba(0,0,0,0.18) 40%, rgba(0,0,0,0.45) 100%);
}
body.crayon-theme .page-hero-sticky::before {
  background: linear-gradient(180deg, rgba(0,0,0,0.30) 0%, rgba(0,0,0,0.18) 40%, rgba(0,0,0,0.45) 100%);
}
body.crayon-theme .hero-headline,
body.crayon-theme .hero-desc,
body.crayon-theme .hero-credit-line {
  text-shadow: 0 2px 16px rgba(0,0,0,0.6);
}

/* Crayon picture frames — restore image visibility with hand-drawn borders */
body.crayon-theme .card-bg {
  border-radius: 10px 14px 12px 8px;
  box-shadow: 0 0 0 3px var(--sunrise), inset 0 0 0 8px var(--paper), inset 0 0 0 12px var(--sunrise), 0 4px 16px rgba(0,0,0,0.08);
}
body.crayon-theme .card-bg::before {
  background: linear-gradient(180deg, rgba(0,0,0,0.12) 0%, rgba(0,0,0,0.28) 100%);
}
body.crayon-theme .card-bg:hover::before {
  background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.15) 100%);
}
body.crayon-theme .card-bg:hover {
  box-shadow: 0 0 0 3px var(--sunrise-deep), inset 0 0 0 8px var(--paper), inset 0 0 0 12px var(--sunrise-deep), 0 12px 32px rgba(249,161,7,0.15);
}
body.crayon-theme .card-bg h3,
body.crayon-theme .card-bg p {
  text-shadow: 0 2px 10px rgba(0,0,0,0.7);
}

body.crayon-theme .bento-item {
  border-radius: 12px 16px 14px 10px;
  box-shadow: 0 0 0 3px var(--sunrise), inset 0 0 0 8px var(--paper), inset 0 0 0 12px var(--sunrise), 0 4px 16px rgba(0,0,0,0.08);
}
body.crayon-theme .bento-item > * {
  position: relative;
  z-index: 2;
}
body.crayon-theme .bento-item::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.22);
  z-index: 1;
  pointer-events: none;
  border-radius: inherit;
}
body.crayon-theme .bento-item .bento-title,
body.crayon-theme .bento-item .bento-label {
  text-shadow: 0 2px 10px rgba(0,0,0,0.7);
}

body.crayon-theme .micro-callout {
  border-radius: 14px 18px 16px 12px;
  box-shadow: 0 0 0 3px var(--sky), inset 0 0 0 8px var(--paper), inset 0 0 0 12px var(--sky), 0 4px 16px rgba(0,0,0,0.08);
}
body.crayon-theme .micro-callout > * {
  position: relative;
  z-index: 2;
}
body.crayon-theme .micro-callout::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.25);
  z-index: 1;
  pointer-events: none;
  border-radius: inherit;
}
body.crayon-theme .micro-callout h2,
body.crayon-theme .micro-callout p {
  text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

@media (max-width: 768px) {
  body.crayon-theme .nav-brand { font-size: 18px; }
}

/* ----- RESET ----- */
*,*::before,*::after{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--font-body);color:var(--ink);background:var(--white);line-height:1.6;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none}
ul{list-style:none;padding:0}

/* ----- UTILITY ----- */
.container{max-width:var(--container-max);margin:0 auto;padding:0 40px}
@media(max-width:768px){.container{padding:0 20px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ----- TYPOGRAPHY ----- */
h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-0.02em;line-height:1.1}
.section-label{font-family:var(--font-display);font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:var(--sky);font-weight:700;margin-bottom:16px}
.section-title{font-family:var(--font-display);font-size:clamp(30px,4vw,44px);font-weight:700;letter-spacing:-0.02em;line-height:1.1;margin-bottom:20px}
.section-subtitle{font-size:clamp(15px,1.8vw,18px);color:var(--gray);line-height:1.6;max-width:600px;margin-bottom:48px}
.section-bg-photo .section-label,.section-bg-photo .section-title,.section-bg-photo .section-subtitle{color:#fff}
.section-bg-photo td,.section-bg-photo th{color:#fff}
.section-bg-photo tr:nth-child(even){background:rgba(255,255,255,0.08)}
.section-bg-photo tr:hover{background:rgba(255,255,255,0.12)}

/* ----- SCROLL REVEAL ----- */
.reveal{opacity:1;transform:translateY(16px);transition:opacity 0.6s var(--ease-fluid),transform 0.6s var(--ease-fluid)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:0.1s}
.reveal-delay-2{transition-delay:0.2s}
.reveal-delay-3{transition-delay:0.3s}
.reveal-delay-4{transition-delay:0.4s}
.reveal-delay-5{transition-delay:0.5s}

/* ----- NAVIGATION ----- */
.nav{position:fixed;top:0;left:0;right:0;min-height:var(--nav-h);background:rgba(255,255,255,0.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid transparent;z-index:100;transition:border-color 0.3s var(--ease-fluid),box-shadow 0.3s var(--ease-fluid)}
.nav.scrolled{border-bottom-color:var(--gray-border);box-shadow:0 1px 8px rgba(0,0,0,0.04)}
.nav-inner{max-width:none;margin:0;padding:8px 8px;min-height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:8px 16px}
@media(max-width:768px){.nav-inner{padding:8px 8px}}
.nav-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:22px;color:var(--ink);white-space:nowrap;margin-right:auto}
.nav-brand img{height:38px;width:auto;flex-shrink:0}
.nav-links{display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--ink-soft);white-space:nowrap;flex-wrap:nowrap}
@media(max-width:1200px){.nav-links{display:none}}
.nav-links a{transition:color 0.2s;position:relative;white-space:nowrap;line-height:1;min-height:28px;display:inline-flex;align-items:center}
.nav-links a:hover{color:var(--sky);animation:textJitter 0.3s steps(1) infinite}
@keyframes textJitter{0%,49%{transform:translate(0,0)}50%,100%{transform:translate(0.5px,-0.5px)}}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:3px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M0 6 Q25 2 50 6 T100 6 T150 6 T200 6' stroke='%23f9a107' stroke-width='5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat left center/140% auto;opacity:0;transition:width 0.3s var(--ease-fluid),opacity 0.2s;z-index:-1}
.nav-links a:hover::after{width:100%;opacity:0.85;animation:navUnderlineFlicker 0.35s steps(1) infinite}
@keyframes navUnderlineFlicker{0%,49%{background-position:left center}50%,100%{background-position:6px center}}
.nav-links a.active{color:var(--sky);font-weight:700}
.nav-links a.active::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:3px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M0 6 Q25 2 50 6 T100 6 T150 6 T200 6' stroke='%23f9a107' stroke-width='5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat left center/100% auto;opacity:0.9;animation:navUnderlineFlicker 0.5s steps(1) infinite}
.nav-cta{background:var(--sunrise);color:var(--ink);font-family:var(--font-display);font-weight:700;font-size:16px;padding:10px 24px;border-radius:8px;transition:all 0.25s var(--ease-fluid);white-space:nowrap;flex-shrink:0;align-self:center}
.nav-cta:hover{background:var(--sunrise-deep);transform:translateY(-1px);box-shadow:0 6px 20px rgba(249,161,7,0.25)}
@media(max-width:1200px){.nav-cta{font-size:13px;padding:8px 16px}}

/* Mobile Nav Toggle */
.nav-toggle{display:none;font-size:24px;color:var(--ink);padding:8px;flex-shrink:0}
@media(max-width:1200px){.nav-toggle{display:block}}
.mobile-nav{position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;background:var(--white);z-index:99;padding:40px;display:none;flex-direction:column;gap:24px;font-family:var(--font-display);font-size:18px;font-weight:600;overflow-y:auto}
.mobile-nav.open{display:flex}
.mobile-nav a{color:var(--ink-soft);padding:8px 0;border-bottom:1px solid var(--gray-border);white-space:nowrap;position:relative}
.mobile-nav a:hover{color:var(--sky)}
.mobile-nav a::after{content:'';position:absolute;bottom:4px;left:0;width:0;height:2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M0 6 Q25 2 50 6 T100 6 T150 6 T200 6' stroke='%23f9a107' stroke-width='5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat left center/140% auto;opacity:0;transition:width 0.3s var(--ease-fluid),opacity 0.2s}
.mobile-nav a:hover::after{width:40px;opacity:0.85;animation:navUnderlineFlicker 0.35s steps(1) infinite}
.mobile-nav .mobile-cta{background:var(--sunrise);color:var(--ink);text-align:center;padding:14px;border-radius:10px;font-weight:700;margin-top:8px;border:none}

/* ----- BUTTONS ----- */
.btn{padding:15px 36px;border-radius:10px;font-family:var(--font-display);font-size:15px;font-weight:700;transition:all 0.25s var(--ease-fluid);display:inline-block;text-align:center;position:relative}
.btn:active{transform:scale(0.97)}
.btn::before{content:'';position:absolute;inset:-3px;border:2.5px solid var(--sunrise);border-radius:12px 10px 14px 8px;opacity:0;transform:scale(0.96);transition:opacity 0.2s var(--ease-fluid),transform 0.2s var(--ease-fluid);pointer-events:none;z-index:-1}
.btn:hover::before{opacity:0.65;transform:scale(1);animation:btnWobble 0.4s steps(1) infinite}
@keyframes btnWobble{0%,49%{border-radius:12px 10px 14px 8px}50%,100%{border-radius:10px 14px 8px 12px}}
.btn-primary{background:var(--sunrise);color:var(--ink)}
.btn-primary:hover{background:var(--sunrise-deep);transform:translateY(-2px);box-shadow:0 8px 28px rgba(249,161,7,0.3)}
.btn-sky{background:var(--sky);color:var(--white)}
.btn-sky::before{border-color:var(--sky)}
.btn-sky:hover{background:var(--sky-deep);transform:translateY(-2px);box-shadow:0 8px 24px rgba(74,144,217,0.3)}
.btn-coral{background:var(--coral);color:var(--white)}
.btn-coral::before{border-color:var(--coral)}
.btn-coral:hover{background:var(--coral-deep);transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,107,107,0.3)}
.btn-outline{border:2px solid var(--sky);color:var(--sky);background:transparent}
.btn-outline:hover{background:var(--sky);color:var(--white)}
.card-bg .btn-outline{border-color:rgba(255,255,255,0.5);color:#fff}
.card-bg .btn-outline:hover{background:rgba(255,255,255,0.15);color:#fff;border-color:#fff}
.btn-white{border:2px solid rgba(255,255,255,0.35);color:#fff;background:transparent}
.btn-white::before{border-color:#fff}
.btn-white:hover{border-color:#fff;background:rgba(255,255,255,0.1)}
@media(max-width:768px){.btn{padding:13px 26px;font-size:14px}}

/* ----- HERO ----- */
.hero{position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding-top:var(--nav-h)}
.hero[data-sticky-video-container]{height:auto;min-height:80vh;display:flex;align-items:center;justify-content:center;padding-top:var(--nav-h);overflow:hidden}
.hero-sticky{position:absolute;inset:0;height:100%;width:100%;overflow:hidden;z-index:0}
.hero-sticky::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.55)0%,rgba(0,0,0,0.45)40%,rgba(0,0,0,0.65)100%);z-index:1;pointer-events:none}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg-placeholder{width:100%;height:100%;background:linear-gradient(160deg,#1a3a5c 0%,#2d5a3f 25%,#4a6fa5 50%,#f9a107 100%)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.page-hero .hero-video{object-fit:contain;background:var(--ink-soft)}
.hero-video::-webkit-media-controls{display:none!important}
.hero-video::-webkit-media-controls-enclosure{display:none!important}
.hero-video-notice{position:absolute;bottom:24px;right:24px;z-index:10;background:rgba(0,0,0,0.65);backdrop-filter:blur(8px);color:#fff;font-family:var(--font-display);font-size:11px;letter-spacing:0.05em;padding:8px 14px;border-radius:8px;display:flex;align-items:center;gap:10px;max-width:280px;line-height:1.4}
.hero-video-notice button{color:#fff;font-size:16px;opacity:0.7;cursor:pointer;padding:0 2px}
.hero-video-notice button:hover{opacity:1}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.35) 40%,rgba(0,0,0,0.55) 100%);z-index:1}
.hero-content-scrollable{position:relative;z-index:2;margin-top:0;min-height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;text-align:center}
.hero-content{position:relative;z-index:2;text-align:center;max-width:900px;padding:0;width:100%}
.hero-credit-block{padding:16px 0}
.hero-credit-block:first-child{padding-top:0}
.hero-credit-block:last-child{padding-bottom:0}
.hero-credit-line{font-family:var(--font-display);font-size:clamp(14px,1.6vw,18px);color:rgba(255,255,255,0.7);letter-spacing:0.05em;line-height:1.8}
.hero-credit-line strong{color:#fff;font-weight:500}
@media(max-width:768px){.hero-content-scrollable{padding:60px 20px}.hero-credit-block{padding:12px 0}.hero-credit-block:first-child{padding-top:0}}
@media(max-width:768px){.hero-content{padding:48px 20px}}
.hero-badge{font-family:var(--font-display);font-size:12px;letter-spacing:0.2em;text-transform:uppercase;color:var(--sunrise);font-weight:700;margin-bottom:24px;background:rgba(255,255,255,0.12);padding:8px 18px;border-radius:30px;backdrop-filter:blur(8px)}
.hero-badges{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:16px}
.hero-badges .hbadge{font-family:var(--font-display);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.85);font-weight:600;padding:6px 14px;border-radius:20px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);backdrop-filter:blur(6px)}
.hero-headline{font-family:var(--font-display);font-size:clamp(40px,6.5vw,76px);line-height:0.98;font-weight:900;letter-spacing:-0.035em;margin-bottom:24px}
.hero-headline .hl-white{color:#fff}
.hero-headline .hl-sky{color:var(--sky);text-shadow:0 0 10px rgba(249,161,7,0.5),0 0 20px rgba(249,161,7,0.25)}
.hero-headline .hl-sunrise{color:var(--sunrise)}
.hero-headline .hl-coral{color:var(--coral)}
.hero-desc{font-size:clamp(15px,1.8vw,18px);color:#fff;line-height:1.6;max-width:560px;margin:0 auto 36px;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,0.5),0 2px 12px rgba(0,0,0,0.3)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.hero-stats{display:flex;gap:48px;justify-content:center;margin-top:52px;padding-top:36px;border-top:1px solid rgba(255,255,255,0.15)}
@media(max-width:768px){.hero-stats{gap:28px;margin-top:40px;padding-top:28px;flex-wrap:wrap;justify-content:center}}
.hero-stats .hs-val{font-family:var(--font-display);font-size:clamp(28px,3.5vw,44px);font-weight:900;letter-spacing:-0.025em;line-height:1}
.hero-stats .hs-label{font-size:10px;letter-spacing:0.12em;text-transform:uppercase;font-family:var(--font-display);font-weight:600;margin-top:6px}
.hero-stats .hs-sky{color:var(--sky);text-shadow:0 0 8px rgba(249,161,7,0.55),0 0 16px rgba(249,161,7,0.25)}
.hero-stats .hs-white{color:#fff}
.hero-stats .hs-sunrise{color:var(--sunrise)}
.hero-scroll{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,0.5);font-family:var(--font-display);font-size:10px;letter-spacing:0.12em;text-transform:uppercase}
.hero-scroll-arrow{width:20px;height:20px;border-right:2px solid rgba(255,255,255,0.4);border-bottom:2px solid rgba(255,255,255,0.4);transform:rotate(45deg);animation:scrollBounce 2s ease-in-out infinite}
@keyframes scrollBounce{0%,100%{transform:rotate(45deg)translate(0,0);opacity:0.4}50%{transform:rotate(45deg)translate(4px,4px);opacity:1}}

/* ----- SECTIONS ----- */
.section{padding:100px 0}
@media(max-width:768px){.section{padding:64px 0}}
.section-alt{background:var(--cream)}
.section-sky{background:var(--sky);color:var(--white)}
.section-sky .section-label{color:rgba(255,255,255,0.7)}
.section-sky .section-subtitle{color:rgba(255,255,255,0.8)}
.section-dark{background:var(--ink-soft);color:var(--white)}
.section-dark .section-label{color:var(--sunrise)}
.section-bg-photo{position:relative;background-image:var(--bg);background-size:cover;background-position:center;background-repeat:no-repeat;background-color:transparent !important}
.section-bg-photo::before{content:'';position:absolute;inset:0;background:rgba(17,24,39,0.82);z-index:-1}
.section-bg-photo .container{position:relative;z-index:1}

/* Crayon section top accent */
.section{position:relative}
.section::after{content:'';position:absolute;top:0;left:10%;width:80%;height:4px;background:linear-gradient(90deg,transparent,var(--sunrise)20%,var(--sky)50%,var(--coral)80%,transparent);border-radius:2px;opacity:0.6;pointer-events:none;z-index:2}
.section-alt::after{background:linear-gradient(90deg,transparent,var(--coral)20%,var(--sunrise)50%,var(--sky)80%,transparent);opacity:0.5}
.section-dark::after{background:linear-gradient(90deg,transparent,var(--sunrise)20%,var(--coral)50%,var(--sunrise)80%,transparent);opacity:0.4}
.section-bg-photo::after{height:0}

/* ----- BADGES ----- */
.badge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;align-items:center;justify-items:center}
@media(max-width:768px){.badge-grid{grid-template-columns:repeat(2,1fr);gap:24px}}
.badge-item{text-align:center}
.badge-ring{width:120px;height:120px;border-radius:50%;border:2px solid var(--sunrise);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;position:relative;background:rgba(249,161,7,0.05)}
.badge-ring::before{content:'';position:absolute;inset:4px;border-radius:50%;border:1px solid rgba(249,161,7,0.3)}
.badge-icon{font-size:36px;color:var(--sunrise);font-family:var(--font-display);font-weight:900}
.badge-label{font-family:var(--font-display);font-size:12px;font-weight:600;color:#fff;letter-spacing:0.05em;line-height:1.4}
.badge-sublabel{font-size:11px;color:var(--gray-light);margin-top:4px}

/* ----- CARDS ----- */
.card{background:var(--white);border:1px solid var(--gray-border);border-radius:14px;padding:32px;transition:all 0.3s var(--ease-fluid);position:relative}
.card::after{content:'';position:absolute;inset:-2px;border:2px solid var(--sunrise);border-radius:16px 12px 14px 10px;opacity:0;transform:scale(0.98);transition:opacity 0.2s var(--ease-fluid),transform 0.2s var(--ease-fluid);pointer-events:none;z-index:1}
.card:hover{border-color:rgba(249,161,7,0.4);transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,0.06)}
.card:hover::after{opacity:0.5;transform:scale(1);animation:cardWobble 0.4s steps(1) infinite}
@keyframes cardWobble{0%,49%{border-radius:16px 12px 14px 10px}50%,100%{border-radius:12px 16px 10px 14px}}
.card-bg{position:relative;overflow:hidden;color:#fff;border:none;background-color:transparent;background-size:cover;background-position:center}
.card-bg::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.15) 0%,rgba(0,0,0,0.35) 100%);z-index:1}
.card-bg:hover::before{background:linear-gradient(180deg,rgba(0,0,0,0.08) 0%,rgba(0,0,0,0.22) 100%)}
.card-bg .card-icon{z-index:2;position:relative;background:rgba(255,255,255,0.15);color:#fff}
.card-bg h3,.card-bg p{z-index:2;position:relative;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,0.7)}
.card.card-bg p{color:#fff}
.card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:22px}
.card-icon.sky{background:rgba(74,144,217,0.12);color:var(--sky)}
.card-icon.sunrise{background:rgba(249,161,7,0.12);color:var(--sunrise)}
.card-icon.coral{background:rgba(255,107,107,0.12);color:var(--coral)}
.card-icon.green{background:rgba(102,159,56,0.12);color:var(--green)}
.card-bg .card-icon.sky,.card-bg .card-icon.sunrise,.card-bg .card-icon.coral,.card-bg .card-icon.green{background:rgba(255,255,255,0.12);color:#fff}
.card-photo{width:100%;height:auto;border-radius:10px;margin-bottom:16px;display:block}
.card h3{font-size:18px;font-weight:700;margin-bottom:10px;font-family:var(--font-display)}
.card p{font-size:14px;color:var(--gray);line-height:1.6}

/* ----- GRID LAYOUTS ----- */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* ----- BENTO GRID ----- */
.bento{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:auto auto;gap:20px}
.bento-item{border-radius:16px;overflow:hidden;position:relative}
.bento-item.featured{grid-row:span 2}
.bento-item img{width:100%;height:100%;object-fit:cover}
.bento-item .bento-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,0.7) 0%,rgba(0,0,0,0.1) 50%);display:flex;flex-direction:column;justify-content:flex-end;padding:28px}
.bento-item .bento-label{font-family:var(--font-display);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--sunrise);font-weight:700;margin-bottom:6px}
.bento-item .bento-title{font-family:var(--font-display);font-size:18px;font-weight:700;color:#fff;line-height:1.2}
@media(max-width:768px){.bento{grid-template-columns:1fr 1fr}.bento-item.featured{grid-column:span 2;grid-row:span 1}}

/* ----- STATS BAR ----- */
.stats-bar{display:flex;gap:48px;justify-content:center;flex-wrap:wrap;padding:48px 0}
.stat-item{text-align:center}
.stat-val{font-family:var(--font-display);font-size:clamp(32px,4vw,52px);font-weight:900;letter-spacing:-0.03em;line-height:1}
.stat-val.sky{color:var(--sky)}
.stat-val.sunrise{color:var(--sunrise)}
.stat-val.coral{color:var(--coral)}
.stat-val.green{color:var(--green)}
.stat-label{font-family:var(--font-display);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gray);font-weight:600;margin-top:8px}

/* ----- ACCORDION ----- */
.accordion{border:1px solid var(--gray-border);border-radius:12px;overflow:hidden;margin-bottom:12px}
.accordion-header{width:100%;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-display);font-weight:600;font-size:15px;text-align:left;background:var(--white);transition:background 0.2s}
.accordion-header:hover{background:var(--gray-bg)}
.accordion-header .acc-icon{font-size:20px;transition:transform 0.3s var(--ease-fluid);color:var(--sky)}
.accordion.open .acc-icon{transform:rotate(45deg)}
.accordion-body{max-height:0;overflow:hidden;transition:max-height 0.4s var(--ease-fluid)}
.accordion.open .accordion-body{max-height:500px}
.accordion-body-inner{padding:0 24px 20px;font-size:14px;color:var(--gray);line-height:1.7}

/* ----- TIMELINE ----- */
.timeline{position:relative;padding-left:32px}
.timeline::before{content:'';position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--sky);opacity:0.25}
.timeline-item{position:relative;margin-bottom:32px}
.timeline-item::before{content:'';position:absolute;left:-28px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--sky);border:3px solid var(--white);box-shadow:0 0 0 3px var(--sky)}
.timeline-item h3{font-size:16px;font-weight:700;margin-bottom:4px}
.timeline-item p{font-size:14px;color:var(--gray)}
.section-bg-photo .timeline-item h3,.section-bg-photo .timeline-item p{color:#fff}

/* ----- FOOTER ----- */
.footer{background:var(--ink-soft);color:var(--white);padding:80px 0 40px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:500px){.footer-grid{grid-template-columns:1fr}}
.footer-brand{font-family:var(--font-display);font-size:20px;font-weight:700;margin-bottom:12px}
.footer p,.footer a{font-size:13px;color:var(--gray-light);line-height:1.8}
.footer a:hover{color:var(--sunrise)}
.footer h4{font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--sunrise);font-weight:700;margin-bottom:16px}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);padding-top:32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--gray-light)}
.footer-social{display:flex;gap:14px}
.footer-social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:center;transition:all 0.2s}
.footer-social a:hover{background:var(--sunrise);color:var(--ink)}
.footer-qr{display:flex;align-items:center;gap:12px;margin-top:16px}
.footer-qr img{width:80px;height:80px;border-radius:8px;background:#fff;padding:4px}
.footer-qr span{font-size:11px;color:var(--gray-light);line-height:1.4;max-width:120px}

/* ----- WHATSAPP FLOAT ----- */
.whatsapp-float{position:fixed;bottom:28px;right:28px;width:56px;height:56px;background:#25D366;color:#fff;border-radius:50% 48% 52% 50%;display:flex;align-items:center;justify-content:center;font-size:28px;z-index:90;box-shadow:0 4px 16px rgba(37,211,102,0.35);transition:all 0.3s var(--ease-fluid);transform:rotate(-3deg)}
.whatsapp-float:hover{transform:scale(1.08) rotate(0deg);box-shadow:0 6px 24px rgba(37,211,102,0.45)}

/* ----- PAGE HERO (non-home) ----- */
.page-hero{position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding-top:var(--nav-h);background:linear-gradient(160deg,#1a3a5c 0%,#2d5a3f 30%,#4a6fa5 60%,rgba(249,161,7,0.3) 100%)}
.page-hero[data-sticky-video-container]{height:auto;min-height:60vh;display:flex;align-items:center;justify-content:center;padding-top:var(--nav-h);overflow:hidden}
.page-hero-sticky{position:absolute;inset:0;height:100%;width:100%;overflow:hidden;z-index:0}
.page-hero-sticky::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.55)0%,rgba(0,0,0,0.45)40%,rgba(0,0,0,0.65)100%);z-index:1;pointer-events:none}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.45) 0%,rgba(0,0,0,0.35) 100%);z-index:1}
.page-hero-content-scrollable{position:relative;z-index:2;margin-top:0;min-height:65vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px}
@media(max-width:768px){.page-hero-content-scrollable{padding:60px 20px;min-height:50vh}}
.page-hero-content{position:relative;z-index:2;text-align:center;max-width:700px;padding:0}
.page-hero-content h1{font-family:var(--font-display);font-size:clamp(36px,5vw,64px);font-weight:900;color:#fff;letter-spacing:-0.03em;line-height:1.05;margin-bottom:16px;text-shadow:0 2px 10px rgba(0,0,0,0.5)}
.page-hero-content p{font-size:clamp(15px,1.6vw,18px);color:#fff;font-weight:500;line-height:1.6;text-shadow:0 1px 6px rgba(0,0,0,0.45)}
.page-hero-content [style*="var(--sky)"]{text-shadow:0 1px 4px rgba(249,161,7,0.6),0 0 10px rgba(249,161,7,0.35)}
.hero .st-sky,.page-hero .st-sky,.hero [style*="var(--sky)"],.page-hero [style*="var(--sky)"]{text-shadow:0 0 16px rgba(249,161,7,0.9),0 0 32px rgba(249,161,7,0.6),0 0 48px rgba(249,161,7,0.35),0 1px 4px rgba(0,0,0,0.35)}

/* ----- VALUE CARDS (EDUSKY) ----- */
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
@media(max-width:768px){.value-grid{grid-template-columns:1fr}}
.value-card{background:linear-gradient(180deg,#2D2D2D 0%,#1F1F1F 100%);color:#F0F0F0;border-radius:14px;padding:36px 28px;text-align:center;border:1px solid rgba(255,255,255,0.06);transition:transform 0.3s ease,box-shadow 0.3s ease}
.value-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,0.18)}
.value-card .vc-letter{font-family:var(--font-display);font-size:52px;font-weight:700;line-height:1;margin-bottom:8px}
.value-card .vc-word{font-size:17px;font-weight:700;margin-bottom:10px;letter-spacing:0.01em}
.value-card .vc-desc{font-size:13px;color:rgba(240,240,240,0.65);line-height:1.5}
.value-card.vc-sky{border-top:4px solid var(--sky)}.value-card.vc-sky .vc-letter{color:var(--sky)}
.value-card.vc-sunrise{border-top:4px solid var(--sunrise)}.value-card.vc-sunrise .vc-letter{color:var(--sunrise)}
.value-card.vc-green{border-top:4px solid var(--green)}.value-card.vc-green .vc-letter{color:var(--green)}
.value-card.vc-coral{border-top:4px solid var(--coral)}.value-card.vc-coral .vc-letter{color:var(--coral)}

/* ----- TABLE ----- */
.table-wrap{overflow-x:auto;border-radius:12px;border:1px solid var(--gray-border)}
table{width:100%;border-collapse:collapse;font-size:14px}
th{background:var(--sky);color:var(--white);font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;padding:14px 18px;text-align:left}
td{padding:14px 18px;border-bottom:1px solid var(--gray-border)}
tr:nth-child(even){background:var(--gray-bg)}
tr:hover{background:rgba(74,144,217,0.04)}

/* ----- PLACEHOLDER NOTE ----- */
/* ----- SECONDARY NOTE ----- */
/* ----- FUNNEL FLOWCHART ----- */
.process-flow{display:flex;gap:0;align-items:stretch;justify-content:center;margin-top:48px;position:relative}
.process-step{flex:1;text-align:center;padding:28px 16px;background:#fff;border-radius:16px;border:1px solid var(--gray-border);position:relative;transition:transform .25s,box-shadow .25s;margin:0 8px}
.process-step:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,0.08)}
.process-number{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:16px;color:#fff;margin:0 auto 14px}
.process-step:nth-child(1) .process-number{background:var(--sky)}
.process-step:nth-child(2) .process-number{background:var(--sunrise)}
.process-step:nth-child(3) .process-number{background:var(--coral)}
.process-step:nth-child(4) .process-number{background:var(--green)}
.process-step:nth-child(5) .process-number{background:var(--sky)}
.process-step:nth-child(6) .process-number{background:var(--sunrise)}
.process-icon{font-size:28px;margin-bottom:10px;display:block}
.process-step h3{font-family:var(--font-display);font-size:15px;font-weight:700;margin-bottom:8px}
.process-step p{font-size:13px;color:var(--gray);line-height:1.6;margin-bottom:0}
.process-step .step-action{font-size:11px;color:var(--sky);font-weight:600;margin-top:8px;display:block}
.process-connector{position:absolute;top:50%;right:-16px;width:24px;height:2px;background:var(--gray-border);transform:translateY(-50%);z-index:2}
.process-connector::after{content:'';position:absolute;right:0;top:-4px;width:0;height:0;border-left:6px solid var(--gray-border);border-top:5px solid transparent;border-bottom:5px solid transparent}
.process-step:last-child .process-connector{display:none}
@media(max-width:900px){
.process-flow{flex-direction:column;gap:16px;max-width:420px;margin-left:auto;margin-right:auto}
.process-step{margin:0;display:flex;gap:16px;text-align:left;align-items:flex-start;padding:20px}
.process-number{flex-shrink:0;margin:0}
.process-icon{display:none}
.process-connector{display:none}
}

/* ----- TABS ----- */
.tabs{display:flex;gap:4px;border-bottom:2px solid var(--gray-border);margin-bottom:32px;overflow-x:auto}
.tab-btn{padding:12px 24px;font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--gray);white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all 0.2s}
.tab-btn:hover{color:var(--ink)}
.tab-btn.active{color:var(--sky);border-bottom-color:var(--sky)}
.tab-panel{display:none}
.tab-panel.active{display:block}

/* ----- BLOG CARD ----- */
.blog-card{background:var(--white);border:1px solid var(--gray-border);border-radius:14px;overflow:hidden;transition:all 0.3s var(--ease-fluid)}
.blog-card:hover{box-shadow:0 8px 32px rgba(0,0,0,0.06);transform:translateY(-2px)}
.blog-card-img{width:100%;height:200px;background:var(--gray-bg);display:flex;align-items:center;justify-content:center;color:var(--gray-light);font-size:13px}
.blog-card-body{padding:24px}
.blog-card-date{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--sky);font-weight:600;margin-bottom:8px}
.blog-card h3{font-family:var(--font-display);font-size:18px;font-weight:700;margin-bottom:8px;line-height:1.3}
.blog-card p{font-size:13px;color:var(--gray);line-height:1.6}

/* ----- CONTACT FORM ----- */
.form-group{margin-bottom:20px}
.form-group label{display:block;font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:14px 16px;border:1px solid var(--gray-border);border-radius:10px;font-family:var(--font-body);font-size:14px;transition:border-color 0.2s;background:var(--white)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 3px rgba(74,144,217,0.1)}
.form-group textarea{min-height:120px;resize:vertical}

/* ----- BADGE / TAG ----- */
.badge{display:inline-block;font-family:var(--font-display);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;font-weight:700;padding:5px 12px;border-radius:20px}
.badge-sky{background:rgba(74,144,217,0.1);color:var(--sky)}
.badge-sunrise{background:rgba(249,161,7,0.1);color:var(--sunrise)}
.badge-coral{background:rgba(255,107,107,0.1);color:var(--coral)}
.badge-green{background:rgba(102,159,56,0.1);color:var(--green)}
.card-bg .badge-sky,.card-bg .badge-sunrise,.card-bg .badge-coral,.card-bg .badge-green{background:rgba(255,255,255,0.15);color:#fff;border:1px solid rgba(255,255,255,0.25)}

/* ----- ORNAMENTAL DIVIDERS ----- */
.divider-wave{width:100%;height:48px;opacity:0.08;background:repeating-linear-gradient(90deg,var(--sky) 0px,var(--sky) 4px,transparent 4px,transparent 12px,var(--sunrise) 12px,var(--sunrise) 14px,transparent 14px,transparent 24px)}
.divider-dots{width:100%;height:24px;opacity:0.12;background:radial-gradient(circle,var(--sky) 2px,transparent 2px);background-size:20px 20px}

/* ----- MICRO-SCHOOL CALLOUT ----- */
.micro-callout{background:linear-gradient(135deg,var(--sky),var(--sky-deep));color:var(--white);border-radius:20px;padding:48px;text-align:center;position:relative;overflow:hidden}
.micro-callout::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,0.08) 0%,transparent 60%);pointer-events:none}
.micro-callout h2{font-size:clamp(28px,3.5vw,40px);font-weight:900;margin-bottom:16px;position:relative}
.micro-callout p{font-size:16px;opacity:0.85;max-width:600px;margin:0 auto 28px;position:relative;line-height:1.7}

/* ============================================
   DREAM EXPANSION COMPONENTS
   ============================================ */

/* ----- PLANNING POPUP (NOT FOR PUBLIC) ----- */
.planning-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:9998;backdrop-filter:blur(4px)}
.planning-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,92vw);max-height:85vh;background:var(--white);border:3px solid var(--coral);border-radius:16px;padding:36px;z-index:9999;box-shadow:0 24px 80px rgba(0,0,0,0.35);text-align:center;overflow-y:auto;-webkit-overflow-scrolling:touch}
.planning-modal .planning-badge{display:inline-block;background:var(--coral);color:#fff;font-family:var(--font-display);font-size:11px;letter-spacing:0.15em;text-transform:uppercase;font-weight:700;padding:6px 14px;border-radius:20px;margin-bottom:16px}
.planning-modal h2{font-family:var(--font-display);font-size:22px;font-weight:800;margin-bottom:12px;color:var(--ink)}
.planning-modal p{font-size:14px;color:var(--gray);line-height:1.7;margin-bottom:20px}
.planning-modal .planning-list{text-align:left;background:var(--gray-bg);border-radius:10px;padding:16px 20px;margin-bottom:12px;font-size:13px;color:var(--ink-soft);line-height:1.8}
.planning-modal .planning-list strong{color:var(--coral)}
.planning-modal .planning-rationale{text-align:left;background:var(--cream);border-left:3px solid var(--sunrise);border-radius:0 10px 10px 0;padding:14px 20px;margin-bottom:20px;font-size:12px;color:var(--ink-soft);line-height:1.75}
.planning-modal .planning-rationale strong{color:var(--sunrise);font-size:11px;letter-spacing:0.08em;text-transform:uppercase}
.planning-modal .btn-planning{background:var(--coral);color:#fff;font-family:var(--font-display);font-weight:700;padding:12px 32px;border-radius:8px;display:inline-block;transition:all 0.2s}
.planning-modal .btn-planning:hover{background:var(--coral-deep);transform:translateY(-1px)}
@media(max-width:768px){.planning-modal{padding:24px 20px 28px}.planning-modal h2{font-size:18px}.planning-modal p{font-size:13px}.planning-modal .planning-list{padding:12px 14px;font-size:12px}.planning-modal .planning-rationale{padding:10px 14px;font-size:11px}.planning-modal .btn-planning{padding:10px 24px;font-size:13px}}

/* ----- BACK-TO-TOP ----- */
.back-to-top{position:fixed;bottom:28px;left:28px;width:48px;height:48px;background:var(--white);color:var(--ink);border:2px solid var(--sunrise);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;z-index:85;opacity:0;pointer-events:none;transition:all 0.3s var(--ease-fluid);box-shadow:0 4px 16px rgba(249,161,7,0.2);transform:rotate(-4deg)}
.back-to-top.visible{opacity:1;pointer-events:auto}
.back-to-top:hover{background:var(--sunrise);color:var(--ink);border-color:var(--sunrise);transform:rotate(0deg)}

/* ----- LIGHTBOX ----- */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,0.92);z-index:9990;display:none;align-items:center;justify-content:center;flex-direction:column;padding:40px}
.lightbox.open{display:flex}
.lightbox-img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:8px;box-shadow:0 24px 64px rgba(0,0,0,0.5)}
.lightbox-caption{color:rgba(255,255,255,0.7);font-size:13px;margin-top:12px;font-family:var(--font-display)}
.lightbox-close{position:absolute;top:24px;right:24px;width:44px;height:44px;background:rgba(255,255,255,0.1);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer;transition:all 0.2s}
.lightbox-close:hover{background:rgba(255,255,255,0.2)}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;background:rgba(255,255,255,0.1);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;transition:all 0.2s}
.lightbox-prev:hover,.lightbox-next:hover{background:rgba(255,255,255,0.2)}
.lightbox-prev{left:20px}
.lightbox-next{right:20px}

/* ----- MASONRY GALLERY ----- */
.masonry{columns:4;column-gap:16px}
@media(max-width:1100px){.masonry{columns:3}}
@media(max-width:768px){.masonry{columns:2}}
@media(max-width:500px){.masonry{columns:1}}
.masonry-item{break-inside:avoid;margin-bottom:16px;border-radius:12px;overflow:hidden;cursor:pointer;position:relative;background:var(--gray-bg)}
.masonry-item img{width:100%;display:block;transition:transform 0.4s var(--ease-fluid)}
.masonry-item:hover img{transform:scale(1.04)}
.masonry-item .masonry-cap{position:absolute;bottom:0;left:0;right:0;padding:16px;background:linear-gradient(0deg,rgba(0,0,0,0.6) 0%,transparent 100%);color:#fff;font-size:12px;font-family:var(--font-display);font-weight:600;opacity:0;transition:opacity 0.3s}
.masonry-item:hover .masonry-cap{opacity:1}
.masonry-item.masonry-hidden{display:none}

/* ----- GALLERY FILTERS ----- */
.gallery-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:28px}
.gallery-filter-btn{padding:8px 18px;border-radius:20px;font-family:var(--font-display);font-size:13px;font-weight:600;background:var(--gray-bg);color:var(--gray);border:1px solid var(--gray-border);transition:all 0.2s;cursor:pointer}
.gallery-filter-btn:hover,.gallery-filter-btn.active{background:var(--sky);color:#fff;border-color:var(--sky)}

/* ----- BREADCRUMBS ----- */
.breadcrumbs{font-size:12px;color:var(--gray-light);font-family:var(--font-display);padding:20px 0}
.breadcrumbs a{color:var(--gray);transition:color 0.2s}
.breadcrumbs a:hover{color:var(--sky)}
.breadcrumbs span{color:var(--sky);font-weight:600}

/* ----- CALENDAR / EVENTS ----- */
.calendar-toggle{display:flex;gap:8px;justify-content:center;margin-bottom:24px}
.calendar-toggle button{padding:8px 18px;border-radius:8px;font-family:var(--font-display);font-size:13px;font-weight:600;background:var(--gray-bg);color:var(--gray);border:1px solid var(--gray-border);cursor:pointer;transition:all 0.2s}
.calendar-toggle button.active{background:var(--sky);color:#fff;border-color:var(--sky)}
.event-card{background:var(--white);border:1px solid var(--gray-border);border-radius:14px;overflow:hidden;transition:all 0.3s var(--ease-fluid);display:flex;flex-direction:column}
.event-card:hover{box-shadow:0 8px 32px rgba(0,0,0,0.06);transform:translateY(-2px)}
.event-card-img{width:100%;background:var(--gray-bg);display:flex;align-items:center;justify-content:center;color:var(--gray-light);font-size:13px;position:relative;overflow:hidden}
.event-card-img img{width:100%;height:auto;display:block}
.event-card-body{padding:24px;flex:1;display:flex;flex-direction:column}
.event-date{display:inline-block;background:rgba(74,144,217,0.1);color:var(--sky);font-family:var(--font-display);font-size:11px;font-weight:700;padding:5px 12px;border-radius:20px;margin-bottom:10px}
.event-card h3{font-family:var(--font-display);font-size:17px;font-weight:700;margin-bottom:8px}
.event-card p{font-size:13px;color:var(--gray);line-height:1.6;margin-bottom:16px;flex:1}
.event-meta{display:flex;gap:16px;font-size:12px;color:var(--gray-light);margin-bottom:16px;flex-wrap:wrap}
.event-meta span{display:flex;align-items:center;gap:4px}

/* ----- FEE CALCULATOR ----- */
.fee-calc{background:var(--white);border:1px solid var(--gray-border);border-radius:14px;padding:32px;max-width:500px}
.fee-calc-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--gray-border);font-size:14px}
.fee-calc-row:last-child{border-bottom:none}
.fee-calc-row .fee-label{color:var(--ink-soft);font-weight:600}
.fee-calc-row .fee-val{color:var(--sky);font-weight:700;font-family:var(--font-display)}
.fee-calc-total{display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin-top:8px;border-top:2px solid var(--sky);font-size:16px;font-weight:700;font-family:var(--font-display)}
.fee-calc-total .fee-val{color:var(--sunrise);font-size:22px}

/* ----- NEWSLETTER MODAL ----- */
.newsletter-modal{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:9980;display:none;align-items:center;justify-content:center;padding:20px}
.newsletter-modal.open{display:flex}
.newsletter-box{background:var(--white);border-radius:16px;padding:36px;max-width:420px;width:100%;text-align:center;position:relative}
.newsletter-box h3{font-family:var(--font-display);font-size:20px;font-weight:700;margin-bottom:8px}
.newsletter-box p{font-size:13px;color:var(--gray);margin-bottom:20px}
.newsletter-box .nl-close{position:absolute;top:12px;right:12px;width:32px;height:32px;background:var(--gray-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray);font-size:18px}
.newsletter-box .nl-close:hover{background:var(--gray-border)}

/* ----- COOKIE BANNER ----- */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--ink-soft);color:rgba(255,255,255,0.85);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:88;font-size:13px;flex-wrap:wrap}
.cookie-banner button{background:var(--sky);color:#fff;font-family:var(--font-display);font-weight:600;font-size:12px;padding:8px 18px;border-radius:6px;transition:all 0.2s}
.cookie-banner button:hover{background:var(--sky-deep)}

/* ----- ECA / CLUB CARDS ----- */
.club-card{background:var(--white);border:1px solid var(--gray-border);border-radius:14px;overflow:hidden;transition:all 0.3s var(--ease-fluid);display:flex;flex-direction:column;height:100%}
.club-card:hover{box-shadow:0 8px 32px rgba(0,0,0,0.06);transform:translateY(-2px)}
.club-card-img{width:100%;height:160px;background:var(--gray-bg);display:flex;align-items:center;justify-content:center;color:var(--gray-light);font-size:13px;position:relative;overflow:hidden}
.club-card-img img{width:100%;height:100%;object-fit:cover}
.club-card-body{padding:24px;flex:1;display:flex;flex-direction:column}
.club-card h3{font-family:var(--font-display);font-size:17px;font-weight:700;margin-bottom:6px}
.club-card .club-schedule{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--sunrise);font-weight:700;margin-bottom:10px}
.club-card p{font-size:13px;color:var(--gray);line-height:1.6;margin-bottom:16px;flex:1}

/* ----- SOCIAL SHARE ----- */
.share-bar{display:flex;gap:8px;align-items:center}
.share-btn{width:36px;height:36px;border-radius:50%;background:var(--gray-bg);display:flex;align-items:center;justify-content:center;color:var(--gray);font-size:14px;transition:all 0.2s}
.share-btn:hover{background:var(--sky);color:#fff}

/* ----- DOWNLOAD CARD ----- */
.download-card{display:flex;align-items:center;gap:16px;padding:18px;background:var(--white);border:1px solid var(--gray-border);border-radius:12px;transition:all 0.2s}
.download-card:hover{border-color:var(--sky);box-shadow:0 4px 16px rgba(74,144,217,0.08)}
.download-icon{width:44px;height:44px;border-radius:10px;background:rgba(74,144,217,0.1);display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--sky);flex-shrink:0}
.download-info h4{font-family:var(--font-display);font-size:15px;font-weight:700;margin-bottom:2px}
.download-info p{font-size:12px;color:var(--gray-light)}

/* ----- ALUMNI PROFILE ----- */
.alumni-card{background:var(--white);border:1px solid var(--gray-border);border-radius:14px;padding:28px;text-align:center;transition:all 0.3s var(--ease-fluid)}
.alumni-card:hover{box-shadow:0 8px 32px rgba(0,0,0,0.06);transform:translateY(-2px)}
.alumni-avatar{width:72px;height:72px;border-radius:50%;background:var(--gray-bg);display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 14px;color:var(--gray-light)}
.alumni-card h3{font-family:var(--font-display);font-size:17px;font-weight:700;margin-bottom:4px}
.alumni-card .alumni-meta{font-size:12px;color:var(--gray);margin-bottom:12px}
.alumni-card p{font-size:13px;color:var(--gray);line-height:1.6}

/* ----- ACHIEVEMENT TROPHY ----- */
.trophy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.trophy-card{background:var(--white);border:1px solid var(--gray-border);border-radius:14px;padding:24px;text-align:center;transition:all 0.3s var(--ease-fluid)}
.trophy-card:hover{box-shadow:0 8px 32px rgba(0,0,0,0.06);transform:translateY(-2px)}
.trophy-icon{font-size:36px;margin-bottom:10px}
.trophy-card h4{font-family:var(--font-display);font-size:15px;font-weight:700;margin-bottom:4px}
.trophy-card p{font-size:12px;color:var(--gray)}

/* ----- PARENT DIRECTORY ----- */
.directory-card{background:var(--white);border:1px solid var(--gray-border);border-radius:14px;padding:20px;transition:all 0.3s var(--ease-fluid)}
.directory-card:hover{box-shadow:0 8px 32px rgba(0,0,0,0.06);transform:translateY(-2px)}
.directory-card h4{font-family:var(--font-display);font-size:16px;font-weight:700;margin-bottom:4px}
.directory-card .dir-category{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--sunrise);font-weight:700;margin-bottom:8px}
.directory-card p{font-size:13px;color:var(--gray);line-height:1.6;margin-bottom:4px}
.directory-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:24px}
.directory-filter-btn{padding:6px 16px;border-radius:20px;font-family:var(--font-display);font-size:12px;font-weight:600;background:var(--gray-bg);color:var(--gray);border:1px solid var(--gray-border);cursor:pointer;transition:all 0.2s}
.directory-filter-btn:hover,.directory-filter-btn.active{background:var(--sky);color:#fff;border-color:var(--sky)}

/* ----- BUILDER CREDIT ----- */
.builder-credit{position:fixed;bottom:8px;right:8px;z-index:70;font-family:var(--font-display);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.5);background:rgba(0,0,0,0.35);padding:4px 10px;border-radius:20px;backdrop-filter:blur(4px);pointer-events:none;transition:opacity 0.3s}
.builder-credit a{color:inherit;text-decoration:none}
@media(max-width:768px){.builder-credit{font-size:9px;padding:3px 8px}}

/* ----- EXTRA ANIMATIONS ----- */
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(249,161,7,0.35)}50%{box-shadow:0 0 0 10px rgba(249,161,7,0)}}
@keyframes shine{0%{background-position:-200%}100%{background-position:200%}}
@keyframes rotateSlow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.animate-float{animation:float 4s ease-in-out infinite}
.animate-pulse{animation:pulse 2s infinite}
.animate-shine{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0.15) 50%,transparent 100%);background-size:200% 100%;animation:shine 3s linear infinite}

/* Hero parallax background layer */
.hero-bg-parallax{position:absolute;inset:0;z-index:0;will-change:transform}

/* Link hover underline sweep */
.link-sweep{position:relative;display:inline-block}
.link-sweep::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--sky);transition:width 0.3s var(--ease-fluid)}
.link-sweep:hover::after{width:100%}

/* Stagger children reveal */
.stagger-reveal > *{opacity:0;transform:translateY(20px);transition:opacity 0.6s var(--ease-fluid),transform 0.6s var(--ease-fluid)}
.stagger-reveal.visible > *{opacity:1;transform:translateY(0)}
.stagger-reveal.visible > *:nth-child(1){transition-delay:0.05s}
.stagger-reveal.visible > *:nth-child(2){transition-delay:0.1s}
.stagger-reveal.visible > *:nth-child(3){transition-delay:0.15s}
.stagger-reveal.visible > *:nth-child(4){transition-delay:0.2s}
.stagger-reveal.visible > *:nth-child(5){transition-delay:0.25s}
.stagger-reveal.visible > *:nth-child(6){transition-delay:0.3s}

/* Image hover zoom container */
.img-zoom{overflow:hidden;border-radius:12px}
.img-zoom img{transition:transform 0.5s var(--ease-fluid)}
.img-zoom:hover img{transform:scale(1.08)}

/* Button magnetic-ish lift */
.btn-lift{transition:transform 0.25s var(--ease-fluid),box-shadow 0.25s var(--ease-fluid)}
.btn-lift:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,0.12)}

/* Decorative orb */
.orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:0.35;pointer-events:none;will-change:transform}

/* ----- CRAYON & GUIDE ARROW STYLES ----- */
@keyframes crayonWiggle{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes crayonFloat{0%,100%{transform:translateY(0)rotate(0deg)}25%{transform:translateY(-6px)rotate(2deg)}75%{transform:translateY(4px)rotate(-2deg)}}
@keyframes crayonBounce{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
.crayon-star{display:inline-block;width:18px;height:18px;fill:var(--sunrise);animation:starFlip var(--flip-duration,0.4s) steps(1) infinite;transform-origin:center;animation-delay:var(--flip-delay,0s)}
@keyframes starFlip{0%,49%{transform:scale(1)rotate(0deg)}50%,100%{transform:scale(1.06)rotate(9deg)}}
.crayon-squiggle{display:inline-block;width:32px;height:12px;stroke:var(--sky);stroke-width:2.5;stroke-linecap:round;fill:none;animation:crayonFloat 4s ease-in-out infinite}
.crayon-dot{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--coral);animation:crayonBounce 2s ease-in-out infinite}
.guide-arrow{position:absolute;pointer-events:none;z-index:3}
.guide-arrow svg{overflow:visible}
.guide-arrow path{fill:none;stroke:var(--sunrise);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:6 4;animation:crayonFloat 5s ease-in-out infinite}
.guide-arrow-head{fill:var(--sunrise);animation:crayonFloat 5s ease-in-out infinite}
.primary-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(249,161,7,0.12);border:2px dashed var(--sunrise);color:var(--sunrise-deep);font-family:var(--font-display);font-size:13px;font-weight:700;padding:8px 18px;border-radius:30px;animation:crayonWiggle 6s ease-in-out infinite}
.primary-badge .crayon-star{width:14px;height:14px;animation:crayonBounce 2s ease-in-out infinite}

/* ----- ARTISTIC DOODLES & LIVING SCROLL EFFECTS ----- */
@keyframes blobPulse{0%,100%{border-radius:60% 40% 55% 45%/55% 45% 60% 40%;transform:scale(1)}50%{border-radius:45% 55% 40% 60%/60% 40% 55% 45%;transform:scale(1.03)}}
@keyframes scribbleDraw{0%{stroke-dashoffset:200}100%{stroke-dashoffset:0}}
@keyframes pencilWobble{0%,100%{transform:translateX(0)rotate(0deg)}25%{transform:translateX(-2px)rotate(-1deg)}75%{transform:translateX(2px)rotate(1deg)}}
@keyframes breathe{0%,100%{transform:scale(1);opacity:0.6}50%{transform:scale(1.08);opacity:0.9}}
@keyframes drip{0%,100%{transform:translateY(0)scaleY(1)}50%{transform:translateY(6px)scaleY(1.1)}}
@keyframes swirl{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}

/* ===== FLIP-BOOK SQUIGGLE ENGINE ===== */
/* Underlines & highlights start fully clipped; parent .drawn reveals left-to-right */
.scribble-underline-jagged::before,.scribble-underline-jagged::after,.scribble-underline-wavy::before,.scribble-underline-wavy::after,.scribble-underline-double::before,.scribble-underline-double::after,.pencil-underline::before,.pencil-underline::after,.art-highlight::before,.art-highlight-messy::before{clip-path:inset(0 100% 0 0)}
.drawn .scribble-underline-jagged::before,.drawn .scribble-underline-jagged::after,.drawn .scribble-underline-wavy::before,.drawn .scribble-underline-wavy::after,.drawn .scribble-underline-double::before,.drawn .scribble-underline-double::after,.drawn .pencil-underline::before,.drawn .pencil-underline::after,.drawn .art-highlight::before,.drawn .art-highlight-messy::before{clip-path:inset(0 0 0 0);transition:clip-path 0.5s var(--ease-fluid)}
@keyframes flipBook{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes flipBookReverse{0%,49%{opacity:0}50%,100%{opacity:1}}
.crayon-flip{position:relative}
.crayon-flip .frame-b,
.crayon-flip::after{position:absolute;inset:0;opacity:0;animation:flipBook var(--flip-duration,0.4s) steps(1) infinite;animation-delay:var(--flip-delay,0s)}
.crayon-flip .frame-a,
.crayon-flip::before{animation:flipBookReverse var(--flip-duration,0.4s) steps(1) infinite;animation-delay:var(--flip-delay,0s)}

/* Organic blobs that breathe */
.doodle-blob{position:absolute;pointer-events:none;z-index:0;opacity:0.6;filter:blur(40px);animation:blobPulse 8s ease-in-out infinite}
.doodle-blob-sky{background:var(--sky);width:200px;height:200px}
.doodle-blob-sunrise{background:var(--sunrise);width:160px;height:160px;animation-delay:-2s}
.doodle-blob-coral{background:var(--coral);width:140px;height:140px;animation-delay:-4s}
.doodle-blob-green{background:var(--green);width:180px;height:180px;animation-delay:-6s}

/* Pencil underline for headings */
.pencil-underline{position:relative;display:inline-block}
.pencil-underline::before{content:'';position:absolute;bottom:-6px;left:-4px;right:-4px;height:5px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 8'%3E%3Cpath d='M0 3 Q12 5 24 3 T48 3 T72 3 T96 3' stroke='%234a90d9' stroke-width='3.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x;background-size:20px 5px;opacity:0;animation:flipBookReverse var(--flip-duration,0.4s) steps(1) infinite;animation-delay:var(--flip-delay,0s)}
.pencil-underline::after{content:'';position:absolute;bottom:-6px;left:-4px;right:-4px;height:5px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 8'%3E%3Cpath d='M0 4 Q10 1 20 4 T40 4 T60 4 T80 4 T100 4' stroke='%234a90d9' stroke-width='3.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x;background-size:20px 5px;opacity:1;animation:flipBook var(--flip-duration,0.4s) steps(1) infinite,pencilWobble 4s ease-in-out infinite;animation-delay:var(--flip-delay,0s),0s}
.pencil-underline-sunrise::before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 8'%3E%3Cpath d='M0 3 Q12 5 24 3 T48 3 T72 3 T96 3' stroke='%23f9a107' stroke-width='2.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x}
.pencil-underline-sunrise::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 8'%3E%3Cpath d='M0 4 Q10 1 20 4 T40 4 T60 4 T80 4 T100 4' stroke='%23f9a107' stroke-width='2.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x}


/* Hand-drawn section divider */
.doodle-divider{height:32px;margin:48px auto;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 24'%3E%3Cpath d='M0 12 Q20 6 40 12 T80 12 T120 12 T160 12 T200 12' stroke='%23f9a107' stroke-width='4' fill='none' stroke-linecap='round' stroke-dasharray='4 6' opacity='1'/%3E%3C/svg%3E") center no-repeat;max-width:400px}

/* Scroll-reveal doodle that draws itself */
.doodle-svg{position:absolute;pointer-events:none;z-index:2}
.doodle-svg path{stroke-dasharray:200;stroke-dashoffset:200;transition:stroke-dashoffset 1.5s var(--ease-fluid)}
.doodle-svg.visible path{stroke-dashoffset:0}

/* Crayon scribble accent marks */
.crayon-circle{width:40px;height:40px;border:2.5px solid var(--sunrise);border-radius:50%;animation:crayonWiggle 5s ease-in-out infinite;opacity:0.9}
.crayon-cross{position:relative;width:20px;height:20px;animation:crayonBounce 3s ease-in-out infinite}
.crayon-cross::before,.crayon-cross::after{content:'';position:absolute;background:var(--sky);border-radius:2px}
.crayon-cross::before{width:2px;height:100%;left:50%;transform:translateX(-50%)}
.crayon-cross::after{width:100%;height:2px;top:50%;transform:translateY(-50%)}
.crayon-zigzag{width:48px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 12'%3E%3Cpath d='M0 6 L8 2 L16 10 L24 2 L32 10 L40 2 L48 6' stroke='%23e76f51' stroke-width='2.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat;animation:crayonFloat 4s ease-in-out infinite}

/* Living corner doodles */
.corner-doodle{position:absolute;pointer-events:none;z-index:1}
.corner-doodle-tl{top:-12px;left:-12px}
.corner-doodle-tr{top:-12px;right:-12px}
.corner-doodle-bl{bottom:-12px;left:-12px}
.corner-doodle-br{bottom:-12px;right:-12px}

/* Artistic text highlight */
.art-highlight{position:relative;z-index:1}
.art-highlight::before{content:'';position:absolute;bottom:-2px;left:-10px;right:-10px;height:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M0 6 Q25 2 50 6 T100 6 T150 6 T200 6' stroke='%23f9a107' stroke-width='5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat left center/220% auto;z-index:-1;transform:skewX(-3deg);opacity:0.85;image-rendering:auto;animation:artHighlightFlip var(--flip-duration,0.4s) steps(1) infinite;animation-delay:var(--flip-delay,0s)}
.art-highlight::after{content:'';position:absolute;bottom:-2px;left:-10px;right:-10px;height:22px;background:linear-gradient(120deg,rgba(249,161,7,0.45),rgba(74,144,217,0.35));border-radius:4px;z-index:-2;transform:skewX(-3deg)}
@keyframes artHighlightFlip{0%,49%{background-position:left center;transform:skewX(-3deg)}50%,100%{background-position:12px center;transform:skewX(-2deg)}}

/* Comfy breathing container */
.breathe-container{animation:breathe 6s ease-in-out infinite}

/* Scroll-driven parallax doodle */
.doodle-parallax{will-change:transform;transition:transform 0.1s linear}

/* ===== MORE WILD DOODLES — inconsistent child-drawing charm ===== */

@keyframes wobbleBlob{0%,100%{border-radius:60% 40% 55% 45%/55% 45% 60% 40%;transform:scale(1)rotate(-2deg)}25%{border-radius:45% 55% 40% 60%/60% 40% 55% 45%;transform:scale(1.05)rotate(3deg)}50%{border-radius:55% 45% 65% 35%/50% 60% 40% 55%;transform:scale(0.98)rotate(-1deg)}75%{border-radius:40% 60% 50% 50%/65% 35% 55% 45%;transform:scale(1.03)rotate(2deg)}}
@keyframes crayonJitter{0%,100%{transform:translate(0,0)rotate(0deg)}20%{transform:translate(-2px,1px)rotate(-1deg)}40%{transform:translate(1px,-2px)rotate(1deg)}60%{transform:translate(-1px,-1px)rotate(-0.5deg)}80%{transform:translate(2px,2px)rotate(0.5deg)}}
@keyframes hatchShift{0%{background-position:0 0}100%{background-position:8px 8px}}
@keyframes scribbleDash{0%,100%{stroke-dashoffset:0}50%{stroke-dashoffset:8}}
@keyframes stampBounce{0%,100%{transform:scale(1)rotate(-3deg)}50%{transform:scale(1.08)rotate(3deg)}}

/* Paint splatter — irregular organic blob */
.crayon-splat{position:absolute;pointer-events:none;z-index:0;opacity:0.9;width:220px;height:160px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 8 C28 5 10 22 15 42 C5 52 12 72 30 78 C42 92 60 90 72 78 C88 72 92 52 82 38 C88 20 70 5 50 8 Z' fill='%23FF6B6B'/%3E%3Ccircle cx='28' cy='28' r='7' fill='%23FF6B6B' opacity='0.8'/%3E%3Ccircle cx='72' cy='22' r='6' fill='%23FF6B6B' opacity='0.8'/%3E%3Ccircle cx='82' cy='58' r='7' fill='%23FF6B6B' opacity='0.8'/%3E%3Ccircle cx='22' cy='62' r='5' fill='%23FF6B6B' opacity='0.8'/%3E%3C/svg%3E") no-repeat center/contain;image-rendering:auto;animation:wobbleBlob 7s ease-in-out infinite}

/* Fingerprint-like concentric smudge */
.crayon-smudge{position:absolute;pointer-events:none;z-index:0;opacity:0.65;width:140px;height:140px;border-radius:50%;background:repeating-radial-gradient(circle at 45% 45%,var(--sky) 0 8px,transparent 10px 20px);filter:blur(16px);animation:smudgeFlip var(--flip-duration,0.4s) steps(1) infinite,blobPulse 10s ease-in-out infinite;animation-delay:var(--flip-delay,0s),0s}
@keyframes smudgeFlip{0%,49%{background:repeating-radial-gradient(circle at 45% 45%,var(--sky) 0 8px,transparent 10px 20px)}50%,100%{background:repeating-radial-gradient(circle at 48% 42%,var(--sky) 0 8px,transparent 10px 20px)}}

/* Jagged crayon underline — sharp irregular */
.scribble-underline-jagged{position:relative;display:inline-block}
.scribble-underline-jagged::before{content:'';position:absolute;bottom:-6px;left:-8px;right:-8px;height:7px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10'%3E%3Cpath d='M0 4 L5 7 L11 2 L17 6 L23 3 L29 8 L35 4 L41 7 L47 2 L53 6 L59 3 L65 8 L71 4 L77 7 L83 2 L89 6 L95 3 L101 8 L107 4 L113 7 L120 5' stroke='%23f9a107' stroke-width='4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") repeat-x;background-size:24px 7px;opacity:0;animation:flipBookReverse var(--flip-duration,0.4s) steps(1) infinite;animation-delay:var(--flip-delay,0s)}
.scribble-underline-jagged::after{content:'';position:absolute;bottom:-6px;left:-8px;right:-8px;height:7px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 10'%3E%3Cpath d='M0 5 L6 2 L12 7 L18 3 L24 8 L30 2 L36 6 L42 3 L48 8 L54 2 L60 6 L66 3 L72 7 L78 2 L84 6 L90 3 L96 8 L102 2 L108 6 L114 3 L120 7' stroke='%23f9a107' stroke-width='4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") repeat-x;background-size:24px 7px;opacity:1;animation:flipBook var(--flip-duration,0.4s) steps(1) infinite,pencilWobble 3s ease-in-out infinite;animation-delay:var(--flip-delay,0s),0s}

/* Thick wavy crayon underline */
.scribble-underline-wavy{position:relative;display:inline-block}
.scribble-underline-wavy::before{content:'';position:absolute;bottom:-10px;left:-10px;right:-10px;height:9px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 12'%3E%3Cpath d='M0 5 Q10 2 20 5 T40 5 T60 5 T80 5 T100 5' stroke='%23e05555' stroke-width='5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x;background-size:32px 9px;opacity:0;animation:flipBookReverse var(--flip-duration,0.4s) steps(1) infinite;animation-delay:var(--flip-delay,0s)}
.scribble-underline-wavy::after{content:'';position:absolute;bottom:-10px;left:-10px;right:-10px;height:9px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 12'%3E%3Cpath d='M0 6 Q8 1 16 6 T32 6 T48 6 T64 6 T80 6 T96 6' stroke='%23e05555' stroke-width='5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x;background-size:32px 9px;opacity:1;animation:flipBook var(--flip-duration,0.4s) steps(1) infinite,crayonJitter 4s ease-in-out infinite;animation-delay:var(--flip-delay,0s),0s}

/* Double-line crayon underline */
.scribble-underline-double{position:relative;display:inline-block}
.scribble-underline-double::before{content:'';position:absolute;bottom:-8px;left:-6px;right:-6px;height:8px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10'%3E%3Cpath d='M0 2 Q12 0 24 2 T48 2 T72 2 T96 2' stroke='%234a90d9' stroke-width='3.5' fill='none' stroke-linecap='round'/%3E%3Cpath d='M0 7 Q12 9 24 7 T48 7 T72 7 T96 7' stroke='%234a90d9' stroke-width='3.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x;background-size:24px 8px;opacity:0;animation:flipBookReverse var(--flip-duration,0.4s) steps(1) infinite;animation-delay:var(--flip-delay,0s)}
.scribble-underline-double::after{content:'';position:absolute;bottom:-8px;left:-6px;right:-6px;height:8px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10'%3E%3Cpath d='M0 3 Q12 1 24 3 T48 3 T72 3 T96 3' stroke='%234a90d9' stroke-width='3.5' fill='none' stroke-linecap='round'/%3E%3Cpath d='M0 7 Q12 9 24 7 T48 7 T72 7 T96 7' stroke='%234a90d9' stroke-width='3.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x;background-size:24px 8px;opacity:1;animation:flipBook var(--flip-duration,0.4s) steps(1) infinite,crayonJitter 5s ease-in-out infinite;animation-delay:var(--flip-delay,0s),0s}

/* Hand-drawn imperfect circle around things */
.crayon-circle-hand{position:relative;display:inline-block}
.crayon-circle-hand::before{content:'';position:absolute;inset:-10px -8px -8px -10px;border:2.5px solid var(--sunrise);border-radius:48% 52% 50% 50%/52% 48% 50% 50%;opacity:0.55;animation:crayonJitter 6s ease-in-out infinite;pointer-events:none;z-index:-1}
.crayon-circle-hand::after{content:'';position:absolute;inset:-10px -8px -8px -10px;border:2.5px solid var(--sunrise);border-radius:52% 48% 48% 52%/48% 52% 52% 48%;opacity:0;animation:flipBookReverse var(--flip-duration,0.4s) steps(1) infinite;animation-delay:var(--flip-delay,0s);pointer-events:none;z-index:-1}

/* Crayon box — wobbly rectangular border */
.crayon-box{position:relative}
.crayon-box::before{content:'';position:absolute;inset:-10px;border:3.5px solid var(--sky);border-radius:8px 12px 10px 14px;opacity:0.75;animation:crayonJitter 7s ease-in-out infinite;pointer-events:none;z-index:-1}
.crayon-box::after{content:'';position:absolute;inset:-12px;border:3.5px solid var(--sky);border-radius:10px 14px 12px 8px;opacity:0;animation:flipBookReverse var(--flip-duration,0.4s) steps(1) infinite;animation-delay:var(--flip-delay,0s);pointer-events:none;z-index:-1}

/* Dense scribble fill behind text */
.crayon-scribble-fill{position:relative;z-index:1}
.crayon-scribble-fill::before{content:'';position:absolute;top:-6px;bottom:-6px;left:-8px;right:-8px;background:repeating-linear-gradient(-45deg,rgba(249,161,7,0.28) 0 2px,transparent 2px 8px),repeating-linear-gradient(45deg,rgba(74,144,217,0.22) 0 2px,transparent 2px 10px);border-radius:6px;z-index:-1;animation:hatchShift 12s linear infinite}

/* Stamp-style badge — chunky imperfect */
.crayon-stamp{display:inline-flex;align-items:center;gap:6px;background:rgba(255,107,107,0.2);border:3px double var(--coral);color:var(--coral-deep);font-family:var(--font-display);font-size:12px;font-weight:800;padding:6px 14px;border-radius:4px 8px 6px 10px;transform:rotate(-2deg);animation:stampFlip var(--flip-duration,0.4s) steps(1) infinite,stampBounce 4s ease-in-out infinite;animation-delay:var(--flip-delay,0s),0s}
@keyframes stampFlip{0%,49%{transform:rotate(-2deg)}50%,100%{transform:rotate(4deg)}}

/* Crayon arrow pointing at things */
.crayon-arrow{position:absolute;width:48px;height:36px;pointer-events:none;z-index:2;opacity:0.9}
.crayon-arrow svg{width:100%;height:100%;overflow:visible}
.crayon-arrow path{fill:none;stroke:var(--sunrise);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4 3;animation:scribbleDash 2s linear infinite}

/* Hand-drawn checkmark accent */
.crayon-check{position:relative;width:28px;height:28px;display:inline-block;vertical-align:middle}
.crayon-check::before{content:'';position:absolute;left:2px;top:4px;width:10px;height:18px;border:solid var(--green);border-width:0 3px 3px 0;transform:rotate(45deg);opacity:0.9;animation:checkFlip var(--flip-duration,0.4s) steps(1) infinite,crayonJitter 3s ease-in-out infinite;animation-delay:var(--flip-delay,0s),0s}
@keyframes checkFlip{0%,49%{transform:rotate(45deg)}50%,100%{transform:rotate(52deg)}}

/* Wild star — hand-scrawled 5-point with wobble */
.crayon-star-hand{width:44px;height:44px;position:relative;display:inline-block;opacity:1;animation:crayonJitter 4s ease-in-out infinite}
.crayon-star-hand::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 5 L62 35 L92 38 L70 55 L76 85 L50 70 L24 85 L30 55 L8 38 L38 35 Z' fill='none' stroke='%23f9a107' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;transform:rotate(-12deg);animation:flipBook var(--flip-duration,0.4s) steps(1) infinite;animation-delay:var(--flip-delay,0s)}
.crayon-star-hand::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 5 L62 35 L92 38 L70 55 L76 85 L50 70 L24 85 L30 55 L8 38 L38 35 Z' fill='none' stroke='%234A90D9' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;transform:rotate(-22deg);opacity:0;animation:flipBookReverse var(--flip-duration,0.4s) steps(1) infinite;animation-delay:var(--flip-delay,0s)}

/* Dot cluster — random paint dots */
.crayon-dots{position:absolute;pointer-events:none;z-index:0;opacity:0.75}
.crayon-dots::before,.crayon-dots::after{content:'';position:absolute;border-radius:50%;background:var(--sky)}
.crayon-dots::before{width:14px;height:14px;top:0;left:0;animation:crayonBounce 2.5s ease-in-out infinite}
.crayon-dots::after{width:10px;height:10px;top:20px;left:24px;background:var(--sunrise);animation:crayonBounce 2s ease-in-out infinite 0.5s}

/* Scribble swirl accent */
.crayon-swirl{width:50px;height:50px;position:absolute;pointer-events:none;z-index:0;opacity:0.7}
.crayon-swirl::before{content:'';position:absolute;inset:0;border:2.5px solid var(--coral);border-radius:50%;border-left-color:transparent;border-bottom-color:transparent;animation:swirl 6s linear infinite}

/* Messy highlight — paint-brush stroke gradient */
.art-highlight-messy{position:relative;z-index:1}
.art-highlight-messy::before{content:'';position:absolute;bottom:-6px;left:-14px;right:-12px;height:28px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M0 6 Q25 2 50 6 T100 6 T150 6 T200 6' stroke='%23f9a107' stroke-width='5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat left center/180% auto;z-index:-1;transform:skewX(-4deg)rotate(-1deg);animation:artHighlightMessyFlip var(--flip-duration,0.4s) steps(1) infinite,crayonJitter 8s ease-in-out infinite;animation-delay:var(--flip-delay,0s),0s;opacity:0.95}
@keyframes artHighlightMessyFlip{0%,49%{background-position:left center;transform:skewX(-4deg)rotate(-1deg)}50%,100%{background-position:14px center;transform:skewX(-3deg)rotate(1deg)}}

/* ===== CRAYON CURSOR TRAIL ===== */
.crayon-trail{position:fixed;pointer-events:none;z-index:9999;font-size:28px;line-height:1;opacity:0.9;will-change:transform,opacity;filter:drop-shadow(0 0 4px currentColor);text-shadow:0 0 6px currentColor}
@keyframes trailSpinFade{0%{transform:translate(-50%,-50%) rotate(0deg) scale(1);opacity:0.9}100%{transform:translate(-50%,-50%) rotate(180deg) scale(0.2);opacity:0}}
.crayon-splat{width:220px;height:200px;position:absolute;pointer-events:none;z-index:0;opacity:0.28;animation:wobbleBlob 12s ease-in-out infinite}
.crayon-splat::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 8 C28 5 10 22 15 42 C5 52 12 72 30 78 C42 92 60 90 72 78 C88 72 92 52 82 38 C88 20 70 5 50 8 Z' fill='%23FF6B6B'/%3E%3Ccircle cx='28' cy='28' r='7' fill='%23FF6B6B' opacity='0.8'/%3E%3Ccircle cx='72' cy='22' r='6' fill='%23FF6B6B' opacity='0.8'/%3E%3Ccircle cx='82' cy='58' r='7' fill='%23FF6B6B' opacity='0.8'/%3E%3Ccircle cx='22' cy='62' r='5' fill='%23FF6B6B' opacity='0.8'/%3E%3C/svg%3E") no-repeat center/contain}
.crayon-splotch{width:90px;height:70px;position:absolute;pointer-events:none;z-index:0;opacity:0.35;animation:crayonJitter 6s ease-in-out infinite}
.crayon-splotch::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 80'%3E%3Cpath d='M50 12 C32 8 18 24 22 42 C12 52 22 68 38 66 C48 76 62 74 68 64 C82 60 84 42 74 32 C78 18 64 8 50 12 Z' fill='%234A90D9'/%3E%3C/svg%3E") no-repeat center/contain}
.crayon-texture{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:0.05;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Crect width='100' height='100' fill='transparent'/%3E%3Cpath d='M10 20 L30 22 M50 15 L70 25 M20 50 L45 48 M60 60 L85 55 M25 80 L55 82 M75 75 L90 70' stroke='%23000' stroke-width='0.5' opacity='0.3' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/cover}
.doodle-img-star{width:48px;height:auto;animation:crayonJitter 4s ease-in-out infinite}
.doodle-img-check{width:32px;height:auto;animation:crayonJitter 3s ease-in-out infinite}
.doodle-img-splat{width:240px;height:auto;animation:wobbleBlob 7s ease-in-out infinite}
.doodle-img-circle{width:160px;height:auto;animation:crayonJitter 6s ease-in-out infinite}
.doodle-img-underline{width:100%;max-width:360px;height:auto;display:block;margin:8px auto 0}

/* ===== CRAYON FORM FOCUS ===== */
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--sunrise);box-shadow:0 0 0 3px rgba(249,161,7,0.2)}

/* ===== CRAYON ACCORDION BORDERS ===== */
.accordion{border-left:3px solid var(--sunrise);border-radius:0 12px 12px 0}

/* ===== CRAYON QUOTE MARKS ===== */
.crayon-quote{position:relative;padding:28px 32px;background:var(--cream);border-radius:16px}
.crayon-quote::before{content:'';position:absolute;top:-12px;left:20px;width:40px;height:40px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 8 C28 5 10 22 15 42 C5 52 12 72 30 78 C42 92 60 90 72 78 C88 72 92 52 82 38 C88 20 70 5 50 8 Z' fill='%23FF6B6B'/%3E%3Ccircle cx='28' cy='28' r='7' fill='%23FF6B6B' opacity='0.8'/%3E%3Ccircle cx='72' cy='22' r='6' fill='%23FF6B6B' opacity='0.8'/%3E%3Ccircle cx='82' cy='58' r='7' fill='%23FF6B6B' opacity='0.8'/%3E%3Ccircle cx='22' cy='62' r='5' fill='%23FF6B6B' opacity='0.8'/%3E%3C/svg%3E") no-repeat center/contain;opacity:0.35;transform:rotate(-15deg);animation:flipBook var(--flip-duration,0.4s) steps(1) infinite;animation-delay:var(--flip-delay,0s)}
.crayon-quote::after{content:'';position:absolute;top:-12px;left:20px;width:40px;height:40px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 8 C28 5 10 22 15 42 C5 52 12 72 30 78 C42 92 60 90 72 78 C88 72 92 52 82 38 C88 20 70 5 50 8 Z' fill='%23FF6B6B'/%3E%3Ccircle cx='28' cy='28' r='7' fill='%23FF6B6B' opacity='0.8'/%3E%3Ccircle cx='72' cy='22' r='6' fill='%23FF6B6B' opacity='0.8'/%3E%3Ccircle cx='82' cy='58' r='7' fill='%23FF6B6B' opacity='0.8'/%3E%3Ccircle cx='22' cy='62' r='5' fill='%23FF6B6B' opacity='0.8'/%3E%3C/svg%3E") no-repeat center/contain;opacity:0;transform:rotate(-24deg);animation:flipBookReverse var(--flip-duration,0.4s) steps(1) infinite;animation-delay:var(--flip-delay,0s)}

/* ===== VIDEO GALLERY ===== */
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:32px}
@media(max-width:768px){.video-grid{grid-template-columns:1fr}}
.video-card{border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,0.06);transition:transform 0.3s ease,box-shadow 0.3s ease;background:var(--white);cursor:pointer}
.video-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,0.10)}
.video-thumb{position:relative;padding-top:56.25%;background:var(--ink-soft);overflow:hidden}
.video-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}
.video-card:hover .video-thumb img{transform:scale(1.04)}
.video-play-btn{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,0.92);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);cursor:pointer;transition:transform 0.2s ease;box-shadow:0 4px 16px rgba(0,0,0,0.12)}
.video-play-btn:hover{transform:translate(-50%,-50%) scale(1.1)}
.video-play-btn svg{width:20px;height:20px;margin-left:3px;color:var(--ink)}
.video-caption{padding:16px 18px}
.video-caption .video-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--sky);margin-bottom:6px}
.video-caption p{margin:0;font-size:14px;color:var(--gray);line-height:1.45}
.video-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.video-filter-btn{font-family:var(--font-body);font-size:13px;padding:8px 16px;border-radius:20px;border:1.5px solid var(--gray-border);background:transparent;color:var(--gray);cursor:pointer;transition:all 0.2s ease}
.video-filter-btn.active,.video-filter-btn:hover{background:var(--sky);color:#fff;border-color:var(--sky)}
.video-lightbox{position:fixed;inset:0;background:rgba(0,0,0,0.88);z-index:2000;display:none;align-items:center;justify-content:center;padding:24px}
.video-lightbox.open{display:flex}
.video-lightbox-inner{position:relative;width:100%;max-width:960px;display:flex;flex-direction:column;align-items:center}
.video-lightbox video{width:100%;max-height:78vh;border-radius:8px;background:#000}
.video-lightbox-close{position:absolute;top:-48px;right:0;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,0.15);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer;transition:background 0.2s;z-index:1}
.video-lightbox-close:hover{background:rgba(255,255,255,0.3)}
.video-lightbox-caption{color:rgba(255,255,255,0.8);font-size:14px;margin-top:12px;text-align:center}

/* ----- FACILITIES SPLIT TOUR ----- */
.tour-split{display:flex;gap:40px;align-items:center;margin-top:60px}
.tour-video-wrap{flex:0 0 58%;border-radius:16px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,0.10);background:var(--ink-soft)}
.tour-video-wrap video{width:100%;height:auto;display:block}
.tour-cta{flex:1 1 auto}
.tour-cta h2{font-size:clamp(22px,2.4vw,28px);margin-bottom:12px}
.tour-cta p{font-size:15px;color:var(--gray);line-height:1.7;margin-bottom:20px;max-width:360px}
@media(max-width:768px){.tour-split{flex-direction:column;gap:24px}.tour-video-wrap{flex:0 0 auto;width:100%}}

/* ----- INLINE VIDEO CARDS (Student Life grid) ----- */
.inline-video-card{border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,0.06);transition:transform 0.3s ease,box-shadow 0.3s ease;background:var(--white);cursor:pointer;border-left:4px solid var(--sky)}
.inline-video-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,0.10)}
.inline-video-card .video-thumb{position:relative;height:180px;background:var(--ink-soft);overflow:hidden;padding-top:0}
.inline-video-card .video-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}
.inline-video-card:hover .video-thumb img{transform:scale(1.04)}
.inline-video-card .video-caption{padding:16px 18px 18px 14px}

/* ----- ECA CLUBS VIDEO ROW ----- */
.eca-video-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}
.eca-video-card{border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,0.06);transition:transform 0.3s ease,box-shadow 0.3s ease;background:var(--white);cursor:pointer;border-top:4px solid var(--sky)}
.eca-video-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,0.10)}
.eca-video-card .video-thumb{position:relative;height:220px;background:var(--ink-soft);overflow:hidden;padding-top:0}
.eca-video-card .video-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}
.eca-video-card:hover .video-thumb img{transform:scale(1.04)}
.eca-video-card .video-caption{padding:16px 18px}
@media(max-width:768px){.eca-video-row{grid-template-columns:1fr;display:flex;overflow-x:auto;gap:16px;scroll-snap-type:x mandatory;padding-bottom:8px}.eca-video-card{flex:0 0 85%;scroll-snap-align:start}}

/* ----- REDUCED MOTION ----- */
@media (prefers-reduced-motion:reduce){
  .crayon-flip .frame-b,.crayon-flip::after,.crayon-flip .frame-a,.crayon-flip::before{animation:none!important;opacity:0!important}
  .crayon-star-hand,.crayon-star,.crayon-dot,.crayon-smudge,.crayon-circle-hand,.crayon-box,.crayon-stamp,.crayon-check,.scribble-underline-jagged,.scribble-underline-wavy,.scribble-underline-double,.pencil-underline,.art-highlight,.art-highlight-messy,.card::after,.btn::before,.mobile-nav a::after,.nav-links a{animation:none!important}
}

/* ----- PRINT STYLES ----- */
@media print{
  .nav,.mobile-nav,.whatsapp-float,.back-to-top,.newsletter-modal,.cookie-banner,.planning-overlay,.planning-modal,.btn-planning,.builder-credit{display:none!important}
  .section{padding:32px 0}
  body{font-size:12pt;color:#000}
  a{text-decoration:underline;color:#000}
  .page-hero{min-height:auto;padding:40px 20px;background:#fff!important}
  .page-hero-content h1{color:#000}
  .card,.accordion,.table-wrap{break-inside:avoid}
}
