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

.brand-icons{display:flex;align-items:center;gap:7px}
.brand-icons img{width:35px;height:35px;border-radius:50%;background:white;object-fit:contain}
.brand-icons>span{font:17px var(--serif);color:var(--gold)}
.brand-wordmark{font:500 15px 'Noto Serif JP',serif;letter-spacing:.1em}
.brand-wordmark small{font-size:7px;letter-spacing:.1em}
.hero .eyebrow{font-size:9px;letter-spacing:.18em;margin-bottom:29px}
.hero h1{font-family:'Noto Serif JP',serif;font-size:clamp(48px,5.55vw,82px);font-weight:500;line-height:1.3;letter-spacing:.025em;margin-bottom:10px;white-space:nowrap}
.hero h1 .title-line{padding-bottom:13px}
.hero h1 .title-secondary{font-size:.69em;letter-spacing:.02em;color:#8c784e}
.hero-korean{font-size:20px;font-weight:400;letter-spacing:.19em;line-height:1.6;margin-bottom:27px;color:var(--muted);animation-delay:.3s}
.hero-collaboration{display:flex;align-items:center;gap:17px;margin:0 0 28px;animation-delay:.4s}
.collab-partner{display:flex;flex-direction:column;align-items:center;gap:7px}
.collab-partner img{width:66px;height:66px;object-fit:contain;border-radius:50%;border:1px solid #e4e0d4;background:#fff;box-shadow:0 3px 14px #173b3409}
.collab-partner>span{font-size:8px;letter-spacing:.02em;white-space:nowrap}
.collab-times{font:34px var(--serif);color:var(--gold);padding-bottom:17px}
.collab-caption{font-size:8px;line-height:1.8;letter-spacing:.14em;border-left:1px solid #cfc9b8;padding:3px 0 3px 18px;margin-left:3px;margin-bottom:17px;color:var(--gold)}
.hero-jp{font-size:21px;line-height:1.8;letter-spacing:.13em;margin-bottom:12px}
.hero-description{font-size:11px;margin-bottom:23px}
.hero-art{align-self:center;height:680px;max-height:none;width:100%}
.photo-frame{min-height:0}
.intro-note{max-width:490px}
.intro-note>span{flex-shrink:0}
.invitation-note{margin-top:30px;border-top:1px solid #cfd4c8;padding-top:25px}
.invitation-note .eyebrow{font-size:9px;margin-bottom:10px;display:block}
.invitation-note p{font-size:11px;color:var(--muted);line-height:2;margin-bottom:15px}
.invitation-link{font-size:12px;display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:6px}
.form-panel{scroll-margin-top:115px;min-height:425px}
.application-screen{animation:screenIn .5s cubic-bezier(.2,.7,.2,1) both}
.application-screen:focus{outline:none}
.steps{gap:8px}
.steps li{gap:6px;font-size:9px}
.steps li>span:first-child{font-size:18px}
#registration-welcome{text-align:center;padding:30px 8px 16px}
#registration-welcome .eyebrow{font-size:9px;margin-bottom:15px}
.welcome-mark{font:70px var(--serif);line-height:1;color:var(--gold);margin-bottom:24px}
#registration-welcome h3{font:500 24px 'Noto Serif JP',serif;letter-spacing:.06em;margin-bottom:20px;line-height:1.8}
#registration-welcome>p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:2.3;margin-bottom:28px}
#registration-welcome .button{text-align:left}
.choice-counter{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.13em;color:var(--gold);margin:0 0 27px;line-height:1.8}
.choice-counter>span{letter-spacing:.1em}
.choice-screen h3{font:500 23px/1.8 'Noto Serif JP',serif;letter-spacing:.03em;margin-bottom:12px}
:lang(ko) .choice-screen h3,:lang(ko) #registration-welcome h3{font-family:'Noto Sans KR',sans-serif;font-size:22px}
.choice-description{font-size:11px;color:var(--muted);margin-bottom:30px;line-height:2}
.choice-buttons{display:grid;gap:16px}
.choice-button{display:flex;align-items:center;gap:18px;width:100%;min-height:100px;padding:22px 24px;text-align:left;border:1px solid #ccd1c6;background:#fffefa;color:var(--ink)}
.choice-button:hover{background:#f2f1e8;border-color:var(--gold);transform:translateY(-2px)}
.choice-button[aria-pressed=true]{border-color:var(--gold);background:#f6f3e9}
.choice-text{display:block}
.choice-text strong{font-weight:500;font-size:14px;line-height:1.8;display:block}
.choice-text small{font-size:9px;letter-spacing:.15em;color:var(--muted);display:block;line-height:1.8;margin-top:3px}
.choice-arrow{color:var(--gold);margin-left:auto;display:block;font-size:17px}
.choice-emblem{width:42px;height:42px;border:1px solid #d8d7cc;display:grid;place-items:center;border-radius:50%;font:19px var(--serif);flex-shrink:0;color:#7a6c51}
.selection-breadcrumb{font-size:10px;letter-spacing:.05em;border-left:2px solid var(--gold);padding-left:10px;color:var(--muted);margin-bottom:18px}
.gender-choices{grid-template-columns:1fr 1fr;gap:15px}
.gender-choices .choice-button{padding:26px 22px;min-height:125px}
.gender-choices .choice-text strong{font-family:'Noto Serif JP',serif;font-size:23px}
.choice-screen .text-button{display:table;margin-top:28px}
.application-summary{display:flex;justify-content:space-between;align-items:center;gap:15px}
.application-summary .eyebrow{font-size:8px;margin-bottom:8px;letter-spacing:.12em;color:var(--muted)}
.application-summary strong{font:500 19px/1.7 'Noto Serif JP',serif;letter-spacing:.05em}
.application-summary>a{font-size:10px;border-bottom:1px solid var(--gold);padding-bottom:3px;white-space:nowrap}
.selected-fee{margin-top:22px;padding:18px}
.selected-fee strong{font-size:30px}
.payment-caption{font-size:9px;line-height:1.9;color:var(--muted);margin:10px 0 0}
.footer-event-title{font:500 27px/1.8 'Noto Serif JP',serif;letter-spacing:.05em}
.footer-event-title>span{font-size:20px}
.footer-event-title>small{display:block;font:12px/1.8 'Noto Sans KR',sans-serif;letter-spacing:.16em;color:#c3c8b8;margin-top:10px}
footer>.footer-collaboration{display:flex;justify-content:center;align-items:center;gap:18px;margin:28px 0 0;padding:0;border:0}
.footer-collaboration img{width:47px;height:47px;object-fit:contain;background:#fff;border-radius:50%}
.footer-collaboration>span{font:25px var(--serif);color:#c0a875}
@keyframes screenIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:1050px){
 .hero h1{font-size:5.5vw}.hero-collaboration{gap:12px}.collab-caption{font-size:7px;padding-left:12px}.hero-art{height:630px}.form-panel{padding:30px 25px}.choice-button{padding:19px 17px;gap:13px}.choice-text strong{font-size:13px}.choice-emblem{width:36px;height:36px}.steps li{font-size:8px;gap:4px}.steps li>span:first-child{font-size:16px}
}
@media(max-width:760px){
 .brand-icons{gap:4px}.brand-icons img{width:27px;height:27px}.brand-icons>span{font-size:14px}.header .brand{gap:9px}.brand-wordmark{font-size:12px;letter-spacing:.05em}.brand-wordmark small{font-size:6px;letter-spacing:.04em;margin-top:4px}
 .hero .eyebrow{font-size:7px;letter-spacing:.15em;margin-bottom:25px}.hero h1{font-size:clamp(36px,10.7vw,64px);line-height:1.4;letter-spacing:.015em;margin-bottom:7px}.hero h1 .title-line{padding-bottom:9px}.hero h1 .title-secondary{font-size:.72em;letter-spacing:.025em}.hero-korean{font-size:16px;letter-spacing:.17em;margin-bottom:24px}.hero-collaboration{gap:15px;margin-bottom:25px}.collab-partner img{width:57px;height:57px}.collab-partner>span{font-size:7px}.collab-times{font-size:27px}.collab-caption{font-size:7px;padding-left:13px;margin-left:0;letter-spacing:.07em}.hero-jp{font-size:20px;line-height:1.85;margin-bottom:13px}.hero-description{font-size:11px}.hero-art{width:83%;height:450px;align-self:flex-end}.intro-note{width:100%;gap:22px}.intro-note p{font-size:10px}
 .form-panel{padding:25px 20px;min-height:370px;scroll-margin-top:95px}.steps{gap:5px;padding-bottom:21px;margin-bottom:25px}.steps li{font-size:8px;gap:4px}.steps li>span:first-child{font-size:15px}.choice-counter{font-size:7px;margin-bottom:23px}.choice-screen h3{font-size:21px}.choice-description{font-size:10px;margin-bottom:25px}.choice-buttons{gap:13px}.choice-button{min-height:94px;padding:20px 17px;gap:13px}.choice-text strong{font-size:12px}.choice-text small{font-size:8px}.choice-emblem{width:35px;height:35px;font-size:17px}.gender-choices{gap:12px}.gender-choices .choice-button{padding:23px 18px;min-height:117px}.gender-choices .choice-text strong{font-size:22px}.choice-arrow{font-size:15px}.application-summary strong{font-size:18px}.selected-fee{padding:15px}.selected-fee strong{font-size:27px}#registration-welcome{padding:25px 4px 15px}#registration-welcome h3{font-size:22px}.welcome-mark{font-size:60px}.footer-event-title{font-size:23px}.footer-event-title>span{display:block;font-size:17px}.footer-event-title>small{font-size:11px}.footer-collaboration img{width:42px;height:42px}
}
@media(prefers-reduced-motion:reduce){.application-screen{animation:none}.choice-button{transition:none}}
