@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600&display=swap');
:root{--ivory:#f7f3eb;--ink:#481b29;--burgundy:#4c1524;--gold:#b69a69;--muted:#8b776c;--line:#d9ccba;--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(--ivory);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;font:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button{color:inherit}button:disabled{opacity:.5}::selection{background:#dabfb8}.grain{position:fixed;inset:0;pointer-events:none;z-index:30;opacity:.045;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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.eyebrow{font-size:10px;letter-spacing:2.8px;line-height:1.8;font-weight:500}h1,h2,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400}h2{font-size:clamp(48px,5.6vw,80px);line-height:1.05;letter-spacing:-2px}h2 em{font-weight:400}p{font-size:13px;line-height:1.9;color:var(--muted)}.opening{position:fixed;inset:0;z-index:40;background:radial-gradient(ellipse at 50% 35%,#faf7f0,#ece4d5);display:flex;align-items:center;flex-direction:column;overflow:auto;transition:opacity .9s ease,visibility .9s;perspective:1000px}.opening-top{width:100%;display:flex;justify-content:space-between;padding:30px 44px;color:var(--muted);font-size:9px;letter-spacing:2px}.opening-top>span:first-child{font-family:var(--serif);font-size:25px;color:var(--ink);letter-spacing:-2px}.opening-heading{text-align:center;margin-top:3vh}.opening-heading h1{font-size:clamp(36px,4vw,55px);font-style:italic;margin:12px 20px 7px}.opening-heading p{font-size:12px}.envelope{position:relative;width:min(490px,80vw);height:min(300px,49vw);margin:65px 0 40px;border:0;background:transparent;filter:drop-shadow(0 22px 20px #3f1b1926);transform:rotate(-3deg);transition:transform 1s;isolation:isolate}.envelope:hover{transform:rotate(-1deg) translateY(-6px)}.envelope-back{position:absolute;inset:0;background:#d9c6a5;border-radius:3px}.envelope-front{position:absolute;inset:0;background:linear-gradient(28deg,#e6d8be,#f0e6d3);clip-path:polygon(0 0,50% 57%,100% 0,100% 100%,0 100%);z-index:4}.envelope-front:after{content:'';position:absolute;inset:0;background:linear-gradient(147deg,transparent 49.8%,#bba78666 50%,transparent 50.3%),linear-gradient(213deg,transparent 49.8%,#bba78666 50%,transparent 50.3%)}.flap{position:absolute;inset:0;z-index:5;background:linear-gradient(#f1e8d8,#d6c5a5);clip-path:polygon(0 0,100% 0,50% 59%);transform-origin:top;transition:transform 1s .25s,z-index 0s .7s;filter:drop-shadow(0 2px 2px #57452855)}.letter-peek{position:absolute;inset:10% 7%;background:#faf7ef;display:grid;place-items:center;font-family:var(--serif);font-size:35px;z-index:2;transition:transform 1s .7s;box-shadow:0 0 4px #806e4933}.seal{position:absolute;top:46%;left:42%;width:80px;height:78px;z-index:8;display:grid;place-items:center;color:#d5a47d;background:radial-gradient(circle at 35% 25%,#a34b55,#722b39 42%,#461320 75%,#802e3c);border-radius:46% 54% 48% 52% / 48% 44% 56% 52%;box-shadow:1px 5px 8px #33101a66,inset 0 1px 3px #c37c77,inset 0 -3px 4px #320e19;transform:rotate(9deg);transition:transform .6s,opacity .6s}.seal>span{width:62px;height:60px;border:1px solid #c1816b88;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:28px;text-shadow:0 1px 1px #180c13,0 -1px 1px #edc5aa66;box-shadow:inset 0 1px 3px #250b17}.seal-and{font-size:19px;font-style:italic;margin:0 -1px}.open-hint{font-size:9px;letter-spacing:2.4px;display:flex;gap:12px;align-items:center;color:#786454}.pulse-dot{height:5px;width:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px #b69a6918;animation:pulse 2s infinite}.opening-date{margin:40px 0 30px;font-size:9px;letter-spacing:2px;color:#9c8b78}.opening.breaking .seal{transform:translateY(55px) rotate(25deg);opacity:0}.opening.breaking .flap{transform:rotateX(180deg);z-index:1}.opening.breaking .letter-peek{transform:translateY(-55%)}.opening.breaking .envelope{transform:rotate(0deg) translateY(80px);opacity:0;transition:transform 1.6s,opacity .8s 1.4s}.opening.opened{opacity:0;visibility:hidden;pointer-events:none}main{opacity:0;transition:opacity 1.1s}.ready main{opacity:1}body:has(.opening:not(.opened)){overflow:hidden}nav{height:94px;display:flex;justify-content:space-between;align-items:center;padding:0 5.5%;border-bottom:1px solid #d9ccba80}.monogram{font-family:var(--serif);font-size:31px;letter-spacing:-3px}.monogram span{font-size:22px;font-style:italic}.nav-date{font-size:9px;letter-spacing:2px;color:var(--muted)}.nav-rsvp{background:none;border:0;border-bottom:1px solid #c7af95;padding:10px 0;font-size:11px}.nav-rsvp span{margin-left:30px}.hero{position:relative;min-height:700px;height:calc(100svh - 94px);max-height:1000px;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:55px 5.5% 90px;overflow:hidden}.hero-copy{text-align:center;z-index:2}.hero-copy .eyebrow{color:#92754f}.small-star{display:block;font-size:25px;margin-bottom:12px}.hero h1{font-size:clamp(76px,8.2vw,136px);line-height:.85;letter-spacing:-4px;margin:36px 0 26px}.amp{display:block;font-style:italic;font-size:.57em;line-height:1.05;color:var(--gold);margin:4px 0}.hero-bottom{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:35px}.hero-bottom p{font-size:11px;line-height:1.8}.line{width:30px;height:1px;background:var(--line)}.date-pill{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:40px;padding:10px 18px;font-family:var(--serif);font-size:28px;margin-top:25px}.date-pill>span{font-family:var(--sans);font-size:8px;letter-spacing:2px}.date-pill .pill-arrow{margin-left:18px;font-size:14px}.hero-art{position:relative;align-self:center;padding-left:16px}.hero-art img{width:100%;height:530px;object-fit:cover;mix-blend-mode:multiply;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 93%,transparent),linear-gradient(0deg,transparent,#000 15%,#000 85%,transparent);mask-composite:intersect}.art-caption{display:flex;gap:20px;justify-content:center;font-size:8px;letter-spacing:1.6px;color:#9c8871;margin-top:14px}.art-caption>span{color:var(--gold)}.scroll-note{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:2px;display:flex;flex-direction:column;align-items:center;gap:13px;color:var(--muted)}.scroll-note span{font-size:18px;color:var(--gold)}.chapter{text-align:center;padding:140px 25px 110px;max-width:750px;margin:auto}.chapter h2{margin:28px 0}.chapter p{max-width:400px;margin:20px auto}.signature{font-family:var(--serif);font-size:28px;font-style:italic;margin:35px 0}.ornament{font-size:32px;color:var(--gold)}.day-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:110px 14%;background:#eee7da;align-items:center}.day-title h2{margin:28px 0}.date-card{text-align:center;background:var(--ivory);padding:45px 35px;border:1px solid #c6b595;outline:1px solid #c6b59566;outline-offset:8px;box-shadow:0 15px 40px #6e503309;transform:rotate(2deg)}.card-overline{font-size:8px;letter-spacing:2.5px}.big-date{font-family:var(--serif);font-size:135px;line-height:1.05;letter-spacing:-10px;padding-right:10px}.month{font-family:var(--serif);font-size:43px;font-style:italic;margin-top:-12px}.card-divider{width:40px;height:1px;background:var(--gold);margin:25px auto}.date-card p{font-size:11px}.text-link{background:none;border:0;border-bottom:1px solid var(--gold);padding:10px 0;font-size:11px}.text-link span{margin-left:20px}.date-card .text-link{margin-top:17px}.date-card .detail-note{font-size:9px;margin-top:20px;color:#9c8a79}.countdown-section{text-align:center;padding:120px 24px}.countdown-section h2{font-size:clamp(35px,4.5vw,60px);margin:20px 0 50px;letter-spacing:-1.5px}.countdown{display:flex;align-items:flex-start;justify-content:center;gap:35px}.countdown div{display:flex;flex-direction:column;min-width:80px}.countdown b{font:400 70px var(--serif);line-height:1}.countdown span{font-size:8px;letter-spacing:2px;margin-top:14px;color:#9c8268}.countdown i{font:30px var(--serif);color:#c5b398;padding-top:10px}.countdown-section>p{font-size:10px;margin-top:35px}.rsvp-section{text-align:center;background:var(--burgundy);color:var(--ivory);padding:110px 20px 100px;position:relative;overflow:hidden}.rsvp-section:before,.rsvp-section:after{content:'';width:500px;height:500px;border:1px solid #b69a6920;border-radius:50%;position:absolute;top:15%;pointer-events:none}.rsvp-section:before{left:-330px}.rsvp-section:after{right:-330px}.rsvp-section .eyebrow{color:#c5a576}.rsvp-section h2{margin:26px 0}.rsvp-section p{color:#d0b6b6}.gold-button{background:#d9c6a2;color:#451d29;border:1px solid #d9c6a2;border-radius:3px;padding:18px 26px;font-size:11px;display:inline-flex;gap:35px;align-items:center;justify-content:center;transition:background .25s,transform .25s}.gold-button:hover{background:#ead9b9;transform:translateY(-2px)}.rsvp-section .gold-button{margin-top:30px}.rsvp-small{display:block;font-size:8px;letter-spacing:2px;color:#b58e89;margin-top:20px}footer{text-align:center;padding:60px 24px 25px;display:flex;flex-direction:column;align-items:center;gap:20px}.footer-names{font-family:var(--serif);font-size:35px}.footer-names em{color:var(--gold);font-size:28px;margin:0 7px}footer>span{font-size:8px;letter-spacing:2px;color:var(--muted)}footer button{border:0;background:none;font-size:10px;color:var(--muted);padding:10px}.preview-controls{border-top:1px solid #d9ccba80;width:100%;margin-top:25px;padding-top:18px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#998a7a}.preview-controls button{text-decoration:underline;font-size:9px}.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s,transform 1s}.reveal.visible{opacity:1;transform:none}dialog{border:1px solid #d6c5a9;background:var(--ivory);color:var(--ink);width:min(520px,calc(100% - 28px));max-height:92svh;padding:45px;border-radius:6px;box-shadow:0 30px 100px #1b0a1655}dialog::backdrop{background:#210c16aa;backdrop-filter:blur(8px)}dialog[open]{animation:modal-in .4s ease}.close{position:absolute;right:18px;top:13px;background:none;border:0;font-size:28px;color:#8b776c;min-width:34px;min-height:34px}dialog h2{font-size:55px;margin:18px 0 28px}form label{display:block;font-size:10px;line-height:1.7;margin-bottom:17px}input,textarea,select{display:block;width:100%;border:0;border-bottom:1px solid #d3c4b1;background:transparent;color:var(--ink);font:12px var(--sans);padding:11px 0;border-radius:0;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--ink)}input::placeholder,textarea::placeholder{color:#a39382;font-size:11px}fieldset{border:0;padding:0;margin:0 0 17px}legend{font-size:10px;margin-bottom:10px}.choice-row{display:flex;gap:10px}.choice{flex:1;cursor:pointer;margin:0;position:relative}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice>span{border:1px solid #d3c4b1;padding:13px 12px;display:block;font-size:11px}.choice small{display:block;color:#9c8b79;font-size:9px;margin-top:3px}.choice input:checked+span{border-color:#6c3040;background:#e9ded6}.choice input:focus-visible+span{outline:2px solid var(--gold)}.optional{color:#a39382}.form-note{font-size:9px;line-height:1.7;margin:18px 0}form .gold-button{width:100%}#thanks{text-align:center;padding:20px 0}.thank-star{display:block;font-size:65px;color:var(--gold);margin-bottom:20px}#thanks h2{font-size:48px}#thanks .gold-button{margin:20px 0 10px}#thanks .text-link{display:block;margin:auto}#settings-dialog>p{font-size:12px;margin-bottom:22px}@keyframes pulse{50%{box-shadow:0 0 0 9px #b69a6908}}@keyframes modal-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero-art img{height:620px}.hero{padding-right:8%;padding-left:8%}}@media(max-width:760px){nav{height:76px;padding:0 24px}.nav-date{display:none}.nav-rsvp{font-size:10px}.hero{display:flex;flex-direction:column;min-height:0;height:auto;max-height:none;padding:38px 20px 70px}.hero-copy .eyebrow{font-size:8px;letter-spacing:2px}.small-star{font-size:20px;margin-bottom:8px}.hero h1{font-size:82px;margin:24px 0 19px;letter-spacing:-3px}.amp{font-size:.5em}.hero-bottom{margin-top:20px;gap:13px}.hero-bottom p{font-size:10px}.line{width:22px}.date-pill{margin-top:20px;font-size:24px;padding:7px 15px}.hero-art{padding:0;width:100%;max-width:470px;margin-top:0}.hero-art img{height:280px}.art-caption{margin-top:-3px;font-size:6px;letter-spacing:1.4px;gap:12px}.scroll-note{bottom:16px;font-size:7px;gap:6px}.scroll-note span{font-size:14px}.chapter{padding:80px 28px 70px}.chapter h2{font-size:48px}.chapter p{font-size:12px}.signature{font-size:25px}.day-section{grid-template-columns:1fr;gap:50px;padding:70px 42px 80px}.day-title{text-align:center}.day-title h2{font-size:60px;margin:20px 0}.day-title .eyebrow{font-size:8px}.date-card{max-width:340px;width:100%;margin:auto;padding:35px 25px}.countdown-section{padding:80px 18px}.countdown-section .eyebrow{font-size:8px;letter-spacing:1.8px}.countdown-section h2{font-size:36px;margin-bottom:35px}.countdown{gap:13px}.countdown div{min-width:51px}.countdown b{font-size:47px}.countdown span{font-size:6px;letter-spacing:1.5px}.countdown i{font-size:22px;padding-top:3px}.rsvp-section{padding:80px 22px}.rsvp-section .eyebrow{font-size:8px;letter-spacing:1.7px}.rsvp-section h2{font-size:57px}.rsvp-section p{font-size:12px}.opening-top{padding:24px}.opening-top>span:last-child{font-size:7px;letter-spacing:1.4px;margin-top:9px}.opening-heading{margin-top:7vh}.opening-heading .eyebrow{font-size:8px}.opening-heading h1{font-size:38px}.opening-heading p{font-size:10px}.envelope{margin:65px 0 45px}.seal{width:65px;height:63px;left:40%}.seal>span{width:49px;height:48px;font-size:24px}.seal-and{font-size:16px}.letter-peek{font-size:25px}.opening-date{margin-top:55px}.preview-controls{flex-direction:column;gap:4px}.preview-controls span{font-size:8px}dialog{padding:37px 25px 28px}dialog h2{font-size:48px}#thanks h2{font-size:43px}.eyebrow{font-size:9px;letter-spacing:2px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important}.reveal{opacity:1;transform:none}}

/* A framed childhood portrait, with room for both faces on small screens. */
.hero-art{padding:22px 0 0 30px}.hero-art img{height:auto;aspect-ratio:1.15;object-fit:cover;object-position:center;mask-image:none;mix-blend-mode:multiply;border-radius:48% 48% 3px 3px;box-shadow:0 18px 45px #5834220c}.art-caption{margin-top:24px;font-size:8px}@media(max-width:760px){.hero-art{padding:0 20px;margin-top:26px;margin-bottom:20px}.hero-art img{height:auto;aspect-ratio:1.3;object-fit:cover;object-position:center 40%;border-radius:45% 45% 2px 2px}.art-caption{margin-top:16px;font-size:6px}}

/* The invitation, reduced to paper, type and a single fine line. */
nav{height:84px;border:0;padding:0 6%}.nav-date{letter-spacing:2.5px;font-size:8px}.hero.minimal-hero{display:flex;justify-content:center;align-items:center;min-height:760px;height:calc(100svh - 84px);max-height:1100px;padding:75px 28px 90px;background:radial-gradient(ellipse at 50% 45%,#fffdf84d,transparent 70%)}.invitation-frame{position:absolute;inset:12px 6% 25px;border:1px solid #b79c783d;border-radius:46% 46% 0 0 / 36% 36% 0 0;pointer-events:none}.minimal-hero .hero-copy{position:relative;width:100%;max-width:700px;padding-bottom:25px}.bismillah{font-family:Georgia,'Times New Roman',serif;font-size:23px;color:#8d7455;line-height:1.8;margin-bottom:25px}.minimal-hero .eyebrow{font-size:8px;letter-spacing:3.5px;color:#8b776c}.minimal-hero h1{font-size:clamp(92px,9vw,148px);line-height:.88;letter-spacing:-5px;margin:35px 0 30px}.minimal-hero .amp{font-size:.42em;margin:8px 0;color:#b59b74}.invitation-line{font-size:12px;line-height:1.9;letter-spacing:.1px}.hero-date{margin:32px auto 0;display:flex;align-items:center;justify-content:center;gap:23px}.hero-date span{font-size:8px;line-height:1.8;letter-spacing:2px;min-width:80px}.hero-date span:first-child{text-align:right}.hero-date span:last-child{text-align:left}.hero-date b{font:400 42px var(--serif);border-left:1px solid var(--line);border-right:1px solid var(--line);padding:0 22px;line-height:1.1}.minimal-hero .scroll-note{position:static;transform:none;margin-top:42px;gap:8px;font-size:7px}.day-section{padding:100px 14%;gap:12%;background:var(--ivory);border-bottom:1px solid #d9ccba66}.day-title h2{font-size:65px;margin:22px 0 0}.day-title .eyebrow{font-size:8px}.day-details p{font-size:13px}.detail-rule{height:1px;width:42px;background:var(--gold);margin:28px 0}.day-details .eyebrow{font-size:9px;letter-spacing:1.6px}.day-details .detail-note{font-size:10px;margin:10px 0 16px}.day-details .text-link{font-size:10px}.countdown-section{padding:100px 24px}.countdown-section h2{font-size:52px}.countdown-section>p{font-size:9px}.countdown b{font-variant-numeric:tabular-nums;font-size:60px}.rsvp-section{padding:95px 24px}.rsvp-section:before,.rsvp-section:after{display:none}.rsvp-section h2{font-size:80px}.rsvp-section .eyebrow{font-size:8px;letter-spacing:2.5px}.rsvp-section .gold-button{border-radius:40px;min-width:200px;background:#e7d8bb}.rsvp-small{display:none}footer{padding-bottom:75px}.preview-controls{border:0;opacity:.75}.music-widget{position:fixed;bottom:22px;right:24px;z-index:32}.music-widget[hidden],.music-panel[hidden]{display:none}.music-toggle{margin-left:auto;display:flex;align-items:center;gap:10px;background:#f7f3ebf2;border:1px solid #cbb99d;border-radius:40px;padding:12px 16px;box-shadow:0 5px 20px #3f172414;font-size:10px;color:var(--ink);backdrop-filter:blur(12px)}.sound-bars{display:flex;align-items:center;gap:3px;height:14px}.sound-bars i{height:6px;width:2px;background:var(--gold)}.sound-bars i:nth-child(2){height:13px}.sound-bars i:nth-child(3){height:9px}.sound-bars i:nth-child(4){height:4px}.music-panel{width:300px;padding:12px;background:var(--ivory);border:1px solid var(--line);border-radius:6px;margin-bottom:10px;box-shadow:0 12px 45px #30111e26}.music-title{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.4px;margin-bottom:8px}.music-title button{background:none;border:0;font-size:22px;padding:0 4px}.music-panel iframe{display:block;width:100%;height:200px;border:0;border-radius:3px}.music-panel p{font-size:8px;margin:8px 0 3px}.music-panel a{font-size:9px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){nav{height:70px;padding:0 25px}.hero.minimal-hero{min-height:680px;height:calc(100svh - 70px);max-height:900px;padding:65px 20px 60px}.invitation-frame{inset:10px 20px 20px;border-radius:48% 48% 0 0 / 28% 28% 0 0}.minimal-hero .hero-copy{padding-bottom:0}.bismillah{font-size:20px;margin-bottom:24px}.minimal-hero .eyebrow{font-size:7px;letter-spacing:2.8px}.minimal-hero h1{font-size:clamp(80px,22vw,114px);letter-spacing:-3px;margin:28px 0}.minimal-hero .amp{font-size:.42em;margin:7px 0}.invitation-line{font-size:10px}.hero-date{gap:16px;margin-top:28px}.hero-date b{font-size:36px;padding:0 17px}.hero-date span{font-size:6px;letter-spacing:1.7px;min-width:66px}.minimal-hero .scroll-note{margin-top:30px;font-size:6px}.day-section{padding:70px 32px;gap:32px}.day-title h2{font-size:55px}.day-details{text-align:center}.day-details p{font-size:12px}.detail-rule{margin:23px auto}.day-details .eyebrow{font-size:8px}.countdown-section{padding:70px 18px}.countdown-section h2{font-size:36px}.countdown b{font-size:46px}.rsvp-section{padding:75px 20px}.rsvp-section h2{font-size:67px}.music-widget{bottom:15px;right:15px}.music-toggle{font-size:9px;padding:11px 14px}.music-panel{width:280px}.music-panel iframe{height:200px}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.music-toggle.playing .sound-bars i{animation:sound-wave 1.4s ease-in-out infinite alternate}.music-toggle.playing .sound-bars i:nth-child(2){animation-delay:-.4s}.music-toggle.playing .sound-bars i:nth-child(3){animation-delay:-.8s}@keyframes sound-wave{to{transform:scaleY(.35)}}

/* A letter in three dimensions, followed by a quiet typographic reveal. */
.opening{perspective:1200px;background:radial-gradient(ellipse at 50% 30%,#fcf9f2,#e9dfce)}.opening-heading{margin-top:1vh}.opening-heading .bismillah{font-size:25px;margin:0 0 4px;color:#886b47}.opening-translation{display:block;font-size:6px;letter-spacing:2px;color:#99836a}.opening-heading h1{font-size:42px;line-height:1.1;margin-top:23px;font-style:normal;letter-spacing:-1px}.opening-heading h1 em{font-weight:400}.envelope{margin:38px 0 30px;transform:rotate(-5deg);transform-style:preserve-3d;filter:drop-shadow(0 28px 24px #3f1b1924);animation:envelope-arrive 1.4s cubic-bezier(.2,.7,.2,1) both}.envelope-back{background:linear-gradient(140deg,#ccb58d,#dfcead);box-shadow:inset 0 0 2px #9a7b4a;border:1px solid #d0bc99}.envelope-front{background:linear-gradient(135deg,#f0e4cc,#e8d7b6 60%,#ddc9a2);border-radius:2px}.envelope-front:after{opacity:.5}.flap{background:linear-gradient(170deg,#f2e6cf,#e2ceaa);transition:transform 1.2s .4s cubic-bezier(.4,0,.2,1),z-index 0s 1s;backface-visibility:visible}.letter-peek{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;inset:6% 5%;background:#fbf7ed;border:1px solid #b59b7433;outline:1px solid #c6b18c55;outline-offset:-12px;box-shadow:0 3px 14px #624b2220;transition:transform 1.3s 1.1s cubic-bezier(.2,.6,.3,1)}.letter-names{font-size:34px;letter-spacing:-1px}.letter-names em{color:#b69a69;font-size:25px;margin:0 5px}.letter-date{font:7px var(--sans);letter-spacing:2px;color:#a38a63}.letter-ornament{font-size:21px;color:#b69a69}.seal{top:44%;width:85px;height:83px;border:1px solid #812d3b;box-shadow:2px 7px 8px #33101a66,inset 0 2px 3px #c5827b,inset 0 -4px 5px #320e19}.seal:before{content:'';position:absolute;inset:8px;border:1px solid #d59a7c55;border-radius:48% 52% 47% 53%;box-shadow:0 0 0 3px #39122030}.seal>span{border-color:#c1816b55}.envelope:hover .seal{filter:brightness(1.1)}.open-hint{font-size:8px;letter-spacing:3px}.opening-date{margin-top:27px;font-size:7px;letter-spacing:2px}.opening.breaking .seal{transform:translate(20px,105px) rotate(35deg) scale(.9);opacity:0;transition:transform .8s,opacity .65s .12s}.opening.breaking .flap{transform:rotateX(180deg);z-index:1}.opening.breaking .letter-peek{transform:translateY(-72%) rotate(5deg)}.opening.breaking .envelope{animation:none;transform:translateY(95px) rotate(-5deg);opacity:0;transition:transform 2.3s cubic-bezier(.3,0,.2,1),opacity .6s 2.2s}.opening.breaking .opening-heading,.opening.breaking .open-hint,.opening.breaking .opening-date{opacity:0;transform:translateY(-10px);transition:opacity .7s,transform .7s}.music-widget{z-index:50}.minimal-hero .hero-copy{padding-top:0}.minimal-hero .bismillah{font-size:20px;margin-bottom:3px}.couple-vignette{width:135px;margin:0 auto 12px;height:115px}.couple-vignette svg{display:block;width:100%;height:100%}.minimal-hero h1{font-size:clamp(80px,8vw,124px);margin:23px 0 24px}.name-line{display:block;overflow:hidden;padding:4px 0 13px;line-height:.8}.name-line>span{display:block}.minimal-hero .amp{font-size:.4em;line-height:.7;margin:0 0 6px}.ready .name-line>span{animation:name-rise 1.5s cubic-bezier(.2,.7,.2,1) both}.ready .name-line:last-child>span{animation-delay:.2s}.ready .minimal-hero .bismillah,.ready .minimal-hero .eyebrow{animation:soft-arrive 1.3s .1s both}.ready .hero-date,.ready .invitation-line,.ready .minimal-hero .scroll-note{animation:soft-arrive 1.4s .65s both}.ready .couple-vignette{animation:soft-arrive 1.5s .15s both}.ready .little-arch{stroke-dasharray:400;stroke-dashoffset:400;animation:arch-ink 2.5s .3s forwards}.ready .bride-figure{transform-origin:72px 155px;animation:figure-breathe 7s 2s ease-in-out infinite}.ready .groom-figure{transform-origin:129px 155px;animation:figure-breathe 7s 3s ease-in-out infinite reverse}.tiny-spark{animation:gentle-glow 4s ease-in-out infinite}.invitation-frame:after{content:'';position:absolute;inset:10px;border:1px solid #b79c7813;border-radius:inherit;pointer-events:none}@keyframes name-rise{from{transform:translateY(120%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes soft-arrive{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}@keyframes arch-ink{to{stroke-dashoffset:0}}@keyframes figure-breathe{50%{transform:rotate(.8deg)}}@keyframes gentle-glow{50%{opacity:.45}}@keyframes envelope-arrive{from{opacity:0;transform:translateY(35px) rotate(-9deg)}to{opacity:1;transform:translateY(0) rotate(-5deg)}}
@media(max-width:760px){.opening-heading{margin-top:1vh}.opening-heading .bismillah{font-size:22px}.opening-translation{font-size:5px;letter-spacing:1.5px}.opening-heading h1{font-size:35px;margin-top:22px}.envelope{margin:50px 0 35px}.letter-names{font-size:24px}.letter-names em{font-size:20px}.letter-peek{gap:10px}.letter-ornament{font-size:17px}.letter-date{font-size:5px}.seal{width:68px;height:66px}.opening-date{margin-top:35px}.hero.minimal-hero{min-height:770px;padding-top:52px;padding-bottom:62px;height:auto}.minimal-hero .bismillah{font-size:18px;margin-bottom:0}.couple-vignette{width:112px;height:95px;margin-bottom:15px}.minimal-hero h1{font-size:clamp(76px,21vw,103px);margin:22px 0}.minimal-hero .amp{font-size:.4em;margin:0 0 7px}.minimal-hero .hero-date{margin-top:25px}.minimal-hero .scroll-note{margin-top:26px}.name-line{padding-bottom:12px}}@media(max-height:740px) and (min-width:761px){.hero.minimal-hero{min-height:770px}}@media(prefers-reduced-motion:reduce){.ready .little-arch{stroke-dashoffset:0}.name-line>span{opacity:1;transform:none}.opening.breaking .envelope{opacity:0}.opening.breaking .flap{transform:none}}

/* Editorial arches: invitation, silk, and a celebration cake. */
.hero.editorial-hero{display:grid;grid-template-columns:1fr 1fr;gap:4%;padding:65px 7% 75px;min-height:760px;max-height:1100px;align-items:center}.editorial-hero .hero-copy{max-width:570px;padding:0;justify-self:center}.editorial-hero .bismillah{font-size:20px;margin-bottom:25px}.editorial-hero h1{font-size:clamp(76px,7.4vw,123px);letter-spacing:-4px;margin:30px 0 26px}.editorial-hero .eyebrow{font-size:7px;letter-spacing:3px}.editorial-hero .invitation-line{font-size:11px}.editorial-hero .hero-date{margin-top:30px;gap:17px}.editorial-hero .hero-date span{font-size:7px;min-width:70px}.editorial-hero .hero-date b{font-size:37px}.editorial-hero .scroll-note{margin-top:32px}.editorial-collage{position:relative;width:100%;height:590px;max-width:560px;justify-self:center;isolation:isolate}.arch-photo{position:absolute;margin:0;overflow:hidden;background:#e6ded1;box-shadow:0 14px 35px #5a41220a;transform:translateZ(0)}.arch-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.8s cubic-bezier(.2,.6,.2,1)}.arch-photo:hover img{transform:scale(1.035)}.stationery-photo{width:38%;height:43%;left:0;top:0;border-radius:140px 140px 105px 105px;transform:rotate(-7deg);z-index:2}.cake-photo{width:56%;height:78%;right:0;top:12%;border-radius:180px 180px 160px 160px}.rings-photo{width:38%;height:41%;left:0;bottom:8%;border-radius:130px;transform:rotate(6deg);z-index:3}.cake-photo img{object-position:center 55%}.collage-caption{position:absolute;bottom:0;left:0;width:100%;text-align:center;font-size:6px;letter-spacing:2px;color:#a48c6e}.ready .stationery-photo{animation:photo-arrive-left 1.6s .2s both}.ready .cake-photo{animation:photo-arrive 1.8s .35s both}.ready .rings-photo{animation:photo-arrive-right 1.7s .5s both}.envelope-stage{position:relative;width:min(490px,80vw);height:min(300px,49vw);margin:38px 0 30px;flex-shrink:0;animation:envelope-float 6s ease-in-out infinite;isolation:isolate}.envelope-stage .envelope{width:100%;height:100%;margin:0}.magic-trail{position:absolute;inset:-65px -75px;width:calc(100% + 150px);height:calc(100% + 130px);z-index:9;pointer-events:none;overflow:visible}.orbit-base{opacity:.65}.orbit-sweep{stroke-dasharray:2 98;stroke-dashoffset:100;filter:drop-shadow(0 0 3px #e3c88b);animation:orbit-light 9s linear infinite}.orbit-star{opacity:.5;transform-box:fill-box;transform-origin:center;animation:star-light 4s ease-in-out infinite}.star-two{animation-delay:1.3s}.star-three{animation-delay:2.6s}.opening.breaking .envelope-stage{animation-play-state:paused}.opening.breaking .magic-trail{opacity:0;transform:scale(1.12);transition:opacity 1.3s,transform 1.6s}.opening-heading{z-index:2}.open-hint{position:relative;z-index:10;margin-top:10px}.opening-date{position:relative;z-index:10}.opening:not(.breaking) .envelope:hover{transform:rotate(-3deg);filter:drop-shadow(0 32px 28px #3f1b1933)}
@keyframes envelope-float{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-12px) rotate(.5deg)}}@keyframes orbit-light{to{stroke-dashoffset:0}}@keyframes star-light{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:.85;transform:scale(1.1)}}@keyframes photo-arrive{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-arrive-left{from{opacity:0;transform:translateY(25px) rotate(-11deg)}to{opacity:1;transform:translateY(0) rotate(-7deg)}}@keyframes photo-arrive-right{from{opacity:0;transform:translateY(25px) rotate(10deg)}to{opacity:1;transform:translateY(0) rotate(6deg)}}
@media(min-width:1500px){.editorial-collage{height:660px}.hero.editorial-hero{gap:6%;padding-left:9%;padding-right:9%}}@media(max-width:760px){.hero.editorial-hero{display:flex;flex-direction:column;gap:45px;min-height:0;max-height:none;height:auto;padding:45px 25px 70px}.editorial-hero .hero-copy{width:100%;max-width:500px}.editorial-hero .bismillah{font-size:20px;margin-bottom:24px}.editorial-hero h1{font-size:clamp(82px,22vw,118px);margin:24px 0}.editorial-hero .invitation-line{font-size:10px}.editorial-hero .hero-date{margin-top:27px;gap:14px}.editorial-hero .hero-date span{font-size:6px;min-width:67px}.editorial-hero .hero-date b{font-size:34px}.editorial-hero .scroll-note{margin-top:28px}.editorial-collage{height:440px;max-width:405px;width:100%}.collage-caption{font-size:5px;letter-spacing:1.8px}.envelope-stage{margin:50px 0 35px}.magic-trail{inset:-45px -30px;width:calc(100% + 60px);height:calc(100% + 90px)}.opening .open-hint{margin-top:8px}}@media(max-width:370px){.editorial-collage{height:370px}}@media(prefers-reduced-motion:reduce){.envelope-stage,.orbit-star,.orbit-sweep{animation:none!important}.orbit-sweep{display:none}.ready .arch-photo{animation:none!important}}

/* Final mobile composition: balanced type, one compact image arrangement. */
.editorial-hero .bismillah{margin-bottom:8px}.bismillah-meaning{font-size:9px;line-height:1.65;color:#9d876e;letter-spacing:.15px;margin-bottom:25px}.opening-translation{font-size:8px;line-height:1.7;letter-spacing:.15px;max-width:310px;margin:4px auto 0;text-transform:none}.opening-heading .bismillah{margin-bottom:4px}
@media(max-width:760px){nav{height:64px;padding:0 23px}.monogram{font-size:27px}.nav-rsvp{font-size:10px;padding:8px 0}.nav-rsvp span{margin-left:18px}.hero.editorial-hero{padding:25px 23px 40px;gap:28px;min-height:0;height:auto;overflow:hidden}.editorial-hero .bismillah{font-size:20px;line-height:1.7;margin:0 0 5px}.bismillah-meaning{font-size:8px;line-height:1.6;margin:0 auto 21px;max-width:290px}.editorial-hero .eyebrow{font-size:6px;letter-spacing:2.6px}.editorial-hero h1{font-size:clamp(59px,17.5vw,84px);letter-spacing:-2.3px;margin:19px 0 18px;line-height:.85}.editorial-hero .name-line{padding:3px 0 10px;line-height:.86}.editorial-hero .amp{font-size:.4em;line-height:.75;margin:0 0 4px}.editorial-hero .invitation-line{font-size:10px;line-height:1.75}.editorial-hero .hero-date{margin-top:22px;gap:11px}.editorial-hero .hero-date span{font-size:6px;line-height:1.8;letter-spacing:1.6px;min-width:61px}.editorial-hero .hero-date b{font-size:31px;padding:0 17px}.editorial-hero .scroll-note{display:none}.editorial-collage{width:100%;max-width:330px;height:300px;margin:0 auto}.stationery-photo{width:35%;height:43%;left:3%;top:0;transform:rotate(-5deg)}.cake-photo{width:57%;height:80%;right:0;top:9%}.rings-photo{width:35%;height:40%;left:3%;bottom:10%;transform:rotate(4deg)}.collage-caption{bottom:0;font-size:5px;letter-spacing:1.5px}.arch-photo{box-shadow:none}.day-section{padding:47px 26px 54px;gap:25px}.day-title h2{font-size:45px;margin-top:17px}.day-title .eyebrow{font-size:7px;letter-spacing:2px}.day-details p{font-size:11px}.detail-rule{margin:20px auto}.countdown-section{padding:52px 17px}.countdown-section h2{font-size:32px;margin:17px 0 29px;letter-spacing:-1px}.countdown{gap:10px}.countdown b{font-size:43px}.countdown div{min-width:47px}.countdown span{font-size:6px}.countdown-section>p{font-size:8px;margin-top:25px}.rsvp-section{padding:59px 22px}.rsvp-section h2{font-size:57px;margin:20px 0}.rsvp-section .eyebrow{font-size:7px;letter-spacing:1.8px}.rsvp-section .gold-button{margin-top:25px;padding:15px 23px}.footer-names{font-size:30px}footer{padding:38px 20px 72px;gap:15px}.preview-controls{margin-top:10px;padding-top:10px}.opening-top{padding:20px 24px}.opening-heading{margin-top:2vh}.opening-heading .bismillah{font-size:21px}.opening-translation{font-size:7px;line-height:1.7;max-width:260px;padding:0 7px}.opening-heading h1{font-size:32px;margin-top:21px}.envelope-stage{margin:45px 0 30px}.opening-date{margin-top:28px}.open-hint{font-size:7px;letter-spacing:2.6px}}
@media(max-width:360px){.hero.editorial-hero{padding-left:19px;padding-right:19px;gap:24px}.editorial-hero h1{font-size:59px}.editorial-collage{height:270px}.bismillah-meaning{font-size:7px}.editorial-hero .invitation-line{font-size:9px}.countdown{gap:7px}.countdown b{font-size:39px}.countdown div{min-width:43px}.countdown-section h2{font-size:29px}.opening-heading h1{font-size:29px}}
@media(max-width:760px) and (max-height:700px){.opening-heading{margin-top:0}.opening-heading .bismillah{font-size:19px}.opening-heading h1{font-size:28px;margin-top:15px}.envelope-stage{margin:35px 0 25px}.opening-date{margin-top:20px}}

/* Phone-first invitation: names and imagery share the first screen. */
@media(max-width:760px){
nav{height:58px;padding:0 21px}.monogram{font-size:26px}.nav-rsvp{font-size:10px}
.hero.editorial-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-template-rows:auto auto auto auto auto auto;column-gap:13px;row-gap:0;padding:25px 24px 35px;min-height:0;height:auto;position:relative;border-bottom:1px solid #d9ccba66;background:radial-gradient(ellipse at 90% 48%,#e9d9bf55,transparent 65%)}
.editorial-hero .hero-copy{display:contents}.editorial-hero .bismillah{grid-column:1/-1;grid-row:1;text-align:center;font-size:22px;line-height:1.7;margin:0 0 5px}.editorial-hero .bismillah-meaning{grid-column:1/-1;grid-row:2;text-align:center;font-size:8px;line-height:1.65;margin:0 auto 22px;max-width:300px}.editorial-hero .eyebrow{grid-column:1/-1;grid-row:3;text-align:center;font-size:7px;letter-spacing:2.4px;margin:0 0 15px}.editorial-hero h1{grid-column:1;grid-row:4;align-self:center;text-align:left;font-size:clamp(45px,14.3vw,70px);letter-spacing:-1.7px;margin:0 0 0 -3px;line-height:.85;z-index:3}.editorial-hero .name-line{padding:4px 0 11px;line-height:.88;overflow:visible}.editorial-hero .amp{text-align:center;font-size:.45em;margin:4px 0 10px;color:#ad8c58}.editorial-hero .editorial-collage{grid-column:2;grid-row:4;width:100%;max-width:none;height:240px;margin:0;align-self:center;overflow:visible}.editorial-hero .cake-photo{width:91%;height:88%;right:0;top:4%;border-radius:100px 100px 80px 80px}.editorial-hero .stationery-photo{width:43%;height:34%;top:-1%;left:-5%;border:3px solid var(--ivory);z-index:4}.editorial-hero .rings-photo{width:48%;height:34%;bottom:0;left:-8%;border:3px solid var(--ivory);z-index:4}.editorial-hero .collage-caption{display:none}.editorial-hero .invitation-line{grid-column:1/-1;grid-row:5;text-align:center;font-size:11px;line-height:1.8;margin:26px 0 0}.editorial-hero .hero-date{grid-column:1/-1;grid-row:6;margin:23px auto 0;gap:13px;padding:13px 24px;border-top:1px solid #d9ccba88;border-bottom:1px solid #d9ccba88;width:100%;max-width:290px}.editorial-hero .hero-date span{font-size:7px;letter-spacing:1.7px;min-width:64px}.editorial-hero .hero-date b{font-size:33px;padding:0 20px}.editorial-hero .scroll-note{display:none}
.day-section{padding:39px 25px 43px;gap:19px;background:#f0e8da66}.day-title h2{font-size:40px;line-height:1.04;margin:14px 0 0}.day-title h2 br{display:none}.day-title .eyebrow{font-size:6px;letter-spacing:2px}.day-details p{font-size:11px;line-height:1.85}.detail-rule{margin:17px auto}.day-details .eyebrow{font-size:8px}.day-details .detail-note{margin:8px 0 10px}.countdown-section{padding:42px 20px}.countdown-section h2{font-size:31px;margin:15px 0 26px}.countdown-section .eyebrow{font-size:7px}.countdown{gap:11px}.countdown b{font-size:44px}.countdown-section>p{margin-top:24px;font-size:8px}.rsvp-section{padding:47px 24px}.rsvp-section h2{font-size:55px}.rsvp-section .gold-button{margin-top:22px}footer{padding:33px 20px 70px}
.opening{min-height:100svh;justify-content:center;padding:75px 0 82px}.opening-top{position:absolute;left:0;top:0;padding:19px 23px}.opening-heading{margin:0 0 0;width:100%}.opening-heading .bismillah{font-size:22px;line-height:1.8}.opening-translation{font-size:8px;max-width:280px;line-height:1.6}.opening-heading h1{font-size:33px;line-height:1.12;margin:22px 15px 0}.envelope-stage{width:min(330px,82vw);height:min(205px,51vw);margin:51px 0 31px}.open-hint{margin-top:6px!important;font-size:8px;letter-spacing:2px}.opening-date{font-size:7px;margin:24px 0 0}.magic-trail{inset:-45px -30px}
}
@media(max-width:360px){.hero.editorial-hero{padding:20px 21px 28px;column-gap:8px}.editorial-hero .bismillah{font-size:20px}.editorial-hero .bismillah-meaning{font-size:7px;margin-bottom:19px}.editorial-hero h1{font-size:46px;letter-spacing:-1.8px}.editorial-hero .editorial-collage{height:211px}.editorial-hero .invitation-line{font-size:10px;margin-top:22px}.editorial-hero .hero-date{margin-top:20px;padding:11px 16px;max-width:270px}.editorial-hero .hero-date span{font-size:6px}.opening-heading h1{font-size:30px}.opening-heading .bismillah{font-size:20px}.envelope-stage{margin-top:45px}}
@media(min-width:520px) and (max-width:760px){.hero.editorial-hero{padding-left:9%;padding-right:9%}.editorial-hero h1{font-size:76px}.editorial-hero .editorial-collage{height:310px}}
@media(max-height:690px) and (max-width:760px){.opening{padding-top:68px;padding-bottom:65px}.opening-heading h1{font-size:28px;margin-top:16px}.opening-heading .bismillah{font-size:20px}.envelope-stage{margin:33px 0 22px}.opening-date{margin-top:20px}}
