:root{--paper:#f8f4ea;--ink:#393c2d;--muted:#777465;--gold:#9e7849;--line:#d9c9a7;--wine:#803d35;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--wine);outline-offset:6px}button{border:0}::selection{background:#ddc9a6}h1,h2,h3,p{margin:0}h2{font:500 clamp(36px,4.4vw,59px)/1.12 var(--serif);letter-spacing:-1.2px}h2 em{font-weight:400;color:#8d6b46}h3{font-family:var(--serif);font-weight:500}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.site-header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;position:absolute;top:0;width:100%;z-index:5;border-bottom:1px solid #b6a07740;background:#fbf7ed66}.monogram{font:500 33px var(--serif);letter-spacing:-3px;display:block;position:relative}.monogram>span{font-style:italic;color:var(--gold);font-size:25px;margin:0 3px}.monogram i{display:block;font:8px var(--sans);letter-spacing:2.6px;text-align:center;margin-top:3px}.site-header nav{display:flex;gap:37px;font-size:11px;letter-spacing:.4px}.site-header nav a{padding:12px 0;position:relative}.site-header nav a:after{content:'';position:absolute;bottom:3px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s}.site-header nav a:hover:after{width:100%}.header-date{font-size:9px;letter-spacing:1.6px;text-align:right;line-height:1.8}.header-date span{display:block}.hero{min-height:850px;height:100svh;max-height:1150px;position:relative;display:grid;place-items:center;text-align:center;overflow:hidden;background:#f5ecd9}.hero-art,.hero-wash,.hero-frame{position:absolute;pointer-events:none}.hero-art{inset:0;background:url('assets/wedding-garden.png') center/cover no-repeat;animation:art-in 2.5s ease both}.hero-wash{inset:0;background:linear-gradient(180deg,#faf5e950 0%,#faf5e912 25%,#faf5e900 68%,#f8f4ea22 100%)}.hero-frame{inset:112px 26px 25px;border:1px solid #aa824e65;border-radius:220px 220px 0 0;z-index:1}.hero-frame:after{content:'';position:absolute;inset:7px;border:1px solid #aa824e25;border-radius:215px 215px 0 0}.hero-content{position:relative;z-index:2;padding:133px 25px 135px;animation:enter 1.5s .1s both}.blessing{font:500 14px var(--serif);color:#76623e;letter-spacing:1px}.hero-lotus svg{width:48px;height:39px;fill:none;stroke:var(--gold);stroke-width:1.2;margin:23px 0 19px}.eyebrow{display:block;font:500 9px/1.8 var(--sans);letter-spacing:2.6px;color:var(--gold)}h1{font:500 clamp(75px,8.1vw,119px)/.95 var(--serif);letter-spacing:-3.5px;color:var(--wine);margin:26px 0 24px}h1 span{display:block}h1 em{display:block;font:italic 400 48px/.85 var(--serif);color:#a37f45;margin:10px 0 12px;letter-spacing:0}.hero-line{font:italic 20px var(--serif);color:#605b49}.date-line{display:flex;align-items:center;justify-content:center;gap:18px;letter-spacing:2.5px;font-size:11px;margin:30px 0 13px}.date-line span{height:1px;width:40px;background:var(--gold)}.location-line{letter-spacing:2px;font-size:9px}.button{display:inline-flex;align-items:center;justify-content:center;gap:34px;font:500 11px var(--sans);letter-spacing:.4px;padding:17px 25px;min-height:49px;transition:transform .3s,background .3s,box-shadow .3s}.button:hover{transform:translateY(-3px);box-shadow:0 7px 20px #6d4c2420}.primary{background:#474c38;color:#fffdf6;border:1px solid #474c38}.primary:hover{background:#333b25}.button span{font-size:17px;font-weight:400}.hero .button{margin-top:32px}.scroll-cue{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);z-index:3;font-size:8px;letter-spacing:2.4px;white-space:nowrap}.scroll-cue span{display:block;font-size:20px;margin-top:12px;animation:cue 2s infinite}.hero-side{position:absolute;right:44px;top:53%;writing-mode:vertical-rl;font-size:8px;letter-spacing:3px;color:#776645;z-index:2}.section{padding:105px 7%;text-align:center}.section-intro h2{margin:16px 0 22px}.section-intro>p{color:var(--muted);font-size:12px;line-height:1.8}.ornament{color:var(--gold);font-size:25px;margin:25px auto}.invitation{background:radial-gradient(ellipse at 50% 50%,#fffdf7 0%,var(--paper) 70%)}.invite-copy>p:first-child{font:500 24px var(--serif)}.invite-copy small{display:block;font-size:10px;color:var(--muted);line-height:1.8;margin-top:7px}.invite-message{font:20px/1.7 var(--serif);margin-top:28px;color:#6d6b5c}.families{display:flex;justify-content:center;align-items:center;gap:66px;margin:45px auto 35px;max-width:1000px}.families>div{flex:1;max-width:370px}.families h3{font-size:40px;margin:10px 0 16px;color:var(--wine)}.families p{font-size:11px;line-height:2;color:var(--muted)}.families strong{font-weight:500;color:var(--ink)}.family-lotus{width:55px;height:55px;fill:none;stroke:var(--gold);stroke-width:1;flex-shrink:0}.closing-line{font:italic 24px var(--serif);color:#8b744d;margin-top:38px}.countdown-section{text-align:center;background:#ececde;padding:66px 25px 58px;position:relative;border-top:1px solid #a69d7825;border-bottom:1px solid #a69d7825}.countdown-section h2{font-size:42px;margin-top:13px}.countdown{display:flex;align-items:center;justify-content:center;gap:35px;margin:33px 0 27px}.countdown>div{min-width:75px}.countdown b{display:block;font:400 61px/.9 var(--serif);font-variant-numeric:tabular-nums;color:#535b42}.countdown span{display:block;font-size:8px;letter-spacing:2px;margin-top:16px}.countdown i{font:28px var(--serif);color:#afa17e;padding-bottom:20px}.countdown-section p{font-size:9px;color:var(--muted);line-height:1.8}.celebrations{padding-bottom:75px}.events{margin:65px auto 0;max-width:890px;text-align:left}.event{display:grid;grid-template-columns:260px 1fr;gap:66px;align-items:center;padding:36px 0;border-top:1px solid var(--line)}.event:last-child{border-bottom:1px solid var(--line)}.event-art{position:relative;height:235px;display:grid;place-items:center;background:radial-gradient(ellipse at center,#dedbc090,#efead840 65%,transparent 70%)}.event-art:before{content:'';position:absolute;inset:12px 35px;border:1px solid #b89d6545;border-radius:100px 100px 0 0}.event-art svg{width:105px;height:120px;fill:none;stroke:#9c773f;stroke-width:1.1}.event:first-child .event-art svg{width:122px;stroke:#a38155}.event-number{position:absolute;bottom:20px;font:italic 16px var(--serif);color:var(--gold)}.event-body h3{font-size:37px;margin:10px 0 8px}.event-time{color:var(--wine);font:italic 23px var(--serif);margin-bottom:16px}.event-body>p:not(.event-time){font-size:11px;line-height:1.9;color:var(--muted)}.meal{display:block;font-size:8px;letter-spacing:1.6px;margin:20px 0;color:#7c7c62}.text-button{display:inline-flex;align-items:center;gap:17px;font-size:10px;line-height:1.8;padding:3px 0;background:none;border-bottom:1px solid #a2885c7a;transition:color .2s}.text-button:hover{color:var(--wine)}.text-button span{font-size:16px}.timezone-note{font-size:9px;color:var(--muted);margin-top:30px}.venue-section{display:grid;grid-template-columns:1.1fr 1fr;min-height:580px;background:#eeedde}.venue-art{background:url('assets/wedding-garden.png') 75% 100%/auto 130% no-repeat;position:relative;min-height:420px;border:15px solid var(--paper)}.venue-art:after{content:'';position:absolute;inset:12px;border:1px solid #ad874f80;pointer-events:none}.venue-art-label{position:absolute;left:0;right:0;bottom:31px;text-align:center;font-size:8px;letter-spacing:2px;color:#fffdf5;text-shadow:0 1px 6px #352919;background:#333b254d;padding:15px 5px}.venue-content{padding:77px 12% 65px}.venue-content h2{font-size:51px;margin-top:15px}.mini-rule{width:45px;height:1px;background:var(--gold);margin:27px 0}.venue-content h3{font-size:25px;line-height:1.2}.venue-content p{font-size:11px;line-height:1.9;color:var(--muted);margin:15px 0 26px}.venue-content .text-button{display:flex;width:max-content;margin-top:20px}.final-invite{padding-top:90px;padding-bottom:90px;background:radial-gradient(ellipse at bottom,#e8d9ba66,transparent 65%)}.footer-lotus{display:block;width:56px;height:48px;fill:none;stroke:var(--gold);stroke-width:1;margin:0 auto 27px}.final-invite h2{margin:18px 0 25px}.final-invite>div>p{font:20px/1.6 var(--serif);color:#716b5a}.family-signoff{margin:28px 0 25px;font-size:11px;line-height:2.1}.share-actions{margin-top:32px}.outline{border:1px solid #a48a5a;background:transparent}footer{border-top:1px solid var(--line);padding:30px 6%;display:flex;justify-content:space-between;align-items:center;gap:20px}footer p{font-size:8px;letter-spacing:1.8px}footer p span{margin:0 12px}footer>span{font:italic 15px var(--serif);color:var(--muted)}#atmosphere{position:fixed;inset:0;pointer-events:none;z-index:6;overflow:hidden}.particle{position:absolute;top:-30px;width:10px;height:15px;background:linear-gradient(130deg,#fffcf0,#e8d6b8);border-radius:80% 0 80% 10%;opacity:0;animation:fall var(--duration) var(--delay) linear infinite;left:var(--left);box-shadow:1px 2px 3px #8d704c13}.particle.gold{width:3px;height:3px;border-radius:50%;background:#c49b4f;box-shadow:0 0 9px #be9d5d;animation-name:glow}.motion-control{position:fixed;bottom:22px;right:25px;z-index:10}.motion-control>button{display:flex;align-items:center;gap:10px;background:#fbf8f0ef;border:1px solid #c5ad833f;box-shadow:0 3px 20px #3e332c12;border-radius:3px;padding:12px 16px;font-size:10px}.motion-control>button>span:first-child{font-size:18px;color:var(--gold)}.control-arrow{font-size:14px;margin-left:12px}#motion-panel{position:absolute;bottom:58px;right:0;width:245px;background:#fcf9f1;box-shadow:0 5px 45px #3e332c20;border:1px solid var(--line);padding:19px}#motion-panel>p{font-size:8px;letter-spacing:2px;color:var(--gold);margin-bottom:12px}#motion-panel button{background:none;width:100%;padding:12px 9px;text-align:left;font-size:11px;border:1px solid transparent;border-radius:2px;position:relative}#motion-panel button[aria-pressed=true]{background:#eae6d7;border-color:#d3c5a7}#motion-panel button>span{font-size:18px;display:inline-block;width:28px;color:var(--gold)}#motion-panel i{font-style:normal;font-size:9px;color:var(--muted);display:block;margin:3px 0 0 28px}#toast{position:fixed;bottom:85px;left:50%;transform:translate(-50%,20px);background:#3f4835;color:#fffaf0;padding:13px 24px;font-size:11px;z-index:15;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;max-width:90%;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}.js-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s,transform .9s}.js-ready .reveal.visible{opacity:1;transform:translateY(0)}[data-motion=still] *,[data-motion=still] *:before,[data-motion=still] *:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}[data-motion=still] .reveal{opacity:1;transform:none}@keyframes enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes art-in{from{opacity:.3;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes cue{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes fall{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(0)}10%{opacity:.65}85%{opacity:.5}100%{opacity:0;transform:translate3d(110px,110vh,0) rotate(430deg)}}@keyframes glow{0%{opacity:0;transform:translateY(105vh) scale(.5)}35%{opacity:.8}65%{opacity:.35}100%{opacity:0;transform:translate(45px,0) scale(1.5)}}
@media(min-width:1600px){.hero-art{background-position:center 65%}.hero-content{padding-bottom:150px}}@media(max-width:900px){.hero{min-height:810px}.hero-art{background-size:auto 100%}.site-header{padding:0 5%}.site-header nav{gap:22px}.families{gap:25px}.families h3{font-size:35px}.event{gap:30px;grid-template-columns:210px 1fr}.venue-content{padding:70px 8%}.venue-content h2{font-size:42px}.venue-art{background-position:72% bottom}.hero-side{right:15px}.hero-frame{inset:111px 15px 20px}}
@media(max-width:600px){html{scroll-padding-top:25px}.site-header{height:78px;padding:0 22px}.monogram{font-size:29px}.monogram i{font-size:6px}.site-header nav{gap:16px}.site-header nav a{font-size:9px}.site-header nav a:first-child{display:none}.header-date{font-size:7px;letter-spacing:1px}.hero{min-height:820px;height:100svh;max-height:1000px}.hero-content{padding:125px 23px 142px;width:100%}.hero-art{background-size:auto 100%;background-position:50% 100%}.hero-wash{background:linear-gradient(#f8f1e452,#fbf5e94d 65%,transparent)}.hero-frame{inset:94px 10px 16px;border-radius:160px 160px 0 0}.hero-frame:after{border-radius:155px 155px 0 0;inset:5px}.blessing{font-size:10px;letter-spacing:.2px}.hero-lotus svg{margin:21px 0 16px;width:39px;height:32px}.hero .eyebrow{font-size:7px;letter-spacing:2px}h1{font-size:86px;margin-top:25px;letter-spacing:-3px}h1 em{font-size:38px;margin:12px 0}.hero-line{font-size:17px}.date-line{font-size:9px;gap:11px;letter-spacing:1.6px;margin-top:26px}.date-line span{width:25px}.location-line{font-size:7px;letter-spacing:1.7px}.hero .button{margin-top:27px}.hero-side{display:none}.scroll-cue{font-size:7px;bottom:32px}.section{padding:70px 24px}.eyebrow{font-size:8px;letter-spacing:2px}h2{font-size:38px;letter-spacing:-.7px}.invite-copy>p:first-child{font-size:21px}.invite-copy small{font-size:9px}.invite-message{font-size:19px;margin-top:26px}.desktop{display:none}.families{flex-direction:column;gap:23px;margin-top:35px}.families h3{font-size:39px;margin:8px 0 11px}.family-lotus{width:36px;height:33px}.families p{font-size:10px}.closing-line{font-size:21px}.countdown-section{padding:50px 20px}.countdown-section h2{font-size:35px}.countdown{gap:12px;margin-top:30px}.countdown>div{min-width:50px}.countdown b{font-size:49px}.countdown span{font-size:7px;letter-spacing:1.5px;margin-top:12px}.countdown i{font-size:20px}.countdown-section p{font-size:8px}.events{margin-top:35px}.event{grid-template-columns:90px 1fr;gap:18px;padding:30px 0}.event-art{height:155px}.event-art:before{inset:10px 0}.event-art svg{width:61px;height:85px}.event:first-child .event-art svg{width:70px}.event-number{bottom:20px;font-size:13px}.event-body .eyebrow{font-size:6.5px;letter-spacing:1.1px}.event-body h3{font-size:29px;margin-top:9px;line-height:1}.event-time{font-size:20px;margin-top:12px;margin-bottom:12px}.event-body>p:not(.event-time){font-size:10px}.meal{font-size:7px;letter-spacing:.9px;margin-top:15px}.venue-section{grid-template-columns:1fr}.venue-art{min-height:360px;background-size:auto 170%;background-position:70% bottom;border-width:12px}.venue-content{padding:45px 30px 55px;text-align:center}.venue-content h2{font-size:44px}.mini-rule{margin:23px auto}.venue-content .text-button{margin:20px auto 0}.final-invite h2{font-size:36px}.final-invite>div>p{font-size:18px}.family-signoff{font-size:10px}footer{padding:25px 22px 90px;flex-wrap:wrap;justify-content:center;column-gap:25px}footer .monogram{font-size:26px}footer p{font-size:6px;letter-spacing:1.2px}footer p span{margin:0 5px}footer>span{display:block;width:100%;text-align:center;font-size:14px}.motion-control{right:14px;bottom:14px}.motion-control>button{padding:9px 12px;font-size:9px}.section-intro>p{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-ready .reveal{opacity:1;transform:none}}
