:root{--ink:#39210f;--ink-soft:#664528;--gold:#bd8730;--gold-bright:#f1d28a;--gold-pale:#fff0c8;--cream:#fff7e6;--cream-deep:#f3e4c6;--forest:#24321f;--shadow:0 24px 60px rgba(30,15,4,.22);--serif:'Cormorant Garamond',Georgia,serif;--script:'Great Vibes','Cormorant Garamond',serif;--tamil:'Noto Serif Tamil',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:18px}body{margin:0;background:#251608;color:var(--ink);font-family:var(--serif);font-size:18px;overflow-x:hidden}body.ta{font-family:var(--tamil),serif}button,input,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}.global-language{position:fixed;right:max(18px,env(safe-area-inset-right));top:max(16px,env(safe-area-inset-top));z-index:120}.language-toggle{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,222,145,.75);background:rgba(42,23,8,.76);color:#fff3d2;border-radius:999px;padding:10px 15px;font:600 14px var(--serif);letter-spacing:.02em;box-shadow:0 6px 22px #170b0580;backdrop-filter:blur(12px);transition:background .2s,transform .2s}.language-toggle:hover{background:rgba(76,39,9,.93);transform:translateY(-1px)}.language-toggle .lang-en,.language-toggle .lang-ta{opacity:.62}.language-toggle .active-lang{opacity:1;color:#fff}.language-divider{opacity:.5}.globe{font-size:17px;color:#f1d28a;margin-left:2px}.opening-screen{position:fixed;inset:0;isolation:isolate;height:100svh;min-height:0;overflow:hidden;background:#1c0e04;color:#ffedc3;z-index:100}.opening-screen.is-hidden{display:none}body.intro-lock{overflow:hidden;height:100%;touch-action:pan-y}.opening-background{position:absolute;inset:0;background:url('assets/opening-temple.webp') center 47%/cover no-repeat;transform:scale(1.015);transition:opacity .42s ease}.opening-vignette{position:absolute;inset:0;z-index:7;background:linear-gradient(180deg,rgba(21,11,3,.15),rgba(39,20,4,.1) 35%,rgba(21,9,2,.46) 100%),radial-gradient(ellipse at center,transparent 25%,rgba(15,7,1,.5) 100%);pointer-events:none}.door-leaf{position:absolute;z-index:5;top:0;bottom:0;width:50%;overflow:hidden;pointer-events:none;transition:transform 1.15s cubic-bezier(.77,0,.18,1);border-color:rgba(249,215,135,.24);background:transparent}.door-leaf::before{content:'';position:absolute;top:0;left:0;width:200%;height:100%;background-image:url('assets/opening-temple.webp');background-size:cover;background-position:center 47%;background-repeat:no-repeat}.door-leaf::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,9,1,.11),rgba(20,9,1,.02) 42%,rgba(20,9,1,.2))}.door-left{left:0;border-right:1px solid rgba(255,230,168,.3)}.door-right{right:0;border-left:1px solid rgba(255,230,168,.3)}.door-right::before{left:-100%}.opening-screen.is-opening{background-color:transparent}.opening-screen.is-opening .opening-background{opacity:0}.opening-screen.is-opening .opening-vignette{opacity:0;transition:opacity .35s ease}.opening-screen.is-opening .door-left{transform:translateX(-102%)}.opening-screen.is-opening .door-right{transform:translateX(102%)}.opening-screen.is-opening .opening-content,.opening-screen.is-opening .couple-sticker,.opening-screen.is-opening .opening-bottom-note{opacity:0;transform:translateY(-8px) scale(.985)}.opening-content{position:absolute;z-index:9;left:50%;top:47%;width:min(680px,90vw);transform:translate(-50%,-50%);text-align:center;transition:opacity .4s,transform .5s;display:flex;flex-direction:column;align-items:center}.opening-mantra{font-size:clamp(15px,2.2vw,23px);font-style:italic;letter-spacing:.1em;color:#ffe9b6;text-shadow:0 2px 8px #160a03;margin-bottom:clamp(10px,2.6vh,26px)}.opening-eyebrow,.eyebrow{font-size:clamp(11px,1.6vw,15px);text-transform:uppercase;letter-spacing:.2em;color:#ffe6a6;font-weight:600}.opening-nameplate{position:relative;width:min(100%,640px);padding:clamp(20px,4vh,42px) clamp(18px,5vw,54px);margin:14px auto 24px;border:1px solid rgba(255,220,135,.8);border-radius:6px 38px 6px 38px;background:linear-gradient(130deg,rgba(55,26,5,.82),rgba(128,76,21,.74) 52%,rgba(43,20,4,.85));box-shadow:0 0 0 5px rgba(255,223,142,.08),0 12px 50px rgba(7,3,0,.32),inset 0 0 36px rgba(255,209,99,.14);backdrop-filter:blur(13px)}.opening-nameplate:before,.opening-nameplate:after{content:'✥';position:absolute;color:#f9d27b;font-size:24px;left:50%;transform:translateX(-50%);text-shadow:0 0 15px #ffdf92}.opening-nameplate:before{top:-15px}.opening-nameplate:after{bottom:-15px}.nameplate-ornament{font-size:19px;letter-spacing:.3em;color:#f7d787;text-shadow:0 0 18px #ffd76c;margin-bottom:10px}.bottom-ornament{margin:9px 0 0}.opening-nameplate h1{padding:0;margin:0;display:flex;flex-direction:column;align-items:center;gap:0;font-weight:500;font-family:var(--script);font-size:clamp(54px,9.2vw,92px);line-height:.94;color:#f6dc9a;text-shadow:0 2px 0 #6e3b0b,0 5px 1px #2c1403,0 8px 18px rgba(0,0,0,.85),0 0 24px rgba(254,213,106,.32)}.opening-nameplate h1 small{font-family:var(--serif);font-size:clamp(14px,2vw,20px);font-style:italic;letter-spacing:.08em;color:#ffedc2;text-shadow:0 2px 5px #1b0d02;line-height:1.1;margin-top:8px}.opening-ampersand{font-family:var(--script);font-size:.65em;line-height:.85;margin:7px 0;color:#fff0c8}.open-button{display:flex;align-items:center;gap:14px;border:1px solid #f6d27a;border-radius:999px;background:linear-gradient(120deg,#4e260b,#8e5718,#4a2308);color:#fff0c4;letter-spacing:.16em;font:bold 13px var(--serif);padding:12px 25px 12px 12px;box-shadow:0 0 0 4px #f1cc7833,0 0 22px #fbc34c80,inset 0 0 12px #e7ac5040;animation:goldGlow 2.3s ease-in-out infinite;transition:transform .2s,box-shadow .2s}.open-button:hover{transform:translateY(-2px);box-shadow:0 0 0 5px #f1cc7850,0 0 35px #fbc34cbb}.open-button-seal{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid #f9d781;background:radial-gradient(circle at 35% 30%,#eac979,#986021 56%,#422008);font-size:21px;color:#fff0c4;box-shadow:0 0 13px #f6d17566}.couple-sticker{position:absolute;z-index:10;bottom:64px;right:clamp(20px,4vw,58px);width:clamp(108px,19vw,235px);max-height:45vh;object-fit:contain;object-position:bottom;filter:drop-shadow(0 12px 14px rgba(13,6,1,.35));transition:opacity .35s,transform .45s;pointer-events:none}.opening-bottom-note{position:absolute;left:50%;bottom:max(25px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:7;text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:#f9e5b6;text-shadow:0 2px 8px #170b02;white-space:nowrap;transition:opacity .3s}.white-fade{position:absolute;z-index:30;inset:0;background:rgba(255,251,238,0);pointer-events:none;transition:background .52s ease}.opening-screen.is-opening .white-fade{background:rgba(255,251,238,.96);transition-delay:.45s}.invitation-section{position:relative;isolation:isolate;min-height:100svh;padding:clamp(72px,9vh,110px) 20px clamp(64px,8vh,90px);display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:#ede0c4;background-position:center;background-size:cover;background-repeat:no-repeat}.content-shell{position:relative;z-index:3;width:min(960px,100%);margin:0 auto;text-align:center}.section-shade{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(255,245,215,.18),rgba(255,245,215,.07) 46%,rgba(255,245,215,.25));pointer-events:none}.section-one{background-image:url('assets/section1-background.webp');min-height:100svh}.section-one-shell{max-width:930px;padding-bottom:25px}.eyebrow{color:#875620;line-height:1.6}.ornament-line:before,.ornament-line:after{content:'✦';color:#ac7627;padding:0 13px}.section-title{font-size:clamp(34px,5.2vw,62px);font-weight:500;line-height:1.02;margin:7px 0 22px;color:#5a3515;text-shadow:0 1px rgba(255,255,255,.8)}.family-card{position:relative;display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(12px,3vw,34px);align-items:center;padding:clamp(22px,4vw,44px);margin:0 auto;width:min(880px,100%)}.glass-card{border:1px solid rgba(175,124,44,.5);border-radius:7px 26px 7px 26px;background:rgba(255,249,232,.78);box-shadow:0 15px 45px rgba(63,37,13,.15),inset 0 0 0 4px rgba(255,255,255,.18);backdrop-filter:blur(10px)}.family-label{font-size:clamp(13px,2vw,18px);font-style:italic;color:#77502b;margin-bottom:9px}.parents-name{font-size:clamp(15px,2.4vw,22px);font-weight:600;line-height:1.18;color:#543319;min-height:2.3em}.fine-divider{display:flex;align-items:center;justify-content:center;gap:8px;color:#bc8a38;margin:13px 0}.fine-divider:before,.fine-divider:after{content:'';height:1px;width:34%;background:linear-gradient(90deg,transparent,#bd8a3a)}.fine-divider:after{transform:rotate(180deg)}.couple-name-display{font-family:var(--script);font-size:clamp(42px,7vw,75px);color:#6e3a16;line-height:1;text-shadow:0 1px #fff7df}.nickname{font-size:clamp(14px,2vw,18px);font-style:italic;color:#855a33;margin-top:5px}.family-separator{font-size:38px;color:#b98b43}.family-blessing{color:#6c4929;font-size:clamp(15px,2.1vw,20px);font-style:italic;margin:24px auto 25px;max-width:570px;line-height:1.5}.scroll-cue{display:inline-flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:#875a27;font-size:11px;font-weight:600;letter-spacing:.19em;padding:8px 16px 0}.scroll-arrow{font-family:Arial,sans-serif;font-size:32px;line-height:.8;animation:arrowBob 1.8s ease-in-out infinite}.jasmine-layer,.rice-layer{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}.section-one .jasmine-layer{z-index:4}.rice-layer.rice-viewport-burst{position:fixed;inset:0;z-index:115;overflow:hidden;pointer-events:none}.jasmine-flower{position:absolute;top:-60px;font-family:Georgia,serif;color:#fff8e9;text-shadow:0 1px 3px #916b285e,0 0 12px rgba(255,255,255,.6);animation:jasmineFall linear infinite;will-change:transform;opacity:.9}.section-two{background-image:url('assets/section2-background.webp');color:#fff6de}.section-two .section-shade{background:linear-gradient(180deg,rgba(41,20,3,.22),rgba(53,27,5,.2) 35%,rgba(39,20,4,.57))}.date-shell{max-width:800px}.section-two .eyebrow{color:#f8dc9f}.section-two .section-title{color:#fff1c9;text-shadow:0 3px 9px rgba(28,11,0,.55)}.section-intro{font-size:clamp(15px,2.2vw,19px);line-height:1.55;max-width:620px;margin:-5px auto 26px;color:#72502f}.section-two .section-intro{color:#ffefce}.scratch-card-wrap{width:min(430px,94%);margin:0 auto 25px}.scratch-card{position:relative;min-height:230px;aspect-ratio:1.52/1;border-radius:13px;overflow:hidden;border:1px solid #ffe4a0;background:linear-gradient(145deg,#f9e5ad,#c48725 24%,#f7d979 49%,#a96919 76%,#f8d984);box-shadow:0 18px 45px rgba(17,7,0,.28),inset 0 0 0 5px #fff4cb55,inset 0 0 22px #fff1bc}.scratch-card:before{content:'';position:absolute;inset:9px;border:1px solid rgba(255,249,210,.82);border-radius:8px;pointer-events:none;z-index:2}.revealed-date{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;color:#6a3b0e;text-align:center;gap:8px;background:linear-gradient(135deg,rgba(255,245,205,.85),rgba(249,219,140,.95));}.revealed-kicker{font-size:11px;letter-spacing:.18em;font-weight:700}.revealed-date strong{font-size:clamp(30px,5vw,43px);font-weight:600;line-height:1.05}.revealed-date>span:nth-child(3){font-size:19px;font-style:italic}.date-muhurtham{font-size:13px;line-height:1.4;max-width:100%}.scratch-card canvas{position:absolute;inset:0;width:100%;height:100%;z-index:4;touch-action:none;cursor:crosshair}.scratch-instruction{position:absolute;z-index:5;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;color:#fff7d8;text-align:center;pointer-events:none;text-shadow:0 2px 5px #744209}.scratch-instruction strong{font-size:clamp(15px,3.3vw,22px);letter-spacing:.13em;max-width:245px;line-height:1.28}.scratch-star{font-size:30px}.scratch-finger{font-size:32px;animation:tapBob 1.6s ease-in-out infinite}.scratch-instruction small{font-size:12px;letter-spacing:.09em}.scratch-card.is-revealed canvas,.scratch-card.is-revealed .scratch-instruction{opacity:0;pointer-events:none;transition:opacity .4s}.reveal-fallback{border:0;background:transparent;color:#fff1c8;text-decoration:underline;text-underline-offset:4px;font-size:13px;padding:5px 8px}.countdown-block{width:min(620px,100%);margin:18px auto 0;padding:clamp(16px,3vw,25px);border-radius:14px;border:1px solid rgba(255,225,152,.65);background:rgba(41,19,3,.68);box-shadow:0 10px 35px rgba(0,0,0,.18);backdrop-filter:blur(8px)}.countdown-heading{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#f7dfaa;margin-bottom:15px}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.count-cell{display:flex;flex-direction:column;gap:4px;align-items:center;border-radius:8px;background:linear-gradient(140deg,#f8e0a4,#e7c075);color:#5a320f;border:1px solid rgba(255,244,199,.75);padding:12px 4px}.count-cell strong{font-size:clamp(26px,5vw,38px);font-weight:600;line-height:1}.count-cell span{font-size:12px;opacity:.9}.countdown-footnote{margin:14px 0 0;color:#f8e5c0;font-size:13px}.rice-grain{position:absolute;top:-16px;left:var(--x);width:var(--w);height:var(--h);background:linear-gradient(120deg,#fff0a0,#dba52a 55%,#fff4bd);border-radius:70% 25% 70% 25%;box-shadow:0 0 9px #ffde70ad;animation:riceFall var(--dur) ease-in var(--delay) forwards;transform:rotate(var(--rot))}.section-three{background-image:url('assets/section3-background.webp')}.section-three .section-shade{background:linear-gradient(180deg,rgba(19,22,10,.3),rgba(35,25,8,.2) 35%,rgba(19,19,9,.54))}.venue-shell{max-width:850px}.glass-heading{width:min(740px,100%);margin:0 auto 20px;padding:22px 20px;border:1px solid rgba(255,231,175,.45);border-radius:8px 28px 8px 28px;background:rgba(42,29,12,.42);backdrop-filter:blur(14px);box-shadow:0 10px 28px rgba(0,0,0,.15)}.section-three .eyebrow{color:#ffedc9}.section-three .section-title{margin:6px 0 0;color:#fff1d0;text-shadow:0 3px 12px #150c03}.mandapam-art{display:block;width:min(600px,94%);max-height:360px;object-fit:contain;margin:0 auto -12px;filter:drop-shadow(0 12px 12px rgba(20,12,4,.25));border-radius:4px}.venue-card{width:min(660px,100%);margin:0 auto;padding:clamp(22px,4vw,37px);text-align:center;background:rgba(255,247,224,.9)}.venue-icon{font-size:28px;line-height:1;color:#b87c26;margin-bottom:5px}.venue-card h3{margin:2px 0 8px;font-size:clamp(32px,5vw,48px);font-weight:600;color:#633915}.venue-address{font-size:clamp(16px,2.3vw,19px);line-height:1.55;color:#74512d;margin:0 auto 19px}.venue-details{border-top:1px solid #d7bd8b;border-bottom:1px solid #d7bd8b;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:17px 0;margin:16px 0 20px}.venue-details>div{display:flex;flex-direction:column;align-items:center;gap:6px;line-height:1.3}.venue-details>div+div{border-left:1px solid #dfcba3}.detail-label{color:#92642a;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.venue-details strong{font-size:15px;color:#513417;font-weight:600}.venue-actions,.share-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.gold-button,.outline-button,.submit-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:999px;padding:12px 22px;text-align:center;letter-spacing:.08em;font-size:13px;font-weight:700;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s}.gold-button,.submit-button{color:#fff2cc;background:linear-gradient(120deg,#5d3210,#9d641d,#5b310f);border:1px solid #c9973e;box-shadow:0 6px 16px #56310e30,inset 0 0 0 2px #ffedb522}.gold-button:hover,.submit-button:hover{transform:translateY(-2px);box-shadow:0 9px 22px #56310e42}.outline-button{color:#70451b;border:1px solid #b9893c;background:rgba(255,246,223,.72)}.outline-button:hover{transform:translateY(-2px);background:#fff3d3}.venue-note{color:#fff1cd;font-size:16px;font-style:italic;line-height:1.5;margin:20px auto 0;text-shadow:0 2px 7px #171006}.section-four{background-image:url('assets/section4-background.webp');align-items:flex-start;padding-top:clamp(80px,10vh,118px)}.section-four .section-shade{background:linear-gradient(180deg,rgba(255,249,231,.18),rgba(255,244,214,.42) 40%,rgba(255,248,233,.22))}.rsvp-shell{max-width:690px}.rsvp-shell .section-intro{color:#76532f;max-width:580px}.rsvp-card{padding:clamp(23px,4vw,38px);text-align:left;background:rgba(255,248,230,.92)}.field-label,.attendance-fieldset legend{display:block;font-size:17px;font-weight:600;color:#573518;margin:0 0 9px}.required-star{color:#a34518}.optional-label{font-size:14px;font-weight:400;color:#8a6a44}.rsvp-card input[type=text],.rsvp-card textarea{display:block;width:100%;min-height:47px;border:1px solid #d5b984;background:rgba(255,253,244,.88);border-radius:9px;padding:11px 13px;color:#422a13;outline:none;transition:border .2s,box-shadow .2s;margin:0 0 22px;font-size:16px}.rsvp-card input:focus,.rsvp-card textarea:focus{border-color:#a66e24;box-shadow:0 0 0 3px #c5944030}.rsvp-card textarea{resize:vertical;min-height:100px}.attendance-fieldset{border:0;padding:0;margin:0 0 23px;min-width:0}.attendance-fieldset legend{margin-bottom:12px}.attendance-choice{position:relative;display:flex;align-items:center;gap:12px;border:1px solid #dbc393;background:#fffaf0;border-radius:9px;padding:13px;margin:8px 0;color:#5d3b1c;cursor:pointer;transition:background .15s,border .15s}.attendance-choice:has(input:checked){background:#faedca;border-color:#b77e2b;box-shadow:inset 0 0 0 1px #b77e2b2a}.attendance-choice input{position:absolute;opacity:0;width:1px;height:1px}.radio-custom{display:block;position:relative;pointer-events:none;flex:none;width:18px;height:18px;border:1.5px solid #b48b52;border-radius:50%;background:#fff9ea}.attendance-choice input:checked+.radio-custom{border-color:#9f691f;background:#9f691f;box-shadow:inset 0 0 0 4px #fff4d6}.attendance-choice input:focus-visible+.radio-custom{outline:3px solid #d5a94c77;outline-offset:2px}.conditional-field{padding:17px 17px 14px;border-radius:11px;background:rgba(237,218,180,.33);border:1px solid rgba(205,170,104,.45);margin:0 0 22px}.conditional-field[hidden]{display:none}.counter-control{display:flex;align-items:center;justify-content:center;gap:22px;margin:10px 0 5px}.counter-button{width:45px;height:45px;border-radius:50%;border:1px solid #b68335;background:linear-gradient(130deg,#fff6d8,#e3bd70);color:#5b3413;font-size:30px;line-height:1;box-shadow:0 4px 10px #56310e1f;transition:transform .15s}.counter-button:active{transform:scale(.94)}.counter-control output{min-width:65px;text-align:center;font-size:34px;font-weight:600;color:#6a3f15}.field-hint{display:block;text-align:center;color:#8e6c41;font-size:13px;margin:9px auto 0}.submit-button{width:100%;margin:2px auto 13px;min-height:52px;justify-content:space-between;padding:14px 20px}.privacy-note{display:flex;align-items:flex-start;gap:8px;color:#856540;font-size:13px;line-height:1.45;margin:5px 0 0}.privacy-note>span:first-child{font-size:17px;color:#a77730}.form-feedback{padding:16px 17px;margin-top:17px;border:1px solid #a9b88c;border-radius:9px;background:#f0f4e5;color:#384d22;line-height:1.5;font-size:16px}.form-feedback.error{border-color:#d6a19b;background:#fff0e9;color:#782c20}.form-feedback strong{display:block;font-size:19px;margin-bottom:5px}.admin-entry{margin:18px 0 0}.admin-entry a{font-size:13px;color:#7d5b33;text-decoration:none;border-bottom:1px dotted #9a743d}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.share-section{position:relative;text-align:center;background:linear-gradient(135deg,#281608,#523013 50%,#211207);color:#ffebc4;padding:60px 22px 30px;overflow:hidden}.share-section:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at top,rgba(199,137,42,.22),transparent 60%),linear-gradient(90deg,transparent,rgba(249,213,136,.035),transparent)}.share-section>*{position:relative;z-index:1}.share-ornament{font-size:25px;color:#e4b65a;letter-spacing:.2em}.share-section h2{font-size:clamp(34px,5vw,49px);font-weight:500;margin:3px 0 8px;color:#ffedc8}.share-section>p{font-size:16px;color:#e4c899;margin:0 auto 23px}.share-actions{margin:0 auto 28px}.share-section .outline-button{background:transparent;color:#ffebc6;border-color:#c69c4e}.share-section .gold-button{background:linear-gradient(135deg,#a57021,#683a0e);border-color:#e3b85f}.qr-panel{display:flex;align-items:center;justify-content:center;gap:20px;width:min(500px,100%);margin:0 auto 30px;padding:17px;border:1px solid #b98941;border-radius:14px;background:rgba(255,240,198,.09)}.qr-code{display:grid;place-items:center;min-width:130px;min-height:130px;padding:8px;border-radius:5px;background:#fff}.qr-code img,.qr-code canvas{display:block;max-width:100%;height:auto}.qr-caption{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:7px;line-height:1.35}.qr-caption strong{font-size:17px;color:#ffedc5}.qr-caption span{font-size:14px;color:#e1c79a}.qr-caption a{font-size:13px;color:#ffdc92;text-underline-offset:3px}.footer-blessing{font-family:var(--script);font-size:clamp(31px,5vw,43px);color:#f5d48a;margin-bottom:20px}.footer-credit{font-family:Arial,sans-serif;font-size:10px;color:#bfa880;line-height:1.5;max-width:820px;margin:0 auto}.footer-credit a{color:#dbc28f}.floating-music{position:fixed;right:max(17px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:140;display:flex;align-items:center;gap:8px;border:1px solid #dfb75c;border-radius:999px;padding:11px 15px;color:#fff2ce;background:rgba(45,22,5,.93);box-shadow:0 5px 20px #190b0477;backdrop-filter:blur(12px);font-size:13px;min-height:46px;transition:transform .15s}.floating-music:hover{transform:translateY(-2px)}.music-icon{font-family:Georgia,serif;font-size:18px;color:#f4d27e}.music-state{font-size:9px;color:#a58d61}.floating-music.is-playing .music-state{color:#bce091;text-shadow:0 0 7px #bce091}.floating-motion{position:fixed;left:max(17px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));z-index:130;display:flex;align-items:center;gap:7px;border:1px solid rgba(176,125,49,.65);border-radius:999px;padding:10px 13px;background:rgba(255,247,225,.88);color:#654119;box-shadow:0 4px 16px #2814051f;backdrop-filter:blur(8px);font-size:12px;min-height:42px}.floating-motion[aria-pressed=true]{background:#5e3b15;color:#fff0c2}.toast{position:fixed;left:50%;bottom:82px;transform:translate(-50%,10px);opacity:0;pointer-events:none;z-index:220;max-width:min(92vw,520px);border:1px solid #d5ae5e;border-radius:12px;background:#34200e;color:#fff3d2;padding:12px 18px;box-shadow:0 7px 25px #180c0580;text-align:center;font:14px/1.4 Arial,sans-serif;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.reduce-motion *,html.reduce-motion{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
@keyframes goldGlow{0%,100%{box-shadow:0 0 0 4px #f1cc7833,0 0 17px #fbc34c64,inset 0 0 12px #e7ac5040}50%{box-shadow:0 0 0 5px #f1cc7855,0 0 30px #fbc34cba,inset 0 0 18px #e7ac5070}}@keyframes arrowBob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}@keyframes tapBob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes jasmineFall{0%{transform:translate3d(0,-5vh,0) rotate(0deg);opacity:0}8%{opacity:.9}90%{opacity:.8}100%{transform:translate3d(var(--drift),115vh,0) rotate(330deg);opacity:0}}@keyframes riceFall{0%{transform:translate3d(0,-3vh,0) rotate(var(--rot));opacity:0}10%{opacity:.95}85%{opacity:.88}100%{transform:translate3d(var(--drift),115vh,0) rotate(calc(var(--rot) + 500deg));opacity:0}}
@media(max-width:760px){body{font-size:17px}.global-language{right:12px;top:12px}.language-toggle{padding:8px 11px;gap:6px;font-size:12px}.opening-screen{min-height:570px}.opening-content{top:45%;width:92vw}.opening-mantra{margin-bottom:9px}.opening-nameplate{padding:24px 12px;margin:13px auto 20px;border-radius:5px 24px 5px 24px}.opening-nameplate h1{font-size:clamp(49px,13vw,70px)}.opening-nameplate h1 small{font-size:15px}.opening-eyebrow{font-size:10px;letter-spacing:.15em}.nameplate-ornament{font-size:15px}.open-button{padding:9px 18px 9px 9px;font-size:12px}.open-button-seal{width:31px;height:31px}.couple-sticker{right:65px;bottom:67px;width:clamp(82px,27vw,135px);max-height:28vh}.opening-bottom-note{display:none}.music-label{display:none}.floating-music{width:42px;height:42px;min-width:42px;padding:0;justify-content:center;gap:4px}.invitation-section{padding:80px 16px 76px}.section-one{padding-top:85px}.section-title{font-size:clamp(32px,8.7vw,47px);margin-bottom:18px}.family-card{grid-template-columns:1fr;gap:7px;padding:17px 17px}.family-separator{font-size:21px;line-height:.75}.family-side{max-width:400px;margin:0 auto;width:100%}.family-label{font-size:14px;margin-bottom:5px}.parents-name{min-height:0;font-size:15px;line-height:1.12}.couple-name-display{font-size:47px}.nickname{margin-top:3px;font-size:14px}.fine-divider{margin:6px 0}.family-blessing{margin:8px auto 5px;font-size:14px;line-height:1.3;max-width:340px}.scroll-cue{padding-top:2px;gap:2px}.scroll-arrow{font-size:25px}.scratch-card{min-height:220px}.countdown-grid{gap:6px}.count-cell{padding:12px 2px}.count-cell span{font-size:11px}.venue-details{grid-template-columns:1fr;gap:0;padding:5px 0}.venue-details>div{padding:10px 0}.venue-details>div+div{border-left:0;border-top:1px solid #dfcba3}.venue-details strong{font-size:16px}.venue-actions{flex-direction:column}.venue-actions>*{width:100%}.mandapam-art{max-height:265px;width:100%;margin-bottom:-5px}.glass-heading{padding:18px 14px}.rsvp-card{padding:23px 18px}.qr-panel{flex-direction:column;gap:14px;padding:16px}.qr-caption{align-items:center;text-align:center}.share-section{padding-top:53px}.floating-motion{left:10px;bottom:10px;font-size:11px;padding:8px 10px;min-height:38px}.floating-music{right:10px;bottom:10px;font-size:12px;padding:9px 12px;min-height:40px}.toast{bottom:65px}.section-four{padding-top:83px}}
@media(max-width:380px){.opening-nameplate h1{font-size:46px}.couple-sticker{width:78px;right:62px}.opening-bottom-note{font-size:8px}.floating-motion{max-width:43vw}.floating-music{max-width:48vw}.music-label{display:none}.family-card{padding:20px 14px}.scratch-card{min-height:205px}.countdown-block{padding:14px 9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

@media(max-height:700px) and (max-width:760px){.opening-content{top:42%}.opening-mantra{margin-bottom:5px;font-size:14px}.opening-nameplate{padding:14px 10px;margin:8px auto 14px}.opening-nameplate h1{font-size:clamp(43px,11vw,59px)}.nameplate-ornament{margin-bottom:5px}.bottom-ornament{margin-top:5px}.open-button{padding:7px 15px 7px 7px}.open-button-seal{width:29px;height:29px}.couple-sticker{width:82px;bottom:62px;right:60px;max-height:23vh}}


/* Keep the controls in the requested lower corners on the opening screen; after opening, move them to the upper-left so they never cover RSVP or venue details while scrolling. */
body.invitation-open .floating-music{top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:auto;bottom:auto;width:42px;height:42px;min-width:42px;padding:0;justify-content:center;gap:4px}
body.invitation-open .music-label{display:none}
body.invitation-open .floating-motion{top:62px;left:max(12px,env(safe-area-inset-left));right:auto;bottom:auto;width:42px;height:42px;min-height:42px;padding:0;justify-content:center}
body.invitation-open .floating-motion span:last-child{display:none}

/* Opening-page refinement: unobstructed names, premium typography, golden rice and labelled music control. */
:root{--opening-script:'Italianno','Cormorant Garamond',serif;--tamil-display:'Arima','Noto Serif Tamil',serif}
.opening-content{top:44%;width:min(760px,94vw)}
.opening-names{width:min(740px,96vw);margin:0 auto;padding:0 6px;text-align:center}
.opening-names h1{display:flex;flex-direction:column;align-items:center;gap:2px;margin:0;padding:0;font-family:var(--opening-script);font-size:clamp(52px,8.6vw,90px);font-weight:400;line-height:.98;color:#ffe6a7;text-shadow:0 1px 0 #fff0be,0 3px 0 #75420f,0 5px 2px #2a1203,0 9px 20px rgba(0,0,0,.88),0 0 23px rgba(255,207,95,.48)}
.opening-name-text{display:block;max-width:100%;font-family:var(--opening-script);font-size:inherit;white-space:nowrap}
.opening-heart{display:block;margin:0 0 1px;font-family:Georgia,serif;font-size:clamp(28px,4.1vw,43px);line-height:.9;color:#ffd46d;text-shadow:0 1px 0 #fff2bd,0 3px 0 #7b4310,0 0 18px #ffd66f99;transform:scaleX(1.12)}
.opening-name-ornament{font-family:Georgia,serif;color:#f7d889;font-size:clamp(15px,2.2vw,22px);letter-spacing:.36em;text-shadow:0 0 17px #ffda76;margin:0 0 9px}
.opening-name-ornament-bottom{margin:10px 0 0;font-size:clamp(13px,1.9vw,20px)}
body.ta .opening-names h1{font-family:var(--tamil-display);font-size:clamp(38px,7vw,72px);font-weight:500;line-height:1.25;gap:0}
body.ta .opening-name-text{font-family:var(--tamil-display);font-size:inherit;line-height:1.25;letter-spacing:0}
body.ta .opening-heart{font-size:clamp(25px,3.7vw,37px);margin:2px 0 4px}
.open-button{position:relative;isolation:isolate;overflow:hidden;margin-top:24px;padding:10px 23px 10px 11px;gap:12px;letter-spacing:.16em;box-shadow:0 0 0 3px rgba(241,204,120,.2),0 0 21px rgba(251,195,76,.62),inset 0 0 15px rgba(231,172,80,.38)}
.open-button>span{position:relative;z-index:2}
.open-button::after{content:"";position:absolute;z-index:1;top:-35%;bottom:-35%;left:-35%;width:23%;transform:skewX(-22deg);background:linear-gradient(90deg,transparent,rgba(255,255,230,.78),transparent);animation:openButtonShimmer 3.6s ease-in-out infinite;pointer-events:none}
@keyframes openButtonShimmer{0%,52%{left:-35%;opacity:0}58%{opacity:.9}86%,100%{left:120%;opacity:0}}
.opening-rice-layer{position:absolute;inset:0;z-index:8;overflow:hidden;pointer-events:none;opacity:.86;transition:opacity .28s ease}
.opening-screen.is-opening .opening-rice-layer{opacity:0}
.opening-rice-grain{position:absolute;top:-12px;width:var(--grain-width,3px);height:var(--grain-height,7px);border-radius:75% 30% 75% 30%;background:linear-gradient(130deg,#fff8bf 0%,#f5d35d 45%,#c58a24 100%);box-shadow:0 0 6px rgba(255,222,108,.55);transform:rotate(var(--rot,0deg));animation:riceFall linear infinite;will-change:transform,opacity}
body:not(.invitation-open) .floating-music{width:auto;height:auto;min-width:122px;min-height:46px;padding:10px 15px;justify-content:center;gap:9px}
body:not(.invitation-open) .floating-music .music-label{display:inline!important;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
body:not(.invitation-open) .floating-music .music-icon{font-size:21px}
@media(max-width:760px){
  .opening-content{top:44%;width:95vw}
  .opening-names{width:94vw;padding:0 3px}
  .opening-names h1{font-size:clamp(45px,11.3vw,62px);line-height:1.03;gap:1px}
  .opening-name-text{white-space:nowrap}
  .opening-heart{font-size:clamp(26px,6vw,34px);margin:1px 0}
  .opening-name-ornament{font-size:15px;letter-spacing:.27em;margin-bottom:5px}
  .opening-name-ornament-bottom{margin-top:7px}
  body.ta .opening-names h1{font-size:clamp(34px,8.1vw,49px);line-height:1.33;gap:0}
  body.ta .opening-heart{font-size:27px;margin:0 0 2px}
  .open-button{margin-top:18px;padding:9px 16px 9px 9px;font-size:12px;gap:9px;letter-spacing:.12em;min-height:48px}
  .open-button-seal{width:31px;height:31px;flex:none}
  .couple-sticker{right:32px;bottom:68px;width:clamp(125px,30vw,174px);max-height:27vh}
  body:not(.invitation-open) .floating-music{min-width:118px;min-height:43px;padding:9px 12px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));gap:7px}
  body:not(.invitation-open) .floating-music .music-label{font-size:10px;letter-spacing:.06em}
}
@media(max-width:380px){
  .opening-names h1{font-size:clamp(41px,11vw,47px)}
  body.ta .opening-names h1{font-size:clamp(32px,8vw,36px)}
  .couple-sticker{right:30px;width:120px;bottom:68px;max-height:25vh}
  body:not(.invitation-open) .floating-music{min-width:112px;right:8px;bottom:max(8px,env(safe-area-inset-bottom))}
}
@media(max-height:700px) and (max-width:760px){
  .opening-content{top:42%}
  .opening-names h1{font-size:clamp(39px,10.6vw,54px)}
  body.ta .opening-names h1{font-size:clamp(31px,7.8vw,40px)}
  .opening-name-ornament{margin-bottom:3px}
  .opening-name-ornament-bottom{margin-top:4px}
  .open-button{margin-top:12px}
  .couple-sticker{bottom:63px;width:clamp(112px,28vw,150px);max-height:24vh}
}


/* Approved opening-page refinement: names begin at the temple gate, clean typography, bottom-corner artwork and music control. */
:root{
  --opening-script:'Cormorant Garamond',Georgia,serif;
  --tamil-display:'Noto Sans Tamil','Noto Serif Tamil',sans-serif;
}
.opening-content{top:58%;width:min(760px,94vw)}
.opening-names{width:min(740px,96vw);margin:0 auto;padding:0 6px;text-align:center}
.opening-names h1{
  display:flex;flex-direction:column;align-items:center;gap:0;margin:0;padding:0;
  font-family:var(--opening-script);font-size:clamp(60px,9vw,94px);font-weight:600;line-height:1.02;
  letter-spacing:.025em;color:#ffe8ac;
  text-shadow:0 1px 0 #fff4cc,0 3px 0 #75420f,0 5px 2px #2a1203,0 9px 20px rgba(0,0,0,.88),0 0 22px rgba(255,207,95,.42);
}
.opening-name-text{display:block;max-width:100%;font-family:var(--opening-script);font-size:inherit;font-weight:600;white-space:nowrap;line-height:1.02}
.opening-heart{display:block;margin:-1px 0 0;font-family:Georgia,serif;font-size:clamp(29px,4.2vw,43px);line-height:.95;color:#ffd46d;text-shadow:0 1px 0 #fff2bd,0 3px 0 #7b4310,0 0 18px #ffd66f99;transform:scaleX(1.12)}
.opening-name-ornament,.opening-name-ornament-bottom{display:none!important}
body.ta .opening-names h1{font-family:var(--tamil-display);font-size:clamp(43px,7.8vw,70px);font-weight:600;line-height:1.35;letter-spacing:0;gap:0}
body.ta .opening-name-text{font-family:var(--tamil-display);font-size:inherit;font-weight:600;line-height:1.35;letter-spacing:0}
body.ta .opening-heart{font-family:Georgia,serif;font-size:clamp(27px,4vw,39px);margin:0 0 2px;line-height:1}
.open-button{margin-top:27px;padding:13px 34px;gap:0;min-height:50px;justify-content:center;letter-spacing:.16em;font-size:13px}
.open-button .open-button-seal{display:none!important}
.couple-sticker{right:0;bottom:0;width:clamp(145px,31vw,215px);max-height:34vh;object-fit:contain;object-position:right bottom;margin:0;filter:drop-shadow(0 10px 13px rgba(13,6,1,.4))}
body:not(.invitation-open) .floating-music{left:max(10px,env(safe-area-inset-left));right:auto;bottom:max(10px,env(safe-area-inset-bottom));width:auto;height:auto;min-width:122px;min-height:46px;padding:10px 15px;justify-content:center;gap:9px}
body:not(.invitation-open) .floating-music .music-label{display:inline!important;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
body:not(.invitation-open) .floating-music .music-icon{font-size:21px}
@media(max-width:760px){
  .opening-content{top:58%;width:95vw}
  .opening-names{width:94vw;padding:0 3px}
  .opening-names h1{font-size:clamp(50px,11.8vw,67px);line-height:1.06;gap:0;letter-spacing:0}
  .opening-name-text{white-space:nowrap;line-height:1.06}
  .opening-heart{font-size:clamp(27px,6vw,35px);margin:0;line-height:1}
  body.ta .opening-names h1{font-size:clamp(40px,8.9vw,54px);line-height:1.36;gap:0}
  body.ta .opening-name-text{line-height:1.36}
  body.ta .opening-heart{font-size:28px;margin:0 0 2px}
  .open-button{margin-top:22px;padding:11px 24px;font-size:12px;letter-spacing:.12em;min-height:47px}
  .couple-sticker{right:0;bottom:0;width:clamp(148px,32vw,180px);max-height:32vh}
  body:not(.invitation-open) .floating-music{left:max(10px,env(safe-area-inset-left));right:auto;bottom:max(8px,env(safe-area-inset-bottom));min-width:116px;min-height:43px;padding:9px 13px;gap:7px}
  body:not(.invitation-open) .floating-music .music-label{font-size:10px;letter-spacing:.06em}
}
@media(max-width:380px){
  .opening-content{top:57%}
  .opening-names h1{font-size:clamp(47px,12.2vw,52px)}
  body.ta .opening-names h1{font-size:clamp(38px,9.7vw,43px)}
  .open-button{margin-top:18px;padding:10px 20px}
  .couple-sticker{right:0;bottom:0;width:clamp(140px,36vw,154px);max-height:29vh}
  body:not(.invitation-open) .floating-music{left:max(8px,env(safe-area-inset-left));right:auto;bottom:max(8px,env(safe-area-inset-bottom));min-width:108px}
}
@media(max-height:700px) and (max-width:760px){
  .opening-content{top:53%}
  .opening-names h1{font-size:clamp(45px,10.8vw,58px)}
  body.ta .opening-names h1{font-size:clamp(37px,8vw,48px)}
  .open-button{margin-top:15px;min-height:43px;padding:8px 19px}
  .couple-sticker{width:clamp(118px,25vw,148px);max-height:25vh;right:0;bottom:0}
}

/* Final requested invitation-wide refinements */
.family-card{background:transparent!important;backdrop-filter:none!important;box-shadow:none!important;border-color:transparent!important;padding:12px 8px!important}
.family-side{background:transparent!important}
.section-heart{font-size:clamp(30px,5vw,46px)!important;color:#b9852b!important;text-shadow:0 2px 8px #fff0c8}
.family-blessing{display:none!important}
.section-one .couple-name-display{color:#5c321b;text-shadow:0 1px 0 #fff0ce,0 3px 12px #fff0ce;font-size:clamp(43px,7.5vw,66px)}
.section-one .parents-name,.section-one .family-label,.section-one .nickname{color:#633d23;text-shadow:0 1px 5px rgba(255,247,224,.9)}
.scratch-instruction{display:flex;align-items:center;justify-content:center;gap:0;padding:14px;text-align:center}
.scratch-instruction strong{font-size:clamp(20px,4.8vw,32px);letter-spacing:.14em;color:#fff0bf;text-shadow:0 2px 7px #5b310c,0 0 14px #fff1b0;line-height:1.2}
.scratch-instruction .scratch-star,.scratch-instruction .scratch-finger,.scratch-instruction small{display:none!important}
.date-instruction-below{margin:18px auto 22px!important;color:#fff0c9!important;text-shadow:0 2px 8px #412208;max-width:640px}
.countdown-footnote{display:none!important}
.venue-icon{display:none!important}
.mandapam-art.arch-art{width:min(92%,490px);height:auto;max-height:370px;object-fit:cover;object-position:center;border-radius:48% 48% 3px 3px / 36% 36% 3px 3px;clip-path:polygon(50% 0,63% 5%,78% 13%,91% 26%,100% 43%,100% 100%,0 100%,0 43%,9% 26%,22% 13%,37% 5%);background:transparent;filter:drop-shadow(0 9px 18px rgba(40,20,5,.18));margin-bottom:-2px}
.global-petals{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:125;display:none}
.global-petals{display:block}
.white-petal{position:absolute;top:-8vh;color:#fffdf2;opacity:.78;text-shadow:0 0 7px rgba(255,255,255,.7);animation:whitePetalFall linear infinite;will-change:transform;filter:drop-shadow(0 1px 2px rgba(65,40,15,.15))}
@keyframes whitePetalFall{0%{transform:translate3d(0,-6vh,0) rotate(0deg);opacity:0}9%{opacity:.82}88%{opacity:.7}100%{transform:translate3d(var(--drift),112vh,0) rotate(360deg);opacity:0}}
.couple-throughout{position:fixed;right:0;bottom:0;z-index:115;width:clamp(118px,24vw,175px);max-height:25vh;object-fit:contain;object-position:right bottom;pointer-events:none;filter:drop-shadow(0 5px 8px rgba(35,17,4,.25));display:none}
body.invitation-open .couple-throughout{display:block}
body.invitation-open .floating-music{left:max(10px,env(safe-area-inset-left))!important;right:auto!important;top:auto!important;bottom:max(10px,env(safe-area-inset-bottom))!important;width:auto!important;height:auto!important;min-width:42px;min-height:42px;padding:10px 13px;justify-content:center}
body.invitation-open .floating-music .music-label{display:none!important}
body.ta .invitation-section,body.ta .section-shade,body.ta .section-one,body.ta .section-two,body.ta .section-three,body.ta .section-four{background-size:cover!important;background-position:center center!important;background-attachment:scroll!important}
body.ta .section-one .couple-name-display{font-size:clamp(43px,7.5vw,66px)!important}
@media(max-width:760px){.couple-throughout{width:clamp(106px,28vw,145px);max-height:22vh}.mandapam-art.arch-art{max-height:265px;width:100%}.section-one .couple-name-display{font-size:clamp(39px,10.5vw,49px)}body.ta .section-one .couple-name-display{font-size:clamp(39px,10.5vw,49px)!important}.date-instruction-below{font-size:16px;line-height:1.45}.scratch-instruction strong{font-size:20px}}

.floating-motion{display:none!important}


/* Final opening-page cleanup requested 12 Oct 2026 */
/* Keep the split-door panels hidden until the opening animation starts, so no centre seam is visible at rest. */
.door-leaf{opacity:0;border:0!important}
.opening-screen.is-opening .door-leaf{opacity:1}
.door-left,.door-right{border:0!important}
.door-leaf::after{display:none}
.opening-content{top:63%}
@media(max-width:760px){.opening-content{top:63%}}
@media(max-width:380px){.opening-content{top:62%}}
@media(max-height:700px) and (max-width:760px){.opening-content{top:60%}}
.language-toggle .globe{display:none!important}

/* Tamil Section 1 refinements: preserve the English background framing and prevent wrapping/overlap. */
body.ta .section-one{
  background-size:cover!important;
  background-position:center center!important;
  min-height:100svh;
}
body.ta .section-one .section-one-shell{padding-bottom:12px}
body.ta .section-one .eyebrow{
  white-space:nowrap;
  font-size:clamp(11px,3.1vw,16px);
  letter-spacing:.04em;
  line-height:1.35;
}
body.ta .section-one .section-title{margin:5px 0 12px;line-height:1.1}
body.ta .section-one .family-card{gap:5px;padding:8px 5px!important}
body.ta .section-one .family-side{max-width:100%;min-width:0}
body.ta .section-one .family-label{font-size:clamp(13px,3.6vw,16px);margin-bottom:4px;line-height:1.2}
body.ta .section-one .parents-name{
  min-height:0;
  white-space:nowrap;
  font-size:clamp(10px,3.15vw,15px);
  line-height:1.18;
  letter-spacing:-.025em;
}
body.ta .section-one .couple-name-display{line-height:1.12!important;margin-top:1px}
body.ta .section-one .nickname{line-height:1.15;margin-top:2px}
body.ta .section-one .fine-divider{margin:5px 0}
body.ta .section-one .scroll-cue{
  position:relative;z-index:8;
  margin:6px auto 0;padding:4px 0 0;
  color:#593416;text-shadow:0 1px 0 #fff2d1,0 0 8px rgba(255,245,216,.95);
  font-size:clamp(9px,2.5vw,12px);font-weight:700;
  letter-spacing:.1em;line-height:1.2;
}
body.ta .section-one .scroll-arrow{font-size:20px;line-height:1;color:#754514;text-shadow:0 0 8px #fff0c5}
@media(max-width:760px){
  body.ta .section-one{padding-top:76px;padding-bottom:54px}
  body.ta .section-one .section-title{font-size:clamp(29px,7.6vw,40px);margin-bottom:9px}
  body.ta .section-one .family-card{gap:4px}
  body.ta .section-one .parents-name{font-size:clamp(9px,2.85vw,12px)}
  body.ta .section-one .couple-name-display{font-size:clamp(37px,9.7vw,47px)!important}
  body.ta .section-one .family-label{font-size:clamp(12px,3.3vw,14px)}
  body.ta .section-one .scroll-cue{margin-top:3px;font-size:9px;letter-spacing:.07em}
}

/* Latest requested refinements: lower opening names, bold section-one names, compact Tamil heading. */
.opening-content{top:66%!important}
@media(max-width:760px){.opening-content{top:66%!important}}
@media(max-width:380px){.opening-content{top:64%!important}}
@media(max-height:700px) and (max-width:760px){.opening-content{top:62%!important}}
.section-one .couple-name-display{font-weight:700!important;color:#48240f!important;text-shadow:0 1px 0 rgba(255,248,225,.9),0 2px 5px rgba(255,242,207,.55)!important}
body.ta .section-one .section-title{font-size:clamp(22px,5.8vw,34px)!important;white-space:nowrap;letter-spacing:-.035em;line-height:1.15!important}
@media(max-width:760px){body.ta .section-one .section-title{font-size:clamp(21px,5.7vw,29px)!important;white-space:nowrap;margin-top:5px;margin-bottom:9px;letter-spacing:-.045em}}
@media(max-width:360px){body.ta .section-one .section-title{font-size:20px!important;letter-spacing:-.06em}}


/* Section 2 final fixes: brown headings, reliable gold foil and visible post-scratch rice. */
.section-two .eyebrow,
.section-two .section-title { color:#5b3217 !important; text-shadow:0 1px 0 rgba(255,238,196,.75),0 2px 7px rgba(255,226,163,.28); }
.scratch-card { background:linear-gradient(135deg,#f5d77d 0%,#b97920 17%,#f7e4a0 34%,#d09a32 52%,#9b6019 72%,#f2d17a 88%,#c28727 100%); }
.scratch-card canvas { display:block; opacity:1; background:linear-gradient(135deg,#f3d779 0%,#a96d1c 16%,#f8e5a2 34%,#d29a32 51%,#9a5d17 70%,#efd178 88%,#c18425 100%); }
.scratch-card.is-revealed canvas { opacity:0; }
.rice-layer.rice-viewport-burst { position:fixed; inset:0; z-index:180; overflow:hidden; pointer-events:none; }
.rice-grain { position:absolute; left:var(--x); top:-12vh; display:block; width:var(--w); height:var(--h); border-radius:70% 35% 70% 35%; background:linear-gradient(135deg,#fff8b6 0%,#f7d74f 38%,#d99c20 75%,#fff0a0 100%); box-shadow:0 0 8px rgba(255,221,91,.8); opacity:0; transform:rotate(var(--rot)); animation:riceBurstFall var(--dur) cubic-bezier(.25,.65,.5,1) var(--delay) forwards; will-change:transform,opacity; }
@keyframes riceBurstFall { 0% { transform:translate3d(0,-12vh,0) rotate(var(--rot)); opacity:0; } 10% { opacity:1; } 85% { opacity:.95; } 100% { transform:translate3d(var(--drift),112vh,0) rotate(calc(var(--rot) + 520deg)); opacity:0; } }
.countdown-grid .count-cell strong { display:block; min-height:1.2em; font-variant-numeric:tabular-nums; }

/* Section 2 interaction reliability: the gold foil is the active touch layer; decorative text never blocks scratching. */
.scratch-card canvas { position:absolute; inset:0; z-index:6; display:block; width:100%; height:100%; opacity:1; pointer-events:auto; touch-action:none; cursor:crosshair; }
.scratch-instruction { position:absolute; inset:0; z-index:7; pointer-events:none; }
.scratch-card.is-revealed canvas { opacity:0; pointer-events:none; }
.rice-layer.rice-viewport-burst { position:fixed; inset:0; z-index:180; overflow:hidden; pointer-events:none; }
.rice-grain { width:var(--w); height:var(--h); }


/* Section 3: the separate rectangular artwork is removed; show only the transparent arch cutout inside the venue details card. */
.venue-card .venue-arch-cutout{
  display:block;
  width:min(88%,340px);
  height:auto;
  max-height:178px;
  object-fit:contain;
  object-position:center;
  margin:-7px auto 8px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  filter:drop-shadow(0 5px 8px rgba(52,28,7,.13));
}
.venue-card h3{margin-top:0}
/* Tamil title stays on a single line while keeping the same section/background framing. */
body.ta .section-three #sectionThreeTitle{
  display:block;
  width:100%;
  white-space:nowrap!important;
  font-size:clamp(12px,3.55vw,23px)!important;
  letter-spacing:-.035em;
  line-height:1.3!important;
  overflow:visible;
}
@media(max-width:380px){
  body.ta .section-three #sectionThreeTitle{font-size:clamp(11px,3.35vw,13px)!important;letter-spacing:-.045em}
  .venue-card .venue-arch-cutout{max-height:155px;width:92%;margin-top:-5px;margin-bottom:7px}
}
/* Keep section background framing viewport-based in both languages so text wrapping does not cause a zoom change. */
.invitation-section{background-attachment:fixed!important;background-position:center center!important;background-size:cover!important}
body.ta .invitation-section{background-attachment:fixed!important;background-position:center center!important;background-size:cover!important}


/* Section 2: single foil layer over the actual printed wedding date. */
.scratch-card{background:linear-gradient(145deg,#fff5d9 0%,#f8e8be 52%,#e9cf95 100%)!important}
.scratch-card .revealed-date{z-index:1;background:transparent!important}
.scratch-card canvas{z-index:6}
.scratch-instruction{z-index:7;transition:opacity .18s ease}
.scratch-instruction.is-scratching{opacity:0!important}
.scratch-card.is-revealed .scratch-instruction{opacity:0!important}

/* Section 3 Tamil welcome line and title keep the same background framing as English. */
body.ta .section-three .glass-heading .eyebrow{max-width:100%;line-height:1.45;text-wrap:balance}
body.ta .section-three #sectionThreeTitle{white-space:nowrap!important;font-size:clamp(11px,3.2vw,21px)!important;letter-spacing:-.045em!important}
@media(max-width:380px){body.ta .section-three #sectionThreeTitle{font-size:11px!important;letter-spacing:-.06em!important}}

/* Section 5: compact footer without the former large share/QR background panel. */
.invitation-footer{position:relative;text-align:center;overflow:hidden;background:transparent;color:#ffebc4;padding:25px 14px 24px;min-height:0}
.invitation-footer:before{display:none!important}
.footer-inner{position:relative;z-index:2;width:min(720px,calc(100% - clamp(94px,22vw,170px)));margin:0 auto}
.footer-ornament{font-size:20px;line-height:1;color:#e4b65a;letter-spacing:.2em;margin:0 0 7px}
.invitation-footer h2{font-size:clamp(25px,4.5vw,36px);font-weight:500;line-height:1.1;margin:0 0 7px;color:#ffedc8}
.footer-couple-names{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;color:#f7d48a;font-family:var(--serif);font-size:clamp(23px,4vw,34px);font-weight:600;line-height:1.15;text-shadow:0 2px 8px rgba(0,0,0,.34)}
.footer-heart{color:#f4c65f;font-family:Georgia,serif;font-size:.95em;text-shadow:0 0 12px rgba(255,206,100,.35)}
.footer-made-love{font-size:14px;color:#e3c69a;margin:9px 0 13px;line-height:1.3}
.instagram-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:9px 17px;border:1px solid #c99c4a;border-radius:999px;color:#fff0c9;background:linear-gradient(125deg,rgba(99,56,17,.86),rgba(54,29,8,.9));box-shadow:0 3px 12px rgba(0,0,0,.15),inset 0 0 0 1px rgba(255,238,190,.08);text-decoration:none;font-size:14px;line-height:1;transition:transform .18s ease,box-shadow .18s ease}
.instagram-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.2)}
.instagram-logo{width:18px;height:18px;flex:none}
@media(max-width:760px){.invitation-footer{padding:21px 10px 20px}.footer-inner{width:calc(100% - clamp(86px,25vw,125px))}.footer-couple-names{gap:6px;font-size:clamp(19px,4.7vw,28px)}.footer-made-love{font-size:12px;margin:7px 0 10px}.instagram-button{padding:8px 12px;font-size:12px;gap:7px}.instagram-logo{width:16px;height:16px}}
/* Critical: no CSS background on the canvas itself, so scratched pixels reveal the printed date beneath the single foil layer. */
.scratch-card canvas{background:transparent!important}


/* Final footer update: use the supplied cream kolam artwork and a vertically stacked name signature. */
.invitation-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  isolation:isolate;
  min-height:max(720px,100svh);
  padding:clamp(38px,6svh,66px) 18px clamp(150px,20svh,205px);
  overflow:hidden;
  color:#5f2e2b;
  background-color:#f4eddf;
  background-image:url('assets/footer-background.webp');
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  text-align:center;
}
.invitation-footer:before{display:none!important;content:none!important}
.invitation-footer .footer-inner{
  position:relative;
  z-index:2;
  width:min(620px,100%);
  margin:0 auto;
  padding:0 8px;
}
.invitation-footer .footer-ornament{display:none!important}
.invitation-footer h2{
  margin:0 0 17px;
  color:#6d2f33;
  font-family:var(--serif);
  font-size:clamp(38px,6vw,50px);
  font-weight:600;
  line-height:1.08;
  text-shadow:0 1px 0 rgba(255,255,255,.72);
}
.invitation-footer .footer-couple-names{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
  gap:0;
  width:100%;
  color:#6e2d34;
  font-family:var(--serif);
  font-size:clamp(37px,6.3vw,49px);
  font-weight:700;
  line-height:1.08;
  letter-spacing:.015em;
  text-shadow:0 1px 0 rgba(255,255,255,.8),0 2px 5px rgba(102,43,43,.12);
}
.invitation-footer .footer-couple-names span:not(.footer-heart){display:block;max-width:100%;white-space:nowrap}
.invitation-footer .footer-heart{
  display:block;
  margin:2px 0 1px;
  color:#9b293f;
  font-family:Georgia,serif;
  font-size:clamp(38px,6.2vw,49px);
  font-weight:700;
  line-height:.95;
  text-shadow:0 1px 0 rgba(255,255,255,.8),0 0 12px rgba(155,41,63,.14);
}
.invitation-footer .footer-made-love{
  margin:20px 0 20px;
  color:#75433a;
  font-size:clamp(17px,3vw,22px);
  line-height:1.3;
}
.invitation-footer .instagram-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  min-height:51px;
  padding:13px 23px;
  border:1px solid #782b39;
  border-radius:999px;
  color:#fff6e7;
  background:linear-gradient(135deg,#8b2e40,#5c2432);
  box-shadow:0 4px 12px rgba(83,34,34,.15),inset 0 0 0 1px rgba(255,246,225,.12);
  text-decoration:none;
  font-size:clamp(15px,2.8vw,18px);
  font-weight:600;
  line-height:1.1;
  transition:background-color .15s ease,box-shadow .15s ease;
}
.invitation-footer .instagram-button:hover{transform:none;box-shadow:0 5px 14px rgba(83,34,34,.19)}
.invitation-footer .instagram-logo{width:21px;height:21px;flex:none}
@media(max-width:760px){
  .invitation-footer{min-height:max(720px,100svh);padding:35px 14px max(150px,19svh);background-position:center center}
  .invitation-footer .footer-inner{width:100%;padding:0 8px}
  .invitation-footer h2{font-size:clamp(36px,9.4vw,44px);margin-bottom:15px}
  .invitation-footer .footer-couple-names{font-size:clamp(35px,9.1vw,43px);line-height:1.07}
  .invitation-footer .footer-heart{font-size:clamp(37px,9.4vw,44px);margin:2px 0}
  .invitation-footer .footer-made-love{font-size:clamp(16px,4.1vw,19px);margin:18px 0 17px}
  .invitation-footer .instagram-button{min-height:48px;padding:12px 19px;font-size:15px;gap:9px}
  .invitation-footer .instagram-logo{width:19px;height:19px}
}

/* Performance refinements: keep background framing stable in both languages while minimizing repaint-heavy effects. */
.invitation-section,
body.ta .invitation-section{
  background-attachment:fixed!important;
  background-position:center center!important;
  background-size:cover!important;
}
.white-petal{filter:none!important;text-shadow:none!important;will-change:transform,opacity;}
.global-petals{contain:layout paint;}
.glass-card,.glass-heading{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
@media(max-width:760px){
  .glass-card,.glass-heading,.language-toggle,.floating-music{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}
@media(prefers-reduced-motion:reduce){
  .white-petal,.opening-rice-grain,.rice-grain{animation:none!important;display:none!important}
}

/* RSVP success confirmation modal */
.rsvp-thanks-dialog{width:min(92vw,540px);max-width:540px;max-height:min(88vh,720px);padding:0;border:0;border-radius:18px;background:transparent;color:var(--ink);overflow:visible}
.rsvp-thanks-dialog::backdrop{background:rgba(21,11,4,.76);backdrop-filter:blur(4px)}
.rsvp-thanks-card{position:relative;box-sizing:border-box;width:100%;max-height:min(88vh,720px);overflow:auto;text-align:center;padding:clamp(28px,6vw,46px) clamp(22px,5vw,40px) 30px;border:1px solid #d8b365;border-radius:18px 34px 18px 34px;background:linear-gradient(145deg,rgba(255,251,235,.99),rgba(246,226,183,.99));box-shadow:0 25px 80px rgba(0,0,0,.38),inset 0 0 0 5px rgba(255,255,255,.45)}
.rsvp-thanks-heart{font-size:38px;line-height:1;color:#a87828;text-shadow:0 3px 12px rgba(188,135,48,.28);margin:0 0 12px}
.rsvp-thanks-card h2{margin:0 auto 15px;color:#563515;font:600 clamp(25px,5vw,34px)/1.15 var(--serif)}
.rsvp-thanks-card p{margin:0 auto 25px;max-width:430px;color:#684a2a;font-size:clamp(16px,3.7vw,19px);line-height:1.55;overflow-wrap:anywhere}
.rsvp-thanks-dismiss{position:absolute;top:10px;right:12px;width:38px;height:38px;border:1px solid #cfaa60;border-radius:50%;background:rgba(255,248,224,.85);color:#69461d;font:28px/1 Arial,sans-serif}
.rsvp-thanks-close{min-width:135px;margin:0 auto}
body.ta .rsvp-thanks-card h2{font-family:var(--tamil),serif;font-size:clamp(22px,4.5vw,30px);line-height:1.35}
body.ta .rsvp-thanks-card p{font-family:var(--tamil),serif;line-height:1.75}
@media(prefers-reduced-motion:no-preference){.rsvp-thanks-dialog[open] .rsvp-thanks-card{animation:thanksPopIn .22s ease-out both}@keyframes thanksPopIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}}


/* Confirmed refinements: flatten opening name typography, synchronize fade with split, add two scroll chevrons,
   replace couple cutout via shared assets/couple-sticker.webp, and make footer more compact. */
.opening-names h1,
.opening-name-text {
  text-shadow: 0 3px 8px rgba(25, 10, 1, .56) !important;
  -webkit-text-stroke: 0 !important;
  filter: none !important;
}
.opening-heart {
  text-shadow: 0 2px 5px rgba(64, 29, 3, .48), 0 0 10px rgba(255, 214, 111, .28) !important;
}
.white-fade {
  transition: background 1s ease !important;
}
.opening-screen.is-opening .white-fade {
  background: rgba(255, 251, 238, .94) !important;
  transition-delay: 0s !important;
  transition-duration: 1s !important;
}
.scroll-cue::after {
  content: "⌄\A⌄";
  display: block;
  white-space: pre;
  margin-top: -4px;
  color: currentColor;
  font: 700 clamp(23px, 5vw, 31px)/.48 Arial, sans-serif;
  text-shadow: 0 1px 0 rgba(255, 246, 215, .85), 0 0 8px rgba(255, 216, 125, .34);
  animation: arrowBob 1.8s ease-in-out infinite;
}
.invitation-footer {
  min-height: clamp(440px, 58svh, 610px) !important;
  padding: 36px 14px 40px !important;
  background-color: #f4eddf !important;
  background-size: clamp(195px, 48vw, 290px) auto !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
@media (max-width: 760px) {
  .invitation-footer {
    min-height: clamp(440px, 58svh, 520px) !important;
    padding: 30px 12px 34px !important;
    background-size: clamp(195px, 50vw, 250px) auto !important;
  }
  .invitation-footer .footer-inner { width: 100% !important; padding: 0 8px !important; }
  .invitation-footer h2 { font-size: clamp(30px, 8vw, 40px) !important; margin-bottom: 10px !important; }
  .invitation-footer .footer-couple-names { font-size: clamp(28px, 7.5vw, 36px) !important; line-height: 1.02 !important; }
  .invitation-footer .footer-heart { font-size: clamp(30px, 7.8vw, 37px) !important; margin: 1px 0 !important; }
  .invitation-footer .footer-made-love { font-size: clamp(14px, 3.8vw, 17px) !important; margin: 10px 0 12px !important; }
  .invitation-footer .instagram-button { min-height: 42px !important; padding: 9px 15px !important; font-size: 13px !important; }
  .invitation-footer .instagram-logo { width: 17px !important; height: 17px !important; }
}


/* Final requested cleanup: the single transparent couple cutout is shared by opening and all invitation sections. */
.opening-names h1 {
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
  filter: none !important;
}
.opening-names .opening-name-text {
  text-shadow: 0 2px 4px rgba(28, 11, 1, .34) !important;
  -webkit-text-stroke: 0 !important;
  filter: none !important;
}
.opening-heart {
  text-shadow: 0 1px 4px rgba(48, 21, 1, .38) !important;
}

/* Fade now starts at the exact same moment as the split doors; reaches white as the doors finish opening. */
.white-fade {
  z-index: 30 !important;
  background: #fffaf0 !important;
  opacity: 0 !important;
  transition: opacity 1.05s cubic-bezier(.22,.61,.36,1) !important;
  transition-delay: 0s !important;
}
.opening-screen.is-opening .white-fade {
  opacity: 1 !important;
  background: #fffaf0 !important;
  transition-duration: 1.05s !important;
  transition-delay: 0s !important;
}

/* The compact footer uses a cropped half-background that fills the footer region. */
.invitation-footer {
  min-height: 0 !important;
  height: auto !important;
  padding: 24px 12px 28px !important;
  background-color: #f4eddf !important;
  background-image: url('assets/footer-background-crop.webp') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.invitation-footer .footer-inner {
  width: min(620px, 100%) !important;
  margin: 0 auto !important;
  padding: 0 8px !important;
}
.invitation-footer h2 {
  font-size: clamp(30px, 5vw, 42px) !important;
  margin: 0 0 8px !important;
}
.invitation-footer .footer-couple-names {
  font-size: clamp(30px, 5.1vw, 43px) !important;
  line-height: 1.02 !important;
}
.invitation-footer .footer-heart {
  font-size: clamp(31px, 5.2vw, 44px) !important;
  margin: 1px 0 !important;
}
.invitation-footer .footer-made-love {
  font-size: clamp(15px, 2.6vw, 19px) !important;
  margin: 10px 0 12px !important;
}
.invitation-footer .instagram-button {
  min-height: 43px !important;
  padding: 10px 17px !important;
  font-size: clamp(13px, 2.3vw, 16px) !important;
  max-width: 100%;
}
.invitation-footer .instagram-logo { width: 18px !important; height: 18px !important; }

/* A smaller floating couple cutout avoids obscuring the footer call-to-action while remaining present. */
.couple-throughout {
  object-fit: contain !important;
  object-position: right bottom !important;
}
body.footer-in-view .couple-throughout {
  width: clamp(84px, 18vw, 118px) !important;
  max-height: 15vh !important;
  filter: drop-shadow(0 3px 5px rgba(35,17,4,.18)) !important;
}
@media (max-width: 760px) {
  .invitation-footer { padding: 20px 10px 24px !important; }
  .invitation-footer .footer-inner {
    width: calc(100% - clamp(92px, 24vw, 126px)) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    padding: 0 4px !important;
  }
  .invitation-footer h2 { font-size: clamp(27px, 7vw, 36px) !important; margin-bottom: 7px !important; }
  .invitation-footer .footer-couple-names { font-size: clamp(25px, 6.8vw, 34px) !important; line-height: 1.02 !important; }
  .invitation-footer .footer-heart { font-size: clamp(27px, 7vw, 35px) !important; margin: 1px 0 !important; }
  .invitation-footer .footer-made-love { font-size: clamp(13px, 3.7vw, 16px) !important; margin: 8px 0 10px !important; }
  .invitation-footer .instagram-button { min-height: 39px !important; padding: 8px 11px !important; font-size: clamp(11px, 3.3vw, 13px) !important; gap: 7px !important; }
  .invitation-footer .instagram-logo { width: 16px !important; height: 16px !important; }
}


/* Latest couple and footer alignment corrections: preserve full couple artwork and consistent size in every section. */
.couple-sticker,
.couple-throughout,
body.footer-in-view .couple-throughout {
  object-fit: contain !important;
  object-position: right bottom !important;
  height: auto !important;
}
.couple-throughout,
body.footer-in-view .couple-throughout {
  width: clamp(118px, 24vw, 175px) !important;
  max-height: 25vh !important;
  right: 0 !important;
  bottom: 0 !important;
}
.invitation-footer .footer-inner {
  width: min(620px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
  text-align: center !important;
}
.invitation-footer .instagram-button {
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 760px) {
  .couple-throughout,
  body.footer-in-view .couple-throughout {
    width: clamp(106px, 28vw, 145px) !important;
    max-height: 22vh !important;
  }
  .invitation-footer .footer-inner {
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    text-align: center !important;
  }
}


/* Final image-quality fix: keep the entire transparent couple artwork visible on every section. */
.couple-sticker,
.couple-throughout,
body.footer-in-view .couple-throughout {
  display: block !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  height: auto !important;
  max-height: none !important;
  transform: none !important;
  clip-path: none !important;
  overflow: visible !important;
}
.couple-sticker {
  right: 0 !important;
  bottom: 0 !important;
  width: clamp(148px, 33vw, 225px) !important;
  max-width: 38vw !important;
}
.couple-throughout,
body.footer-in-view .couple-throughout {
  position: fixed !important;
  right: 0 !important;
  bottom: 0 !important;
  width: clamp(128px, 32vw, 178px) !important;
  max-width: 40vw !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  z-index: 115 !important;
  pointer-events: none !important;
}
/* The Tamil wording comes from the supplied printed invitation; avoid duplicate English-style labels there. */
.tamil-family-designation,
.tamil-family-honorific {
  color: #704728;
  font-family: var(--tamil), serif;
  font-size: clamp(12px, 2.0vw, 16px);
  font-weight: 600;
  line-height: 1.25;
  margin: 1px auto;
  text-align: center;
}
.tamil-family-designation[hidden],
.tamil-family-honorific[hidden] { display: none !important; }
body.ta .section-one .family-label { display: none !important; }
body.ta .section-one .parents-name {
  min-height: 0 !important;
  line-height: 1.22 !important;
  font-size: clamp(12px, 3.25vw, 17px) !important;
}
@media (max-width: 760px) {
  .couple-sticker { width: clamp(148px, 36vw, 180px) !important; max-width: 42vw !important; }
  .couple-throughout,
  body.footer-in-view .couple-throughout {
    width: clamp(128px, 32vw, 150px) !important;
    max-width: 40vw !important;
    max-height: none !important;
  }
  .tamil-family-designation,
  .tamil-family-honorific { font-size: clamp(11px, 3.0vw, 14px); }
}


/* Latest Tamil corrections: keep long parents' names fully inside the mobile viewport. */
body.ta .section-one .parents-name {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  font-size: clamp(9px, 2.45vw, 12px) !important;
  line-height: 1.22 !important;
  letter-spacing: -0.025em !important;
}
@media (max-width: 760px) {
  body.ta .section-one .parents-name {
    font-size: clamp(9px, 2.55vw, 11px) !important;
    line-height: 1.2 !important;
  }
}
/* Tamil venue name/address are allowed to wrap neatly without changing background scale. */
body.ta .venue-card h3[data-i18n="venueName"] {
  font-size: clamp(19px, 4.7vw, 28px) !important;
  line-height: 1.2 !important;
  overflow-wrap: anywhere;
}
body.ta .venue-card .venue-address[data-i18n="venueAddress"] {
  font-size: clamp(13px, 3.1vw, 17px) !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere;
  max-width: 100%;
}


/* Current update: show the new transparent couple artwork on the opening screen and fixed bottom-right throughout the invitation. */

/* Re-enable the newly supplied transparent couple cutout on the opening screen and throughout the invitation. */
.couple-sticker {
  display: block !important;
  right: 0 !important;
  bottom: 0 !important;
  width: clamp(148px, 33vw, 225px) !important;
  max-width: 42vw !important;
  max-height: 42vh !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  overflow: visible !important;
  clip-path: none !important;
}
.couple-throughout {
  display: block !important;
  position: fixed !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 115 !important;
  width: clamp(128px, 32vw, 178px) !important;
  max-width: 40vw !important;
  max-height: 32vh !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  overflow: visible !important;
  clip-path: none !important;
  pointer-events: none !important;
  filter: drop-shadow(0 5px 8px rgba(35,17,4,.25)) !important;
}
/* Show the fixed image after the opening animation has completed, not above the split-door intro. */
body:not(.invitation-open) .couple-throughout { display: none !important; }
body.invitation-open .couple-throughout { display: block !important; }
@media (max-width: 760px) {
  .couple-sticker { width: clamp(128px, 36vw, 154px) !important; max-width: 42vw !important; }
  .couple-throughout { width: clamp(118px, 30vw, 145px) !important; max-width: 40vw !important; }
}


/* Oct 16 update: fit the revised English title and Tamil wording while keeping section framing stable. */
.section-one #sectionOneTitle {
  font-size: clamp(30px, 5.0vw, 52px) !important;
  line-height: 1.08 !important;
  max-width: min(100%, 820px);
  margin-left: auto;
  margin-right: auto;
  text-wrap: balance;
}
@media (max-width: 760px) {
  .section-one #sectionOneTitle {
    font-size: clamp(28px, 6.0vw, 38px) !important;
    line-height: 1.08 !important;
    padding-inline: 2px;
  }
}

/* Keep the complete couple sticker slightly smaller, flush to the right/bottom, and constant while scrolling. */
.couple-sticker,
.couple-throughout,
body.footer-in-view .couple-throughout {
  right: 0 !important;
  bottom: 0 !important;
  width: clamp(116px, 25vw, 145px) !important;
  max-width: 34vw !important;
  max-height: 29svh !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: right bottom !important;
  transform: none !important;
  clip-path: none !important;
}
@media (max-width: 760px) {
  .couple-sticker,
  .couple-throughout,
  body.footer-in-view .couple-throughout {
    width: clamp(112px, 26vw, 140px) !important;
    max-width: 31vw !important;
    max-height: 27svh !important;
  }
}

/* Fit the complete Tamil family honorifics and parent names inside the same Section 1 layout. */
body.ta .section-one .parents-name {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  font-size: clamp(9px, 2.3vw, 11.5px) !important;
  line-height: 1.22 !important;
  letter-spacing: -0.025em !important;
}
body.ta .section-one .tamil-family-designation,
body.ta .section-one .tamil-family-honorific {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  font-size: clamp(10px, 2.55vw, 13px) !important;
  line-height: 1.25 !important;
  letter-spacing: -0.015em !important;
}

/* The supplied Tamil invitation text is longer; make it legible without clipping or altering backgrounds. */
body.ta .section-three .venue-note {
  width: 100%;
  max-width: 780px;
  margin: 18px auto 0;
  padding: 0 4px;
  font-family: var(--tamil), serif;
  font-size: clamp(12px, 2.9vw, 16px) !important;
  line-height: 1.65 !important;
  font-style: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  text-wrap: pretty;
}
@media (max-width: 760px) {
  body.ta .section-three .venue-note {
    font-size: clamp(11px, 3.0vw, 13px) !important;
    line-height: 1.65 !important;
  }
}


/* Client-approved Tamil parent wording: preserve the supplied line breaks. */
body.ta .section-one .parents-name {
  white-space: pre-line !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

/* Latest correction: make Tamil parents' details slightly larger and unify the honorific line colour. */
body.ta .section-one .parents-name,
body.ta .section-one .tamil-family-designation,
body.ta .section-one .tamil-family-honorific {
  color: #543319 !important;
  font-size: clamp(10px, 2.6vw, 13px) !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
}
@media (max-width: 760px) {
  body.ta .section-one .parents-name,
  body.ta .section-one .tamil-family-designation,
  body.ta .section-one .tamil-family-honorific {
    font-size: clamp(10px, 2.7vw, 12.5px) !important;
    line-height: 1.23 !important;
  }
}
