/* =========================================================
   ENGLISH TEACHER — playful, kid-friendly stylesheet
   ========================================================= */
:root{
  --sky:#3ec1ff;
  --sky-deep:#0d8fcf;
  --sun:#ffd23f;
  --coral:#ff6b6b;
  --grass:#5dd39e;
  --grape:#9b5de5;
  --cream:#fff8eb;
  --paper:#fffaf0;
  --ink:#1a3a52;
  --ink-soft:#436680;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Quicksand','Nunito','Helvetica Neue',Arial,sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.5;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Fredoka','Quicksand',sans-serif;font-weight:700;line-height:1.15;letter-spacing:-0.01em}
button{font-family:inherit;cursor:pointer;border:none}
a{color:inherit}

/* ---------- NAV ---------- */
nav.site{
  position:sticky;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 28px;
  background:#fff;
  box-shadow:0 4px 20px rgba(13,143,207,0.08);
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:700;font-size:18px}
.brand svg{width:48px;height:48px}
.brand .name-en{font-family:'Fredoka',sans-serif;font-size:20px;line-height:1}
.brand .name-en .accent{color:var(--coral)}
.brand .name-th{display:block;font-size:11px;color:var(--ink-soft);font-weight:600;letter-spacing:0.05em;margin-top:2px}
.nav-links{display:flex;gap:8px}
.nav-links a{
  padding:8px 16px;border-radius:999px;
  text-decoration:none;font-size:14px;font-weight:600;
  color:var(--ink-soft);
  transition:background .2s, color .2s;
}
.nav-links a:hover{background:var(--cream);color:var(--ink)}
.nav-links a.active{background:var(--coral);color:#fff}
@media(max-width:560px){
  .nav-links a{padding:6px 12px;font-size:13px}
  .brand .name-en{font-size:17px}
}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:18px 36px;border-radius:999px;
  font-weight:700;text-decoration:none;
  font-size:17px;
  transition:transform .15s ease, box-shadow .2s ease;
  border:none;font-family:inherit;cursor:pointer;
}
.btn:hover{transform:translateY(-3px) scale(1.02)}
.btn:active{transform:translateY(0) scale(0.98)}
.btn-primary{
  background:linear-gradient(135deg,var(--coral),#ff8e8e);
  color:#fff;
  box-shadow:0 8px 24px rgba(255,107,107,0.4);
}
.btn-primary:hover{box-shadow:0 12px 32px rgba(255,107,107,0.5)}
.btn-secondary{
  background:#fff;color:var(--sky-deep);
  border:3px solid var(--sky);
}
.btn-sun{
  background:linear-gradient(135deg,var(--sun),#ffe27a);
  color:var(--ink);
  box-shadow:0 8px 24px rgba(255,210,63,0.4);
}

/* ---------- SHARED SECTIONS ---------- */
section{padding:80px 28px;position:relative}
.container{max-width:1100px;margin:0 auto}
.section-eyebrow{
  color:var(--coral);font-size:12px;letter-spacing:0.2em;
  text-transform:uppercase;font-weight:700;margin-bottom:10px;
}
.section-title{font-size:clamp(28px,4vw,44px);margin-bottom:14px;color:var(--ink)}
.section-lede{font-size:17px;max-width:680px;color:var(--ink-soft);margin-bottom:36px}

/* ---------- PAGE HEADER ---------- */
.page-header{
  padding:40px 28px 60px;
  background:linear-gradient(180deg,#a8e9ff 0%, #cef3ff 100%);
  text-align:center;
}
.page-header h1{
  font-size:clamp(34px,5vw,56px);color:var(--ink);margin-bottom:12px;
}
.page-header .lede{
  font-size:17px;color:var(--ink-soft);max-width:620px;margin:0 auto;
}

/* ---------- FOOTER ---------- */
footer.site{
  background:var(--ink);
  color:rgba(255,250,240,0.7);
  padding:40px 28px;text-align:center;font-size:13px;
}
footer.site .brand{justify-content:center;color:#fff;margin-bottom:14px}
footer.site .brand .name-en, footer.site .brand .name-th{color:#fff}
footer.site .footer-links{
  display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin:14px 0;
}
footer.site .footer-links a{
  color:rgba(255,250,240,0.85);text-decoration:none;font-weight:600;
}
footer.site .footer-links a:hover{color:var(--sun)}

/* ---------- ANIMATIONS ---------- */
@keyframes bob{
  0%,100%{transform:translateY(0) rotate(-2deg)}
  50%{transform:translateY(-10px) rotate(2deg)}
}
.bob-anim{animation:bob 4s ease-in-out infinite;transform-origin:center}

@keyframes pop-in{
  0%{transform:scale(0.5);opacity:0}
  100%{transform:scale(1);opacity:1}
}
.pop-in{animation:pop-in 0.4s ease-out}
