.invitation-shell{background:var(--wine);isolation:isolate;max-width:560px;margin-inline:auto;position:relative;overflow:clip;box-shadow:0 0 100px #00000073}.invitation-main{width:100%}.icon{flex:none;width:24px;height:24px}.music-control{z-index:8;right:max(18px,50vw - 262px);bottom:max(18px, calc(env(safe-area-inset-bottom) + 18px));width:52px;height:52px;color:var(--gold-light);cursor:pointer;background:#360b16e6;border:1px solid #efd4a2ad;border-radius:50%;place-items:center;padding:0;transition:background .2s,border-color .2s,transform .2s;display:grid;position:fixed;box-shadow:0 8px 26px #00000052,inset 0 0 0 4px #efd4a20d}.music-control:hover{border-color:var(--gold-light);background:#561529}.music-control:active{transform:scale(.96)}.music-control .icon{width:23px;height:23px}.music-control .icon path{vector-effect:non-scaling-stroke}.opening{z-index:10;background:#200b09;width:min(100%,560px);height:100dvh;margin-inline:auto;transition:opacity .95s,visibility .95s;position:fixed;inset:0;overflow:hidden}.opening--opening{opacity:0;visibility:hidden;pointer-events:none}.opening-trigger{cursor:pointer;width:100%;height:100%;color:var(--gold-light);background:0 0;border:0;padding:0;display:block;position:relative;overflow:hidden}.opening-trigger:focus-visible{outline-offset:-8px}.opening-trigger:disabled{cursor:default}.opening-video{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.opening-shade{background:linear-gradient(#0000,#190706b3);position:absolute;inset:65% 0 0}.opening-action{bottom:max(7%, calc(env(safe-area-inset-bottom) + 25px));background:#2b0a0edb;border:1px solid #efd4a2a6;border-radius:2px;justify-content:center;align-items:center;gap:14px;width:max-content;max-width:calc(100% - 48px);margin-inline:auto;padding:11px 31px 13px;font-size:23px;line-height:1.6;transition:background .25s,border-color .25s;display:flex;position:absolute;inset-inline:0;box-shadow:0 5px 30px #0000002e,inset 0 0 0 4px #efd4a20d}.opening-action .icon{width:21px;height:21px}.opening-trigger:hover .opening-action{border-color:var(--gold-light);background:#450f1b}.hero{background:#3c1510;outline:0;position:relative}.hero-media{position:relative}.hero-art{width:100%;height:auto}.hero-video{object-fit:contain;opacity:0;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.hero-video--visible{opacity:1}.scroll-cue{color:#fff0d8;background:#240c0a73;border:1px solid #fff0d880;border-radius:50%;place-items:center;width:44px;height:44px;transition:background .25s;display:grid;position:absolute;bottom:18px;left:calc(50% - 22px)}.scroll-cue:hover{background:#360b16d9}.section{text-align:center;position:relative}.section-title{color:var(--gold-light);margin:0;font-size:clamp(28px,7.2vw,35px);font-weight:400;line-height:1.8}.flourish{opacity:.85;width:166px;height:auto;margin-inline:auto}.roses{pointer-events:none;height:auto}.fine-frame{z-index:0;pointer-events:none;border:1px solid #cba9758c;position:absolute;inset:0}.fine-frame:before{content:"";border:1px solid #cba9753d;position:absolute;inset:7px}.fine-frame:after{content:"";border:1px solid #cba9751a;position:absolute;inset:12px}.frame-corner{z-index:1;aspect-ratio:1;width:clamp(86px,23vw,118px);max-width:none;height:auto;position:absolute}.frame-corner--top-left{top:-7px;left:-7px}.frame-corner--top-right{top:-7px;right:-7px;transform:scaleX(-1)}.frame-corner--bottom-right{bottom:-7px;right:-7px;transform:scale(-1)}.frame-corner--bottom-left{bottom:-7px;left:-7px;transform:scaleY(-1)}.frame-crest{z-index:2;width:70%;max-width:290px;height:auto;position:absolute;top:0;left:50%;transform:translate(-50%,-44%)}.invitation-letter{background:radial-gradient(ellipse at 50% 30%, #511522, transparent 75%), var(--wine);padding:81px 24px 65px}.letter-frame{isolation:isolate;background:radial-gradient(at 50% 25%,#6b232f3b,#0000 72%),linear-gradient(90deg,#1102072e,#0000 24% 76%,#1102072e);padding:79px 27px 73px;position:relative;box-shadow:inset 0 0 50px #12020729,0 12px 35px #0f02061f}.letter-content{font-size:clamp(18px,4.8vw,22px);line-height:2.05;position:relative}.letter-content p{margin:0}.letter-content .basmala{color:var(--gold-light);margin-bottom:12px;font-size:clamp(25px,6.1vw,31px);line-height:1.8}.letter-content .verse{color:#e4cda7;font-size:clamp(18px,4.7vw,22px)}.letter-divider{width:142px;margin-block:23px}.blessing p{line-height:2.05}.letter-content .love-line{margin-top:20px}.letter-content .host-line{margin:8px -6px 16px}.host-name{color:var(--gold-light);text-wrap:balance;font-size:clamp(26px,6.7vw,34px);font-weight:700;line-height:1.8;display:block}.letter-content .bride-line{margin-block:10px 20px}.bride-name{color:var(--gold-light);font-size:clamp(61px,16vw,79px);font-weight:700;line-height:1.5;display:block}.invitation-date{text-wrap:balance;max-width:345px;margin-inline:auto!important}.invitation-date time{letter-spacing:.025em;font-family:Georgia,Times New Roman,serif;font-size:.85em;display:inline-block}.welcome-line{color:#e2cbb0;text-wrap:balance}.celebration{background:radial-gradient(ellipse at 50% 45%, #3a0e19 0, transparent 80%), var(--wine-deep);border-block:1px solid #cba9752e;padding:36px 25px 25px}.countdown-block>.flourish{margin-bottom:18px}.countdown-block{padding-inline:17px}.countdown-block .section-title{font-size:clamp(27px,6.8vw,32px)}.countdown{grid-template-columns:repeat(4,1fr);margin:29px -8px 22px;display:grid}.countdown-unit{flex-direction:column;align-items:center;gap:12px;min-width:0;display:flex;position:relative}.countdown-unit+.countdown-unit:before{content:"";inset-inline-start:0;background:linear-gradient(transparent, var(--line), transparent);width:1px;height:44px;position:absolute;top:7px}.countdown-value{color:var(--gold-light);font-variant-numeric:tabular-nums;font-family:Georgia,Times New Roman,serif;font-size:clamp(36px,9.3vw,51px);font-weight:400;line-height:1.1}.countdown-label{color:var(--muted);font-size:18px;line-height:1.5}.event-date{letter-spacing:.24em;color:var(--muted);font-family:Georgia,Times New Roman,serif;font-size:13px;display:inline-block}.programme-block{margin-top:60px}.programme-block .section-title{margin-bottom:31px}.programme-list{margin:0;padding:9px 0;list-style:none;position:relative}.programme-list:before{content:"";background:linear-gradient(#0000,#8f653d 9%,#d7b580 50%,#8f653d 91%,#0000);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.programme-item{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:center;min-height:154px;display:grid;position:relative}.programme-art{aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 7px 12px #0800033b);grid-area:1/1;justify-self:center;width:min(100%,155px);height:auto}.programme-node{z-index:1;background:#8e6235;border:1px solid #ebcc98;grid-area:1/2;justify-self:center;width:9px;height:9px;position:relative;transform:rotate(45deg);box-shadow:0 0 0 5px #2e0b14,0 0 0 6px #cba97538}.programme-copy{text-align:center;grid-area:1/3;min-width:0;padding-inline:3px}.programme-item:nth-child(2n) .programme-art{grid-column:3}.programme-item:nth-child(2n) .programme-copy{grid-column:1}.programme-title{color:#f0dbc0;margin-bottom:10px;font-size:clamp(22px,5.8vw,28px);line-height:1.65;display:block}.programme-time{color:var(--gold-light);flex-direction:column;align-items:center;gap:3px;display:flex}.programme-time bdi{font-variant-numeric:tabular-nums;font-family:Georgia,Times New Roman,serif;font-size:clamp(24px,6.5vw,30px);line-height:1.25}.programme-time>span{color:var(--muted);font-size:16px;line-height:1.7}.programme-block>.flourish{margin-block:31px 8px}.venue{background:radial-gradient(ellipse at 50% 50%, #501724, transparent 75%), var(--wine);padding:59px 38px 31px}.section-icon{width:27px;height:31px;color:var(--gold);margin:0 auto 10px;display:block}.venue-name{margin:4px 0 30px;font-size:clamp(22px,5.7vw,28px);line-height:1.8}.venue-portrait{border:1px solid #cba97599;border-radius:170px 170px 3px 3px;max-width:318px;margin:0 auto 31px;padding:7px;position:relative}.venue-portrait:after{content:"";pointer-events:none;border:1px solid #cba9752e;border-radius:177px 177px 4px 4px;position:absolute;inset:-7px}.venue-portrait img{border-radius:163px 163px 1px 1px;width:100%;height:auto}.map-link{max-width:100%;min-height:53px;color:var(--gold-light);background:#1203071a;border:1px solid #cba9758c;justify-content:center;align-items:center;gap:12px;padding:10px 20px;font-size:clamp(18px,4.6vw,21px);text-decoration:none;transition:border-color .2s,background .2s;display:inline-flex}.map-link:hover{border-color:var(--gold);background:#cba9751a}.map-link .icon{width:18px;height:21px}.map-link-arrow{margin-inline-start:3px;font-family:Georgia,serif;font-size:21px}.venue>.flourish{margin-top:47px}.guest-notes{background:var(--wine);padding:15px 52px 36px}.guest-note{padding-block:30px 34px}.guest-note+.guest-note{border-top:1px solid var(--line)}.notice-art{aspect-ratio:1;object-fit:contain;pointer-events:none;width:clamp(108px,32vw,136px);height:auto;margin:0 auto 17px}.guest-note h2{color:var(--gold-light);margin:0 0 10px;font-size:clamp(27px,7vw,32px);font-weight:400;line-height:1.7}.guest-note p{color:#dbc7b2;text-wrap:balance;margin:0;font-size:20px;line-height:1.95}.closing{padding:52px 24px max(34px, env(safe-area-inset-bottom));background:linear-gradient(var(--wine), var(--wine-deep))}.closing-frame{isolation:isolate;background:radial-gradient(at 50% 35%,#6b232f33,#0000 75%);padding:70px 27px 60px;position:relative}.closing-roses{width:190px;margin:0 auto 6px;position:relative}.closing-line{text-wrap:balance;margin:0 0 13px;font-size:clamp(21px,5.5vw,26px);line-height:1.9;position:relative}.closing-name{color:var(--gold-light);text-wrap:balance;margin:0 0 17px;font-size:clamp(38px,9.7vw,49px);line-height:1.7;position:relative}.closing-name strong{font-weight:700}.closing-frame>.flourish{width:143px}[data-reveal].reveal-ready{opacity:0;transition:opacity .85s,transform .85s cubic-bezier(.2,.65,.2,1);transform:translateY(15px)}[data-reveal].reveal-ready.is-visible{opacity:1;transform:translateY(0)}@media (width>=700px){.invitation-shell{border-inline:1px solid #cba97538}.letter-frame{padding-inline:40px}.invitation-letter{padding:89px 34px 65px}.celebration{padding-inline:40px}.countdown-block{padding-inline:22px}.closing{padding-inline:34px}}@media (width<=360px){.invitation-letter,.closing{padding-inline:16px}.letter-frame{padding-inline:19px}.letter-content{font-size:18px}.host-name{font-size:25px}.celebration{padding-inline:18px}.countdown-block{padding-inline:9px}.programme-item{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);min-height:145px}.programme-title{font-size:21px}.venue{padding-inline:30px}.guest-notes{padding-inline:34px}.guest-note p{font-size:19px}.map-link{gap:8px;padding-inline:12px}}@media (prefers-reduced-motion:reduce){.hero-video{display:none}.opening,.opening-action,.scroll-cue,.map-link,.music-control{transition:none}[data-reveal].reveal-ready{opacity:1;transition:none;transform:none}}@font-face{font-family:Amiri;src:url(/fonts/amiri-regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Amiri;src:url(/fonts/amiri-bold.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}:root{color:#f1e3cd;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--wine:#360b16;--wine-light:#4a1420;--wine-deep:#260810;--gold:#cba975;--gold-light:#efd4a2;--cream:#f1e3cd;--muted:#ceb9a3;--line:#cba9754d;background:#1b070c;font-family:Amiri,Times New Roman,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:#987048 #260810}body{background:radial-gradient(at 50% 10%,#3a1520 0,#0000 65%),#1b070c;min-width:320px;min-height:100vh;margin:0}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit}a{color:inherit}img{max-width:100%;display:block}button:focus-visible,a:focus-visible{outline:2px solid var(--gold-light);outline-offset:6px}::selection{color:#260810;background:#b58c53}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
