@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Inter:wght@300;400;500&family=Marck+Script&display=swap";:root{--ink:#292a25;--muted:#77766e;--paper:#eeeae2;--paper-deep:#e2dcd1;--olive:#717568;--line:#292a253d;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{background:var(--paper);min-width:320px;margin:0}button,a{font:inherit}button{color:inherit}.paper-grain{pointer-events:none;z-index:30;mix-blend-mode:multiply;opacity:.18;width:100%;height:100%;position:fixed;inset:0}.opening-screen{z-index:40;color:#e9e4da;isolation:isolate;background:#1e211e;min-height:100svh;position:fixed;inset:0;overflow:hidden}.opening-screen:before{content:"";z-index:-2;background:radial-gradient(at 50% 42%,#d2cab840 0%,#696d621a 28%,#0000 60%);animation:8s ease-in-out infinite alternate opening-light;position:absolute;inset:-25%}.opening-screen:after{content:"";z-index:20;pointer-events:none;transform-origin:bottom;background:#eeeae2;transition:transform .85s cubic-bezier(.76,0,.24,1) 1.9s;position:absolute;inset:0;transform:scaleY(0)}.opening-screen--active:after{transform:scaleY(1)}@keyframes opening-light{to{opacity:.72;transform:translate(4vw,-3vh)scale(1.08)}}.envelope-stage{perspective:1800px;place-items:center;display:grid;position:absolute;inset:0}.opening-meta{z-index:3;text-transform:uppercase;letter-spacing:.28em;flex-direction:column;gap:7px;transition:opacity .5s;display:flex;position:absolute;top:30px}.opening-meta span{color:#eae5db73;font-size:7px}.opening-meta small{color:#eae5dbdb;font:400 9px Inter,sans-serif}.opening-meta--left{left:34px}.opening-meta--right{text-align:right;right:34px}.opening-title{z-index:0;text-align:center;color:#ece7dd1c;text-transform:uppercase;pointer-events:none;flex-direction:column;align-items:center;width:90%;transition:opacity .5s;display:flex;position:absolute;top:11%;left:50%;transform:translate(-50%)}.opening-title span{letter-spacing:.6em;color:#ece7dd52;font-size:7px}.opening-title strong{letter-spacing:-.055em;font:300 clamp(66px,10.5vw,156px)/.83 Cormorant Garamond,serif}.opening-aura{z-index:-1;aspect-ratio:1.8;border:1px solid #efe9dd14;border-radius:50%;width:min(82vw,1040px);position:absolute;top:52%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 100px #efe9dd06,0 0 100px #0003}.opening-aura:before,.opening-aura:after{content:"";border-radius:inherit;border:1px solid #efe9dd0d;position:absolute;inset:8%;transform:rotate(6deg)}.opening-aura:after{inset:17%;transform:rotate(-7deg)}.opening-particles i{z-index:0;left:calc(8% + (var(--i) * 7.4%));top:calc(18% + (var(--i) % 5) * 14%);width:2px;height:2px;animation:dust calc(5s + var(--i) * .45s) ease-in-out infinite alternate;background:#f2e8d373;border-radius:50%;position:absolute;box-shadow:0 0 12px #f2e8d3cc}@keyframes dust{to{transform:translate3d(calc((var(--i) - 5) * 2px), -24px, 0);opacity:.18}}.envelope{z-index:4;aspect-ratio:1.62;cursor:pointer;perspective:1450px;width:min(650px,76vw);transform-style:preserve-3d;-webkit-tap-highlight-color:transparent;filter:saturate(.82);background:0 0;border:0;margin-top:7vh;padding:0;transition:filter .7s;position:relative}.envelope:hover{filter:saturate()}.envelope-shadow{filter:blur(31px);background:#000000ad;border-radius:50%;width:94%;height:18%;transition:all 1.6s cubic-bezier(.22,1,.36,1);position:absolute;bottom:-10%;left:3%;transform:rotateX(65deg)}.envelope-back{background:#dad4c8;position:absolute;inset:0;overflow:hidden;box-shadow:0 35px 90px #0000006b,inset 0 0 0 1px #ffffff7a}.envelope-liner{clip-path:polygon(0 0,100% 0,50% 64%);background-color:#343b34;background-image:radial-gradient(circle at 20% 30%,#0000 0 16px,#d5cfbe1a 17px 18px,#0000 19px),radial-gradient(circle at 80% 70%,#0000 0 22px,#d5cfbe14 23px 24px,#0000 25px);background-size:90px 90px;position:absolute;inset:0}.envelope-flap{z-index:7;clip-path:polygon(0 0,100% 0,50% 62%);transform-origin:top;transform-style:preserve-3d;filter:drop-shadow(0 4px 5px #1f1d192e);background:linear-gradient(155deg,#eee9df 2%,#cfc6b7 93%);transition:transform 1.05s cubic-bezier(.65,0,.18,1) .18s,z-index 10ms .72s;position:absolute;inset:-1px}.envelope-flap:after{content:"";clip-path:inherit;opacity:.45;background:linear-gradient(110deg,#0000 20%,#fff6 47%,#0000 70%);position:absolute;inset:0}.envelope-front-left,.envelope-front-right{z-index:5;position:absolute;inset:0}.envelope-front-left{clip-path:polygon(0 0,54% 63%,100% 100%,0 100%);background:linear-gradient(38deg,#d9d1c4,#f0ece4 70%)}.envelope-front-right{clip-path:polygon(100% 0,46% 63%,0 100%,100% 100%);background:linear-gradient(-43deg,#cbc2b3,#e7e1d7 72%)}.envelope-front-copy{z-index:6;color:#77766e;text-transform:uppercase;letter-spacing:.3em;justify-content:space-between;align-items:center;font-size:6px;transition:opacity .45s;display:flex;position:absolute;bottom:23px;left:28px;right:28px}.envelope-front-copy small{font-size:6px}.letter-preview{z-index:3;color:#292a25;transform-origin:50% 74%;background:#f2eee5;flex-direction:column;justify-content:center;align-items:center;width:88%;height:94%;transition:transform 1.35s cubic-bezier(.16,1,.3,1) .64s,box-shadow .9s;display:flex;position:absolute;bottom:3%;left:6%;overflow:hidden;box-shadow:0 5px 35px #16151247}.letter-preview:before{content:"";border:1px solid #30312b2e;position:absolute;inset:13px}.letter-preview:after{content:"PRIVATE INVITATION  ·  TWENTY FOURTH OF AUGUST  ·  PRIVATE INVITATION";white-space:nowrap;text-transform:uppercase;letter-spacing:.28em;color:#8e8c83;max-width:80%;font-size:5px;position:absolute;bottom:23px;left:22px;overflow:hidden}.letter-kicker{text-transform:uppercase;letter-spacing:.3em;color:#77766d;margin-bottom:23px;font-size:6px}.letter-monogram{letter-spacing:.04em;align-items:baseline;font:300 clamp(33px,5.1vw,68px)/.8 Cormorant Garamond,serif;display:flex}.letter-monogram b{font-weight:300}.letter-monogram i{color:#74786c;margin:0 .3em;font:400 .55em Marck Script,cursive}.letter-date{letter-spacing:.38em;margin-top:27px;font-size:7px}.letter-line{background:#6f7267;width:42px;height:1px;margin:18px 0 12px}.letter-preview small{text-transform:uppercase;letter-spacing:.35em;font-size:5px}.seal{z-index:8;border-radius:50%;width:76px;height:76px;transition:all .7s cubic-bezier(.22,1,.36,1);position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.seal--base{clip-path:polygon(50% 0,60% 5%,71% 3%,79% 12%,91% 16%,93% 28%,100% 38%,95% 49%,98% 61%,88% 69%,84% 83%,71% 86%,62% 96%,50% 92%,38% 100%,29% 91%,15% 89%,13% 76%,3% 68%,7% 55%,0 44%,7% 34%,5% 21%,18% 16%,25% 5%,39% 7%);background:#52594f;box-shadow:0 8px 18px #1416126b,inset 3px 4px 7px #ffffff1c,inset -3px -4px 8px #0000003b}.seal--mark{z-index:9;color:#d9d1c3;border:1px solid #e0d7c657;justify-content:center;align-items:center;gap:2px;width:57px;height:57px;font:400 18px Cormorant Garamond,serif;display:flex;box-shadow:inset 0 0 0 3px #00000014}.seal--mark small{color:#aeb2a7;font:13px Marck Script,cursive}.open-hint{z-index:5;color:#efeae0cc;text-transform:uppercase;letter-spacing:.32em;cursor:pointer;background:0 0;border:0;align-items:center;gap:18px;padding:14px 20px;font-size:7px;transition:opacity .45s;display:flex;position:absolute;bottom:5.5vh}.open-hint i{background:#efeae059;width:24px;height:1px;display:block}.opening-counter{z-index:3;letter-spacing:.2em;color:#efeae061;align-items:center;gap:8px;font-size:6px;display:flex;position:absolute;bottom:31px;right:34px}.opening-counter i{background:currentColor;width:28px;height:1px}.is-opening .envelope-flap{z-index:2;transform:rotateX(182deg)}.is-opening .letter-preview{z-index:10;transform:translateY(-67%)scale(1.12);box-shadow:0 25px 80px #0d0e0c61}.is-opening .seal--base{opacity:0;filter:blur(5px);transform:translate(-72%,-52%)scale(1.3)rotate(-24deg)}.is-opening .seal--mark{opacity:0;filter:blur(4px);transform:translate(-25%,-40%)scale(1.5)rotate(18deg)}.is-opening .envelope-front-copy,.is-opening~.open-hint,.is-opening .opening-meta,.is-opening .opening-title{opacity:0}.is-opening .envelope-shadow{opacity:.35;filter:blur(42px);width:64%;left:18%}.opening-screen--active .opening-meta,.opening-screen--active .opening-title,.opening-screen--active .open-hint,.opening-screen--active .opening-counter{opacity:0}.opening-screen--active .open-hint{visibility:hidden}.invitation{background:var(--paper);position:relative;overflow:clip}.progress-line{z-index:25;width:100%;height:2px;position:fixed;top:0;left:0}.progress-line span{transform-origin:0;background:var(--olive);width:100%;height:100%;display:block}.sound-button{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#eeeae2b8;border:1px solid #292a2524;border-radius:99px;align-items:center;gap:8px;padding:9px 12px;display:flex;position:fixed;top:22px;right:24px}.sound-button span{text-transform:uppercase;letter-spacing:.16em;font-size:9px}.section{min-height:100svh;padding:clamp(80px,10vw,150px) clamp(24px,7vw,120px);position:relative}.section-index{letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin:0 0 42px;font-size:9px}.section h2{letter-spacing:-.04em;margin:0;font:300 clamp(54px,8vw,118px)/.84 Cormorant Garamond,serif}.section h2 i{color:var(--olive);font-weight:300}.eyebrow{text-transform:uppercase;letter-spacing:.34em;font-size:9px}.hero{background:radial-gradient(circle at 50% 43%,#f5f1e8 0,#ebe7de 56%,#ded8cd 100%);place-items:center;height:100svh;min-height:640px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;border:1px solid #2a2a2426;position:absolute;inset:24px}.hero-content{z-index:2;text-align:center;position:relative}.hero .eyebrow{margin-bottom:5vh}.names{letter-spacing:.025em;flex-direction:column;align-items:center;font:300 clamp(92px,15vw,220px)/.58 Cormorant Garamond,serif;display:flex}.names span:first-child{transform:translate(-9vw)}.names span:last-child{transform:translate(7vw)}.names i{color:var(--olive);z-index:2;margin:.08em 0;font:400 clamp(50px,7vw,100px)/.65 Marck Script,cursive}.hero-date{letter-spacing:.15em;justify-content:center;align-items:center;gap:18px;margin:clamp(55px,7vh,85px) auto 0;font:400 14px Cormorant Garamond,serif;display:flex}.hero-date em{letter-spacing:0;color:var(--olive);font:400 22px Marck Script,cursive}.hero-orbit{aspect-ratio:1;border:1px solid #43453c1f;border-radius:46% 54% 49% 51%;width:min(80vw,900px);position:absolute}.hero-orbit:after{content:"";background:var(--olive);border-radius:50%;width:7px;height:7px;position:absolute;top:10%;left:24%}.hero-orbit--two{border-radius:54% 46% 55% 45%;width:min(58vw,670px)}.hero-orbit--two:after{width:4px;height:4px;inset:auto 7% 25% auto}.scroll-cue{z-index:3;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:45px}.scroll-cue span{text-transform:uppercase;letter-spacing:.25em;font-size:8px}.intro{text-align:center;background:#efebe3;justify-content:center;align-items:center;display:flex}.intro>div:not(.botanical){z-index:2;max-width:1050px;position:relative}.intro h2{font-size:clamp(58px,8.5vw,125px)}.intro-text{color:#51524c;max-width:590px;margin:56px auto 0;font:300 clamp(16px,1.45vw,21px)/1.7 Inter,sans-serif}.signature{color:var(--olive);margin-top:42px;font:400 30px Marck Script,cursive}.signature span{margin:0 7px}.botanical{width:clamp(130px,20vw,300px);height:80%;stroke:var(--olive);stroke-width:1px;opacity:.55;position:absolute;overflow:visible}.botanical--left{bottom:-9%;left:-3%}.botanical--right{top:-7%;right:-3%;transform:rotate(180deg)}.kinetic-band{z-index:2;color:#ede8df;transform-origin:50%;background:#22241f;flex-direction:column;justify-content:center;gap:0;height:clamp(330px,43vw,600px);display:flex;position:relative;overflow:hidden;transform:rotate(-1.8deg)scale(1.04)}.kinetic-band:before,.kinetic-band:after{content:"";background:#ede8df2e;height:1px;position:absolute;left:0;right:0}.kinetic-band:before{top:13%}.kinetic-band:after{bottom:13%}.kinetic-band__line{white-space:nowrap;letter-spacing:-.04em;align-items:baseline;gap:clamp(22px,3vw,55px);width:max-content;font:300 clamp(76px,11vw,165px)/.85 Cormorant Garamond,serif;display:flex}.kinetic-band__line span{text-transform:uppercase}.kinetic-band__line i{color:#989d90;font:400 .45em Marck Script,cursive}.kinetic-band__line b{letter-spacing:.24em;border:1px solid #ede8df57;border-radius:50%;align-self:center;padding:10px 14px;font:400 8px Inter,sans-serif}.kinetic-band__line--outline{color:#0000;-webkit-text-stroke:1px #ede8df4d}.kinetic-band__line--outline i,.kinetic-band__line--outline b{color:#d7d1c6;-webkit-text-stroke:0}.date-section{background:var(--ink);color:#ece7dd;grid-template-columns:1.15fr .85fr;align-items:center;gap:8vw;display:grid}.date-card{border:1px solid #eeeae240;padding:clamp(34px,5vw,74px);position:relative}.date-card:before,.date-card:after{content:"";background:var(--ink);border:1px solid #eeeae280;border-radius:50%;width:11px;height:11px;position:absolute;top:-6px;left:-6px}.date-card:after{left:auto;right:-6px}.giant-date{letter-spacing:-.08em;justify-content:center;align-items:center;font:300 clamp(90px,16vw,240px)/.8 Cormorant Garamond,serif;display:flex}.giant-date i{opacity:.45;margin:0 .17em;font-size:.28em}.weekday{text-align:center;letter-spacing:.28em;text-transform:uppercase;font-size:9px}.calendar-mini{text-transform:uppercase;letter-spacing:.18em;border-top:1px solid #eeeae229;justify-content:center;align-items:center;gap:10px;margin-top:42px;padding-top:20px;font-size:8px;display:flex}.countdown-wrap>p{color:#aaa99f;max-width:400px;font:300 clamp(30px,4vw,55px) Cormorant Garamond,serif}.countdown{border-top:1px solid #eeeae226;border-left:1px solid #eeeae226;grid-template-columns:repeat(2,1fr);display:grid}.countdown-item{border-bottom:1px solid #eeeae226;border-right:1px solid #eeeae226;flex-direction:column;justify-content:center;align-items:center;min-height:130px;display:flex;overflow:hidden}.countdown-item strong{font:300 clamp(42px,6vw,78px) Cormorant Garamond,serif}.countdown-item span{text-transform:uppercase;letter-spacing:.2em;color:#898981;font-size:8px}.place-section{text-align:center;background:#d9d3c7;justify-content:center;align-items:center;min-height:110svh;display:flex;overflow:hidden}.place-topline{text-transform:uppercase;letter-spacing:.22em;border-bottom:1px solid #2a2a2433;justify-content:space-between;padding-bottom:15px;font-size:8px;display:flex;position:absolute;top:38px;left:4vw;right:4vw}.place-copy{z-index:3;position:relative}.place-copy h2{margin:35px 0}.place-copy>p:not(.eyebrow){font:300 17px/1.7 Inter,sans-serif}.place-copy a{color:var(--ink);text-transform:uppercase;letter-spacing:.2em;border-bottom:1px solid var(--ink);align-items:center;gap:8px;margin-top:22px;padding-bottom:7px;font-size:8px;text-decoration:none;display:inline-flex}.arch{border:1px solid #31332d33;border-radius:50% 50% 0 0;width:42vw;height:90%;position:absolute;bottom:-14%}.arch--left{left:-14%;transform:rotate(8deg)}.arch--right{right:-14%;transform:rotate(-8deg)}.sun-disc{aspect-ratio:1;background:#efe8da8c;border-radius:50%;width:min(36vw,500px);position:absolute;box-shadow:0 0 120px #faf3e373}.schedule-section{background:#efebe3;grid-template-columns:.8fr 1.2fr;align-items:start;gap:8vw;display:grid}.schedule-section h2{font-size:clamp(58px,7vw,100px)}.schedule-list{padding-top:38px;position:relative}.schedule-list:before{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:99px}.schedule-row{grid-template-columns:72px 20px 1fr;align-items:start;gap:18px;min-height:145px;display:grid}.schedule-row time{font:italic 300 27px Cormorant Garamond,serif}.schedule-dot{background:var(--olive);z-index:2;border-radius:50%;width:7px;height:7px;margin:10px auto 0;box-shadow:0 0 0 8px #efebe3}.schedule-row h3{margin:0 0 9px;font:400 clamp(27px,3vw,40px) Cormorant Garamond,serif}.schedule-row p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.dress-section{color:#f1ede5;text-align:center;background:#74786c;place-items:center;display:grid}.dress-section>div{max-width:850px}.dress-section .section-index{color:#fff9}.dress-section h2{margin-bottom:42px}.dress-section p{color:#ffffffc7;max-width:560px;margin:0 auto;font:300 16px/1.75 Inter,sans-serif}.palette{justify-content:center;align-items:center;margin:58px 0 25px;display:flex}.palette span{aspect-ratio:1;border:1px solid #ffffff29;border-radius:50%;width:clamp(62px,9vw,120px);margin-left:-9px;box-shadow:0 8px 30px #1e201c1a}.palette span:first-child{margin-left:0}.dress-section small{text-transform:uppercase;letter-spacing:.25em;font-size:8px}.table-section{text-align:center;background:#ece8df;flex-direction:column;justify-content:center;align-items:center;min-height:120svh;display:flex}.table-section>div:first-child{z-index:2}.table-section h2{font-size:clamp(64px,9vw,130px)}.line-table{width:min(980px,95vw);stroke:var(--ink);stroke-width:1.1px;margin:-4vw auto -2vw;overflow:visible}.final-note{font:italic 300 clamp(22px,3vw,39px)/1.25 Cormorant Garamond,serif}footer{color:#e8e4da;background:var(--ink);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:62svh;display:flex}.footer-monogram{letter-spacing:.08em;font:300 clamp(70px,11vw,150px) Cormorant Garamond,serif}.footer-monogram i{color:#94998b;font:400 .65em Marck Script,cursive}footer p{margin:25px 0 18px;font:300 clamp(27px,4vw,52px) Cormorant Garamond,serif}footer>span{text-transform:uppercase;letter-spacing:.35em;color:#8e8e86;font-size:8px}@media (width<=800px){.paper-grain{opacity:.12}.opening-meta{top:22px}.opening-meta--left{left:18px}.opening-meta--right{right:18px}.opening-meta span{display:none}.opening-title{top:18%}.opening-title span{letter-spacing:.45em}.opening-title strong{font-size:17vw;line-height:.85}.opening-aura{width:130vw}.envelope{width:88vw;margin-top:4vh}.envelope-front-copy{bottom:14px;left:16px;right:16px}.letter-preview:before{inset:8px}.letter-preview:after{max-width:75%;bottom:14px;left:14px}.letter-kicker{margin-bottom:16px;font-size:5px}.letter-monogram{font-size:8.5vw}.letter-date{margin-top:18px;font-size:5px}.letter-line{margin:12px 0 8px}.seal{width:58px;height:58px}.seal--mark{width:44px;height:44px;font-size:15px}.open-hint{letter-spacing:.22em;gap:11px;font-size:6px;bottom:8vh}.open-hint i{width:14px}.opening-counter{display:none}.is-opening .letter-preview{transform:translateY(-73%)scale(1.16)}.section{padding:90px 24px}.sound-button{top:16px;right:16px}.sound-button span{display:none}.hero:before{inset:12px}.hero-orbit{width:115vw}.hero-orbit--two{width:86vw}.names{font-size:clamp(78px,25vw,118px);line-height:.61}.names span:first-child{transform:translate(-4vw)}.names span:last-child{transform:translate(3vw)}.hero .eyebrow{margin-bottom:8vh}.hero-date{margin-top:11vh}.intro h2{font-size:clamp(52px,15vw,78px)}.intro-text{margin-top:42px;font-size:14px}.botanical{opacity:.35;width:44vw}.kinetic-band{height:310px;transform:rotate(-2.4deg)scale(1.06)}.kinetic-band__line{gap:20px;font-size:22vw}.date-section{grid-template-columns:1fr;gap:60px}.date-card{padding:34px 20px}.giant-date{font-size:28vw}.countdown-wrap>p{font-size:34px}.countdown-item{min-height:105px}.place-section{min-height:100svh}.place-copy h2{font-size:18vw}.arch{width:70vw}.sun-disc{width:72vw}.schedule-section{grid-template-columns:1fr;gap:52px}.schedule-section h2{font-size:18vw}.schedule-list:before{left:77px}.schedule-row{grid-template-columns:57px 18px 1fr;gap:12px;min-height:125px}.schedule-row time{font-size:23px}.dress-section h2{font-size:17vw}.dress-section p{font-size:14px}.palette span{width:19vw}.table-section{min-height:100svh}.table-section h2{font-size:17vw}.line-table{width:130vw;margin:-3vw -15vw}footer{min-height:58svh}}@media (height<=700px) and (width>=801px){.opening-copy h1{font-size:42px}.envelope{width:430px}.envelope-stage{gap:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
