:root{color-scheme:light;--color-stone-0: #ffffff;--color-stone-50: #fbfaf8;--color-stone-100: #f5f5f4;--color-stone-200: #e7e5e4;--color-stone-300: #d6d3d1;--color-stone-500: #79716b;--color-stone-600: #57534d;--color-stone-800: #2b2f2b;--color-stone-950: #1c1917;--color-sage-100: #e2e9e9;--color-sage-300: #becbc8;--color-cream-100: #fbf3e6;--color-cream-300: #ead3b4;--color-apricot-300: #f8a46e;--color-apricot-500: #f07221;--color-red-700: #961d1f;--color-gray-alpha-1: rgb(0 0 0 / .01);--color-gray-alpha-2: rgb(0 0 0 / .02);--color-gray-alpha-4: rgb(0 0 0 / .09);--color-gray-alpha-6: rgb(0 0 0 / .16);--color-gray-alpha-8: rgb(0 0 0 / .27);--color-canvas: var(--color-stone-50);--color-surface-1: var(--color-stone-0);--color-surface-2: var(--color-stone-100);--color-surface-3: var(--color-stone-200);--color-text-1: var(--color-stone-950);--color-text-2: var(--color-stone-800);--color-text-3: var(--color-stone-500);--color-label-secondary: var(--color-text-3);--color-label-control: #000000;--color-border-1: var(--color-gray-alpha-4);--color-border-2: var(--color-gray-alpha-8);--color-switch-border: #e6e6e6;--color-primary: var(--color-stone-950);--color-primary-contrast: #ffffff;--color-danger: var(--color-red-700);--color-danger-surface: #fff1ef;--color-accent-1: var(--color-sage-300);--color-accent-2: var(--color-cream-300);--color-accent-3: var(--color-apricot-500);--color-focus: var(--color-stone-950);--space-0: 0;--space-1: .125rem;--space-2: .25rem;--space-3: .5rem;--space-4: .75rem;--space-5: 1rem;--space-6: 1.125rem;--space-7: 1.5rem;--space-8: 2rem;--space-9: 2.5rem;--space-10: 3rem;--radius-0: 0;--radius-1: .25rem;--radius-2: .5rem;--radius-3: .5625rem;--radius-form: .75rem;--radius-4: 1rem;--radius-pill: 33554400px;--font-body: "SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-heading: "Family VF", "Test Family VF", "Test_Family_VF", Family, Georgia, "Times New Roman", serif;--font-size-0: .75rem;--font-size-1: .875rem;--font-size-2: .9375rem;--font-size-3: 1.10625rem;--font-size-4: 1.59375rem;--font-size-5: 2.29375rem;--line-height-1: 1;--line-height-2: 1.25rem;--line-height-3: 1.375rem;--line-height-4: 1.625rem;--line-height-heading-sm: 1.875rem;--line-height-heading-lg: 2.5rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-bold: 700;--size-control-sm: 2rem;--size-control-md: 2.75rem;--size-control-form: 3rem;--size-control-lg: 3.25rem;--size-plus-one-event-row: 2.5rem;--size-page: 24.375rem;--size-event-card: 21.0625rem;--size-event-card-height: 26.25rem;--duration-1: .12s;--duration-2: .18s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--shadow-1: 0 0 0 1px var(--color-gray-alpha-1), 0 0 1px var(--color-gray-alpha-8), 0 1px 2px var(--color-gray-alpha-4);--shadow-2: 0 0 0 1px var(--color-gray-alpha-1), 0 0 .5px var(--color-gray-alpha-8), 0 1px 1px var(--color-gray-alpha-4);--shadow-3: 0 0 0 1px var(--color-gray-alpha-1), 0 0 .5px var(--color-gray-alpha-8), 0 1px 1px var(--color-gray-alpha-2), 0 1px 1.5px var(--color-gray-alpha-4);font-family:var(--font-body);background:var(--color-canvas);color:var(--color-text-1);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,.root{min-width:320px;min-height:100%;margin:var(--space-0);background:var(--color-canvas)}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.root{display:grid;place-items:start center;isolation:isolate}.app-shell{position:relative;display:grid;grid-template-rows:4rem minmax(0,1fr) auto;width:min(100%,var(--size-page));height:100svh;min-height:100svh;margin:var(--space-0) auto;overflow:hidden;background:var(--color-canvas)}.app-shell:before,.app-shell:after{position:absolute;z-index:0;display:block;background-image:url(/assets/bg-floral.png);background-position:center;background-size:cover;content:"";filter:blur(.5px);pointer-events:none}.app-shell:before{top:-14.125rem;left:-9.0625rem;width:23.1875rem;height:21.0625rem}.app-shell:after{bottom:-12.75rem;left:0;width:26.3125rem;height:23.875rem}.site-header,.layout-content,.app-footer{position:relative;z-index:1}.site-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-width:0;padding:.625rem 1.5rem}.event-date{min-width:0;margin:var(--space-0);color:var(--color-text-2);font-size:var(--font-size-2);font-weight:var(--font-weight-regular);line-height:var(--line-height-3)}.language-trigger{display:inline-flex;align-items:center;justify-content:center;width:var(--size-control-md);height:var(--size-control-md);border:0;border-radius:var(--radius-pill);padding:var(--space-0);background:var(--color-surface-1);box-shadow:inset 0 0 0 1px var(--color-border-1),var(--shadow-2);cursor:pointer;transition-duration:var(--duration-2);transition-property:background-color,box-shadow,transform;transition-timing-function:var(--ease-standard)}.language-trigger[data-popup-open],.language-trigger:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--color-focus),var(--shadow-2)}.flag-icon{display:block;width:1.375rem;height:1.375rem;border-radius:var(--radius-pill);object-fit:cover}.language-positioner{z-index:20}.language-popup{min-width:11rem;border-radius:var(--radius-3);padding:var(--space-2);background:var(--color-surface-1);box-shadow:inset 0 0 0 1px var(--color-border-1),0 8px 24px #0000001a}.language-list{display:grid;gap:var(--space-1);outline:0}.language-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);min-height:var(--size-control-md);border-radius:var(--radius-2);padding:var(--space-2) var(--space-3);color:var(--color-text-3);cursor:pointer;font-size:var(--font-size-1)}.language-item[data-highlighted]{color:var(--color-text-1);background:var(--color-surface-2)}.language-item[data-selected]{color:var(--color-text-1);font-weight:var(--font-weight-bold)}.language-item-indicator{display:inline-flex;color:var(--color-text-1);opacity:0}.language-item-indicator[data-selected]{opacity:1}.layout-content{min-height:0;overflow-y:auto;scrollbar-gutter:stable}.screen{display:grid;align-content:start;gap:var(--space-4);min-height:100%;padding:1.5rem}.home-screen,.rsvp-screen{grid-template-rows:auto minmax(0,1fr) auto}.centered-screen,.confirmation-screen{align-content:center;justify-items:center;text-align:center}.confirmation-intro{width:100%;justify-items:center}.intro-block{display:grid;gap:var(--space-5)}.intro-block.compact{gap:var(--space-5)}.hero-copy{justify-items:center;padding-inline:var(--space-5);position:relative;z-index:2;text-align:center}.eyebrow,.event-eyebrow,.micro-label{margin:var(--space-0);color:var(--color-label-secondary);font-size:var(--font-size-0);font-weight:var(--font-weight-bold);line-height:var(--line-height-2);text-transform:uppercase}.micro-label{display:block;margin-bottom:var(--space-1)}h1,h2,p,figure{margin:var(--space-0)}h1,h2{color:var(--color-text-1);font-family:var(--font-heading);font-weight:var(--font-weight-medium);letter-spacing:0;text-wrap:balance}h1{max-width:19.375rem;font-size:var(--font-size-5);line-height:var(--line-height-heading-lg)}.compact h1{max-width:17rem}.confirmation-intro h1{width:100%;max-width:none;text-align:center}h2{font-size:var(--font-size-4);line-height:var(--line-height-heading-sm)}p{max-width:25rem;color:var(--color-text-3);font-size:var(--font-size-3);line-height:var(--line-height-4);text-wrap:pretty}.overview-event-rail{position:relative;z-index:1;display:flex;align-items:center;width:calc(100% + 3rem);margin-inline:-1.5rem;padding-inline:1.5rem;min-width:0;min-height:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-padding-inline:1.5rem;scroll-snap-type:x mandatory;scrollbar-width:none}.overview-event-rail::-webkit-scrollbar{display:none}.overview-events{display:flex;gap:.8125rem;align-items:center;width:max-content;padding-right:1.5rem}.overview-event-card{display:flex;flex:0 0 var(--size-event-card);flex-direction:column;align-items:center;justify-content:center;gap:var(--space-7);width:var(--size-event-card);height:var(--size-event-card-height);overflow:hidden;border-radius:var(--radius-4);padding:1.125rem;color:var(--color-text-2);scroll-snap-align:start;text-align:center;box-shadow:var(--shadow-3)}.overview-scroll-dots{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:.375rem;min-height:.875rem}.overview-scroll-dot{display:block;width:.375rem;height:.375rem;border-radius:var(--radius-pill);background:#1c191738;transition-duration:var(--duration-2);transition-property:background-color,width;transition-timing-function:var(--ease-standard)}.overview-scroll-dot[aria-current=true]{width:1.125rem;background:#1c1917b8}.event-civil{background:var(--color-sage-100)}.event-lunch{background:var(--color-cream-100)}.event-party{background:var(--color-apricot-300)}.overview-event-heading{display:grid;gap:var(--space-1);width:100%;padding-top:.625rem;text-align:center}.overview-event-heading time,.selection-event-copy time{font-variant-numeric:tabular-nums}.overview-event-heading time{color:var(--color-text-2);font-size:var(--font-size-2);line-height:var(--line-height-3)}.overview-event-image{width:16.5rem;height:10rem;overflow:hidden;background:#e0d2c0;border:.25rem solid var(--event-image-border)}.event-civil .overview-event-image{--event-image-border: var(--color-sage-300)}.event-lunch .overview-event-image{--event-image-border: var(--color-cream-300)}.event-party .overview-event-image{--event-image-border: var(--color-apricot-500)}.overview-event-image img{display:block;width:100%;height:100%;object-fit:cover}.event-civil .overview-event-image img{transform:scale(1.02) rotate(.42deg)}.event-lunch .overview-event-image img{height:120.76%;transform:translateY(-8.1%)}.event-party .overview-event-image img{width:118%;max-width:none;transform:translate(-7.5%,-13%) scale(1.16)}.overview-event-location{display:grid;gap:var(--space-0);width:100%;padding-top:.625rem;color:var(--color-text-2);font-size:var(--font-size-2);line-height:var(--line-height-3);text-align:center}.overview-event-location p{color:var(--color-text-2);font-size:var(--font-size-2);line-height:var(--line-height-3)}.overview-event-location address{color:#2b2f2b80;font-style:normal;line-height:var(--line-height-3);white-space:pre-line}.event-party .overview-event-location address{color:var(--color-red-700)}.app-footer{display:flex;align-items:center;gap:var(--space-3);min-width:0;padding:1rem 1.5rem}.button,.icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-pill);font-weight:var(--font-weight-regular);cursor:pointer;transition-duration:var(--duration-2);transition-property:background-color,color,box-shadow,transform,opacity;transition-timing-function:var(--ease-standard)}.button{min-height:var(--size-control-lg);padding:.75rem 1.5rem;font-size:1.125rem;line-height:1.75rem}.button:active,.icon-button:active,.language-trigger:active,.plus-one-checkbox:active,.segmented-control-item:active{transform:scale(.96)}.button[data-disabled]{cursor:wait;opacity:.64}.primary-button{color:var(--color-primary-contrast);background:var(--color-primary)}.footer-cta{flex:1 1 auto;width:100%;min-width:0}.icon-button{position:relative;flex:0 0 var(--size-control-lg);width:var(--size-control-lg);height:var(--size-control-lg);padding:var(--space-0);color:var(--color-text-1);background:var(--color-surface-1);box-shadow:inset 0 0 0 1px var(--color-border-1)}.selection-fieldset{min-width:0;min-height:0;margin:var(--space-0);border:0;padding:var(--space-0)}.selection-list{display:grid;align-content:center;gap:var(--space-3);min-height:100%;padding-block:var(--space-4)}.selection-event-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:5.875rem;overflow:hidden;border-radius:var(--radius-4);padding:1.125rem;box-shadow:var(--shadow-1)}.selection-event-copy{display:grid;flex:1 1 auto;gap:.375rem;min-width:0;color:var(--color-text-2)}.selection-event-copy time{min-width:0;color:var(--color-text-2);font-size:var(--font-size-2);line-height:var(--line-height-3);white-space:nowrap}.selection-event-copy h2{min-width:0;overflow-wrap:anywhere}.segmented-control{display:flex;flex:0 0 6.8125rem;align-items:center;justify-content:center;width:6.8125rem;height:var(--size-control-sm);overflow:hidden;border-radius:var(--radius-3);background:linear-gradient(#0000000f,#0000000f),linear-gradient(#ffffffe6,#ffffffe6)}.segmented-control-item{display:inline-flex;align-items:center;justify-content:center;flex:1 1 0;height:100%;min-width:0;border:0;border-radius:var(--radius-3);padding-inline:var(--space-3);color:var(--color-stone-600);background:transparent;font-family:var(--font-body);font-size:var(--font-size-1);font-weight:var(--font-weight-medium);line-height:var(--line-height-2);cursor:pointer;transition-duration:var(--duration-2);transition-property:background-color,box-shadow,color,transform;transition-timing-function:var(--ease-standard)}.segmented-control-item[data-pressed]{color:var(--color-text-1);background:var(--color-surface-1);box-shadow:var(--shadow-2)}.segmented-control-item:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--color-focus),var(--shadow-2)}.details-form{display:grid;gap:var(--space-4)}.details-form-panel{display:grid;gap:var(--space-4);width:100%}.form-field{display:grid;gap:var(--space-2)}.field-label{color:var(--color-label-secondary);font-size:var(--font-size-0);font-weight:var(--font-weight-bold);line-height:var(--line-height-2)}.text-input,.text-area{width:100%;border:0;border-radius:var(--radius-form);color:var(--color-text-1);background:#ffffffd1;box-shadow:var(--shadow-1)}.empty-state{width:100%;border:0;border-radius:var(--radius-4);color:var(--color-text-1);background:#ffffffd1;box-shadow:var(--shadow-1)}.text-input,.text-area{transition-duration:var(--duration-2);transition-property:box-shadow,background-color;transition-timing-function:var(--ease-standard)}.text-input{min-height:var(--size-control-form);padding-inline:var(--space-5)}.text-area{min-height:6rem;resize:vertical;padding:var(--space-4) var(--space-5);line-height:var(--line-height-3)}.text-input:focus,.text-area:focus{outline:0;box-shadow:inset 0 0 0 2px var(--color-focus),var(--shadow-1)}.text-input::placeholder,.text-area::placeholder{color:var(--color-text-3)}.switch-field{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-height:var(--size-control-form);border-radius:var(--radius-form);padding:var(--space-3);color:var(--color-text-1);background:var(--color-surface-1);font-size:var(--font-size-1);box-shadow:var(--shadow-1)}.switch-field .field-label{color:var(--color-label-control);font-size:var(--font-size-1);font-weight:var(--font-weight-medium)}.switch-root{position:relative;display:inline-flex;align-items:center;flex:0 0 2.75rem;width:2.75rem;height:1.625rem;border:0;border-radius:var(--radius-pill);padding:var(--space-0);background:var(--color-surface-3);box-shadow:inset 0 0 0 1px var(--color-switch-border);cursor:pointer;transition-duration:var(--duration-2);transition-property:background-color,box-shadow,transform;transition-timing-function:var(--ease-standard)}.switch-root:before{position:absolute;inset:-.4375rem -.25rem;content:""}.switch-root:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--color-focus)}.switch-root[data-checked]{background:var(--color-primary);box-shadow:inset 0 0 0 1px transparent}.switch-thumb{position:absolute;top:.25rem;left:.25rem;width:1.125rem;height:1.125rem;border-radius:var(--radius-pill);background:var(--color-surface-1);box-shadow:var(--shadow-2);transition:transform var(--duration-2) var(--ease-standard)}.switch-thumb[data-checked]{transform:translate(1.125rem)}.plus-one-toggle-card{display:grid;overflow:hidden;border-radius:var(--radius-form);background:var(--color-surface-1);box-shadow:var(--shadow-1)}.plus-one-toggle-card .switch-field{box-shadow:none}.plus-one-toggle-card.is-expanded{gap:var(--space-0)}.plus-one-toggle-header{border-radius:var(--radius-form);padding-inline:var(--space-5) var(--space-3)}.plus-one-toggle-card.is-expanded .plus-one-toggle-header{border-radius:var(--radius-0)}.plus-one-toggle-content{display:grid;gap:var(--space-0);border-top:1px solid var(--color-border-1);padding:var(--space-0)}.plus-one-name-section,.plus-one-events-section{padding:var(--space-5)}.plus-one-nested-switch{border-block:1px solid var(--color-border-1);border-radius:var(--radius-0);padding-inline:var(--space-5) var(--space-3);box-shadow:none}.plus-one-events{display:grid;gap:var(--space-2)}.plus-one-event-list{display:grid;gap:var(--space-0)}.plus-one-event-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--size-plus-one-event-row);border-bottom:1px solid transparent;border-radius:var(--radius-0);padding:var(--space-3) var(--space-0);color:var(--color-text-2);background:var(--color-surface-1)}.plus-one-event-row.readonly{color:var(--color-text-3)}.plus-one-event-row:not(:last-child){border-bottom-color:var(--color-border-1)}.plus-one-event-row.selectable{display:grid;grid-template-columns:minmax(0,1fr) 1.25rem;cursor:pointer}.plus-one-event-copy{display:grid;gap:var(--space-0);min-width:0}.plus-one-event-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plus-one-event-row span{min-width:0;color:var(--color-text-1);font-size:var(--font-size-0);font-weight:var(--font-weight-medium);line-height:var(--line-height-2)}.plus-one-event-row time{color:var(--color-text-3);font-size:var(--font-size-0);font-weight:var(--font-weight-regular);font-variant-numeric:tabular-nums;line-height:var(--line-height-2);white-space:nowrap}.plus-one-event-row.readonly span,.plus-one-event-row.readonly time{color:var(--color-text-3)}.plus-one-event-row.selectable span,.plus-one-event-row.selectable time{color:var(--color-text-1)}.plus-one-checkbox{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 1.25rem;width:1.25rem;height:1.25rem;border:1px solid var(--color-switch-border);border-radius:var(--radius-1);color:var(--color-primary-contrast);background:transparent;transition-duration:var(--duration-2);transition-property:background-color,border-color,transform;transition-timing-function:var(--ease-standard)}.plus-one-event-row .plus-one-checkbox{color:var(--color-primary-contrast)}.plus-one-checkbox:before{position:absolute;inset:-.4375rem;content:""}.plus-one-checkbox[data-checked]{background:var(--color-primary);border-color:var(--color-primary)}.plus-one-checkbox-indicator{display:inline-flex;opacity:0;color:var(--color-primary-contrast);line-height:var(--line-height-1);transform:scale(.5);transition-duration:var(--duration-2);transition-property:opacity,transform;transition-timing-function:var(--ease-standard)}.plus-one-event-row .plus-one-checkbox-indicator{color:var(--color-primary-contrast)}.plus-one-checkbox-indicator svg{display:block;color:var(--color-primary-contrast);stroke:currentColor}.plus-one-checkbox-indicator[data-checked]{opacity:1;transform:scale(1)}.plus-one-event-empty{padding:var(--space-3);border-radius:var(--radius-form);color:var(--color-text-3);background:var(--color-surface-1);box-shadow:var(--shadow-1);font-size:var(--font-size-1);line-height:var(--line-height-3)}.soft-note,.form-error{padding:var(--space-4) var(--space-5);border-radius:var(--radius-4);color:var(--color-danger);background:var(--color-danger-surface);font-size:var(--font-size-1);line-height:var(--line-height-3)}.empty-state{display:grid;gap:var(--space-5);padding:var(--space-6)}.confirmation-event-rail{justify-self:stretch}.confirmation-empty{color:var(--color-text-2);font-size:var(--font-size-3);line-height:var(--line-height-4)}.loading-dot{width:var(--space-6);height:var(--space-6);border-radius:var(--radius-pill);background:var(--color-primary);animation:pulse 1s var(--ease-standard) infinite alternate}.loading-label{color:var(--color-text-2)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media not (min-width:390px){:root{--size-event-card: calc(100vw - 3.3125rem) }.screen,.site-header,.app-footer{padding-inline:1.25rem}.overview-event-rail{width:calc(100% + 2.5rem);margin-inline:-1.25rem;padding-inline:1.25rem;scroll-padding-inline:1.25rem}.overview-events{padding-right:1.25rem}h1{font-size:2.05rem;line-height:2.25rem}.overview-event-image{width:min(16.5rem,calc(100% - 1rem))}.selection-event-row{padding:1rem}}@keyframes pulse{0%{opacity:.45;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
