/* Website identity treatment: the official wordmark remains unchanged. */
.brand-lockup{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-width:166px;text-decoration:none;line-height:1}
.brand-logo-frame{display:flex;align-items:center;justify-content:center;padding:3px 8px 1px;background:#fff;border-radius:9px}
.brand-lockup .brand-logo{width:145px;height:43px;object-fit:contain}
.brand-caption{display:block;padding-left:11px;font-size:7px;letter-spacing:.13em;font-weight:800;color:#66616d;white-space:nowrap}
.content-extension{padding:15px 0 88px;background:#fbfaf8}
.content-body{padding-top:66px;padding-bottom:72px}
.content-extension .content-body{padding-bottom:0}
.content-heading{max-width:790px;margin-bottom:32px}
.content-heading>span{font-size:11px;letter-spacing:.16em;font-weight:900;color:#a21e69}
.content-heading h2{font-size:clamp(28px,3.3vw,46px);line-height:1.28;letter-spacing:-.055em;margin:14px 0}
.content-heading p{font-size:16px;line-height:1.85;color:#625e68;margin:0}
.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.content-card{min-height:186px;padding:27px;border:1px solid #ede8ed;border-radius:20px;background:#fff;box-shadow:0 8px 30px rgba(43,24,57,.035)}
.content-card span{font-size:10px;letter-spacing:.14em;color:#a52279;font-weight:900}
.content-card h3{font-size:20px;letter-spacing:-.04em;margin:15px 0 9px;color:#27202d}
.content-card p{font-size:14px;line-height:1.8;color:#67616b;margin:0;word-break:keep-all}
.content-note{margin:24px 0 0;padding:18px 22px;border-left:3px solid #ea1d76;background:#fff6fa;color:#6b5965;font-size:13px;line-height:1.8;word-break:keep-all}
.content-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:38px;padding:28px 32px;border-radius:20px;background:#f0eaf8;color:#40245c}
.content-cta p{font-size:16px;font-weight:700;margin:0}.content-cta a{font-weight:800;white-space:nowrap;color:#62269e}.content-cta a span{padding-left:9px}
@media(max-width:900px){.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.brand-lockup{min-width:132px}.brand-lockup .brand-logo{width:119px;height:38px}.brand-caption{font-size:6px}.content-body{padding-top:48px;padding-bottom:52px}.content-extension{padding:0 0 55px}.content-heading p{font-size:15px}.content-grid{grid-template-columns:1fr;gap:12px}.content-card{min-height:0;padding:23px}.content-cta{align-items:flex-start;flex-direction:column;padding:24px}}

/* 수호랑 전용 캠프 구성 */
.v2-camp-grid{grid-template-columns:1fr}.program-index{grid-template-columns:1fr}.brand-lockup .brand-logo{width:145px;height:43px;object-fit:contain}
/* Compact closing section and responsive editorial stories. */
.home-page .home-chapter-4{min-height:0}
.home-page .v2-join{padding:clamp(54px,7vw,88px) 0}
.home-page .v2-join h2{font-size:clamp(30px,3.2vw,46px);margin:18px 0 12px}
.home-page .v2-join p:not(.v2-label){line-height:1.7}
.story-visual{padding:88px 0;background:#f7f4f9}
.story-visual-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px 48px;align-items:center}
.story-visual-copy .story-eyebrow{font-size:11px;font-weight:900;letter-spacing:.16em;color:#af2373}
.story-visual-copy h2{font-size:clamp(29px,3.7vw,48px);line-height:1.23;letter-spacing:-.055em;color:#29212d;margin:18px 0}
.story-visual-copy p{font-size:16px;line-height:1.85;word-break:keep-all;color:#6c6470;max-width:31em}
.story-visual-art{overflow:hidden;border-radius:24px;background:#eee7f1;aspect-ratio:16/10}
.story-visual-art img{display:block;width:100%;height:100%;object-fit:cover}
.story-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;grid-column:1/-1}
.story-points article{background:#fff;border-radius:18px;padding:24px;min-width:0}
.story-points span{font-size:10px;letter-spacing:.13em;color:#a51f70;font-weight:900}
.story-points h3{font-size:18px;letter-spacing:-.04em;margin:10px 0 8px}.story-points p{font-size:13px;line-height:1.8;color:#716a75;margin:0;word-break:keep-all}
@media(max-width:1000px){.home-page .v2-join{padding:64px 0}.story-visual{padding:64px 0}.story-visual-inner{grid-template-columns:1fr;gap:24px}.story-points{grid-column:auto}}
@media(max-width:600px){.home-page .v2-join{padding:48px 0 52px}.home-page .v2-join h2{font-size:clamp(27px,7.5vw,34px);line-height:1.25}.home-page .v2-join p:not(.v2-label){font-size:16px;word-break:keep-all}.story-visual{padding:50px 0}.story-visual-inner{gap:22px}.story-visual-copy h2{font-size:30px}.story-visual-copy p{font-size:14px}.story-visual-art{border-radius:18px;aspect-ratio:4/3}.story-points{grid-template-columns:1fr;gap:10px}.story-points article{padding:19px 20px}.story-points h3{margin:8px 0 4px}}
/* Use the high-resolution official mascot signature at a legible header size. */
.brand-lockup{gap:0;min-width:152px}.brand-logo-frame{padding:0;background:transparent}.brand-lockup .brand-logo{width:152px;height:72px;object-fit:contain}
@media(max-width:1000px){.brand-lockup{min-width:120px}.brand-lockup .brand-logo{width:120px;height:58px}}
/* Preserve the whole illustration and keep footer partner logos within their columns. */
.story-visual-art{aspect-ratio:auto}.story-visual-art img{height:auto;object-fit:contain}
@media(max-width:760px){.camp-footer .partner-logos img{max-width:min(100%,155px)}.quick-remote.is-footer-visible{visibility:hidden;pointer-events:none}}
