@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@700&display=swap');

:root{
  --paper:#f3eee5;
  --ink:#171717;
  --muted:#6b655b;
  --gold:#9b783f;
  --line:#d5cbbc;
  --champagne:#d4b77c;
  --night:#0a0b0c;
  --night-soft:#141619;
  --ivory:#f6f2ec;
}

/* Midnight, ivory and champagne. The event's existing information stays intact. */
body.premium-theme{background:var(--night);color:var(--ink)}
.preview{background:#171613;color:#d6c49c;font-size:9px;letter-spacing:.18em;padding:7px 15px}
.header{background:rgba(10,11,12,.94);color:var(--ivory);border-bottom:1px solid rgba(212,183,124,.22);backdrop-filter:blur(16px);padding-top:18px;padding-bottom:18px}
.brand-wordmark{color:var(--ivory);font-size:15px;letter-spacing:.1em}
.brand-wordmark small{color:#b9aa8d;font-size:8px;letter-spacing:.08em}
.brand-icons>span{color:var(--champagne)}
.header nav{font-size:11px;letter-spacing:.04em}
.header nav>a:not(.nav-cta):hover{color:var(--champagne)}
.language{padding:7px 12px;border:1px solid #ffffff32;border-radius:30px;gap:9px;color:#d0c6b8}
.language button{color:var(--ivory);opacity:.55;font-size:11px}
.language button[aria-pressed=true]{opacity:1;border-color:var(--champagne)}
.nav-cta{border:1px solid #d6bd85;color:var(--ivory);border-radius:30px;padding:12px 22px;font-size:11px}
.nav-cta:hover{color:#101113;background:#d6bd85}
.button{border-radius:32px;font-weight:500;letter-spacing:.07em;border-color:#b5975f}
.primary{background:#d2b57a;color:#141414;border-color:#d2b57a}
.primary:hover{background:#e0c78f;color:#0a0b0c;border-color:#e0c78f;box-shadow:0 8px 30px #0002}

/* A real photograph from the previous gathering, treated as a cinematic backdrop. */
.hero{position:relative;isolation:isolate;max-width:none;min-height:calc(100svh - 105px);background:#08090a;color:var(--ivory);padding:24px 7vw 0}
.hero-grid{display:block;position:static;max-width:1120px;margin:27px auto 0}
.hero-copy{position:relative;z-index:1;max-width:1120px;width:100%;text-align:center;padding:20px 0 0}
.hero-topline{position:relative;z-index:1;color:#d1c6b3;font-size:9px;letter-spacing:.17em}
.hero .eyebrow{font-family:var(--number-font);font-size:10px;letter-spacing:.24em;margin-bottom:28px;color:#dec38b;font-weight:500}
.hero h1{font-size:clamp(68px,8.8vw,124px);line-height:1.24;color:#fffaf0;font-weight:800;letter-spacing:.035em;margin-bottom:16px;text-shadow:0 3px 28px #0007}
.hero h1 .title-line{padding-bottom:13px}
.hero h1 .title-secondary{color:#dcc28d;font-size:.65em;letter-spacing:.04em}
.hero-collaboration{margin-bottom:23px;gap:20px}
.collab-partner img{width:62px;height:62px;border-color:#c7a869;box-shadow:0 0 0 3px #ffffff0b}
.collab-partner>span{font-size:10px;color:#e8dfce;letter-spacing:.03em}
.collab-times{color:var(--champagne);font-size:31px}
.collab-caption{color:#dccaa3;border-color:#c9ad715c;font-size:11px;line-height:1.9;padding-left:20px}
.hero-jp{color:#f6f0e5;font-size:17px;letter-spacing:.1em;margin-bottom:14px;font-weight:400;line-height:1.9}
.hero-description{color:#d5cec1;font-size:14px;font-weight:400;line-height:2.1;margin-bottom:26px}
.hero-actions{gap:37px}
.hero-date{color:var(--ivory)}
.hero-date>div{border-left-color:#c7a869}
.date-number{color:#f8f3e8;font-size:45px;font-weight:500}
.hero-date>div>span{color:#d8c9aa}
.hero-date strong{color:#f6f0e5}
.hero-actions .button{width:278px;min-height:58px;padding:19px 26px}
.hero-art{position:absolute;inset:0;z-index:0;width:100%;height:100%;max-height:none;margin:0;padding:0;pointer-events:none}
.hero-art:before{display:none}
.hero-art .photo-frame{position:absolute;inset:0;width:100%;height:100%;min-height:0;border-radius:0;background:#08090a}
.hero-art .photo-frame img{filter:grayscale(1) brightness(.63) contrast(1.08);object-position:50% 61%;object-fit:cover}
.hero-art .photo-shade{background:linear-gradient(180deg,rgba(3,5,6,.38) 0%,rgba(3,5,6,.40) 45%,rgba(3,5,6,.46) 75%,#08090a 100%)}
.hero-art .photo-caption{color:#d3c9b7;font-size:8px;line-height:1.9;letter-spacing:.1em;left:7vw;bottom:71px;opacity:.75}
.hero-art .seal,.hero-art .art-footnote{display:none}
.hero-bottom{position:relative;z-index:1;margin-top:65px;padding:21px 0;border-color:#d7c18e40;color:#c4b390;font-size:9px}
.hero-bottom i{color:#d7bd82}
.hero-bottom a{font-size:8px;color:#ded3bd}

/* Warm light sections create the same deliberate contrast as the reference. */
.intro{background:#f1ece3;color:#171717;padding-top:100px;padding-bottom:100px}
.intro .section-index{color:#7f6b4d;letter-spacing:.15em}
.eyebrow{color:#987343}
.intro h2{font-size:clamp(27px,2.7vw,40px);font-weight:500;letter-spacing:.05em;color:#191919}
.body-copy{color:#615c53}
.intro-note{border-color:#cfc4b1}
.intro-note>span{color:#9a783f}
.intro-note p{color:#6b6050}
.botanical{color:#9c8354;opacity:.35}
.details{background:#f6f2eb;color:#171717;padding-top:94px;padding-bottom:94px}
.details h2{font-size:34px;font-weight:500;letter-spacing:.05em}
.event-list>div,.invitation-note{border-color:#d2c7b6}
.venue-photo{margin:16px 0 0;max-width:600px}
.venue-photo img{display:block;width:100%;height:auto;border-radius:5px}
.venue-photo figcaption{margin-top:7px;color:#6c6559;font-size:11px;line-height:1.5}
.event-list dt{color:#80745f;font-family:var(--sans);font-size:11px}
.event-list dd,.event-list dd strong,.event-list .capacity-split>span{color:#24211c}
.capacity-split>i{color:#9a783f}
.guest-capacity>small,.muted,.invitation-note p{color:#6c6559}
.invitation-link{color:#5e4827;border-color:#a08450;font-size:13px}
.eligibility-copy small{color:#746c5f}

/* The two communities remain compact, with their original profile photos. */
.hosts{background:#0b0d0f;color:#f6f2ec;border-top:1px solid #c4a66630;padding-top:70px;padding-bottom:74px}
.hosts-heading h2{color:#f6f2ec;font-size:33px;font-weight:500}
.hosts-heading .eyebrow{color:#c5a56c}
.hosts-heading>p:not(.eyebrow){color:#b8afa0}
.host-community{background:#141619;border-color:#b1986a42;padding-top:27px;padding-bottom:29px}
.host-community-heading h3{color:#f3eddf}
.host-community-heading p{color:#bcae94}
.host-person-link{color:#f3ecdf}
.host-avatar{border-color:#151719;box-shadow:0 0 0 1px #b79a61}
.host-community-badge{border-color:#141619;box-shadow:0 0 0 1px #c6ac76}
.host-person h4{color:#f8f0df}
.host-handle{color:#b9b1a4}
.host-instagram-link{color:#dac49a;border-color:#ae8c516e}
.host-instagram-link>span{color:#d7b87c}

.organizers {
  background: #eee6d8;
  color: #171717;
  padding-block: clamp(48px, 7vw, 86px);
}
.organizers-inner { max-width: 1000px; margin-inline: auto; }
.organizers h2 { font: 500 clamp(25px, 4vw, 39px)/1.5 'Noto Serif JP', serif; margin: 0 0 26px; }
.organizers-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.organizer-card { background: #f8f3ea; border: 1px solid #a2875360; padding: clamp(20px, 4vw, 36px); }
.organizer-card img { width: 66px; height: 66px; border-radius: 50%; object-fit: cover; }
.organizer-card h3 { font: 600 21px/1.5 'Noto Serif JP', serif; margin: 14px 0 10px; }
.organizer-card p, .organizers-note { font-size: 14px; line-height: 1.9; margin: 0; }
.organizers-note { margin-top: 22px; }
@media (max-width: 600px) {
  .organizers-grid { grid-template-columns: 1fr; }
}

.program {
  background: #eee6d8;
  color: #171717;
  padding-block: clamp(48px, 7vw, 90px);
}
.program-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 24px 48px;
  max-width: 1080px;
  margin-inline: auto;
  padding: clamp(24px, 5vw, 55px);
  border: 1px solid #a2875370;
}
.program .eyebrow { color: #75592e; margin-bottom: 12px; }
.program h2 { font: 500 clamp(24px, 3.5vw, 38px)/1.5 'Noto Serif JP', serif; margin: 0 0 12px; }
.program-note { margin: 0; color: #50463a; font-size: 14px; line-height: 1.85; }
.program-highlights { margin: 0 0 16px; padding-inline-start: 1.3em; font-size: 14px; line-height: 1.85; }
.application-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}
.application-flow li { padding: 14px; border: 1px solid #a2875360; background: #f8f3ea; }
.flow-icon { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 9px; border-radius: 50%; background: #e9dec5; color: #533e20; font-size: 21px; }
.application-flow strong { font-size: 14px; }
.invitation-note .application-flow p { margin: 5px 0 0; font-size: 12px; line-height: 1.6; }
@media (max-width: 760px) {
  .application-flow { grid-template-columns: 1fr; }
  .application-flow li { display: flex; gap: 12px; align-items: center; }
  .flow-icon { flex: 0 0 38px; margin: 0; }
}
.program-hours {
  display: grid;
  gap: 8px;
  padding-inline-start: 18px;
  border-inline-start: 1px solid #a2875370;
  color: #75592e;
}
.program-hours span { font-size: 11px; letter-spacing: .1em; }
.program-hours strong { font: 500 clamp(18px, 3vw, 30px)/1.2 var(--number-font); }

/* A bright, legible registration panel inside a dark invitation section. */
.registration{background:#101214;color:#f6f2ec;padding-top:100px;padding-bottom:100px}
.registration-intro>.eyebrow{color:#c6a66c}
.registration h2{color:#f4edde;font-weight:500}
.registration-intro h2{text-wrap:balance;line-break:strict}
.registration h2 em{color:#d1b277}
.registration-intro>p:not(.eyebrow){color:#c0b7a8}
.registration .form-preview-note{color:#aea598;border-color:#b99a61}
.registration-flower{color:#9b7a43;opacity:.65}
.form-panel{--paper:#f7f3ec;--ink:#1c1a16;--muted:#6b6356;--line:#d4c7b3;--gold:#95713b;color:#1c1a16;background:#f6f1e7;border:1px solid #c1a578;padding:36px 38px;box-shadow:0 20px 70px #0002}
.form-panel h3,.application-summary strong{color:#27221a}
.steps{border-color:#d1c3ae}
.steps li{color:#9a8a72}
.steps li.active{color:#2b251b}
.steps li.active>span:first-child{color:#92703b}
.selected-fee{background:#e9dfca;border:1px solid #d8c6a5;color:#241d13}
.selected-fee strong{color:#211b13}
.form-panel input:not([type=checkbox]),.form-panel select,.form-panel textarea{background:#fffdf8;border-color:#cfc2af;color:#211e18}
.form-panel input:focus,.form-panel select:focus,.form-panel textarea:focus{border-color:#9b7a41;box-shadow:0 0 0 2px #a7874b20}
.choice-button{background:#fffaf1;border-color:#cfbea2;color:#231f18;border-radius:8px}
.choice-button:hover,.choice-button[aria-pressed=true]{background:#eee3cf;border-color:#a8874d}
.choice-emblem{border-color:#cbb48c;color:#8b6c39}
.choice-screen h3,.choice-text strong{color:#272118}
.source-options label{border-color:#d3c5af;background:#fffaf2}
.source-options label:has(input:checked){background:#ede1c9;border-color:#a8874d}
.eligibility-note{background:#eee5d6;border-color:#ad8b4e}
.eligibility-note small,.field small,.payment-caption,.review-notice{color:#766950}
.policy-agreement input,.source-options input{accent-color:#80602f}
.bank-details{background:#eee6d8}
.text-button{color:#715631;border-color:#d1bf9f}
.form-panel .button{font-weight:500}

.faq{background:#0b0d0f;color:#f5efe3;border-top-color:#b69b6533;padding-top:80px;padding-bottom:90px}
.faq h2{color:#f5efe3;font-size:33px;font-weight:500}
.faq .eyebrow{color:#c1a26b}
.faq-list details{border-color:#ccb88c33}
.faq-list summary{color:#efe8da}
.faq-list summary:after{color:#d1b57e}
.faq-list p{color:#bdb3a1}
footer{background:#07090a;color:#eee6d6;border-top:1px solid #c5aa7030}
.footer-event-title{color:#f4edde}
.footer-event-title>span{color:#d2b277}
.footer-event-title>small,footer>p{color:#b8ab91}
footer>div{border-color:#b79b6333;color:#aa9b80}
.footer-collaboration>span{color:#c6a76b}
.mobile-cta{background:#d3b77e;border-color:#dac18d;color:#19160f;border-radius:30px;box-shadow:0 6px 30px #0005;font-weight:500}

@media(max-width:1050px){
 .header nav{gap:18px}.hero h1{font-size:8.8vw}.hero-copy{padding-top:22px}.hero .eyebrow{font-size:9px}.hero-korean{font-size:22px}.form-panel{padding:30px 25px}.hosts-heading h2{font-size:30px}
}
@media(max-width:760px){
 .preview{font-size:8px;letter-spacing:.06em;padding:7px 10px}.header{padding:14px 6vw}.brand-wordmark{font-size:12px;letter-spacing:.035em}.brand-wordmark small{font-size:6px;letter-spacing:.02em}.language{padding:6px 10px;gap:7px}.language button{font-size:10px}
 .hero{min-height:0;padding:20px 6vw 0}.hero-topline{font-size:7px;letter-spacing:.1em}.hero-grid{margin:26px auto 0}.hero-copy{padding:16px 0 0}.hero .eyebrow{font-size:7px;letter-spacing:.17em;margin-bottom:24px}.hero h1{font-size:clamp(39px,11.8vw,74px);font-weight:800;letter-spacing:.015em;line-height:1.35;margin-bottom:15px}.hero h1 .title-line{padding-bottom:12px}.hero h1 .title-secondary{font-size:.66em;letter-spacing:.015em}.hero-korean{font-size:17px;letter-spacing:.1em;margin-bottom:26px}.hero-collaboration{gap:15px;margin-bottom:24px}.collab-partner img{width:56px;height:56px}.collab-partner>span{font-size:8px}.collab-times{font-size:28px}.collab-caption{font-size:10px;padding-left:13px;letter-spacing:0}.hero-jp{font-size:14px;line-height:2;letter-spacing:.05em;margin-bottom:15px}.hero-description{font-size:12px;line-height:2.2;margin-bottom:25px}.hero-actions{flex-direction:column;gap:24px}.date-number{font-size:40px}.hero-actions .button{width:100%;max-width:340px;padding:18px 25px;min-height:56px}.hero-bottom{margin-top:66px;font-size:7px;padding:18px 0}.hero-bottom a{font-size:6px}.hero-art{height:100%;width:100%;margin:0;padding:0;inset:0}.hero-art .photo-frame{border-radius:0;height:100%;width:100%}.hero-art .photo-frame img{object-position:53% 63%;filter:grayscale(1) brightness(.65) contrast(1.05)}.hero-art .photo-shade{background:linear-gradient(180deg,#03050660 0%,#03050666 49%,#03050675 80%,#08090a 100%)}.hero-art .photo-caption{left:6vw;bottom:65px;font-size:7px;letter-spacing:.04em}
 .intro{padding-top:68px;padding-bottom:70px}.intro h2{font-size:clamp(23px,5.8vw,29px)}.intro .body-copy{font-size:12px}.hosts{padding-top:55px;padding-bottom:60px}.hosts-heading h2{font-size:25px}.host-community{padding:22px 20px 24px}.details{padding-top:70px;padding-bottom:70px}.details h2{font-size:28px}.registration{padding-top:68px;padding-bottom:70px}.form-panel{padding:26px 20px}.faq{padding-top:60px;padding-bottom:70px}.faq h2{font-size:28px}.mobile-cta{padding:18px 22px}.button{font-size:13px}
}
@media(max-width:380px){
 .header .brand{gap:7px}.brand-wordmark{font-size:11px}.language{padding:5px 8px;gap:6px}.hero h1{font-size:39px}.hero-description{font-size:11px}.collab-caption{font-size:9px}.hero-collaboration{gap:13px}.host-community{padding-left:16px;padding-right:16px}.intro.section h2{font-size:22px;letter-spacing:0}
}
@media(max-width:760px){.hero-art .photo-frame img{scale:1.28;transform-origin:50% 100%}}

/* The year and the main title share a single diagonal; the subtitle stays level. */
.hero .hero-copy>.eyebrow{margin-bottom:14px}
.hero .hero-title-lockup{display:inline-grid;justify-items:center;max-width:100%;font-size:clamp(42px,11.4vw,146px);line-height:1.12;letter-spacing:.025em;padding:clamp(10px,2vw,26px) 0 6px;margin:0 auto clamp(23px,3vw,43px);transform:rotate(-5deg);transform-origin:center;text-shadow:0 4px 36px #0009}
.hero-title-lockup:focus{outline:none}
.hero .hero-title-lockup .title-line{margin:0;padding-bottom:.065em}
.hero-title-lockup .headline-year{font:600 .64em/1.1 var(--number-font);letter-spacing:.13em;color:#e4ca93}
.hero-title-lockup .headline-year>span{padding-left:.13em;text-shadow:0 0 30px #c7a86b38}
.hero-title-lockup .headline-event>span{animation-delay:.12s}
.hero-subtitle{display:flex;justify-content:center;align-items:center;gap:clamp(13px,2vw,30px);margin:0 auto 11px;color:#e0c58f;font:500 clamp(22px,3vw,42px)/1.55 'Noto Serif JP',serif;letter-spacing:.13em}
.hero-subtitle:before,.hero-subtitle:after{content:'';width:clamp(23px,5vw,70px);height:1px;background:linear-gradient(90deg,transparent,#cfb77a99)}
.hero-subtitle:after{transform:scaleX(-1)}
.hero-subtitle-ko{
  font-family:'Nanum Myeongjo','Batang',serif;
  font-size:clamp(21px,2.7vw,36px);
  font-weight:700;
  margin-bottom:0;
  text-shadow:0 0 24px #e0c58f55;
}
.hero-subtitle-ko:before,.hero-subtitle-ko:after{width:clamp(12px,3vw,46px)}
.hero-facts{
  display:flex;
  justify-content:center;
  align-items:center;
  width:fit-content;
  max-width:100%;
  gap:clamp(12px,3vw,36px);
  margin:clamp(22px,3vw,38px) auto clamp(26px,3vw,40px);
  padding:0 0 14px;
  border-bottom:1px solid #d7bd8255;
  animation-delay:.5s;
}
.hero-facts .hero-date{gap:clamp(8px,1.4vw,20px)}
.hero-capacity{
  display:grid;
  justify-items:center;
  gap:3px;
  margin:0;
  padding-left:clamp(12px,3vw,36px);
  border-left:1px solid #d7bd8266;
  color:#f3d59b;
  white-space:nowrap;
}
.hero-capacity-label{font-size:clamp(9px,1vw,13px);letter-spacing:.12em}
.hero-capacity strong{font:700 clamp(49px,8vw,94px)/.95 var(--number-font);letter-spacing:-.065em;text-shadow:0 0 26px #e1b66744}
.hero-capacity strong span{margin-left:.28em;font-size:.29em;letter-spacing:0}
@media(max-width:760px){
 .hero .hero-copy>.eyebrow{margin-bottom:11px}
 .hero .hero-title-lockup{font-size:clamp(42px,12.8vw,85px);line-height:1.18;letter-spacing:.01em;padding:13px 0 5px;margin-bottom:22px;transform:rotate(-5.5deg)}
 .hero-subtitle{font-size:clamp(20px,5.4vw,31px);letter-spacing:.095em;margin-bottom:9px}
 .hero-subtitle-ko{font-size:clamp(18px,4.8vw,28px);margin-bottom:0}
 .hero-facts .date-number{font-size:clamp(30px,7.8vw,40px)}
 .hero-facts .hero-date>div{padding-left:8px}
}

/* Blend the toast behind the title. */
.hero-art::after {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: clamp(260px, 36vw, 460px);
  background: linear-gradient(180deg, #08090a30, #08090a44), url('assets/hero-toast.jpg') right 67% / cover no-repeat;
  opacity: .57;
  mask-image: linear-gradient(#000 0 48%, transparent 100%);
}
.hero-art .photo-caption { z-index: 1; }
@media (max-width: 760px) {
  .hero-art::after { background-position: center, 78% 68%; }
}

/* Fade the gathering photo into the bottom of the hero. */
.hero-art .photo-frame img.hero-gathering {
  opacity: .83;
  filter: grayscale(1) brightness(.82);
  mask-image: linear-gradient(#000 0 60%, #000c 78%, transparent 96%);
}

.venue-gallery { max-width: 600px; }
.venue-gallery .venue-photo img { aspect-ratio: 3 / 2; object-fit: cover; }
.venue-gallery-controls:not([hidden]) { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; }
.venue-gallery-controls button { display: inline-flex; align-items: center; gap: 6px; padding: 8px; min-height: 44px; border: 1px solid #a2875380; border-radius: 4px; color: #533e20; background: #f8f3ea; font: inherit; cursor: pointer; }

.venue-gallery .venue-photo { touch-action: pan-y pinch-zoom; }
.venue-gallery-controls { flex-wrap: wrap; }
