:root{--wine:#7a0112;--deep:#55020a;--rose:#c00522;--blush:#e8cccc;--paper:#faf6ef;--ink:#7a0112;--line:#d8bcb5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px;line-height:1.8}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--rose);outline-offset:6px}.svg-library{position:absolute;width:0;height:0}header{height:92px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper)}.monogram{font:500 31px 'Bodoni Moda',serif;letter-spacing:-2px;animation:monogramReveal 1.15s cubic-bezier(.2,.7,.2,1) both}.monogram span{font-family:'Bodoni Moda',serif}.monogram span{font-style:italic;font-size:25px;margin:0 4px}nav{display:flex;gap:36px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase}nav a{padding:12px 0}.header-date{font-size:11px;letter-spacing:3px}.hero{min-height:690px;position:relative;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;padding:70px 8% 90px;overflow:hidden;background:radial-gradient(ellipse at 80% 50%,#efdfd5 0,transparent 56%)}.eyebrow,.small-caps{font-size:10px;font-weight:500;letter-spacing:2.7px;text-transform:uppercase}.hero h1{font:500 clamp(62px,6.1vw,98px)/1.08 'Bodoni Moda',serif;letter-spacing:-2px;margin:26px 0}.hero h1 .title-name{display:block;opacity:0;filter:blur(9px);animation:nameReveal 1.3s cubic-bezier(.2,.7,.2,1) forwards}.hero h1 .title-first{animation-delay:.22s}.hero h1 .title-second{animation-delay:.72s}.hero h1 em{display:block;font:italic 400 .6em/1 'Bodoni Moda',serif;letter-spacing:0;margin:0 0 0 24%;color:var(--rose);opacity:0;filter:blur(8px);animation:nameReveal 1s .47s cubic-bezier(.2,.7,.2,1) forwards}.hero-sub{font:italic 23px 'Cormorant Garamond',serif}.date-line{display:flex;align-items:center;gap:18px;font-size:11px;letter-spacing:1px;margin-top:30px}.date-line i{color:var(--rose)}.venue-line{font-size:12px;margin:7px 0 36px}.text-link{font-size:11px;letter-spacing:1.2px;border-bottom:1px solid var(--rose);padding:8px 0;display:inline-block}.text-link span{margin-left:22px}.hero-bottom{position:absolute;bottom:25px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:2px}.envelope-scene{position:relative;display:flex;flex-direction:column;align-items:center;padding-top:45px}.envelope{height:260px;width:390px;position:relative;filter:drop-shadow(0 22px 23px #702b3e29);transform:rotate(-7deg);perspective:1000px}.envelope-back{position:absolute;inset:0;background:#743046;border:1px solid #a66174}.letter-peek{position:absolute;inset:10px 24px;background:#faf0df;display:flex;align-items:center;flex-direction:column;padding:30px 10px;color:var(--wine);transition:transform 1s .2s}.letter-peek span{font:italic 18px 'Cormorant Garamond',serif}.letter-peek strong{font:500 30px 'Bodoni Moda',serif}.envelope-front{position:absolute;inset:0;background:linear-gradient(145deg,#914559,#702b3e);clip-path:polygon(0 0,50% 53%,100% 0,100% 100%,0 100%);z-index:3}.envelope-front:after{content:'';position:absolute;inset:0;border:1px solid #bd7f8c;clip-path:polygon(0 100%,50% 45%,100% 100%)}.envelope-flap{position:absolute;inset:0;background:linear-gradient(#a45b6c,#854052);clip-path:polygon(0 0,100% 0,50% 56%);transform-origin:top;transition:transform .8s;z-index:4}.seal{position:absolute;top:111px;left:165px;width:65px;height:65px;border-radius:48% 52% 45% 55%;z-index:5;background:radial-gradient(circle at 40% 30%,#b4707a,#843c50);border:3px double #c28c91;box-shadow:0 4px 6px #60243855;color:#f5d5ca;font:500 22px 'Bodoni Moda',serif;letter-spacing:-1px;animation:sealReveal 1s .9s both;transition:transform .5s,opacity .5s}.seal span{font-size:14px;font-family:'Bodoni Moda',serif}.envelope.open .envelope-flap{transform:rotateX(180deg);z-index:1}.envelope.open .letter-peek{transform:translateY(-95px);z-index:2}.envelope.open .seal{transform:translateY(35px) rotate(20deg);opacity:0;pointer-events:none}.envelope-hint{font-size:8px;letter-spacing:2px;margin-top:43px;z-index:1}.botanical{position:absolute;width:180px;height:330px;color:#a46c77;pointer-events:none}.sprig-one{right:-35px;top:-30px;transform:rotate(27deg)}.sprig-two{left:-35px;bottom:-5px;transform:rotate(-40deg)}.section{padding:105px max(8%,calc((100% - 1120px)/2))}h2{font:50px/1.1 'Cormorant Garamond',serif;font-weight:400;letter-spacing:-.9px;margin:18px 0 25px}h2 em{font-weight:400;color:var(--rose)}.invitation{text-align:center;position:relative;overflow:hidden;background:#fffaf4;border-top:1px solid var(--line)}.invite-flower{left:-35px;bottom:15px;opacity:.45;transform:rotate(30deg);width:230px;height:430px}.ornament{font-size:28px;color:var(--rose);margin:24px}.invitation-message{max-width:460px;margin:15px auto;position:relative;font-size:13px}.signature{font:italic 400 36px 'Bodoni Moda',serif;margin:35px 0 20px;letter-spacing:-1px}.signature span{color:var(--rose)}.invitation .small-caps{font-size:8px;letter-spacing:2px}.countdown{background:var(--wine);color:#f5e4db;text-align:center;padding:55px 20px}.countdown .eyebrow{color:#e1b9b9}.counter{display:flex;justify-content:center;gap:26px;margin:25px 0 22px}.counter div{min-width:65px}.counter strong{display:block;font:52px 'Cormorant Garamond',serif;font-variant-numeric:tabular-nums}.counter span{font-size:8px;text-transform:uppercase;letter-spacing:2px}.counter i{font:30px 'Cormorant Garamond',serif;color:#ba8691;align-self:center;margin-bottom:15px}.countdown>p:last-child{font:italic 18px 'Cormorant Garamond',serif;color:#e1b9b9}.details{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.section-intro>p:not(.eyebrow){max-width:320px;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--wine);border:1px solid var(--wine);color:#fff2e9;padding:13px 24px;min-height:48px;font-size:11px;letter-spacing:.6px;margin-top:22px;transition:background .2s}.button:hover{background:#91465b}.date-card{background:#f0dfd7;padding:16px;transform:rotate(3deg);max-width:370px;width:100%;justify-self:center;box-shadow:8px 14px 35px #702b3e13}.card-border{border:1px solid #b68986;outline:1px solid #b68986;outline-offset:-5px;text-align:center;padding:35px 20px 22px}.big-date{font:130px/.98 'Cormorant Garamond',serif;letter-spacing:-6px;margin-top:20px}.year{font:28px 'Cormorant Garamond',serif;margin:10px 0;letter-spacing:7px}.fine-rule{height:1px;background:#bf9790;width:55px;margin:24px auto}.card-time{font-size:11px;letter-spacing:2px}.date-card .small-caps{font-size:8px;letter-spacing:1.7px}.card-flower{font-size:30px;display:block;margin-top:14px}.location{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;background:#f2e6df}.venue-art{height:390px;display:flex;justify-content:center;align-items:center}.arch{border:1px solid #b58a8d;border-radius:180px 180px 0 0;width:300px;height:380px;padding:55px 22px 15px;text-align:center;outline:1px solid #c5a1a1;outline-offset:9px;background:#f7eee6}.arch svg{width:100%;color:#a26773}.arch span{font-size:7px;letter-spacing:2px}.location-copy p:not(.eyebrow){font-size:13px;max-width:320px}.location-facts{display:flex;flex-direction:column;font-size:11px;border-left:1px solid #ba8a90;padding-left:18px;margin:25px 0 0;gap:3px}.map-note{font-size:10px!important;color:#946572}.dress{text-align:center;background:#fffaf4}.dress>p:not(.eyebrow){font-size:13px}.swatches{display:flex;justify-content:center;gap:30px;margin:35px 0 25px}.swatches div{font-size:10px}.swatches span{display:block;width:52px;height:52px;background:var(--swatch);border-radius:50%;margin:0 auto 12px;border:4px solid #fffaf4;outline:1px solid #dbc1b7}.closing{background:var(--wine);color:#f8e9de;text-align:center;position:relative;overflow:hidden;padding:90px 20px}.closing h2 em{color:#dfb1b4}.closing .eyebrow{color:#deb2b7}.closing>p:not(.eyebrow){font-size:12px}.closing .botanical{left:4%;top:20px;color:#b47d8a;opacity:.4;transform:rotate(20deg)}.closing .signature{font-size:32px}.closing .text-link{font-size:9px;border-color:#b47d8a}footer{display:flex;justify-content:space-between;align-items:center;padding:24px 6%;font-size:8px;letter-spacing:2px}footer>span:first-child{font:500 23px 'Bodoni Moda',serif}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1500px){.hero{padding-left:calc((100% - 1220px)/2);padding-right:calc((100% - 1220px)/2)}}@media(max-width:800px){header{height:76px;padding:0 6%}nav{gap:18px;font-size:9px;letter-spacing:1px}.header-date{display:none}.hero{grid-template-columns:1fr;padding:55px 24px 65px;text-align:center;min-height:950px;gap:30px}.hero h1{font-size:80px;letter-spacing:-2px;margin:20px 0}.hero h1 em{display:block;margin:0;line-height:.8;font-size:.48em}.hero-sub{font-size:22px}.hero .eyebrow{font-size:8px;letter-spacing:2px}.date-line{justify-content:center;font-size:10px;gap:12px}.venue-line{margin-bottom:20px}.envelope-scene{padding-top:35px;margin:0 auto;width:100%;max-width:390px}.envelope{width:300px;height:205px}.seal{left:123px;top:85px;width:57px;height:57px;font-size:21px}.letter-peek strong{font:500 24px 'Bodoni Moda',serif}.envelope-hint{font-size:7px;letter-spacing:1.7px;margin-top:32px}.sprig-one{right:-20px;top:-55px;width:130px;height:270px}.sprig-two{left:-12px;bottom:-20px;width:120px;height:250px}.hero-bottom{font-size:6px;letter-spacing:1.2px}.section{padding:75px 27px}h2{font-size:41px}.invite-flower{opacity:.15}.invitation-message{font-size:12px}.invitation .small-caps{font-size:7px;letter-spacing:1.4px}.counter{gap:12px}.counter div{min-width:48px}.counter strong{font-size:43px}.counter i{font-size:23px}.counter span{font-size:7px;letter-spacing:1.3px}.countdown .eyebrow{font-size:8px}.details{grid-template-columns:1fr;gap:55px;text-align:center}.section-intro>p:not(.eyebrow){margin-left:auto;margin-right:auto}.date-card{max-width:300px}.location{grid-template-columns:1fr;gap:45px}.venue-art{height:340px}.arch{width:260px;height:320px;padding:35px 20px 15px}.location-copy{text-align:center}.location-copy p:not(.eyebrow){margin-left:auto;margin-right:auto}.location-facts{border:0;padding:0}.swatches{gap:20px}.swatches span{width:45px;height:45px}.swatches div{font-size:9px}.closing{padding:80px 24px}.closing .botanical{left:-80px;opacity:.2}.closing h2{font-size:39px}footer{font-size:7px;letter-spacing:1px}}@media(max-width:360px){.hero h1{font-size:66px}.envelope{width:270px;height:185px}.seal{left:109px;top:78px}.counter{gap:8px}.swatches{gap:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.hero h1 .title-name,.hero h1 em{opacity:1;filter:none;transform:none}}

@keyframes nameReveal{0%{opacity:0;filter:blur(9px);transform:translateY(20px);letter-spacing:.08em}100%{opacity:1;filter:blur(0);transform:translateY(0);letter-spacing:-2px}}@keyframes monogramReveal{0%{opacity:0;filter:blur(7px);transform:translateY(-8px);letter-spacing:5px}100%{opacity:1;filter:blur(0);transform:translateY(0);letter-spacing:-2px}}@keyframes sealReveal{0%{opacity:0;filter:blur(6px)}100%{opacity:1;filter:blur(0)}}
.hero-copy{position:relative;isolation:isolate}.hero-photo{position:absolute;z-index:-1;top:-45px;left:-8%;right:-8%;height:650px;pointer-events:none;overflow:hidden}.hero-photo img{position:absolute;inset:-4% 0;width:100%;height:108%;display:block;object-fit:cover;object-position:center 10%;filter:grayscale(1) contrast(.9);opacity:.27}.hero-photo::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#faf6ef 0%,rgba(250,246,239,.76) 2%,rgba(250,246,239,.28) 7%,transparent 15%,transparent 85%,rgba(250,246,239,.28) 93%,rgba(250,246,239,.76) 98%,#faf6ef 100%),linear-gradient(180deg,#faf6ef 0%,rgba(250,246,239,.78) 4%,rgba(250,246,239,.28) 10%,transparent 18%,transparent 75%,rgba(250,246,239,.18) 84%,rgba(250,246,239,.72) 96%,#faf6ef 100%)}@media(max-width:800px){.hero-photo{top:-55px;left:-24px;right:-24px;height:130vw}.hero-photo img{inset:-7% 0;width:100%;height:114%;object-position:48% 8%;transform:scale(1.12);transform-origin:center 15%}}
.hero h1{font:400 clamp(76px,7.6vw,120px)/.98 'Taylilla',cursive;letter-spacing:0}.hero h1 em{font:400 .7em/.58 'Taylilla',cursive;letter-spacing:0;color:var(--rose)}.signature{font:400 42px/1.1 'Taylilla',cursive;letter-spacing:0}.signature span{color:var(--rose)}@media(max-width:800px){.hero h1{font-size:96px;line-height:.94;letter-spacing:0}.hero h1 em{font-size:.68em;line-height:.55}.signature{font-size:39px}}@media(max-width:360px){.hero h1{font-size:82px}}@keyframes nameReveal{0%{opacity:0;filter:blur(9px);transform:translateY(20px);letter-spacing:.08em}100%{opacity:1;filter:blur(0);transform:translateY(0);letter-spacing:0}}

@font-face{font-family:'Taylilla';src:url('TaylillaDemo.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
