:root{
  --ink:#14213d;
  --ink2:#23385f;
  --accent:#b32b6c;
  --accent2:#b32b6c;
  --cream:#fbf8f4;
  --paper:#ffffff;
  --line:#e8e3df;
  --muted:#6c7280;
  --soft:#f3f5f8;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:"Noto Sans KR",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.7;
}
a{color:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(20,33,61,.08);
  backdrop-filter:blur(12px);
}
.nav-wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:260px}
.brand-mark{
  width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--accent);color:#fff;
  font-family:"Oswald",sans-serif;font-size:24px;
}
.brand-logo{
  width:52px;
  height:52px;
  object-fit:contain;
  border-radius:50%;
  flex:0 0 auto;
}
.brand strong{display:block;font-size:16px}
.brand span{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.main-nav{display:flex;gap:24px;align-items:center}
.main-nav a{text-decoration:none;font-size:14px;font-weight:600}
.main-nav a:hover{color:var(--accent)}
.menu-btn{display:none;border:0;background:transparent;font-size:28px;color:var(--ink)}
.hero{
  background:
    linear-gradient(rgba(20,33,61,.50), rgba(20,33,61,.50)),
    url("hero-kids.jpg") center/cover no-repeat;
  padding:100px 0 86px;
  color:white;
}
.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:68px;align-items:center}
.eyebrow,.section-kicker{
  font-family:"Oswald",sans-serif;
  letter-spacing:.14em;
  color:var(--accent);
  font-weight:600;
  font-size:13px;
}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(40px,6vw,72px);line-height:1.15;letter-spacing:-.04em;margin-bottom:28px}
h1 span{color:var(--accent)}
.hero-copy{font-size:19px;max-width:760px;margin-bottom:6px}
.hero-copy.en{color:var(--muted);font-size:16px}
.hero-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 22px;border-radius:999px;
  text-decoration:none;font-weight:700;border:1px solid transparent;
}
.btn.primary{background:var(--accent);color:white}
.btn.secondary{background:white;border-color:var(--line)}
.btn.disabled{background:#d5d8de;color:#686f7b;cursor:not-allowed}
.hero-card{
  padding:34px;border-radius:24px;background:var(--ink);
  color:white;box-shadow:0 24px 70px rgba(20,33,61,.18);
}
.hero-card span,.semester-card span{font-family:"Oswald",sans-serif;letter-spacing:.1em;color:#ffd5df}
.hero-card h2{font-size:30px;line-height:1.25;margin:14px 0 24px}
.hero-card p{margin-bottom:5px;color:#eef2f7}
.section{padding:88px 0}
.section.alt{background:var(--cream)}
.section h2{font-size:clamp(30px,4vw,48px);line-height:1.2;margin-bottom:34px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.two-col h3{font-size:22px}
.two-col p,.intro{color:#4f5868}
.cards{display:grid;gap:22px}
.cards.three{grid-template-columns:repeat(3,1fr)}
.cards.two{grid-template-columns:repeat(2,1fr)}
.card,.semester-card{
  background:white;border:1px solid var(--line);border-radius:20px;padding:28px;
  box-shadow:0 10px 28px rgba(20,33,61,.05)
}
.icon{
  width:48px;height:48px;border-radius:14px;background:var(--soft);
  color:var(--accent);display:grid;place-items:center;font-weight:800;margin-bottom:20px
}
.card h3{font-size:22px;margin-bottom:4px}
.muted{color:var(--muted);font-size:14px}
.info-panel{
  display:grid;grid-template-columns:1.2fr .8fr;gap:26px;
  background:var(--ink);color:white;border-radius:24px;padding:36px;
}
.info-panel ul{padding-left:20px;margin-bottom:0}
.status{color:#ffd5df;font-weight:700}
.notice{background:white;color:var(--ink);border-radius:18px;padding:24px}
.notice p{color:var(--muted)}
.semester-card span{color:var(--accent)}
.semester-card h3{font-size:24px;margin:14px 0}
.closed{color:#8a8f99;font-weight:700}
.open{color:var(--accent);font-weight:700}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.photo-placeholder{
  aspect-ratio:4/3;border-radius:16px;background:linear-gradient(135deg,#edf0f5,#f7f2ef);
  border:1px dashed #bdc3ce;display:grid;place-items:center;color:#7c8390;font-weight:600
}
.donate{background:#fbf3f7}
.donate-card{background:white}
.text-link{color:var(--accent);font-weight:700;text-decoration:none}
.check-box{
  margin-top:24px;background:white;border:1px solid var(--line);
  border-radius:18px;padding:24px
}
.contact-box{
  display:grid;grid-template-columns:1fr 1fr;gap:40px;
  background:var(--soft);border-radius:22px;padding:34px
}
.contact-box a{color:var(--accent)}
footer{background:#111b31;color:white;padding:32px 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer-inner strong,.footer-inner span{display:block}
.footer-inner span{font-size:12px;color:#c7cfdd}
.footer-inner p{margin:0;color:#c7cfdd;font-size:13px}

@media (max-width:900px){
  .menu-btn{display:block}
  .main-nav{
    display:none;position:absolute;left:20px;right:20px;top:70px;
    background:white;border:1px solid var(--line);border-radius:18px;
    padding:18px;box-shadow:0 18px 45px rgba(20,33,61,.12);
    flex-direction:column;align-items:flex-start;gap:12px
  }
  .main-nav.open{display:flex}
  .hero-grid,.two-col,.info-panel,.contact-box{grid-template-columns:1fr}
  .cards.three{grid-template-columns:1fr}
  .cards.two{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .hero{padding-top:68px}
}
@media (max-width:560px){
  .container{width:min(100% - 28px,var(--max))}
  .brand span{display:none}
  .brand strong{font-size:14px}
  .brand{min-width:0}
  .hero{padding:56px 0 54px}
  .section{padding:64px 0}
  .gallery-grid{grid-template-columns:1fr}
  .footer-inner{align-items:flex-start;flex-direction:column}
}


.hero .eyebrow,
.hero h1,
.hero .hero-copy,
.hero .hero-copy.en{
  color:white;
}
.hero .hero-copy.en{
  color:rgba(255,255,255,.92);
}
.hero .btn.secondary{
  background:rgba(255,255,255,.92);
  border-color:rgba(255,255,255,.92);
}
.hero .btn.primary{
  background:var(--accent);
}
.hero-card{
  background:rgba(20,33,61,.82);
  backdrop-filter: blur(4px);
}


.feature-band{
  margin-top:42px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:30px;
  align-items:center;
  background:var(--soft);
  border-radius:24px;
  overflow:hidden;
}
.feature-band img{
  width:100%;
  height:100%;
  min-height:320px;
  object-fit:cover;
  display:block;
}
.feature-copy{padding:34px}
.feature-copy h3{font-size:30px;line-height:1.25;margin-bottom:16px}
.feature-copy p{color:#4f5868}

.image-pair{
  margin-top:32px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.image-pair figure{
  margin:0;
  background:white;
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(20,33,61,.05);
}
.image-pair img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
}

.highlight-cards{
  margin-top:12px;
}
.photo-card{
  background:white;
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(20,33,61,.05);
}
.photo-card img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
}
.photo-copy{padding:20px}
.photo-copy h3{font-size:22px;margin-bottom:8px}
.photo-copy p{color:#4f5868;margin-bottom:0}

.masonry-grid{
  columns:3 280px;
  column-gap:18px;
  margin-top:24px;
}
.masonry-grid figure{
  break-inside:avoid;
  margin:0 0 18px;
  background:white;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow:0 10px 28px rgba(20,33,61,.05);
}
.masonry-grid img{
  width:100%;
  display:block;
}

@media (max-width:900px){
  .feature-band,
  .image-pair{
    grid-template-columns:1fr;
  }
  .feature-band img{
    min-height:220px;
  }
}


/* Bright hero version */
.hero{
  background:
    linear-gradient(90deg, rgba(20,33,61,.24) 0%, rgba(20,33,61,.18) 34%, rgba(20,33,61,.08) 60%, rgba(20,33,61,.12) 100%),
    url("hero-bright-field.jpg") center center / cover no-repeat !important;
  color:white;
  min-height:760px;
  display:flex;
  align-items:center;
}
.hero .eyebrow,
.hero h1,
.hero .hero-copy,
.hero .hero-copy.en{
  color:white;
}
.hero h1,
.hero .hero-copy,
.hero .hero-copy.en,
.hero .eyebrow{
  text-shadow: 0 2px 12px rgba(0,0,0,.18);
}
.hero .hero-copy.en{
  color:rgba(255,255,255,.96);
}
.hero .btn.secondary{
  background:rgba(255,255,255,.95);
  border-color:rgba(255,255,255,.95);
  color:var(--ink);
}
.hero-card{
  background:rgba(23,39,73,.84);
  backdrop-filter: blur(6px);
  box-shadow:0 24px 70px rgba(20,33,61,.20);
}
@media (max-width:900px){
  .hero{
    min-height:auto;
    background-position:center center;
  }
}


/* Hero slideshow refinement */
.hero{
  position:relative;
  overflow:hidden;
  background:none !important;
  min-height:760px;
  display:flex;
  align-items:center;
  color:white;
}
.hero-slides,
.hero-overlay{
  position:absolute;
  inset:0;
}
.hero-slides{z-index:0}
.hero-slide{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center center;
  opacity:0;
  transform:scale(1.02);
  transition:opacity 1.1s ease, transform 6s ease;
}
.hero-slide.active{
  opacity:1;
  transform:scale(1.06);
}
.hero-overlay{
  z-index:1;
  background:
    linear-gradient(90deg,
      rgba(20,33,61,.43) 0%,
      rgba(20,33,61,.30) 28%,
      rgba(20,33,61,.12) 55%,
      rgba(20,33,61,.08) 100%);
}
.hero .container{
  position:relative;
  z-index:2;
}
.hero-grid{
  grid-template-columns:minmax(0, 1fr) 410px;
  gap:56px;
}
.hero-grid > div:first-child{
  max-width:720px;
}
.hero h1{
  max-width:690px;
  font-size:clamp(42px,5.4vw,72px);
}
.hero-copy{
  max-width:650px;
}
.hero-dots{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:26px;
  transform:translateX(-50%);
  display:flex;
  gap:9px;
}
.hero-dot{
  width:10px;
  height:10px;
  padding:0;
  border:none;
  border-radius:50%;
  background:rgba(255,255,255,.52);
  cursor:pointer;
}
.hero-dot.active{
  background:#fff;
  transform:scale(1.25);
}
@media (max-width:900px){
  .hero{
    min-height:720px;
    align-items:flex-end;
    padding-top:90px;
  }
  .hero-grid{
    grid-template-columns:1fr;
    gap:26px;
  }
  .hero-grid > div:first-child{
    max-width:620px;
  }
  .hero-card{
    max-width:520px;
  }
  .hero-overlay{
    background:
      linear-gradient(180deg,
        rgba(20,33,61,.12) 0%,
        rgba(20,33,61,.25) 46%,
        rgba(20,33,61,.58) 100%);
  }
}
@media (max-width:560px){
  .hero{
    min-height:690px;
    padding-bottom:70px;
  }
  .hero h1{
    font-size:clamp(38px,11vw,54px);
  }
  .hero-card{
    padding:22px;
  }
}


/* Bilingual hero button fix */
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.hero .btn{
  min-width:220px;
  text-align:center;
  font-weight:700;
  line-height:1.25;
  padding:18px 24px;
}
.hero .btn.secondary{
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(255,255,255,.94) !important;
  color:#16233f !important;
}
.hero .btn.secondary:hover{
  background:#ffffff !important;
  color:#16233f !important;
}
.hero .btn.primary{
  color:white !important;
}
.notice .btn{
  min-width:260px;
  text-align:center;
  line-height:1.3;
}
@media (max-width:700px){
  .hero .btn,
  .notice .btn{
    width:100%;
    min-width:0;
  }
}


/* Requested content refinements */
.feature-en-title{
  font-size:18px;
  font-weight:700;
  color:var(--ink2);
  margin:-6px 0 14px;
}
.feature-en-text,
.card-en,
.notice-en{
  color:#4f5868;
}
.card-en{
  margin-top:10px;
}
.contact-box p{
  margin-bottom:14px;
}
.footer-inner{
  align-items:flex-start;
}
.footer-brand span{
  display:block;
}
.footer-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
}
.footer-meta p{
  text-align:right;
}
.facebook-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff;
  text-decoration:none;
  font-weight:700;
}
.facebook-link svg{
  width:22px;
  height:22px;
  fill:#ffffff;
}
@media (max-width:900px){
  .footer-meta{
    align-items:flex-start;
  }
  .footer-meta p{
    text-align:left;
  }
}


/* Brighter brand-coordinated typography */
:root{
  --ink:#6f2b50;
  --ink2:#88415f;
  --accent:#b32b6c;
  --accent2:#c23b78;
  --muted:#76616d;
  --soft:#fbf5f8;
  --cream:#fff9fc;
}

body{
  color:#604451;
  background:#fffdfd;
}
h1,h2,h3,h4,
.brand strong,
.main-nav a,
.nav-dropdown-toggle{
  color:var(--accent);
}
.section h2{
  color:var(--accent);
}
.two-col h3,
.card h3,
.semester-card h3,
.contact-box h3{
  color:#8f2f5d;
}
.main-nav a:hover,
.nav-dropdown-toggle:hover{
  color:#d24b89;
}
.card,.semester-card,.notice,.contact-box{
  border-color:#f0d8e4;
}
.section.alt{
  background:#fff8fb;
}
.contact-box{
  background:#fff7fa;
}
.info-panel{
  background:linear-gradient(135deg,#7d2e56 0%,#9f3a6c 100%);
}
.hero-card{
  background:rgba(95,32,67,.86) !important;
}
footer{
  background:#7a2a53;
}
.footer-inner span,
.footer-inner p{
  color:#fff4f8;
}

/* Registration dropdown */
.nav-dropdown{
  position:relative;
}
.nav-dropdown-toggle{
  border:0;
  background:transparent;
  font:inherit;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  padding:8px 0;
}
.nav-caret{
  font-size:11px;
  margin-left:4px;
}
.nav-dropdown-menu{
  display:none;
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  min-width:245px;
  padding:10px;
  background:#fff;
  border:1px solid #efd5e1;
  border-radius:14px;
  box-shadow:0 16px 38px rgba(111,43,80,.14);
  z-index:80;
}
.nav-dropdown.open .nav-dropdown-menu,
.nav-dropdown:hover .nav-dropdown-menu{
  display:block;
}
.nav-dropdown-menu a{
  display:block;
  padding:10px 12px;
  border-radius:9px;
  white-space:nowrap;
}
.nav-dropdown-menu a:hover{
  background:#fff2f7;
}
.registration-choice{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #efd5e1;
}
.registration-choice h4{
  margin:0 0 4px;
  font-size:17px;
}
.registration-choice p{
  margin-bottom:10px;
  color:#6f5964;
}

@media (max-width:900px){
  .nav-dropdown{
    width:100%;
  }
  .nav-dropdown-toggle{
    width:100%;
    text-align:left;
  }
  .nav-dropdown-menu{
    position:static;
    transform:none;
    box-shadow:none;
    border:0;
    padding:6px 0 0 12px;
    min-width:0;
  }
  .nav-dropdown:hover .nav-dropdown-menu{
    display:none;
  }
  .nav-dropdown.open .nav-dropdown-menu{
    display:block;
  }
}


/* Light footer refinement */
footer{
  background:#f8e8f0 !important;
  color:#7a2a53 !important;
  border-top:1px solid #efcfdd;
}
.footer-inner strong,
.footer-inner span,
.footer-inner p{
  color:#7a2a53 !important;
}
.facebook-link{
  color:#b32b6c !important;
}
.facebook-link svg{
  fill:#b32b6c !important;
}


/* ===== Bright pink visual refresh ===== */
:root{
  --ink:#5f4451;
  --ink2:#7a5968;
  --accent:#d94f8a;
  --accent2:#ef77aa;
  --cream:#fff8fb;
  --paper:#ffffff;
  --line:#f1d8e3;
  --muted:#806a74;
  --soft:#fff2f7;
}

/* Overall */
body{
  color:#5f4451 !important;
  background:#fffdfd !important;
}
h1,h2,h3,h4{
  color:#c93f7b !important;
}
.section-kicker,
.eyebrow{
  color:#d94f8a !important;
}
.section.alt{
  background:#fff8fb !important;
}

/* Header / navigation */
.site-header{
  background:rgba(255,255,255,.97) !important;
  border-bottom:1px solid #f2dce5 !important;
}
.brand strong{
  color:#c93f7b !important;
}
.brand span{
  color:#8b6b79 !important;
}
.main-nav a,
.nav-dropdown-toggle{
  color:#b83c72 !important;
}
.main-nav a:hover,
.nav-dropdown-toggle:hover{
  color:#e05d98 !important;
}
.nav-dropdown-menu{
  background:#fff !important;
  border-color:#f1d6e2 !important;
}
.nav-dropdown-menu a:hover{
  background:#fff1f7 !important;
}

/* Buttons */
.btn.primary{
  background:#d94f8a !important;
  color:#fff !important;
  border-color:#d94f8a !important;
}
.btn.primary:hover{
  background:#c9427d !important;
}
.btn.secondary{
  background:#fff !important;
  color:#c9427d !important;
  border:1px solid #efbfd2 !important;
}
.btn.secondary:hover{
  background:#fff3f8 !important;
}
.btn.disabled{
  background:#f3dbe5 !important;
  color:#9c6b80 !important;
}

/* Hero registration card: make it light, not dark */
.hero-card{
  background:rgba(255,255,255,.94) !important;
  color:#6a4757 !important;
  border:1px solid rgba(255,255,255,.95) !important;
  box-shadow:0 18px 46px rgba(194,63,123,.18) !important;
  backdrop-filter:blur(8px);
}
.hero-card h2{
  color:#c93f7b !important;
}
.hero-card span{
  color:#d94f8a !important;
}
.hero-card p{
  color:#6b5360 !important;
}

/* Main information boxes */
.card,
.semester-card,
.notice,
.contact-box,
.image-pair figure,
.photo-card,
.masonry-grid figure,
.check-box{
  background:#fff !important;
  border:1px solid #f0d6e2 !important;
  box-shadow:0 10px 28px rgba(201,63,123,.07) !important;
}
.icon{
  background:#fff0f6 !important;
  color:#d94f8a !important;
}
.card h3,
.semester-card h3,
.contact-box h3{
  color:#c9427d !important;
}
.muted,
.card-en,
.notice-en,
.two-col p,
.intro{
  color:#7b6670 !important;
}

/* About feature band */
.feature-band{
  background:#fff3f8 !important;
}
.feature-en-title{
  color:#b83c72 !important;
}
.feature-copy p{
  color:#715b65 !important;
}

/* Registration section: replace dark plum with bright blush */
.info-panel{
  background:linear-gradient(135deg,#fff0f6 0%,#ffe6f0 100%) !important;
  color:#604955 !important;
  border:1px solid #f1ccdc !important;
  box-shadow:0 14px 34px rgba(217,79,138,.10) !important;
}
.info-panel h3{
  color:#c9427d !important;
}
.info-panel li{
  color:#664f5b !important;
}
.status{
  color:#d94f8a !important;
}
.notice{
  background:#fff !important;
}
.registration-choice{
  border-top-color:#f0d6e2 !important;
}
.registration-choice h4{
  color:#c9427d !important;
}

/* Calendar */
.semester-card span{
  color:#d94f8a !important;
}
.open{
  color:#d94f8a !important;
}
.closed{
  color:#9b8690 !important;
}

/* Donate */
.donate{
  background:#fff5f9 !important;
}
.text-link{
  color:#d94f8a !important;
}

/* Contact */
.contact-box{
  background:#fff7fa !important;
}
.contact-box a{
  color:#d94f8a !important;
}

/* Footer: bright and light */
footer{
  background:#fcecf3 !important;
  color:#8f3a64 !important;
  border-top:1px solid #f0d0de !important;
}
.footer-inner strong,
.footer-inner span,
.footer-inner p{
  color:#8f3a64 !important;
}
.facebook-link{
  color:#d94f8a !important;
}
.facebook-link svg{
  fill:#d94f8a !important;
}

/* Mobile menu */
@media (max-width:900px){
  .main-nav{
    background:#fff !important;
    border-color:#f1d6e2 !important;
  }
}


/* ===== Balanced brand color refresh ===== */
/* Pink is used as an accent, not as the main text color. */

:root{
  --ink:#1f2a44;
  --ink2:#40506b;
  --accent:#c83d78;
  --accent2:#e06a9a;
  --cream:#fff8fb;
  --paper:#ffffff;
  --line:#e9dde3;
  --muted:#6f7787;
  --soft:#faf7f9;
}

/* Default typography back to dark, readable colors */
body{
  color:#2f3849 !important;
  background:#fff !important;
}
h1,h2,h3,h4{
  color:#1f2a44 !important;
}
.section h2,
.two-col h3,
.card h3,
.semester-card h3,
.contact-box h3,
.feature-copy h3{
  color:#1f2a44 !important;
}
.card-en,
.notice-en,
.two-col p,
.intro,
.feature-copy p,
.muted{
  color:#667080 !important;
}

/* Header/navigation: dark text with pink hover only */
.brand strong{
  color:#1f2a44 !important;
}
.brand span{
  color:#737b89 !important;
}
.main-nav a,
.nav-dropdown-toggle{
  color:#1f2a44 !important;
}
.main-nav a:hover,
.nav-dropdown-toggle:hover{
  color:#c83d78 !important;
}

/* Section labels can stay pink as small accents */
.section-kicker,
.eyebrow{
  color:#c83d78 !important;
}

/* HERO: restore high contrast */
.hero .eyebrow{
  color:#ffffff !important;
}
.hero h1{
  color:#ffffff !important;
  text-shadow:0 3px 14px rgba(0,0,0,.28) !important;
}
.hero h1 span{
  color:#ffffff !important;
}
.hero .hero-copy,
.hero .hero-copy.en{
  color:#ffffff !important;
  text-shadow:0 2px 10px rgba(0,0,0,.28) !important;
}

/* Pink is a point color on the main CTA */
.hero .btn.primary{
  background:#c83d78 !important;
  border-color:#c83d78 !important;
  color:#ffffff !important;
}
.hero .btn.primary:hover{
  background:#b5356c !important;
}

/* Secondary button stays white */
.hero .btn.secondary{
  background:rgba(255,255,255,.96) !important;
  color:#1f2a44 !important;
  border-color:rgba(255,255,255,.96) !important;
}

/* Right-side semester box: lighter, not black */
.hero-card{
  background:rgba(246,241,244,.94) !important;
  color:#263247 !important;
  border:1px solid rgba(255,255,255,.9) !important;
  box-shadow:0 18px 44px rgba(20,33,61,.18) !important;
}
.hero-card h2{
  color:#24304a !important;
}
.hero-card span{
  color:#c83d78 !important;
}
.hero-card p{
  color:#465166 !important;
}

/* Cards and panels: mostly neutral/white */
.card,
.semester-card,
.notice,
.contact-box,
.image-pair figure,
.photo-card,
.masonry-grid figure,
.check-box{
  background:#ffffff !important;
  border:1px solid #eadfe5 !important;
  box-shadow:0 10px 24px rgba(31,42,68,.06) !important;
}
.icon{
  background:#fff0f6 !important;
  color:#c83d78 !important;
}

/* About feature panel: very soft neutral pink */
.feature-band{
  background:#fbf7f9 !important;
}
.feature-en-title{
  color:#5b6475 !important;
}

/* Registration panel: bright neutral blush, pink only for status */
.info-panel{
  background:linear-gradient(135deg,#fffafb 0%,#f8f3f5 100%) !important;
  color:#2f3849 !important;
  border:1px solid #eadde3 !important;
  box-shadow:0 12px 30px rgba(31,42,68,.07) !important;
}
.info-panel h3{
  color:#1f2a44 !important;
}
.info-panel li{
  color:#3d4658 !important;
}
.status,
.open{
  color:#c83d78 !important;
}
.notice{
  background:#ffffff !important;
}

/* Calendar and donation sections */
.semester-card span,
.text-link{
  color:#c83d78 !important;
}
.donate{
  background:#fff8fb !important;
}

/* Contact */
.contact-box{
  background:#fbf8fa !important;
}
.contact-box a{
  color:#c83d78 !important;
}

/* Footer keeps the school color as a larger background accent */
footer{
  background:#f8e4ed !important;
  color:#6f3552 !important;
  border-top:1px solid #eccbd9 !important;
}
.footer-inner strong,
.footer-inner span,
.footer-inner p{
  color:#6f3552 !important;
}
.facebook-link{
  color:#c83d78 !important;
}
.facebook-link svg{
  fill:#c83d78 !important;
}

/* Dropdown */
.nav-dropdown-menu{
  background:#ffffff !important;
  border-color:#eadde3 !important;
}
.nav-dropdown-menu a{
  color:#1f2a44 !important;
}
.nav-dropdown-menu a:hover{
  background:#fff3f7 !important;
  color:#c83d78 !important;
}

/* Mobile */
@media (max-width:900px){
  .main-nav{
    background:#ffffff !important;
    border-color:#eadde3 !important;
  }
}


/* Contact + footer refinement */
.contact{
  padding-bottom:56px;
}

footer{
  background:#B32B6C !important;
  color:#ffffff !important;
  border-top:none !important;
}
.footer-inner strong,
.footer-inner span,
.footer-inner p{
  color:#ffffff !important;
}
.facebook-link{
  color:#ffffff !important;
}
.facebook-link svg{
  fill:#ffffff !important;
}


/* Facebook brand color */
.facebook-link{
  color:#1877F2 !important;
}
.facebook-link svg{
  fill:#1877F2 !important;
}


/* School Information */
.school-info{
  background:#ffffff;
}
.school-info-intro{
  color:#667080;
  max-width:800px;
  margin-bottom:32px;
}
.school-info-intro span{
  display:block;
  margin-top:4px;
}
.school-info-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.school-info-card{
  background:#ffffff;
  border:1px solid #eadfe5;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(31,42,68,.06);
}
.school-info-card-head{
  padding:20px 20px 14px;
}
.school-info-card-head span{
  font-family:"Oswald",sans-serif;
  color:#c83d78;
  letter-spacing:.08em;
  font-size:12px;
}
.school-info-card-head h3{
  margin:6px 0 0;
  color:#1f2a44 !important;
  font-size:21px;
}
.school-info-image-link{
  display:block;
  background:#fafafa;
}
.school-info-image-link img{
  width:100%;
  display:block;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:top;
  transition:transform .2s ease;
}
.school-info-image-link:hover img{
  transform:scale(1.015);
}

/* Contact simple */
.contact-simple{
  max-width:720px;
  background:#fbf8fa;
  border:1px solid #eadfe5;
  border-radius:20px;
  padding:28px;
}
.contact-simple p{
  margin-bottom:18px;
}
.contact-simple a[href^="mailto:"]{
  color:#c83d78;
  font-weight:700;
}
.contact-form-btn{
  display:inline-flex;
  margin-bottom:12px;
}
.contact-note{
  color:#7a8190;
  font-size:14px;
  margin:0 !important;
}

@media (max-width:900px){
  .school-info-grid{
    grid-template-columns:1fr;
  }
  .school-info-image-link img{
    aspect-ratio:auto;
  }
}

/* FIXED: compact school information cards with modal */
.school-info-grid,
.school-info-card,
.school-info-image-link {
  display:none !important;
}
.school-doc-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:30px;
}
.school-doc-card{
  width:100%;
  text-align:left;
  border:1px solid #eadfe5;
  border-radius:20px;
  background:#fff;
  padding:28px;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(31,42,68,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.school-doc-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(31,42,68,.10);
  border-color:#d9b7c7;
}
.school-doc-semester{
  display:block;
  font-family:"Oswald",sans-serif;
  color:#c83d78;
  letter-spacing:.08em;
  font-size:12px;
  margin-bottom:10px;
}
.school-doc-card strong{
  display:block;
  color:#1f2a44;
  font-size:25px;
  margin-bottom:3px;
}
.school-doc-card small{
  display:block;
  color:#687184;
  font-size:15px;
  margin-bottom:22px;
}
.school-doc-open{
  color:#c83d78;
  font-weight:700;
  font-size:14px;
}
.doc-modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:300;
}
.doc-modal.open{ display:block; }
.doc-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(18,24,38,.76);
}
.doc-modal-dialog{
  position:relative;
  z-index:1;
  width:min(94vw,1220px);
  max-height:92vh;
  margin:4vh auto;
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 28px 80px rgba(0,0,0,.30);
  display:flex;
  flex-direction:column;
}
.doc-modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:16px 20px;
  border-bottom:1px solid #eadfe5;
}
.doc-modal-header h3{
  margin:0;
  color:#1f2a44 !important;
  font-size:20px;
}
.doc-modal-close{
  border:0;
  background:#f7f2f4;
  color:#1f2a44;
  width:38px;
  height:38px;
  border-radius:50%;
  cursor:pointer;
  font-size:18px;
}
.doc-modal-body{
  overflow:auto;
  background:#f4f5f7;
  padding:18px;
  text-align:center;
}
.doc-modal-body img{
  max-width:100%;
  height:auto;
  display:inline-block;
  background:#fff;
  box-shadow:0 4px 18px rgba(0,0,0,.10);
}
.doc-modal-footer{
  padding:14px 20px 18px;
  border-top:1px solid #eadfe5;
  text-align:right;
}
@media (max-width:900px){
  .school-doc-grid{ grid-template-columns:1fr; }
  .doc-modal-dialog{
    width:96vw;
    margin:2vh auto;
    max-height:96vh;
  }
}

/* School info cards: direct new-tab links, no JavaScript required */
.school-doc-card{
  display:block !important;
  text-decoration:none !important;
  color:inherit !important;
}
.school-doc-card:focus,
.school-doc-card:focus-visible{
  outline:3px solid #c83d78;
  outline-offset:3px;
}

/* Cleaner hero after removing descriptive subtext */
.hero-actions{
  margin-top:28px !important;
}

/* Single primary CTA on hero */
.hero-actions{
  gap:0 !important;
}


/* ===== 2026 consolidated responsive update ===== */

/* Hero carousel with meaningful content */
.hero.hero-carousel{
  position:relative;
  min-height:760px;
  padding:0 !important;
  display:block !important;
  overflow:hidden;
  background:#f8f2f5 !important;
  color:white;
}
.hero-scene{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .8s ease;
  pointer-events:none;
}
.hero-scene.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.hero-scene-main{
  background:url("hero-bright-field.jpg") center center / cover no-repeat;
}
.hero-scene-main .hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(20,33,61,.40) 0%,rgba(20,33,61,.23) 42%,rgba(20,33,61,.06) 72%);
  z-index:0;
}
.hero-scene-main .hero-grid{
  position:relative;
  z-index:1;
  min-height:760px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 410px;
  gap:56px;
  align-items:start !important;
  padding-top:145px;
  padding-bottom:84px;
}
.hero-main-copy{
  max-width:720px;
}
.hero-main-copy .eyebrow,
.hero-main-copy h1{
  color:#fff !important;
  text-shadow:0 2px 14px rgba(0,0,0,.24);
}
.hero-main-copy h1 span{color:#fff !important}
.hero-scene-main .hero-card{
  margin-top:18px;
  background:rgba(248,244,246,.94) !important;
  color:#1f2a44 !important;
  backdrop-filter:blur(8px);
}
.hero-scene-main .hero-card h2,
.hero-scene-main .hero-card p{
  color:#1f2a44 !important;
}
.hero-scene-main .hero-card span{
  color:#c83d78 !important;
}

.hero-scene-principal{
  background:linear-gradient(115deg,#fffafc 0%,#f8eef3 48%,#efe2e9 100%);
  color:#26324b;
}
.principal-slide-grid{
  min-height:760px;
  display:grid;
  grid-template-columns:1.08fr .72fr;
  gap:72px;
  align-items:center;
  padding-top:65px;
  padding-bottom:75px;
}
.principal-slide-copy{
  max-width:650px;
}
.principal-slide-copy .eyebrow{
  color:#b32b6c !important;
  text-shadow:none !important;
}
.principal-slide-copy h2{
  color:#1f2a44 !important;
  font-size:clamp(40px,5vw,66px);
  line-height:1.16;
  margin:12px 0 24px;
}
.principal-slide-copy p{
  color:#4f5868;
  font-size:18px;
}
.principal-slide-en{
  font-size:16px !important;
  color:#687083 !important;
}
.principal-slide-photo{
  max-width:390px;
  justify-self:end;
}
.principal-slide-photo img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  border-radius:28px;
  display:block;
  box-shadow:0 24px 60px rgba(71,45,58,.18);
}
.principal-slide-photo p{
  margin:14px 0 0;
  text-align:center;
  color:#1f2a44;
}
.principal-slide-photo p strong,
.principal-slide-photo p span{
  display:block;
}
.principal-slide-photo p span{
  font-size:13px;
  color:#7a6b73;
}
.hero-carousel .hero-dots{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  display:flex;
  gap:10px;
}
.hero-carousel .hero-dot{
  width:11px;
  height:11px;
  border:1px solid rgba(255,255,255,.85);
  background:rgba(255,255,255,.55);
  border-radius:50%;
  cursor:pointer;
}
.hero-carousel .hero-dot.active{
  background:#b32b6c;
  border-color:#fff;
  transform:scale(1.2);
}

/* About: principal, goals, background */
.principal-welcome{
  margin-top:36px;
  display:grid;
  grid-template-columns:320px 1fr;
  gap:48px;
  align-items:start;
  padding:34px;
  border:1px solid #eedfe6;
  border-radius:26px;
  background:#fffafc;
}
.principal-portrait-wrap img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  border-radius:20px;
  display:block;
}
.principal-name{
  text-align:center;
  margin-top:12px;
}
.principal-name strong,
.principal-name span{
  display:block;
}
.principal-name span{
  font-size:13px;
  color:#776b72;
}
.principal-message h3,
.about-block h3{
  color:#1f2a44 !important;
  font-size:30px;
  margin-bottom:18px;
}
.principal-message p,
.about-block p,
.about-block li{
  color:#505a69;
}
.principal-message-en{
  color:#6d7480 !important;
  font-size:15px;
}
.about-block{
  margin-top:66px;
}
.about-lead{
  max-width:880px;
  font-size:20px;
  font-weight:600;
  color:#283650 !important;
  margin-bottom:6px;
}
.about-lead-en{
  max-width:880px;
  color:#717887 !important;
}
.value-grid{
  margin:28px 0 38px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.value-card{
  border:1px solid #eedfe6;
  background:#fff;
  border-radius:18px;
  padding:22px;
}
.value-card strong{
  display:block;
  color:#a9346b;
  margin-bottom:10px;
}
.value-card p{
  font-size:14px;
  margin:0;
}
.about-text-grid h4{
  font-size:20px;
  color:#8f2f5d;
  margin:0 0 12px;
}
.about-text-grid ol{
  padding-left:21px;
}
.about-text-grid li{
  margin-bottom:9px;
}
.background-block{
  padding-top:46px;
  border-top:1px solid #eee1e7;
}

/* Donation fee presentation */
.donate-card{
  position:relative;
  padding-top:58px;
}
.fee-badge{
  position:absolute;
  top:20px;
  left:28px;
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#f5e8ee;
  color:#8e315e;
  font-size:12px;
  font-weight:800;
}
.fee-badge.no-fee{
  background:#eaf6ef;
  color:#26734b;
}
.fee-detail{
  min-height:92px;
  color:#656c77 !important;
  font-size:14px;
}
.fee-note{
  margin:16px 0 0;
  color:#7a7180;
  font-size:12px;
}

/* Keep footer year and Facebook legible */
footer{background:#b32b6c !important}
.footer-meta p,
.footer-inner span{color:#fff !important}
.facebook-link{color:#fff !important}
.facebook-link svg{fill:#1877F2 !important}

/* Responsive refinement */
@media (max-width:1000px){
  .value-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .hero.hero-carousel{min-height:900px}
  .hero-scene-main .hero-grid{
    min-height:900px;
    grid-template-columns:1fr;
    gap:24px;
    padding-top:82px;
    padding-bottom:82px;
  }
  .hero-scene-main .hero-card{
    max-width:580px;
    margin-top:0;
  }
  .principal-slide-grid{
    min-height:900px;
    grid-template-columns:1fr;
    gap:28px;
    padding-top:54px;
    padding-bottom:84px;
  }
  .principal-slide-copy{max-width:680px}
  .principal-slide-photo{
    width:min(330px,76vw);
    justify-self:start;
  }
  .principal-welcome{
    grid-template-columns:1fr;
  }
  .principal-portrait-wrap{
    max-width:320px;
  }
}
@media (max-width:620px){
  .hero.hero-carousel{min-height:930px}
  .hero-scene-main .hero-grid{
    min-height:930px;
    padding-top:54px;
    padding-bottom:84px;
  }
  .hero-main-copy h1{
    font-size:clamp(38px,11vw,52px) !important;
  }
  .hero-scene-main .hero-card{
    padding:22px;
  }
  .principal-slide-grid{
    min-height:930px;
    padding-top:42px;
    gap:22px;
  }
  .principal-slide-copy h2{
    font-size:clamp(34px,10vw,48px);
  }
  .principal-slide-copy p{
    font-size:16px;
  }
  .principal-slide-photo{
    width:min(280px,78vw);
  }
  .principal-welcome{
    padding:22px;
    gap:26px;
  }
  .value-grid{grid-template-columns:1fr}
  .about-block{margin-top:52px}
  .fee-detail{min-height:0}
}


/* ===== Semester horizontal photo gallery ===== */
.semester-gallery{
  margin-top:34px;
}
.semester-gallery-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.semester-label{
  display:inline-block;
  margin-bottom:6px;
  color:#b32b6c;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
}
.semester-gallery-head h3{
  margin:0;
  color:#1f2a44;
  font-size:26px;
}
.gallery-controls{
  display:flex;
  gap:8px;
  flex:0 0 auto;
}
.gallery-arrow{
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid #dccbd3;
  background:#fff;
  color:#8f2f5d;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 4px 16px rgba(50,40,46,.06);
  transition:transform .2s ease, background .2s ease;
}
.gallery-arrow:hover{
  transform:translateY(-1px);
  background:#fff5f9;
}
.gallery-rail{
  display:flex;
  gap:18px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding:2px 2px 10px;
}
.gallery-rail::-webkit-scrollbar{
  display:none;
}
.gallery-rail figure{
  margin:0;
  flex:0 0 min(31.5%, 360px);
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:18px;
  scroll-snap-align:start;
  background:#eee;
  box-shadow:0 10px 28px rgba(41,32,37,.08);
}
.gallery-rail img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}
.gallery-rail figure:hover img{
  transform:scale(1.025);
}
.gallery-hint{
  margin:10px 2px 0;
  color:#7b7480;
  font-size:12px;
}

@media (max-width:900px){
  .gallery-rail figure{
    flex-basis:46%;
  }
}
@media (max-width:620px){
  .semester-gallery-head{
    align-items:center;
  }
  .semester-gallery-head h3{
    font-size:21px;
  }
  .gallery-arrow{
    width:40px;
    height:40px;
  }
  .gallery-rail{
    gap:12px;
  }
  .gallery-rail figure{
    flex-basis:84%;
    border-radius:16px;
  }
}


/* Semester gallery spacing */
.semester-gallery + .semester-gallery{
  margin-top:56px;
  padding-top:42px;
  border-top:1px solid #e8dfe4;
}


.goals-en-intro{
  margin-top:18px;
}
.goals-en-list{
  margin-top:10px;
  padding-left:21px;
}
.goals-en-list li{
  color:#6d7480;
  margin-bottom:9px;
}
.feature-band img.feature-family-photo{
  object-position:center top;
}
@media (max-width: 860px){
  .feature-band img.feature-family-photo{
    min-height:240px;
    object-position:center top;
  }
}


/* Principal slide links to a dedicated page; duplicate welcome removed from homepage */
.principal-slide-link{cursor:pointer;}
.principal-slide-link .btn{position:relative;z-index:2;}
.feature-band img.feature-student-photo{
  object-fit:cover;
  object-position:center 35%;
}
@media (max-width:860px){
  .feature-band img.feature-student-photo{object-position:center 30%;}
}


/* Dedicated Principal's Welcome page */
.principal-page{background:#fffafc;}
.principal-page-grid{
  display:grid;grid-template-columns:340px 1fr;gap:56px;align-items:start;
}
.principal-page-photo img{
  width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px;display:block;
  box-shadow:0 18px 45px rgba(65,43,54,.12);
}
.principal-page-message h1{color:#1f2a44;font-size:clamp(34px,4vw,52px);margin:8px 0 28px;}
.principal-page-message p{color:#505a69;font-size:17px;line-height:1.85;}
.principal-page-message hr{border:0;border-top:1px solid #eadde4;margin:30px 0;}
.principal-back{white-space:nowrap;}
@media(max-width:800px){
  .principal-page-grid{grid-template-columns:1fr;gap:30px;}
  .principal-page-photo{max-width:300px;}
  .principal-back{font-size:12px;padding:11px 14px;}
}


/* ===== Compact About Us image-card navigation ===== */
.about-cards-intro{
  max-width:850px;
  color:#586274;
  margin-bottom:28px;
}
.about-cards-intro span{
  display:block;
  margin-top:6px;
  color:#7a8190;
  font-size:14px;
}
.about-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.about-image-card{
  display:block;
  overflow:hidden;
  border-radius:22px;
  border:1px solid #eadde4;
  background:#fff;
  box-shadow:0 12px 34px rgba(44,31,38,.08);
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease;
}
.about-image-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 42px rgba(44,31,38,.13);
}
.about-card-image{
  aspect-ratio:16/10;
  overflow:hidden;
  background:#f6f1f4;
}
.about-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.about-image-card:first-child .about-card-image img{
  object-position:center 24%;
}
.about-card-copy{
  padding:22px 22px 24px;
}
.about-card-kicker{
  display:block;
  color:#b32b6c;
  font-size:11px;
  font-weight:800;
  letter-spacing:.11em;
  margin-bottom:8px;
}
.about-card-copy h3{
  margin:0 0 10px;
  color:#1f2a44;
  font-size:22px;
  line-height:1.35;
}
.about-card-copy p{
  margin:0 0 16px;
  color:#616978;
  min-height:48px;
}
.about-card-link{
  color:#a52e67;
  font-weight:800;
  font-size:14px;
}

.detail-page-main{
  padding:72px 0 90px;
  background:#fff;
}
.detail-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:48px;
  align-items:center;
  margin-bottom:48px;
}
.detail-hero.reverse{
  grid-template-columns:420px minmax(0,1fr);
}
.detail-hero-image img{
  width:100%;
  max-height:520px;
  object-fit:cover;
  border-radius:24px;
  box-shadow:0 16px 40px rgba(48,34,42,.11);
}
.detail-page-main h1{
  color:#1f2a44;
  font-size:clamp(38px,5vw,62px);
  line-height:1.15;
  margin:10px 0 18px;
}
.detail-page-main h2{
  color:#1f2a44;
  margin-top:36px;
}
.detail-page-main h3{
  color:#8f2f5d;
  margin-top:24px;
}
.detail-copy{
  max-width:900px;
}
.detail-copy p,
.detail-copy li{
  color:#505a69;
  line-height:1.8;
}
.detail-copy .en{
  color:#6e7581;
}
.detail-back{
  display:inline-flex;
  margin-top:34px;
  text-decoration:none;
  font-weight:800;
  color:#b32b6c;
}

@media (max-width:1000px){
  .about-card-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .about-card-grid{grid-template-columns:1fr}
  .about-card-copy p{min-height:0}
  .detail-hero,
  .detail-hero.reverse{
    grid-template-columns:1fr;
  }
  .detail-hero-image{
    order:-1;
  }
}

/* First screen: single school hero only */
.hero-carousel .hero-scene-main{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
.hero-carousel .hero-dots,
.hero-carousel .hero-dot,
.hero-scene-principal{
  display:none !important;
}


/* ===== Final About card visual unification ===== */
#about{
  background:#fffdfd;
}
#about .container{
  max-width:1500px;
}
.about-cards-intro{
  margin:0 0 34px;
  max-width:980px;
  color:#536078;
  font-size:17px;
  line-height:1.65;
}
.about-cards-intro span{
  display:block;
  margin-top:5px;
  color:#758096;
  font-size:15px;
}
.about-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.about-image-card{
  display:flex;
  flex-direction:column;
  min-height:590px;
  background:#fff;
  border:1px solid #eadde4;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(55,38,47,.06);
  text-decoration:none;
}
.about-card-image{
  width:100%;
  aspect-ratio:1.62/1;
  background:#f7f2f5;
  overflow:hidden;
}
.about-card-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.about-card-principal .about-card-image img{
  object-position:center 30%;
}
.about-card-goals .about-card-image img,
.about-card-background .about-card-image img{
  object-position:center center;
}
.about-card-copy{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:26px 28px 28px;
}
.about-card-kicker{
  margin-bottom:12px;
  color:#c12f70;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
}
.about-card-copy h3{
  margin:0 0 14px;
  color:#1f2a44;
  font-size:26px;
  line-height:1.28;
}
.about-card-copy p{
  margin:0;
  color:#667084;
  font-size:17px;
  line-height:1.6;
  min-height:56px;
}
.about-card-link{
  margin-top:auto;
  padding-top:24px;
  color:#bd2d6b;
  font-size:15px;
  font-weight:800;
}
.about-image-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 36px rgba(55,38,47,.10);
}

@media (max-width:1050px){
  .about-card-grid{
    grid-template-columns:1fr 1fr;
  }
  .about-image-card{
    min-height:540px;
  }
}
@media (max-width:700px){
  .about-card-grid{
    grid-template-columns:1fr;
  }
  .about-image-card{
    min-height:0;
  }
  .about-card-copy{
    padding:22px;
  }
  .about-card-copy h3{
    font-size:23px;
  }
  .about-card-copy p{
    min-height:0;
  }
}


/* ===== Board Chair / final About update ===== */
.about-card-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
.board-chair-card-image{background:#f5f1f3;}
.board-chair-card-image img{object-fit:cover !important;object-position:center 18% !important;}
.board-chair-detail-image{background:#f8f5f6;border-radius:24px;overflow:hidden;}
.board-chair-detail-image img{width:100%;height:auto !important;max-height:none !important;aspect-ratio:auto !important;object-fit:contain !important;object-position:center top !important;display:block;}
@media (max-width:760px){.about-card-grid{grid-template-columns:1fr !important;}.board-chair-detail-image{max-width:420px;}}

/* September 2026 layout refinements */
.hero-scene-main .hero-actions{margin-top:48px}
html{scroll-padding-top:126px}
[id]{scroll-margin-top:126px}
.nav-dropdown-menu{top:calc(100% + 12px);left:0;transform:none}
.school-info-dropdown .nav-dropdown-menu{left:auto;right:0}
.about-image-card{min-height:0}
.about-card-image{aspect-ratio:2.05/1}
.about-card-chair .about-card-image,.about-card-principal .about-card-image{position:relative;background:#f8f1f5}
.about-card-chair .about-card-image:before{content:"";position:absolute;inset:-14px;background:url("board-chair-dennis-cho.jpg") center 23% / cover;filter:blur(13px);opacity:.5}
.about-card-chair .about-card-image img,.about-card-principal .about-card-image img{position:relative;width:100%;height:100%;object-fit:contain !important;object-position:center !important}
.about-card-chair .about-card-image img{transform:scale(.82);filter:brightness(1.08) contrast(1.05)}
.about-card-principal .about-card-image img{transform:scale(.82);filter:brightness(1.07) contrast(1.04)}
.board-chair-detail-image{position:relative;max-width:310px;margin-inline:auto;background:#f8f1f5;isolation:isolate}
.board-chair-detail-image:before{content:"";position:absolute;inset:-15px;background:url("board-chair-dennis-cho.jpg") center / cover;filter:blur(15px);opacity:.48;z-index:-1}
.board-chair-detail-image img{filter:brightness(1.07) contrast(1.05)}
.principal-portrait-wrap{max-width:260px}
.principal-portrait-wrap img{filter:brightness(1.06) contrast(1.04)}
.program-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:34px}
.program-tile{overflow:hidden;border:1px solid #edd5e1;border-radius:24px;background:#fff;box-shadow:0 12px 30px rgba(81,36,63,.08)}
.program-photo{height:260px;position:relative;overflow:hidden;background:#fce9f1}
.program-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block;filter:brightness(1.08) contrast(1.04)}
.hangul-mark{position:absolute;right:18px;bottom:17px;background:rgba(255,255,255,.95);color:#b82968;border-radius:999px;padding:8px 17px;font-weight:800;letter-spacing:.08em}
.program-content{padding:27px 30px 32px}
.program-tag{display:inline-block;color:#b82968;background:#fff0f6;border-radius:999px;padding:5px 12px;font-weight:800;letter-spacing:.07em;font-size:13px}
.program-content h3{color:#29354b;font-size:27px;margin:18px 0 15px}
.program-content h3 small{display:block;color:#c03772;font-size:15px;margin-top:3px}
.program-content p{line-height:1.65;color:#3f485a}
.program-content .card-en{color:#616b7c;font-size:14px}
.program-levels{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.program-levels>div{border-top:2px solid #ebadc9;padding-top:13px}
.program-levels strong{color:#b82968}
@media(max-width:760px){.program-showcase,.program-levels{grid-template-columns:1fr}.program-photo{height:220px}.hero-scene-main .hero-actions{margin-top:34px}.nav-dropdown-menu{top:100%;left:0;right:auto}}
/* Portrait size correction: keep the people prominent with a soft backdrop. */
.about-card-chair .about-card-image img,
.about-card-principal .about-card-image img{
  width:72% !important;
  height:100% !important;
  margin-inline:auto;
  object-fit:cover !important;
  object-position:center 25% !important;
  transform:none !important;
}
.about-card-principal .about-card-image{background:#f8f1f5}
.about-card-principal .about-card-image:before{content:"";position:absolute;inset:-14px;background:url("principal-eunmi-lee.jpg") center 30% / cover;filter:blur(13px);opacity:.38}
@media(max-width:700px){.about-card-chair .about-card-image img,.about-card-principal .about-card-image img{width:76% !important}}
/* Image cards carry their own title; keep a short caption and action beneath. */
.about-card-background .about-card-copy,
.about-card-goals .about-card-copy{padding:18px 26px 22px}
.about-card-background .about-card-copy p,
.about-card-goals .about-card-copy p{min-height:0;margin:0;color:#536078;font-size:16px}
.about-card-background .about-card-link,
.about-card-goals .about-card-link{padding-top:12px}
/* Show only the photo collage half of each original image. The title lives below. */
.about-card-background .about-card-image,
.about-card-goals .about-card-image{aspect-ratio:1/1}
.about-card-background .about-card-image img,
.about-card-goals .about-card-image img{width:100%;height:100%;object-fit:cover !important;object-position:left center !important}
.about-card-background .about-card-copy,
.about-card-goals .about-card-copy{padding:24px 28px 26px}
.about-card-background .about-card-copy h3,
.about-card-goals .about-card-copy h3{font-size:25px;margin:0;color:#1f2a44}
.about-card-background .about-card-copy h3 small,
.about-card-goals .about-card-copy h3 small{display:block;font-size:15px;color:#bd2d6b;margin-top:5px;font-weight:700}
@media(max-width:700px){.about-card-background .about-card-image,.about-card-goals .about-card-image{aspect-ratio:1.1/1}}
/* One photograph per About card, with the heading underneath. */
.about-card-background .about-card-image,
.about-card-goals .about-card-image{aspect-ratio:2.05/1;position:relative}
.about-card-background .about-card-image img{position:absolute;width:204% !important;max-width:none;height:auto !important;min-height:100%;left:0;top:50%;transform:translateY(-50%);object-fit:initial !important}
.about-card-goals .about-card-image img{position:static;width:100% !important;height:100% !important;object-fit:cover !important;object-position:center !important}
@media(max-width:700px){.about-card-background .about-card-image,.about-card-goals .about-card-image{aspect-ratio:1.8/1}}
/* Final hero spacing and chair portrait framing. */
.hero-scene-main .hero-actions{margin-top:73px}
.about-card-chair .about-card-image img{object-position:center 5% !important}
@media(max-width:760px){.hero-scene-main .hero-actions{margin-top:54px}}
/* Match the two leadership portraits; soften the chair's original event backdrop. */
.about-card-chair .about-card-image:before{
  inset:-24px;
  background:url("board-chair-dennis-cho.jpg") center 12% / cover;
  filter:blur(24px) brightness(1.12);
  opacity:.76;
}
.about-card-chair .about-card-image img{
  object-position:center 6% !important;
  -webkit-mask-image:radial-gradient(ellipse 58% 78% at 50% 61%,#000 58%,rgba(0,0,0,.92) 73%,transparent 100%);
  mask-image:radial-gradient(ellipse 58% 78% at 50% 61%,#000 58%,rgba(0,0,0,.92) 73%,transparent 100%);
}
/* Frame the chair at a slightly wider upper-body crop, like the principal. */
.about-card-chair .about-card-image img{
  width:66% !important;
  object-position:center 17% !important;
}
@media(max-width:700px){.about-card-chair .about-card-image img{width:70% !important;object-position:center 17% !important}}
/* Approved leadership portrait replaces the earlier event-photo treatment. */
.about-card-chair .about-card-image:before{background:url("board-chair-portrait-2026.png") center 36% / cover;filter:blur(16px) brightness(1.08);opacity:.55}
.about-card-chair .about-card-image img{
  width:72% !important;
  object-fit:cover !important;
  object-position:center 20% !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}
.board-chair-detail-image:before{background:url("board-chair-portrait-2026.png") center / cover}
@media(max-width:700px){.about-card-chair .about-card-image img{width:76% !important}}

/* Keep the chair portrait level with the principal portrait and above the long message. */
.about-card-chair .about-card-image:before{
  background:url("board-chair-portrait-first-v2.png") center 20% / cover;
}
.about-card-chair .about-card-image img{
  object-position:center 12% !important;
}
.board-chair-detail-image{
  align-self:start;
  width:100%;
  max-width:420px;
  margin-top:75px;
}
.board-chair-detail-image:before{
  background:url("board-chair-portrait-first-v2.png") center 20% / cover;
}
.board-chair-detail-image img{
  width:100%;
  height:490px !important;
  object-fit:cover !important;
  object-position:center top !important;
}
@media(max-width:760px){
  .board-chair-detail-image{margin-top:0;max-width:420px}
  .board-chair-detail-image img{height:auto !important;aspect-ratio:420/490 !important;object-fit:cover !important}
}
/* Keep the copyright label and year together on every page. */
.footer-meta p .copyright-prefix,
.footer-meta p .copyright-prefix #year{display:inline !important;white-space:nowrap}
.footer-meta p strong{display:inline !important}

/* Balance the principal against the board chair in both portrait placements. */
.about-card-principal .about-card-image:before{
  background:url("principal-eunmi-lee-smile-v3.png") center 25% / cover;
}
.about-card-principal .about-card-image img{
  width:65% !important;
  object-position:center 17% !important;
}
.principal-detail-image{align-self:start;margin-top:75px}
.principal-detail-image img{width:90% !important;margin-inline:auto}
@media(max-width:760px){
  .about-card-principal .about-card-image img{width:69% !important}
  .principal-detail-image{margin-top:0}
}

/* Anchor targets already have generous section padding; avoid applying two offsets. */
html{scroll-padding-top:0}
[id]{scroll-margin-top:0}
#registration-korean,#registration-ksl{scroll-margin-top:88px}

.about-dropdown{display:flex;align-items:center}
.about-dropdown .about-main-link{padding:8px 0}
.about-dropdown-toggle{
  border:0;background:transparent;color:#1f2a44;cursor:pointer;
  font:inherit;font-size:12px;padding:8px 3px;margin-left:4px;
}
.about-dropdown-toggle:hover,.about-dropdown.open .about-dropdown-toggle{color:#c53a77}
.about-dropdown .nav-dropdown-menu{left:0;right:auto}
.main-nav .nav-dropdown-menu{top:100%}
@media(max-width:900px){
  .about-dropdown{display:flex;flex-wrap:wrap}
  .about-dropdown .nav-dropdown-menu{flex:0 0 100%}
}

/* A restrained check illustration fills the donation panel without repeating instructions. */
.check-box{display:flex;align-items:center;justify-content:space-between;gap:28px}
.check-box-copy{min-width:0}
.check-box-copy>strong{display:block;font-size:19px;color:#1f2a44}
.check-box-copy p{margin:8px 0 0;color:#39445b}
.check-example{display:block;width:min(36%,370px);height:auto;flex:none}
@media(max-width:700px){
  .check-box{flex-direction:column;align-items:flex-start;gap:18px}
  .check-example{width:min(100%,370px);align-self:center}
}

.registration-photo{
  display:block;width:100%;height:auto;max-height:320px;
  aspect-ratio:16/9;object-fit:cover;object-position:center;
  margin-top:34px;border-radius:18px;
  box-shadow:0 12px 28px rgba(31,42,68,.10);
}
.donate .donate-card{display:grid;grid-template-rows:auto auto minmax(0,1fr) 48px auto}
.donate .donate-card .fee-detail{min-height:0;margin:8px 0 12px}
.donate .donate-card .text-link{display:inline-block;align-self:end;padding-top:12px}
.donate-logo{height:48px;display:flex;align-items:center;justify-content:center;margin:2px 0 8px}
.donate-logo img{display:block;max-width:124px;max-height:40px;width:auto;height:auto;object-fit:contain}
.paypal-giving-logo{gap:7px;white-space:nowrap}
.paypal-giving-logo img{max-width:86px}
.paypal-giving-logo span{color:#253b80;font-size:14px;font-weight:800;letter-spacing:-.02em}
.footer-social{display:flex;align-items:center;justify-content:flex-end;gap:20px;flex-wrap:wrap}
.footer-social .youtube-link{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-size:14px;font-weight:700}
.footer-social .youtube-link svg{display:block;width:24px;height:24px;flex:none}
@media(max-width:900px){.footer-social{justify-content:flex-start}}
.donate-card:nth-child(2) .donate-logo{width:92px;height:46px;margin:2px auto 10px;background:#d92726;border-radius:24px}
.donate-card:nth-child(2) .donate-logo img{width:68px;max-width:none;max-height:36px;filter:brightness(0) invert(1)}


/* ===== Final review adjustments · 2026-09-29 ===== */
/* Korean words should not split awkwardly between lines. */
.hero h1, .section h2, .section h3, .section h4,
.about-card-copy p, .program-content p, .intro, .contact-simple,
.donate-primary, .footer-inner { word-break:keep-all; overflow-wrap:normal; }

/* Leadership portraits: use the approved portraits consistently, cleanly framed. */
.about-card-chair .about-card-image:before{background:url("board-chair-portrait-first-v2.png") center 18% / cover !important;filter:blur(18px) brightness(1.08) !important;opacity:.48 !important}
.about-card-chair .about-card-image img{width:68% !important;object-position:center 14% !important}
.about-card-principal .about-card-image:before{background:url("principal-eunmi-lee-smile-v3.png") center 24% / cover !important;filter:blur(18px) brightness(1.08) !important;opacity:.42 !important}
.about-card-principal .about-card-image img{width:68% !important;object-position:center 16% !important}

/* Programs: Korean Program, KSL 1, KSL 2 have equal visual weight. */
.program-intro{max-width:850px;margin:0 0 28px;color:#58657a;line-height:1.7}
.program-intro span{display:block;color:#7b8495;font-size:14px;margin-top:4px}
.program-showcase-three{grid-template-columns:repeat(3,minmax(0,1fr)) !important;align-items:stretch}
.program-showcase-three .program-tile{display:flex;flex-direction:column;min-height:100%}
.program-showcase-three .program-photo{height:235px}
.program-showcase-three .program-content{display:flex;flex-direction:column;flex:1;padding:26px 26px 30px}
.program-showcase-three .program-content h3{margin:15px 0 13px}
.program-showcase-three .program-content .card-en{margin-top:auto;padding-top:10px}
@media(max-width:980px){.program-showcase-three{grid-template-columns:1fr 1fr !important}}
@media(max-width:680px){.program-showcase-three{grid-template-columns:1fr !important}.program-showcase-three .program-photo{height:230px}}

/* Gallery semester tabs are real controls rather than decorative labels. */
.gallery-tabs{display:inline-flex;gap:8px;padding:6px;background:#f6eaf0;border:1px solid #ead3df;border-radius:999px;margin:18px 0 10px}
.gallery-tab{border:0;background:transparent;color:#7d4963;font:inherit;font-weight:800;padding:10px 18px;border-radius:999px;cursor:pointer}
.gallery-tab.active{background:#c93778;color:#fff;box-shadow:0 6px 16px rgba(177,43,105,.18)}
.gallery-panel[hidden]{display:none !important}
.gallery-panel{animation:galleryFade .22s ease}
@keyframes galleryFade{from{opacity:.25;transform:translateY(3px)}to{opacity:1;transform:none}}
.semester-gallery + .semester-gallery{margin-top:34px;padding-top:0;border-top:0}

/* Donation: PayPal Giving Fund is the unmistakable primary path. */
.donate{background:linear-gradient(180deg,#fff8fb 0%,#fdf4f8 100%)}
.donate-intro{max-width:920px;color:#455169 !important}
.donate-intro span{display:block;margin-top:7px;color:#68748a;font-size:15px}
.donate-primary{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr);gap:28px;align-items:center;margin-top:34px;padding:34px 36px;border-radius:26px;background:linear-gradient(120deg,#25314d 0%,#442a4d 100%);box-shadow:0 18px 48px rgba(37,49,77,.16);color:#fff}
.donate-primary-eyebrow{display:block;color:#ffd5e5;font-family:"Oswald",sans-serif;font-size:12px;letter-spacing:.12em;margin-bottom:14px}
.donate-primary-brand{display:flex;align-items:center;gap:12px;margin-bottom:15px}
.donate-primary-brand img{width:90px;max-height:34px;background:#fff;border-radius:8px;padding:5px 8px}
.donate-primary-brand strong{font-size:22px;color:#fff}
.donate-primary h3{font-size:clamp(25px,3vw,36px);line-height:1.3;margin:0 0 12px;color:#fff}
.donate-primary p{margin:7px 0;color:#f1e9ef;line-height:1.65}
.donate-primary-en{font-size:14px;color:#d9ced7 !important}
.donate-primary-btn{display:flex;flex-direction:column;justify-content:center;min-height:132px;padding:24px 26px;border-radius:20px;background:#d13b7b;color:#fff;text-decoration:none;font-size:18px;font-weight:800;box-shadow:0 12px 30px rgba(209,59,123,.28);transition:transform .2s ease,background .2s ease}
.donate-primary-btn span{display:block;font-size:27px;margin-top:8px}
.donate-primary-btn:hover{transform:translateY(-2px);background:#bd2f6d}
.donate-secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.donate-option{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:18px;padding:20px 22px;border:1px solid #ead6e0;border-radius:18px;background:#fff;text-decoration:none;box-shadow:0 8px 22px rgba(72,48,61,.05)}
.donate-option-logo{display:flex;align-items:center;justify-content:center;height:46px}
.donate-option-logo img{max-width:74px;max-height:36px;object-fit:contain}
.donate-option-logo.osp{background:#d92726;border-radius:999px}
.donate-option-logo.osp img{filter:brightness(0) invert(1);max-width:58px}
.donate-option strong{display:block;color:#24304a;font-size:18px}
.donate-option span{display:block;color:#747e91;font-size:13px;margin-top:4px}
.donate-option b{color:#ce3c78;font-size:24px}
@media(max-width:850px){.donate-primary{grid-template-columns:1fr}.donate-primary-btn{min-height:0}.donate-secondary-grid{grid-template-columns:1fr}}
@media(max-width:560px){.donate-primary{padding:26px 22px}.donate-option{grid-template-columns:64px 1fr auto;padding:17px}}

/* Never cover footer information with a floating donation control. */
.floating-donate,.donate-fab,.fixed-donate,.quick-donate,.donate-floating{display:none !important}
footer{padding-bottom:36px !important}
.footer-meta{max-width:650px}
.footer-social{margin-bottom:12px}

/* YouTube and Facebook links remain clearly visible in the footer. */
.footer-social a{color:#fff !important}
.footer-social .youtube-link:hover,.footer-social .facebook-link:hover{opacity:.82}

/* ===== 2026-09-29: Registration / Calendar / Resources refresh ===== */
.registration-feature{background:#fff;padding-top:54px;padding-bottom:72px}
.registration-feature-card{
  display:grid;grid-template-columns:1.08fr .92fr;gap:52px;
  padding:56px 60px;border-radius:34px;overflow:hidden;
  color:#fff;
  background:linear-gradient(115deg,#bd2f72 0%,#cf3f7e 52%,#e877a7 100%);
  position:relative;
}
.registration-feature-card::after{
  content:"";position:absolute;right:-70px;top:-120px;width:420px;height:420px;
  border:52px solid rgba(255,255,255,.06);border-radius:50%;pointer-events:none
}
.registration-kicker{color:#fff!important;margin-bottom:18px}
.registration-summary h2{font-size:clamp(54px,6vw,78px);line-height:1.08;letter-spacing:-.045em;margin:0 0 18px;color:#fff}
.registration-subtitle{font-size:22px;margin:0 0 34px;color:rgba(255,255,255,.94)}
.registration-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:630px}
.registration-stat{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);border-radius:18px;padding:18px 20px;min-height:98px}
.registration-stat strong{display:block;font-family:"Oswald",sans-serif;font-size:25px;letter-spacing:.02em;margin-bottom:4px;color:#fff}
.registration-stat span{display:block;font-size:17px;line-height:1.35;color:#fff}
.registration-programs{display:flex;flex-direction:column;gap:28px;justify-content:center;position:relative;z-index:1}
.registration-program-card{background:#fff;color:var(--ink);border-radius:22px;padding:32px 32px;min-height:200px;box-shadow:0 8px 30px rgba(73,20,52,.08)}
.registration-time{display:block;color:#cf3f7e;font-weight:800;letter-spacing:.02em;font-size:16px;margin-bottom:14px}
.registration-program-card h3{font-size:27px;line-height:1.25;margin:0 0 24px;color:var(--ink)}
.registration-pill{display:inline-flex;align-items:center;min-height:42px;padding:0 18px;border-radius:999px;background:#f5d9e5;color:#a56a84;font-weight:800;font-size:14px}

.academic-calendar-section{background:#f5f7fb;padding-top:68px;padding-bottom:86px}
.academic-calendar-section h2{font-size:clamp(44px,5vw,72px);letter-spacing:-.045em;margin-bottom:42px}
.academic-timeline{display:grid;grid-template-columns:1fr 92px 1fr;align-items:center}
.timeline-line{height:3px;background:linear-gradient(90deg,#d6dbe5,#c93a79,#d6dbe5)}
.academic-card{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:30px;background:#fff;border:1px solid #dfe4ec;border-radius:26px;padding:30px 32px;min-height:230px;box-shadow:0 8px 28px rgba(20,33,61,.03)}
.date-badge{width:126px;height:170px;border-radius:25px;background:#c83a79;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.date-badge-dark{background:#202d4d}
.date-badge span{font-family:"Oswald",sans-serif;letter-spacing:.12em;font-size:18px;margin-bottom:10px}
.date-badge strong{font-family:"Oswald",sans-serif;font-size:63px;line-height:.9}
.date-badge small{font-size:16px;margin-top:12px;color:rgba(255,255,255,.82)}
.academic-copy .semester-label{display:block;color:#cf3f7e;font-family:"Oswald",sans-serif;letter-spacing:.08em;font-size:16px;margin-bottom:16px}
.academic-copy h3{font-size:31px;line-height:1.22;margin:0 0 14px;color:var(--ink)}
.academic-copy p{font-size:19px;color:#727b8c;margin:0 0 16px}
.academic-status{font-size:15px}.academic-status.closed{color:#8b93a3}.academic-status.open{color:#cf3f7e}

.school-info{background:#fff;padding-top:78px;padding-bottom:86px}
.school-info-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;margin-bottom:40px}
.school-info-heading h2{font-size:clamp(44px,5vw,72px);letter-spacing:-.045em;margin-bottom:0}
.school-info-intro{font-size:19px;color:#657084;margin:0 0 8px;line-height:1.8}
.school-info-intro span{color:#8d95a3}
.school-doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.school-doc-card.resource-card{display:grid;grid-template-columns:88px 1fr 34px;align-items:center;gap:18px;text-decoration:none;background:#fff;border:1px solid #dfe4ec;border-radius:24px;padding:28px 26px;min-height:150px;box-shadow:0 8px 26px rgba(20,33,61,.025);transition:.18s ease}
.school-doc-card.resource-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(20,33,61,.08);border-color:#e8c1d3}
.resource-icon{width:58px;height:58px;border-radius:18px;background:#fdf0f5;color:#d33f7f;display:grid;place-items:center;font-size:32px;font-weight:700}
.resource-copy{display:flex;flex-direction:column;min-width:0}.school-doc-semester{font-family:"Oswald",sans-serif;letter-spacing:.08em;color:#d33f7f;font-weight:700;font-size:15px;margin-bottom:5px}.resource-copy strong{font-size:23px;line-height:1.25;color:var(--ink)}.resource-copy small{font-size:16px;color:#788294;margin-top:3px}.resource-arrow{font-size:29px;color:#d33f7f;justify-self:end}

@media (max-width:980px){
  .registration-feature-card{grid-template-columns:1fr;padding:46px 34px}
  .academic-timeline{grid-template-columns:1fr;gap:22px}.timeline-line{display:none}
  .school-info-heading{grid-template-columns:1fr;gap:8px}.school-doc-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .registration-feature{padding-top:28px}.registration-feature-card{border-radius:24px;padding:34px 22px}.registration-summary h2{font-size:46px}.registration-subtitle{font-size:18px}.registration-stats{grid-template-columns:1fr 1fr}.registration-stat{padding:15px 14px}.registration-stat span{font-size:14px}
  .registration-program-card{padding:24px 22px;min-height:0}.registration-program-card h3{font-size:22px}
  .academic-calendar-section h2,.school-info-heading h2{font-size:42px}.academic-card{grid-template-columns:96px 1fr;padding:22px 18px;gap:18px;min-height:0}.date-badge{width:88px;height:120px;border-radius:18px}.date-badge strong{font-size:44px}.date-badge span{font-size:14px}.date-badge small{font-size:12px}.academic-copy h3{font-size:22px}.academic-copy p{font-size:15px}
  .school-doc-card.resource-card{grid-template-columns:68px 1fr 28px;padding:22px 18px}.resource-icon{width:52px;height:52px}.resource-copy strong{font-size:21px}
}

/* 2026-09-29 compact School Information layout — tuned to approved reference */
.school-info{
  padding-top:54px;
  padding-bottom:68px;
}
.school-info-heading{
  grid-template-columns:1.05fr .95fr;
  gap:52px;
  align-items:center;
  margin-bottom:34px;
}
.school-info-heading h2{
  font-size:clamp(44px,4.35vw,64px);
  line-height:1.08;
}
.school-info-intro{
  font-size:18px;
  line-height:1.55;
  margin:0;
}
.school-doc-grid{
  gap:26px;
}
.school-doc-card.resource-card{
  grid-template-columns:92px 1fr 34px;
  gap:20px;
  min-height:0;
  height:208px;
  padding:34px 40px;
  border-radius:30px;
  box-shadow:0 8px 26px rgba(20,33,61,.02);
}
.school-doc-card.resource-card:hover{
  transform:none;
  box-shadow:0 10px 30px rgba(20,33,61,.06);
  border-color:#d33f7f;
}
.resource-icon{
  width:62px;
  height:62px;
  border-radius:18px;
  font-size:31px;
}
.school-doc-semester{
  font-size:16px;
  margin-bottom:5px;
}
.resource-copy strong{
  font-size:25px;
  line-height:1.2;
}
.resource-copy small{
  font-size:17px;
  margin-top:5px;
}
.resource-arrow{
  font-size:28px;
}
@media (max-width: 900px){
  .school-info{padding-top:44px;padding-bottom:54px}
  .school-info-heading{grid-template-columns:1fr;gap:14px;margin-bottom:26px}
  .school-info-heading h2{font-size:42px}
  .school-info-intro{font-size:16px}
  .school-doc-grid{grid-template-columns:1fr;gap:14px}
  .school-doc-card.resource-card{height:auto;min-height:132px;grid-template-columns:68px 1fr 28px;padding:24px 22px;border-radius:22px}
  .resource-icon{width:52px;height:52px;font-size:26px}
  .resource-copy strong{font-size:22px}
  .resource-copy small{font-size:15px}
}


/* 2026-09-29 footer-aware floating Donate button */
.floating-donate{
  position:fixed !important;
  right:26px;
  bottom:24px;
  z-index:220;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:58px;
  padding:0 28px;
  border-radius:999px;
  background:#d13b7b;
  color:#fff;
  text-decoration:none;
  font-size:20px;
  font-weight:800;
  line-height:1;
  border:3px solid rgba(255,255,255,.92);
  box-shadow:0 14px 34px rgba(121,31,76,.25);
  transition:bottom .18s ease, transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.floating-donate:hover{
  transform:translateY(-2px);
  background:#bd2f6d;
  box-shadow:0 18px 38px rgba(121,31,76,.3);
}
.floating-donate span{font-size:21px;line-height:1}
@media (max-width:640px){
  .floating-donate{
    right:14px;
    bottom:14px;
    min-height:50px;
    padding:0 20px;
    font-size:17px;
    gap:8px;
  }
}

/* ===== 2026-09-29 approved visual-layout pass ===== */
/* Keep Korean phrases intact instead of splitting individual syllables. */
body, h1, h2, h3, h4, p, a, span, strong, small, li {
  word-break: keep-all;
  overflow-wrap: normal;
}

/* About: editorial intro + leadership cards + two information panels */
.about-modern{background:#fff;padding-top:42px;padding-bottom:72px}
.about-modern-head{display:grid;grid-template-columns:1.08fr .92fr;gap:58px;align-items:end;margin-bottom:42px}
.about-modern-head h2{font-size:clamp(44px,4.6vw,68px);line-height:1.05;letter-spacing:-.045em;margin:0}
.about-modern-intro{margin:0;color:#5e697d;font-size:19px;line-height:1.7;max-width:650px;justify-self:end}
.about-modern-intro span{display:block;margin-top:6px;color:#8a93a2}
.about-lead-grid{display:grid;grid-template-columns:1.05fr .9fr .9fr;gap:28px;align-items:stretch}
.about-welcome-card{background:#202d4d;color:#fff;border-radius:28px;padding:46px 46px;min-height:470px;display:flex;flex-direction:column;justify-content:center}
.about-step{font-family:"Oswald",sans-serif;color:#e15a91;font-size:18px;letter-spacing:.08em;font-weight:700}
.about-step-label{font-family:"Oswald",sans-serif;letter-spacing:.12em;font-size:14px;color:#fff;margin:7px 0 34px}
.about-welcome-card h3{font-size:clamp(36px,3.6vw,52px);line-height:1.28;letter-spacing:-.035em;margin:0 0 26px;color:#fff}
.about-welcome-card p{font-size:17px;line-height:1.72;color:#f2f4f8;margin:0 0 16px}
.about-welcome-card .about-welcome-en{font-size:15px;color:#c9d0dc;margin:0}
.about-person-card{display:flex;flex-direction:column;background:#fff;border:1px solid #eadbe3;border-radius:28px;overflow:hidden;text-decoration:none;box-shadow:0 8px 28px rgba(35,43,67,.03);transition:.18s ease}
.about-person-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(35,43,67,.08)}
.about-person-photo{height:330px;background:#f7f2f4;overflow:hidden}
.about-person-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.about-person-copy{padding:28px 30px 30px}
.about-person-copy span{font-family:"Oswald",sans-serif;letter-spacing:.12em;color:#cf3f7e;font-size:13px;font-weight:700}
.about-person-copy h3{font-size:26px;margin:9px 0 6px;color:#202d4d}
.about-person-copy p{margin:0;color:#798294;font-size:15px}
.about-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:36px}
.about-info-card{display:block;text-decoration:none;border-radius:28px;padding:42px 52px;min-height:300px;border:1px solid #eadbe3;transition:.18s ease}
.about-purpose-card{background:#fff7fa}
.about-goals-card{background:#f4f7fb;border-color:#dfe5ed}
.about-info-card:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(30,42,70,.06)}
.about-info-label{display:flex;gap:34px;align-items:center;font-family:"Oswald",sans-serif;letter-spacing:.12em;font-size:14px;color:#596274;font-weight:700}
.about-info-label strong{color:#cf3f7e;font-size:17px}
.about-info-card h3{font-size:34px;margin:42px 0 22px;color:#202d4d}
.about-info-card p{font-size:18px;line-height:1.75;color:#626c7d;max-width:720px;margin:0 0 26px}
.about-info-link{font-weight:800;color:#cf3f7e;font-size:17px}

/* Registration: preserve approved bold split layout */
.registration-feature{padding-top:30px;padding-bottom:54px}
.registration-feature-card{grid-template-columns:1.08fr .92fr;gap:50px;padding:54px 58px;border-radius:32px}
.registration-summary h2{font-size:clamp(56px,6vw,82px);max-width:650px}
.registration-stat span{word-break:keep-all}
.registration-program-card{min-height:210px;padding:34px 34px}

/* Resources: compact, horizontally balanced approved version */
.school-info{padding-top:58px;padding-bottom:64px}
.school-info-heading{grid-template-columns:1.08fr .92fr;gap:52px;align-items:center;margin-bottom:34px}
.school-info-heading h2{font-size:clamp(46px,4.4vw,66px)}
.school-doc-grid{gap:26px}
.school-doc-card.resource-card{height:170px;min-height:0;padding:28px 34px;border-radius:26px;grid-template-columns:76px 1fr 32px}
.resource-icon{width:56px;height:56px}
.resource-copy strong{font-size:23px}
.resource-copy small{font-size:16px}

/* Gallery: dark editorial collage using only existing school photos */
.gallery-showcase{background:#18243f;color:#fff;padding-top:58px;padding-bottom:72px}
.gallery-showcase .container{max-width:1500px}
.gallery-showcase-head{display:flex;justify-content:space-between;gap:44px;align-items:end;margin-bottom:36px}
.gallery-showcase .section-kicker{color:#ef91b6}
.gallery-showcase h2{font-size:clamp(46px,5vw,72px);line-height:1.08;letter-spacing:-.045em;color:#fff;margin:0 0 14px}
.gallery-showcase-head p:not(.section-kicker){font-size:19px;color:#d1d7e1;margin:0}
.gallery-tabs-dark{background:transparent;border:0;padding:0;margin:0;gap:10px}
.gallery-tabs-dark .gallery-tab{border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;padding:11px 18px;font-family:"Oswald",sans-serif;letter-spacing:.06em;font-size:13px}
.gallery-tabs-dark .gallery-tab.active{background:#fff;color:#202d4d;box-shadow:none}
.gallery-collage{display:grid;grid-template-columns:1.28fr .72fr .72fr;grid-template-rows:280px 310px;gap:18px}
.gallery-collage figure{margin:0;border-radius:24px;overflow:hidden;background:#26324e}
.gallery-collage img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.gallery-collage figure:hover img{transform:scale(1.018)}
.gallery-feature{grid-column:1;grid-row:1 / span 2}
.gallery-top{grid-column:2;grid-row:1}
.gallery-wide{grid-column:2 / span 2;grid-row:2}
.gallery-panel[hidden]{display:none!important}

@media (max-width:1050px){
  .about-modern-head{grid-template-columns:1fr;gap:16px}.about-modern-intro{justify-self:start}
  .about-lead-grid{grid-template-columns:1fr 1fr}.about-welcome-card{grid-column:1 / -1;min-height:0}
  .gallery-collage{grid-template-columns:1fr 1fr;grid-template-rows:330px 250px}.gallery-feature{grid-column:1 / -1;grid-row:1}.gallery-top{grid-column:1;grid-row:2}.gallery-wide{grid-column:2;grid-row:2}
}
@media (max-width:760px){
  .about-modern{padding-top:30px}.about-modern-head h2{font-size:42px}.about-modern-intro{font-size:16px}
  .about-lead-grid,.about-info-grid{grid-template-columns:1fr}.about-welcome-card{padding:34px 28px}.about-welcome-card h3{font-size:36px}.about-person-photo{height:300px}.about-info-card{padding:30px 28px;min-height:0}.about-info-card h3{margin-top:26px;font-size:29px}.about-info-card p{font-size:16px}
  .registration-feature-card{padding:36px 24px}.registration-summary h2{font-size:47px}.registration-stats{grid-template-columns:1fr 1fr}.registration-stat span{font-size:14px}.registration-program-card{min-height:0}
  .school-info-heading{grid-template-columns:1fr;gap:12px}.school-info-heading h2{font-size:42px}.school-doc-grid{grid-template-columns:1fr;gap:14px}.school-doc-card.resource-card{height:auto;min-height:126px;padding:22px 20px}
  .gallery-showcase-head{align-items:flex-start;flex-direction:column}.gallery-showcase h2{font-size:43px}.gallery-collage{display:grid;grid-template-columns:1fr;grid-template-rows:360px 240px 260px}.gallery-feature,.gallery-top,.gallery-wide{grid-column:1}.gallery-feature{grid-row:1}.gallery-top{grid-row:2}.gallery-wide{grid-row:3}
}

/* ===== 2026-09-29 professional proportion pass ===== */
/* Preserve Korean phrases and prevent awkward mid-word wrapping. */
body, h1, h2, h3, h4, p, a, span, strong, small, li {
  word-break: keep-all;
  overflow-wrap: normal;
  hyphens: none;
}

/* ABOUT — medium visual weight, leadership prominent but not oversized */
.about-modern{padding-top:34px;padding-bottom:58px}
.about-modern-head{gap:44px;margin-bottom:30px}
.about-modern-head h2{font-size:clamp(40px,4vw,58px)}
.about-modern-intro{font-size:17px;line-height:1.6;max-width:610px}
.about-lead-grid{grid-template-columns:1.08fr .96fr .96fr;gap:22px}
.about-welcome-card{min-height:390px;padding:38px 38px;border-radius:24px}
.about-step-label{margin-bottom:24px}
.about-welcome-card h3{font-size:clamp(32px,3vw,43px);line-height:1.24;margin-bottom:20px}
.about-welcome-card p{font-size:16px;line-height:1.65}
.about-person-card{border-radius:24px}
.about-person-photo{height:270px}
.about-person-copy{padding:22px 24px 24px}
.about-person-copy h3{font-size:23px}
.about-info-grid{gap:22px;margin-top:24px}
.about-info-card{min-height:220px;padding:30px 36px;border-radius:24px}
.about-info-label{gap:24px;font-size:13px}
.about-info-card h3{font-size:29px;margin:26px 0 15px}
.about-info-card p{font-size:16px;line-height:1.65;margin-bottom:18px}
.about-info-link{font-size:15px}

/* PROGRAMS — compact editorial cards; same height, less visual bulk */
#programs{padding-top:58px;padding-bottom:62px}
#programs h2{font-size:clamp(40px,4.1vw,58px);margin-bottom:10px}
.program-intro{max-width:760px;margin-bottom:24px;font-size:16px}
.program-showcase-three{gap:20px}
.program-showcase-three .program-photo{height:205px}
.program-showcase-three .program-content{padding:22px 22px 24px}
.program-content h3{font-size:23px;margin:12px 0 10px}
.program-content h3 small{font-size:14px}
.program-content p{font-size:15px;line-height:1.58;margin-bottom:9px}
.program-content .card-en{font-size:13px;line-height:1.5}

/* REGISTRATION — prominent CTA, but tighter and more balanced. */
.registration-feature{padding-top:26px;padding-bottom:48px}
.registration-feature-card{
  grid-template-columns:1.16fr .84fr;
  gap:38px;
  padding:46px 48px;
  border-radius:30px;
}
.registration-summary h2{
  color:#fff !important;
  font-size:clamp(50px,5.2vw,70px);
  line-height:1.02;
  max-width:560px;
  margin-bottom:14px;
}
.registration-subtitle{color:#fff !important;font-size:19px;margin-bottom:24px}
.registration-stats{gap:11px;max-width:590px}
.registration-stat{min-height:82px;padding:14px 16px;border-radius:15px}
.registration-stat strong{color:#fff !important;font-size:22px;margin-bottom:2px}
.registration-stat span{color:#fff !important;font-size:14px;line-height:1.3}
.registration-programs{gap:16px}
.registration-program-card{min-height:158px;padding:26px 28px;border-radius:20px}
.registration-time{font-size:14px;margin-bottom:10px}
.registration-program-card h3{font-size:24px;margin-bottom:18px}
.registration-pill{min-height:38px;padding:0 16px;font-size:13px}

/* CALENDAR — horizontal, concise, and clearly secondary to Registration. */
.academic-calendar-section{padding-top:54px;padding-bottom:62px}
.academic-calendar-section h2{font-size:clamp(40px,4.2vw,58px);margin-bottom:30px}
.academic-timeline{grid-template-columns:1fr 54px 1fr}
.academic-card{grid-template-columns:126px 1fr;gap:22px;min-height:176px;padding:24px 26px;border-radius:22px}
.date-badge{width:104px;height:138px;border-radius:21px}
.date-badge span{font-size:15px;margin-bottom:8px}
.date-badge strong{font-size:52px}
.date-badge small{font-size:13px;margin-top:10px}
.academic-copy .semester-label{font-size:14px;margin-bottom:10px}
.academic-copy h3{font-size:25px;margin-bottom:9px}
.academic-copy p{font-size:16px;margin-bottom:10px}
.academic-status{font-size:13px}

/* RESOURCES — quick access should feel light and compact. */
.school-info{padding-top:46px;padding-bottom:52px}
.school-info-heading{gap:42px;margin-bottom:26px}
.school-info-heading h2{font-size:clamp(40px,3.8vw,56px)}
.school-info-intro{font-size:16px;line-height:1.5}
.school-doc-grid{gap:18px}
.school-doc-card.resource-card{height:138px;padding:22px 26px;border-radius:22px;grid-template-columns:66px 1fr 28px;gap:16px}
.resource-icon{width:50px;height:50px;border-radius:16px;font-size:27px}
.school-doc-semester{font-size:14px}
.resource-copy strong{font-size:21px}
.resource-copy small{font-size:14px}
.resource-arrow{font-size:24px}

/* DONATE — keep PayPal Giving Fund unmistakably primary without creating another giant section. */
.donate{padding-top:58px;padding-bottom:64px}
.donate h2{font-size:clamp(40px,4.2vw,58px)}
.donate-intro{max-width:820px;font-size:16px}
.donate-primary{grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:22px;margin-top:26px;padding:28px 30px;border-radius:24px}
.donate-primary h3{font-size:clamp(24px,2.4vw,32px)}
.donate-primary-btn{min-height:108px;padding:21px 24px;font-size:17px}
.donate-primary-btn span{font-size:23px}
.donate-secondary-grid{gap:14px;margin-top:14px}
.donate-option{padding-top:16px;padding-bottom:16px}
.check-box{margin-top:16px}

/* CONTACT — intentionally quiet ending. */
.contact{padding-top:48px;padding-bottom:54px}
.contact-simple{max-width:680px;padding:24px 26px}

@media(max-width:1050px){
  .about-lead-grid{grid-template-columns:1fr 1fr}
  .about-welcome-card{grid-column:1/-1;min-height:0}
  .registration-feature-card{grid-template-columns:1fr;padding:40px 34px}
  .registration-programs{display:grid;grid-template-columns:1fr 1fr}
  .academic-timeline{grid-template-columns:1fr;gap:16px}.timeline-line{display:none}
}
@media(max-width:760px){
  .about-modern{padding-top:26px;padding-bottom:44px}.about-modern-head h2{font-size:38px}.about-modern-intro{font-size:15px}
  .about-lead-grid,.about-info-grid{grid-template-columns:1fr}.about-welcome-card{padding:30px 25px}.about-person-photo{height:260px}.about-info-card{min-height:0;padding:26px 24px}
  #programs{padding-top:44px;padding-bottom:48px}.program-showcase-three .program-photo{height:220px}
  .registration-feature-card{padding:32px 22px;gap:24px}.registration-summary h2{font-size:45px}.registration-stats{grid-template-columns:1fr 1fr}.registration-programs{grid-template-columns:1fr}.registration-program-card{min-height:0;padding:22px}
  .academic-calendar-section{padding-top:44px;padding-bottom:50px}.academic-card{grid-template-columns:90px 1fr;gap:16px;min-height:0;padding:20px 18px}.date-badge{width:82px;height:108px}.date-badge strong{font-size:41px}.academic-copy h3{font-size:21px}
  .school-info{padding-top:40px;padding-bottom:46px}.school-info-heading{grid-template-columns:1fr;gap:10px}.school-doc-card.resource-card{height:auto;min-height:116px;padding:20px 18px}
  .donate{padding-top:46px;padding-bottom:52px}.donate-primary{padding:24px 20px}.donate-secondary-grid{grid-template-columns:1fr}
}

/* ===== 2026-09-29 resources horizontal-card correction ===== */
/* Keep every label inside the card: icon + semester left, titles + arrow right. */
.school-doc-card.resource-card{
  display:grid !important;
  grid-template-columns:112px minmax(0,1fr) !important;
  align-items:center !important;
  gap:22px !important;
  height:132px !important;
  min-height:132px !important;
  padding:20px 24px !important;
  overflow:hidden !important;
}
.resource-left{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:8px;
  min-width:0;
}
.resource-left .resource-icon{
  flex:0 0 auto;
}
.resource-left .school-doc-semester{
  display:block;
  margin:0;
  white-space:nowrap;
  font-size:13px;
}
.resource-right{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 28px;
  align-items:center;
  gap:12px;
}
.resource-right .resource-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
}
.resource-right .resource-copy strong,
.resource-right .resource-copy small{
  display:block;
  margin:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.resource-right .resource-copy strong{font-size:21px;line-height:1.18}
.resource-right .resource-copy small{font-size:14px;line-height:1.25;color:#788294}
.resource-right .resource-arrow{
  align-self:center;
  justify-self:end;
  margin:0;
}

@media(max-width:1050px){
  .school-doc-card.resource-card{
    grid-template-columns:102px minmax(0,1fr) !important;
    gap:16px !important;
    padding:18px 20px !important;
  }
  .resource-right .resource-copy strong{font-size:20px}
  .resource-right .resource-copy small{font-size:13px}
}
@media(max-width:760px){
  .school-doc-card.resource-card{
    grid-template-columns:92px minmax(0,1fr) !important;
    gap:14px !important;
    min-height:112px !important;
    height:auto !important;
    padding:16px 16px !important;
  }
  .resource-left .school-doc-semester{font-size:12px}
  .resource-right .resource-copy strong{font-size:19px}
  .resource-right .resource-copy small{font-size:12px}
  .resource-right{grid-template-columns:minmax(0,1fr) 24px;gap:8px}
}

/* Professional editorial gallery */
.gallery-showcase{
  background:linear-gradient(180deg,#17213a 0%,#111a30 100%);
  color:#fff;
  padding:72px 0 82px;
  overflow:hidden;
}
.gallery-showcase .container{max-width:1480px}
.gallery-showcase-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:48px;
  margin-bottom:34px;
}
.gallery-heading-copy{max-width:760px}
.gallery-showcase .section-kicker{color:#f19abd;margin-bottom:10px}
.gallery-showcase h2{
  margin:0;
  color:#fff;
  font-size:clamp(42px,4.5vw,64px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.gallery-subtitle{
  margin:15px 0 0;
  color:#eef1f6;
  font-size:18px;
  line-height:1.65;
}
.gallery-subtitle span{
  display:block;
  margin-top:3px;
  color:#aeb8ca;
  font-size:15px;
}
.gallery-tabs-dark{
  display:inline-flex;
  gap:6px;
  padding:5px;
  margin:0;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(8px);
}
.gallery-tabs-dark .gallery-tab{
  border:0;
  background:transparent;
  color:#cbd3df;
  padding:10px 16px;
  border-radius:999px;
  font-family:"Oswald",sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.gallery-tabs-dark .gallery-tab:hover{color:#fff}
.gallery-tabs-dark .gallery-tab.active{
  background:#cf3f7b;
  color:#fff;
  box-shadow:0 8px 22px rgba(207,63,123,.28);
}
.gallery-panel[hidden]{display:none!important}
.gallery-editorial{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:250px 250px;
  gap:16px;
  animation:galleryFade .24s ease;
}
.gallery-card{
  position:relative;
  display:block;
  padding:0;
  border:0;
  border-radius:18px;
  overflow:hidden;
  background:#26324e;
  color:#fff;
  cursor:zoom-in;
  text-align:left;
  box-shadow:0 12px 30px rgba(6,12,26,.16);
  isolation:isolate;
}
.gallery-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,transparent 48%,rgba(8,14,28,.72) 100%);
  opacity:.82;
  transition:opacity .25s ease;
}
.gallery-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .3s ease;
}
.gallery-card:hover img{transform:scale(1.035);filter:saturate(1.04)}
.gallery-card:hover::after{opacity:.95}
.gallery-card:focus-visible{outline:3px solid #f29abd;outline-offset:4px}
.gallery-card-feature{grid-column:1 / span 7;grid-row:1 / span 2}
.gallery-card-wide{grid-column:8 / span 5;grid-row:1}
.gallery-card-small:nth-of-type(3){grid-column:8 / span 2;grid-row:2}
.gallery-card-small:nth-of-type(4){grid-column:10 / span 3;grid-row:2}
.gallery-card-overlay{
  position:absolute;
  left:20px;
  right:20px;
  bottom:18px;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:3px;
  pointer-events:none;
}
.gallery-card-overlay small{
  color:#f5a3c2;
  font-family:"Oswald",sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
}
.gallery-card-overlay strong{
  color:#fff;
  font-size:18px;
  line-height:1.3;
  font-weight:800;
  word-break:keep-all;
}
.gallery-card-feature .gallery-card-overlay strong{font-size:23px}
.gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:5000;
  display:grid;
  place-items:center;
  padding:28px;
  background:rgba(6,10,20,.88);
  backdrop-filter:blur(10px);
}
.gallery-lightbox[hidden]{display:none!important}
.gallery-lightbox-inner{max-width:min(1100px,92vw);max-height:88vh;text-align:center}
.gallery-lightbox-image{
  max-width:100%;
  max-height:78vh;
  width:auto;
  height:auto;
  border-radius:16px;
  box-shadow:0 24px 70px rgba(0,0,0,.42);
}
.gallery-lightbox-caption{margin:14px 0 0;color:#e9edf4;font-size:15px}
.gallery-lightbox-close{
  position:absolute;
  top:18px;
  right:22px;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
.gallery-lightbox-close:hover{background:rgba(255,255,255,.15)}
body.gallery-lightbox-open{overflow:hidden}

@media (max-width:1020px){
  .gallery-showcase{padding:58px 0 66px}
  .gallery-showcase-head{align-items:flex-start;flex-direction:column;gap:20px}
  .gallery-editorial{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:360px 230px 230px}
  .gallery-card-feature{grid-column:1 / -1;grid-row:1}
  .gallery-card-wide{grid-column:1 / -1;grid-row:2}
  .gallery-card-small:nth-of-type(3){grid-column:1;grid-row:3}
  .gallery-card-small:nth-of-type(4){grid-column:2;grid-row:3}
}
@media (max-width:640px){
  .gallery-showcase{padding:48px 0 56px}
  .gallery-showcase h2{font-size:40px}
  .gallery-subtitle{font-size:16px}
  .gallery-tabs-dark{width:100%}
  .gallery-tabs-dark .gallery-tab{flex:1;padding:10px 8px}
  .gallery-editorial{display:grid;grid-template-columns:1fr;grid-template-rows:330px 210px 210px 210px;gap:12px}
  .gallery-card-feature,.gallery-card-wide,.gallery-card-small:nth-of-type(3),.gallery-card-small:nth-of-type(4){grid-column:1}
  .gallery-card-feature{grid-row:1}
  .gallery-card-wide{grid-row:2}
  .gallery-card-small:nth-of-type(3){grid-row:3}
  .gallery-card-small:nth-of-type(4){grid-row:4}
  .gallery-card-overlay{left:16px;right:16px;bottom:14px}
  .gallery-card-feature .gallery-card-overlay strong,.gallery-card-overlay strong{font-size:17px}
  .gallery-lightbox{padding:16px}
}


/* All-photo professional gallery */
.gallery-all{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-auto-rows:210px !important;
  grid-auto-flow:dense;
  gap:14px;
}
.gallery-all .gallery-card{min-height:0; height:auto;}
.gallery-all .gallery-card-feature{grid-column:span 2;grid-row:span 2;}
.gallery-all .gallery-card-wide{grid-column:span 2;grid-row:span 1;}
.gallery-all .gallery-card-small{grid-column:span 1;grid-row:span 1;}
.gallery-all .gallery-card img{width:100%;height:100%;object-fit:cover;}
@media (max-width:1100px){
  .gallery-all{grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-auto-rows:220px !important;}
  .gallery-all .gallery-card-feature{grid-column:span 2;grid-row:span 2;}
  .gallery-all .gallery-card-wide{grid-column:span 2;}
}
@media (max-width:640px){
  .gallery-all{grid-template-columns:1fr !important;grid-auto-rows:260px !important;}
  .gallery-all .gallery-card-feature,.gallery-all .gallery-card-wide,.gallery-all .gallery-card-small{grid-column:span 1;grid-row:span 1;}
}

/* Visibility + welcome-card refinement — 2026-09-29 */
.gallery-showcase h2,
.about-welcome-card h3,
.donate-primary h3{
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 1px 1px rgba(0,0,0,.08);
}
.gallery-subtitle,
.about-welcome-card p,
.about-welcome-card .about-welcome-en,
.donate-primary p,
.donate-primary .donate-primary-en{
  opacity:1 !important;
}
.gallery-subtitle{color:#eef2f8 !important;}
.about-welcome-card p{color:#f5f7fb !important;}
.about-welcome-card .about-welcome-en{color:#cfd7e5 !important;}
.donate-primary p{color:#ffffff !important;}
.donate-primary .donate-primary-en{color:#eef0f6 !important;}

.about-welcome-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#1b2948 0%,#23385f 68%,#2c426c 100%);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 42px rgba(20,34,61,.12);
}
.about-welcome-card::before{
  content:"";
  position:absolute;
  width:250px;
  height:250px;
  right:-110px;
  top:-95px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.018);
  pointer-events:none;
}
.about-welcome-card::after{
  content:"한글  ·  문화  ·  공동체";
  display:block;
  width:max-content;
  margin-top:24px;
  padding:9px 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  color:#f5c3d7;
  background:rgba(255,255,255,.05);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  position:relative;
  z-index:1;
}
.about-welcome-card > *{position:relative;z-index:1;}
.about-welcome-card h3{max-width:420px;}
.about-welcome-card p{max-width:430px;}


/* Header brand scale refinement — 2026-09-29 */
@media (min-width: 901px){
  .nav-wrap{min-height:88px !important;}
  .brand{gap:14px !important;min-width:330px !important;}
  .brand-logo{width:64px !important;height:64px !important;}
  .brand strong{font-size:19px !important;line-height:1.25 !important;font-weight:800 !important;letter-spacing:-.02em !important;}
  .brand span{font-size:12.5px !important;line-height:1.35 !important;margin-top:4px !important;}
}
@media (max-width:900px){
  .brand-logo{width:50px !important;height:50px !important;}
  .brand strong{font-size:15px !important;}
}

/* PayPal Giving Fund: emphasize zero processing fee */
.fee-zero-highlight{
  display:flex;
  align-items:baseline;
  gap:14px;
  flex-wrap:wrap;
  margin:10px 0 12px;
}
.fee-zero-highlight strong{
  display:inline-block;
  font-size:clamp(34px,4.2vw,58px);
  line-height:1;
  letter-spacing:-.035em;
  color:#fff;
  font-weight:900;
  white-space:nowrap;
}
.fee-zero-highlight span{
  display:inline-block;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:999px;
  background:rgba(255,255,255,.09);
  color:#ffd7e6;
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
}
@media(max-width:560px){
  .fee-zero-highlight{gap:10px}
  .fee-zero-highlight strong{font-size:36px}
  .fee-zero-highlight span{font-size:12px;padding:7px 10px}
}

/* Programs grouped by the two actual registration choices: Korean Program and Adult KSL. */
.program-showcase-two{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  align-items:stretch;
  gap:28px;
}
.program-showcase-two .program-tile{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.program-showcase-two .program-photo{height:280px}
.program-showcase-two .program-content{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:28px 30px 30px;
}
.program-showcase-two .program-content h3{margin:16px 0 12px}
.program-level-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:18px 0 8px;
}
.program-level-badges span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid #edd1df;
  border-radius:999px;
  background:#fff3f8;
  color:#9f2f63;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
}
.program-level-badges-ksl span{
  padding:8px 14px;
  background:#fff7fa;
  color:#536078;
}
.program-level-badges-ksl strong{color:#b82968}
.program-showcase-two .card-en{margin-top:auto;padding-top:12px}
@media(max-width:820px){
  .program-showcase-two{grid-template-columns:1fr !important}
  .program-showcase-two .program-photo{height:240px}
}


/* Supporter recognition — compact, grateful, expandable */
.supporter-thanks{
  margin-top:24px;
  border:1px solid #ead7e1;
  border-radius:22px;
  background:linear-gradient(135deg,#fffafc 0%,#ffffff 58%,#faf7fb 100%);
  box-shadow:0 12px 34px rgba(45,37,58,.07);
  overflow:hidden;
}
.supporter-thanks-copy{padding:28px 30px 20px}
.supporter-thanks-kicker{margin:0 0 8px;color:#c33773;font-family:"Oswald",sans-serif;font-size:12px;letter-spacing:.16em;font-weight:700}
.supporter-thanks h3{margin:0;color:#202a43;font-size:clamp(24px,2.5vw,34px);line-height:1.25;word-break:keep-all}
.supporter-thanks h3 span{display:block;margin-top:5px;font-size:15px;font-weight:700;color:#7a6472;letter-spacing:.01em}
.supporter-thanks-copy>p:not(.supporter-thanks-kicker):not(.supporter-update-note){max-width:900px;margin:14px 0 0;color:#3d465a;line-height:1.72;word-break:keep-all}
.supporter-thanks .supporter-thanks-en{font-size:14px;color:#6d7380!important}
.supporter-update-note{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:18px 0 0;padding:12px 14px;border-radius:12px;background:#f7edf2;color:#4f4050;font-size:14px;line-height:1.55}
.supporter-update-note span{color:#7a6975}
.supporter-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 30px;border:0;border-top:1px solid #eadfe5;background:#fff;color:#202a43;font:inherit;font-weight:800;cursor:pointer;text-align:left}
.supporter-toggle span{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.supporter-toggle small{font-size:13px;color:#8b6c7b;font-weight:700}
.supporter-toggle b{font-size:22px;color:#c33773;transition:transform .2s ease}
.supporter-toggle[aria-expanded="true"] b{transform:rotate(180deg)}
.supporter-toggle:hover{background:#fff7fa}
.supporter-list{border-top:1px solid #efe4e9;background:#fff}
.supporter-list[hidden]{display:none!important}
.supporter-columns{display:grid;grid-template-columns:1fr 1.3fr;gap:22px;padding:24px 30px 18px}
.supporter-column{padding:20px;border-radius:16px;background:#faf8fb;border:1px solid #eee7ed}
.supporter-column h4{margin:0 0 14px;color:#202a43;font-size:18px;line-height:1.35;word-break:keep-all}
.supporter-column h4 span{display:block;margin-top:3px;color:#8a7480;font-size:12px;font-weight:700}
.supporter-column ul{list-style:none;margin:0;padding:0;columns:1}
.supporter-column li{padding:7px 0;border-bottom:1px solid #eee8ec;color:#374155;font-size:15px}
.supporter-column li:last-child{border-bottom:0}
.supporter-anon{color:#8a7480;font-size:13px;margin-left:4px}
.supporter-list-note{margin:0;padding:0 30px 24px;color:#7a6975;font-size:13px}
.supporter-list-note span{margin-left:6px}
@media(max-width:760px){
  .supporter-thanks-copy{padding:24px 22px 18px}
  .supporter-toggle{padding:16px 22px}
  .supporter-columns{grid-template-columns:1fr;padding:20px 22px 16px}
  .supporter-list-note{padding:0 22px 22px}
}


/* Supporter thank-you decorative accent */
.supporter-thanks{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.supporter-thanks-copy{
  position:relative;
  z-index:2;
  padding-right:clamp(240px,24vw,420px);
}
.supporter-decoration{
  position:absolute;
  z-index:1;
  top:34px;
  right:34px;
  width:clamp(210px,22vw,360px);
  height:220px;
  pointer-events:none;
  opacity:.95;
}
.supporter-decoration .heart-line{
  position:absolute;
  left:43%;
  top:34%;
  transform:translate(-50%,-50%);
  color:rgba(211,56,116,.38);
  font-family:Arial,sans-serif;
  font-size:84px;
  font-weight:300;
  line-height:1;
}
.supporter-decoration .petal,
.supporter-decoration .soft-dot{
  position:absolute;
  display:block;
  background:linear-gradient(135deg,rgba(243,177,201,.32),rgba(248,221,231,.10));
  filter:blur(.2px);
}
.supporter-decoration .petal{border-radius:80% 18% 80% 18%}
.supporter-decoration .petal-a{width:78px;height:48px;left:4%;top:16%;transform:rotate(34deg)}
.supporter-decoration .petal-b{width:58px;height:36px;right:2%;top:18%;transform:rotate(-26deg)}
.supporter-decoration .petal-c{width:92px;height:58px;right:15%;bottom:10%;transform:rotate(46deg);opacity:.72}
.supporter-decoration .petal-d{width:62px;height:40px;left:48%;bottom:3%;transform:rotate(18deg);opacity:.55}
.supporter-decoration .soft-dot{border-radius:50%}
.supporter-decoration .dot-a{width:58px;height:58px;right:25%;top:0;opacity:.40}
.supporter-decoration .dot-b{width:28px;height:28px;left:25%;top:57%;opacity:.46}
.supporter-decoration .swoosh{
  position:absolute;
  width:230px;
  height:92px;
  right:-8px;
  top:74px;
  border-bottom:2px solid rgba(211,56,116,.18);
  border-radius:0 0 60% 70%;
  transform:rotate(-8deg);
}

@media (max-width: 980px){
  .supporter-thanks-copy{padding-right:200px}
  .supporter-decoration{right:18px;width:190px;transform:scale(.88);transform-origin:top right}
}
@media (max-width: 760px){
  .supporter-thanks-copy{padding-right:22px}
  .supporter-decoration{
    top:18px;
    right:8px;
    width:120px;
    height:100px;
    opacity:.55;
    transform:scale(.62);
    transform-origin:top right;
  }
  .supporter-decoration .swoosh{display:none}
}

/* Registration alignment refinement — keep card sizes, lower the right group on desktop */
@media (min-width: 981px){
  .registration-programs{
    transform: translateY(28px);
  }
}
@media (max-width: 980px){
  .registration-programs{
    transform: none;
  }
}

/* ===== Educational Goals detail: keep page copy, show photo-only visual ===== */
body:has(.detail-hero-image img[src="about-educational-goals-photo-collage-v2.png"]) .detail-hero{
  grid-template-columns:minmax(0,1fr) minmax(520px, .78fr);
  gap:56px;
}
body:has(.detail-hero-image img[src="about-educational-goals-photo-collage-v2.png"]) .detail-hero-image{
  width:100%;
}
body:has(.detail-hero-image img[src="about-educational-goals-photo-collage-v2.png"]) .detail-hero-image img{
  width:100%;
  max-height:none;
  aspect-ratio: 1.27 / 1;
  object-fit:cover;
  object-position:center;
  border-radius:28px;
  box-shadow:0 18px 46px rgba(31,42,68,.14);
}
@media (max-width:1100px){
  body:has(.detail-hero-image img[src="about-educational-goals-photo-collage-v2.png"]) .detail-hero{
    grid-template-columns:minmax(0,1fr) 440px;
    gap:36px;
  }
}
@media (max-width:760px){
  body:has(.detail-hero-image img[src="about-educational-goals-photo-collage-v2.png"]) .detail-hero{
    grid-template-columns:1fr;
  }
  body:has(.detail-hero-image img[src="about-educational-goals-photo-collage-v2.png"]) .detail-hero-image img{
    aspect-ratio: 4 / 3;
  }
}


/* ===== Purpose & Background detail: keep page copy, show photo-only visual ===== */
body:has(.detail-hero-image img[src="about-purpose-background-photo-only-v2.png"]) .detail-hero{
  grid-template-columns:minmax(0,1fr) minmax(520px, .78fr);
  gap:56px;
}
body:has(.detail-hero-image img[src="about-purpose-background-photo-only-v2.png"]) .detail-hero-image{
  width:100%;
}
body:has(.detail-hero-image img[src="about-purpose-background-photo-only-v2.png"]) .detail-hero-image img{
  width:100%;
  max-height:none;
  aspect-ratio: 1.20 / 1;
  object-fit:cover;
  object-position:center;
  border-radius:28px;
  box-shadow:0 18px 46px rgba(31,42,68,.14);
}
@media (max-width:1100px){
  body:has(.detail-hero-image img[src="about-purpose-background-photo-only-v2.png"]) .detail-hero{
    grid-template-columns:minmax(0,1fr) 440px;
    gap:36px;
  }
}
@media (max-width:760px){
  body:has(.detail-hero-image img[src="about-purpose-background-photo-only-v2.png"]) .detail-hero{
    grid-template-columns:1fr;
  }
  body:has(.detail-hero-image img[src="about-purpose-background-photo-only-v2.png"]) .detail-hero-image img{
    aspect-ratio: 4 / 3;
  }
}

/* 2026-09-29 Hero CTA spacing refinement
   Give the registration CTA more breathing room below the headline
   without changing headline position, button size, or card alignment. */
.hero-actions{
  margin-top:58px !important;
}

/* ===== 2026-09-29 MOBILE PAYPAL DONATION FIX =====
   Prevent the pink Donate Now CTA from overlapping the PayPal fee/copy area
   after later desktop donate rules override the earlier mobile grid rule. */
@media (max-width: 850px){
  .donate-primary{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    gap:20px !important;
    align-items:stretch !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }
  .donate-primary-copy{
    min-width:0 !important;
    width:100% !important;
  }
  .donate-primary-btn{
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    box-sizing:border-box !important;
    margin:0 !important;
    padding:20px 22px !important;
    align-self:stretch !important;
  }
}

@media (max-width: 560px){
  .donate-primary{
    padding:24px 18px !important;
    gap:18px !important;
  }
  .donate-primary-brand{
    flex-wrap:wrap !important;
  }
  .fee-zero-highlight{
    margin-bottom:14px !important;
  }
  .donate-primary-btn{
    font-size:16px !important;
    line-height:1.45 !important;
  }
  .donate-primary-btn span{
    font-size:22px !important;
    margin-top:6px !important;
  }
}

/* ===== 2026-09-29 MOBILE HERO FACE VISIBILITY FIX =====
   Keep the desktop CTA spacing, but on phones move the registration CTA
   closer to the headline so it sits above the children's faces in the photo. */
@media (max-width: 620px){
  .hero-scene-main .hero-actions{
    margin-top:18px !important;
  }
}

/* ===== 2026-09-29 MOBILE HERO FINAL POSITIONING =====
   Phone-only refinement requested after visual review:
   - keep the registration CTA around the children's torso/waist zone
   - move the semester/registration-coming-soon card farther down into the grass area
   - make the CTA more compact on phones
   Desktop/tablet layout remains unchanged. */
@media (max-width: 620px){
  .hero.hero-carousel{
    min-height:1100px !important;
  }
  .hero-scene-main{
    background-position:center 42% !important;
  }
  .hero-scene-main .hero-grid{
    min-height:1100px !important;
    padding-top:52px !important;
    padding-bottom:58px !important;
    gap:135px !important;
    align-content:start !important;
  }
  .hero-scene-main .hero-actions{
    margin-top:175px !important;
  }
  .hero-scene-main .hero-actions .btn{
    width:auto !important;
    min-width:0 !important;
    max-width:240px !important;
    padding:13px 18px !important;
    font-size:15px !important;
    line-height:1.25 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .hero-scene-main .hero-card{
    width:100% !important;
    max-width:100% !important;
    margin-top:0 !important;
    padding:20px !important;
  }
}

/* ===== 2026-09-29 MOBILE HERO CARD ONE-LINE TEXT FIX =====
   Keep the registration-coming-soon heading and key time lines readable on one line on phones. */
@media (max-width: 620px){
  .hero-scene-main .hero-card h2{
    font-size:17px !important;
    line-height:1.25 !important;
    letter-spacing:-0.02em !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }
  .hero-scene-main .hero-card p{
    font-size:13px !important;
    line-height:1.35 !important;
    margin:7px 0 !important;
    white-space:nowrap !important;
  }
  .hero-scene-main .hero-card{
    padding-left:14px !important;
    padding-right:14px !important;
    overflow:visible !important;
  }
}

@media (max-width: 390px){
  .hero-scene-main .hero-card h2{
    font-size:15.5px !important;
  }
  .hero-scene-main .hero-card p{
    font-size:12px !important;
    letter-spacing:-0.01em !important;
  }
}

/* ===== 2026-09-29 MOBILE HERO ACTIVITY PHOTO =====
   Use a more expressive school-activity photo on phones only.
   Desktop/tablet hero remains unchanged. */
@media (max-width: 620px){
  .hero-scene-main{
    background-image:url("hero-slide-2.jpg") !important;
    background-position:center 34% !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
  }
  .hero-scene-main .hero-overlay{
    background:linear-gradient(180deg,rgba(20,33,61,.42) 0%,rgba(20,33,61,.18) 42%,rgba(20,33,61,.08) 68%,rgba(20,33,61,.18) 100%) !important;
  }
  .hero-scene-main .hero-actions{
    margin-top:185px !important;
  }
  .hero-scene-main .hero-grid{
    gap:145px !important;
  }
}


/* ===== 2026-09-29 MOBILE HOMEPAGE CLEANUP v3 =====
   Phone-only fixes:
   1) keep the registration CTA only inside the semester card,
   2) simplify the card copy,
   3) enlarge the bilingual school name in the header.
   Desktop/tablet layout is unchanged. */
.hero-card-mobile{
  display:none;
}

@media (max-width:620px){
  .site-header .container{
    width:calc(100% - 20px) !important;
  }
  .site-header .nav-wrap{
    min-height:84px !important;
    gap:8px !important;
  }
  .brand{
    gap:9px !important;
    min-width:0 !important;
    flex:1 1 auto !important;
  }
  .brand-logo{
    width:50px !important;
    height:50px !important;
    flex:0 0 50px !important;
  }
  .brand > div{
    min-width:0 !important;
  }
  .brand strong{
    display:block !important;
    font-size:20px !important;
    line-height:1.12 !important;
    font-weight:800 !important;
    letter-spacing:-.04em !important;
    white-space:nowrap !important;
  }
  .brand span{
    display:block !important;
    margin-top:4px !important;
    color:#737b89 !important;
    font-size:10.5px !important;
    line-height:1.15 !important;
    letter-spacing:-.015em !important;
    white-space:nowrap !important;
  }
  .menu-btn{
    flex:0 0 auto !important;
    margin-left:2px !important;
  }

  .hero.hero-carousel{
    min-height:980px !important;
  }
  .hero-scene-main{
    background-image:url("hero-bright-field.jpg") !important;
    background-position:center 46% !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
  }
  .hero-scene-main .hero-grid{
    min-height:980px !important;
    padding-top:44px !important;
    padding-bottom:48px !important;
    gap:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .hero-scene-main .hero-main-copy{
    width:100% !important;
  }

  /* Remove the extra pink button that appeared above the card. */
  .hero-scene-main .hero-actions{
    display:none !important;
  }

  .hero-scene-main .hero-card{
    width:calc(100% - 16px) !important;
    max-width:390px !important;
    margin:425px auto 0 !important;
    padding:17px 15px 16px !important;
    border-radius:18px !important;
    text-align:center !important;
    background:rgba(255,255,255,.95) !important;
    box-shadow:0 14px 34px rgba(20,33,61,.18) !important;
    backdrop-filter:blur(7px) !important;
    overflow:hidden !important;
  }
  .hero-card-desktop{
    display:none !important;
  }
  .hero-card-mobile{
    display:block !important;
  }
  .hero-scene-main .hero-card .hero-card-mobile h2{
    margin:0 0 11px !important;
    color:#1f2a44 !important;
    font-size:20px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    letter-spacing:-.04em !important;
    white-space:normal !important;
    word-break:keep-all !important;
  }
  .mobile-registration-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:188px !important;
    min-height:43px !important;
    padding:10px 18px !important;
    border-radius:999px !important;
    font-size:14px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
  }
}

@media (max-width:390px){
  .brand strong{
    font-size:18.5px !important;
  }
  .brand span{
    font-size:9.5px !important;
  }
  .hero-scene-main .hero-card{
    margin-top:405px !important;
  }
  .hero-scene-main .hero-card .hero-card-mobile h2{
    font-size:18.5px !important;
  }
  .mobile-registration-btn{
    min-width:176px !important;
    font-size:13.5px !important;
  }
}


/* ===== 2026-09-29 MOBILE BILINGUAL REGISTRATION v4 ===== */
@media (max-width:620px){
  .hero-card-mobile .mobile-semester-label{
    display:block !important;
    margin:0 0 6px !important;
    color:#c9427d !important;
    font-family:"Oswald",sans-serif !important;
    font-size:14px !important;
    line-height:1.1 !important;
    font-weight:600 !important;
    letter-spacing:.08em !important;
  }
  .hero-scene-main .hero-card .hero-card-mobile h2{
    margin:0 0 13px !important;
    font-size:18px !important;
    line-height:1.28 !important;
    letter-spacing:-.035em !important;
  }
  .hero-card-mobile .mobile-title-divider{
    display:inline !important;
    padding:0 2px !important;
    color:#a8aeba !important;
  }
  .hero-card-mobile .mobile-title-en{
    font-size:.92em !important;
    letter-spacing:-.025em !important;
  }
}
@media (max-width:390px){
  .hero-card-mobile .mobile-semester-label{
    font-size:13px !important;
  }
  .hero-scene-main .hero-card .hero-card-mobile h2{
    font-size:17px !important;
    line-height:1.3 !important;
  }
}

/* ===== 2026-09-29 HERO BILINGUAL TAGLINE FINAL v6 ===== */
.hero-tagline-en{
  margin:12px 0 0;
  max-width:640px;
  color:rgba(255,255,255,.88);
  font-family:"Inter","Noto Sans KR",Arial,sans-serif;
  font-size:clamp(15px,1.45vw,19px);
  line-height:1.45;
  font-weight:500;
  letter-spacing:.012em;
  text-shadow:0 2px 10px rgba(0,0,0,.22);
}
@media (max-width:620px){
  .hero-tagline-en{
    margin-top:9px !important;
    max-width:320px !important;
    font-size:13.5px !important;
    line-height:1.42 !important;
    font-weight:500 !important;
    letter-spacing:.005em !important;
  }
}
@media (max-width:390px){
  .hero-tagline-en{
    max-width:292px !important;
    font-size:13px !important;
  }
}


/* Clean expandable gallery — 2026-09-29 */
.gallery-card::after{display:none!important}
.gallery-card:hover::after{opacity:0!important}
.gallery-card-overlay{display:none!important}
.gallery-card-collapsed{display:none!important}
.gallery-more-wrap{
  display:flex;
  justify-content:center;
  margin-top:28px;
}
.gallery-more-wrap[hidden]{display:none!important}
.gallery-more-toggle{
  display:inline-flex;
  align-items:baseline;
  justify-content:center;
  gap:8px;
  min-width:220px;
  padding:13px 22px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#fff;
  font:inherit;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.gallery-more-toggle:hover{
  background:rgba(255,255,255,.13);
  border-color:rgba(255,255,255,.42);
  transform:translateY(-1px);
}
.gallery-more-toggle span{font-weight:800;font-size:15px}
.gallery-more-toggle small{font-size:12px;color:#cbd3df;letter-spacing:.02em}
.gallery-lightbox-inner{margin:0 auto}
@media (max-width:640px){
  .gallery-more-wrap{margin-top:22px}
  .gallery-more-toggle{min-width:210px;padding:12px 18px}
  .gallery-more-toggle span{font-size:14px}
  .gallery-more-toggle small{font-size:11px}
}

.gallery-more-wrap[data-has-more="false"]{display:none!important}
