*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:#20170e;color:#f5e8cb;font-family:Jost,sans-serif;font-weight:300}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #e8c37a;outline-offset:7px}header{position:absolute;top:0;left:0;z-index:5;width:100%;display:flex;align-items:center;justify-content:space-between;padding:27px 5%;border-bottom:1px solid #e7c78730}.brand{font:28px 'Cormorant Garamond',serif;letter-spacing:4px}.brand i{font-size:20px;color:#d3aa63}nav{display:flex;gap:34px;font-size:11px;text-transform:uppercase;letter-spacing:2px}.share{background:none;color:#e8d1a4;border:1px solid #c5a06470;border-radius:30px;font-size:11px;padding:10px 18px;letter-spacing:1px}.hero{position:relative;height:1050px;min-height:100svh;text-align:center;background:url('assets/hall.png') center bottom /cover no-repeat;isolation:isolate}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(#130e0780,#160e0430 50%,transparent 75%,#20170e)}.hero-content{padding:135px 20px 0}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:400;color:#d7b67a}.ornament{color:#f3d49a;font-size:35px;margin-bottom:14px}.shubh{font:italic 27px 'Cormorant Garamond',serif;color:#efd9ae;margin:19px 0 12px}h1{font:500 clamp(64px,7.2vw,104px)/.95 'Cormorant Garamond',serif;color:#f8e4b6;margin:0;text-shadow:0 3px 25px #271607}.weds{display:block;font:italic 23px 'Cormorant Garamond',serif;margin:11px 0;color:#e3c386}.hero-line{font:italic 22px 'Cormorant Garamond',serif;margin:25px 0}.date-line{display:flex;align-items:center;justify-content:center;gap:17px;font-size:9px;letter-spacing:3px;color:#f2d6a0;margin:24px 0}.date-line span{width:44px;height:1px;background:#d8b779}.inviting{font:19px/1.6 'Cormorant Garamond',serif}.scroll{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:2.5px;white-space:nowrap}.scroll span{display:block;font-size:23px;margin-top:9px}.section{padding:95px 6%;text-align:center}h2{font:400 clamp(38px,4.4vw,59px)/1.12 'Cormorant Garamond',serif;margin:23px 0}h2 em{font-weight:400;color:#d6b77e}p{font-size:14px;line-height:1.9}.welcome{background:radial-gradient(ellipse at 50% 0,#48321b45,transparent 70%)}.welcome p{max-width:510px;margin:20px auto;color:#d6c8b3}.welcome p:first-of-type{font:italic 24px/1.5 'Cormorant Garamond',serif}.flourish{color:#bd9559;font-size:17px;margin:28px}.signature{display:block;font:italic 28px 'Cormorant Garamond',serif;color:#d9b675;margin-top:29px}.muted{color:#b5a58e}.celebration{background:#281d12}.chapters{display:flex;justify-content:center;border-bottom:1px solid #bb935838;max-width:1000px;margin:44px auto 0}.chapters button{flex:1;background:none;color:#a28a66;border:0;border-bottom:2px solid transparent;padding:20px 9px;font-size:10px;letter-spacing:2px}.chapters button span{display:block;font:24px 'Cormorant Garamond',serif;letter-spacing:0;margin-top:8px}.chapters button[aria-selected=true]{color:#f1d5a1;border-color:#d8af6c}.event{max-width:1000px;margin:auto;display:grid;grid-template-columns:1fr 1fr;text-align:left;border:1px solid #bb935838;border-top:0}.event-art{min-height:390px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(ellipse,#85632755,transparent 65%),repeating-linear-gradient(90deg,transparent 0 32px,#d7b46b08 33px 34px);color:#d3ad5f;overflow:hidden}.sun{font-size:155px;line-height:1.1;filter:drop-shadow(0 0 22px #c2913144)}.event-art>span{font-size:9px;letter-spacing:4px;margin-top:25px}.event-info{padding:45px 40px}.event h3{font:46px 'Cormorant Garamond',serif;margin:15px 0}.event-info>p{color:#c9b89f;margin:0 0 22px}.event-detail{border-top:1px solid #cbaa6530;padding-top:14px;margin-top:14px}.event-detail>span{font-size:8px;letter-spacing:2px;color:#bb975d}.event-detail p{font-size:12px;margin:5px 0}.venue{padding:85px 10%;background:radial-gradient(ellipse,#6c492326,transparent 65%)}.venue-frame{max-width:1000px;margin:auto;border:1px solid #b68c4e60;outline:1px solid #b68c4e25;outline-offset:9px;padding:50px 20px}.venue-icon{font-size:43px;color:#d6b176;margin:20px 0 -10px}.venue h2{font-size:44px}.pill{display:inline-block;border:1px solid #bb935855;padding:13px 21px;font-size:9px;letter-spacing:2px;margin-top:15px}footer{padding-bottom:25px!important;background:#19120b}footer p{color:#c5b59b}.footer-names{font:43px 'Cormorant Garamond',serif;margin:37px 0 13px;color:#eed3a0}.footer-names i{font-size:30px}.footer-bottom{border-top:1px solid #bb93582c;margin-top:70px;padding-top:25px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:2px;color:#89785d}.invitation{position:fixed;inset:0;z-index:50;background:radial-gradient(ellipse at 50% 30%,#654720,#21170c 75%);display:grid;place-items:center;transition:opacity .9s,visibility .9s;overflow:auto}.invitation.closed{opacity:0;visibility:hidden;pointer-events:none}.cover-frame{width:min(470px,88vw);text-align:center;border:1px solid #b9915180;outline:1px solid #b9915130;outline-offset:10px;margin:36px 0;padding:45px 24px;position:relative}.cover-frame:before,.cover-frame:after{content:'✧';position:absolute;top:-15px;left:calc(50% - 15px);width:30px;background:#493218;color:#dfbb78;font-size:23px}.cover-frame:after{top:auto;bottom:-15px}.monogram{font:100px 'Cormorant Garamond',serif;color:#ebce91;margin:28px 0 4px}.monogram span{font-style:italic;font-size:45px}.small-rule{height:1px;width:80px;background:#b78a47;margin:20px auto}.cover-names{font:31px 'Cormorant Garamond',serif}.cover-note{font:italic 22px/1.5 'Cormorant Garamond',serif;color:#ceb78e}.seal{display:block;width:80px;height:80px;border-radius:50%;margin:28px auto 21px;background:radial-gradient(circle at 30% 20%,#d3ac66,#8d632b);box-shadow:0 0 0 4px #af874935,0 4px 18px #0006,inset 0 0 0 5px #b89150;color:#402a13;border:1px solid #e7c789;font:26px 'Cormorant Garamond',serif;transition:transform .3s}.seal:hover{transform:scale(1.08)}.tap{font-size:8px;letter-spacing:2px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#f0dbb6;color:#332212;padding:14px 22px;border-radius:4px;font-size:13px;z-index:60;opacity:0;pointer-events:none;transition:opacity .3s}#toast.show{opacity:1}@media(min-width:1100px){.hero{background-size:100% auto;background-position:center 70%;height:1100px}.hero-content{padding-top:135px}}@media(max-width:650px){header{padding:20px 6%}nav{display:none}.share{font-size:9px;padding:8px 12px}.hero{height:950px;background-size:auto 100%;background-position:center bottom}.hero-content{padding-top:125px}h1{font-size:73px}.hero-line{font-size:20px}.section{padding:70px 7%}.eyebrow{font-size:8px;letter-spacing:2.3px}.event{grid-template-columns:1fr}.event-art{min-height:235px}.sun{font-size:105px}.event-info{padding:30px}.chapters button{padding:16px 3px}.chapters button span{font-size:17px}.venue{padding:70px 9%}.venue h2{font-size:37px}.footer-names{font-size:36px}.footer-bottom{font-size:6px;letter-spacing:1px;gap:12px}.cover-frame{padding:30px 20px}.monogram{font-size:82px;margin-top:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* A curtain-like opening, with falling gold light and a gentle reveal. */
.invitation{isolation:isolate;transition:opacity 1s,visibility 1s;background:#21170c}.invitation:before,.invitation:after{content:'';position:absolute;inset:0 50% 0 0;z-index:-1;background:repeating-linear-gradient(90deg,#1d140b 0%,#664923 9%,#30200e 18%,#4a3218 25%);box-shadow:inset -20px 0 60px #110b07;transition:transform 1.9s cubic-bezier(.65,0,.25,1)}.invitation:after{inset:0 0 0 50%;background:repeating-linear-gradient(90deg,#4a3218 0%,#30200e 9%,#664923 18%,#1d140b 25%);box-shadow:inset 20px 0 60px #110b07}.cover-frame{background:radial-gradient(ellipse at top,#5f4324bd,#21170ce6);box-shadow:0 20px 100px #0005;animation:card-arrive 1.5s ease both;transition:transform 1.3s ease,opacity .9s ease,filter 1s}.seal{animation:seal-glow 3s ease-in-out infinite}.gold-sparks{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1}.gold-sparks span{position:absolute;left:var(--x);top:-10%;width:var(--size);height:var(--size);background:#ffe2a0;border-radius:50%;box-shadow:0 0 12px #edbc60;animation:gold-fall var(--duration) var(--delay) linear infinite}.opening:before{transform:translateX(-105%)}.opening:after{transform:translateX(105%)}.opening .cover-frame{transform:scale(1.14);opacity:0;filter:blur(7px)}.opening .gold-sparks{opacity:0;transition:opacity 1s}.invite-open .hero-content{animation:hero-reveal 2.7s ease both}.sound-control{position:fixed;bottom:22px;right:22px;z-index:20;background:#291e12e8;color:#ebd0a0;border:1px solid #bd945c88;border-radius:30px;padding:12px 17px;font-size:11px;letter-spacing:1px;box-shadow:0 4px 20px #0003}.sound-control[hidden]{display:none}@keyframes gold-fall{0%{transform:translate3d(0,-20px,0);opacity:0}15%{opacity:.75}85%{opacity:.5}100%{transform:translate3d(35px,110vh,0);opacity:0}}@keyframes seal-glow{0%,100%{box-shadow:0 0 0 4px #af874935,0 0 20px #d0a14d20,inset 0 0 0 5px #b89150}50%{box-shadow:0 0 0 8px #af874915,0 0 40px #d0a14d60,inset 0 0 0 5px #b89150}}@keyframes card-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-reveal{0%,35%{opacity:0;transform:translateY(25px)}100%{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.cover-frame,.seal,.gold-sparks span,.invite-open .hero-content{animation:none}.gold-sparks{display:none}}
/* Keep the wedding scene visible between the opening curtains. */
.invitation.opening{background:transparent}.invitation:before,.invitation:after{transition:transform 2.4s cubic-bezier(.55,.02,.18,1) .35s}.opening:before{transform:translateX(-102%)}.opening:after{transform:translateX(102%)}.opening .cover-frame{filter:none;animation:invitation-unfold 1.25s cubic-bezier(.4,0,.2,1) forwards;transform-origin:center center;transition:none}.opening .seal{animation:seal-release .65s ease forwards}.opening .gold-sparks{opacity:1;transition:none}.invite-open .hero-content{animation:scene-emerge 2.8s ease both}.seal-burst{position:fixed;width:1px;height:1px;z-index:4;pointer-events:none}.seal-burst:before,.seal-burst:after{content:'';position:absolute;width:90px;height:90px;left:-45px;top:-45px;border:2px solid #ffe3a1;border-radius:50%;box-shadow:0 0 35px #ffd77a,inset 0 0 25px #ffd77a66;animation:seal-ripple 1.3s ease-out both}.seal-burst:after{animation-delay:.16s;border-width:1px}.seal-burst i{position:absolute;width:5px;height:10px;background:linear-gradient(#fff4cd,#d8a74c);box-shadow:0 0 12px #ffcf68;border-radius:50%;animation:seal-confetti 1.6s cubic-bezier(.1,.4,.25,1) both}.hero-shade{transition:background 2s}@keyframes invitation-unfold{0%{opacity:1;transform:scale(1)}25%{opacity:1;transform:scale(1.035);box-shadow:0 0 90px #f4cc7066}100%{opacity:0;transform:perspective(900px) rotateX(12deg) scale(1.32) translateY(-35px)}}@keyframes seal-release{0%{transform:scale(1)}35%{transform:scale(.86);filter:brightness(1.7)}100%{transform:scale(1.65);opacity:0;filter:brightness(2)}}@keyframes seal-ripple{0%{opacity:0;transform:scale(.5)}15%{opacity:1}100%{opacity:0;transform:scale(6)}}@keyframes seal-confetti{0%{opacity:0;transform:translate(0,0) scale(0)}12%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--spin)) scale(.3)}}@keyframes scene-emerge{0%{opacity:.65;transform:scale(1.045) translateY(12px);filter:brightness(1.5)}100%{opacity:1;transform:scale(1) translateY(0);filter:brightness(1)}}@media(prefers-reduced-motion:reduce){.opening .cover-frame,.opening .seal,.seal-burst:before,.seal-burst:after,.seal-burst i,.invite-open .hero-content{animation:none}.seal-burst{display:none}}

.video-intro{position:fixed;inset:0;z-index:45;background:#100c08;display:grid;place-items:center;opacity:1;transition:opacity .7s}.video-intro[hidden]{display:none}.video-intro video{display:block;width:100%;height:100%;max-height:100svh;object-fit:contain}.skip-video{position:absolute;top:24px;right:24px;z-index:2;border:1px solid #e3bf7880;background:#21170cdd;color:#f3ddb2;border-radius:30px;padding:12px 20px;font-size:12px;letter-spacing:1px}.play-video{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#e8c68e;color:#2a1b0b;border:0;border-radius:30px;padding:17px 25px;box-shadow:0 8px 40px #0009}.play-video[hidden]{display:none}.video-done{opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.video-intro{transition:none}}

.event-art{position:relative;min-height:440px;isolation:isolate;background:#352713}.event-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:-2}.event-art:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,#20170ecc 100%);z-index:-1}.event-art>span{position:absolute;bottom:26px;left:15px;right:15px;text-align:center;color:#f7dfaa;text-shadow:0 2px 8px #000;margin:0;line-height:1.6}@media(max-width:650px){.event-art{min-height:0;aspect-ratio:1/1;width:100%}}
