﻿*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5efe3;color:#583d35;font-family:'Noto Serif Bengali',Georgia,serif;line-height:1.8}body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.17;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='%238a7055' filter='url(%23n)' opacity='.25' d='M0 0h180v180H0z'/%3E%3C/svg%3E");z-index:5}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}small{display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500;color:#782f3c}h1{font-size:clamp(42px,5.8vw,80px);line-height:1.5}h1 em{font:italic 46px 'Cormorant Garamond',Georgia,serif;display:inline-block;margin:0 20px;color:#aa864d}h2{font-size:clamp(27px,3vw,42px);line-height:1.6;margin-bottom:24px}h2 small,h3 small{font-family:'Cormorant Garamond',Georgia,serif;font-size:.72em;color:#8a6b4c}h3{font-size:32px}p{margin-bottom:15px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b38943;outline-offset:5px}[hidden]{display:none!important}.topbar{max-width:1220px;margin:auto;padding:25px 35px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d8c7a9}.topbar>span{font-size:13px;text-align:right}.topbar small{font:10px Arial,sans-serif;letter-spacing:2px}.brand{text-decoration:none;font-size:25px;color:#782f3c}.paper{background-color:#fbf6eb;border:1px solid #cdb68c;box-shadow:0 12px 45px #70502c09}.opening{max-width:1160px;margin:32px auto 65px;padding:36px 65px 20px;position:relative;outline:1px solid #d7c4a1;outline-offset:-10px}.eyebrow{font:11px Arial,sans-serif;letter-spacing:2.5px;color:#8f6938;text-align:center}.eyebrow span{display:block;margin-top:10px;font-size:9px;letter-spacing:4px}.opening-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center;padding:35px 0}.opening-copy{text-align:center}.kicker{font-size:10px;letter-spacing:1.4px}.english-names{font:36px 'Cormorant Garamond',Georgia,serif;color:#8c633f}.english-names i{color:#af8b51}.rule{display:flex;align-items:center;gap:20px;justify-content:center;font-size:28px;color:#b08a4e;margin:20px 0}.rule:before,.rule:after{content:'';width:65px;border-top:1px solid #cdb68c}.greeting{font-size:17px}.muted{font:14px/1.8 Arial,sans-serif;color:#8d7d6e}.button{display:inline-flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;background:#792f3b;color:#fff5e4;border:1px solid #792f3b;padding:14px 26px;margin:18px 0;text-decoration:none;font-size:14px;box-shadow:0 5px 0 #792f3b12}.button span{font:12px Arial,sans-serif}.button:hover{background:#922f3b}.button:disabled{opacity:.6;cursor:wait}.personal{font-size:13px;margin-top:17px;color:#8e7558}.personal small{font:12px Arial,sans-serif}.couple-frame{position:relative;border:1px solid #b89960;padding:12px;border-radius:180px 180px 4px 4px;animation:flower-reveal 1.8s both}.couple-frame:after{content:'❦';position:absolute;bottom:40px;right:-18px;font-size:80px;color:#9e7845;transform:rotate(-30deg)}.couple-frame img{width:100%;height:420px;object-fit:cover;border-radius:170px 170px 0 0;display:block}.couple-frame figcaption{text-align:center;background:#eee3cd;padding:15px;font-size:16px;color:#783743}.couple-frame figcaption span{display:block;font:9px Arial;letter-spacing:3px}.opening-bottom{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #d9c9ad;padding-top:17px;font-size:10px;letter-spacing:1px;color:#927749}.corner{position:absolute;font-size:55px;color:#ad8a52;top:10px;line-height:1}.tl{left:15px;transform:rotate(-45deg)}.tr{right:15px;transform:rotate(45deg)}.section{max-width:1000px;margin:0 auto 70px;padding:45px 36px;text-align:center}.section>.eyebrow{margin-bottom:22px}.family-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:40px}.family-card{padding:30px;border-top:1px solid #c4a97a;animation:slide-in 1s both}.family-card.bride{animation-name:slide-right}.portrait{width:220px;height:280px;object-fit:cover;border:1px solid #b49760;padding:7px;border-radius:120px 120px 3px 3px}.family-card h3{margin:18px 0}.family-card p{font-size:15px}.family-card small{font:13px/1.8 Arial,sans-serif;color:#8e7c6a}.field-label{display:block;font:11px/1.6 Arial,sans-serif;color:#947b59;margin-bottom:8px}.event{position:relative;border-top:4px solid #8b3741;animation:flower-reveal 1.1s both}.event>p{max-width:640px;margin-left:auto;margin-right:auto}.lotus{font-size:55px;color:#a5834b;line-height:1.3;margin-bottom:20px}.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:36px 0;padding:25px 0;border-top:1px solid #e1d1b5;border-bottom:1px solid #e1d1b5}.event-grid strong{font-weight:500}.event-grid small{font:13px/1.8 Arial,sans-serif}.text-button{border:0;background:transparent;color:#793a42;text-decoration:underline;text-underline-offset:6px;font-size:13px;padding:12px}.envelope{background:linear-gradient(155deg,#efe1c7 50%,#e3cfaa 50%);padding:50px 30px 35px;width:min(100%,620px);border:1px solid #b69762;box-shadow:0 18px 40px #6a432c19;color:#78343c;transition:transform .5s}.envelope:hover{transform:translateY(-5px)}.envelope strong{display:block;font-size:25px;font-weight:500;margin:15px 0}.envelope>span:not(.seal){display:block;font:10px Arial;letter-spacing:3px}.envelope small{margin-top:25px;font-size:12px}.seal{display:inline-grid;place-items:center;width:65px;height:65px;border-radius:50%;background:#82323e;color:#f6dfb0;border:4px double #c79a64;font-size:25px}#reception-card{margin-top:35px;animation:flower-reveal .8s both}#reception-card .event{margin-bottom:30px}.countdown{display:flex;justify-content:center;gap:14px;margin:30px 0}.countdown div{background:#eee1cc;padding:15px;min-width:90px}.countdown b{font:32px Georgia;color:#79333e}.countdown span{display:block;font:10px/1.6 Arial}.reception-section iframe{width:100%;height:320px;border:1px solid #cdb68c;margin-bottom:20px}footer{padding:25px 20px 40px;text-align:center;font-size:15px;border-top:1px solid #d9c9ad}footer span{display:block;font:14px 'Cormorant Garamond',Georgia}footer b{display:block;font-size:30px;font-weight:400;color:#b08a4e}.modal{position:fixed;inset:0;z-index:20;background:#31231ed9;display:grid;place-items:center;padding:20px}.modal-card{padding:36px;max-width:520px;width:100%;text-align:center;max-height:95vh;overflow:auto}.modal-card label{display:block;text-align:left;font-size:14px}.modal-card input{width:100%;padding:13px;background:#fffaf1;border:1px solid #bca37e;margin-top:10px}#form-error{color:#9e2b36;font-size:13px;margin-top:14px}.invalid{width:min(90%,750px);margin:12vh auto;padding:60px 35px;text-align:center}.invalid h1{font-size:35px}.invalid h2{font:30px 'Cormorant Garamond',Georgia}.invalid p{font-size:14px}.preview-note{text-align:center;background:#ead8b5;padding:10px;font-size:12px}.portrait-stage{min-height:380px;position:relative}.stage-person{position:absolute;inset:0;opacity:0;transition:opacity .8s,transform .8s;transform:scale(.96)}.stage-person.active{opacity:1;transform:scale(1)}.stage-person h3{margin-top:15px}@keyframes flower-reveal{from{opacity:0;transform:scale(.97) translateY(16px)}to{opacity:1;transform:none}}@keyframes slide-in{from{opacity:0;transform:translateX(45px)}to{opacity:1;transform:none}}@keyframes slide-right{from{opacity:0;transform:translateX(-45px)}to{opacity:1;transform:none}}@media(max-width:760px){.topbar{padding:18px 22px}.topbar>span{display:none}.brand{font-size:23px}.opening{margin:20px 15px 45px;padding:35px 24px 20px}.opening-grid{grid-template-columns:1fr;gap:30px;padding:25px 0}.couple-frame{grid-row:1;width:min(100%,310px);margin:auto}.couple-frame img{height:310px}.couple-frame figcaption{font-size:14px}.opening h1{font-size:43px}.opening h1 em{margin:0 10px;font-size:30px}.opening-bottom{flex-direction:column;align-items:center;font-size:9px}.section{padding:30px 22px;margin-bottom:40px}.event{margin-left:15px;margin-right:15px}.family-grid{grid-template-columns:1fr;gap:30px}.family-card{padding:25px 10px}.event-grid{grid-template-columns:1fr;gap:25px}.reception-section{padding:25px 15px}.reception-section .event{margin:0}.countdown{gap:6px}.countdown div{min-width:0;flex:1;padding:12px 5px}.countdown b{font-size:26px}.countdown span{font-size:9px}.modal-card{padding:25px 20px}.english-names{font-size:30px}.invalid{padding:35px 20px}.invalid h1{font-size:27px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.opening-copy,.couple-frame,.family-card,.event-grid>div{min-width:0}.event-grid strong,.event-grid small,.personal,.brand{overflow-wrap:anywhere}.couple-frame:before{content:'';position:absolute;width:5px;height:5px;top:20%;left:8%;border-radius:50%;background:#d8bc7c;box-shadow:250px 50px 10px #e9d3a0,20px 260px 7px #e9d3a0,220px 290px 5px #e9d3a0;animation:glow 4s ease-in-out infinite;pointer-events:none}@keyframes glow{50%{opacity:.25;transform:translateY(-8px)}}@media(max-width:420px){.opening h1 em{display:block;font-size:26px;line-height:1.2;margin:0}.opening h1{font-size:40px}.couple-frame:before{box-shadow:160px 50px 10px #e9d3a0,20px 220px 7px #e9d3a0}}
