@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Noto+Sans+KR:wght@400;500;600;700&family=Noto+Serif+KR:wght@400;500;600&display=swap');
:root{--paper:#fffdf8;--green:#075d8c;--ink:#173e61;--muted:#596f7b;--gold:#876b38;--line:#dce6eb;--white:#ffffff;--sky:#f3f8fa;--header-height:76px;--controls-height:64px;--app-height:100svh}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{background:var(--paper);color:var(--ink);font-family:'Noto Sans KR',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}h1,h2,h3,h4,p{margin:0}.serif{font-family:'Cormorant Garamond',Georgia,serif}h1,h2{font-family:'Noto Serif KR',Georgia,serif;font-weight:500}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.header{height:var(--header-height);width:100%;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(18,63,88,.08);position:relative;z-index:3;background:var(--paper)}.wordmark{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;font-size:18px;letter-spacing:2px}.mark{font-size:33px;color:var(--gold);line-height:1}.wordmark-sub{display:block;font-family:'Noto Sans KR',sans-serif;letter-spacing:1.5px;font-size:8px;margin-top:6px}.header nav{display:flex;align-items:center;gap:27px;font-size:11px}.nav-rsvp{border-bottom:1px solid var(--green);padding:9px 0}.nav-rsvp span{margin-left:20px}
.invite-deck{position:relative;height:calc(var(--app-height) - var(--header-height) - var(--controls-height));overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;scrollbar-width:none}.invite-deck::-webkit-scrollbar{display:none}.invite-panel{height:100%;width:100%;overflow-y:auto;overflow-x:hidden;scroll-snap-align:start;scroll-snap-stop:always;position:relative;scrollbar-width:thin;scrollbar-color:#c8d4d6 transparent}.panel-layout,.program-layout,.rsvp-layout{max-width:1160px;margin:0 auto;padding:46px 5%;display:grid;align-items:center;min-height:100%;gap:70px}.panel-layout{grid-template-columns:1fr 1.1fr}.program-layout{grid-template-columns:1fr 1.3fr}.rsvp-layout{grid-template-columns:1fr 1.25fr;align-items:start;gap:75px}
.hero{display:flex;background:var(--paper)}.hero-copy{position:relative;z-index:1;width:52%;padding:35px 6% 30px;display:flex;flex-direction:column;justify-content:center;min-height:100%}.eyebrow{display:flex;align-items:center;gap:11px;font-size:9px;letter-spacing:2.2px;color:#758089}.eyebrow span{width:22px;height:1px;background:var(--gold)}.intro-en{font-size:43px;line-height:1.03;margin-top:24px;letter-spacing:-.8px}.intro-en em{color:#6d8c96;font-weight:400}.hero-company{font-size:12px;letter-spacing:2px;color:var(--gold);margin-top:25px}h1{font-size:39px;line-height:1.6;letter-spacing:-1.5px;margin-top:7px}h1 span{font-size:.55em;white-space:nowrap;margin-left:6px}.hero-description{font-size:12px;line-height:1.9;margin-top:13px;color:var(--muted)}.hero-meta{display:flex;gap:21px;font-size:10px;letter-spacing:1.5px;padding-top:19px}.primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;background:var(--green);color:var(--paper);padding:17px 23px;border:1px solid var(--green);font-size:12px;width:fit-content;transition:background .2s}.primary-button:hover,.submit-button:hover{background:#245a72}.hero-copy>.primary-button{margin-top:24px}.hero-bottom{font-size:10px;letter-spacing:.5px;color:var(--muted);margin-top:20px}.hero-visual{position:absolute;right:0;top:0;bottom:0;width:48%;overflow:hidden;background:#bcc7bc}.hero-image{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:center 50%}.image-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,43,29,.12),transparent 35%,rgba(15,40,52,.5))}.image-topline{position:absolute;top:25px;left:27px;right:27px;display:flex;justify-content:space-between;color:#fff9eb;font-size:8px;letter-spacing:1.4px}.image-caption{position:absolute;bottom:38px;left:37px;color:#fff9eb}.caption-line{display:block;width:35px;height:1px;background:#e7d8b4;margin-bottom:18px}.image-caption p{font-size:38px;line-height:1.05}.image-caption>span:last-child{display:block;font-size:10px;letter-spacing:1px;margin-top:16px}
.section-label{display:flex;align-items:center;gap:15px;font-size:9px;letter-spacing:2.5px;color:var(--muted)}.section-label>span{font-size:10px;letter-spacing:0;border-top:1px solid var(--gold);padding-top:7px}.overline{font-size:11px;letter-spacing:.8px;color:var(--gold)}.details-heading>.overline{margin-top:30px}.details h2{font-size:34px;line-height:1.65;margin-top:17px;letter-spacing:-1px}.invitation-copy{font-size:12px;margin-top:23px;color:var(--muted);line-height:2.05}.invitation-appeal{font-size:11px;margin-top:21px;line-height:2;color:#78858a}.detail-row{display:grid;grid-template-columns:75px 1fr;align-items:start;border-bottom:1px solid var(--line);padding:26px 0;gap:15px}.detail-row:first-child{padding-top:0}.detail-index{font-size:9px;letter-spacing:1.5px;color:var(--gold);padding-top:4px}.detail-row h3{font-size:11px;font-weight:500;color:var(--muted)}.detail-row p{font-family:'Noto Serif KR',serif;font-size:20px;line-height:1.6;margin-top:10px}.detail-row small{font-size:13px}.event-time{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:33px;line-height:1.2;font-weight:500;margin-top:3px}.detail-row .address{font-family:'Noto Sans KR',sans-serif;font-size:11px;color:var(--muted);line-height:1.9;margin-top:12px}.text-link{display:inline-block;font-size:11px;border-bottom:1px solid #99adb6;padding-bottom:4px;margin-top:12px}.text-link span[aria-hidden]{margin-left:17px}.reply-deadline{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:20px 0}.reply-deadline>span{font-size:10px;color:var(--muted)}.reply-deadline>p{font-size:13px;color:var(--gold)}.reply-deadline>a{margin-left:auto;font-size:11px}
.program{background:#edf1ef}.program-en{font-size:58px;line-height:1.02;letter-spacing:-1px;margin-top:33px}.program-en em{color:#708e92;font-weight:400}.program h2{font-size:27px;margin-top:25px;letter-spacing:-1px}.program-heading>p:not(.program-en){font-size:12px;line-height:2;color:var(--muted);margin-top:16px}.program-date{display:block;font-size:10px;letter-spacing:1.5px;color:var(--gold);margin-top:28px}.schedule{width:100%;border-collapse:collapse;table-layout:fixed}.schedule thead{font-size:10px;text-align:left;color:var(--muted)}.schedule thead th{font-weight:400;letter-spacing:1px;padding:0 0 15px;border-bottom:1px solid #bbc8c5}.schedule th:first-child{width:39%}.schedule tbody th,.schedule td{text-align:left;border-bottom:1px solid #d4ddd8;padding:22px 5px 22px 0}.schedule tbody th{font-size:13px;font-weight:400;color:#6d7f84;white-space:nowrap}.schedule td{font-size:14px;line-height:1.6}.schedule tbody tr:nth-child(3) td{font-weight:600;color:var(--green)}.schedule-note{font-size:10px;color:var(--muted);margin-top:19px}.schedule-wrap>.primary-button{margin-top:26px}
.rsvp{background:#f0f1e9}.rsvp-intro .section-label{margin-top:5px}.rsvp-en{font-size:68px;line-height:.96;letter-spacing:-2px;margin-top:31px}.rsvp-en em{color:#748e92;font-weight:400}.rsvp-intro h2{font-size:23px;margin-top:26px;letter-spacing:-1px}.rsvp-intro>p:not(.rsvp-en){font-size:12px;line-height:2;color:var(--muted);margin-top:17px}.rsvp-intro>p strong{font-weight:500;color:var(--gold)}.preview-note{display:flex;gap:10px;margin-top:29px;border-top:1px solid #d3d9cb;padding-top:19px}.status-dot{height:6px;width:6px;background:var(--gold);border-radius:50%;margin-top:6px;flex-shrink:0}.preview-note strong{font-size:11px;font-weight:500}.preview-note p{font-size:10px;color:var(--muted);line-height:1.9;margin-top:7px}.rsvp-form{background:var(--white);padding:27px;width:100%;margin-bottom:10px}.form-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.form-top h3{font-size:15px;font-weight:500}.form-top>span{font-size:9px;color:var(--muted)}.field{display:block;font-size:11px;line-height:1.5;color:#435b63}.field>span{color:var(--gold);margin-left:2px}input{border:1px solid #d9e0db;background:transparent;border-radius:0;display:block;width:100%;min-width:0;padding:12px 13px;margin-top:8px;font-size:16px;color:var(--ink)}input::placeholder{color:#969c92}input:focus{border-color:#708c94}.attendees-heading{display:flex;justify-content:space-between;align-items:center;margin:25px 0 15px}.attendees-heading h4{font-size:12px;font-weight:500}.attendees-heading>span{font-size:10px;color:var(--gold)}.attendee-card{position:relative;border:1px solid #e1e4d9;margin:0 0 15px;padding:18px 17px 20px}.attendee-card legend{font-size:10px;color:#617b81;padding:0 5px}.remove-attendee{position:absolute;top:-18px;right:10px;border:0;background:var(--white);padding:3px 6px;color:#6d7569;font-size:10px;text-decoration:underline;text-underline-offset:3px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:15px}.add-button{border:1px dashed #b9c5bd;background:transparent;width:100%;padding:12px;color:#566f77;font-size:11px;display:flex;justify-content:center;gap:5px;align-items:center}.add-button:hover{background:#f0f4ec}.max-note{font-size:9px;color:#8b9385;margin-left:6px}.limit-message{font-size:10px;color:#94743c;line-height:1.8;margin-top:5px}.form-note{font-size:10px;line-height:1.9;color:#787e71;margin:20px 0 15px}.submit-button{display:flex;justify-content:space-between;width:100%;background:var(--green);color:var(--paper);border:0;padding:17px 20px;font-size:12px;transition:background .2s}.form-footnote{font-size:9px;color:#818776;text-align:center;margin-top:12px}.rsvp-closing{font-size:10px;text-align:center;color:var(--muted);padding:0 20px 25px}.bot-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-status{font-size:11px;line-height:1.9;color:#816637;margin:12px 0;overflow-wrap:anywhere}
.deck-controls{height:var(--controls-height);width:100%;display:flex;justify-content:center;gap:28px;align-items:center;background:var(--paper);border-top:1px solid var(--line);position:relative;z-index:3}.page-arrow{height:42px;width:46px;background:transparent;border:1px solid #ccd7d7;color:var(--green);font-size:18px}.page-arrow:not(:disabled):hover{background:#e9efed}.page-navigation{min-width:160px;text-align:center}.page-dots{display:flex;align-items:center;justify-content:center;gap:3px;height:22px}.page-dots button{display:grid;place-items:center;width:32px;height:30px;border:0;background:none;padding:0}.page-dots span{height:5px;width:5px;border-radius:50%;background:#c2c9c6;transition:width .2s,background .2s}.page-dots [aria-current] span{width:21px;border-radius:3px;background:var(--gold)}#page-status{font-size:9px;letter-spacing:1px;color:var(--muted);margin-top:3px}
dialog{color:var(--ink);background:var(--paper);border:1px solid #d6d9cc;padding:40px 30px;width:min(500px,calc(100% - 28px));max-height:85svh;overflow:auto;text-align:center}dialog::backdrop{background:rgba(16,39,49,.65);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:15px;top:10px;border:0;background:none;color:var(--ink);font-size:25px}.dialog-star{font-size:35px;color:var(--gold)}dialog .overline{margin-top:15px}dialog h2{font-size:23px;line-height:1.6;margin-top:15px}.dialog-info{font-size:11px;color:var(--muted);line-height:1.9;margin-top:15px;white-space:pre-line;overflow-wrap:anywhere}#preview-summary{text-align:left;margin:23px 0;background:#edf1ef;padding:20px;font-size:12px;line-height:1.8;overflow-wrap:anywhere}#preview-summary h3{font-size:13px;margin-bottom:12px}#preview-summary p{margin:6px 0}#preview-summary .summary-person{padding:9px 0;border-top:1px solid var(--line)}dialog .primary-button{margin:auto}.summary-email{font-size:11px;color:var(--muted)}
@media(min-width:1450px){.hero-copy{padding-left:max(6%,calc((100vw - 1250px)/2));padding-right:4%}}
@media(max-width:950px){.hero-copy{padding:28px 5%}.intro-en{font-size:37px}h1{font-size:32px}.hero-company{margin-top:22px}.image-caption p{font-size:32px}.image-topline{font-size:7px;letter-spacing:1px;left:20px;right:20px}.panel-layout,.program-layout,.rsvp-layout{gap:35px;padding:32px 6%}.details h2{font-size:29px}.detail-row{grid-template-columns:55px 1fr;gap:10px}.detail-row p{font-size:17px}.rsvp-en{font-size:58px}.rsvp-intro h2{font-size:21px}.rsvp-form{padding:22px}}
@media(max-width:700px){:root{--header-height:62px;--controls-height:60px}.header{padding:0 6%}.wordmark{font-size:12px;letter-spacing:1.4px;gap:9px}.mark{font-size:27px}.wordmark-sub{font-size:7px;letter-spacing:.7px;margin-top:5px}.header nav{font-size:10px;gap:0}.header nav>a:not(.nav-rsvp){display:none}.nav-rsvp span{margin-left:9px}.nav-rsvp{padding:8px 0}.hero-copy{width:100%;padding:25px 8% 27px;min-height:100%;justify-content:center}.hero-visual{width:100%;opacity:.14}.hero-image{object-position:center 48%}.image-shade{background:linear-gradient(90deg,rgba(247,244,236,.3),rgba(247,244,236,.2))}.image-topline,.image-caption{display:none}.eyebrow{font-size:8px;letter-spacing:1.8px}.intro-en{font-size:39px;margin-top:25px}.intro-en em{color:#64808e}.hero-company{font-size:11px;margin-top:25px;letter-spacing:1.5px}h1{font-size:32px;line-height:1.6;margin-top:9px;letter-spacing:-1px}h1 span{font-size:.5em;display:inline-block}.hero-description{font-size:12px;margin-top:16px;line-height:1.9}.hero-meta{font-size:10px;gap:23px;padding-top:21px}.hero-copy>.primary-button{margin-top:23px}.hero-bottom{font-size:10px;margin-top:17px}.panel-layout,.program-layout,.rsvp-layout{display:block;padding:26px 7%;min-height:100%}.details-heading>.overline{margin-top:22px;font-size:10px}.details h2{font-size:26px;line-height:1.6;margin-top:11px}.details h2 br{display:none}.invitation-copy{font-size:11px;line-height:1.9;margin-top:16px}.desktop-break{display:none}.invitation-appeal{font-size:10px;line-height:1.8;margin-top:12px}.event-information{margin-top:24px}.detail-row{grid-template-columns:52px 1fr;gap:12px;padding:19px 0}.detail-index{font-size:8px}.detail-row h3{font-size:10px}.detail-row p{font-size:17px;margin-top:7px}.detail-row .address{font-size:10px;margin-top:8px}.event-time{display:inline;font-size:21px;margin-left:9px}.text-link{font-size:10px;margin-top:9px}.reply-deadline{padding:17px 0 0;gap:13px}.reply-deadline>p{font-size:12px}.reply-deadline>a{font-size:10px}.program-en{display:none}.program h2{font-size:27px;margin-top:22px}.program-heading>p:not(.program-en){font-size:11px;line-height:1.8;margin-top:11px}.program-heading>p:not(.program-en) br{display:none}.program-date{font-size:9px;letter-spacing:1.3px;margin-top:14px}.schedule-wrap{margin-top:29px}.schedule th:first-child{width:42%}.schedule thead th{font-size:9px;padding-bottom:12px}.schedule tbody th,.schedule td{padding:18px 4px 18px 0}.schedule tbody th{font-size:11px}.schedule td{font-size:12px}.schedule-note{font-size:9px;margin-top:17px}.schedule-wrap>.primary-button{font-size:11px;padding:15px 21px;margin-top:22px}.rsvp-layout{padding:23px 6% 16px}.rsvp-en{display:none}.rsvp-intro h2{font-size:23px;margin-top:19px}.rsvp-intro>p:not(.rsvp-en){font-size:11px;margin-top:12px;line-height:1.9}.preview-note{margin-top:17px;padding-top:13px}.preview-note strong{font-size:10px}.preview-note p{font-size:9px;line-height:1.8;margin-top:6px}.rsvp-form{margin-top:23px;padding:21px 17px}.form-top{margin-bottom:22px}.form-top h3{font-size:14px}.attendee-card{padding:16px 13px 18px}.field-pair{gap:10px}input{padding:11px 10px;font-size:16px}.rsvp-closing{padding-bottom:20px;font-size:9px}.deck-controls{gap:16px}.page-arrow{width:42px;height:38px;font-size:17px}.page-navigation{min-width:160px}.page-dots button{width:33px}.page-dots{height:20px}dialog{padding:36px 22px}dialog h2{font-size:21px}}
@media(max-height:690px) and (max-width:700px){.hero-copy{padding-top:20px;padding-bottom:20px}.intro-en{font-size:31px;margin-top:17px}.hero-company{margin-top:17px}h1{font-size:28px;margin-top:6px}.hero-description{font-size:11px;margin-top:11px}.hero-meta{padding-top:13px;font-size:9px}.hero-copy>.primary-button{margin-top:17px;padding:14px 20px;font-size:11px}.hero-bottom{margin-top:12px;font-size:9px}.panel-layout,.program-layout{padding-top:21px;padding-bottom:21px}.details-heading>.overline{display:none}.details h2{font-size:24px;margin-top:18px}.invitation-copy{font-size:10px;margin-top:12px}.invitation-appeal{display:none}.event-information{margin-top:19px}.detail-row{padding:15px 0}.detail-row p{font-size:15px}.reply-deadline{padding-top:13px}.program h2{font-size:25px;margin-top:17px}.program-heading>p:not(.program-en){display:none}.program-date{margin-top:9px}.schedule-wrap{margin-top:20px}.schedule tbody th,.schedule td{padding-top:14px;padding-bottom:14px}.schedule-note{margin-top:13px}.schedule-wrap>.primary-button{margin-top:16px;padding:13px 19px}.rsvp-intro h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(max-height:640px) and (max-width:700px){.intro-en{display:none}.hero-company{margin-top:24px}.hero-copy{padding-top:28px;padding-bottom:28px}}
@media(max-height:690px) and (max-width:700px){.schedule-note,.schedule-wrap>.primary-button{display:none}}.page-dots{height:34px}.page-dots button{width:40px;height:38px}.page-arrow{width:44px;height:42px}

/* Quiet coastal motion. Only the visible panel animates. */
.brand-logo-window{display:block;width:218px;height:62px;overflow:hidden}.brand-logo-window img{display:block;width:auto;height:62px;max-width:none}
.intro-en{font-size:31px;margin-top:19px;line-height:1.05}.hero-company{margin-top:20px}h1{font-size:43px;line-height:1.5}.hero-description{font-size:13px}.hero-venue{font-size:12px;color:var(--muted);margin-top:9px}.hero-meta{font-size:11px;padding-top:16px}.hero-bottom{margin-top:15px}.motion-toggle{align-self:flex-start;border:0;border-bottom:1px solid #b4bfba;padding:4px 0;background:transparent;font-size:10px;color:#5c747d;margin-top:13px;min-height:30px}.motion-toggle:disabled{opacity:.65}
.ambient-scene{position:absolute;inset:0;overflow:hidden;pointer-events:none}.cloud{position:absolute;width:125%;height:28%;left:-28%;top:8%;background:radial-gradient(ellipse at 25% 50%,rgba(255,250,235,.45),transparent 51%),radial-gradient(ellipse at 72% 47%,rgba(255,255,247,.3),transparent 48%);animation:cloud-drift 34s ease-in-out infinite alternate;will-change:transform;opacity:.55}.cloud-two{top:26%;left:-45%;height:19%;animation-duration:43s;animation-delay:-19s;opacity:.32}.sea-light{position:absolute;inset:58% 0 4% 0;transform:rotate(-3deg)}.sea-light span{position:absolute;left:14%;width:68%;height:9%;top:12%;border-radius:50%;background:linear-gradient(90deg,transparent,rgba(255,234,175,.33),transparent);animation:sea-shimmer 9s ease-in-out infinite;opacity:.25}.sea-light span:nth-child(2){top:30%;left:24%;width:60%;animation-delay:-4s;animation-duration:12s}.sea-light span:nth-child(3){top:49%;left:6%;width:78%;animation-delay:-7s;animation-duration:14s}
.motion-paused .ambient-scene *,.page-hidden .ambient-scene *{animation-play-state:paused!important}
.primary-button,.submit-button,.page-arrow{transition:background .2s,transform .2s}.primary-button span,.submit-button span{transition:transform .2s}.primary-button:hover span,.submit-button:hover span{transform:translateX(4px)}.primary-button:active,.submit-button:active,.page-arrow:active{transform:scale(.98)}
.invitation-copy{font-size:14px;line-height:1.95}.invitation-appeal{font-size:13px}.detail-row .address{font-size:13px}.calendar-link{margin-top:17px;font-size:12px}.representative-field{margin-top:20px}.contact-note{font-size:11px;color:var(--muted);line-height:1.8;margin-top:7px}.attendee-contact{font-size:11px;color:var(--muted)}.attendee-contact summary{cursor:pointer;min-height:30px;line-height:30px}.attendee-contact summary span{color:#8b9385}.attendee-contact[open] .field{margin-top:9px}.remove-attendee{padding:9px 8px;top:-23px;min-height:34px}.form-note,.form-status{font-size:12px}.form-footnote{font-size:11px;line-height:1.7}
@keyframes cloud-drift{from{transform:translateX(-3%) translateY(0)}to{transform:translateX(22%) translateY(-4%)}}@keyframes sea-shimmer{0%,100%{transform:translateX(-4%) scaleX(.86);opacity:.15}50%{transform:translateX(6%) scaleX(1.09);opacity:.62}}
@media(max-width:700px){.brand-logo-window{width:172px;height:43px}.brand-logo-window img{height:49px;transform:translateY(-3px)}.hero-copy{padding-top:22px;padding-bottom:22px}.intro-en{font-size:28px;margin-top:22px}.hero-company{margin-top:25px}h1{font-size:35px;line-height:1.5}.hero-description{font-size:13px;margin-top:17px}.hero-meta{font-size:11px;gap:18px}.hero-venue{font-size:12px;margin-top:8px}.hero-visual{opacity:1;background:var(--paper)}.hero-image{opacity:.18}.image-shade{background:linear-gradient(90deg,rgba(247,244,236,.35),rgba(247,244,236,.15))}.ambient-scene{opacity:.5}.cloud{opacity:.35}.sea-light{inset:58% -20% 4% -20%}.sea-light span{background:linear-gradient(90deg,transparent,rgba(178,151,93,.3),transparent)}.hero-bottom{margin-top:14px}.motion-toggle{margin-top:8px;font-size:10px}.details h2{font-size:26px}.invitation-copy{font-size:13px;line-height:1.9}.invitation-appeal{font-size:12px}.detail-row .address{font-size:12px;line-height:1.8}.event-information{margin-top:21px}.detail-row{padding:17px 0}.detail-row h3{font-size:11px}.reply-deadline>a{font-size:12px}.calendar-link{font-size:12px;margin-top:18px}.schedule tbody th{font-size:12px}.schedule td{font-size:13px}.rsvp-intro>p:not(.rsvp-en){font-size:13px}.preview-note p{font-size:11px}.preview-note strong{font-size:12px}.field{font-size:12px}.contact-note{font-size:11px}.rsvp-closing{font-size:11px}.representative-field{margin-top:20px}}
@media(max-height:690px) and (max-width:700px){.intro-en{display:none}.hero-company{margin-top:18px}h1{font-size:31px}.hero-copy{padding-top:19px;padding-bottom:19px}.hero-description{font-size:12px;margin-top:12px}.hero-meta{font-size:10px;padding-top:12px}.hero-copy>.primary-button{margin-top:16px}.hero-bottom{display:none}.motion-toggle{margin-top:7px}.details h2{font-size:23px;margin-top:15px}.invitation-copy{font-size:12px;margin-top:11px}.detail-row{padding:11px 0}.detail-row .address{font-size:11px;margin-top:6px}.event-information{margin-top:15px}.reply-deadline{padding-top:11px}.calendar-link{margin-top:12px}.schedule tbody th{font-size:11px}.schedule td{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ambient-scene{display:none}}
@media(max-height:690px) and (max-width:700px){.details .panel-layout{padding-top:16px;padding-bottom:16px}.details h2{margin-top:12px}.invitation-copy{line-height:1.7}.event-information{margin-top:12px}.detail-row{padding:9px 0}.calendar-link{margin-top:8px}}

/* Content can grow beyond one screen. The backdrop never restarts on navigation. */
:root{color-scheme:only light;--panel-height:calc(var(--app-height) - var(--header-height) - var(--controls-height))}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{height:var(--app-height);display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.header{grid-area:1/1;height:auto;min-height:var(--header-height);padding:calc(6px + env(safe-area-inset-top,0px)) max(5%,env(safe-area-inset-right,0px)) 6px max(5%,env(safe-area-inset-left,0px));gap:14px}.header nav{flex-shrink:0;white-space:nowrap}.deck-controls{grid-area:3/1;height:auto;min-height:var(--controls-height);padding:6px 12px calc(6px + env(safe-area-inset-bottom,0px))}.invite-deck{grid-area:2/1;z-index:1;height:auto;min-height:0;scroll-snap-type:y mandatory}.invite-panel{height:auto;min-height:var(--panel-height);overflow:visible;scroll-snap-stop:always}.panel-layout,.program-layout,.rsvp-layout{min-height:var(--panel-height);height:auto}.hero{background:transparent}.hero-copy{min-height:var(--panel-height);background:var(--paper)}.hero-visual{background:transparent;pointer-events:none}.details{background:rgba(247,244,236,.93)}.program{background:rgba(237,241,239,.93)}.rsvp{background:rgba(240,241,233,.96)}
.coastal-backdrop{grid-area:2/1;position:relative;margin-left:52%;overflow:hidden;pointer-events:none;z-index:0;min-height:0;background:#d5cbb4}.coastal-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%}.coastal-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,43,29,.08),transparent 35%,rgba(15,40,52,.35))}.ambient-scene{opacity:1}.cloud{width:64%;height:18%;left:-70%;top:9%;opacity:.52;background:radial-gradient(ellipse at 28% 54%,rgba(255,255,244,.52),transparent 54%),radial-gradient(ellipse at 67% 44%,rgba(255,248,232,.37),transparent 52%);animation:cloud-pass 58s linear infinite;filter:blur(8px)}.cloud-two{width:78%;height:21%;left:-85%;top:22%;opacity:.3;animation-duration:77s;animation-delay:-42s}.cloud-three{width:53%;height:15%;left:-60%;top:4%;opacity:.26;animation-duration:91s;animation-delay:-22s}.water-ripples{position:absolute;left:0;top:57%;width:100%;height:26%;opacity:.15;overflow:hidden}.ripple-flow{animation:water-flow 14s linear infinite;will-change:transform}.motion-paused .ambient-scene *,.page-hidden .ambient-scene *{animation-play-state:paused!important}.schedule td,.schedule tbody th{overflow-wrap:anywhere}.schedule tbody th{white-space:normal}.calendar-link,.text-link,.reply-deadline>a{min-height:30px}.rsvp-closing{overflow-wrap:anywhere}
@keyframes cloud-pass{from{transform:translateX(0)}to{transform:translateX(330%)}}@keyframes water-flow{from{transform:translateX(0)}to{transform:translateX(-120px)}}
@media(max-width:700px){.header{padding-left:max(6%,env(safe-area-inset-left,0px));padding-right:max(6%,env(safe-area-inset-right,0px))}.brand-logo-window{--logo-size:clamp(128px,43vw,172px);width:var(--logo-size);height:calc(var(--logo-size)/3.5)}.brand-logo-window img{height:calc(var(--logo-size)/3.5);transform:none}.coastal-backdrop{margin-left:0;background:var(--paper)}.coastal-image{opacity:.2;object-position:center 48%}.coastal-shade{background:linear-gradient(90deg,rgba(247,244,236,.3),rgba(247,244,236,.12))}.hero-copy{background:transparent}.ambient-scene{opacity:.7}.cloud{opacity:.38}.water-ripples{opacity:.12}.deck-controls{gap:8px}.page-navigation{min-width:150px}.page-dots button{width:34px}.hero-copy,.panel-layout,.program-layout,.rsvp-layout{padding-left:max(7%,env(safe-area-inset-left,0px));padding-right:max(7%,env(safe-area-inset-right,0px));padding-bottom:30px}.schedule-wrap>.primary-button{display:none}.schedule tbody th{font-variant-numeric:tabular-nums}.details .panel-layout{padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){.ambient-scene{display:none}}
dialog{max-height:calc(var(--app-height) - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}

/* Daylight palette: light surfaces, airline blue and restrained champagne details. */
.header,.deck-controls{background:var(--paper);border-color:var(--line)}
.hero-copy{background:var(--paper)}
.details{background:rgba(255,253,248,.98)}
.program{background:rgba(243,248,250,.98)}
.rsvp{background:rgba(247,249,252,.99)}
.coastal-backdrop{background:#e9f3f5}
.coastal-image{filter:brightness(1.2) saturate(.68)}
.coastal-shade{background:linear-gradient(180deg,rgba(247,251,253,.25),rgba(250,252,250,.1) 48%,rgba(247,251,253,.3))}
.image-topline,.image-caption{color:#173e61;text-shadow:0 1px 6px rgba(255,255,255,.6)}
.caption-line{background:#876b38}
.intro-en em,.program-en em,.rsvp-en em{color:#477385}
.eyebrow,.invitation-appeal,.schedule tbody th,.field,.attendee-card legend,.remove-attendee,.add-button,.form-note,.form-footnote,.max-note,.attendee-contact summary span{color:var(--muted)}
.primary-button,.submit-button{color:#fff;border-radius:3px;background:var(--green);border-color:var(--green)}
.primary-button:hover,.submit-button:hover{background:#064b73}
.page-arrow{border-color:#ccdce5;border-radius:3px}
.page-arrow:not(:disabled):hover,.add-button:hover{background:#eaf3f8}
.page-dots span{background:#b9cbd7}
.page-dots [aria-current] span{background:var(--green)}
.rsvp-form{border:1px solid #dde7ed;border-radius:10px;box-shadow:0 8px 30px rgba(25,65,86,.04)}
input{background:#fff;border-color:#d3e0e8;border-radius:4px}
input::placeholder{color:#687d87}
input:focus{border-color:var(--green)}
.attendee-card{border-color:#dce6ec;border-radius:6px}
.add-button{border-color:#adc4d2;border-radius:4px}
.schedule thead th{border-color:#c8d9e3}
.schedule tbody th,.schedule td{border-color:#d6e3eb}
.text-link{border-color:#93b2c6}
.reply-deadline>p{color:var(--ink)}
dialog{background:var(--paper);border-color:var(--line);border-radius:10px}
dialog::backdrop{background:rgba(32,60,77,.35)}
#preview-summary{background:var(--sky);border-radius:6px}
.consent-field{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.8;margin:18px 0;color:var(--muted)}
.consent-field input{width:17px;height:17px;flex:none;margin:3px 0 0;padding:0;accent-color:var(--green)}
.privacy-details{font-size:11px;line-height:1.9;color:var(--muted);margin:10px 0 18px}
.privacy-details summary{cursor:pointer;min-height:30px}
.privacy-details p{margin-top:8px}
@media(max-width:700px){
 .hero-copy{background:rgba(255,253,248,.91)}
 .coastal-image{opacity:.32}
 .coastal-shade{background:rgba(255,253,248,.12)}
 .rsvp-form{box-shadow:none}
}

/* The final page is a readable form, with no decorative tail or snap back. */
html,body{background-color:var(--paper);color:var(--ink);color-scheme:only light}
.header,.deck-controls,.rsvp-form{color:var(--ink)}
.invite-deck[data-active-panel="rsvp"]{scroll-snap-type:none}
.rsvp-layout{padding-top:24px;padding-bottom:24px}
.rsvp-form{padding:22px}
.form-top{margin-bottom:14px}
.contact-fields{display:grid;gap:12px;min-width:0}
.contact-fields .representative-field{margin-top:0}
.contact-fields .field{min-width:0}
.rsvp-form input:not([type="checkbox"]){min-height:44px;padding:10px 12px;margin-top:6px;background:#fff;color:var(--ink);font-size:16px}
.attendees-heading{margin:16px 0 9px}
.attendee-card{padding:14px;margin-bottom:10px}
.field-pair{margin-bottom:8px}
.attendee-contact summary{min-height:28px;line-height:28px}
.add-button{min-height:44px;padding:9px 12px}
.privacy-group{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 12px;margin:12px 0}
.privacy-group .consent-field{margin:0;min-height:44px;align-items:center;gap:8px;font-size:12px}
.privacy-group .consent-field input{margin:0}
.privacy-group .privacy-details{margin:0}
.privacy-group .privacy-details summary{min-height:44px;display:flex;align-items:center;gap:5px}
.privacy-group .privacy-details summary::before{content:'▸'}
.privacy-group .privacy-details[open]{grid-column:1/-1}
.privacy-group .privacy-details[open] summary::before{content:'▾'}
.privacy-group .privacy-details p{margin-top:0;overflow-wrap:anywhere}
.form-status:empty,.limit-message:empty{display:none}
.submit-button{min-height:46px;padding:14px 18px}
@media(min-width:390px){.contact-fields{grid-template-columns:1fr 1fr}}
@media(max-width:700px){
 .rsvp-layout{padding:12px 6%}
 .rsvp-intro .section-label{display:none}
 .rsvp-intro h2{font-size:22px;line-height:1.5;margin-top:0}
 .rsvp-intro>p:not(.rsvp-en){font-size:12px;line-height:1.8;margin-top:6px}
 .rsvp-form{padding:14px;margin-top:12px;margin-bottom:0}
 .rsvp-form .form-top{margin-bottom:10px}
 .rsvp-form .field{line-height:1.4}
 .rsvp-form .attendees-heading{margin:12px 0 8px}
 .rsvp-form .privacy-group{margin:8px 0}
}

/* Static field paper keeps native inputs in place, including when focused. */
.field>.field-paper{display:block;min-width:0;margin:6px 0 0;color:inherit}
.rsvp-form .field-paper>input:not([type="checkbox"]){margin-top:0}
/* Static surfaces retain the paired plates, but Samsung can still dim them.
   They are not an opt-out from Force Dark and are never used behind field text. */
.daylight-paint body,.daylight-paint .header,.daylight-paint .deck-controls,
.daylight-paint .hero-copy,.daylight-paint .details,.daylight-paint dialog,
.daylight-paint .program,.daylight-paint .rsvp,
.daylight-paint .rsvp-form,.daylight-paint .attendee-card,
.daylight-paint .add-button,.daylight-paint .brand-logo-window{
 background-image:url('/assets/check-left.png'),url('/assets/check-right.png');
 background-size:100% 100%;background-repeat:no-repeat;
}
/* Samsung can dim the backdrop or alter field text before blending. Difference
   then makes gray-on-gray text disappear. Real fields keep native color pairs. */
.daylight-paint .field-paper{background-image:none;border-radius:4px}
.daylight-paint .field-paper>input{
 appearance:auto;background:#fff;color:var(--ink);-webkit-text-fill-color:currentColor;
 caret-color:currentColor;border-color:#d3e0e8;mix-blend-mode:normal;
}
.daylight-paint .field-paper>input::placeholder{color:#687d87;-webkit-text-fill-color:currentColor;opacity:1}
.daylight-paint .field-paper:focus-within{outline:2px solid #075d8c;outline-offset:2px}
.daylight-paint .field-paper>input:focus{outline:none}
/* Autofill is browser-owned; preserve its native paired colors. */
.daylight-paint .field-paper>input:is(:autofill,:-webkit-autofill){
 mix-blend-mode:normal;background:Field;color:FieldText;
 -webkit-text-fill-color:FieldText;caret-color:FieldText;
}
.daylight-paint .schedule th,.daylight-paint .schedule td{
 border-bottom-color:transparent;
 background-image:linear-gradient(rgba(23,62,97,.16),rgba(23,62,97,.16));
 background-size:100% 1px;background-position:bottom;background-repeat:no-repeat;
}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .daylight-paint .daylight-text{
  display:inline;background-image:linear-gradient(var(--daylight-ink),var(--daylight-ink));
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  box-decoration-break:clone;-webkit-box-decoration-break:clone;
 }
 .daylight-paint .daylight-text::selection{background:#bedbeb;-webkit-text-fill-color:var(--daylight-ink);color:var(--daylight-ink)}
}
/* A faint continuous cloud remains visible over the protected cover paper. */
.daylight-paint .hero-copy::after{
 content:'';position:absolute;pointer-events:none;left:-65%;top:9%;width:68%;height:22%;
 background:radial-gradient(ellipse,rgba(220,236,241,.3),transparent 68%);filter:blur(14px);
 animation:cloud-pass 58s linear infinite;
}
.daylight-paint .hero-copy>*{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.daylight-paint .hero-copy::after{display:none}}
.motion-paused .hero-copy::after,.page-hidden .hero-copy::after{animation-play-state:paused!important}
@media(forced-colors:active){
 .daylight-paint body,.daylight-paint .header,.daylight-paint .deck-controls,.daylight-paint .hero-copy,
 .daylight-paint .details,.daylight-paint .program,.daylight-paint .rsvp,.daylight-paint dialog,
 .daylight-paint .rsvp-form,.daylight-paint .attendee-card,.daylight-paint .add-button,.daylight-paint .brand-logo-window,.daylight-paint .field-paper{background-image:none}
 .daylight-paint .field-paper>input{mix-blend-mode:normal;appearance:auto;background:Field;color:FieldText;-webkit-text-fill-color:FieldText;caret-color:FieldText;border-color:FieldText}
 .daylight-paint .schedule th,.daylight-paint .schedule td{background-image:none;border-bottom-color:CanvasText}
 .daylight-text{background-image:none!important;-webkit-text-fill-color:currentColor!important}
 .daylight-paint .hero-copy::after{display:none}
}
@media print{
 .daylight-paint .field-paper{background-image:none}
 .daylight-paint .field-paper>input{mix-blend-mode:normal;appearance:auto;background:white;color:black;-webkit-text-fill-color:black;caret-color:black;border-color:black}
 .daylight-paint .field-paper>input::placeholder{color:#555;-webkit-text-fill-color:#555}
 .daylight-text{background-image:none!important;-webkit-text-fill-color:currentColor!important}
 .daylight-paint .hero-copy::after{display:none}
}

/* Guest readability: keep meaningful copy readable even in short viewports.
   Panels grow and scroll instead of shrinking type to fit a single screen. */
.hero-description,.invitation-copy,.invitation-appeal,
.program-heading>p:not(.program-en),.rsvp-intro>p:not(.rsvp-en){font-size:15px;line-height:1.85}
.hero-meta,.hero-venue,.detail-row .address{font-size:14px;line-height:1.8}
.header nav,.detail-row h3,.reply-deadline>span,.program-date{font-size:13px}
.nav-rsvp{display:inline-flex;align-items:center;min-height:44px}
.schedule tbody th,.schedule td{font-size:15px;line-height:1.7}
.schedule thead th{font-size:13px}
.primary-button,.submit-button{font-size:16px;min-height:48px}
.field,.attendees-heading h4,.add-button,.attendee-contact,.privacy-group .consent-field{font-size:14px;line-height:1.7}
.form-top>span,.attendee-card legend,.attendees-heading>span,.max-note,
.privacy-details,.form-status,.limit-message,.dialog-info,.summary-email{font-size:13px;line-height:1.8}
.form-top h3{font-size:17px}
.hero-bottom,.schedule-note{font-size:13px;line-height:1.8}
.text-link,.reply-deadline>a{font-size:15px;min-height:44px;display:inline-flex;align-items:center}
.attendee-contact summary{min-height:44px;line-height:1.7;padding:10px 0}
.remove-attendee{font-size:13px;min-height:44px;top:-30px;padding:8px 10px;border-radius:4px}
.consent-field input{width:22px;height:22px}
#page-status{font-size:12px;line-height:1.5;letter-spacing:.3px}
.page-arrow{min-width:44px;min-height:44px}
.page-dots{height:44px;gap:0}
.page-dots button{width:44px;height:44px}
.page-navigation{min-width:176px}
.deck-controls{min-height:76px}
@media(max-width:700px){
 .hero-description,.invitation-copy,.invitation-appeal,
 .program-heading>p:not(.program-en),.rsvp-intro>p:not(.rsvp-en){font-size:16px;line-height:1.8}
 .hero-meta{font-size:14px;letter-spacing:.7px;gap:18px;flex-wrap:wrap}
 .hero-venue,.detail-row .address{font-size:15px}
 .hero-company{font-size:14px;letter-spacing:1px}
 .eyebrow,.section-label{font-size:11px;letter-spacing:1.5px}
 .section-label>span,.detail-index{font-size:11px}
 .detail-row{grid-template-columns:45px minmax(0,1fr);gap:12px}
 .detail-row p{font-size:18px;overflow-wrap:anywhere}
 .detail-row small{font-size:14px}
 .event-time{font-size:25px}
 .reply-deadline>p{font-size:16px}
 .details-heading>.overline{font-size:13px}
 .program-heading>p:not(.program-en){display:block}
 .program-date{font-size:13px;letter-spacing:.7px}
 .schedule th:first-child{width:43%}
 .schedule tbody th,.schedule td{font-size:15px;padding-top:16px;padding-bottom:16px}
 .schedule thead th{font-size:13px}
 .schedule-note{display:block;font-size:13px}
 .rsvp-intro h2{font-size:25px;line-height:1.6;letter-spacing:-.5px}
 .rsvp-form{padding:18px 16px;margin-top:18px}
 .contact-fields{grid-template-columns:minmax(0,1fr);gap:16px}
 .rsvp-form .field{font-size:14px;line-height:1.6}
 .rsvp-form input:not([type="checkbox"]){min-height:48px}
 .attendee-card{margin-top:12px;padding:16px 12px}
 .field-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
 .privacy-group{grid-template-columns:minmax(0,1fr);gap:0}
 .privacy-group .consent-field{font-size:14px;min-height:48px}
 .privacy-group .privacy-details{padding-left:30px}
 .privacy-group .privacy-details[open]{padding-left:0}
 .privacy-details p{font-size:14px;line-height:1.85}
 .primary-button,.submit-button{font-size:16px;min-height:50px}
 .hero-copy>.primary-button{font-size:16px;min-height:50px}
 .deck-controls{gap:8px}
}
@media(max-width:359px){.field-pair{grid-template-columns:minmax(0,1fr);gap:12px}}
