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

:root{
  --paper:#fcf9f5;
  --ink:#592438;
  --muted:#765e67;
  --gold:#97713e;
  --line:#e2d3d6;
  --champagne:#d8b67b;
  --number-font:'Inter','Noto Sans JP',sans-serif;
}

/* Typography: preserve the display title and make information easy to read. */
.date-number,.hero-date>div,.event-list dd strong,.selected-fee strong,
#receipt-fee,.intro-note>span,.steps li>span:first-child,.choice-counter>span,
.capacity-total,.capacity-split,.eligibility-copy,.cancellation-policy dt,
#review-list [data-field="fee"] dd,#review-list [data-field="birthYear"] dd{
  font-family:var(--number-font);
  font-variant-numeric:lining-nums tabular-nums;
  font-feature-settings:'lnum' 1,'tnum' 1;
}
.date-number{font-size:45px;font-weight:500;line-height:1.15;letter-spacing:-.045em}
.hero-date>div>span{font-size:10px;font-weight:500}
.hero-date strong{font-size:14px;font-weight:500;letter-spacing:.01em}
.event-list dd strong{font-size:25px;font-weight:500;letter-spacing:-.025em}
.event-list dd{font-size:14px;line-height:1.9}
.event-list dd span{font-size:12px}
.event-list dd:not(.guest-capacity):not(.eligibility-copy){display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}
.event-list dd>strong{white-space:nowrap}
.event-list dd>span{margin-left:0}
.event-list dt{font-size:11px;letter-spacing:.05em;line-height:1.8}
.selected-fee strong{font-size:29px;font-weight:600;line-height:1.25;letter-spacing:-.025em}
#receipt-fee{font-size:20px;font-weight:600}
#review-list [data-field="fee"] dd{font-size:17px;font-weight:600}
.intro-note>span{font-size:27px;font-weight:400;letter-spacing:-.03em}
.steps li{font-size:10px;gap:6px}
.steps li>span:first-child{font-size:12px;font-weight:600}
.choice-counter{font-size:10px}
.choice-counter>span{font-size:12px;letter-spacing:0}
.hero-description{font-size:13px;line-height:2}
.hero-jp{font-family:var(--sans);font-size:20px;font-weight:400;letter-spacing:.1em}
.body-copy{font-size:14px;line-height:2.5}
.muted{font-size:13px}
.choice-screen h3,:lang(ko) .choice-screen h3{font-family:var(--sans);font-size:22px;font-weight:500}
.choice-description{font-size:12px;line-height:2}
.choice-text strong{font-size:14px}
.choice-text small{font-size:11px;letter-spacing:.08em}
.gender-choices .choice-text strong{font-family:var(--sans);font-size:22px;font-weight:500}
.button,.nav-cta{font-size:13px}
.form-label{font-size:11px}
.field label,.field legend{font-size:13px;line-height:1.8}
.field small,.payment-caption{font-size:11px;line-height:1.9}
input:not([type=checkbox]),select,textarea{font-size:14px}
.source-options label{font-size:12px}
.form-footnote{font-size:11px;line-height:1.9}
.registration-intro>p:not(.eyebrow){font-size:12px}
.form-preview-note{font-size:11px}
.faq-list summary{font-size:14px;line-height:1.9}
.faq-list p{font-size:13px;line-height:2.1}
.review-notice{font-size:12px;line-height:2}
#review-list dt,.bank-details dt{font-size:12px}
#review-list dd,.bank-details dd{font-size:13px}

/* Bordeaux and champagne replace the green cast throughout the page. */
.header{background:rgba(252,249,245,.96);border-bottom-color:#e2d3d6}
.primary:hover{background:#73364c}
.hero h1 .title-secondary{color:var(--gold)}
.hero-art:before{border-color:#b89a6b}
.photo-shade{background:linear-gradient(180deg,rgba(66,20,35,.015) 30%,rgba(66,20,35,.03) 65%,rgba(52,17,31,.78))}
.photo-caption{color:#fff9ed}
.details{background:#f4e9eb}
.event-list>div,.invitation-note{border-color:#ddc9ce}
.collab-partner img{border-color:#e6d9d3;box-shadow:0 3px 14px #59243809}
.collab-caption{border-color:#d4c0b2}
.registration h2 em{color:var(--gold)}
.form-panel,input:not([type=checkbox]),select,textarea,.choice-button{background:#fffdfa;border-color:#ddcdd2}
.choice-button:hover,.choice-button[aria-pressed=true]{background:#f8eef0;border-color:#a97e52}
.choice-emblem{border-color:#e2d3d6;color:#775e57}
.selected-fee{background:#f5e9ed;color:var(--ink)}
.source-options label:has(input:checked){background:#f8eef0;border-color:#a97e52}
.steps li{color:#89727b}
.steps li.active{color:var(--ink)}
footer{background:#471c2d}
footer>p,.footer-event-title>small{color:#ebdcca}
footer>div{border-color:#865464;color:#e8d5d8}
.footer-collaboration>span{color:var(--champagne)}
.mobile-cta{border-color:var(--champagne);box-shadow:0 5px 25px #59243835}
.field-error{color:#a52f3f}

/* Participation balance is a planned capacity, not an attendee count. */
.event-list>div:has(.guest-capacity){align-items:start}
.guest-capacity{padding:2px 0 4px}
.capacity-total{display:flex;align-items:baseline;gap:7px;margin-bottom:8px}
.event-list .capacity-total strong{font-family:var(--number-font);font-size:39px;font-weight:500;line-height:1.2}
.event-list .capacity-total>span{font-size:14px;margin:0}
.capacity-split{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.event-list .capacity-split>span{font-size:15px;font-weight:500;margin:0;white-space:nowrap}
.capacity-split>i{font-family:var(--serif);font-size:22px;font-weight:400;font-style:normal;color:var(--gold)}
.guest-capacity>small{display:block;font-size:12px;color:var(--muted);margin-top:9px;line-height:1.9}
.event-list .eligibility-copy{font-size:14px;font-weight:500}
.eligibility-note{font-size:12px;line-height:1.9;padding:12px 14px;margin:0 0 23px;border-left:2px solid var(--gold);background:#faf3ed}

/* Show the actual policy before the confirmation action. */
.cancellation-policy{margin:29px 0 20px;padding:23px 0 0;border-top:1px solid var(--line)}
.cancellation-policy h3{font-size:14px;line-height:1.9;margin-bottom:13px}
.cancellation-policy dl{margin:0}
.cancellation-policy dl>div{display:grid;grid-template-columns:114px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.cancellation-policy dt{font-size:12px;font-weight:500;line-height:1.9}
.cancellation-policy dd{margin:0;font-size:12px;line-height:1.9;font-weight:500}
.cancellation-policy p{font-size:11px;color:var(--muted);line-height:2;margin:14px 0 0}
.policy-agreement{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:12px;line-height:2}
.policy-agreement input{flex-shrink:0;appearance:auto;accent-color:var(--ink);width:18px;height:18px;margin:4px 0 0}
.policy-agreement input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

@media(max-width:1050px){.steps li{font-size:9px;gap:5px}.event-list dd strong{font-size:23px}}
@media(max-width:380px){.intro h2{font-size:26px;letter-spacing:.06em}}
@media(max-width:760px){
 .date-number{font-size:39px}.hero-date>div>span{font-size:10px}.hero-date strong{font-size:13px}.hero-description{font-size:12px}.hero-jp{font-size:19px}.intro .body-copy{font-size:13px}.intro-note>span{font-size:25px}.intro-note p{font-size:11px}.details h2,.faq h2{font-size:28px}.event-list>div{grid-template-columns:75px 1fr}.event-list dt{font-size:10px}.event-list dd strong{font-size:22px}.event-list dd span{font-size:11px}.event-list dd{font-size:13px}.event-list .capacity-total strong{font-size:36px}.event-list .capacity-split>span{font-size:14px}.capacity-split{gap:10px}.guest-capacity>small{font-size:11px}.event-list .eligibility-copy{font-size:13px}
 .steps{gap:5px}.steps li{font-size:9px;gap:4px}.steps li>span:first-child{font-size:11px}.choice-counter{font-size:9px}.choice-counter>span{font-size:11px}.choice-description{font-size:12px}.choice-screen h3{font-size:21px}.choice-text strong{font-size:13px}.choice-text small{font-size:11px}.gender-choices .choice-text strong{font-size:22px}.eligibility-note{font-size:11px;padding:10px 12px}.selected-fee strong{font-size:27px}.field label,.field legend{font-size:12px}.source-options label{font-size:11px;padding:11px 8px;gap:7px}input:not([type=checkbox]),select,textarea{font-size:16px}.button{font-size:13px}.registration-intro>p:not(.eyebrow){font-size:12px}.cancellation-policy dl>div{grid-template-columns:103px 1fr;gap:10px}.cancellation-policy dt,.cancellation-policy dd{font-size:11px}.policy-agreement{font-size:11px}.faq-list summary{font-size:13px}.faq-list p{font-size:12px}
}
