:root{--bg:#FFFFFF;--ink:#0A0A0A;--pink:#FF2D87;--gold:#E3B23C;--navy:#0B1B3A;--heart:#81001F;--muted:#6B6B6B;--line:#E8E8E8;--wash:#FFF5FA;}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'Bricolage Grotesque','Noto Sans KR',-apple-system,BlinkMacSystemFont,sans-serif;font-size:17px;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--pink);color:var(--bg)}
a{color:inherit;text-decoration:none}
em{font-style:italic}
nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:1.2rem 2.5rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}
.logo img{height:50px;display:block}
.nav-links{display:flex;gap:2rem;list-style:none;flex-wrap:wrap;align-items:center}
.nav-links a{font-size:.95rem;font-weight:500;letter-spacing:-.005em;padding-bottom:3px;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease}
.nav-links a:hover{color:var(--pink)}
.nav-links a.active{color:var(--pink);border-bottom-color:var(--pink)}
.nav-links a.nav-cta{background:var(--pink);color:#fff;border:none;padding:.5rem 1.1rem;border-radius:999px;font-weight:600}
.nav-links a.nav-cta:hover{background:var(--ink);color:#fff}
.announce{display:block;background:var(--navy);padding:.55rem 1.3rem;text-align:center;transition:background .2s ease}
.announce:hover{background:#122751}
.announce img{width:100%;max-width:1240px;height:auto;display:block;margin:0 auto}
.announce-text{display:none;color:#fff;line-height:1.45}
.announce-text .an-title{font-size:1.5rem;font-weight:700;letter-spacing:.06em;color:var(--gold);display:block}
.announce-text .an-sub{font-size:.93rem;display:block;margin-top:.2rem}
.announce-text .an-cta{display:inline-block;margin-top:.7rem;border:1px solid var(--gold);color:var(--gold);font-size:.82rem;font-weight:600;letter-spacing:.04em;padding:.35rem 1rem;border-radius:999px}
@media(max-width:700px){.announce img{display:none}.announce-text{display:block}}
section{padding:6rem 2.5rem;max-width:1500px;margin:0 auto}
.page-head{padding:5rem 2.5rem 3rem;max-width:1500px;margin:0 auto}
.section-label{font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pink);margin-bottom:2.2rem;display:block}
.section-label::before{content:"";display:inline-block;width:6px;height:6px;background:var(--pink);border-radius:50%;margin-right:.7rem;vertical-align:middle;margin-bottom:2px}
h1.page-title{font-size:clamp(2.6rem,7vw,5.5rem);line-height:.98;letter-spacing:-.04em;font-weight:600;margin-bottom:1.5rem}
h1.page-title .pink{color:var(--pink);font-style:italic;font-weight:500}
.page-lede{font-size:clamp(1.1rem,1.8vw,1.45rem);line-height:1.45;color:var(--muted);max-width:760px}
h2{font-size:clamp(1.9rem,4.5vw,3.4rem);line-height:1.05;letter-spacing:-.03em;font-weight:500;margin-bottom:2.2rem;max-width:1100px}
.hero{padding:7rem 2.5rem 8rem;max-width:1500px;margin:0 auto}
.hero h1{font-size:clamp(3.4rem,13vw,11.5rem);line-height:.92;letter-spacing:-.045em;font-weight:600;margin-bottom:2.6rem}
.hero h1 .pink{color:var(--pink);font-style:italic;font-weight:500}
.hero-tagline{font-size:clamp(1.2rem,2vw,1.6rem);max-width:680px;line-height:1.4;color:var(--muted)}
.cred{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:3.5rem 2.5rem;background:var(--wash)}
.cred-inner{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:300px 1fr;gap:4rem;align-items:start}
.cred-label{font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cred-outlets{display:flex;flex-direction:column;gap:.5rem;margin-top:1.1rem}
.cred-outlets a{font-size:1.05rem;font-weight:600;letter-spacing:-.015em;transition:color .15s ease}
.cred-outlets a:hover{color:var(--pink)}
.cred-quote{font-size:clamp(1.25rem,2.1vw,1.75rem);line-height:1.35;letter-spacing:-.02em;max-width:900px}
.cred-quote .qmark{color:var(--pink)}
.cred-cite{display:block;font-size:.88rem;font-style:normal;color:var(--muted);margin-top:1.2rem;line-height:1.5}
@media(max-width:900px){.cred-inner{grid-template-columns:1fr;gap:2rem}}
.copresent{border:1.5px solid var(--heart);border-left-width:5px;border-radius:6px;background:#FDF7F8;padding:2.4rem;display:grid;grid-template-columns:260px 1fr;gap:3rem;align-items:center}
.copresent .cp-logo{display:block;transition:opacity .2s ease}
.copresent .cp-logo:hover{opacity:.72}
.copresent img{width:100%;max-width:250px;height:auto;display:block}
.copresent .cp-kicker{font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--heart);margin-bottom:.7rem}
.copresent p{font-size:clamp(1rem,1.35vw,1.12rem);line-height:1.6}
.copresent p strong{color:var(--heart);font-weight:700}
.cp-link{display:inline-block;margin-top:1.1rem;font-size:.9rem;font-weight:600;color:var(--heart);border:1.5px solid var(--heart);border-radius:999px;padding:.4rem 1.1rem;transition:all .2s ease}
.cp-link:hover{background:var(--heart);color:#fff}
@media(max-width:800px){.copresent{grid-template-columns:1fr;gap:1.6rem;padding:1.8rem 1.5rem}.copresent img{max-width:220px}}
.cp-inline{display:flex;align-items:center;gap:1.1rem;margin-bottom:2.4rem;flex-wrap:wrap}
.cp-inline img{height:42px;width:auto;display:block;transition:opacity .2s ease}
.cp-inline a:hover img{opacity:.72}
.cp-inline span{font-size:.95rem;color:var(--muted)}
.cp-inline span b{color:var(--heart);font-weight:700}
.cp-inline a.cp-name:hover b{border-bottom:1px solid var(--heart)}
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;border-top:1px solid var(--line);padding-top:3.5rem}
.mv-block{display:flex;flex-direction:column;gap:1.3rem}
.mv-label{font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pink)}
.mv-text{font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.4;letter-spacing:-.015em}
@media(max-width:900px){.mv-grid{grid-template-columns:1fr;gap:3rem}}
.prose{display:grid;gap:2.6rem;max-width:880px}
.prose p{font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.6}
.prose p .accent{color:var(--pink);font-weight:600}
.prose a{border-bottom:1px solid var(--pink)}
.name-etymology{border-left:3px solid var(--pink);padding-left:1.8rem;font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.5;letter-spacing:-.01em}
.name-etymology .ko{font-weight:600;color:var(--pink)}
.team-group{margin-bottom:3.2rem;border-top:1px solid var(--line);padding-top:1.8rem}
.team-group:last-child{margin-bottom:0}
.team-group-label{font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pink);margin-bottom:1.3rem}
.team-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:1rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.team-row:last-child{border-bottom:none}
.team-role{font-size:clamp(.95rem,1.1vw,1.05rem);color:var(--muted)}
.team-name{font-size:clamp(1.15rem,1.5vw,1.35rem);font-weight:600;letter-spacing:-.015em}
@media(max-width:900px){.team-row{grid-template-columns:1fr;gap:.3rem;padding:1.1rem 0}}
.feature{background:var(--navy);color:#fff;border-radius:6px;padding:2.2rem;margin-bottom:3rem}
.feature-poster{width:100%;height:auto;display:block;border-radius:4px;margin-bottom:2.6rem}
.feature-body{display:grid;grid-template-columns:230px 1fr;gap:3.5rem;padding:0 1rem 1.2rem}
.feature-meta{font-size:.92rem;line-height:1.6;color:rgba(255,255,255,.72)}
.feature-title{font-size:clamp(2.2rem,5.5vw,3.8rem);line-height:.95;font-weight:700;letter-spacing:.02em;color:var(--gold);margin-bottom:.4rem}
.feature-sub{font-size:clamp(1.05rem,1.6vw,1.3rem);font-style:italic;color:#fff;opacity:.9;margin-bottom:1.6rem}
.feature p{font-size:clamp(1rem,1.35vw,1.14rem);line-height:1.6;max-width:700px;color:rgba(255,255,255,.9)}
.feature .feature-credits{font-size:.93rem;color:rgba(255,255,255,.7);margin-top:1.3rem;line-height:1.7}
.feature .feature-credits a{color:var(--gold);border-bottom:1px solid var(--gold)}
.btn-gold{display:inline-block;margin-top:2rem;padding:.95rem 2.2rem;background:var(--gold);color:var(--navy);font-size:.98rem;font-weight:700;letter-spacing:.02em;border-radius:999px;transition:all .2s ease}
.btn-gold:hover{background:#fff;color:var(--navy)}
@media(max-width:900px){.feature{padding:1.2rem}.feature-body{grid-template-columns:1fr;gap:1.6rem;padding:0 .6rem 1rem}.feature-poster{margin-bottom:1.8rem}}
.program{display:grid;grid-template-columns:210px 1fr;gap:3.5rem;padding:3.2rem 0;border-top:1px solid var(--line)}
.program:last-child{border-bottom:1px solid var(--line)}
.poster-link{display:block;position:relative;max-width:210px;margin-bottom:1.3rem;transition:transform .2s ease}
.poster-link:hover{transform:translateY(-3px)}
.program-poster{width:100%;height:auto;display:block;border-radius:4px}
.poster-caption{display:block;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pink);margin-top:.6rem}
.poster-link:hover .poster-caption{border-bottom:1px solid var(--pink);display:inline-block}
.program-meta{font-size:.9rem;color:var(--muted);line-height:1.6}
.badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:.25rem .75rem;border-radius:999px;margin-bottom:.8rem}
.badge-up{background:var(--pink);color:#fff}
.badge-past{background:#F0F0F0;color:var(--muted)}
.program-title{font-size:clamp(1.8rem,4vw,2.9rem);line-height:1.02;font-weight:600;letter-spacing:-.03em;margin-bottom:1.2rem}
.program-description{font-size:clamp(1.02rem,1.4vw,1.16rem);line-height:1.6;margin-bottom:1.2rem;max-width:720px}
.program-credits{font-size:.92rem;color:var(--muted);line-height:1.7}
.program-credits strong{color:var(--ink);font-weight:600}
.program-credits a{border-bottom:1px solid var(--pink)}
.tbc{display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--pink);border:1.5px solid var(--pink);padding:.28rem .8rem;border-radius:999px;margin-top:.9rem}
@media(max-width:900px){.program{grid-template-columns:1fr;gap:1.1rem;padding:2.6rem 0}}
.press-list{border-top:1px solid var(--line)}
.press-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem;padding:1.9rem 0;border-bottom:1px solid var(--line);transition:padding-left .2s ease,background .2s ease}
.press-item:hover{padding-left:1rem;background:var(--wash)}
.press-item:hover .press-publication{color:var(--pink)}
.press-content{display:flex;flex-direction:column;gap:.35rem}
.press-publication{font-size:clamp(1.25rem,2.2vw,1.6rem);font-weight:600;letter-spacing:-.02em;transition:color .15s ease}
.press-headline{font-size:1rem;color:var(--muted);line-height:1.4}
.press-date{font-size:.85rem;color:var(--muted);white-space:nowrap}
@media(max-width:600px){.press-item{grid-template-columns:1fr;gap:.5rem;padding:1.6rem 0}}
.link-cards{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.link-card{display:flex;flex-direction:column;justify-content:space-between;gap:2rem;border:1.5px solid var(--ink);border-radius:6px;padding:2.4rem 2.2rem;transition:all .2s ease;min-height:260px}
.link-card:hover{background:var(--ink);color:#fff;transform:translateY(-3px)}
.link-card:hover .lc-kicker{color:var(--gold)}
.link-card:hover .lc-desc{color:rgba(255,255,255,.8)}
.link-card:hover .lc-arrow{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.lc-kicker{font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--pink);margin-bottom:.9rem}
.lc-title{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:600;letter-spacing:-.025em;line-height:1.1;margin-bottom:.9rem}
.lc-desc{font-size:1rem;line-height:1.55;color:var(--muted)}
.lc-arrow{align-self:flex-start;font-size:.9rem;font-weight:600;border:1.5px solid currentColor;border-radius:999px;padding:.5rem 1.3rem}
.link-card.filled{background:var(--pink);border-color:var(--pink);color:#fff}
.link-card.filled .lc-kicker{color:#fff;opacity:.85}
.link-card.filled .lc-desc{color:rgba(255,255,255,.9)}
.link-card.filled:hover{background:var(--ink);border-color:var(--ink)}
@media(max-width:800px){.link-cards{grid-template-columns:1fr}}
.support-content{max-width:780px;margin-bottom:3.5rem}
.support-content p{font-size:clamp(1.12rem,1.7vw,1.38rem);line-height:1.5}
.legal-note{font-size:.93rem;color:var(--muted);margin-top:1.4rem;line-height:1.7}
.give-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;border-top:1px solid var(--line);padding-top:3rem}
.give-option{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.1rem}
.give-label{font-size:1.1rem;font-weight:600;letter-spacing:-.01em}
.qr-image{width:100%;max-width:280px;height:auto;display:block;border-radius:4px}
.give-handle{font-size:.95rem;color:var(--muted)}
.venmo-card{background:var(--ink);color:var(--bg);padding:2rem 1.5rem;border-radius:4px;width:100%;max-width:280px;aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;transition:background .2s ease}
.venmo-card:hover{background:var(--pink)}
.venmo-handle{font-size:clamp(1.25rem,2vw,1.55rem);font-weight:600;letter-spacing:-.02em}
@media(max-width:900px){.give-grid{grid-template-columns:1fr;gap:3rem}}
.btn{display:inline-block;padding:.95rem 2.2rem;background:var(--ink);color:var(--bg);font-size:.95rem;font-weight:600;border:1.5px solid var(--ink);border-radius:999px;transition:all .2s ease}
.btn:hover{background:var(--pink);border-color:var(--pink)}
.cta-band{background:var(--ink);color:#fff;padding:4.5rem 2.5rem}
.cta-inner{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center}
.cta-inner h3{font-size:clamp(1.6rem,3.2vw,2.6rem);line-height:1.1;letter-spacing:-.03em;font-weight:500;max-width:800px}
.cta-inner h3 .gold{color:var(--gold)}
@media(max-width:900px){.cta-inner{grid-template-columns:1fr;gap:1.8rem}}
footer{padding:4.5rem 2.5rem 2.5rem;max-width:1500px;margin:3rem auto 0;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3.5rem}
.footer-brand{font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.15;letter-spacing:-.02em;font-weight:500;max-width:380px}
footer h3{font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:1.1rem}
footer p,footer a{font-size:1rem;line-height:1.75}
footer a{transition:color .15s ease}
footer a:hover{color:var(--pink)}
.footer-bottom{border-top:1px solid var(--line);padding-top:1.8rem;font-size:.85rem;color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1;margin-bottom:1rem}}
@media(max-width:600px){
nav{padding:1rem 1.3rem;flex-wrap:wrap;gap:.8rem}
.nav-links{gap:1rem;width:100%}
.nav-links a{font-size:.84rem}
.logo img{height:40px}
.hero{padding:3.5rem 1.3rem 4.5rem}
section{padding:4rem 1.3rem}
.page-head{padding:3rem 1.3rem 2rem}
.cred,.cta-band{padding:2.8rem 1.3rem}
footer{padding:3.5rem 1.3rem 2rem}
.footer-grid{grid-template-columns:1fr;gap:2.2rem}
}
