/* Revision items 1–6: preserve the official source artwork and readable responsive layouts. */
.brand-lockup{min-width:175px}.brand-lockup .brand-logo{width:175px;height:78px}.nav-program{white-space:nowrap}
.header .nav-group summary,.header .nav-tourism{font-size:15px}.nav-panel a{font-size:15px}
.home-page .v2-hero{background:linear-gradient(120deg,#132e68,#28549d 55%,#487fbd);overflow:hidden}.home-page .v2-hero-inner{position:relative;min-height:490px}.home-page .v2-hero-copy{position:relative;z-index:2;max-width:620px}.home-page .v2-hero h1{font-size:clamp(42px,4.5vw,64px);line-height:1.12}.home-page .v2-hero-lead{font-size:21px;line-height:1.65}.ppt-hero-camp-name{font-size:21px;font-weight:900;letter-spacing:.02em;color:#ffe385;margin:18px 0 0}.ppt-hero-mascot{position:absolute;right:-13%;bottom:-5%;width:min(80%,920px);height:112%;object-fit:contain;object-position:center bottom;pointer-events:none}
.ppt-page-hero{background:linear-gradient(120deg,#0e2b63,#245196 70%,#456fba);color:#fff;overflow:hidden}.ppt-page-hero-inner{min-height:300px;display:grid;grid-template-columns:1fr 330px;align-items:center;gap:35px;padding-top:46px;padding-bottom:46px}.ppt-page-hero-inner>div>span,.ppt-heading>span,.ppt-program-copy>span,.ppt-ending span{font-size:12px;font-weight:900;letter-spacing:.13em;color:#de6bad}.ppt-page-hero-inner>div>span{color:#ffe88c}.ppt-crumb{font-size:14px;color:#d6e4fb;margin:0 0 25px}.ppt-page-hero h1{font-size:clamp(40px,5vw,62px);letter-spacing:-.055em;line-height:1.15;margin:16px 0}.ppt-page-hero h1+p{font-size:18px;line-height:1.7}.ppt-page-hero img{display:block;width:100%;height:auto;background:#fff;border-radius:22px;padding:18px}
.ppt-section{padding-top:80px;padding-bottom:85px}.ppt-heading{max-width:780px;margin-bottom:38px}.ppt-heading h2,.ppt-program-copy h2{font-size:clamp(32px,3.5vw,48px);line-height:1.26;letter-spacing:-.055em;margin:17px 0}.ppt-heading p,.ppt-program-copy p{font-size:17px;line-height:1.85;color:#665f6c;word-break:keep-all}.ppt-tinted{background:#f6f5fa}.ppt-facts{display:grid;grid-template-columns:.85fr 1.15fr;gap:45px;align-items:center;background:#f7f6fb;border-radius:26px;padding:36px}.ppt-facts-brand{border-radius:22px;background:#e7f0fd;padding:20px;text-align:center}.ppt-facts-brand img{display:block;width:100%;max-height:235px;object-fit:contain}.ppt-facts-brand strong{display:block;font-size:25px;line-height:1.35;color:#173f89}.ppt-facts dl{margin:0}.ppt-facts dl>div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid #e6e1ea}.ppt-facts dt{font-weight:800;color:#345e9a;font-size:15px}.ppt-facts dd{margin:0;font-size:15px;line-height:1.65;color:#37313b;word-break:keep-all}.ppt-note{font-size:14px;line-height:1.8;color:#716a75;background:#f8f4f9;border-left:3px solid #ea1d76;padding:18px 22px;margin:24px 0}.ppt-note p{margin:3px 0}
.ppt-camp-types{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ppt-camp-types article{background:#fff;border-radius:22px;padding:31px;border:1px solid #ece8f1}.ppt-camp-types article>span,.ppt-day-head>span{font-size:12px;letter-spacing:.12em;color:#a82778;font-weight:900}.ppt-camp-types h3{font-size:26px;margin:13px 0}.ppt-camp-types p{font-size:16px;color:#68616c;line-height:1.75}.ppt-camp-types strong{display:block;margin-top:22px;font-size:20px;color:#244f9c}.ppt-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.ppt-tags span{font-size:13px;font-weight:700;color:#364d83;background:#edf1fb;padding:8px 13px;border-radius:999px}.ppt-primary{display:inline-flex;align-items:center;justify-content:center;background:#62269e;color:#fff;border-radius:999px;padding:16px 23px;font-weight:800;font-size:15px;margin-top:28px}
.ppt-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ppt-day{border:1px solid #ece7ee;border-radius:20px;overflow:hidden;background:white}.ppt-day-head{background:#f1edf8;padding:24px}.ppt-day-head h3{font-size:23px;margin:8px 0 0}.ppt-day ol{padding:0 23px;margin:0;list-style:none}.ppt-day li{display:grid;grid-template-columns:100px 1fr;gap:10px;padding:15px 0;border-bottom:1px solid #f0ecf1;line-height:1.6;font-size:14px}.ppt-day li:last-child{border:0}.ppt-day time{font-weight:800;color:#7b4aa0}.ppt-day li span{word-break:keep-all}.ppt-program-intro{padding-bottom:15px}.ppt-program-section{padding:65px 0;scroll-margin-top:100px}.ppt-program-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:55px;align-items:center}.ppt-program-layout img{display:block;width:100%;height:auto;border-radius:24px}.ppt-program-copy h3{font-size:22px;letter-spacing:-.04em;margin:16px 0}.ppt-ending{display:flex;justify-content:space-between;align-items:center;gap:25px;background:#f1eaf9;border-radius:24px;padding:34px}.ppt-ending h2{font-size:26px;letter-spacing:-.05em;margin:10px 0}.ppt-ending p{font-size:14px;color:#6d6572}.ppt-ending .ppt-primary{margin:0;white-space:nowrap}
.ppt-footer{padding:0;background:#202023;color:#e5e3e8}.ppt-sponsors{background:white;border-top:1px solid #ece9ee;padding:22px 0}.ppt-sponsors>.wrap{display:flex;align-items:center;gap:35px}.ppt-sponsors strong{font-size:13px;color:#645c67;white-space:nowrap}.ppt-sponsor-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;align-items:center;width:100%}.ppt-sponsor-list a{display:flex;justify-content:center;align-items:center;min-width:0;height:58px}.ppt-sponsor-list img{max-width:100%;max-height:48px;width:auto;height:auto;object-fit:contain}.ppt-footer-main{padding:45px 0 22px}.ppt-footer-layout{display:grid;grid-template-columns:210px 1fr auto;gap:42px;align-items:start}.ppt-foundation-logo{display:block}.ppt-foundation-logo img{display:block;width:100%;height:auto}.ppt-foundation-info h2{font-size:22px;margin:0 0 15px;color:white}.ppt-foundation-info p{font-size:14px;line-height:1.85;color:#c2bfc5;margin:10px 0;word-break:keep-all}.ppt-footer-links{display:flex;flex-direction:column;gap:12px}.ppt-footer-links a{font-size:14px;color:#e3dfe6}.ppt-footer-bottom{margin-top:36px;padding-top:20px;border-top:1px solid #48454a;display:flex;justify-content:space-between;color:#aaa5ac;font-size:12px}.ppt-footer-bottom a{color:#ccc6d1}
@media(min-width:1001px){.home-page .v2-hero-inner{min-height:420px}.home-page .v2-hero-copy{width:52%}}
@media(max-width:1000px){.brand-lockup{min-width:155px}.brand-lockup .brand-logo{width:155px;height:64px}.ppt-page-hero-inner{grid-template-columns:1fr 215px;min-height:250px}.ppt-facts{gap:25px}.ppt-days{grid-template-columns:1fr}.ppt-day li{grid-template-columns:130px 1fr}.ppt-footer-layout{grid-template-columns:160px 1fr}.ppt-footer-links{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}}
@media(max-width:600px){.brand-lockup{min-width:140px}.brand-lockup .brand-logo{width:140px;height:62px}.header .nav-group summary,.header .nav-tourism{font-size:16px}.home-page .v2-hero-inner{min-height:620px!important;align-items:flex-start;padding-top:58px}.home-page .v2-hero-copy{width:100%;max-width:none}.home-page .v2-hero h1{font-size:clamp(34px,9vw,46px)}.home-page .v2-hero-lead{font-size:19px}.ppt-hero-camp-name{font-size:19px}.ppt-page-hero-inner{min-height:0;grid-template-columns:1fr;gap:22px;padding-top:35px;padding-bottom:35px}.ppt-page-hero h1{font-size:38px}.ppt-page-hero h1+p{font-size:16px}.ppt-page-hero img{width:165px;padding:10px;border-radius:15px}.ppt-crumb{margin-bottom:18px}.ppt-section{padding-top:55px;padding-bottom:60px}.ppt-heading h2,.ppt-program-copy h2{font-size:32px}.ppt-heading p,.ppt-program-copy p{font-size:16px}.ppt-facts{grid-template-columns:1fr;padding:22px;gap:22px}.ppt-facts-brand img{max-height:180px}.ppt-facts dl>div{grid-template-columns:86px 1fr;gap:10px}.ppt-facts dt,.ppt-facts dd{font-size:14px}.ppt-camp-types{grid-template-columns:1fr}.ppt-camp-types article{padding:24px}.ppt-camp-types p{font-size:15px}.ppt-days{gap:12px}.ppt-day li{grid-template-columns:98px 1fr;font-size:14px}.ppt-program-section{padding:48px 0;scroll-margin-top:75px}.ppt-program-layout{grid-template-columns:1fr;gap:22px}.ppt-program-layout img{border-radius:18px}.ppt-ending{align-items:flex-start;flex-direction:column;padding:25px}.ppt-sponsors>.wrap{align-items:flex-start;flex-direction:column;gap:10px}.ppt-sponsor-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px}.ppt-sponsor-list a{height:48px}.ppt-sponsor-list img{max-height:38px}.ppt-footer-layout{grid-template-columns:1fr;gap:24px}.ppt-foundation-logo{width:175px}.ppt-footer-links{grid-column:auto;gap:16px}.ppt-footer-bottom{margin-top:25px}.ppt-footer-main{padding-top:35px}}
.home-page .v2-hero {
  position: relative;
  isolation: isolate;
}

.home-page .v2-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: url("assets/winter-hero-landscape.png") right bottom / max(100%, 1020px) auto no-repeat;
  mask-image: linear-gradient(90deg, transparent 25%, rgba(0, 0, 0, .32) 50%, black 76%);
  opacity: .64;
}

.ppt-intro-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.ppt-intro-actions .v2-pill {
  gap: 10px;
  min-height: 46px;
  padding: 0 16px;
  white-space: nowrap;
}

.ppt-intro-actions .light-pill {
  border: 1px solid #d8c6ea;
}

.ppt-intro-actions .ppt-apply {
  background: #ffd324;
  color: #29233b;
}

@media (min-width: 1001px) {
  .home-page .v2-intro-inner {
    padding-right: 140px;
  }

  .ppt-intro-actions {
    margin-top: 0;
  }
}

@media (max-width: 480px) {
  .ppt-intro-actions {
    max-width: calc(100% - 124px);
  }
}

@media (max-width: 850px) {
  .home-page .v2-hero::before {
    background-size: max(168%, 650px) auto;
    mask-image: linear-gradient(180deg, transparent 38%, black 83%);
    opacity: .67;
  }

  .home-page .v2-hero-inner {
    --hero-mascot-height: clamp(255px, 82vw, 360px);
    align-items: flex-start;
    padding-bottom: calc(var(--hero-mascot-height) + 12px);
  }

  .ppt-hero-mascot {
    left: 55%;
    right: auto;
    bottom: -10px;
    width: 140%;
    height: var(--hero-mascot-height);
    transform: translateX(-50%);
  }
}

/* Larger readable body text throughout the public information pages. */
.sub-body p,.structure-body p,.content-body p,.editorial p,.structure-note p,.notice-box p,.program-editorial p,.operations-page p{font-size:16px;line-height:1.85}
.brand-lockup .brand-logo{width:175px;height:78px}
@media(max-width:1000px){.brand-lockup .brand-logo{width:145px;height:70px}}
.ppt-sponsor-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.board-heading p:not(.structure-kicker),.board-form label,.board-search label,.board-table table,.board-answer p,.application-field,.application-inline label,.application-help,.application-consent{font-size:15px}
@media(max-width:600px){.ppt-sponsor-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px}.ppt-sponsor-list a:last-child{grid-column:1/-1}}
/* Keep all top-level navigation labels consistent with 캠프소개. */
.header .nav #links>details>summary,.header .nav #links>a{font-size:15px;font-weight:700;line-height:1.4}
@media(max-width:1000px){.header .nav #links>details>summary,.header .nav #links>a{font-size:16px;line-height:1.4}}
/* Banner mascot signature: official original character and accessible site name. */
.brand-lockup{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:6px;min-width:180px;line-height:1}
.header-mascot{width:74px;height:76px;display:flex;align-items:center;justify-content:center;flex:none}
.header-mascot img{display:block;width:100%;height:100%;object-fit:contain}
.header-wordmark{display:flex;flex-direction:column;align-items:flex-start;gap:4px;white-space:nowrap;letter-spacing:-.06em}
.header-wordmark strong{display:block;color:#3c4fa2;font-size:23px;font-weight:900;line-height:1}
.header-wordmark small{display:block;color:#403a4a;font-size:14px;font-weight:800;line-height:1;letter-spacing:-.045em;margin:0}
@media(max-width:1000px){.brand-lockup{min-width:155px;gap:5px}.header-mascot{width:64px;height:66px}.header-wordmark strong{font-size:21px}.header-wordmark small{font-size:13px}}

.home-page .v2-mascot.wave-greeting {
  display: block;
  isolation: isolate;
  overflow: hidden;
  min-height: 0;
  padding: 0;
  border: 1px solid #dbe5fb;
  border-radius: 25px;
  background: #f1f6ff;
  box-shadow: 0 15px 36px #1e438a12;
}

.wave-greeting-visual {
  position: relative;
  height: clamp(322px, 28.5vw, 374px);
  padding: 28px 28px 0;
  background:
    radial-gradient(ellipse at 77% 76%, #d0e3ff 0%, transparent 68%),
    linear-gradient(145deg, #f8fbff, #eef4ff);
}

.home-page .wave-greeting-visual h2 {
  position: relative;
  z-index: 3;
  margin: 0;
  color: #202541;
  font-size: clamp(26px, 2.45vw, 36px);
  line-height: 1.24;
  letter-spacing: -.045em;
}

.wave-greeting-visual h2 span {
  color: #244d9f;
}

.wave-greeting-visual img {
  position: absolute;
  z-index: 2;
  right: 3%;
  bottom: 0;
  width: min(86%, 332px);
  height: auto;
  transform: translateY(14%);
  filter: drop-shadow(0 12px 10px #18367126);
}

.wave-greeting-panel {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 19px 20px;
  background: linear-gradient(135deg, #193e8d, #2d60bd);
  color: #fff;
}

.home-page .wave-greeting-panel p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  word-break: keep-all;
}

.wave-greeting-panel .v2-pill {
  justify-self: end;
  margin: 0;
  min-height: 44px;
  gap: 8px;
  padding: 0 13px;
  background: #fff;
  color: #21468f;
  font-size: 13px;
  white-space: nowrap;
}

.wave-greeting-panel .v2-pill:hover {
  background: #e7efff;
}

@media (max-width: 480px) {
  .wave-greeting-visual {
    height: clamp(276px, 80vw, 328px);
    padding: 24px 23px 0;
  }

  .wave-greeting-panel {
    gap: 8px;
    padding: 15px 14px;
  }

  .home-page .wave-greeting-panel p {
    font-size: 13px;
  }
}

.home-page .home-section-title {
  margin: 0 0 16px;
  font-size: clamp(34px, 3.4vw, 49px);
  font-weight: 900;
  line-height: 1.24;
  letter-spacing: -.045em;
  text-wrap: balance;
  word-break: keep-all;
}

.home-page .home-section-lead {
  font-size: 20px;
  color: #716b78;
  line-height: 1.7;
  word-break: keep-all;
}

@media (min-width: 1001px) {
  .home-page .home-section-title {
    margin-bottom: 12px;
    font-size: 30px;
  }

  .home-page .home-section-lead {
    font-size: 16px;
    line-height: 1.8;
  }
}

@media (max-width: 850px) {
  .home-page .home-section-title {
    font-size: 34px;
    letter-spacing: -1.6px;
  }

  .home-page .home-section-lead {
    font-size: 17px;
  }
}

.wave-explore {
  scroll-margin-top: var(--home-header);
}

.wave-experience-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(10px, 1.35vw, 20px);
  margin: 25px 0 0;
  padding: 0;
  list-style: none;
}

.wave-experience-card {
  --experience-accent: #254c95;
  --experience-bg: #f3f7ff;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 1px solid #e1e7f2;
  border-radius: 18px;
  background: var(--experience-bg);
  color: #26263a;
  text-decoration: none;
  box-shadow: 0 8px 24px #1e438a10;
}

.wave-experience-values {
  --experience-accent: #62349a;
  --experience-bg: #f9f4ff;
}

.wave-experience-culture {
  --experience-accent: #216454;
  --experience-bg: #f1f8f4;
}

.wave-experience-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 6 / 5;
  object-fit: cover;
}

.wave-experience-sports img { object-position: 52% center; }
.wave-experience-values img { object-position: 53% center; }
.wave-experience-culture img { object-position: 65% center; }

.wave-experience-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  padding: 19px 9px 20px;
  text-align: center;
}

.home-page .wave-experience-copy h3 {
  margin: 0;
  color: var(--experience-accent);
  font-size: clamp(17px, 1.65vw, 24px);
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -.035em;
}

.home-page .wave-experience-copy p {
  margin: 9px 0 12px;
  color: #515766;
  font-size: clamp(13px, 1.1vw, 15px);
  line-height: 1.55;
  word-break: keep-all;
}

.wave-experience-more {
  margin-top: auto;
  color: var(--experience-accent);
  font-size: 12px;
  font-weight: 800;
}

.wave-experience-card:hover .wave-experience-more,
.wave-experience-card:focus-visible .wave-experience-more {
  text-decoration: underline;
  text-underline-offset: .25em;
}

.wave-experience-card:focus-visible {
  outline: 3px solid var(--experience-accent);
  outline-offset: 3px;
}

.wave-carousel-controls[hidden] {
  display: none;
}

@media (max-width: 600px) {
  .wave-experience-grid {
    grid-template-columns: 1fr;
    gap: 13px;
    margin-top: 20px;
  }

  .wave-experience-card {
    display: grid;
    grid-template-columns: 39% minmax(0, 1fr);
    min-height: 132px;
  }

  .wave-experience-card img {
    height: 100%;
    aspect-ratio: auto;
  }

  .wave-experience-copy {
    align-items: flex-start;
    padding: 14px 12px;
    text-align: left;
  }

  .home-page .wave-experience-copy h3 {
    font-size: 19px;
  }

  .home-page .wave-experience-copy p {
    margin: 6px 0 8px;
    font-size: 13px;
  }

  .wave-explore[data-carousel-ready] .wave-experience-grid {
    position: relative;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .wave-explore[data-carousel-ready] .wave-experience-grid > li {
    min-width: 0;
    scroll-snap-align: start;
  }

  .wave-explore[data-carousel-ready] .wave-experience-card {
    display: flex;
    box-shadow: none;
  }

  .wave-explore[data-carousel-ready] .wave-experience-card:focus-visible {
    outline-offset: -4px;
  }

  .wave-explore[data-carousel-ready] .wave-experience-card img {
    height: auto;
    aspect-ratio: 2 / 1;
  }

  .wave-explore[data-carousel-ready] .wave-experience-copy {
    align-items: center;
    padding: 17px 14px;
    text-align: center;
  }

  .wave-carousel-controls:not([hidden]) {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
  }

  .wave-carousel-controls button {
    display: grid;
    place-items: center;
    inline-size: 44px;
    block-size: 44px;
    padding: 0;
    border: 1px solid #e4d8ef;
    border-radius: 50%;
    background: #fff;
    color: #592d88;
    font: 700 25px/1 system-ui, sans-serif;
    cursor: pointer;
  }

  .wave-carousel-controls button:focus-visible {
    outline: 2px solid #592d88;
    outline-offset: 2px;
  }

  .wave-carousel-progress {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-inline-size: 52px;
  }

  .wave-carousel-progress i {
    inline-size: 6px;
    block-size: 6px;
    border-radius: 6px;
    background: #c9b7db;
  }

  .wave-carousel-progress .is-current {
    inline-size: 17px;
    background: #62269e;
  }
}
