@font-face{font-family:Body;src:url(assets/mv-alram.ttf);font-display:swap}@font-face{font-family:Display;src:url(assets/display.ttf)}:root{--ink:#355372;--paper:#f0e8d8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:19px/2 Body,serif}.closed{overflow:hidden}main{max-width:600px;margin:auto;background:var(--paper);box-shadow:0 0 80px #263c5010}main, #opening{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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%236c6240' opacity='.07' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}section{padding:65px 38px;text-align:center;position:relative;overflow:hidden}section+section:before{content:'';position:absolute;top:0;left:25%;width:50%;border-top:1px solid #35537230}.hero{min-height:100svh;padding-top:54px}.eyebrow{font-family:Body;font-size:19px;margin:0 0 22px}h1{font:64px/1.8 Display;margin:14px 0 20px}h1 i{display:block;font-size:31px;line-height:1.1}i{font-family:'Times New Roman';font-weight:normal}h2{font:30px/1.9 Body;margin:28px 0 18px}h3{font:25px/1.8 Body;margin:18px 0}.date{font:17px/2 'Times New Roman';letter-spacing:5px;margin:22px 0 28px}.button{display:inline-block;border:0;border-radius:28px;background:var(--ink);color:var(--paper);text-decoration:none;padding:9px 28px;font:17px/2 Body;transition:transform .2s}.button:hover{transform:translateY(-3px)}.art{background-image:url(assets/reference.jpeg);background-repeat:no-repeat;mix-blend-mode:multiply;margin:20px auto;pointer-events:none}.gazebo{width:230px;height:190px;background-size:1200px 1800px;background-position:-87px -89px}.sprig{width:115px;height:105px;background-size:1000px 1500px;background-position:-509px -777px}.attire{width:140px;height:125px;background-size:1500px 2250px;background-position:-670px -490px}p{margin:18px 0}blockquote{margin:24px 0;font-size:18px;line-height:2.3}cite{display:block;font-size:15px;font-style:normal;margin-top:15px}.bismillah{font:27px/2.2 'Times New Roman',serif}.divider{font:40px/1 'Times New Roman';opacity:.7;margin:28px}.calendar{border:1px solid #35537290;outline:1px solid #35537250;outline-offset:5px;border-radius:4px 9px 3px 8px;padding:10px 18px 20px;margin:40px 5px;transform:rotate(-.6deg)}.calendar h3{font-size:20px;margin:8px}#calendar{display:grid;grid-template-columns:repeat(7,1fr);font:15px/2.7 'Times New Roman';gap:4px}#calendar span{display:grid;place-items:center;aspect-ratio:1}.selected{border:1.5px solid var(--ink);border-radius:45% 50% 42% 55%;box-shadow:0 0 0 2px #35537222}.countdown{display:flex;justify-content:center;gap:22px;margin-top:36px}.countdown b{display:block;font:29px/1.7 'Times New Roman'}.countdown span{font-size:14px}.dress{margin:38px 0;border-top:1px solid #35537235;padding-top:15px}.swatches{display:flex;justify-content:center;gap:14px;margin:20px}.swatches span{height:38px;width:38px;border:1px solid #35537230;border-radius:50%;background:var(--c);outline:1px solid #35537230;outline-offset:4px}small{font-size:14px}#closing{padding-top:60px;padding-bottom:80px}.monogram{font:70px/2 Display}.monogram i{font-size:34px}#opening{position:fixed;inset:0;z-index:20;background-color:var(--paper);display:grid;place-items:center;transition:opacity 1s,visibility 1s}.opening-frame{border:1px solid #35537255;outline:1px solid #35537230;outline-offset:8px;text-align:center;width:min(85%,420px);padding:35px 15px}.opening-frame p{font-size:17px;margin:28px 0 10px}.opening-frame small{font:14px 'Times New Roman';letter-spacing:4px}#seal{cursor:pointer;color:var(--ink);background:transparent;border:1px solid #35537280;outline:1px solid #35537240;outline-offset:5px;border-radius:50%;width:145px;height:145px;margin:20px 0;font:48px Display}#seal i{font-size:25px}.opened #opening{opacity:0;visibility:hidden;pointer-events:none}a:focus-visible,button:focus-visible{outline:3px solid #7c9ab1;outline-offset:8px}@media(min-width:800px){main{margin:35px auto}.hero{min-height:900px}section{padding:75px 65px}}@media(max-width:360px){section{padding:45px 25px}h1{font-size:54px}.countdown{gap:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.art{mask-image:radial-gradient(ellipse at center,#000 53%,transparent 74%)}.gazebo{width:250px;background-position:-85px -89px}.sprig{height:82px;background-position:-509px -777px;mask-image:radial-gradient(ellipse at center,#000 45%,transparent 75%)}@font-face{font-family:Display;src:url(assets/display.ttf);font-display:swap}

/* MV Alram sizing keeps Dhivehi comfortably readable. */
body{font-size:30px;line-height:1.7}
blockquote{font-size:29px;line-height:1.75}
cite,small{font-size:24px;line-height:1.7}
.eyebrow{font-size:28px;line-height:1.6}
h2{font-size:36px;line-height:1.6}
h3{font-size:32px;line-height:1.6}
.calendar h3{font-size:28px}
.button,.opening-frame p{font-size:24px;line-height:1.6}
.countdown span{font-size:20px;line-height:1.6}
.bismillah{font-size:27px;line-height:2.2}
@media(max-width:600px){section{padding-left:25px;padding-right:25px}.countdown{gap:16px}}

/* Point guests directly to the opening seal. */
.open-hint{display:flex;flex-direction:column;align-items:center;margin:0 0 20px}
.tap-arrow{display:block;width:27px;height:36px;color:var(--ink)}
.opening-frame .open-hint p{margin:6px 0 0;font-size:24px;line-height:1.6}
#opening{overflow-y:auto;padding:24px 0}
@media(max-height:700px){.opening-frame{padding-top:12px;padding-bottom:16px}.opening-frame .gazebo{margin-top:0;margin-bottom:6px;height:165px}#seal{margin:12px 0}.open-hint{margin-bottom:12px}}
