﻿/* Deep vermilion, antique gold, and original Bengali alpana ornament. */
:root{--wine:#390d20;--deep:#200b14;--gold:#dfbd77;--light-gold:#f7e3ab;--ink:#512231;--cream:#fbf1da;--body-font:'Noto Serif Bengali','Nirmala UI',Georgia,serif;--display-font:'Tiro Bangla','Noto Serif Bengali',serif;--english-font:'Cormorant Garamond',Georgia,serif}
html{scroll-padding-top:30px}body{font-size:20px;line-height:1.95;color:var(--cream);background:radial-gradient(ellipse at 50% 0,#632036 0,transparent 55%),linear-gradient(145deg,#2a0a17,#441125 55%,#240c16);background-attachment:fixed}body:before{opacity:.12}body:after{content:'';position:fixed;inset:0;pointer-events:none;background:url('../images/alpana-medallion.svg') -210px 180px/440px no-repeat,url('../images/alpana-medallion.svg') calc(100% + 210px) 80vh/440px no-repeat;opacity:.12;z-index:-0}#invitation,.invalid,.modal{position:relative;z-index:1}#invitation{overflow:clip}h1,h2,h3{font-family:var(--display-font);font-weight:400;line-height:1.55;overflow-wrap:anywhere}h2{font-size:clamp(36px,4vw,58px);color:var(--light-gold)}h2 small,h3 small{font-family:var(--english-font);font-size:.7em;line-height:1.4;letter-spacing:.02em;color:var(--gold);margin-top:9px}.topbar{max-width:1360px;border-color:#d6b66f42;padding:27px 50px;gap:30px}.brand{font-family:var(--display-font);font-size:36px;line-height:1.5;color:var(--light-gold)}.topbar small{font:15px/1.8 var(--english-font);letter-spacing:1.6px;color:#dfc393}.topbar>span{font-size:18px;color:#f5dfb3}.paper{background:var(--cream);color:var(--ink);border:1px solid #d7b572;box-shadow:0 25px 85px #12050e40}.opening{max-width:1280px;margin:35px auto 100px;padding:68px 65px 32px;outline-color:#b8955366;outline-offset:-13px;border-color:#d7b572;background:radial-gradient(ellipse at 65% 15%,#8e43391a,transparent 65%),linear-gradient(135deg,#481326,#2b0b18 65%,#4c1728);color:var(--cream);isolation:isolate}.opening:before,.opening:after{content:'';position:absolute;width:290px;height:290px;background:url('../images/alpana-medallion.svg') center/contain no-repeat;opacity:.28;z-index:-1;pointer-events:none}.opening:before{left:-110px;top:-110px}.opening:after{right:-110px;bottom:-110px}.opening>.eyebrow{font-family:var(--display-font);font-size:29px;line-height:1.5;letter-spacing:2px;color:var(--light-gold);background:url('../images/shankha.svg') calc(50% - 140px) center/65px no-repeat,url('../images/shankha.svg') calc(50% + 140px) center/65px no-repeat}.eyebrow{font:16px/1.8 var(--body-font);letter-spacing:1px;color:var(--gold)}.eyebrow span{font:16px/1.8 var(--english-font);letter-spacing:3px;color:#e2c78e;margin-top:8px}.opening-grid{grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:58px;padding:48px 0 38px}.kicker{font-family:var(--body-font);font-size:16px;letter-spacing:.4px;color:#dfc398;margin-bottom:20px}.opening h1{font-size:clamp(48px,5.6vw,83px);line-height:1.45;color:var(--light-gold);text-shadow:0 2px 14px #ecb65018}.opening h1>span{display:block}.opening h1 em{display:block;font:italic 43px/1.15 var(--english-font);margin:3px 0;color:var(--gold)}.english-names{font:500 clamp(31px,3.5vw,48px)/1.35 var(--english-font);color:#eed59b;margin:13px 0 20px}.english-names i{color:var(--gold)}.rule{font-size:0;height:56px;background:url('../images/alpana-border.svg') center/185px 56px no-repeat;margin:18px 0 23px}.rule:before,.rule:after{width:40px;border-color:#dfbd7766}.greeting{font-size:23px;line-height:1.9;color:#fff0ce;margin-bottom:10px}.muted{font:23px/1.55 var(--english-font);color:#e1caa4}.button{background:linear-gradient(125deg,#ecd08c,#c79747);color:#381321;border:1px solid #f2d58f;padding:17px 30px;gap:12px;min-height:62px;font-family:var(--body-font);font-size:20px;font-weight:500;border-radius:2px;box-shadow:0 5px 0 #18080d33,0 8px 30px #b98a361a;transition:background .25s,transform .25s,box-shadow .25s}.button span{font:23px var(--english-font)}.button:hover{background:linear-gradient(125deg,#fae5af,#dab264);transform:translateY(-2px);box-shadow:0 8px 26px #b98a3630}.personal{color:#e3c798;font-size:18px;margin-top:24px}.personal small{font:22px/1.5 var(--english-font);margin-top:3px}.couple-frame{padding:13px;border:1px solid #d6b66f;border-radius:250px 250px 4px 4px;background:linear-gradient(135deg,#d4ac5540,#301020);box-shadow:0 0 0 7px #d6b66f0a,0 0 0 8px #c69c4e44,0 24px 45px #14040c66}.couple-frame img{height:540px;border-radius:240px 240px 0 0;object-position:center}.couple-frame figcaption{background:#350e1c;color:var(--light-gold);font:26px/1.6 var(--display-font);padding:23px 15px}.couple-frame figcaption span{font:16px/1.7 var(--english-font);letter-spacing:3px;color:#d4b783}.couple-frame:after{content:'';background:url('../images/alpana-medallion.svg') center/contain no-repeat;width:145px;height:145px;bottom:-40px;right:-40px;transform:none;opacity:.9;pointer-events:none}.corner{font-size:0;width:92px;height:92px;background:url('../images/alpana-medallion.svg') center/contain no-repeat;opacity:.8;top:22px}.tl{left:22px;transform:none}.tr{right:22px;transform:none}.opening-bottom{border-color:#d6b66f55;color:#d9bd89;font-size:16px;letter-spacing:.7px;padding-top:25px}.section{max-width:1120px;padding:58px 45px;margin-bottom:95px;position:relative}.section>.eyebrow{margin-bottom:20px}.family-grid{gap:35px;align-items:stretch;margin-top:40px}.family-card{position:relative;overflow:hidden;padding:50px 30px 30px;border:1px solid #d6b66f;background:var(--cream);color:var(--ink);box-shadow:0 15px 45px #16071055;outline:1px solid #c9a56366;outline-offset:-9px}.family-card:before{content:'';position:absolute;inset:12px 12px auto;height:55px;background:url('../images/alpana-border.svg') center/170px 54px repeat-x;opacity:.4;pointer-events:none}.family-card>.eyebrow{margin:25px 0;color:#875d24;font-size:21px}.portrait{width:250px;height:325px;max-width:100%;border:1px solid #ae8240;padding:8px;border-radius:150px 150px 3px 3px;background:#e7d5b1;box-shadow:0 9px 25px #54213215}.family-card h3{font-size:43px;color:#70263a;margin:24px 0}.family-card h3 small{font:32px/1.4 var(--english-font);color:#8c622a}.family-card p{font-size:21px;margin-bottom:24px}.family-card small{font:23px/1.55 var(--english-font);color:#69523e;margin-top:4px}.field-label{font:16px/1.8 var(--body-font);color:#8b612e;margin-bottom:9px;letter-spacing:.2px}.portrait-stage{min-height:490px}.stage-person h3{font-size:44px;color:var(--light-gold)}.stage-person h3 small{font-size:34px}.text-button{font-family:var(--body-font);font-size:19px;color:#efd49a;padding:14px;text-decoration-thickness:1px}.event{padding:80px 65px 48px;border-top:1px solid #d6b66f;background-image:url('../images/alpana-border.svg'),linear-gradient(135deg,#fff7e4,#f1dfbc);background-position:top 15px center,center;background-size:200px 64px,cover;background-repeat:repeat-x,no-repeat;outline:1px solid #bd955744;outline-offset:-11px}.event h2,.modal-card h2{color:#6c2036}.event h2 small,.modal-card h2 small{color:#956c30}.event .eyebrow{color:#946424;font-size:17px;margin-top:18px}.event>p{max-width:790px;font-size:23px;line-height:1.9}.event>.muted{font-size:26px;line-height:1.55;color:#72563d}.lotus{height:65px;font-size:0;background:url('../images/shankha.svg') center/90px 68px no-repeat;margin:12px 0 20px}.event-grid{gap:32px;margin:38px 0 24px;padding:32px 0;border-color:#b08a4c66;font-size:23px;line-height:1.8}.event-grid strong{font-weight:500}.event-grid small{font:25px/1.5 var(--english-font);margin-top:7px;color:#6b4b32}.event .text-button{color:#7b2d40;font-size:18px}.envelope{position:relative;overflow:hidden;width:min(100%,800px);padding:58px 45px 42px;background:linear-gradient(155deg,#611d34 49.8%,#401023 50%);color:var(--light-gold);border:1px solid #d6b66f;outline:1px solid #c69b5377;outline-offset:-11px;box-shadow:0 24px 65px #17060c55}.envelope:before,.envelope:after{content:'';position:absolute;background:url('../images/alpana-medallion.svg') center/contain no-repeat;opacity:.22;width:230px;height:230px;top:-70px;pointer-events:none}.envelope:before{left:-90px}.envelope:after{right:-90px}.envelope strong{font:39px/1.7 var(--display-font);margin:25px 0 10px}.envelope>span:not(.seal){font:21px/1.8 var(--english-font);letter-spacing:2px;color:#dfc38f}.envelope small{font:19px/1.8 var(--body-font);color:#f0d9ad}.seal{width:84px;height:84px;font:35px var(--display-font);background:linear-gradient(145deg,#d6b66f,#f1d99b,#ba8a3f);color:#57182c;border:5px double #754328;box-shadow:0 7px 20px #19050d55}.countdown{gap:16px;margin:40px 0}.countdown div{min-width:125px;padding:21px;background:linear-gradient(145deg,#5c2033,#350e20);border:1px solid #a7864c88;box-shadow:0 6px 20px #19070e22}.countdown b{font:48px/1.3 var(--english-font);color:#f5d99a}.countdown span{font:16px/1.8 var(--body-font);color:#ead4ad;margin-top:7px}#started{font-size:23px;color:var(--light-gold)}.reception-section iframe{height:360px;border:5px double #b9914b}.modal{position:fixed;z-index:20;background:#18070fe8;backdrop-filter:blur(7px)}.modal-card{max-width:650px;padding:50px 45px;outline:1px solid #ad824a66;outline-offset:-10px}.modal-card label{font-family:var(--body-font);font-size:20px;color:#633044}.modal-card input{font-size:22px;padding:16px;border-color:#b08a50;color:#4f2533;background:#fffaf0}.modal-card .button{width:100%;font-size:19px}#form-error{font-size:18px;line-height:1.8}.invalid{position:relative;max-width:930px;width:calc(100% - 40px);padding:75px 55px;background-image:url('../images/alpana-border.svg'),linear-gradient(145deg,#fff7e4,#f1e0bf);background-position:top 16px center,center;background-size:200px 63px,cover;background-repeat:repeat-x,no-repeat;outline:1px solid #bd955766;outline-offset:-11px}.invalid .lotus{margin-top:20px}.invalid .eyebrow{color:#865b28;font-size:18px}.invalid h1{font-size:clamp(35px,4vw,51px);color:#6e2339;margin:20px 0 8px}.invalid h2{font:36px/1.5 var(--english-font);color:#86502c;margin-bottom:30px}.invalid p{font-size:21px;line-height:1.9}.invalid p:last-child{font:25px/1.6 var(--english-font)}.invalid .english-names{color:#78402d;font-size:40px}.preview-note{background:#d6b66f;color:#3c1422;font-size:17px;padding:12px}.topbar+.preview-note{margin-bottom:0}footer{font-size:22px;border-color:#b6955666;padding:38px 20px 50px;background:#230a15}footer span{font:25px/1.8 var(--english-font);color:#dfc393}footer b{font-size:0;width:150px;height:55px;background:url('../images/alpana-border.svg') center/150px no-repeat;margin:20px auto 0}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #e4b95e;outline-offset:5px}
@media(max-width:1100px){.opening{margin:25px 25px 75px;padding:60px 40px 28px}.opening-grid{gap:35px}.opening h1{font-size:65px}.couple-frame img{height:500px}.couple-frame:after{width:105px;height:105px;right:-20px;bottom:-25px}.greeting{font-size:22px}.section{margin-left:20px;margin-right:20px}.family-card{padding-left:22px;padding-right:22px}.event{padding-left:40px;padding-right:40px}}
@media(max-width:760px){body{font-size:19px}.topbar{padding:20px 25px}.brand{font-size:32px}.topbar small{font-size:15px;letter-spacing:1px}.opening{padding:60px 25px 27px;margin:20px 16px 65px}.opening>.eyebrow{font-size:25px;background-size:48px;background-position:calc(50% - 110px) center,calc(50% + 110px) center}.eyebrow span{font-size:15px;letter-spacing:2px}.opening-grid{grid-template-columns:1fr;gap:30px;padding:35px 0}.couple-frame{grid-row:1;width:min(85%,370px);margin:0 auto 8px}.couple-frame img{height:360px}.couple-frame figcaption{font-size:23px;padding:16px 10px}.couple-frame figcaption span{font-size:15px;letter-spacing:2px}.opening h1{font-size:clamp(45px,9vw,65px)}.opening h1 em{font-size:32px;line-height:1.15;margin:3px 0}.english-names{font-size:36px}.kicker{font-size:15px;letter-spacing:0}.greeting{font-size:22px}.muted{font-size:23px}.button{font-size:19px;padding:16px 23px;min-height:60px}.button span{font-size:23px}.personal{font-size:18px}.personal small{font-size:21px}.opening-bottom{font-size:15px;letter-spacing:0;gap:5px}.corner{width:65px;height:65px;top:18px}.tl{left:15px}.tr{right:15px}.section{margin:0 16px 65px;padding:35px 12px}h2{font-size:37px}h2 small{font-size:29px}.section>.eyebrow{font-size:16px}.family-grid{grid-template-columns:1fr;gap:35px}.family-card{padding:42px 25px 20px}.family-card h3{font-size:40px}.family-card p{font-size:21px}.family-card small{font-size:23px}.portrait-stage{min-height:490px}.event{padding:80px 25px 35px}.event>p{font-size:21px}.event>.muted{font-size:25px}.event h2{font-size:37px}.event-grid{grid-template-columns:1fr;gap:27px;font-size:21px}.event-grid small{font-size:24px}.field-label{font-size:16px}.event .text-button{font-size:17px}.reception-section{padding:25px 0}.reception-section .event{margin:0;padding:80px 23px 30px}.envelope{padding:45px 22px 30px}.envelope strong{font-size:30px}.envelope>span:not(.seal){font-size:19px;letter-spacing:1px}.envelope small{font-size:17px}.countdown{gap:7px;margin:30px 0}.countdown div{min-width:0;padding:15px 4px;flex:1}.countdown b{font-size:38px}.countdown span{font-size:13px;line-height:1.8}.modal-card{padding:40px 25px}.modal-card h2{font-size:34px}.modal-card h2 small{font-size:29px}.modal-card label{font-size:19px}.modal-card .button{font-size:17px;padding:15px 10px}.invalid{padding:75px 25px 35px;margin:50px auto}.invalid h1{font-size:34px}.invalid h2{font-size:32px}.invalid p{font-size:20px}.invalid p:last-child{font-size:24px}.preview-note{font-size:15px}.portrait{width:250px;height:320px}}
@media(max-width:380px){.opening{padding-left:20px;padding-right:20px}.opening h1{font-size:43px}.couple-frame{width:90%}.couple-frame img{height:290px}.opening>.eyebrow{font-size:23px;background-size:36px;background-position:calc(50% - 100px) center,calc(50% + 100px) center}.greeting{font-size:20px}.family-card{padding-left:18px;padding-right:18px}.event h2{font-size:32px}.countdown span{font-size:12px}.opening-bottom{font-size:14px}.english-names{font-size:32px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Literary interludes: generous Bengali calligraphy with quiet source credits. */
.poetry{max-width:840px;margin:35px auto 40px;padding:30px 35px 28px;text-align:center;position:relative;border-top:1px solid #d6b66f55;border-bottom:1px solid #d6b66f55;background:linear-gradient(90deg,transparent,#d6b66f08,transparent)}
.poetry blockquote{margin:0}.poetry-ornament{display:block;width:120px;height:38px;margin:0 auto 20px;background:url('../images/alpana-border.svg') center/120px no-repeat}.poetry .poetry-bn{font:400 clamp(26px,3vw,37px)/1.9 var(--display-font);color:var(--light-gold);margin:0 0 17px;text-wrap:balance}.poetry .poetry-en{font:italic 26px/1.55 var(--english-font);color:#e7cfa6;max-width:650px;margin:0 auto 22px}.poetry figcaption{font:16px/1.9 var(--body-font);color:#d6b787}.poetry figcaption a{text-decoration:none}.poetry figcaption a:hover{text-decoration:underline;text-underline-offset:5px}.poetry figcaption span{display:block;font:20px/1.6 var(--english-font);color:#ddc397}.poetry figcaption small{font:14px/1.8 var(--body-font);color:#d1b78f;margin-top:7px}.poetry-opening{margin-top:0;margin-bottom:30px}.poetry-couple{margin-bottom:50px}.poetry-reception{margin-top:0;margin-bottom:45px}@media(max-width:760px){.poetry{padding:26px 12px;margin-bottom:32px}.poetry .poetry-bn{font-size:27px;line-height:1.9}.poetry .poetry-en{font-size:24px}.poetry figcaption{font-size:15px}.poetry figcaption span{font-size:20px}.poetry figcaption small{font-size:13px}.poetry-ornament{margin-bottom:15px}}@media(max-width:380px){.poetry .poetry-bn{font-size:24px}.poetry .poetry-en{font-size:22px}}
.opening-action{text-align:center;padding:0 0 28px}.opening-action .button{min-width:min(100%,320px);max-width:100%;margin:0 0 10px}@media(max-width:760px){.opening-action{padding-bottom:25px}.opening-action .button{width:100%;min-width:0}}
