:root{--cream:#f8efe2;--paper:#fcf6ee;--ink:#493c2c;--gold:#a27840;--light-gold:#dbbc86;--muted:#8d7862;--night:#29291f;--serif:'Amiri',Georgia,serif;--calligraphy:'Aref Ruqaa',var(--serif);--latin:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased}body.sealed{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #b98b4a;outline-offset:7px}a{color:inherit}button{cursor:pointer}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.envelope-screen{display:block;border:0;padding:0;position:fixed;inset:0;width:100%;height:100%;height:100svh;z-index:20;background:#c9bdaa;color:#49351d;overflow:hidden;transition:opacity 1s ease,visibility 1s ease}.envelope-screen video{width:100%;height:100%;object-fit:cover;object-position:center}.envelope-vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,239,222,.1),transparent 35%,transparent 60%,rgba(244,230,206,.4))}.envelope-top{position:absolute;top:max(6vh,32px);left:20px;right:20px;font-size:25px;text-shadow:0 1px 8px #f9f1df}.envelope-top>span{display:block;font-size:14px;letter-spacing:1px;margin-top:6px}.envelope-note{position:absolute;bottom:max(5vh,32px);left:15px;right:15px;display:grid;gap:15px;justify-items:center}.envelope-names{font-family:var(--calligraphy);font-size:37px;line-height:1.7}.envelope-names i{font-size:21px;font-style:normal;margin-inline:10px}.tap-hint{font-size:16px;border:1px solid #95774d55;border-radius:50px;padding:8px 25px;background:#f6efdfa6;backdrop-filter:blur(8px);box-shadow:0 2px 20px #5f3f1f12;animation:breathe 2.4s ease-in-out infinite}.tiny-star{font-size:9px;margin:0 9px;color:var(--gold)}.envelope-date{font-family:var(--latin);font-size:14px;letter-spacing:5px}.envelope-screen.opened{opacity:0;visibility:hidden;pointer-events:none}main{visibility:hidden;opacity:0;transition:opacity 1s ease}body.open main{visibility:visible;opacity:1}.hero{height:100svh;min-height:760px;max-height:1200px;position:relative;isolation:isolate;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:60px 24px 32px;color:#fff7e9;overflow:hidden}.garden-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#18221c66,#14201728 27%,#22241e33 46%,#1c251dc9);z-index:-2}.hero:after{content:'';position:absolute;inset:18px;border:1px solid #f6e2ba66;pointer-events:none;z-index:-1}.hero-top,.hero-bottom,.hero-center{width:100%;max-width:780px}.eyebrow{font-family:var(--latin);font-size:11px;letter-spacing:4px;font-weight:500;display:block;text-transform:uppercase}.hero .eyebrow{color:#f2e6d1;letter-spacing:5px}.bismillah{font-size:22px;margin:30px 0 12px}.fine-rule{display:block;width:75px;height:1px;background:linear-gradient(90deg,transparent,currentColor,transparent);margin:0 auto;opacity:.7}.intro-line{font-size:20px;margin:14px 0}.mini-title{font-size:17px;margin:0 0 13px}.hero-center{margin-top:8vh;text-shadow:0 3px 30px #151a16a3}h1{display:flex;align-items:center;justify-content:center;gap:25px;font-family:var(--calligraphy);font-weight:400;font-size:clamp(74px,13vw,120px);margin:0;line-height:1.55;outline:none}h1 i{font-family:var(--serif);font-weight:400;font-style:normal;color:#ebd4a9;font-size:40px}.latin-names{font-family:var(--latin);font-size:25px;margin:4px 0;letter-spacing:5px}.latin-names em{font-size:20px;letter-spacing:0;margin:0 5px}.hero-date{font-family:var(--calligraphy);font-size:26px;margin:23px 0 5px}.hero-time{font-size:17px;margin:0}.scroll-cue{display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;margin:24px auto 0;font-size:12px;color:#f0e3cb}.scroll-line{height:30px;width:1px;background:linear-gradient(#e6d2ab,transparent)}.paper-section{text-align:center;padding:90px 28px;position:relative;overflow:hidden}.paper-section .eyebrow{color:var(--gold);font-family:var(--serif);letter-spacing:1px;font-size:15px}h2{font-family:var(--calligraphy);font-weight:400;font-size:clamp(34px,5vw,48px);margin:14px 0 22px;line-height:1.6;color:var(--gold)}.ornament{color:var(--gold);display:flex;align-items:center;justify-content:center;gap:18px;margin:20px auto 32px;font-size:22px}.ornament:before,.ornament:after{content:'';width:65px;height:1px;background:linear-gradient(90deg,transparent,#c7a67580,transparent)}.families{background:var(--paper)}.families-grid{max-width:760px;display:grid;grid-template-columns:1fr 30px 1fr;gap:22px;align-items:center;margin:25px auto 30px;position:relative}.family-role{font-size:14px;color:var(--muted);display:block;margin-bottom:12px}.families-grid h3{font-family:var(--calligraphy);font-size:clamp(23px,3.5vw,31px);font-weight:400;margin:0;line-height:1.8}.family-separator{color:var(--gold);font-family:var(--calligraphy);font-size:32px}.family-invitation{font-size:20px;position:relative;margin:14px 0}.family-couple{font-family:var(--calligraphy);font-size:52px;color:var(--gold);margin:4px 0 34px;line-height:1.7}.family-couple span{font-size:26px;margin-inline:15px}blockquote{font-size:25px;line-height:1.8;margin:20px auto;position:relative}.family-closing{font-size:17px;color:var(--muted);margin:16px 0 0}.botanical{position:absolute;color:#b39c72;width:140px;height:240px;opacity:.23}.botanical-right{top:50px;right:-35px;transform:rotate(-20deg)}.botanical-left{left:-35px;bottom:20px;transform:rotate(160deg)}.countdown-section{padding:85px 24px 75px;text-align:center;background:radial-gradient(ellipse at 50% 0,#55503a66,transparent 65%),var(--night);color:#e7d3af;border-top:1px solid #a4834340;border-bottom:1px solid #a4834340}.countdown-section .eyebrow{color:#c6ad81;font-size:10px}.countdown-section h2{color:#ead2aa;margin-bottom:0}.section-intro{color:#b9ab92;font-size:17px;margin:10px 0 35px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 auto;max-width:680px}.time-block{padding:27px 8px 22px;border:1px solid #b18d5240;background:#ffffff05;border-radius:50% 50% 8px 8px;min-width:0}.time-block strong{font-family:var(--latin);font-size:55px;font-weight:400;line-height:1.2;display:block;font-variant-numeric:tabular-nums;color:#f5e5c9}.time-block span{display:block;margin-top:8px;font-size:14px;color:#b7a382}.countdown-date{color:#d2bd97;font-size:17px;margin:35px 0 20px}.venue{background:var(--cream)}.event-date{display:flex;align-items:center;justify-content:center;gap:22px;margin:10px 0;color:var(--ink)}.event-date>span{font-size:19px}.event-date strong{font-family:var(--calligraphy);font-size:68px;font-weight:400;line-height:1.4;padding:0 23px;border-inline:1px solid #b99b6e50}.event-time{font-size:24px;margin:21px 0 0}.event-time>span{color:var(--gold);margin:0 12px}.time-note{color:var(--muted);font-size:13px;margin:2px 0 32px}.venue-card{max-width:440px;padding:34px 28px;border:1px solid #bfa3786b;position:relative;margin:0 auto;background:#fffaf380;box-shadow:0 10px 40px #65432206;border-radius:180px 180px 12px 12px}.line-icon{fill:none;stroke:var(--gold);stroke-width:1;width:33px;height:33px;margin:2px auto 18px;display:block}.venue-card h3{font-family:var(--calligraphy);font-size:35px;font-weight:400;margin:8px 0;color:var(--ink)}.venue-card p{font-size:20px;margin:0 0 27px;color:var(--muted)}.button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:51px;padding:10px 15px;text-decoration:none;border-radius:5px;font-size:17px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button svg{fill:none;stroke:currentColor;stroke-width:1.5;width:19px;height:19px}.button-gold{background:#9a7444;color:#fff9ed;border:1px solid #9a7444}.button-gold:hover{background:#7d5a32}.button-outline{border:1px solid #bfa37880;margin-top:12px;color:#88683f;background:transparent}.button-outline:hover{background:#ecdfca}.venue-note{font-size:17px;color:var(--muted);margin:30px 0 0}.closing{text-align:center;padding:35px 24px 45px;background:var(--paper)}.closing .ornament{margin-bottom:15px}.closing>p{font-size:21px;margin:10px 0}.closing-names{display:block;font-family:var(--calligraphy);font-size:38px;color:var(--gold);margin:10px 0}.closing-date{font-family:var(--latin);font-size:14px;letter-spacing:4px;display:block;color:var(--muted)}.share-button{border:0;border-bottom:1px solid #bfa37855;background:transparent;color:#8c6d44;font-size:15px;padding:9px 3px;margin-top:28px}.share-button span{margin-inline-start:9px}.closing .share-status{font-size:13px;min-height:22px;color:var(--muted)}.music-toggle{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:18px;width:43px;height:43px;display:grid;place-items:center;color:#6f5838;border:1px solid #ab8e5d66;background:#fbf3e5db;border-radius:50%;z-index:8;backdrop-filter:blur(8px);box-shadow:0 3px 16px #21170916}.music-toggle[hidden]{display:none}.music-toggle svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.3;fill:none}.sound-slash{width:24px;height:1.5px;position:absolute;transform:rotate(-45deg);background:#6f5838;box-shadow:0 0 0 2px #fbf3e5}.music-toggle[aria-pressed=true] .sound-slash{display:none}.reveal{transition:opacity .9s ease,transform .9s ease}.js .reveal{opacity:0;transform:translateY(22px)}.js .reveal.visible{opacity:1;transform:none}.noscript-note{position:fixed;bottom:0;background:var(--cream);padding:12px;font-size:14px} @keyframes breathe{50%{box-shadow:0 0 0 8px #a2773710;transform:translateY(-2px)}}@media(min-width:900px){.envelope-screen video{object-fit:contain;background:#d5c8b5}.envelope-screen{background:#d5c8b5}.envelope-top{font-size:29px}.envelope-note{bottom:6vh}.hero{min-height:800px}.hero .garden-video{object-position:center 48%}.hero-center{margin-top:6vh}.families-grid{margin-top:35px}}@media(max-width:480px){.hero{min-height:690px;padding:48px 23px 24px}.hero:after{inset:13px}.hero-top .eyebrow{font-size:9px;letter-spacing:3px}.bismillah{margin-top:23px;font-size:20px}.hero-center{margin-top:4vh}h1{gap:19px;font-size:76px}h1 i{font-size:31px}.latin-names{font-size:23px;letter-spacing:4px}.hero-date{font-size:24px}.hero-time{font-size:16px}.mini-title{font-size:15px}.paper-section{padding:70px 20px}.families-grid{grid-template-columns:1fr;gap:4px}.family-separator{font-size:25px;margin:5px}.family-role{margin-bottom:3px}.families-grid h3{font-size:27px}.family-couple{font-size:45px}.family-closing{font-size:16px}blockquote{font-size:22px}.countdown-section{padding:65px 20px}.countdown{gap:8px}.time-block{padding:23px 3px 17px}.time-block strong{font-size:43px}.time-block span{font-size:13px}.countdown-section .eyebrow{font-size:8px;letter-spacing:2px}.countdown-section h2{font-size:34px}.event-date{gap:17px}.event-date>span{font-size:17px}.event-date strong{padding:0 20px;font-size:59px}.venue-card{padding:31px 23px}.venue-card h3{font-size:33px}.envelope-top{font-size:23px}.envelope-note{gap:12px}.envelope-names{font-size:34px}.tap-hint{font-size:15px;padding:8px 17px}.music-toggle{left:12px;bottom:14px;width:39px;height:39px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}}
