@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Inter:wght@300;400;500;600&display=swap";:root{--cream:#f5f1e8;--paper:#ede7da;--ink:#20201d;--muted:#77736a;--accent:#8a806f;--border:#d4cfc5;--border-light:#e8e4db;--primary:#5c564a;--primary-container:#4a453b;--on-primary:#f5f1e8;--surface:#f5f1e8;--surface-dim:#e8e4db;--surface-container-low:#f0ebe1;--surface-container:#ede7da;--surface-container-high:#e5dfd4;--on-surface:#20201d;--on-surface-variant:#77736a;--outline:#8a806f;--outline-variant:#d4cfc5;--surface-tint:#8a806f;--font-headline:"Cormorant Garamond", Georgia, serif;--font-body:"Inter", -apple-system, sans-serif;--space-xs:4px;--space-sm:12px;--space-md:24px;--space-lg:48px;--space-xl:80px;--space-2xl:120px;--gutter:24px;--container-max:1140px;--radius-sm:2px;--radius:4px;--radius-md:6px;--radius-lg:8px;--text-body:16px;--text-body-italic:17px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background-color:var(--cream);color:var(--ink);font-family:var(--font-body);min-height:100svh;font-size:16px;line-height:1.6;position:relative}body:before{content:"";opacity:.03;pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}#root{flex-direction:column;min-height:100svh;display:flex}.body-text{font-family:var(--font-body);font-size:var(--text-body);color:var(--muted);font-weight:400;line-height:1.7}.body-text-italic{font-family:var(--font-headline);font-size:var(--text-body-italic);color:var(--muted);font-style:italic;font-weight:400;line-height:1.7}.page-frame{max-width:var(--container-max);flex-direction:column;width:100%;min-height:100svh;margin:0 auto;display:flex}.page-content{padding:0 var(--space-lg);flex-direction:column;flex:1;min-width:0;display:flex}@media (width<=600px){.page-content{padding:0 var(--gutter)}}.gate-page{background:var(--cream);z-index:2000;padding:var(--space-md);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gate-page--fading{opacity:0;pointer-events:none;transition:opacity .4s}.gate-content{align-items:center;gap:var(--space-lg);text-align:center;flex-direction:column;width:100%;max-width:360px;display:flex}.gate-names{font-family:var(--font-headline);letter-spacing:.25em;text-transform:uppercase;color:var(--muted);font-size:28px;font-weight:400}.gate-title{font-family:var(--font-headline);color:var(--ink);letter-spacing:-.01em;font-size:48px;font-weight:300;line-height:1.1}.gate-subtitle{font-family:var(--font-body);letter-spacing:.08em;color:var(--muted);margin-top:calc(-1 * var(--space-md));font-size:13px;font-weight:400}.gate-divider{background:var(--border);width:40px;height:1px}.gate-label{font-family:var(--font-body);color:var(--muted);letter-spacing:.02em;font-size:13px;font-weight:400}.gate-form{gap:var(--space-sm);flex-direction:column;width:100%;display:flex}.gate-input{font-family:var(--font-body);color:var(--ink);border:none;border-bottom:1px solid var(--border);text-align:center;letter-spacing:.1em;background:0 0;outline:none;width:100%;padding:12px 0;font-size:16px;font-weight:300;transition:border-color .2s}.gate-input::placeholder{color:var(--border);letter-spacing:.1em}.gate-input:focus{border-color:var(--accent)}.gate-input--error{border-color:#a04040}.gate-submit{font-family:var(--font-body);background:var(--primary-container);color:var(--surface);cursor:pointer;margin-top:var(--space-sm);border:none;border-radius:.25rem;padding:10px 28px;font-size:15px;font-weight:600;transition:opacity .2s}.gate-submit:hover{opacity:.9}.gate-error{font-family:var(--font-body);color:#a04040;letter-spacing:.02em;font-size:12px;font-weight:400}.gate-back-btn{font-family:var(--font-body);color:var(--muted);cursor:pointer;text-underline-offset:2px;margin-top:var(--space-xs);background:0 0;border:none;font-size:13px;font-weight:400;text-decoration:underline}.gate-back-btn:hover{color:var(--ink)}.welcome-animation{z-index:2001;background:var(--cream);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;width:100%;height:100dvh;padding:2rem;display:flex;position:fixed;inset:0;overflow:hidden}.welcome-heart{width:140px;height:auto}.welcome-text{font-family:var(--font-headline);color:var(--on-surface);text-align:center;min-height:1.3em;margin:0;font-size:clamp(1.6rem,4vw,2.6rem);font-weight:400;line-height:1.3}.invitation-overlay{z-index:3000;padding:var(--space-md);background:#20201d26;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.invitation-overlay--entering{animation:.5s forwards overlayFadeIn}.invitation-overlay--exiting{pointer-events:none;animation:.8s forwards overlayFadeOut}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes overlayFadeOut{0%{opacity:1}to{opacity:0}}.invitation-scene{perspective:1800px;width:100%;max-width:420px}.invitation-card{aspect-ratio:3/4;width:100%;transform-style:preserve-3d;opacity:0;position:relative;transform:translateY(24px)scale(.96)}.invitation-card--appear{animation:.8s cubic-bezier(.16,1,.3,1) forwards cardAppear}@keyframes cardAppear{to{opacity:1;transform:translateY(0)scale(1)}}.invitation-card--shrink{animation:1s cubic-bezier(.4,0,.2,1) forwards cardShrink}@keyframes cardShrink{to{opacity:0;transform:translateY(-20px)scale(.92)}}.invitation-front{backface-visibility:hidden;transform-origin:0;z-index:2;border-radius:var(--radius-lg);background:var(--paper);transition:transform 1.4s cubic-bezier(.4,0,.2,1);position:absolute;inset:0;overflow:hidden;box-shadow:0 8px 40px #20201d1f}.invitation-front--open{transform:rotateY(-160deg)}.invitation-front img{object-fit:cover;width:100%;height:100%;display:block}.invitation-front-placeholder{justify-content:center;align-items:center;gap:var(--space-sm);background:var(--paper);flex-direction:column;width:100%;height:100%;display:flex}.invitation-front-placeholder span{font-family:var(--font-headline);color:var(--ink);font-size:48px;font-weight:300;line-height:1}.invitation-front-placeholder small{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:400}.invitation-inside{border-radius:var(--radius-lg);background:var(--cream);border:1px solid var(--border-light);justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-lg);z-index:1;flex-direction:column;display:flex;position:absolute;inset:0;box-shadow:inset 0 0 60px #00000008}.invitation-inside-welcome{font-family:var(--font-body);letter-spacing:.25em;text-transform:uppercase;color:var(--muted);opacity:0;font-size:12px;font-weight:400;transition:opacity .6s .2s}.invitation-inside-names{font-family:var(--font-headline);color:var(--ink);text-align:center;opacity:0;font-size:42px;font-weight:300;line-height:1.15;transition:opacity .6s .4s}.invitation-inside-divider{background:var(--border);opacity:0;width:40px;height:1px;transition:opacity .6s .5s}.invitation-inside-date{font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--muted);opacity:0;font-size:13px;font-weight:400;transition:opacity .6s .6s}.invitation-inside--reveal .invitation-inside-welcome,.invitation-inside--reveal .invitation-inside-names,.invitation-inside--reveal .invitation-inside-divider,.invitation-inside--reveal .invitation-inside-date{opacity:1}.hero-section{padding:var(--space-2xl) 0 var(--space-xl);text-align:center;align-items:center;gap:var(--space-lg);flex-direction:column;display:flex}.hero-image{aspect-ratio:4/3;border-radius:var(--radius-lg);width:100%;max-width:800px;overflow:hidden}.hero-image img{object-fit:cover;width:100%;height:100%;display:block}.hero-image-placeholder{background:var(--paper);width:100%;height:100%;font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--muted);justify-content:center;align-items:center;font-size:11px;font-weight:500;display:flex}.hero-text{align-items:center;gap:var(--space-sm);flex-direction:column;display:flex}.hero-names{font-family:var(--font-headline);letter-spacing:-.02em;color:var(--ink);font-size:72px;font-weight:300;line-height:1.05}.hero-date{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:13px;font-weight:400}.hero-tagline{font-family:var(--font-headline);color:var(--accent);margin-top:var(--space-sm);font-size:20px;font-style:italic;font-weight:300}@media (width<=600px){.hero-section{padding:var(--space-xl) 0 var(--space-lg);gap:var(--space-md)}.hero-names{font-size:44px}.hero-image{border-radius:var(--radius-md)}}.divider{padding:var(--space-sm) 0;justify-content:center;display:flex}.divider-line{background:var(--border);width:100%;height:1px;display:block}.details-grid{gap:var(--space-md);padding:var(--space-xl) 0;grid-template-columns:1fr 1fr;align-items:start;display:grid}@media (width<=600px){.details-grid{padding:var(--space-lg) 0;gap:var(--space-sm);grid-template-columns:1fr}}.details-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-md) var(--space-lg);text-align:center;background:0 0;flex-direction:column;align-items:center;gap:16px;display:flex}.details-card-date{font-family:var(--font-headline);color:var(--ink);font-size:26px;font-weight:400;line-height:1.2}@media (width<=600px){.details-card-date{font-size:22px}}.details-card-divider{background:var(--border);width:40px;height:1px}.details-card-items{gap:var(--space-lg);align-items:center;display:flex}@media (width<=600px){.details-card-items{gap:var(--space-md)}}.details-card-item{flex-direction:column;gap:2px;display:flex}.details-card-label{font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:500}.details-card-value{font-family:var(--font-headline);color:var(--ink);font-size:18px;font-weight:400}@media (width<=600px){.details-card-value{font-size:15px}}.details-card-note{font-family:var(--font-headline);font-size:var(--text-body-italic);color:var(--muted);margin-top:4px;font-style:italic;font-weight:400}.details-card-item-separator{background:var(--border);width:1px;height:40px}.schedule-block{gap:var(--space-sm);flex-direction:column;display:flex}.schedule-block-title{font-family:var(--font-headline);color:var(--ink);font-size:36px;font-weight:400;line-height:1.2}.schedule-block-intro{font-family:var(--font-body);font-size:var(--text-body);color:var(--muted);font-weight:400;line-height:1.7}.schedule-days{gap:var(--space-lg);margin-top:var(--space-sm);flex-direction:column;display:flex}.schedule-day-title{font-family:var(--font-headline);color:var(--ink);padding-bottom:var(--space-xs);border-bottom:1px solid var(--border);margin-bottom:var(--space-sm);font-size:22px;font-weight:400}.schedule-day{flex-direction:column;display:flex}.schedule-event{gap:var(--space-sm);padding:var(--space-sm) 0;display:flex}.schedule-event+.schedule-event{border-top:1px solid var(--border-light)}.schedule-event-time{font-family:var(--font-body);color:var(--muted);min-width:44px;padding-top:2px;font-size:13px;font-weight:400}.schedule-event-info{flex-direction:column;gap:2px;display:flex}.schedule-event-name{font-family:var(--font-headline);color:var(--ink);font-size:18px;font-weight:500}.schedule-event-location{font-family:var(--font-body);color:var(--muted);font-size:13px;font-weight:400}.schedule-event-desc{font-family:var(--font-body);font-size:var(--text-body);color:var(--muted);margin-top:4px;font-weight:400;line-height:1.7}.schedule-event-note{font-family:var(--font-headline);font-size:var(--text-body-italic);color:var(--muted);opacity:.8;margin-top:4px;font-style:italic;font-weight:400;line-height:1.7}.info-section{gap:var(--space-lg);padding:var(--space-xl) 0;grid-template-columns:1fr;display:grid}@media (width<=600px){.info-section{gap:var(--space-md);padding:var(--space-lg) 0}}.article-grid{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:0;display:grid}.article{padding:var(--space-md);border-bottom:1px solid var(--border);flex-direction:column;gap:4px;display:flex}.article:nth-child(odd){border-right:1px solid var(--border)}.article-label{font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:500}.article-title{font-family:var(--font-headline);color:var(--ink);font-size:22px;font-weight:400;line-height:1.2}.article-body{font-family:var(--font-body);font-size:var(--text-body);color:var(--muted);margin-top:2px;font-weight:400;line-height:1.7}@media (width<=600px){.article-grid{grid-template-columns:1fr}.article:nth-child(odd){border-right:none}}.rsvp-section{text-align:center;align-items:center;gap:var(--space-sm);padding:var(--space-lg) 0 var(--space-xl);flex-direction:column;display:flex}.rsvp-section-label{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:500}.rsvp-section-title{font-family:var(--font-headline);color:var(--ink);font-size:32px;font-weight:400}.rsvp-section-text{font-family:var(--font-body);font-size:var(--text-body);color:var(--muted);margin-bottom:var(--space-sm);font-weight:400}@media (width<=600px){.rsvp-section{padding:var(--space-md) 0 var(--space-lg)}.rsvp-section-title{font-size:26px}.cta-button{width:100%;padding:10px var(--space-md)}}.cta-button{font-family:var(--font-body);background:var(--primary-container);color:var(--surface);cursor:pointer;border:none;border-radius:.25rem;padding:10px 28px;font-size:15px;font-weight:600;transition:opacity .2s}.cta-button:hover:not(:disabled){opacity:.9}.cta-button:disabled{background:var(--surface-dim);color:var(--muted);cursor:not-allowed}.footer{text-align:center;padding:var(--space-lg) 0;border-top:1px solid var(--border);align-items:center;gap:var(--space-sm);flex-direction:column;margin-top:auto;display:flex}.footer-names{font-family:var(--font-headline);color:var(--ink);font-size:24px;font-weight:300}.footer-date{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:400}.footer-love{font-family:var(--font-headline);font-size:var(--text-body-italic);color:var(--accent);margin-top:var(--space-xs);font-style:italic;font-weight:300}.footer-text{font-family:var(--font-body);color:var(--muted);letter-spacing:.02em;font-size:12px;font-weight:400}.footer-link{color:var(--muted);text-underline-offset:2px;text-decoration:underline}.top-bar{z-index:50;background:var(--cream);border-bottom:1px solid var(--border-light);position:sticky;top:0}.top-bar-inner{max-width:var(--container-max);padding:var(--space-sm) var(--gutter);justify-content:flex-end;align-items:center;margin:0 auto;display:flex}.top-bar-spacer{flex:1}.top-bar-logout{font-family:var(--font-body);letter-spacing:.04em;color:var(--muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:400;transition:color .15s,background .15s;display:inline-flex}.top-bar-logout:hover{color:var(--ink);background:var(--surface-dim)}.rsvp-backdrop{z-index:1000;padding:var(--space-md);background:#20201d66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.rsvp-modal{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:90svh;padding:var(--space-lg);gap:var(--space-md);flex-direction:column;display:flex;overflow-y:auto}.rsvp-modal-header{justify-content:space-between;align-items:center;display:flex}.rsvp-modal-title{font-family:var(--font-headline);color:var(--ink);font-size:32px;font-weight:400}.rsvp-close-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;min-width:44px;min-height:44px;padding:12px;font-size:20px;line-height:1;transition:color .15s}.rsvp-close-btn:hover{color:var(--ink)}.rsvp-attending-step{gap:var(--space-md);flex-direction:column;display:flex}.rsvp-attending-question{font-family:var(--font-body);color:var(--ink);font-size:16px}.rsvp-attending-toggle{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.rsvp-toggle-btn{font-family:var(--font-body);cursor:pointer;background:var(--primary-container);color:var(--surface);border:none;border-radius:.25rem;padding:10px 28px;font-size:15px;font-weight:600;transition:opacity .2s}.rsvp-toggle-btn:hover{opacity:.9}.rsvp-toggle-btn--decline{color:var(--primary-container);border:1px solid var(--primary-container);background:0 0}.rsvp-toggle-btn--decline:hover{background:var(--surface-container);opacity:1}.rsvp-form{gap:var(--space-md);flex-direction:column;display:flex}.rsvp-guest-list{gap:var(--space-sm);flex-direction:column;display:flex}.rsvp-guest-row{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md);gap:var(--space-sm);background:0 0;flex-direction:column;display:flex}.rsvp-guest-row-header{align-items:flex-end;margin-left:auto;margin-right:0;display:flex}.rsvp-guest-label{font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:500}.rsvp-remove-btn{font-family:var(--font-body);letter-spacing:.04em;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:11px;font-weight:500;transition:color .15s}.rsvp-remove-btn:hover{color:var(--ink)}.rsvp-field{flex-direction:column;gap:6px;display:flex}.rsvp-label{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:500}.rsvp-input{font-family:var(--font-body);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius);background:0 0;outline:none;width:100%;padding:10px 12px;font-size:16px;font-weight:400;transition:border-color .15s}.rsvp-input::placeholder{color:var(--border)}.rsvp-input:focus{border-color:var(--accent)}.rsvp-input--error{border-color:#a04040}.rsvp-error{font-family:var(--font-body);color:#a04040;letter-spacing:.02em;font-size:12px;font-weight:400}.rsvp-checkbox-field{align-items:center;gap:var(--space-sm);cursor:pointer;font-family:var(--font-body);color:var(--muted);font-size:14px;display:flex}.rsvp-checkbox{width:16px;height:16px;accent-color:var(--ink);cursor:pointer;flex-shrink:0}.rsvp-add-btn{font-family:var(--font-body);background:var(--primary-container);color:var(--surface);cursor:pointer;border:none;border-radius:.25rem;width:100%;padding:10px 28px;font-size:15px;font-weight:600;transition:opacity .2s}.rsvp-add-btn:hover{opacity:.9}.rsvp-submit-btn{text-align:center;width:100%}.rsvp-success{gap:var(--space-md);padding:var(--space-sm) 0;flex-direction:column;display:flex}.rsvp-success-title{font-family:var(--font-headline);color:var(--ink);font-size:26px;font-weight:400;line-height:1.3}.rsvp-success-body{font-family:var(--font-body);font-size:var(--text-body);color:var(--muted);line-height:1.7}@media (width<=600px){.rsvp-modal{padding:var(--space-md);max-height:95svh}.rsvp-attending-toggle{grid-template-columns:1fr}}.placeholder-img{border:1px dashed var(--border);border-radius:var(--radius);width:100%;height:100%;font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);justify-content:center;align-items:center;font-size:10px;font-weight:500;display:flex}.info-card-list{font-family:var(--font-body);font-size:var(--text-body);color:var(--muted);flex-direction:column;gap:2px;padding-left:20px;font-weight:400;line-height:1.7;display:flex}.info-card-inspo-btn{margin-top:var(--space-xs);font-family:var(--font-body);letter-spacing:.06em;color:var(--ink);cursor:pointer;text-underline-offset:3px;min-height:44px;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);background:0 0;border:none;align-self:flex-start;padding:8px 0;font-size:12px;font-weight:500;transition:text-decoration-color .15s}.info-card-inspo-btn:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.inspo-page{background:var(--cream);min-height:100svh}.inspo-inner{max-width:860px;padding:var(--space-lg) var(--space-md) var(--space-xl);gap:var(--space-lg);flex-direction:column;margin:0 auto;display:flex}.inspo-back-btn{font-family:var(--font-body);letter-spacing:.06em;color:var(--muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;min-height:44px;padding:12px 12px 12px 0;font-size:12px;font-weight:500;transition:color .15s}.inspo-back-btn:hover{color:var(--ink)}.inspo-header{gap:var(--space-sm);flex-direction:column;max-width:480px;display:flex}.inspo-header-label{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:500}.inspo-header-title{font-family:var(--font-headline);letter-spacing:-.02em;color:var(--ink);font-size:44px;font-weight:400;line-height:1.05}.inspo-header-body{font-family:var(--font-body);font-size:var(--text-body);color:var(--muted);font-weight:400;line-height:1.7}.inspo-collage{gap:var(--space-md);grid-template:"a b txt1"260px"a txt2 c"200px"d e txt3"300px"d g f"240px/1.4fr 1fr 1fr;display:grid}.inspo-cell{border-radius:var(--radius-md);overflow:hidden}.inspo-cell--a{grid-area:a}.inspo-cell--b{grid-area:b}.inspo-cell--c{grid-area:c}.inspo-cell--d{grid-area:d}.inspo-cell--e{grid-area:e}.inspo-cell--f{grid-area:f}.inspo-cell--g{grid-area:g}.inspo-cell img{object-fit:cover;width:100%;height:100%;display:block}.inspo-cell .placeholder-img{border-radius:var(--radius-md)}.inspo-scatter{padding:var(--space-md);flex-direction:column;justify-content:center;display:flex}.inspo-scatter--1{grid-area:txt1;align-items:flex-start;transform:rotate(-2.5deg)}.inspo-scatter--2{grid-area:txt2;align-items:flex-end;transform:rotate(1.5deg)}.inspo-scatter--3{grid-area:txt3;align-items:flex-start;gap:2px;transform:rotate(-1deg)}.inspo-scatter--4{grid-area:g;align-items:center;gap:2px;transform:rotate(1deg)}.inspo-scatter-line{font-family:var(--font-headline);color:var(--ink);letter-spacing:-.01em;font-size:28px;font-weight:400;line-height:1.15}.inspo-scatter-amp{font-family:var(--font-headline);color:var(--muted);font-size:20px;font-weight:300;line-height:1.4}.inspo-scatter-line--sm{font-size:20px}.inspo-scatter-line--xs{color:var(--muted);font-size:15px;font-weight:400}.inspo-palette{gap:var(--space-md);flex-wrap:wrap;align-items:center;display:flex}.inspo-swatch{flex-direction:column;align-items:center;gap:6px;display:flex}.inspo-swatch-color{border-radius:50%;width:48px;height:48px}.inspo-swatch-name{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:500}.inspo-note{font-family:var(--font-headline);font-size:var(--text-body-italic);color:var(--muted);border-top:1px solid var(--border);padding-top:var(--space-md);font-style:italic;font-weight:400}@media (width<=600px){.inspo-inner{padding:var(--space-md) var(--gutter) var(--space-lg);gap:var(--space-md)}.inspo-header-title{font-size:32px}.inspo-collage{grid-template:"a b"200px"a txt1"160px"c d"200px"txt2 e"160px"f g"200px/1fr 1fr}.inspo-scatter--3{display:none}.inspo-scatter-line{font-size:20px}.inspo-scatter-line--sm{font-size:16px}}.story-gallery{width:100%;position:relative}.story-track{gap:var(--space-md);padding:var(--space-md) var(--space-md);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;display:flex;overflow-x:auto}.story-track::-webkit-scrollbar{display:none}.story-panel{align-items:center;gap:var(--space-sm);scroll-snap-align:center;flex-direction:column;flex:none;width:min(360px,75vw);display:flex}.story-panel-img-wrapper{border-radius:6px;flex:0 auto;width:100%;max-height:90%;line-height:0;overflow:hidden}.story-panel-img{object-fit:cover;filter:grayscale();width:100%;height:100%;display:block}.story-panel-info{text-align:center;padding:0 4px}.story-date{font-family:var(--font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:500;display:block}.story-caption{font-family:var(--font-body);color:var(--muted);margin-top:4px;font-size:13px;font-weight:400;line-height:1.5}.story-dots{padding:var(--space-sm) 0 var(--space-md);justify-content:center;gap:6px;display:flex}.story-dot{background:var(--border);border-radius:50%;width:8px;height:8px;transition:background .2s,transform .2s}.story-dot--active{background:var(--ink);transform:scale(1.5)}@media (width<=600px){.story-panel{width:80vw}}.wishlist-page{background:var(--cream);min-height:100svh}.wishlist-inner{max-width:860px;padding:var(--space-lg) var(--space-md) var(--space-xl);gap:var(--space-lg);flex-direction:column;margin:0 auto;display:flex}.wishlist-grid{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.wishlist-card{border:1px solid var(--border);border-radius:var(--radius-md);background:0 0;flex-direction:column;display:flex;overflow:hidden}.wishlist-card-img{flex-shrink:0;width:100%;height:180px}.wishlist-card-img img{object-fit:cover;width:100%;height:100%;display:block}.wishlist-card-img .placeholder-img{border:none;border-bottom:1px dashed var(--border);border-radius:0}.wishlist-card-body{padding:var(--space-md);gap:var(--space-xs);flex-direction:column;flex:1;display:flex}.wishlist-card-name{font-family:var(--font-headline);color:var(--ink);font-size:22px;font-weight:400;line-height:1.2}.wishlist-card-desc{font-family:var(--font-body);font-size:var(--text-body);color:var(--muted);margin-top:2px;font-weight:400;line-height:1.7}.wishlist-card-link{margin-top:var(--space-sm);font-family:var(--font-body);letter-spacing:.06em;color:var(--ink);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);align-self:flex-start;font-size:12px;font-weight:500;transition:text-decoration-color .15s}.wishlist-card-link:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.wishlist-note{font-family:var(--font-headline);font-size:var(--text-body-italic);color:var(--muted);border-top:1px solid var(--border);padding-top:var(--space-md);font-style:italic;font-weight:400}@media (width<=600px){.wishlist-inner{padding:var(--space-md) var(--gutter) var(--space-lg);gap:var(--space-md)}.wishlist-grid{grid-template-columns:1fr}.wishlist-card-img{height:160px}}.faq-page{background:var(--cream);min-height:100svh}.faq-inner{max-width:860px;padding:var(--space-lg) var(--space-md) var(--space-xl);gap:var(--space-lg);flex-direction:column;margin:0 auto;display:flex}.faq-section{flex-direction:column;display:flex}.faq-section--centered{align-items:center}.faq-accordion-header{border:none;border-bottom:1px solid var(--border);width:100%;padding:var(--space-sm) 0;cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;display:flex}.faq-accordion-header:hover{opacity:.8}.faq-accordion-header .faq-section-title{border-bottom:none;margin:0;padding-bottom:0}.faq-chevron{color:var(--muted);font-size:14px;transition:transform .3s}.faq-chevron--open{transform:rotate(180deg)}.faq-accordion-content{overflow:hidden}.faq-accordion-inner{gap:var(--space-md);padding-top:var(--space-md);flex-direction:column;display:flex}.faq-section--centered .faq-section-title{text-align:center}.faq-section-title{font-family:var(--font-headline);color:var(--ink);border-bottom:1px solid var(--border);padding-bottom:var(--space-sm);font-size:28px;font-weight:400}.faq-transport-cards{gap:var(--space-md);grid-template-columns:1fr 1fr 1fr;display:grid}.faq-transport-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md);gap:var(--space-xs);background:0 0;flex-direction:column;display:flex}.faq-transport-card-label{font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:500}.faq-transport-card-body{font-family:var(--font-body);font-size:var(--text-body);color:var(--muted);margin-top:4px;font-weight:400;line-height:1.7}.faq-tm-intro{font-family:var(--font-body);font-size:var(--text-body);color:var(--muted);text-align:center;max-width:600px;margin:0 auto;font-weight:400;line-height:1.7}.faq-tm-cards{gap:var(--space-md);grid-template-columns:1fr 1fr;max-width:480px;margin:0 auto;display:grid}.faq-tm-card{border:1px solid var(--border);border-radius:var(--radius-md);background:0 0;flex-direction:column;display:flex;overflow:hidden}.faq-tm-photo{aspect-ratio:1;width:100%}.faq-tm-photo img{object-fit:cover;width:100%;height:100%;display:block}.faq-tm-card-body{padding:var(--space-md);flex-direction:column;gap:4px;display:flex}.faq-tm-role{font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:500}.faq-tm-name{font-family:var(--font-headline);color:var(--ink);font-size:24px;font-weight:400}.faq-tm-phone{font-family:var(--font-body);color:var(--muted);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);font-size:13px;font-weight:400;transition:text-decoration-color .15s,color .15s}.faq-tm-phone:hover{color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.faq-question-box{gap:var(--space-sm);margin-top:var(--space-sm);flex-direction:column;display:flex}.faq-question-input{width:100%;font-family:var(--font-body);border:1px solid var(--outline-variant);background:var(--surface);color:var(--on-surface);resize:vertical;box-sizing:border-box;border-radius:.25rem;outline:none;min-height:100px;padding:12px 14px;font-size:15px}.faq-question-input::placeholder{color:var(--outline)}.faq-question-input:focus{border-color:var(--primary)}.faq-question-btn{font-family:var(--font-body);background:var(--primary-container);color:var(--surface);cursor:pointer;border:none;border-radius:.25rem;align-self:flex-end;padding:10px 28px;font-size:15px;font-weight:600}.faq-question-btn:hover{opacity:.9}.faq-question-confirmation{margin-top:var(--space-sm);padding:var(--space-md);border:1px solid var(--outline-variant);text-align:center;border-radius:.25rem}.faq-question-confirmation p{font-family:var(--font-body);color:var(--on-surface);margin:0 0 var(--space-sm);font-size:15px}.faq-question-new-btn{font-family:var(--font-body);color:var(--primary);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;font-size:14px;text-decoration:underline}.faq-question-new-btn:hover{opacity:.8}@media (width<=600px){.faq-inner{padding:var(--space-md) var(--gutter) var(--space-lg);gap:var(--space-md)}.faq-transport-cards{grid-template-columns:1fr}.faq-tm-cards{grid-template-columns:1fr 1fr;max-width:100%}.faq-tm-photo{height:160px}}@media (prefers-reduced-motion:reduce){.invitation-card--appear{opacity:1;animation:none;transform:none}.invitation-card--shrink{animation:none}.invitation-front{transition:none}.invitation-front--open{opacity:0;transform:none}.invitation-overlay--entering{opacity:1;animation:none}.invitation-overlay--exiting{opacity:0;animation:none}.gate-page--fading{opacity:0;transition:none}.invitation-inside-welcome,.invitation-inside-names,.invitation-inside-divider,.invitation-inside-date{opacity:1;transition:none}}
