:root{--vh-locked:100svh;--ivory:#f4efe3;--ivory-deep:#ece5d4;--paper:#fbf8ef;--sage-dark:#33402c;--sage-deeper:#28331f;--sage:#7c8763;--sage-mist:#a9ae93;--gold:#b8963e;--gold-soft:#d2be8a;--gold-pale:#e8dbb6;--cream:#f4efe3;--ink:#272d22;--text-soft:#6b7458;--hairline:#33402c29;--hairline-2:#33402c14;--font-display:"Italiana", "Cormorant Garamond", serif;--font-serif:"Cormorant Garamond", Georgia, serif;--font-label:"Tenor Sans", sans-serif;--ease-smooth:cubic-bezier(.22, 1, .36, 1)}*,:before,*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;overflow-wrap:break-word;word-break:break-word;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;width:100%;overflow-x:hidden}body{background-color:var(--ivory);color:var(--ink);font-family:var(--font-serif);overflow-wrap:break-word;word-break:break-word;scrollbar-width:none;-ms-overflow-style:none;width:100%;max-width:100%;overflow-x:hidden}html,body,*,html.platform-preview,html.platform-preview body{scrollbar-width:none!important;-ms-overflow-style:none!important}html::-webkit-scrollbar{background:0 0!important;width:0!important;height:0!important;display:none!important}body::-webkit-scrollbar{background:0 0!important;width:0!important;height:0!important;display:none!important}::-webkit-scrollbar{background:0 0!important;width:0!important;height:0!important;display:none!important}html.platform-preview::-webkit-scrollbar{background:0 0!important;width:0!important;height:0!important;display:none!important}html.platform-preview body::-webkit-scrollbar{background:0 0!important;width:0!important;height:0!important;display:none!important}p,span,h1,h2,h3,h4,h5,h6,label,div{overflow-wrap:break-word;word-break:break-word}::selection{background:var(--sage-dark);color:var(--ivory)}svg{display:block}#scroll-stem{z-index:950;pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0}#scroll-stem .stem-fill{background:linear-gradient(90deg, var(--gold), var(--gold-soft));width:0%;height:100%;transition:width .1s linear;position:relative}#scroll-stem .stem-leaf{width:14px;height:14px;color:var(--gold);position:absolute;top:50%;right:-7px;transform:translateY(-50%)rotate(45deg)}.reveal{opacity:0;transition:opacity 1.1s var(--ease-smooth), transform 1.1s var(--ease-smooth);transform:translateY(30px)}.reveal.revealed{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.12s}.reveal-delay-2{transition-delay:.24s}.reveal-delay-3{transition-delay:.36s}.reveal-delay-4{transition-delay:.5s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:.8s both fadeIn}#main-content{visibility:hidden;opacity:0;transition:opacity .8s}#main-content.visible,.platform-preview #main-content{visibility:visible;opacity:1}.eyebrow{font-family:var(--font-label);letter-spacing:.42em;text-transform:uppercase;color:var(--sage);padding-left:.42em;font-size:.6rem;display:block}.display-heading{font-family:var(--font-display);letter-spacing:.06em;color:var(--sage-dark);text-transform:uppercase;font-size:clamp(2.1rem,8.5vw,3.4rem);font-weight:400;line-height:1.14}.display-heading .lc{font-family:var(--font-serif);text-transform:none;letter-spacing:.01em;font-style:italic}.section-intro{text-align:center;margin-bottom:clamp(2.75rem,8vw,4rem)}.section-intro .eyebrow{margin-bottom:1rem}.mini-window{width:34px;height:34px;color:var(--gold);margin:1.3rem auto 0}#entry-gate{inset:0;width:100%;height:100svh;height:var(--vh-locked,100svh);max-height:100svh;max-height:var(--vh-locked,100svh);z-index:9999;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;-webkit-overflow-scrolling:none;background:#232c1c;justify-content:center;align-items:center;transition:opacity .8s;display:flex;position:fixed;inset:0;overflow:hidden}#entry-gate video{object-fit:cover;opacity:0;pointer-events:none;width:100%;height:100%;min-height:100%;transition:opacity .4s;position:absolute;top:0;left:0}#entry-gate.entry-gate--ready video,#entry-gate.video-playing video{opacity:1}#entry-gate.fade-out{opacity:0;pointer-events:none}#entry-loader{z-index:6;text-align:center;background:#232c1c;flex-direction:column;justify-content:center;align-items:center;padding:2rem;transition:opacity .7s;display:flex;position:absolute;inset:0}#entry-loader.hide{opacity:0;pointer-events:none}.loader-ring{border:2px solid #f4efe329;border-top-color:var(--gold);border-radius:50%;width:52px;height:52px;margin-bottom:1.7rem;animation:.9s linear infinite loader-spin}@keyframes loader-spin{to{transform:rotate(360deg)}}.loader-names{color:var(--gold-soft);margin-bottom:.8rem;font-family:Satisfy,cursive;font-size:clamp(1.8rem,7vw,2.2rem);line-height:1}.loader-sub{font-family:var(--font-label);letter-spacing:.34em;text-transform:uppercase;color:#f4efe399;font-size:.58rem}.entry-gate-message{z-index:2;pointer-events:none;text-align:center;opacity:.9;word-wrap:break-word;overflow-wrap:break-word;text-wrap:pretty;will-change:transform, opacity;white-space:pre-line;width:98%;font-family:Satisfy,cursive;font-size:clamp(1.5rem,7vw,3rem);line-height:1.35;transition:opacity .9s;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}.entry-gate-message.hidden{opacity:0}.entry-overlay--dark .entry-gate-message{color:var(--ivory);text-shadow:0 2px 12px #00000080}.entry-overlay--light .entry-gate-message{color:var(--ink);text-shadow:0 1px 8px #ffffff8c}.gate-tap-hint{font-family:var(--font-label);letter-spacing:.36em;text-transform:uppercase;color:var(--gold-soft);opacity:.9;margin-top:1.2rem;font-size:.6rem;animation:2.4s ease-in-out infinite tapHintPulse}@keyframes tapHintPulse{0%,to{opacity:.55}50%{opacity:1}}#audio-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:48px;height:48px;color:var(--ivory);cursor:pointer;z-index:900;transition:transform .25s var(--ease-smooth), background .25s;background:#33402ce0;border:1px solid #f4efe340;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:1.4rem;right:1.4rem;box-shadow:0 8px 24px #272d2247}#audio-btn:hover{background:var(--sage-dark);transform:scale(1.06)}#audio-btn svg{width:20px;height:20px}#main-content{width:100%;max-width:100%;display:block;overflow-x:hidden}#hero{height:var(--vh-locked,100svh);min-height:var(--vh-locked,100svh);background:var(--sage-deeper);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}#hero-video-bg{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}#hero:after{content:"";z-index:1;background:linear-gradient(#212a199e 0%,#212a1966 42%,#212a19cc 100%);position:absolute;inset:0}.hero-arch{z-index:2;width:min(88vw,25rem);margin:0 auto;position:relative}.hero-arch-svg{width:100%;height:100%;color:var(--gold-soft);position:absolute;inset:0}.hero-arch-svg .arch-line{stroke-dasharray:1400;stroke-dashoffset:1400px;animation:drawLong 3.2s var(--ease-smooth) .4s forwards}@keyframes drawLong{to{stroke-dashoffset:0}}.hero-content{z-index:2;text-align:center;color:var(--ivory);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:100%;min-height:min(118vw,30rem);padding:clamp(3rem,11vw,4.5rem) clamp(1.1rem,5vw,2rem);display:flex;position:relative}.hero-names-wrap{box-sizing:border-box;overflow-wrap:break-word;word-break:break-word;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:100%;display:flex}.hero-tag{font-family:var(--font-label);letter-spacing:.5em;text-transform:uppercase;opacity:.85;box-sizing:border-box;overflow-wrap:break-word;word-break:break-word;width:100%;max-width:100%;margin-bottom:clamp(1.5rem,5vw,2.25rem);padding-left:.5em;font-size:clamp(.55rem,1.9vw,.66rem)}.hero-name{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;text-shadow:0 2px 28px #00000059;box-sizing:border-box;overflow-wrap:break-word;word-break:break-word;white-space:normal;text-align:center;width:100%;max-width:100%;padding:0 .1em;font-size:clamp(1.5rem,7.5vw,4.2rem);font-weight:600;line-height:1.18;display:block}.hero-name .char{display:inline-block}.hero-amp{font-family:var(--font-serif);color:var(--gold-soft);justify-content:center;align-items:center;gap:1rem;width:min(60%,14rem);margin:clamp(.55rem,2.2vw,.9rem) auto;font-size:clamp(1.3rem,5vw,1.9rem);font-style:italic;font-weight:300;display:flex}.hero-amp:before,.hero-amp:after{content:"";background:linear-gradient(90deg,#0000,#d2be8aa6);flex:1;height:1px}.hero-amp:after{background:linear-gradient(90deg,#d2be8aa6,#0000)}.hero-date{font-family:var(--font-serif);letter-spacing:.04em;opacity:.95;margin-top:clamp(1.5rem,5vw,2.25rem);font-size:clamp(1.05rem,4vw,1.3rem);font-style:italic}.hero-date sup{font-size:.6em}.hero-place{font-family:var(--font-label);letter-spacing:.34em;text-transform:uppercase;opacity:.7;margin-top:.8rem;padding-left:.34em;font-size:clamp(.55rem,2vw,.62rem)}.hero-scroll-cta{z-index:3;width:max-content;color:var(--ivory);font-family:var(--font-label);letter-spacing:.32em;text-transform:uppercase;opacity:.85;white-space:nowrap;flex-direction:column;align-items:center;gap:.6rem;margin:0 auto;font-size:.56rem;text-decoration:none;transition:opacity .25s;display:flex;position:absolute;bottom:1.7rem;left:0;right:0}.hero-scroll-cta span{padding-left:.32em}.hero-scroll-cta:hover{opacity:.6}.hero-scroll-cta svg{width:18px;height:18px;animation:scrollBounce 2.2s var(--ease-smooth) infinite}@keyframes scrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}#wedding-invite{background:var(--ivory);padding:clamp(4.5rem,13vw,7.5rem) clamp(1.25rem,5vw,2rem);position:relative}.invite-frame{text-align:center;max-width:34rem;margin:0 auto;position:relative}.invite-opener-rule{background:var(--gold);opacity:.7;width:56px;height:1px;margin:0 auto 2.25rem;display:block}.invite-prelude{font-family:var(--font-serif);color:var(--ink);white-space:pre-wrap;max-width:22rem;margin:0 auto clamp(2rem,5.5vw,2.75rem);font-size:clamp(1.05rem,3.5vw,1.22rem);font-weight:400;line-height:1.75}.invite-request{font-family:var(--font-serif);color:var(--text-soft);max-width:25rem;margin:0 auto clamp(2.25rem,6vw,3rem);font-size:clamp(1.02rem,3.4vw,1.2rem);font-style:italic;font-weight:400;line-height:1.7}.invite-closing{font-family:var(--font-serif);color:var(--text-soft);white-space:pre-wrap;max-width:26rem;margin:clamp(2.25rem,6vw,3rem) auto 0;font-size:clamp(.98rem,3.2vw,1.12rem);font-style:italic;font-weight:400;line-height:1.75}.invite-name{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;color:var(--sage-dark);box-sizing:border-box;overflow-wrap:break-word;word-break:break-word;white-space:normal;max-width:100%;margin-bottom:.8rem;padding-left:.05em;font-size:clamp(1.4rem,7vw,3.8rem);font-weight:600;line-height:1.18}.invite-parents{font-family:var(--font-serif);color:var(--ink);font-size:clamp(1.05rem,3.2vw,1.2rem);font-weight:500;line-height:1.55}.invite-amp-row{justify-content:center;align-items:center;gap:1rem;max-width:16rem;margin:clamp(1.25rem,4vw,1.9rem) auto;display:flex}.invite-amp-row .line{background:linear-gradient(90deg, transparent, var(--gold-soft), transparent);flex:1;height:1px}.invite-amp-row .amp{font-family:var(--font-serif);color:var(--gold);font-size:clamp(1.5rem,5.5vw,2rem);font-style:italic;line-height:1}#verse-section{background:var(--sage-dark);color:var(--ivory);text-align:center;padding:clamp(5rem,14vw,8rem) 1.5rem;position:relative;overflow:hidden}.verse-inner{z-index:1;position:relative}.verse-dove{width:44px;height:30px;color:var(--gold-soft);opacity:.9;margin:0 auto 1.7rem}.verse-text{font-family:var(--font-serif);color:#f4efe3f2;white-space:pre-wrap;max-width:30rem;margin:0 auto;font-size:clamp(1.4rem,5.4vw,2.1rem);font-style:italic;font-weight:300;line-height:1.6}.verse-ref{font-family:var(--font-label);letter-spacing:.34em;text-transform:uppercase;color:var(--gold-soft);opacity:.85;margin-top:1.8rem;padding-left:.34em;font-size:.6rem;display:block}#countdown-section{background:var(--ivory);text-align:center;padding:clamp(4.5rem,13vw,7.5rem) 1.25rem}.countdown-inner{max-width:46rem;margin:0 auto}.countdown-grid{justify-content:center;align-items:stretch;display:flex}.cd-unit{flex:1;max-width:9.5rem;padding:0 clamp(.35rem,2vw,1.25rem);position:relative}.cd-unit+.cd-unit:before{content:"";background:var(--hairline);width:1px;position:absolute;top:14%;bottom:14%;left:0}.cd-num-wrap{height:clamp(2.6rem,11vw,4.5rem);position:relative;overflow:hidden}.cd-num{font-family:var(--font-display);color:var(--sage-dark);font-variant-numeric:tabular-nums;transition:transform .45s var(--ease-smooth), opacity .45s;font-size:clamp(2.4rem,10.5vw,4.2rem);font-weight:400;line-height:1;display:block}.cd-label{font-family:var(--font-label);letter-spacing:.26em;text-transform:uppercase;color:var(--sage);margin-top:.7rem;padding-left:.26em;font-size:.55rem;display:block}#couple-photo{background:var(--paper);border-bottom:1px solid var(--hairline-2);text-align:center;padding:clamp(4rem,11vw,7rem) clamp(1.25rem,4vw,2rem)}.couple-photo-heading{font-family:var(--font-serif);color:var(--sage-dark);margin-bottom:.35rem;font-size:clamp(1.4rem,4.2vw,2.1rem);font-style:italic}.couple-photo-subheading{font-family:var(--font-serif);color:var(--sage-dark);margin-bottom:clamp(2rem,5vw,2.75rem);font-size:clamp(1rem,3vw,1.25rem);font-style:italic}.couple-photo-frame{background:var(--ivory);border:1px solid var(--hairline);border-radius:16px;max-width:25rem;margin:0 auto;padding:14px;position:relative;box-shadow:0 24px 50px -20px #272d222e}.couple-photo-frame:before{content:"";border:1px solid var(--hairline-2);pointer-events:none;border-radius:12px;position:absolute;inset:6px}.couple-photo-img-wrap{aspect-ratio:4/5;background:#efece6;border-radius:8px;width:100%;position:relative;overflow:hidden}.couple-photo-img-wrap img,.couple-photo-img-wrap video{object-fit:cover;width:100%;height:100%;display:block}.couple-photo-slider{cursor:grab;width:100%;height:100%;position:relative;overflow:hidden}.couple-photo-slider:active{cursor:grabbing}.couple-photo-track{will-change:transform;width:100%;height:100%;transition:transform .75s cubic-bezier(.25,1,.5,1);display:flex}.couple-photo-slide{flex:0 0 100%;width:100%;height:100%;position:relative;overflow:hidden}.couple-photo-slide img,.couple-photo-slide video{object-fit:cover;width:100%;height:100%;display:block}.couple-photo-dots{justify-content:center;align-items:center;gap:8px;margin-top:14px;display:flex}.couple-photo-dot{background:var(--hairline-2,#2d3b3033);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:all .3s}.couple-photo-dot.active{background:var(--sage-dark,#2d3b30);transform:scale(1.25)}.couple-photo-stack{position:relative}.couple-photo-layer{opacity:0;pointer-events:none;transition:opacity .8s ease-in-out;position:absolute;inset:0}.couple-photo-layer.active{opacity:1;pointer-events:auto}#venue-section{background:var(--paper);border-top:1px solid var(--hairline-2);border-bottom:1px solid var(--hairline-2);padding:clamp(4.5rem,13vw,8rem) clamp(1.25rem,4vw,2rem)}.venue-grid{grid-template-columns:1fr;gap:clamp(2rem,6vw,2.5rem);max-width:50rem;margin:0 auto;display:grid}@media (min-width:720px){.venue-grid{grid-template-columns:1fr 1fr}}.venue-arch{text-align:center;background:var(--ivory);border:1px solid var(--hairline);transition:transform .4s var(--ease-smooth), box-shadow .4s;border-radius:999px 999px 0 0;padding:clamp(2.75rem,9vw,3.75rem) clamp(1.25rem,5vw,2rem) clamp(2rem,6vw,2.5rem);position:relative}.venue-arch:before{content:"";border:1px solid var(--hairline-2);pointer-events:none;border-radius:999px 999px 0 0;position:absolute;inset:9px}.venue-arch:hover{transform:translateY(-5px);box-shadow:0 30px 60px -28px #272d2240}.venue-badge{aspect-ratio:1;justify-content:center;align-items:center;width:min(100%,19rem);margin:0 auto 1rem;display:flex;position:relative}.badge-img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.badge-inner{z-index:1;text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;width:50%;max-width:50%;padding-bottom:.5rem;display:flex;position:relative;overflow:hidden}.venue-event-label{max-width:70%;font-family:var(--font-label);letter-spacing:.36em;text-transform:uppercase;color:var(--sage);overflow-wrap:break-word;word-break:break-word;margin:0 auto 1.2rem;padding-left:.36em;font-size:.65rem;display:block}.venue-event-name{font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;color:var(--sage-dark);overflow-wrap:break-word;word-break:break-word;width:100%;max-width:100%;margin-bottom:.35rem;font-size:clamp(.85rem,3vw,1.1rem);font-weight:600;line-height:1.25}.venue-event-city{font-family:var(--font-serif);color:var(--text-soft);overflow-wrap:break-word;word-break:break-word;width:100%;max-width:100%;margin-bottom:0;font-size:1rem;font-style:italic;line-height:1.3}.venue-event-datetime{flex-direction:column;align-items:center;gap:.4rem;margin:1.6rem 0 1.2rem;display:flex}.venue-event-date{font-family:var(--font-serif);color:var(--text-soft);margin:0;font-size:clamp(.9rem,3vw,1rem)}.venue-event-time{font-family:var(--font-serif);color:var(--sage-dark);margin:0;font-size:clamp(1.2rem,4.5vw,1.45rem)}.venue-event-link{font-family:var(--font-label);letter-spacing:.22em;text-transform:uppercase;color:var(--sage-dark);border-bottom:1px solid var(--gold-soft);align-items:center;gap:.45rem;margin-top:.5rem;padding-bottom:.35rem;font-size:.62rem;text-decoration:none;transition:color .25s,border-color .25s;display:inline-flex}.venue-event-link:hover{color:var(--gold);border-color:var(--gold)}.sketch-section{text-align:center;background:var(--ivory);padding:clamp(3rem,8vw,5rem) clamp(1.25rem,4vw,2rem);position:relative}.sketch-img-wrap{width:100%;max-width:480px;height:clamp(220px,58vw,290px);max-height:290px;transition:transform .6s var(--ease-smooth);border:1px solid #b8963e33;border-radius:16px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 12px 40px -8px #0000001f}.sketch-img-wrap:hover{transform:scale(1.02)}.sketch-img-wrap img{object-fit:cover;width:100%;height:100%;max-height:290px;display:block}.timeline-section{background:var(--ivory);text-align:center;padding:clamp(4.5rem,13vw,7.5rem) clamp(1.25rem,4vw,2rem);position:relative;overflow:visible}.timeline-track{max-width:700px;margin:0 auto;padding:3rem 0;position:relative}.timeline-line{background:linear-gradient(180deg, transparent 0%, var(--gold-soft) 8%, var(--gold) 50%, var(--gold-soft) 92%, transparent 100%);opacity:.8;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-heart{z-index:10;filter:drop-shadow(0 2px 8px #b8963e59);will-change:transform;pointer-events:none;width:42px;height:42px;position:absolute;top:0;left:50%;transform:translate(-50%)translateY(0)}.timeline-heart svg{width:100%;height:100%}.timeline-day-group{margin-bottom:3.5rem;position:relative}.timeline-day-group:last-child{margin-bottom:0}.timeline-day-header{text-align:center;z-index:5;opacity:0;margin:0 auto 3rem;transition:opacity .7s,transform .7s;position:relative;transform:translateY(20px)}.timeline-day-header.tl-revealed{opacity:1;transform:translateY(0)}.timeline-day-pill{background:var(--paper);font-family:var(--font-label);letter-spacing:.15em;text-transform:uppercase;color:var(--ink);border:1px solid #b8963e59;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.35rem;font-size:.72rem;display:inline-flex;box-shadow:0 4px 18px #33402c14}.tl-day-title{color:var(--gold);font-weight:700}.tl-day-sep{color:#b8963e73}.tl-day-label{color:var(--ink);font-weight:500}.tl-day-date{color:var(--text-soft)}.tl-item{opacity:0;align-items:flex-start;margin-bottom:4rem;transition:opacity .7s,transform .7s;display:flex;position:relative;transform:translateY(30px)}.tl-item:last-child{margin-bottom:0}.tl-item.tl-revealed{opacity:1;transform:translateY(0)}.tl-item.tl-left{text-align:right;flex-direction:row-reverse}.tl-item.tl-right{text-align:left}.tl-content{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(135deg,#fffdf5f2,#faf6ede6);border:1px solid #b8963e33;border-radius:12px;flex:1;max-width:calc(50% - 40px);padding:1.5rem;transition:transform .4s,box-shadow .4s;box-shadow:0 4px 20px #0000000f}.tl-content:hover{transform:translateY(-2px);box-shadow:0 8px 28px #33402c1f}.tl-item.tl-left .tl-content{margin-right:auto}.tl-item.tl-right .tl-content{margin-left:auto}.tl-time{font-family:var(--font-label);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem;font-size:.68rem;display:block}.tl-title{font-family:var(--font-display);color:var(--ink);margin:0 0 .3rem;font-size:clamp(1.25rem,3.5vw,1.6rem);font-weight:500;line-height:1.2}.tl-desc{font-family:var(--font-serif);color:var(--text-soft);margin:0;font-size:1.05rem;line-height:1.5}.tl-dot{background:var(--gold);border:3px solid var(--ivory);z-index:5;border-radius:50%;width:12px;height:12px;position:absolute;top:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 0 0 2px #b8963e66}@media (max-width:768px){.tl-item{margin-bottom:2.5rem;text-align:left!important;flex-direction:row!important}.tl-item.tl-left,.tl-item.tl-right{flex-direction:row;justify-content:flex-start}.tl-content{width:100%;max-width:calc(100% - 50px);margin:0 0 0 50px!important}.tl-dot{display:block;top:1.8rem;left:14px}.timeline-line{opacity:.6;left:14px}.timeline-heart{width:32px;height:32px;left:14px}}#mood-section{background:var(--ivory);text-align:center;padding:clamp(4.5rem,13vw,7.5rem) clamp(1.25rem,4vw,2rem)}.mood-cards-wrap{margin:clamp(2.5rem,7vw,3.5rem) auto 0}.mood-cards-single{max-width:min(42rem,100%)}.mood-cards-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));justify-content:center;gap:clamp(1.5rem,4vw,2.5rem);max-width:min(56rem,100%);display:grid}.mood-card{background:var(--paper);border:1px solid var(--hairline);transition:transform .4s var(--ease-smooth), box-shadow .4s var(--ease-smooth);border-radius:8px;flex-direction:column;padding:clamp(.75rem,2.5vw,1.25rem);display:flex;box-shadow:0 24px 56px -28px #272d2229}.mood-card:hover{transform:translateY(-3px);box-shadow:0 30px 60px -24px #272d2238}.mood-card-title{font-family:var(--font-serif);color:var(--ink);margin:0 0 .5rem;font-size:clamp(1.15rem,4vw,1.45rem);font-style:italic}.mood-card-desc{font-family:var(--font-serif);color:var(--text-soft);margin:0 0 .85rem;font-size:.95rem;line-height:1.5}.mood-card-visual{background:#fbf9f5;border:1px solid #b8963e1f;border-radius:4px;overflow:hidden}.mood-card-visual img{border-radius:2px;width:100%;height:auto;display:block}.note-section{background:var(--ivory);text-align:center;padding:clamp(4.5rem,13vw,7.5rem) 1.25rem;position:relative;overflow:hidden}.note-card{background:var(--paper);border:1px solid var(--hairline);text-align:left;max-width:35rem;margin:0 auto;padding:clamp(2.75rem,8vw,3.75rem) clamp(1.5rem,5vw,2.75rem) clamp(2.25rem,6vw,3rem);position:relative;box-shadow:0 1px 2px #272d2208,0 30px 70px -28px #272d2229}.note-card:after{content:"";border:1px solid var(--hairline-2);pointer-events:none;position:absolute;inset:9px}.note-seal{z-index:2;filter:drop-shadow(0 4px 8px #272d2240);width:50px;height:50px;position:absolute;top:-25px;left:50%;transform:translate(-50%)rotate(-4deg)}.typewriter{font-family:var(--font-serif);white-space:pre-wrap;min-height:10rem;color:var(--ink);z-index:1;font-size:clamp(1.02rem,3.4vw,1.12rem);line-height:1.95;position:relative}.note-sign{text-align:right;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--sage-dark);z-index:1;margin-top:1.9rem;font-size:clamp(1.25rem,4.5vw,1.6rem);position:relative}#rsvp{background:radial-gradient(circle at 92% 8%, #b8963e0f, transparent 30%), var(--ivory);padding:clamp(4.5rem,13vw,8rem) clamp(1.25rem,4vw,2rem)}.rsvp-form{max-width:33rem;margin:0 auto}.form-group{margin-bottom:2.1rem}.form-group>label,.form-group>.group-label{font-family:var(--font-label);letter-spacing:.28em;text-transform:uppercase;color:var(--sage);margin-bottom:.7rem;padding-left:.28em;font-size:.58rem;display:block}.form-group input[type=text],.form-group input[type=tel],.form-group textarea,.form-group select{width:100%;font-family:var(--font-serif);color:var(--ink);border:none;border-bottom:1px solid var(--hairline);appearance:none;background:0 0;border-radius:0;padding:.55rem .1rem;font-size:1.12rem;transition:border-color .3s}.form-group select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237C8763' stroke-width='1.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .2rem center;background-repeat:no-repeat;background-size:16px;padding-right:1.6rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-bottom-color:var(--sage-dark);outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#6b745873;font-style:italic}.form-group textarea{resize:vertical;min-height:4.5rem;line-height:1.7}.attend-toggle{flex-direction:column;gap:.75rem;width:100%;display:flex}.radio-pill{text-align:center;width:100%;font-family:var(--font-serif);color:var(--text-soft);border:1px solid var(--hairline);cursor:pointer;transition:all .25s var(--ease-smooth);box-sizing:border-box;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1.25rem;font-size:clamp(.95rem,3vw,1.05rem);font-style:italic;display:flex;position:relative}.radio-pill:hover{border-color:var(--gold);background:#b8963e0d}.radio-pill input[type=radio]{display:none!important}.radio-pill.selected{box-shadow:0 4px 15px #2f392540;background:var(--sage-dark)!important;border-color:var(--sage-dark)!important;color:var(--ivory)!important}.radio-pill:has(input:checked){box-shadow:0 4px 15px #2f392540;background:var(--sage-dark)!important;border-color:var(--sage-dark)!important;color:var(--ivory)!important}.checkbox-row{flex-direction:column;gap:.75rem;width:100%;display:flex}.checkbox-pill{border:1px solid var(--hairline);cursor:pointer;text-align:left;box-sizing:border-box;background:#ffffff80;border-radius:.85rem;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.25rem;transition:all .25s;display:flex}.checkbox-pill:hover{border-color:var(--gold);background:#ffffffd9}.checkbox-pill.selected{border-color:var(--sage-dark)!important;background:#7c876326!important}.checkbox-pill:has(input:checked){border-color:var(--sage-dark)!important;background:#7c876326!important}.checkbox-pill input[type=checkbox]{width:18px;height:18px;accent-color:var(--sage-dark);cursor:pointer;flex-shrink:0}.checkbox-pill .event-name{font-family:var(--font-serif);color:var(--ink);margin:0;font-size:1.12rem;font-weight:600;line-height:1.3}.checkbox-pill .event-date{font-family:var(--font-label);letter-spacing:.12em;text-transform:uppercase;color:var(--text-soft);margin-top:.2rem;font-size:.65rem;display:block}.checkbox-pill span{font-family:var(--font-serif);color:var(--ink);font-size:1.05rem}.custom-dropdown-trigger{border:1px solid var(--hairline);width:100%;font-family:var(--font-serif);color:var(--ink);cursor:pointer;box-sizing:border-box;background:#fff9;border-radius:.75rem;justify-content:space-between;align-items:center;padding:.85rem 1.2rem;font-size:1.05rem;transition:all .25s;display:flex}.custom-dropdown-trigger:focus,.custom-dropdown-trigger[aria-expanded=true]{border-color:var(--sage-dark);background:#fff;outline:none;box-shadow:0 0 0 3px #7c876326}.custom-dropdown-menu{border:1px solid var(--hairline)!important;z-index:9999!important;background:#fff!important;border-radius:.75rem!important;padding:6px!important;box-shadow:0 16px 36px #2f39251f!important}.custom-dropdown-item{font-family:var(--font-serif)!important;color:var(--ink)!important;border-radius:6px!important;padding:10px 14px!important;font-size:1rem!important;transition:background .15s!important}.custom-dropdown-item:hover{color:var(--sage-dark)!important;background:#7c87631a!important}.custom-dropdown-item.selected{background:var(--sage-dark)!important;color:var(--ivory)!important;font-weight:600!important}.rsvp-submit{width:100%;font-family:var(--font-label);letter-spacing:.26em;text-transform:uppercase;background:var(--sage-dark);color:var(--ivory);cursor:pointer;transition:background .25s, transform .25s var(--ease-smooth), box-shadow .25s;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.6rem;margin-top:.5rem;padding:1.1rem 1.5rem;font-size:.66rem;display:flex}.rsvp-submit:hover{background:var(--sage-deeper);transform:translateY(-2px);box-shadow:0 14px 30px -12px #272d2266}.rsvp-submit:disabled{opacity:.65;cursor:not-allowed;box-shadow:none;transform:none}.rsvp-success{text-align:center;max-width:33rem;font-family:var(--font-serif);color:var(--sage-dark);border-top:1px solid var(--gold-soft);border-bottom:1px solid var(--gold-soft);margin:0 auto;padding:2.75rem 1.5rem;font-size:1.2rem;font-style:italic;line-height:1.7}#footer-section{background:var(--sage-deeper);color:var(--ivory);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:clamp(4.5rem,12vw,6.5rem) 1.5rem 2.75rem;display:flex;position:relative;overflow:hidden}.footer-inner{z-index:1;width:100%;position:relative}.footer-sprig{width:50px;height:27px;color:var(--gold-soft);opacity:.85;margin:0 auto 1.5rem}.footer-names{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;color:var(--ivory);box-sizing:border-box;overflow-wrap:break-word;word-break:break-word;white-space:normal;max-width:100%;padding-left:.05em;font-size:clamp(1.3rem,6.2vw,3.1rem);font-weight:600;line-height:1.25}.footer-date{font-family:var(--font-label);letter-spacing:.3em;text-transform:uppercase;color:#f4efe3b3;margin-top:.9rem;padding-left:.3em;font-size:.66rem}.footer-thanks{font-family:var(--font-serif);color:#f4efe3b8;margin-top:1.6rem;font-size:1.1rem;font-style:italic}.footer-contact{max-width:22rem;margin-top:2.5rem;margin-left:auto;margin-right:auto}.footer-contact-intro{font-family:var(--font-serif);color:#f4efe39e;margin-bottom:1.1rem;font-size:clamp(.95rem,3vw,1.02rem);font-style:italic;line-height:1.65}.footer-contact-list{flex-direction:column;gap:.6rem;list-style:none;display:flex}.footer-contact-list li{font-family:var(--font-label);letter-spacing:.16em;text-transform:uppercase;color:#f4efe3d9;font-size:clamp(.64rem,2.6vw,.72rem)}.footer-contact-list a{color:var(--gold-soft);border-bottom:1px solid #d2be8a59;padding-bottom:1px;text-decoration:none;transition:color .2s,border-color .2s}.footer-contact-list a:hover{color:var(--ivory);border-color:var(--ivory)}.footer-credit{font-family:var(--font-label);letter-spacing:.24em;color:#f4efe373;text-transform:uppercase;z-index:1;margin-top:3.25rem;font-size:.58rem;position:relative}.footer-credit a{color:var(--gold-soft);text-decoration:none}.footer-credit a:hover{color:var(--ivory)}#ambient-light{z-index:0;pointer-events:none;opacity:0;transition:opacity 2s;position:fixed;inset:0}#ambient-light.lit{opacity:1}#cursor-dot,#cursor-ring{z-index:9998;pointer-events:none;mix-blend-mode:difference;border-radius:50%;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}#cursor-dot{background:var(--gold-soft);width:6px;height:6px}#cursor-ring{border:1px solid var(--gold-soft);width:34px;height:34px;transition:width .3s var(--ease-smooth), height .3s var(--ease-smooth), border-color .3s, background .3s, opacity .3s}#cursor-ring.hovering{background:#d2be8a1f;width:56px;height:56px}body.has-cursor,body.has-cursor a,body.has-cursor button,body.has-cursor input,body.has-cursor select,body.has-cursor textarea,body.has-cursor label{cursor:none}@media (hover:none),(pointer:coarse){#cursor-dot,#cursor-ring{display:none!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}html{scroll-behavior:auto}#ambient-light{display:none}#cursor-dot,#cursor-ring{display:none!important}body.has-cursor{cursor:auto}}
