:root{--bg:#e7d6b8;--ink:#3a2a18;--line:#d9c7a3;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Poppins", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--bg);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:300}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100dvh;margin:0;overflow:hidden}#root{height:100dvh}.stage{width:100%;height:100dvh;transition:background-color .12s linear;position:relative;overflow:hidden}.track{width:100%;transition:transform .65s cubic-bezier(.65,0,.35,1);position:relative}.page{z-index:1;box-sizing:border-box;width:100%;height:100dvh;color:var(--ink);justify-content:center;align-items:center;padding-left:120px;padding-right:24px;transition:color .12s linear;display:flex;position:relative}.page h1{font-family:var(--serif);letter-spacing:0;color:var(--ink);margin:0;font-size:clamp(32px,8vw,64px);font-style:normal;font-weight:400;transition:color .12s linear}.welcome{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.page--welcome{padding-bottom:16svh}.page--welcome h1{font-size:clamp(64px,17vw,140px)}.welcome-eyebrow{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;opacity:.92;text-wrap:balance;margin:0;font-size:clamp(13px,3.4vw,17px);font-style:normal;font-weight:400;transition:color .12s linear}.welcome-eyebrow-lead{letter-spacing:.28em;font-size:1.35em;display:block}.welcome-eyebrow-rest{font-family:var(--serif);letter-spacing:.03em;text-transform:none;opacity:.92;margin:6px 0 0;font-size:clamp(18px,5.2vw,26px);font-style:italic;font-weight:400;line-height:1.2;display:block}.welcome-date{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;margin:4px 0 0;font-size:clamp(16px,4.5vw,24px);font-weight:500;transition:color .12s linear}.wave-bg__svg{pointer-events:none;width:100%;position:absolute;top:0;left:0}.wave-bg__path{fill:none;stroke:var(--line);stroke-width:20px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.6;transition:stroke .12s linear}.wave-rail{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.skip-indicator{width:56px;height:56px;color:var(--ink);cursor:pointer;pointer-events:auto;z-index:3;opacity:.75;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .12s linear,border-color .12s linear,opacity .15s linear,transform .15s;display:flex;position:absolute;bottom:28px;right:24px}.skip-indicator--hint svg{animation:1.8s ease-in-out infinite skip-indicator-bounce}@keyframes skip-indicator-bounce{0%,to{transform:translateY(-2px)}50%{transform:translateY(6px)}}.skip-hint{text-align:right;max-width:240px;font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;color:var(--ink);pointer-events:none;z-index:3;margin:0;font-size:12px;font-weight:400;line-height:1.7;transition:color .12s linear,opacity .12s linear;position:absolute;bottom:88px;right:24px}.skip-indicator:hover{opacity:1;transform:translateY(2px)}.skip-indicator svg{width:34px;height:34px}.restart-indicator{width:56px;height:56px;color:var(--ink);cursor:pointer;pointer-events:auto;z-index:3;opacity:.75;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .12s linear,opacity .15s linear,transform .15s;display:flex;position:absolute;top:24px;right:24px}.restart-indicator:hover{opacity:1;transform:translateY(-2px)}.restart-indicator svg{width:34px;height:34px}.car{width:92px;height:92px;color:var(--line);z-index:1;cursor:grab;pointer-events:auto;touch-action:none;margin:-69px 0 0 -46px;transition:transform .12s ease-out,opacity .2s ease-out,color .12s linear,fill .12s linear;position:absolute}.car--dragging{cursor:grabbing}.car--snapping{transition:top .65s cubic-bezier(.65,0,.35,1),left .65s cubic-bezier(.65,0,.35,1),transform .12s ease-out,opacity .2s ease-out,color .12s linear,fill .12s linear}.page--timeline{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:24px;padding:80px 40px 48px}.timeline{flex-direction:column;flex:1;justify-content:space-evenly;width:100%;max-width:720px;margin:0 auto;display:flex}.timeline-item{box-sizing:border-box;flex-direction:column;gap:8px;width:50%;transition:transform .2s ease-out;display:flex}.timeline-item p{font-family:var(--sans);letter-spacing:.04em;margin:0;font-size:13px;font-weight:300;line-height:150%}.timeline-item p:first-of-type{margin-top:5px}.timeline-item--left{text-align:right;transform-origin:100%;align-self:flex-start;padding-right:36px}.timeline-item--right{text-align:left;transform-origin:0;align-self:flex-end;padding-left:36px}.timeline-head{flex-direction:column;gap:8px;display:flex}.timeline-head .timeline-title{margin-top:2px}.timeline-item--left .timeline-head{align-items:flex-end}.timeline-item--right .timeline-head{align-items:flex-start}.timeline-meta{align-items:center;gap:10px;display:flex}.timeline-icon{opacity:.85;flex-shrink:0;width:46px;height:46px}.timeline-time{font-family:var(--serif);letter-spacing:0;font-variant-numeric:lining-nums;white-space:nowrap;font-size:clamp(64px,19vw,96px);font-weight:400;line-height:.9}.timeline-title{font-family:var(--serif);letter-spacing:.01em;text-transform:none;font-size:30px;font-weight:400;line-height:1}.timeline-map-button{max-width:100%;color:color-mix(in srgb, var(--ink) 72%, transparent);font-family:var(--serif);letter-spacing:.02em;text-transform:none;white-space:nowrap;background:0 0;border:none;border-bottom:1px solid;align-items:center;gap:5px;margin-top:6px;padding:0 0 3px;font-size:22px;font-style:italic;font-weight:500;line-height:1.2;text-decoration:none;transition:opacity .15s ease-out;display:inline-flex}.timeline-map-button-icon{stroke-width:1.8px;flex-shrink:0;width:16px;height:16px}.timeline-map-button:hover{opacity:.7}.timeline-item--left .timeline-map-button{align-self:flex-end}.timeline-item--right .timeline-map-button{align-self:flex-start}.page--details{align-items:flex-start;padding-top:18svh;padding-left:24px;padding-right:120px}.details{--accent:var(--ink);--muted:color-mix(in srgb, var(--ink) 72%, transparent);--strong:#fff;text-align:center;flex-direction:column;align-items:center;gap:36px;width:100%;max-width:460px;display:flex}.detail-cards{flex-direction:column;gap:18px;width:100%;display:flex}.detail-card{border:1px solid color-mix(in srgb, var(--accent) 38%, transparent);background:color-mix(in srgb, var(--accent) 6%, transparent);border-radius:32px;flex-direction:column;align-items:center;gap:10px;padding:26px 24px 24px;transition:background .25s ease-out,border-color .25s ease-out,box-shadow .25s ease-out,transform .25s ease-out;display:flex;transform:scale(1)}.detail-card--active{background:color-mix(in srgb, var(--accent) 13%, transparent);border-color:color-mix(in srgb, var(--accent) 80%, transparent);transform:scale(1.02)}.detail-card-icon{width:28px;height:28px;color:var(--muted);margin-bottom:2px}.detail-card-label{font-family:var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin:0;padding-left:.32em;font-size:12px;font-weight:500}.detail-card-value{font-family:var(--serif);color:var(--strong);margin:0;font-size:32px;font-weight:400;line-height:1.1}.detail-card-account .detail-card-value{font-variant-numeric:lining-nums;letter-spacing:.1em;padding-left:.1em;font-size:34px;font-weight:500}.detail-card-bank{font-family:var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--strong);margin-top:-2px;padding-left:.28em;font-size:11px;font-weight:400}.detail-card-sub{letter-spacing:.02em;opacity:.75;margin:-4px 0 0;font-size:13px}.rsvp-button{background:var(--line);color:#2a2013;font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;border-radius:999px;margin-top:4px;padding:14px 36px;font-size:13px;font-weight:400;text-decoration:none;transition:transform .15s ease-out,opacity .15s ease-out;display:inline-block}.rsvp-button:hover{opacity:.85;transform:translateY(-2px)}.detail-card .rsvp-button{white-space:nowrap;border:none;border-bottom:1px solid var(--strong);color:var(--strong);font-family:var(--serif);letter-spacing:.02em;text-transform:none;background:0 0;border-radius:0;align-items:center;gap:6px;margin-top:4px;padding:0 0 4px;font-size:23px;font-style:italic;font-weight:500;line-height:1.2;display:inline-flex}.rsvp-button-icon{stroke-width:1.8px;flex-shrink:0;width:16px;height:16px}.detail-card .rsvp-button:hover{opacity:.7;background:0 0;transform:none}.detail-card-account{white-space:nowrap;display:inline-block;position:relative}.copy-account-button{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:8px;padding:0;font-size:15px;transition:color .15s ease-out;display:inline-flex;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.copy-account-button:hover{color:var(--strong)}.page--closing{padding-bottom:30svh}.closing{text-align:center;flex-direction:column;align-items:center;gap:32px;max-width:460px;display:flex}.page h1.closing-title{font-family:var(--serif);letter-spacing:0;text-transform:none;opacity:.95;font-size:clamp(30px,5.4vw,44px);font-style:italic;font-weight:400;line-height:125%}.closing-signature{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;display:flex;position:absolute;bottom:32px;left:32px}.closing-names{font-family:var(--serif);opacity:.9;margin:0;font-size:28px;font-weight:400;line-height:1}.closing-date{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;opacity:.8;margin:4px 0 0;font-size:12px;font-weight:400}.countdown{align-items:flex-start;gap:0;margin-top:4px;display:flex}.countdown-item{flex-direction:column;align-items:center;gap:8px;min-width:72px;padding:2px 0;display:flex}.countdown-item+.countdown-item{border-left:1px solid color-mix(in srgb, currentColor 25%, transparent)}.countdown-value{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:clamp(40px,9vw,58px);font-weight:300;line-height:1}.countdown-label{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;opacity:.8;padding-left:.3em;font-size:11px;font-weight:400}.closing-contact{text-align:left;align-items:center;gap:12px;margin-top:4px;display:flex}.closing-contact p{min-width:0;margin:0;font-size:14px;line-height:150%}@media (width<=640px){.page{padding-left:100px}.page--welcome{padding-left:56px;padding-right:20px}.page--details{padding-left:24px;padding-right:100px}.wave-bg__path{stroke-width:11px}.car{width:73px;height:73px;margin:-55px 0 0 -36.5px}.skip-indicator{width:48px;height:48px;bottom:20px;right:16px}.skip-hint{letter-spacing:.1em;max-width:230px;font-size:11px;line-height:1.6;bottom:72px;right:16px}.skip-indicator svg{width:28px;height:28px}.restart-indicator{width:38px;height:38px;top:16px;right:16px}.restart-indicator svg{width:22px;height:22px}.page--timeline{gap:12px;padding:clamp(28px,6svh,56px) 24px clamp(16px,3svh,32px)}.timeline-item{gap:clamp(3px,.6svh,8px);width:50%}.timeline-head{gap:clamp(2px,.6svh,8px)}.timeline-head .timeline-title{margin-top:0}.timeline-item--left{padding-right:40px}.timeline-item--right{padding-left:40px}.timeline-icon{width:clamp(26px,4.5svh,40px);height:clamp(26px,4.5svh,40px)}.timeline-time{font-size:clamp(36px,6.6svh,58px)}.timeline-title{font-size:clamp(20px,3.6svh,28px)}.timeline-map-button{padding-bottom:2px;font-size:clamp(15px,2.5svh,19px)}.timeline-item p{font-size:clamp(11px,1.7svh,13px);line-height:140%}.details{gap:20px;max-width:250px}.closing{gap:26px;max-width:100%}.detail-card-icon{width:24px;height:24px}.detail-card{border-radius:24px;padding:20px 12px 18px}.detail-cards{gap:14px}.detail-card-value,.detail-card-account .detail-card-value{font-size:27px}.copy-account-button{width:22px;height:22px;font-size:14px}.rsvp-button{padding:12px 28px;font-size:14px}.detail-card .rsvp-button{padding:0 0 3px;font-size:20px}.countdown{gap:0}.countdown-item{min-width:58px}.closing-contact{text-align:center;flex-direction:column;gap:8px}}
