@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@800&display=swap');

/* A full-width, centered event title leads the invitation. */
.hero-grid{display:flex;flex-direction:column;gap:42px;max-width:1300px;margin:28px auto 42px}
.hero-copy{width:100%;text-align:center;max-width:1120px;padding:25px 0 0}
.hero .eyebrow{font-size:11px;letter-spacing:.2em;margin-bottom:30px}
.hero h1{font-size:clamp(68px,9.4vw,136px);font-weight:800;line-height:1.25;letter-spacing:.025em;margin:0 auto 16px}
.hero h1 .title-line{padding-bottom:16px}
.hero h1 .title-secondary{font-size:.64em;font-weight:800;letter-spacing:.04em}
.hero-korean{font-size:25px;letter-spacing:.16em;margin:0 auto 29px}
.hero-collaboration{justify-content:center;gap:21px;margin:0 auto 29px}
.collab-partner img{width:72px;height:72px}
.collab-partner>span{font-size:10px}
.collab-caption{font-size:12px;line-height:1.8;letter-spacing:.04em;padding-left:21px;text-align:left}
.hero-jp{font-size:18px;line-height:1.9;margin:0 auto 18px}
.hero-jp br{display:none}
.hero-description{font-size:15px;line-height:2.2;margin:0 auto 28px;font-weight:500;max-width:760px}
.hero-actions{display:flex;justify-content:center;align-items:center;gap:40px}
.hero-actions .button{width:280px;max-width:none}
.hero-date{margin:0;text-align:left}
.hero-art{width:min(1080px,100%);height:360px;max-height:none;margin:0 auto;padding:0 15px 27px 0;align-self:center}
.photo-frame{border-radius:180px 180px 0 0;min-height:0}
.hero-art:before{border-radius:190px 190px 0 0;inset:-10px 5px 37px -10px}
.photo-frame img{object-position:50% 65%}
.seal{width:108px;height:108px;right:-12px;bottom:65px}
.intro{grid-template-columns:.7fr 3fr .7fr}
.intro h2{font-size:clamp(26px,2.7vw,39px);letter-spacing:.07em;line-height:1.9}
.intro-note{max-width:550px}

/* Three real host slots, with photographs and names intentionally blank. */
.hosts{border-top:1px solid var(--line);padding-top:85px;padding-bottom:100px}
.hosts-heading{text-align:center;max-width:760px;margin:0 auto 48px}
.hosts-heading h2{font:500 36px/1.85 'Noto Serif JP',serif;letter-spacing:.08em;margin:0 0 20px}
.hosts-heading>p:not(.eyebrow){font-size:13px;line-height:2.2;color:var(--muted);margin:0}
.host-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;max-width:1050px;margin:0 auto}
.host-card{min-width:0;text-align:center}
.host-photo{height:270px;background:#f1e6e5;border:1px solid #e3d1d0;border-radius:120px 120px 0 0;margin-bottom:22px}
.host-affiliation{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:12px;font-size:12px;font-weight:500;line-height:1.8}
.host-affiliation img{width:32px;height:32px;object-fit:contain;background:white;border-radius:50%}
.host-card h3{font-size:12px;font-weight:400;line-height:1.8;color:var(--muted);margin:0 0 12px}
.host-name-placeholder{height:27px;border-bottom:1px solid #cbb5b4;width:65%;margin:0 auto 14px}
.host-card>p{font-size:11px;line-height:2;color:var(--muted);margin:0}
.eligibility-copy small{display:block;font:400 11px/2 var(--sans);letter-spacing:0;color:var(--muted);margin-top:9px}
.eligibility-note p{margin:0;font-size:12px;line-height:1.9}
.eligibility-note small{display:block;font-size:11px;line-height:1.9;color:var(--muted);margin-top:7px}

@media(max-width:1050px){
 .hero h1{font-size:9vw}.hero-art{height:320px}.hero-korean{font-size:23px}.host-grid{gap:26px}.host-photo{height:235px}.hosts-heading h2{font-size:33px}.hero-description{font-size:14px}
}
@media(max-width:380px){.intro.section h2{font-size:22px;letter-spacing:0}}
@media(max-width:760px){
 .hero-grid{display:flex;gap:35px;margin:26px auto 30px}.hero-copy{padding:14px 0 0;width:100%}.hero .eyebrow{font-size:8px;letter-spacing:.13em;margin-bottom:25px}.hero h1{font-size:clamp(40px,12vw,77px);font-weight:800;line-height:1.35;letter-spacing:.015em;margin-bottom:14px}.hero h1 .title-line{padding-bottom:12px}.hero h1 .title-secondary{font-size:.66em;letter-spacing:.015em}.hero-korean{font-size:18px;letter-spacing:.1em;margin-bottom:26px}.hero-collaboration{gap:15px;margin-bottom:25px}.collab-partner img{width:58px;height:58px}.collab-partner>span{font-size:8px}.collab-times{font-size:28px}.collab-caption{font-size:10px;padding-left:14px;letter-spacing:0;margin-bottom:15px}.hero-jp{font-size:15px;line-height:2;margin-bottom:15px;letter-spacing:.05em}.hero-description{font-size:12px;font-weight:500;line-height:2.2;margin-bottom:24px;letter-spacing:0}.hero-actions{flex-direction:column;gap:23px}.hero-date{margin:0 auto}.hero-actions .button{width:100%;max-width:340px}.hero-art{height:290px;width:94%;margin:0 auto;padding:0 7px 27px 0;align-self:center}.photo-frame{border-radius:100px 100px 0 0}.hero-art:before{border-radius:110px 110px 0 0;inset:-8px 0 35px -8px}.seal{width:82px;height:82px;right:-10px;bottom:58px;font-size:5px;gap:5px}.seal-star{font-size:30px}.art-footnote{font-size:12px}.photo-caption{font-size:7px;left:15px;bottom:15px}
 .intro{grid-template-columns:1fr}.intro h2{font-size:clamp(23px,5.8vw,29px);letter-spacing:.035em}.intro .body-copy{font-size:12px;line-height:2.5}.intro-note{width:100%;gap:19px}.hosts{padding-top:65px;padding-bottom:70px}.hosts-heading{margin-bottom:35px}.hosts-heading .eyebrow{font-size:9px;margin-bottom:18px}.hosts-heading h2{font-size:28px;letter-spacing:.04em;margin-bottom:18px}.hosts-heading>p:not(.eyebrow){font-size:12px;line-height:2.2}.host-grid{grid-template-columns:1fr;gap:43px;max-width:310px}.host-photo{height:290px;margin-bottom:19px;border-radius:140px 140px 0 0}.host-affiliation{font-size:13px;margin-bottom:10px}.host-affiliation img{width:34px;height:34px}.host-card h3{font-size:12px}.host-card>p{font-size:12px}.host-name-placeholder{height:24px;margin-bottom:13px}.eligibility-copy small{font-size:11px}.eligibility-note p{font-size:11px}
}
