:root{--paper:#f7f7f1;--ink:#193b32;--muted:#59685c;--line:#d6dcd2;--accent:#234e3e;--panel:#e9eee4;--font:'Gothic A1',sans-serif;--heading-weight:500;--header-height:56px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px;overflow-anchor:none}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font);font-size:16px;line-height:1.8;word-break:keep-all;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-weight:var(--heading-weight)}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid currentColor;outline-offset:5px}img{display:block;width:100%}button{cursor:pointer}button:disabled{cursor:default}::selection{background:#e6b468;color:#12263a}.content{width:min(1120px,calc(100% - 112px));margin-inline:auto}.content-wide{width:calc(100% - 96px);max-width:1440px;margin-inline:auto}.english,.wordmarks{font-family:'Outfit',sans-serif}h2{font-size:48px;line-height:1.45;letter-spacing:-.055em}h3{font-size:24px;line-height:1.6;letter-spacing:-.04em}.small-note{font-size:14px;font-weight:600;margin-bottom:28px;letter-spacing:.03em}.quiet{font-size:14px;color:var(--muted)}
/* Review controls sit apart from the actual invitation. */
.review-bar{position:sticky;top:0;z-index:50;min-height:56px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 32px;background:#fff;color:#282c30;border-bottom:1px solid #e9e9e6;font-family:'Noto Sans KR',sans-serif;font-size:12px}.kept-link{justify-self:start;display:flex;align-items:center;min-height:44px}.review-note{justify-self:end;color:#686b6c}.style-switch{display:flex;gap:4px;align-items:center}.style-switch button{border:0;background:none;color:#7c7d7c;padding:10px 22px;min-height:44px;font-size:12px;font-weight:500;position:relative}.style-switch button[aria-pressed=true]{color:#172a26}.style-switch button[aria-pressed=true]:after{content:'';position:absolute;height:2px;background:currentColor;bottom:0;left:22px;right:22px}.style-switch span{margin-left:6px}
.opening{position:relative;isolation:isolate;overflow:hidden}.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:3}.wordmarks{display:inline-flex;align-items:center;gap:14px;font-size:24px;line-height:1;min-height:44px;font-weight:500;letter-spacing:-.03em}.wordmarks a{display:inline-flex;align-items:center;min-height:44px}.times{font-weight:400;font-size:18px;opacity:.6}.site-header nav{display:flex;gap:30px;font-size:14px}.site-header nav a{display:flex;align-items:center;min-height:44px}.hero-stage{display:grid;grid-template-columns:44% 56%;align-items:center;position:relative;padding-top:48px;padding-bottom:32px;min-height:644px}.hero-main{grid-row:1;grid-column:1;z-index:2;padding:16px 32px 40px 0}.occasion{font-size:12px;letter-spacing:0;font-weight:500;margin-bottom:30px}.headline{font-size:clamp(56px,5.9vw,92px);line-height:1.25;font-weight:500;letter-spacing:-.075em}.hero-message{margin-top:28px;font-size:16px;line-height:1.9;letter-spacing:-.045em;max-width:440px}.hero-cta{min-height:52px;padding:10px 0;display:flex;align-items:center;justify-content:space-between;width:150px;font-size:16px;margin-top:32px;border-bottom:1px solid;gap:24px}.hero-cta span{font-family:Arial,sans-serif;font-size:24px;font-weight:400}.hero-visual{grid-row:1;grid-column:2;width:100%;align-self:center;position:relative}.campaign-art{display:none;object-fit:cover}.art-a{aspect-ratio:3/2;height:auto}.art-b{aspect-ratio:1;height:auto}.night-shade{display:none}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:26px;margin-top:48px;gap:20px;font-size:14px;align-items:center}.hero-bottom>p:last-child{text-align:right;line-height:1.6}.event-date{display:flex;align-items:center;gap:22px}.event-date .english{font-size:28px;line-height:1.3;letter-spacing:-.03em}.hero-bottom .english{letter-spacing:0}.art-a{display:block}.night-asset-note{display:none}
.welcome{padding-top:132px;padding-bottom:132px;text-align:center}.welcome h2{max-width:820px;margin-inline:auto}.welcome-copy{margin-top:26px;color:var(--muted);font-size:18px}.night-moments{display:grid;grid-template-columns:repeat(3,1fr);gap:56px;margin-top:80px;text-align:left}.night-moments article{border-top:1px solid var(--line);padding-top:28px}.night-moments article p{margin-top:20px;color:var(--muted)}
.program-section{background:var(--panel);padding:104px 0}.program-layout{display:grid;grid-template-columns:minmax(0,.38fr) minmax(0,.62fr);gap:20px}.program-intro h2{margin-bottom:28px}.program-intro>p:not(.small-note){color:var(--muted)}.program-footnote{display:block;font-size:12px;color:var(--muted);margin-top:40px}.schedule>div{display:grid;grid-template-columns:80px 1fr;gap:20px;border-top:1px solid var(--line);padding:24px 0}.schedule>div:last-child{padding-bottom:0}.schedule dt{font-family:'Outfit',sans-serif;font-size:20px}.schedule h3{font-size:20px}.schedule p{color:var(--muted);font-size:14px;margin-top:6px}
.photo-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-block:140px}.photo-copy>p:not(.small-note){margin-top:24px}.placard-scene{padding:20px 0}.placard{padding:36px;color:var(--ink);background:var(--panel);transform:rotate(-5deg);border:1px solid var(--line)}.placard-top{font-size:14px;margin-bottom:30px}.placard-top span{margin:0 12px}.placard>p{font-size:24px;font-weight:600}.destination-space{height:90px;border-bottom:2px solid;margin:0 8px 18px 0}.placard-end{text-align:right}.placard-bottom{font-size:12px;margin-top:36px;display:flex;justify-content:space-between;gap:12px}
.gifts-section{background:var(--panel);padding-block:100px}.gifts-heading{text-align:center}.gifts-heading>p:last-child{margin-top:24px;color:var(--muted)}.passes{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:68px 56px 56px}.passes article{position:relative}.passes article+article:before{content:'';height:100%;position:absolute;left:-50px;top:0;border-left:1px solid var(--line)}.passes .english{font-size:24px}.passes h3{font-size:18px;margin-top:6px}.app-description{color:var(--muted);font-size:14px;margin-top:20px}.duration{font-family:'Outfit',sans-serif;font-size:84px;line-height:1.2;font-weight:400;margin-top:20px;letter-spacing:-.05em}.duration span{font-family:var(--font);font-size:18px;margin-left:12px;letter-spacing:0}.passes article>p:not(.app-description){font-size:14px;color:var(--muted)}.passes a{margin-top:20px;min-height:44px;display:inline-flex;align-items:center;font-size:14px;border-bottom:1px solid}.extra-gifts{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:36px}.extra-gifts h3{font-size:18px}.extra-gifts p{color:var(--muted);font-size:14px;margin-top:12px}.extra-gifts strong{font-weight:500;color:var(--ink)}
.venue-section{padding-block:140px;display:grid;grid-template-columns:52% 1fr;gap:64px;align-items:center}.venue-photo img{aspect-ratio:4/3;object-fit:cover}.venue-photo>span{display:block;margin-top:14px;font-size:12px;color:var(--muted);letter-spacing:.03em}.venue-copy h2{font-size:40px}.venue-copy>p:not(.small-note){color:var(--muted);font-size:14px;margin-top:24px}.venue-copy address{font-size:14px;font-style:normal;margin-top:24px}.underlined{display:inline-flex;min-height:44px;align-items:center;border-bottom:1px solid;font-size:14px;margin-top:12px}
.invitation-section{background:var(--accent);color:var(--paper);padding-block:100px}.invitation-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.invitation-copy h2{font-size:64px;line-height:1.3}.price{font-family:'Outfit',sans-serif;font-size:48px;letter-spacing:-.03em;margin-top:36px}.price span{font-family:var(--font);font-size:14px;margin-left:12px;letter-spacing:0}.conditions{margin-top:28px;font-size:14px}.conditions>div{display:grid;grid-template-columns:100px 1fr;padding-block:10px;border-top:1px solid currentColor}.conditions dt{opacity:.65}.application{padding-top:0}.application h3{font-size:24px}.application>p:first-of-type{font-size:14px;opacity:.7;margin-top:12px}.application label{display:block;font-size:14px;margin-top:32px}.application input{display:block;width:100%;color:inherit;background:transparent;border:0;border-bottom:1px solid currentColor;border-radius:0;padding:12px 0;font-size:16px;opacity:.8}.application input::placeholder{color:inherit;opacity:.55}.application .email-help{font-size:12px;line-height:1.9;opacity:.7;margin-top:22px}.application button{width:100%;margin-top:26px;padding:16px;color:var(--accent);background:var(--paper);border:0;min-height:56px;font-size:16px}.preview-disclosure{font-size:12px;opacity:.6;margin-top:16px}.footer-top{display:flex;align-items:center;gap:18px;font-size:24px;margin-bottom:12px}.footer-top a{min-height:44px;display:flex;align-items:center}footer.content{padding-block:52px}footer>p{font-size:12px;color:var(--muted)}.asset-note{margin-top:20px;line-height:1.9;font-size:12px}.asset-note a{text-decoration:underline;display:inline-block;min-height:44px;align-content:center}
/* 02 — saturated blue, a still life and compact, bold Korean type. */
html[data-style=b]{--paper:#faf9f4;--ink:#073b98;--muted:#526581;--line:#bdc9df;--accent:#083ba0;--panel:#e9eef7;--font:'Noto Sans KR',sans-serif;--heading-weight:700}
[data-style=b] .opening{background:#063b9e;color:#fffef6}[data-style=b] .art-a{display:none}[data-style=b] .art-b{display:block}[data-style=b] .hero-stage{grid-template-columns:48% 52%;padding-top:12px;min-height:660px;max-width:1440px}[data-style=b] .hero-visual{grid-column:1;align-self:start;margin-top:10px}[data-style=b] .hero-main{grid-column:2;padding:32px 0 40px 60px}[data-style=b] .headline{font-weight:800;font-size:clamp(64px,6.3vw,96px);line-height:1.14;letter-spacing:-.08em}[data-style=b] .occasion{color:#ffdc95;margin-bottom:34px}[data-style=b] .hero-message{font-size:16px;max-width:380px;margin-top:30px}[data-style=b] .hero-cta{background:#ffdd97;color:#073b98;border:none;padding:12px 20px;width:168px;border-radius:0;margin-top:32px}[data-style=b] .hero-bottom{border-color:#7b9ccc;margin-top:20px;padding-top:20px}[data-style=b] .event-date .english{font-size:44px;letter-spacing:-.04em}[data-style=b] .welcome{text-align:left;display:grid;grid-template-columns:1fr 1fr;padding-block:110px;gap:0 60px}[data-style=b] .welcome .small-note{grid-column:1/-1}[data-style=b] .welcome h2{margin:0;font-size:44px}[data-style=b] .welcome-copy{margin:0;align-self:end;padding-bottom:8px}[data-style=b] .night-moments{grid-column:1/-1;gap:52px;margin-top:70px}[data-style=b] .small-note{font-weight:700}[data-style=b] .program-layout{grid-template-columns:minmax(0,.4fr) minmax(0,.6fr)}[data-style=b] .program-intro h2{font-size:52px;line-height:1.4}[data-style=b] .schedule dt{font-size:24px}[data-style=b] .placard{background:#ffdd97;border:0;transform:rotate(4deg)}[data-style=b] .gifts-section{background:#ffdd97;--line:#c3b07e;--muted:#4f607b}[data-style=b] .duration{font-weight:600}[data-style=b] .venue-photo img{aspect-ratio:1.2}[data-style=b] .invitation-copy h2{font-weight:800}
/* 03 — the earlier party's night mood, with quiet type and real travel photography. */
html[data-style=c]{--paper:#050e22;--ink:#f5f8ff;--muted:#b4c5e0;--line:#304f7b;--accent:#8abbff;--panel:#09162e;--font:'Noto Sans KR',sans-serif;--heading-weight:300}
[data-style=c] .opening{min-height:820px;color:#f5f8ff;background:#050e22}[data-style=c] .art-a{display:none}[data-style=c] .art-c{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%}[data-style=c] .hero-visual{position:absolute;inset:0;margin:0;height:100%;z-index:-2;width:100%;grid-column:unset;grid-row:unset}[data-style=c] .hero-stage{position:static;display:flex;flex-direction:column;padding:48px 0 32px;min-height:700px;width:calc(100% - 96px);max-width:1440px}[data-style=c] .night-shade{display:block;position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,14,34,.24),rgba(5,14,34,.38) 42%,#050e22 100%)}[data-style=c] .hero-main{text-align:center;padding:30px 0 50px;max-width:800px;align-self:center}[data-style=c] .occasion{color:#d5e8ff;letter-spacing:.08em;font-size:12px;margin-bottom:36px}[data-style=c] .headline{font-weight:300;font-size:clamp(68px,6.2vw,96px);letter-spacing:-.06em;line-height:1.35;text-shadow:0 2px 28px #050e2250}[data-style=c] .hero-message{margin:30px auto 0;max-width:520px;font-weight:300;letter-spacing:-.02em;color:#f5f8ff}[data-style=c] .hero-cta{margin:30px auto 0;width:150px;border-color:#93bdff;color:#f5f8ff}[data-style=c] .hero-bottom{margin-top:auto;min-width:600px;max-width:860px;width:80%;border-color:#a1bfe570;color:#f5f8ff}[data-style=c] .event-date .english{font-size:24px;font-weight:400;letter-spacing:.03em}[data-style=c] .small-note{color:#a4ccff;font-weight:400;letter-spacing:.1em}[data-style=c] .welcome{padding-top:140px}[data-style=c] .welcome h2{font-size:48px;font-weight:300}[data-style=c] h3{font-weight:400}[data-style=c] .night-moments{text-align:center;gap:60px}[data-style=c] .night-moments article{padding-top:32px}[data-style=c] .program-section{padding-block:112px}[data-style=c] .schedule dt{color:#a4ccff}[data-style=c] .placard{background:#f5f8ff;color:#14376a;border:0;transform:rotate(-3deg)}[data-style=c] .gifts-section{background:#09162e}[data-style=c] .passes .english{color:#a4ccff}[data-style=c] .duration{font-weight:400;color:#f5f8ff}[data-style=c] .invitation-section{background:#09162e;color:#f5f8ff}[data-style=c] .invitation-section .small-note{color:#a4ccff}[data-style=c] .application button{background:#f5f8ff;color:#09162e}[data-style=c] .invitation-copy h2{font-weight:300}[data-style=c] .concept-asset-note{display:none}[data-style=c] .night-asset-note{display:inline}
@media(min-width:1600px){.hero-stage{padding-top:60px;padding-bottom:40px}.opening{min-height:860px}.hero-main{padding-top:30px;padding-bottom:60px}.hero-bottom{margin-top:70px}[data-style=b] .hero-stage{padding-top:30px}[data-style=c] .opening{min-height:900px}[data-style=c] .hero-stage{min-height:780px}}
@media(max-width:1080px){.content{width:calc(100% - 72px)}.content-wide{width:calc(100% - 64px)}.site-header{height:92px}.hero-stage{padding-top:30px;grid-template-columns:45% 55%;min-height:580px}.headline{font-size:64px}.hero-main{padding-right:20px}.hero-message{font-size:14px}.occasion{font-size:12px;letter-spacing:-.03em}.hero-cta{margin-top:24px}.hero-bottom{margin-top:36px}.night-moments{gap:28px}h2{font-size:40px}.program-layout{grid-template-columns:36% 64%;gap:0}.program-intro h2{font-size:40px}.program-intro>p:not(.small-note){font-size:14px}.schedule>div{grid-template-columns:64px 1fr;gap:16px}.schedule h3{font-size:18px}.photo-section{gap:50px}.photo-copy h2{font-size:36px}.photo-copy>p:not(.small-note){font-size:14px}.placard{padding:28px}.placard>p{font-size:20px}.venue-section{gap:36px}.venue-copy h2{font-size:32px}.invitation-layout{gap:56px}.invitation-copy h2{font-size:56px}.passes{padding-inline:16px;gap:72px}.passes article+article:before{left:-36px}[data-style=b] .hero-stage{grid-template-columns:47% 53%;min-height:620px}[data-style=b] .hero-main{padding-left:34px}[data-style=b] .headline{font-size:68px}[data-style=b] .hero-message{font-size:14px}[data-style=b] .welcome h2{font-size:40px}[data-style=b] .program-intro h2{font-size:44px}[data-style=c] .hero-stage{width:calc(100% - 64px)}[data-style=c] .hero-message{font-size:16px}[data-style=c] .headline{font-size:80px}}
@media(max-width:760px){.content,.content-wide{width:calc(100% - 48px)}.review-bar{padding-inline:16px;grid-template-columns:1fr auto;min-height:52px}.review-note{display:none}.style-switch{gap:0}.style-switch button{padding-inline:14px}.style-switch button[aria-pressed=true]:after{left:14px;right:14px}.site-header{height:80px}.wordmarks{font-size:20px;gap:12px}.site-header nav{gap:14px;font-size:12px}.site-header nav a:first-child{display:none}.hero-stage{display:flex;flex-direction:column;align-items:stretch;min-height:auto;padding-top:18px;padding-bottom:24px}.hero-main{padding:8px 0 34px;order:0}.hero-visual{order:1;align-self:auto}.hero-bottom{order:2;margin-top:28px;padding-top:20px}.headline{font-size:76px;line-height:1.19;letter-spacing:-.075em}.occasion{font-size:12px;margin-bottom:24px}.hero-message{font-size:16px;margin-top:22px;max-width:none;letter-spacing:-.05em}.hero-cta{margin-top:20px;font-size:14px;min-height:48px;width:140px}.event-date{display:block}.event-date span{display:block}.event-date .english{font-size:26px;line-height:1.4}.event-date span:last-child{font-size:12px;margin-top:4px}.hero-bottom>p:last-child{font-size:12px}.welcome{padding-block:88px}.welcome h2{font-size:36px}.welcome-copy{font-size:16px}.small-note{margin-bottom:22px;font-size:12px}.night-moments{margin-top:48px;grid-template-columns:1fr;gap:26px}.night-moments article{display:grid;grid-template-columns:1fr 1.1fr;gap:24px;padding-top:24px}.night-moments h3{font-size:20px}.night-moments article p{font-size:14px;margin:0}.program-section{padding-block:72px}.program-layout{grid-template-columns:1fr;gap:44px}.program-intro h2{font-size:40px;margin-bottom:20px}.program-intro h2 br:nth-of-type(2){display:none}.program-footnote{margin-top:20px}.schedule>div{padding-block:22px}.schedule h3{font-size:18px}.schedule p{font-size:14px;line-height:1.75}.photo-section{padding-block:84px;grid-template-columns:1fr;gap:40px}.photo-copy h2{font-size:36px}.photo-copy>p:not(.small-note){font-size:16px}.photo-copy .quiet{font-size:12px!important}.placard-scene{padding:14px 16px}.placard{padding:28px}.placard>p{font-size:24px}.gifts-section{padding-block:76px}.gifts-heading h2{font-size:36px}.gifts-heading>p:last-child{font-size:14px}.passes{padding:48px 0;gap:40px}.passes .english{font-size:20px}.passes h3{font-size:16px}.passes article+article:before{left:-20px}.app-description{font-size:12px;line-height:1.8}.app-description br{display:none}.duration{font-size:68px}.duration span{font-size:14px;margin-left:8px}.passes article>p:not(.app-description){font-size:12px}.passes a{font-size:12px}.extra-gifts{grid-template-columns:1fr;gap:26px;padding-top:30px}.extra-gifts h3{font-size:18px}.venue-section{padding-block:84px;grid-template-columns:1fr;gap:40px}.venue-copy h2{font-size:36px}.venue-photo>span{font-size:12px}.invitation-section{padding-block:76px}.invitation-layout{grid-template-columns:1fr;gap:60px}.invitation-copy h2{font-size:56px}.price{font-size:44px;margin-top:28px}.application h3{font-size:24px}.application .email-help{font-size:14px}.preview-disclosure{font-size:12px}.footer-top{font-size:20px}footer.content{padding-block:40px}
[data-style=b] .hero-stage{display:flex;padding-top:24px;min-height:auto}[data-style=b] .hero-main{padding:0 0 32px}[data-style=b] .headline{font-size:80px;line-height:1.13}[data-style=b] .hero-message{font-size:16px;margin-top:24px}[data-style=b] .occasion{margin-bottom:24px}[data-style=b] .hero-visual{margin:0;width:100%;align-self:auto}[data-style=b] .hero-cta{margin-top:24px;width:152px;font-size:14px}[data-style=b] .hero-bottom{margin-top:24px;padding-top:20px}[data-style=b] .event-date .english{font-size:32px}[data-style=b] .welcome{display:block;padding-block:84px}[data-style=b] .welcome h2{font-size:36px}[data-style=b] .welcome-copy{margin-top:24px}[data-style=b] .night-moments{margin-top:44px;gap:26px}[data-style=b] .program-layout{grid-template-columns:1fr}[data-style=b] .program-intro h2{font-size:40px}[data-style=b] .venue-photo img{aspect-ratio:4/3}
[data-style=c] .opening{min-height:800px}[data-style=c] .hero-stage{min-height:700px;width:calc(100% - 48px);padding-top:36px;padding-bottom:28px}[data-style=c] .hero-main{padding-top:48px;padding-bottom:40px}[data-style=c] .headline{font-size:68px;line-height:1.33}[data-style=c] .occasion{font-size:12px;letter-spacing:0;margin-bottom:26px}[data-style=c] .hero-message{font-size:14px;line-height:2;margin-top:28px}[data-style=c] .hero-cta{font-size:14px;margin-top:28px}[data-style=c] .hero-visual{order:unset;width:100%;height:100%;inset:0}[data-style=c] .art-c{object-position:55% 45%}[data-style=c][data-photo=santorini] .art-c{object-position:65% 45%}[data-style=c] .night-shade{background:linear-gradient(180deg,#050e224d,#050e226b 45%,#050e22 100%)}[data-style=c] .hero-bottom{width:100%;min-width:0;margin-top:auto}[data-style=c] .event-date .english{font-size:24px}[data-style=c] .welcome{padding-top:90px}[data-style=c] .welcome h2{font-size:36px}[data-style=c] .night-moments{text-align:left;gap:28px}[data-style=c] .program-section{padding-block:76px}}
@media(max-width:420px){.site-header nav a:nth-child(2){display:none}.headline{font-size:64px}.hero-message{font-size:14px}.night-moments article{gap:16px;grid-template-columns:1fr 1.1fr}.night-moments h3{font-size:18px}.night-moments article p{font-size:12px}.welcome h2{font-size:32px}.schedule>div{grid-template-columns:54px 1fr;gap:12px}.schedule dt{font-size:18px}.schedule h3{font-size:16px}.schedule p{font-size:12px}.placard{padding:24px}.placard-top{font-size:12px}.placard>p{font-size:20px}.placard-bottom{font-size:12px;letter-spacing:-.04em}.application>p:first-of-type{font-size:12px}[data-style=b] .headline{font-size:68px}[data-style=b] .hero-message{font-size:14px}[data-style=b] .welcome h2{font-size:32px}[data-style=c] .headline{font-size:60px}[data-style=c] .hero-message{font-size:14px}[data-style=c] .welcome h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Background comparison controls are review-only. */
.photo-switch{display:none;justify-self:end;align-items:center;gap:2px}.photo-switch button{border:0;background:transparent;color:#73787e;min-height:44px;padding:8px 14px;font-size:12px;font-weight:400}.photo-switch button[aria-pressed=true]{color:#182e55;background:#eef2f7}[data-style=c] .photo-switch{display:flex}[data-style=c] .review-note{display:none}@media(max-width:760px){[data-style=c] .photo-switch{grid-column:1/-1;justify-self:stretch;justify-content:center;border-top:1px solid #e9e9e6}[data-style=c] .review-bar{row-gap:0}.photo-switch button{flex:1;max-width:180px}}

/* Selected Santorini design for deployment. */
html{scroll-padding-top:24px}.opening{margin-top:0}

.companion-input{display:flex;align-items:center;gap:16px;border-bottom:1px solid currentColor}.application .companion-input input{border:0;min-width:0;flex:1;width:100%;padding-right:10px}.companion-input span{font-size:14px;opacity:.7}.application input{min-height:48px}.application input:focus{opacity:1}

/* AnuPing-inspired constellations stay in the empty edges of the invitation. */
[data-style=c] .welcome,[data-style=c] .gifts-section,[data-style=c] .invitation-section{position:relative;isolation:isolate}
.night-sky{position:absolute;display:block;z-index:-1;pointer-events:none;background:url('assets/constellation-sky.svg') center top/100% auto no-repeat}
.night-sky--welcome{inset:0 -40px auto;height:560px}
.night-sky--gifts{inset:0 0 auto;height:620px;background-size:min(1440px,100%) auto}
.night-sky--invitation{left:max(40px,calc((100% - 1120px)/2));bottom:70px;width:min(440px,38%);height:250px;background-size:820px auto;background-position:right top;opacity:.85}
@media(max-width:1080px){.night-sky--welcome{left:-24px;right:-24px}.night-sky--invitation{left:36px;bottom:60px;width:36%;height:210px;background-size:700px auto}}
@media(max-width:760px){.night-sky--welcome{inset:0 -16px auto;height:140px;background-size:700px auto;background-position:left top;opacity:.6;mask-image:linear-gradient(#000 55%,transparent)}.night-sky--gifts{height:140px;background-size:700px auto;background-position:right top;opacity:.55;mask-image:linear-gradient(#000 55%,transparent)}.night-sky--invitation{display:none}}

/* Registration-only additions; the party design above remains unchanged. */
.application fieldset{border:0;padding:0;margin:0;min-width:0}
.application fieldset>p:first-of-type{font-size:14px;opacity:.7;margin-top:12px}
.application fieldset[disabled]{opacity:.65}
.application [hidden]{display:none!important}
.application .registration-payment{margin-top:28px;font-size:14px;line-height:1.8}
.application #registration-total{display:block;font-size:18px;margin-top:6px}
.application #bank-details{margin-top:20px}
.application .registration-checkbox{display:flex;align-items:center;gap:12px;min-height:44px;font-size:14px;line-height:1.6}
.application .registration-checkbox input{flex:0 0 20px;width:20px;height:20px;min-height:20px;accent-color:#a4ccff;opacity:1}
.application #registration-availability,.application #registration-status{font-size:14px;line-height:1.8;margin-top:16px}
.application #registration-status:empty{display:none}
.application button:disabled{cursor:not-allowed;opacity:.55}
.application .registration-retry{width:auto;min-height:44px;padding:8px 0;margin-top:4px;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:5px;font-size:14px}
.application :focus-visible{outline:2px solid #a4ccff;outline-offset:5px}
.application #registration-receipt{padding-top:8px;overflow-wrap:anywhere}
.application #registration-receipt p{font-size:14px;line-height:1.8;margin-top:16px}
.application #receipt-number{font-family:monospace;font-size:14px;overflow-wrap:anywhere}
.application #receipt-total{font-size:18px}
@media(max-width:420px){.application fieldset>p:first-of-type{font-size:12px}}

/* Account copy controls share the registration palette and typography. */
.application button.bank-copy{width:auto;min-height:44px;padding:8px 12px;margin-top:8px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font-size:14px;line-height:1.5}
.application .bank-copy-status,.application #registration-receipt .bank-copy-status{font-size:12px;line-height:1.8;margin-top:8px}
.application .bank-copy-status:empty{display:none}

/* A distinct RSVP panel follows the launch party's form hierarchy. */
.invitation-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start}
.application{min-width:0;padding:40px;background:#f5f8ff;color:#09162e;border:1px solid #b4c5e0;border-radius:16px}
.application fieldset>p:first-of-type{color:#304f7b;opacity:1}
.application label{margin-top:24px;font-weight:500}
.application input:not([type=checkbox]){min-height:52px;margin-top:8px;padding:12px 16px;background:#a4ccff1f;color:#09162e;border:1px solid #304f7ba6;border-radius:8px;opacity:1}
.application input:not([type=checkbox])::placeholder{color:#304f7b;opacity:.8}
.application input:not([type=checkbox]):focus{border-color:#14376a;background:#f5f8ff}
.application :focus-visible{outline:2px solid #14376a;outline-offset:3px}
.application .email-help{margin-top:12px;color:#304f7b;opacity:1}
.application .companion-input{gap:12px;border:0}
.application .companion-input input{width:100%;border:1px solid #304f7ba6;padding-right:16px}
.application .companion-input span{color:#304f7b;opacity:1;margin-top:8px}
.application .registration-payment{margin-top:28px;padding-top:24px;border-top:1px solid #b4c5e0}
.application #registration-total{font-weight:500}
.application #bank-account,.application #receipt-bank-account{overflow-wrap:anywhere}
.application .registration-checkbox{margin-top:24px;padding-block:8px;font-weight:400}
.application .registration-checkbox input{accent-color:#14376a}
.application #registration-submit{min-height:56px;margin-top:24px;background:#09162e;color:#f5f8ff;border:1px solid #09162e;border-radius:8px;font-weight:500}
.application #registration-submit:disabled{opacity:.5}
.application button.bank-copy{background:transparent;color:#09162e;border-color:#304f7b;border-radius:6px}
.application button.registration-retry{background:transparent;color:#09162e}
.application .bank-copy-status,.application #registration-receipt .bank-copy-status{color:#304f7b}
.application #registration-receipt{padding-top:0}
@media(max-width:1080px){.invitation-layout{gap:40px}.application{padding:32px}}
@media(max-width:760px){.invitation-layout{grid-template-columns:minmax(0,1fr);gap:48px}.application{padding:28px 24px}}
@media(max-width:360px){.application{padding:24px 20px;border-radius:12px}}

/* Show both real venue spaces at the same generous scale. */
.venue-section{display:block}
.venue-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:end}
.venue-copy .venue-details>p{color:var(--muted);font-size:14px}
.venue-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:48px}
.venue-gallery figure{min-width:0}
.venue-gallery img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.venue-gallery .venue-featured img{aspect-ratio:auto}
.venue-gallery figcaption{margin-top:12px;font-size:14px;color:var(--muted)}
.venue-section .venue-source{margin-top:20px;font-size:12px;color:var(--muted);letter-spacing:.03em}
@media(max-width:760px){.venue-copy{grid-template-columns:minmax(0,1fr);gap:28px}.venue-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:32px}.venue-gallery .venue-featured{grid-column:1/-1}}

/* The optional referral select matches the existing RSVP inputs. */
.application select{display:block;width:100%;min-height:52px;margin-top:8px;padding:12px 16px;font:inherit;font-size:16px;background:#a4ccff1f;color:#09162e;border:1px solid #304f7ba6;border-radius:8px;color-scheme:light}
.application select:focus{border-color:#14376a;background:#f5f8ff}

/* Larger native-select affordance and explicit companion step controls. */
.application .referral-select{position:relative;margin-top:8px}
.application .referral-select select{min-height:56px;margin-top:0;padding-right:56px;appearance:none;-webkit-appearance:none}
.application .referral-select::after{content:'';position:absolute;right:22px;top:50%;width:8px;height:8px;border-right:1.5px solid #09162e;border-bottom:1.5px solid #09162e;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.application .companion-input{display:grid;width:max-content;max-width:100%;grid-template-columns:48px 72px 48px auto;gap:0;align-items:center;margin-top:8px}
.application .companion-input input{min-height:56px;height:56px;margin:0;padding-inline:8px;text-align:center;border-left:0;border-right:0;border-radius:0;appearance:textfield;-moz-appearance:textfield}
.application .companion-input input::-webkit-inner-spin-button,.application .companion-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.application button.companion-step{display:grid;place-items:center;width:48px;min-width:48px;min-height:56px;height:56px;margin:0;padding:0;background:#f5f8ff;color:#09162e;border:1px solid #304f7ba6;border-radius:0;font-size:24px;line-height:1}
.application .companion-input .companion-step-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.application #companions-decrease{border-radius:8px 0 0 8px}
.application #companions-increase{border-radius:0 8px 8px 0}
.application .companion-input>span{margin:0 0 0 10px}

/* Event pricing: the server quote controls the active rate. */
.invitation-copy .price[data-discounted=true]{font-size:24px;color:#b4c5e0;text-decoration:line-through;text-decoration-thickness:1px}
.invitation-copy .early-bird-price{margin-top:4px}
.invitation-copy .early-bird-price>span:first-child{display:block;font-size:14px;color:#a4ccff;margin:0 0 4px}
.invitation-copy .early-bird-note{font-size:14px;line-height:1.6;color:#b4c5e0;margin-top:8px}
