:root{--ink:#071827;--ink-soft:#0e2a3f;--blue:#276d89;--aqua:#73c9d0;--ice:#ccebee;--paper:#f5f1e9;--paper-deep:#e8e0d4;--gold:#c6a86e;--serif:"Cormorant Garamond", Georgia, serif;--sans:"DM Sans", Arial, sans-serif}@property --arrival-radius{syntax:"<percentage>";inherits:false;initial-value:0%}*,:before,:after{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:smooth;scrollbar-gutter:stable}html.envelope-pending,html.envelope-pending body{overflow:hidden}body{min-width:320px;color:var(--paper);background:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}button,input,select{font:inherit}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}::selection{color:var(--ink);background:var(--aqua)}.ambient{z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 15%,#347d9759,#0000 38%),linear-gradient(145deg,#06131e 0%,#0c2f44 55%,#071827 100%);position:fixed;inset:0;overflow:hidden}.ambient:before{content:"";opacity:.16;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E");position:absolute;inset:0}.glow{aspect-ratio:1;filter:blur(90px);opacity:.14;background:var(--aqua);border-radius:50%;width:45vw;animation:14s ease-in-out infinite alternate drift;position:absolute}.glow-one{top:-20vw;left:-12vw}.glow-two{animation-delay:-7s;bottom:-25vw;right:-18vw}.star{background:#fff;border-radius:50%;width:4px;height:4px;animation:3s ease-in-out infinite glimmer;position:absolute;box-shadow:0 0 18px 4px #ccebee99}.star:before,.star:after{content:"";background:linear-gradient(#0000,#ffffffbf,#0000);width:1px;height:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.star:after{width:24px;height:1px}.star-one{top:15%;left:13%}.star-two{animation-delay:-.8s;top:22%;right:17%;transform:scale(.6)}.star-three{animation-delay:-1.7s;bottom:18%;right:8%;transform:scale(.45)}.star-four{animation-delay:-2.2s;bottom:27%;left:20%;transform:scale(.7)}.music-toggle{z-index:60;aspect-ratio:1;width:48px;color:var(--ice);opacity:0;pointer-events:none;backdrop-filter:blur(12px);cursor:pointer;background:#071827ad;border:1px solid #ccebee47;border-radius:50%;place-items:center;padding:0;transition:opacity .35s,transform .35s,border-color .25s,background .25s;display:grid;position:fixed;bottom:clamp(18px,2.7vw,38px);right:clamp(18px,2.7vw,38px);overflow:hidden;transform:translateY(10px);box-shadow:0 8px 32px #00000038}.invitation-open .music-toggle{opacity:1;pointer-events:auto;transition-delay:.5s,.5s,0s,0s;transform:none}.music-toggle:hover,.music-toggle:focus-visible{border-color:var(--aqua);background:#0d3d57eb;outline:none}.music-toggle:focus-visible{box-shadow:0 0 0 3px #73c9d038,0 8px 32px #00000038}.music-icon{fill:currentColor;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:19px;height:19px;position:absolute}.pause-icon,.music-toggle.is-playing .play-icon{display:none}.music-toggle.is-playing .pause-icon{display:block}.music-rings{align-items:end;gap:1.5px;height:9px;display:flex;position:absolute;bottom:9px;right:8px}.music-rings i{opacity:.55;background:currentColor;width:1px;height:4px}.music-toggle.is-playing .music-rings i{animation:.8s ease-in-out infinite alternate sound-wave}.music-toggle.is-playing .music-rings i:nth-child(2){height:7px;animation-delay:-.35s}.music-toggle.is-playing .music-rings i:nth-child(3){height:5px;animation-delay:-.6s}.music-toggle.needs-start{border-color:#73c9d0b3;box-shadow:0 0 0 7px #73c9d014,0 8px 32px #00000038}.eyebrow{color:var(--ice);letter-spacing:.28em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:600;line-height:1.3}.eyebrow.dark{color:var(--blue)}.envelope-stage{z-index:100;background:radial-gradient(circle at 50% 44%,#4f9eb533,#0000 35%),linear-gradient(145deg,#05121dfa,#0b3045fa);grid-template-rows:1fr auto 1fr;place-items:center;min-height:100svh;padding:clamp(28px,5vh,64px) 24px;transition:opacity .85s,visibility 0s linear .85s;display:grid;position:fixed;inset:0;overflow:visible}.envelope-stage:before{z-index:6;content:"";opacity:0;pointer-events:none;border:1px solid #ccebee29;transition:opacity 1.4s 1.1s;position:absolute;inset:18px}.envelope-stage:after{content:"";z-index:0;opacity:0;pointer-events:none;background-image:linear-gradient(30deg,#0000 49.7%,#ffffff47 50%,#0000 50.3%),linear-gradient(150deg,#0000 49.7%,#ffffff2e 50%,#0000 50.3%);background-size:180px 104px;transition:opacity 1.8s .65s;position:absolute;inset:0;mask-image:radial-gradient(circle,#0000 12%,#000 100%)}.arrival-veil{--arrival-radius:0%;z-index:20;pointer-events:auto;-webkit-mask-image:radial-gradient(circle at 50% 49%, transparent 0 var(--arrival-radius), #000000db calc(var(--arrival-radius) + 12%), #000 calc(var(--arrival-radius) + 25%));mask-image:radial-gradient(circle at 50% 49%, transparent 0 var(--arrival-radius), #000000db calc(var(--arrival-radius) + 12%), #000 calc(var(--arrival-radius) + 25%));background:#02080e;transition:--arrival-radius 2.55s cubic-bezier(.2,.62,.18,1),opacity .9s 1.85s,visibility 0s linear 2.75s;position:absolute;inset:0}.envelope-stage.is-ready:before{opacity:1}.envelope-stage.is-ready:after{opacity:.12}.envelope-stage.is-ready .arrival-veil{--arrival-radius:92%;opacity:0;visibility:hidden}.stage-intro{z-index:5;opacity:0;text-align:center;filter:blur(8px);align-self:end;margin-bottom:clamp(28px,5vh,56px);transition:opacity 1.3s cubic-bezier(.22,.72,.2,1) .75s,filter 1.45s cubic-bezier(.22,.72,.2,1) .75s,transform 1.5s cubic-bezier(.22,.72,.2,1) .75s;position:relative;transform:translateY(12px)}.stage-intro h1{font-family:var(--serif);letter-spacing:-.03em;margin:12px 0 0;font-size:clamp(2.2rem,5.2vw,5rem);font-weight:400;line-height:.91}.envelope-button{z-index:3;aspect-ratio:1.64;outline-offset:16px;width:min(62vw,580px);max-height:min(52vh,420px);color:var(--ink);opacity:0;filter:blur(11px)brightness(.58);cursor:pointer;background:0 0;border:0;padding:0;transition:opacity 1.5s cubic-bezier(.18,.7,.18,1) .18s,filter 1.65s cubic-bezier(.18,.7,.18,1) .18s,transform 1.8s cubic-bezier(.18,.7,.18,1) .18s;position:relative;overflow:visible;transform:scale(.965)}.envelope-canvas{width:100%;height:100%;display:block}.envelope-button:focus-visible{outline:2px solid var(--aqua)}.envelope-shadow{filter:blur(28px);background:#0000008c;border-radius:50%;height:20%;transition:transform .55s,opacity .55s;position:absolute;bottom:-11%;left:5%;right:5%}.envelope{filter:drop-shadow(0 22px 28px #00000047);transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.envelope-back,.envelope-front{background:linear-gradient(145deg,#f6f1e7,#d8cfc0);border-radius:5px;position:absolute;inset:0}.envelope-back{border:1px solid #ffffff8c;box-shadow:inset 0 0 50px #74572f14}.letter-peek{z-index:2;color:var(--ink);opacity:0;visibility:hidden;background:#faf7f0;border:1px solid #c6a86e80;flex-direction:column;justify-content:center;align-items:center;transition:transform 1.25s cubic-bezier(.22,.7,.2,1),opacity .4s,visibility linear;display:flex;position:absolute;inset:5% 7% 7%;transform:translateY(10%)scale(.985);box-shadow:0 2px 15px #0000001f}.peek-rule{background:var(--gold);width:32px;height:1px;margin-bottom:14px}.peek-script{font-family:var(--serif);font-size:clamp(1.8rem,4vw,3.4rem);font-style:italic;line-height:1}.peek-date{letter-spacing:.3em;margin-top:12px;font-size:.58rem;font-weight:600}.envelope-front{z-index:3;clip-path:polygon(0 50%,50% 76%,100% 50%,100% 100%,0 100%);background:linear-gradient(145deg,#f2ecdf 0%,#e5dccd 100%);overflow:hidden}.envelope-fold{z-index:4;pointer-events:none;border-radius:5px;position:absolute;inset:0}.envelope-fold-left{clip-path:polygon(0 50%,52% 78%,0 100%);background:linear-gradient(100deg,#eee6d8,#d9cebd)}.envelope-fold-right{clip-path:polygon(100% 50%,48% 78%,100% 100%);background:linear-gradient(255deg,#f5eee3,#ded3c1)}.envelope-flap{z-index:6;pointer-events:none;transform-origin:top;transform-style:preserve-3d;transition:transform 2.2s cubic-bezier(.32,.08,.18,1) .18s;position:absolute;inset:0;overflow:visible}.flap-face,.flap-lining,.flap-cut,.envelope-flap .wax-seal{-webkit-backface-visibility:hidden;backface-visibility:hidden}.flap-face{clip-path:polygon(0 0,100% 0,100% 50%,50% 76%,0 50%);background:linear-gradient(160deg,#fbf7ef 4%,#dfd5c5 94%);border-radius:5px 5px 0 0;position:absolute;inset:0}.flap-lining{clip-path:polygon(0 0,100% 0,100% 50%,50% 76%,0 50%);background:linear-gradient(#efe4cf 0%,#dccbb3 100%);border-radius:5px 5px 0 0;position:absolute;inset:0;transform:rotateX(180deg);box-shadow:inset 0 18px 28px #5a3e1214}.flap-cut{pointer-events:none;filter:drop-shadow(0 1px #5a3e1261)drop-shadow(0 0 2.5px #d4af5a73);width:100%;height:100%;position:absolute;inset:0;overflow:visible}.wax-seal{z-index:7;aspect-ratio:1;color:#f0e7d8;background:radial-gradient(circle at 34% 28%,#ffffff38,#0000 22%),linear-gradient(145deg,#2c7a91,#0d3d57);border:1px solid #ffffff47;border-radius:48% 52% 46% 54%/53% 48% 52% 47%;flex-direction:column;justify-content:center;align-items:center;width:clamp(66px,10vw,92px);transition:opacity .55s 40ms,transform .7s cubic-bezier(.22,.7,.2,1) 40ms;display:flex;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)rotate(-6deg);box-shadow:0 8px 20px #09253566,inset 0 0 0 5px #ffffff0d}.wax-seal span{font-family:var(--serif);font-size:clamp(1.6rem,3.4vw,2.2rem);line-height:.8}.wax-seal i{font-family:var(--serif);letter-spacing:.12em;margin-top:5px;font-size:.66rem}.stage-prompt{z-index:5;color:var(--ice);opacity:0;letter-spacing:.22em;text-transform:uppercase;filter:blur(5px);pointer-events:none;flex-direction:column;align-self:start;align-items:center;gap:8px;margin-top:clamp(22px,4vh,44px);font-size:.68rem;font-weight:500;transition:opacity 1.1s 1.55s,filter 1.2s 1.55s,transform 1.25s cubic-bezier(.22,.72,.2,1) 1.55s;display:flex;position:relative;transform:translateY(8px)}.stage-prompt svg{fill:none;stroke:currentColor;stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:24px}.recipient{z-index:5;opacity:0;color:#ccebee8c;font-family:var(--serif);letter-spacing:.04em;text-align:center;filter:blur(4px);margin:0;font-size:.85rem;font-style:italic;transition:opacity 1.1s 1.85s,filter 1.15s 1.85s,transform 1.2s 1.85s;position:absolute;bottom:26px;left:28px;right:28px;transform:translateY(5px)}.envelope-stage.is-ready .stage-intro,.envelope-stage.is-ready .envelope-button,.envelope-stage.is-ready .stage-prompt,.envelope-stage.is-ready .recipient{opacity:1;filter:blur()brightness();transform:none}.envelope-stage.is-ready .stage-prompt{animation:2.4s ease-in-out 2.75s infinite breathe}.envelope-stage.is-opening .wax-seal{opacity:0;transform:translate(-50%,-50%)rotate(12deg)scale(.78)}.envelope-stage.is-opening .envelope-flap{transform:rotateX(88deg)}.envelope-stage.is-card-out .letter-peek{opacity:1;visibility:visible;transform:translateY(-78%)}.envelope-stage.is-opening .envelope-shadow{opacity:.2;transform:scale(.85)}.envelope-stage.is-opening .envelope,.envelope-stage.is-opening .envelope-button:hover .envelope,.envelope-stage.is-opening .envelope-button:focus-visible .envelope{filter:none;transform:none}.envelope-stage.is-opening .stage-intro,.envelope-stage.is-opening .stage-prompt,.envelope-stage.is-opening .recipient{opacity:0;pointer-events:none;transition:opacity .55s;animation:none}.envelope-stage.is-opening{grid-template-rows:1fr}.envelope-stage.is-opening .stage-intro,.envelope-stage.is-opening .stage-prompt{top:var(--opening-top);left:var(--opening-left);width:var(--opening-width);margin:0;position:absolute}.envelope-stage.is-opening .envelope-button{aspect-ratio:auto;grid-row:1;align-self:center;width:min(88vw,900px);height:min(78svh,820px);max-height:none;overflow:visible}.envelope-stage.is-exiting{opacity:0;visibility:hidden;pointer-events:none}main{opacity:0;min-height:100vh;transition:opacity .7s,transform .9s;transform:translateY(12px)}.invitation-open main{opacity:1;transform:none}.has-scroll-reveal .scroll-reveal-item{opacity:0;filter:blur(5px);transition:opacity 1.35s cubic-bezier(.22,.72,.2,1),filter 1.2s cubic-bezier(.22,.72,.2,1),transform 1.45s cubic-bezier(.22,.72,.2,1);transition-delay:calc(var(--reveal-index,0) * .13s);transform:translateY(28px)}.has-scroll-reveal .scroll-reveal-group.is-revealed .scroll-reveal-item{opacity:1;filter:blur();transform:translate(0,0)}.site-header{z-index:20;color:#f5f1e9d6;border-bottom:1px solid #ccebee2b;grid-template-columns:1fr auto 1fr;align-items:center;min-height:84px;padding:0 clamp(24px,5vw,76px);display:grid;position:absolute;top:0;left:0;right:0}.site-header p{letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.66rem}.mini-mark,.header-rsvp{letter-spacing:.16em;align-items:center;gap:9px;font-size:.7rem;font-weight:600;text-decoration:none;display:inline-flex}.mini-mark{justify-self:start}.mark-gem{color:var(--aqua);font-size:.72rem}.header-rsvp{border-bottom:1px solid #ccebee8c;justify-self:end;padding-bottom:5px;transition:color .2s,border-color .2s}.header-rsvp:hover{color:var(--aqua);border-color:var(--aqua)}.hero{text-align:center;background:radial-gradient(circle,#387e9640,#0000 48%),linear-gradient(145deg,#04121d66,#0926378c);place-items:center;min-height:100svh;padding:116px 24px 66px;display:grid;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";pointer-events:none;position:absolute}.hero:before{clip-path:polygon(0 0,44% 0,50% 5%,56% 0,100% 0,100% 100%,56% 100%,50% 95%,44% 100%,0 100%);border:1px solid #ccebee21;inset:4.5%}.hero:after{opacity:.16;background-image:linear-gradient(30deg,#0000 49.7%,#ffffff4d 50%,#0000 50.3%),linear-gradient(150deg,#0000 49.7%,#fff3 50%,#0000 50.3%);background-size:220px 127px;inset:0;mask-image:linear-gradient(#000,#0000 44% 62%,#000)}.hero-content{z-index:3;width:min(960px,100%);position:relative}.brand-logo{object-fit:contain;width:clamp(170px,18vw,255px);height:auto;margin-bottom:clamp(28px,5vh,52px)}.hero-overline{color:var(--aqua);letter-spacing:.33em;text-transform:uppercase;margin:0 0 14px;font-size:.69rem;font-weight:600}.hero h2{font-family:var(--serif);letter-spacing:-.065em;text-shadow:0 10px 45px #0000003d;margin:0;font-size:clamp(5rem,12.5vw,11.5rem);font-weight:400;line-height:.69}.hero h2 em{color:var(--ice);margin-left:.48em;font-size:.72em;font-weight:400;display:block}.hero-date{font-family:var(--serif);letter-spacing:.14em;text-transform:uppercase;margin:clamp(40px,7vh,70px) 0 0;font-size:clamp(1.05rem,2vw,1.4rem)}.discover-link{color:#f5f1e9a8;letter-spacing:.19em;text-transform:uppercase;align-items:center;gap:13px;margin-top:32px;font-size:.62rem;text-decoration:none;display:inline-flex}.discover-link svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;width:15px;transition:transform .3s}.discover-link:hover svg{transform:translateY(4px)}.hero-halo{aspect-ratio:1;width:min(74vw,780px);position:absolute;top:50%;left:50%;transform:translate(-50%,-48%)}.halo-line{border:1px solid #73c9d029;position:absolute;inset:0;transform:rotate(45deg)}.halo-two{border-color:#73c9d017;animation:80s linear infinite halo-spin-cw;inset:9%;transform:rotate(30deg)}.halo-three{border-color:#c6a86e1f;animation:52s linear infinite halo-spin-ccw;inset:17%;transform:rotate(60deg)}.invitation-copy{color:var(--ink);background:var(--paper);grid-template-columns:.35fr 1fr 1.15fr;gap:clamp(28px,6vw,96px);padding:clamp(90px,13vw,190px) clamp(24px,8vw,130px);display:grid;position:relative}.section-number{color:#07182747;font-family:var(--serif);letter-spacing:.18em;font-size:.78rem}.copy-heading h2,.details-title-block h2,.rsvp-intro h2{font-family:var(--serif);letter-spacing:-.055em;margin:18px 0 0;font-size:clamp(3.4rem,6.3vw,6.6rem);font-weight:500;line-height:.76}.copy-heading h2 em,.details-title-block h2 em,.rsvp-intro h2 em{color:var(--blue);font-weight:400}.copy-body{color:#53616b;max-width:570px;padding-top:32px;font-size:.95rem;line-height:1.9}.copy-body .lead{color:var(--ink-soft);font-family:var(--serif);margin-top:0;font-size:clamp(1.6rem,2.5vw,2.3rem);line-height:1.28}.copy-body p:last-child{margin:30px 0 0}.event-details{background:radial-gradient(circle at 48% 45%,#2d789340,#0000 28%),linear-gradient(125deg,#061824,#0b344a);grid-template-columns:.9fr 1.1fr 1.25fr;gap:clamp(28px,6vw,84px);padding:clamp(90px,12vw,170px) clamp(24px,8vw,130px);display:grid;position:relative;overflow:hidden}.event-details:after{aspect-ratio:1;content:"";pointer-events:none;border:1px solid #73c9d01a;width:48vw;position:absolute;top:50%;left:51%;transform:translate(-50%,-50%)rotate(45deg)}.details-title-block,.date-monument,.details-list,.venue-link{z-index:2;position:relative}.details-title-block h2{color:var(--paper)}.details-title-block h2 em{color:var(--aqua)}.diamond-rule{align-items:center;gap:8px;width:120px;margin-top:38px;display:flex}.diamond-rule:before,.diamond-rule:after{content:"";background:#73c9d059;flex:1;height:1px}.diamond-rule i{aspect-ratio:1;border:1px solid var(--aqua);width:7px;transform:rotate(45deg)}.date-monument{text-align:center;border-left:1px solid #ccebee24;border-right:1px solid #ccebee24;flex-direction:column;justify-content:center;align-items:center;min-height:390px;display:flex}.date-monument strong{font-family:var(--serif);letter-spacing:-.09em;margin:-8px 0 -20px;font-size:clamp(9rem,17vw,16rem);font-weight:400;line-height:1}.weekday,.month{color:var(--aqua);letter-spacing:.28em;text-transform:uppercase;font-size:.63rem;font-weight:600}.details-list{flex-direction:column;justify-content:center;margin:0;display:flex}.details-list div{border-bottom:1px solid #ccebee24;padding:24px 0}.details-list dt{color:var(--aqua);letter-spacing:.23em;text-transform:uppercase;margin-bottom:4px;font-size:.61rem;font-weight:600}.details-list dd{font-family:var(--serif);margin:0;font-size:clamp(1.3rem,2.2vw,1.8rem);line-height:1.25}.details-list .detail-note{color:#f5f1e994;font-family:var(--sans);letter-spacing:.04em;margin-top:5px;font-size:.72rem}.venue-link{color:var(--aqua);letter-spacing:.18em;text-transform:uppercase;font-size:.65rem;text-decoration:none;position:absolute;bottom:55px;right:clamp(24px,8vw,130px)}.venue-link span{margin-left:7px}.guest-note{color:var(--ink);background:var(--paper-deep);text-align:center;grid-template-columns:auto minmax(0,650px) auto;justify-content:center;align-items:center;gap:clamp(24px,4vw,56px);padding:clamp(72px,9vw,120px) 24px;display:grid}.guest-note:before,.guest-note:after{content:"";background:#0718272e;width:clamp(28px,8vw,120px);height:1px}.guest-note .note-gem{color:var(--blue);grid-column:2;font-size:.7rem}.guest-note p{font-family:var(--serif);grid-column:2;margin:0;font-size:clamp(1.65rem,3vw,2.7rem);line-height:1.2}.rsvp-section{color:var(--ink);background:#faf8f3;grid-template-columns:.78fr 1.22fr;gap:clamp(48px,9vw,150px);padding:clamp(90px,12vw,180px) clamp(24px,9vw,150px);display:grid}.rsvp-intro h2{font-size:clamp(4rem,7vw,7.2rem)}.rsvp-intro>p:last-child{color:#6d777e;margin-top:40px;font-size:.78rem;line-height:1.7}.rsvp-form{width:100%;max-width:680px}.rsvp-form fieldset{border:0;min-width:0;margin:0;padding:0}.rsvp-form legend,.form-row>label{color:var(--ink-soft);letter-spacing:.15em;text-transform:uppercase;margin-bottom:13px;font-size:.67rem;font-weight:600;display:block}.response-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.response-card{cursor:pointer;background:#ffffff73;border:1px solid #d9d4ca;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:118px;padding:22px;transition:border-color .25s,background .25s,transform .25s;display:grid;position:relative}.response-card:hover{border-color:var(--blue);transform:translateY(-2px)}.response-card:has(input:checked){border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:#73c9d01c}.response-card input{opacity:0;width:1px;height:1px;position:absolute}.response-card:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:3px}.response-indicator{aspect-ratio:1;background:0 0;border:1px solid #a8afb1;border-radius:50%;width:19px;transition:background .2s,border-color .2s;box-shadow:inset 0 0 0 4px #faf8f3}.response-card input:checked+.response-indicator{border-color:var(--blue);background:var(--blue)}.response-card strong,.response-card small{display:block}.response-card strong{font-family:var(--serif);font-size:1.25rem;font-weight:500;line-height:1.1}.response-card small{color:#7a8389;margin-top:5px;font-size:.66rem}.response-card i{color:var(--blue);align-self:start;font-size:.9rem;font-style:normal}.form-row{margin-top:30px}.form-row input,.form-row select{width:100%;height:62px;color:var(--ink);font-family:var(--serif);background:0 0;border:0;border-bottom:1px solid #b9b9b3;border-radius:0;outline:none;padding:0 4px;font-size:1.35rem;transition:border-color .2s}.form-row input:focus,.form-row select:focus{border-color:var(--blue)}.form-row input::placeholder{color:#999b98}.select-wrap{position:relative}.select-wrap select{appearance:none}.select-wrap>span{pointer-events:none;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.submit-button{border:1px solid var(--ink);width:100%;height:68px;color:var(--paper);background:var(--ink);cursor:pointer;letter-spacing:.17em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-top:40px;padding:0 25px;font-size:.69rem;font-weight:600;transition:color .25s,background .25s,transform .25s;display:flex}.submit-button:hover{color:var(--ink);background:var(--aqua);transform:translateY(-2px)}.submit-button:disabled{cursor:wait;opacity:.58}.submit-button i{font-size:1.05rem;font-style:normal}.form-status{color:#1f7459;min-height:1.5em;margin:15px 0 0;font-size:.72rem}.form-status.is-preview{color:#726443}.form-status.is-error{color:#a33f3f}.privacy-note{color:#8a8e8f;margin:13px 0 0;font-size:.64rem}.privacy-note button{color:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0}footer{color:#f5f1e994;background:var(--ink);letter-spacing:.15em;text-transform:uppercase;border-top:1px solid #ccebee24;grid-template-columns:1fr auto 1fr;align-items:center;min-height:130px;padding:24px clamp(24px,6vw,90px);font-size:.62rem;display:grid}footer p{text-align:center;margin:0}footer a{justify-self:end;text-decoration:none}.footer-mark{color:var(--paper);font-weight:600}.footer-mark span{color:var(--aqua);margin-right:7px}.privacy-dialog{width:min(90vw,620px);max-height:min(82vh,700px);color:var(--ink);background:var(--paper);border:1px solid #c6a86e80;padding:clamp(28px,5vw,54px);box-shadow:0 30px 100px #0006}.privacy-dialog::backdrop{backdrop-filter:blur(8px);background:#020e16c2}.dialog-header{justify-content:space-between;align-items:center;display:flex}.dialog-header button{aspect-ratio:1;width:40px;color:var(--ink);cursor:pointer;font-family:var(--serif);background:0 0;border:1px solid #07182733;border-radius:50%;padding:0;font-size:1.6rem;line-height:1}.privacy-dialog h2{font-family:var(--serif);margin:30px 0 24px;font-size:clamp(2.7rem,6vw,4.3rem);font-weight:500;line-height:.9}.privacy-dialog p{color:#59656d;font-size:.82rem;line-height:1.8}.privacy-dialog a{color:var(--blue)}@keyframes drift{to{transform:translate(14vw,8vw)scale(1.1)}}@keyframes glimmer{0%,to{opacity:.18}50%{opacity:.9}}@keyframes breathe{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(3px)}}@keyframes sound-wave{to{transform:scaleY(.4)}}@keyframes halo-spin-cw{0%{transform:rotate(30deg)}to{transform:rotate(390deg)}}@keyframes halo-spin-ccw{0%{transform:rotate(60deg)}to{transform:rotate(-300deg)}}@media (width<=920px){.envelope-button{width:min(78vw,560px)}.invitation-copy{grid-template-columns:.2fr 1fr}.copy-body{grid-column:2;padding-top:0}.event-details{grid-template-columns:1fr 1.2fr}.date-monument{min-height:330px}.details-list{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.details-list div{border-bottom:0;padding-bottom:0}.venue-link{grid-column:1/-1;justify-self:end;position:static}.rsvp-section{grid-template-columns:1fr}.rsvp-intro{grid-template-columns:1fr 1fr;align-items:end;display:grid}.rsvp-intro .eyebrow{grid-column:1/-1}.rsvp-intro>p:last-child{justify-self:end;margin:0}.rsvp-form{max-width:none}}@media (width<=640px){html{scrollbar-gutter:auto}.envelope-stage{grid-template-rows:1fr auto 1fr;padding-inline:18px}.envelope-stage:before{inset:10px}.stage-intro{margin-bottom:28px}.stage-intro h1{font-size:clamp(2.35rem,11vw,3.35rem)}.envelope-button{width:min(86vw,520px)}.envelope-stage.is-opening .envelope-button{width:min(92vw,560px);height:min(76svh,660px)}.wax-seal{width:62px}.peek-script{font-size:1.75rem}.recipient{bottom:18px}.music-toggle{width:44px;bottom:16px;right:16px}.site-header{grid-template-columns:1fr 1fr;min-height:70px;padding:0 20px}.site-header p{display:none}.hero{min-height:100svh;padding-top:98px}.brand-logo{margin-bottom:32px}.hero-overline{letter-spacing:.25em;font-size:.56rem}.hero h2{font-size:clamp(4.3rem,23vw,7.2rem);line-height:.72}.hero h2 em{margin-left:.25em}.hero-date{letter-spacing:.11em;font-size:.82rem}.hero-halo{width:110vw}.invitation-copy{grid-template-columns:1fr;gap:35px;padding:88px 24px 96px}.section-number{display:none}.copy-body{grid-column:auto;padding:0}.copy-heading h2{font-size:3.8rem}.copy-body .lead{font-size:1.65rem}.event-details{grid-template-columns:1fr;padding:88px 24px 96px}.details-title-block h2{font-size:4rem}.date-monument{border:1px solid #ccebee24;border-left:0;border-right:0;min-height:300px}.date-monument strong{font-size:10rem}.details-list{grid-column:auto;grid-template-columns:1fr;gap:0}.details-list div{border-bottom:1px solid #ccebee24;padding:22px 0}.venue-link{grid-column:auto;justify-self:start;margin-top:12px}.guest-note{padding:76px 24px}.guest-note:before,.guest-note:after{display:none}.guest-note p{font-size:1.8rem}.rsvp-section{padding:90px 24px 100px}.rsvp-intro{display:block}.rsvp-intro h2{font-size:4.4rem}.rsvp-intro>p:last-child{margin-top:30px}.response-options{grid-template-columns:1fr}.response-card{min-height:100px}footer{grid-template-columns:1fr auto;min-height:105px}footer p{display:none}}@media (height<=700px) and (width>=641px){.envelope-stage{padding-block:22px}.stage-intro{margin-bottom:18px}.stage-intro h1{font-size:2.8rem}.envelope-button{width:min(58vw,540px)}.stage-prompt{margin-top:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
