:root{--wine:#741d33;--wine-deep:#4d1427;--wine-soft:#99394b;--gold:#b58b49;--gold-light:#dbbf82;--cream:#fffaf0;--ivory:#fffdf8;--blush:#f8eee8;--ink:#4c3a35;--muted:#846d61;--border:rgba(164,119,69,.24);--font-bn:'Noto Serif Bengali','Hind Siliguri',serif;--font-ui:'Hind Siliguri',sans-serif;--font-en:'Cormorant Garamond',Georgia,serif;--shadow:0 24px 60px rgba(93,41,38,.12)}
*{box-sizing:border-box}html{max-width:100%;overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--font-ui);overflow-x:hidden;line-height:1.65;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}img,svg{display:block;max-width:100%}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #d7985d;outline-offset:4px}::selection{background:#e0c0a3;color:var(--wine-deep)}.container{width:min(1140px,calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;left:10px;top:-80px;background:white;z-index:9999;padding:12px 16px}.skip-link:focus{top:10px}.section-pad{padding:112px 0;position:relative}.top-ribbon{height:28px;background:var(--wine);color:#f8ddae;text-align:center;display:flex;align-items:center;justify-content:center;gap:18px;font:500 10px/1 var(--font-en);letter-spacing:.35em;text-transform:uppercase}.top-ribbon span{font:12px var(--font-en);opacity:.7}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,250,241,.94);border-bottom:1px solid rgba(181,139,73,.18);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:box-shadow .3s}.site-header.is-scrolled{box-shadow:0 7px 30px rgba(73,30,40,.07)}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand__seal{width:54px;height:54px;border:1.5px solid var(--gold);outline:1px solid rgba(181,139,73,.6);outline-offset:-5px;border-radius:50%;display:grid;place-content:center;text-align:center;color:var(--wine);font:600 16px/1.2 var(--font-bn);position:relative;white-space:nowrap}.brand__seal span{font-size:10px;color:var(--gold);margin:1px auto}.brand__copy strong{display:block;font:600 17px/1.4 var(--font-bn);white-space:nowrap;color:var(--wine)}.brand__copy strong i{font:italic 23px/1 var(--font-en);color:var(--gold)}.brand__copy small{display:block;font:600 9px/1.6 var(--font-en);letter-spacing:.23em;color:var(--gold)}.nav__links{display:flex;align-items:center;gap:23px}.nav-link{font:500 14px/1.5 var(--font-ui);color:#6e4948;position:relative;padding:8px 0;white-space:nowrap;transition:color .25s}.nav-link:hover,.nav-link.is-active{color:var(--wine)}.nav-link:after{content:'';position:absolute;bottom:3px;left:50%;width:0;height:1px;background:var(--gold);transition:.2s;transform:translateX(-50%)}.nav-link:hover:after,.nav-link.is-active:after{width:80%}.nav__share{display:flex;gap:8px;align-items:center;color:#fff;border:1px solid var(--wine);background:var(--wine);padding:10px 18px;border-radius:100px;font-size:13px;transition:transform .2s,background .2s}.nav__share:hover{background:var(--wine-deep);transform:translateY(-2px)}.nav__share svg{width:16px;height:16px}.menu-toggle{display:none;border:0;background:none;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{width:23px;height:2px;background:var(--wine);border-radius:2px;transition:transform .2s}
/* Hero */
.hero{position:relative;background:radial-gradient(circle at 30% 50%,#fffefa 0,#fff8ed 48%,#f8ebe1 100%);isolation:isolate;overflow:hidden;padding:75px 0 90px;min-height:745px}.hero::before{content:'';position:absolute;inset:13px;border:1px solid rgba(168,128,65,.22);border-radius:3px;pointer-events:none}.hero::after{content:'';position:absolute;inset:22px;border:1px dashed rgba(168,128,65,.13);pointer-events:none}.hero__layout{display:grid;grid-template-columns:1.07fr .93fr;align-items:center;gap:55px;position:relative;z-index:2}.hero__flower{position:absolute;width:340px;pointer-events:none;opacity:.82;z-index:1}.hero__flower--left{left:-93px;top:-103px;transform:rotate(180deg)}.hero__flower--right{right:-130px;bottom:-90px;transform:scale(-1,-1)}.hero__glow{position:absolute;width:560px;height:560px;background:radial-gradient(circle,rgba(228,198,153,.16),transparent 72%);left:23%;top:20%;pointer-events:none}.hero__content{position:relative;padding:42px 0 44px;text-align:center}.eyebrow{display:flex;align-items:center;justify-content:center;gap:11px;color:var(--gold);font:500 13px/1.5 var(--font-bn);white-space:nowrap}.eyebrow__line{width:48px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.eyebrow__line:last-child{transform:rotate(180deg)}.hero__pretitle{margin:25px 0 7px;color:#8c6758;font:500 18px/1.7 var(--font-bn)}.hero__ornament{color:var(--gold);font-size:20px;letter-spacing:.3em;margin:4px 0 0}.hero__ornament span{font-size:11px}.hero__names{margin:10px 0 0;color:var(--wine);font:600 clamp(53px,5.3vw,83px)/1.52 var(--font-bn);letter-spacing:-.045em;text-shadow:0 2px 0 rgba(216,193,146,.22)}.hero__names span{display:block}.hero__names em{display:block;color:var(--gold);font:italic 41px/.85 var(--font-en);letter-spacing:0;transform:translateY(-2px)}.hero__english{font:500 25px/1 var(--font-en);letter-spacing:.08em;color:#956c61;margin:6px 0 25px}.hero__english span{font-size:18px;font-style:italic;color:var(--gold);margin:0 9px}.hero__description{font:400 14px/2.05 var(--font-bn);color:#7e635c;max-width:530px;margin:0 auto}.hero__date{margin:23px auto 0;display:inline-flex;gap:12px;align-items:center;border-block:1px solid rgba(181,139,73,.42);padding:8px 14px;color:var(--wine);font:600 17px/1.8 var(--font-bn)}.hero__date span{font-size:16px;color:var(--gold)}.hero__actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{appearance:none;min-height:46px;display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:11px 20px;border-radius:2px;font:600 13px/1.4 var(--font-ui);letter-spacing:.01em;transition:background .25s,box-shadow .25s,transform .25s,border .25s;border:1px solid transparent;text-align:center}.btn:hover{transform:translateY(-3px)}.btn svg{width:17px;height:17px;flex:none}.btn--primary{background:var(--wine);color:#fff;border-color:var(--wine);box-shadow:0 9px 23px rgba(116,29,51,.17)}.btn--primary:hover{background:var(--wine-deep);box-shadow:0 12px 28px rgba(116,29,51,.23)}.btn--outline{background:rgba(255,255,255,.35);color:var(--wine);border-color:var(--gold)}.btn--outline:hover{background:#fff5e7}.hero__scroll{margin-top:38px;font:600 10px var(--font-en);letter-spacing:.25em;color:#b5a28a;display:flex;gap:12px;align-items:center;justify-content:center}.hero__scroll span{width:42px;height:1px;background:#b5a28a}.hero__visual{position:relative;display:flex;justify-content:center;padding:10px 10px 20px}.hero__halo{position:absolute;inset:6% -13% 0;border:1px solid rgba(181,139,73,.35);border-radius:48% 48% 0 0 / 32% 32% 0 0;transform:rotate(1.5deg);background:radial-gradient(ellipse at 50% 38%,rgba(236,199,144,.29),transparent 68%);z-index:-1}.hero__halo:after{content:'';position:absolute;inset:15px;border:1px solid rgba(181,139,73,.13);border-radius:inherit}.hero__frame{max-width:410px;width:100%;padding:9px;background:#fffaf4;box-shadow:0 28px 75px rgba(75,33,38,.22),0 5px 20px rgba(75,33,38,.12);border:1px solid #dcc195;transform:rotate(2deg);transition:transform .5s}.hero__frame:hover{transform:rotate(0) scale(1.018)}.hero__frame img{width:100%;height:auto;display:block}.hero__mini-card{position:absolute;right:-14px;bottom:50px;display:flex;gap:10px;align-items:center;background:#fffdf9;color:var(--wine);border:1px solid #d2b27b;padding:12px 18px;box-shadow:0 8px 30px rgba(83,44,33,.12);transform:rotate(-4deg);font:600 10px/1.6 var(--font-en);letter-spacing:.12em}.hero__mini-card>span:first-child{font-size:25px;color:var(--gold)}.hero__mini-card strong{font-size:16px;letter-spacing:.06em}.hero__bottom{position:absolute;bottom:-1px;left:0;width:100%;height:80px;color:#fffdf8;pointer-events:none}.hero__bottom svg{width:100%;height:100%}.hero__petals{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.hero__petals i{position:absolute;top:-20px;width:10px;height:15px;background:#e9bcb4;border-radius:70% 0 70% 0;opacity:.6;animation:fall 17s linear infinite;left:var(--x);animation-delay:var(--d);transform:rotate(30deg)}.hero__petals i:nth-child(1){--x:8%;--d:-12s}.hero__petals i:nth-child(2){--x:19%;--d:-7s}.hero__petals i:nth-child(3){--x:32%;--d:-5s}.hero__petals i:nth-child(4){--x:45%;--d:-14s}.hero__petals i:nth-child(5){--x:57%;--d:-9s}.hero__petals i:nth-child(6){--x:68%;--d:-3s}.hero__petals i:nth-child(7){--x:79%;--d:-11s}.hero__petals i:nth-child(8){--x:90%;--d:-1s}.hero__petals i:nth-child(9){--x:96%;--d:-16s}@keyframes fall{from{transform:translate3d(-20px,-20px,0) rotate(0)}to{transform:translate3d(90px,850px,0) rotate(480deg)}}
/* Titles, ornaments */
.section-heading{text-align:center;max-width:800px;margin:0 auto 50px}.section-heading--left{text-align:left;margin:0 0 25px}.section-heading__tag{display:block;color:var(--gold);font:600 12px/1.5 var(--font-en);letter-spacing:.31em;margin-bottom:12px}.section-heading h2{color:var(--wine);font:600 clamp(31px,4vw,48px)/1.5 var(--font-bn);margin:0;letter-spacing:-.025em}.section-heading h2 em{font-style:normal;color:#a46855}.section-heading p{color:var(--muted);font:400 15px/1.9 var(--font-bn);margin:8px auto 0}.ornament-rule{display:block;color:var(--gold);font:14px var(--font-en);position:relative;width:155px;margin:14px auto 0}.ornament-rule:before,.ornament-rule:after{content:'';position:absolute;height:1px;background:linear-gradient(90deg,transparent,#ba965e);width:60px;top:50%;left:0}.ornament-rule:after{left:auto;right:0;transform:rotate(180deg)}.section-heading--left .ornament-rule{margin-left:0}.section-corner{width:270px;position:absolute;pointer-events:none;opacity:.3}.section-corner--right{right:-80px;top:0;transform:scaleX(-1) rotate(180deg)}.section-corner--left{left:-85px;bottom:0;transform:rotate(-5deg)}
/* invitation */
.invitation{background:#fffdf8}.invitation__layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.invitation__emblem{display:flex;justify-content:center;align-items:center;min-height:415px;position:relative}.invitation__emblem:before{content:'';width:440px;height:440px;background:radial-gradient(circle,rgba(239,216,185,.55),transparent 65%);position:absolute}.invitation__emblem:after{content:'';width:min(400px,100%);height:min(400px,100%);background:url('../icons/alpana.svg') center / contain no-repeat;position:absolute;opacity:.23;animation:spin 80s linear infinite}.invitation__circle{width:260px;height:260px;background:radial-gradient(circle at 40% 24%,#a65464,var(--wine) 60%,#54162a);border:8px double #e2c583;box-shadow:0 0 0 13px #fffaf3,0 0 0 14px rgba(181,139,73,.7),0 28px 55px rgba(89,33,40,.21);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;z-index:1;color:#f9e6c3;transform:rotate(-5deg)}.circle-small{font:500 22px/1.4 var(--font-bn)}.circle-big{font:700 45px/1.5 var(--font-bn)}.circle-divider{font:14px var(--font-en);color:var(--gold-light)}@keyframes spin{to{transform:rotate(360deg)}}.language-switch{display:inline-flex;gap:3px;background:#f6eee3;border:1px solid var(--border);padding:3px;margin-bottom:21px}.language-switch button{border:0;background:transparent;color:#987366;padding:5px 19px;font-size:13px;transition:.2s}.language-switch button.is-active{background:var(--wine);color:white;box-shadow:0 2px 6px rgba(0,0,0,.06)}.invite-message{font:400 16px/2.25 var(--font-bn);color:#614c44}.invite-message p{margin:0 0 13px}.invite-message strong{color:var(--wine);font-weight:600}.invite-message[lang=en]{font:400 23px/1.55 var(--font-en)}.invite-message[hidden]{display:none}.host-sign{display:flex;flex-direction:column;align-items:flex-start;border-top:1px solid var(--border);margin-top:24px;padding-top:22px}.host-sign span{color:#b19a83;font-size:12px}.host-sign strong{font:600 18px/1.7 var(--font-bn);color:var(--wine)}.host-sign small{color:var(--muted);font-size:12px}.date-banner{background:linear-gradient(100deg,#65192e,#8b3246 53%,#5d192d);color:#fff1d9;border-block:4px double #bc985a;overflow:hidden}.date-banner__inner{display:flex;align-items:center;justify-content:center;gap:25px;padding:23px 0;text-align:center}.date-banner__inner p{margin:0;font:500 17px var(--font-bn)}.date-banner__inner strong{font:600 23px var(--font-en);letter-spacing:.07em;color:#f9deb0}.date-banner__inner strong span{color:#d9b879;margin:0 4px}.date-banner__flourish{color:#e0b67b;font-size:24px}
/* Events */
.events{background:radial-gradient(circle at 10% 95%,#fbefe4,transparent 28%),var(--cream);overflow:hidden}.event-grid{display:grid;grid-template-columns:1fr 32px 1fr;align-items:stretch;gap:25px;max-width:1010px;margin:auto}.event-card{background:#fffdf8;border:1px solid #d5b789;min-height:345px;padding:34px 34px 28px;position:relative;overflow:hidden;box-shadow:0 15px 35px rgba(94,50,36,.06);transition:transform .3s,box-shadow .3s}.event-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.event-card:before{content:'';position:absolute;inset:7px;border:1px solid rgba(180,137,78,.25);pointer-events:none}.event-card--accent{background:linear-gradient(140deg,#fffdf8,#fff3ee)}.event-card__watermark{position:absolute;right:0;top:14%;font:400 144px/1 var(--font-bn);color:rgba(175,124,87,.065);pointer-events:none}.event-card__top{display:flex;align-items:center;gap:12px;position:relative}.event-card__icon{color:var(--gold);font-size:33px}.event-card__top p{font:600 12px var(--font-en);letter-spacing:.17em;color:var(--gold);margin:0}.event-card h3{font:600 32px/1.55 var(--font-bn);color:var(--wine);margin:15px 0 0;position:relative}.event-card__bn-date{font:600 27px/1.55 var(--font-bn);color:#9c554d;margin:5px 0 0;position:relative}.event-card__day{font:500 14px/1.8 var(--font-bn);color:#6d5a53;margin-top:5px;position:relative}.event-card__day span{color:var(--gold);margin:0 3px}.event-card__bottom{border-top:1px solid var(--border);margin-top:30px;padding-top:17px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;position:relative}.event-card__bottom>span{font:400 13px/1.8 var(--font-bn);color:#8a6e62}.text-link{padding:0;border:0;background:none;color:var(--wine);font:600 13px var(--font-ui);display:flex;align-items:center;gap:8px}.text-link:hover{text-decoration:underline}.text-link span{font-size:17px}.event-centerline{position:relative;display:grid;place-items:center;color:var(--wine)}.event-centerline:before{content:'';height:85%;border-left:1px solid var(--gold-light);position:absolute;top:7.5%}.event-centerline span{background:var(--cream);position:relative;padding:14px 0;font-size:24px}.events__note{text-align:center;font-size:12px;color:#99877c;margin:25px auto 0;max-width:720px}
/* Gallery */
.gallery{background:linear-gradient(180deg,#fffdf9,#f9f0e8);border-top:1px solid rgba(178,137,71,.12)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}.gallery-card{background:#fffdfa;border:1px solid #e2ceae;padding:10px 10px 0;box-shadow:0 15px 45px rgba(85,43,42,.08);transition:transform .3s,box-shadow .3s}.gallery-card:hover{transform:translateY(-8px);box-shadow:0 25px 60px rgba(85,43,42,.15)}.gallery-card__image{position:relative;aspect-ratio:1055/1491;overflow:hidden;background:#fff5e9;border:1px solid rgba(181,139,73,.25)}.gallery-card__image img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.gallery-card:hover .gallery-card__image img{transform:scale(1.03)}.gallery-card__number{position:absolute;top:15px;left:15px;z-index:2;background:rgba(93,25,45,.88);color:white;padding:5px 10px;font:600 12px var(--font-en);letter-spacing:.12em}.gallery-card__zoom{position:absolute;inset:0;border:0;background:linear-gradient(0deg,rgba(58,15,31,.76),transparent 48%);color:#fff;display:flex;align-items:flex-end;justify-content:center;gap:8px;padding:24px 8px;font:600 14px var(--font-ui);opacity:0;transition:opacity .25s}.gallery-card__zoom svg{width:20px;height:20px}.gallery-card__zoom:focus-visible,.gallery-card:hover .gallery-card__zoom{opacity:1}.gallery-card__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 13px 20px}.gallery-card__footer span{font:600 11px var(--font-en);color:var(--gold);letter-spacing:.22em}.gallery-card__footer h3{font:600 18px/1.7 var(--font-bn);color:var(--wine);margin:4px 0 0}.gallery-card__footer a{width:38px;height:38px;border:1px solid #d9bf98;border-radius:50%;display:grid;place-items:center;color:var(--wine);flex:none;transition:.2s}.gallery-card__footer a:hover{background:var(--wine);color:#fff;border-color:var(--wine)}.gallery-card__footer svg{width:18px;height:18px}.gallery__hint{font:400 13px/1.8 var(--font-bn);margin-top:34px;text-align:center;color:#9c806d}
/* Quote */
.quote-band{padding:71px 0 76px;background:#6b1b31;color:#f6e0b4;text-align:center;position:relative;overflow:hidden}.quote-band:before,.quote-band:after{content:'';position:absolute;width:380px;height:380px;top:-140px;border:1px solid rgba(238,203,143,.18);border-radius:50%}.quote-band:before{left:-130px}.quote-band:after{right:-130px}.quote-band__flourish{font:55px/1 var(--font-en);color:#d2a76a}.quote-band p{font:500 clamp(18px,2.5vw,25px)/2.1 var(--font-bn);margin:8px auto 18px}.quote-band span{font:600 12px var(--font-en);letter-spacing:.25em;color:#dfb67d}
/* Venue */
.venue{background:#fffdf9;overflow:hidden}.venue__details{text-align:center;margin:-8px auto 32px;display:flex;align-items:center;justify-content:center;gap:15px}.venue__icon{height:58px;width:58px;display:grid;place-items:center;border:1px solid #d6b985;border-radius:50%;color:var(--wine)}.venue__icon svg{width:27px;height:27px}.venue__details>div{ text-align:left}.venue__details span:not(.venue__icon){font:600 11px var(--font-en);color:var(--gold);letter-spacing:.18em}.venue__details h3{font:600 26px/1.6 var(--font-bn);color:var(--wine);margin:0}.venue__details p{font:500 19px/1 var(--font-en);margin:0;color:#a17458}.venue__details address{font:400 13px/1.8 var(--font-bn);color:#7e6b61;font-style:normal;margin-top:8px}.venue__grid{display:grid;grid-template-columns:1.42fr .88fr;gap:30px;align-items:stretch}.venue__map{background:white;border:1px solid #d7bf9b;box-shadow:0 15px 40px rgba(86,39,31,.06);padding:9px;display:flex;flex-direction:column;min-height:480px}.venue__map iframe{width:100%;height:100%;min-height:365px;flex:1;border:0;filter:saturate(.8) contrast(.98)}.venue__map-actions{display:flex;gap:12px;padding:15px 7px 7px;flex-wrap:wrap}.venue__map-actions .btn{min-height:44px}.venue__qr{background:linear-gradient(155deg,#fff6eb,#fffdf9);border:1px solid #d7bf9b;padding:23px 22px 25px;box-shadow:0 15px 40px rgba(86,39,31,.06);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.qr-frame{width:min(100%,265px);border:4px double #cbab75;padding:7px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.07)}.qr-frame img{width:100%;height:auto;display:block}.venue__qr>strong{font:600 15px/1.5 var(--font-en);letter-spacing:.18em;color:var(--wine);margin-top:18px}.venue__qr p{font:400 13px/1.9 var(--font-bn);color:#82695c;margin:12px 0}.qr-link{font:600 14px var(--font-ui);color:var(--wine);border-bottom:1px solid var(--gold);padding-bottom:2px}.qr-link:hover{color:#bd754d}
/* Closing */
.closing{background:radial-gradient(ellipse at 50% 15%,#8c3650,#53152a 75%);padding:90px 20px 100px;position:relative;color:#fff3d7;text-align:center;overflow:hidden}.closing:before{content:'';position:absolute;inset:18px;border:1px solid rgba(233,195,118,.3);pointer-events:none}.closing:after{content:'';position:absolute;inset:28px;border:1px solid rgba(233,195,118,.12);pointer-events:none}.closing__inner{position:relative;z-index:2}.closing__flower{position:absolute;width:290px;opacity:.44;pointer-events:none}.closing__flower--left{bottom:-50px;left:-55px;transform:rotate(3deg)}.closing__flower--right{right:-65px;top:-55px;transform:rotate(180deg)}.closing__ornament{font:30px var(--font-en);color:#e0bc7b}.closing__inner>span{font:600 13px var(--font-en);letter-spacing:.3em;color:#dfb985}.closing h2{font:500 clamp(26px,3.4vw,41px)/1.9 var(--font-bn);margin:13px 0}.closing p{font:500 29px var(--font-bn);margin:0 0 23px}.closing p i{font:italic 20px var(--font-en);color:#d6ae6e;padding:0 7px}.btn--gold{background:linear-gradient(110deg,#f1dcaa,#d3ab69);color:#5a2430;border:1px solid #f1d89b}.btn--gold:hover{background:#f2dfb7}.footer{background:#371321;color:#e7cfa7;text-align:center;padding:40px 0 34px}.footer__name{font:600 20px var(--font-bn)}.footer__name span{font:18px var(--font-en);color:#bd8c6b}.footer__name small{font:400 11px var(--font-bn);display:block;color:#c09b89;margin-top:5px}.footer__inner>p{margin:22px auto 0;font:400 13px var(--font-bn);color:#c5a39c}.footer__credit{padding-top:18px;margin-top:20px;border-top:1px solid rgba(213,174,140,.16);font:500 14px var(--font-en);letter-spacing:.02em;color:#c7a7a0}.footer__credit a{font-weight:700;color:#f0ca83;white-space:nowrap}.footer__credit a:hover{text-decoration:underline}.back-to-top{position:fixed;bottom:24px;right:24px;z-index:50;width:42px;height:42px;border:1px solid #d6bb83;background:var(--wine);color:white;border-radius:50%;box-shadow:0 10px 22px #611f3760;font-size:23px;opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.toast{position:fixed;z-index:1000;bottom:24px;left:50%;transform:translate(-50%,30px);background:#4d1427;color:white;box-shadow:0 9px 28px rgba(0,0,0,.23);padding:12px 19px;border:1px solid #bb925b;border-radius:6px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;max-width:90vw;text-align:center}.toast.is-visible{opacity:1;transform:translate(-50%,0)}
/* Modal */
.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:18px}.lightbox__backdrop{position:absolute;inset:0;background:rgba(22,10,16,.91);backdrop-filter:blur(10px)}.lightbox__body{position:relative;z-index:1;max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);width:min(740px,100%);display:flex;flex-direction:column;background:#fffaf1;padding:13px;border:1px solid var(--gold)}.lightbox__header{display:flex;justify-content:space-between;align-items:center;padding:5px 9px 12px;gap:10px}.lightbox__header span{font:600 10px var(--font-en);letter-spacing:.25em;color:var(--gold)}.lightbox__header h2{margin:0;color:var(--wine);font:600 17px var(--font-bn)}.lightbox__close{border:1px solid #ddc49e;background:transparent;color:var(--wine);font:31px/1 Arial,sans-serif;width:38px;height:38px}.lightbox__stage{min-height:0;display:flex;align-items:center;gap:8px;justify-content:center;flex:1}.lightbox__stage img{object-fit:contain;max-width:calc(100% - 92px);max-height:calc(100vh - 180px);max-height:calc(100dvh - 180px);width:auto;height:auto;box-shadow:0 5px 20px #5e323022}.lightbox__arrow{width:38px;height:44px;flex:none;background:var(--wine);color:white;border:1px solid var(--wine);font:32px/1 var(--font-en)}.lightbox__arrow:hover{background:var(--wine-deep)}.lightbox__footer{display:flex;align-items:center;justify-content:space-between;padding:13px 9px 1px;gap:10px;color:var(--wine)}.lightbox__footer>span{font:600 13px var(--font-en);letter-spacing:.15em}.lightbox__download{font:600 12px var(--font-ui);border-bottom:1px solid var(--gold);padding-bottom:2px}
.reveal{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}.reveal-ready .reveal{opacity:0;transform:translateY(27px)}.reveal-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
@media (max-width:1100px){.nav__links{gap:15px}.nav-link{font-size:13px}.brand__copy strong{font-size:15px}.hero__layout{gap:25px}.hero__frame{max-width:350px}.hero__names{font-size:65px}.gallery-card__footer h3{font-size:16px}.date-banner__inner{gap:15px}}
@media (max-width:850px){html{scroll-padding-top:75px}.container{width:min(680px,calc(100% - 32px))}.top-ribbon{height:24px;font-size:9px}.nav{height:69px}.brand__seal{height:45px;width:45px;font-size:13px}.brand__copy strong{font-size:15px}.brand__copy small{font-size:8px}.menu-toggle{display:flex;z-index:11}.nav__links{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:8px 25px 20px;background:#fffaf1;box-shadow:0 20px 40px rgba(80,30,40,.14);border-bottom:1px solid #d6ba81;visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .2s,transform .2s,visibility .2s}.nav__links.is-open{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.nav-link{padding:10px 8px;border-bottom:1px solid rgba(181,139,73,.12)}.nav-link:after{display:none}.nav__share{align-self:flex-start;margin-top:12px}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{padding:45px 0 90px;min-height:unset}.hero__layout{grid-template-columns:1fr;gap:22px}.hero__content{padding:15px 0 0}.hero__names{font-size:clamp(52px,10vw,72px);line-height:1.48}.hero__pretitle{margin-top:15px}.hero__visual{width:min(450px,90%);margin:0 auto}.hero__frame{max-width:325px}.hero__mini-card{right:0;bottom:18px}.hero__scroll{display:none}.hero__flower{width:260px;opacity:.58}.hero__flower--left{left:-120px;top:-108px}.hero__flower--right{right:-135px;bottom:-100px}.section-pad{padding:75px 0}.invitation__layout{grid-template-columns:1fr;gap:8px}.invitation__emblem{min-height:315px}.invitation__circle{width:210px;height:210px}.circle-big{font-size:35px}.invitation__emblem:after{width:280px;height:280px}.invitation__text{text-align:center}.section-heading--left{text-align:center}.section-heading--left .ornament-rule{margin-left:auto}.host-sign{align-items:center}.date-banner__inner{flex-wrap:wrap;row-gap:4px}.date-banner__inner p{width:100%;order:-1}.date-banner__flourish{font-size:16px}.event-grid{gap:10px;grid-template-columns:1fr 25px 1fr}.event-card{padding:28px 22px 22px;min-height:360px}.event-card h3{font-size:27px}.event-card__bn-date{font-size:22px}.gallery-grid{gap:15px}.gallery-card{padding:6px 6px 0}.gallery-card__footer{padding:12px 6px}.gallery-card__footer h3{font-size:14px}.gallery-card__footer a{width:31px;height:31px}.venue__grid{grid-template-columns:1fr}.venue__map{min-height:420px}.venue__qr{padding:28px}.qr-frame{max-width:230px}.closing{padding:65px 16px 75px}}
@media (max-width:600px){.top-ribbon{letter-spacing:.19em;gap:10px}.container{width:calc(100% - 34px)}.hero:before{inset:7px}.hero:after{inset:13px}.hero__pretitle{font-size:14px}.hero__description{font-size:12px;line-height:2.05}.eyebrow{font-size:10px;gap:8px}.eyebrow__line{width:24px}.hero__english{font-size:20px;margin-bottom:17px}.hero__date{font-size:13px;gap:6px}.hero__actions{gap:9px;margin-top:24px}.btn{min-height:43px;padding:11px 13px;font-size:12px;gap:7px}.hero__frame{max-width:292px}.hero__mini-card{right:-10px;bottom:22px;transform:rotate(-4deg) scale(.82);transform-origin:right bottom}.hero__flower{width:220px}.hero__visual{width:100%;margin-top:10px}.section-heading{margin-bottom:33px}.section-heading h2{font-size:31px}.section-heading__tag{font-size:10px}.section-heading p{font-size:13px}.section-pad{padding:60px 0}.invitation__emblem{min-height:260px}.invitation__circle{width:185px;height:185px;border-width:6px}.circle-big{font-size:32px}.circle-small{font-size:18px}.invitation__emblem:after{width:245px;height:245px}.invite-message{font-size:13px;line-height:2.1}.invite-message[lang=en]{font-size:21px}.host-sign{margin-top:18px}.date-banner__inner{gap:4px;padding:17px 0}.date-banner__inner p{font-size:13px}.date-banner__inner strong{font-size:20px}.date-banner__flourish{display:none}.event-grid{display:flex;flex-direction:column;gap:0;max-width:440px}.event-card{min-height:unset;padding:28px 26px}.event-card h3{font-size:27px}.event-card__bn-date{font-size:25px}.event-centerline{height:41px}.event-centerline:before{height:100%;top:0}.event-centerline span{background:var(--cream);font-size:18px;padding:0 12px}.events__note{font-size:11px}.gallery-grid{grid-template-columns:1fr;max-width:360px;margin:auto;gap:27px}.gallery-card{padding:10px 10px 0}.gallery-card__footer{padding:12px 13px 16px}.gallery-card__footer h3{font-size:17px}.gallery-card__footer a{width:38px;height:38px}.gallery-card__zoom{opacity:1;background:linear-gradient(0deg,rgba(58,15,31,.57),transparent 35%);padding:19px 10px}.gallery__hint{font-size:11px}.quote-band{padding:51px 10px}.quote-band p{font-size:16px}.quote-band span{font-size:10px}.venue__details{gap:10px}.venue__icon{width:44px;height:44px;flex:none}.venue__details h3{font-size:20px}.venue__details p{font-size:17px}.venue__details address{font-size:11px}.venue__map{min-height:365px}.venue__map iframe{min-height:285px}.venue__map-actions{gap:8px;justify-content:center}.venue__map-actions .btn{flex:1;min-width:145px}.venue__qr{padding:22px}.closing h2{font-size:22px}.closing p{font-size:24px}.closing__flower{width:190px}.closing__flower--left{left:-90px}.closing__flower--right{right:-95px}.footer__credit{font-size:13px}.lightbox{padding:7px}.lightbox__body{max-height:calc(100dvh - 14px);padding:8px}.lightbox__stage{gap:4px}.lightbox__stage img{max-width:calc(100% - 64px);max-height:calc(100dvh - 150px)}.lightbox__arrow{width:28px;height:43px;font-size:25px}.lightbox__footer{padding:10px 5px 1px}.lightbox__download{font-size:11px}}
@media (hover:none){.gallery-card__zoom{opacity:1;background:linear-gradient(0deg,rgba(58,15,31,.6),transparent 35%)}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.reveal-ready .reveal{opacity:1;transform:none}}
