@font-face{font-family:'Great Vibes';font-style:normal;font-weight:400;font-display:swap;src:url("assets/a99106ec-87069f06a4f1ee13-s.woff2") format("woff2")}
@font-face{font-family:Marcellus;font-style:normal;font-weight:400;font-display:swap;src:url("assets/ec61849a-5924d7180a413da6-s.p.woff2") format("woff2")}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 900;font-display:swap;src:url("assets/4afffb06-7b89a4fd5e90ede0-s.p.woff2") format("woff2")}
:root{--paper:#fbeeb8;--ivory:#fff9e9;--ink:#44351e;--maroon:#831f3e;--deep:#711433;--gold:#b68b36;--green:#4c592f;--rule:#c59a4b66}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans Tamil',sans-serif;font-size:16px;line-height:1.95;-webkit-font-smoothing:antialiased}body.covered{overflow:hidden}h1,h2,h3,h4,p,figure,blockquote{margin:0}h1,h2,h3,h4{font-weight:500}a{color:inherit}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}img,video{display:block;max-width:100%}img{height:auto}[hidden]{display:none!important}a,button,input,select,summary{outline-offset:5px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--maroon)}strong{font-weight:600}section{position:relative;isolation:isolate}.container{width:min(100%,700px);margin-inline:auto}.section{padding:72px 24px}.script{font-family:'Great Vibes',cursive;font-weight:400;line-height:1.17;color:var(--maroon)}.eyebrow{font-family:Marcellus,serif;font-size:12px;letter-spacing:.17em;text-transform:uppercase;color:var(--green);line-height:1.65}.tamil-title{font-size:clamp(19px,4.8vw,25px);line-height:1.8;color:var(--deep)}.section-heading{text-align:center;margin-bottom:38px}.section-heading h2.script{font-size:clamp(37px,8vw,54px);margin:12px 0 20px}.section-heading>p:not(.eyebrow){max-width:42em;margin:16px auto 0;line-height:2.05}.decorative{position:absolute;pointer-events:none;z-index:-1;mix-blend-mode:multiply}.text-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;text-underline-offset:6px;color:var(--maroon);font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.entry{position:fixed;inset:0;z-index:100;overflow:hidden;background:var(--ivory);opacity:1;visibility:visible;line-height:1.5}
.entry-trigger{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;padding:max(16px,env(safe-area-inset-top)) 14px max(16px,env(safe-area-inset-bottom));text-align:center;-webkit-tap-highlight-color:transparent;outline-offset:-6px}
.entry-trigger::-webkit-details-marker{display:none}.entry-trigger::marker{content:""}
.entry-heading{display:block;max-width:100%;flex:none;transition:opacity .25s ease,transform .25s ease}
.entry-label{display:block;font-family:Marcellus,serif;text-transform:uppercase;font-size:12px;letter-spacing:.25em;color:var(--green);line-height:1.4;margin-bottom:5px}
.entry-names{display:flex;align-items:center;justify-content:center;gap:.19em;font-size:clamp(31px,8vw,43px);line-height:1.12;white-space:nowrap;color:var(--deep)}
.entry-heart{font-family:serif;font-size:.32em;line-height:1;color:var(--gold)}
.entry-date{display:block;font-family:Marcellus,serif;font-size:13px;letter-spacing:.035em;line-height:1.5;color:var(--green);margin-top:7px}
.door-stage{position:relative;display:block;width:calc((100vh - 206px)*.66);max-width:calc(100vw - 28px);width:min(calc(100vw - 28px),calc((100dvh - 206px - env(safe-area-inset-top) - env(safe-area-inset-bottom))*.66),680px);aspect-ratio:1152/1745;flex:0 0 auto;perspective:1500px;pointer-events:none}
.door-leaf{position:absolute;top:0;bottom:0;width:50%;display:block;background-image:url("assets/peacock-doors.webp");background-size:200% 117.36%;background-repeat:no-repeat;backface-visibility:hidden;transform:rotateY(0);transition:transform 1.65s cubic-bezier(.2,.65,.22,1) .12s;box-shadow:0 8px 18px #58361c26}
.door-left{left:0;transform-origin:left center;background-position:left 69.3%}.door-right{right:0;transform-origin:right center;background-position:right 69.3%}
.entry-button{display:block;flex:none;border:0;border-radius:999px;padding:3px;background:var(--deep);box-shadow:0 8px 20px #2b160825;min-height:50px;max-width:100%;color:#fbeeb8;transition:opacity .2s ease,transform .2s ease}
.entry-button>span{display:block;font-family:Marcellus,serif;border:1px solid #c9932fd9;border-radius:999px;font-size:12px;text-transform:uppercase;letter-spacing:.16em;line-height:1.4;padding:14px 27px}
.entry-trigger:hover .entry-button{background:var(--maroon)}
.entry[open]{background-color:transparent;opacity:0;visibility:hidden;pointer-events:none;transition:background-color .9s ease,opacity .3s ease 1.5s,visibility 0s linear 1.8s}
.entry[open] .entry-heading{opacity:0;transform:translateY(-10px)}.entry[open] .entry-button{opacity:0;transform:translateY(10px)}
.entry[open] .door-left{transform:rotateY(-112deg)}.entry[open] .door-right{transform:rotateY(112deg)}
@media(max-height:540px){.entry-trigger{gap:8px;padding:10px 14px}.entry-label{display:none}.entry-names{font-size:28px}.entry-date{font-size:12px;margin-top:4px}.door-stage{width:min(calc(100vw - 28px),calc((100dvh - 140px)*.66),680px)}.entry-button{min-height:44px}.entry-button>span{padding:11px 22px;font-size:11px}}
.hero{min-height:760px;height:100svh;max-height:1120px;overflow:hidden;background:var(--paper)}.hero-scenery{position:absolute;inset:0;z-index:-1}.hero-film{width:100%;height:100%;object-fit:cover;object-position:center}.hero-content{position:relative;z-index:1;width:min(calc(100% - 36px),590px);margin-inline:auto;padding-top:clamp(150px,21svh,250px);text-align:center}.invocation{font-size:14px;color:var(--maroon);letter-spacing:.02em;margin-bottom:16px}.couple-names{display:flex;flex-direction:column;align-items:center;font-size:clamp(49px,12.7vw,70px);line-height:1.05}.couple-heart{font-family:serif;font-size:20px;line-height:1;margin:12px 0;color:var(--gold)}.letter{display:inline-block;white-space:pre}.hero-tagline{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(19px,5vw,26px);color:var(--deep);margin:19px auto 0;line-height:1.35}.hero-date{display:flex;flex-direction:column;gap:8px;margin:22px auto 0;font-size:15px;line-height:1.7}.hero-date>span:lang(en){font-family:Marcellus,serif;font-size:16px}.hero-venue{max-width:26em;margin:18px auto 0;font-size:14px;line-height:1.8;color:var(--green)}.hero-venue>span{font-family:Marcellus,serif;font-size:13px;letter-spacing:.18em;text-transform:uppercase}.hero-link{margin-top:10px;font-size:13px}
.chapter-nav{position:sticky;top:0;z-index:40;display:flex;justify-content:center;gap:clamp(12px,4vw,38px);padding:4px 12px;background:#fff6dedf;backdrop-filter:blur(12px);border-block:1px solid var(--rule);box-shadow:0 5px 20px #74571908}.chapter-nav a{display:flex;align-items:center;justify-content:center;min-height:48px;text-decoration:none;font-size:13px;color:var(--deep)}.chapter-nav a.active{box-shadow:inset 0 -2px var(--gold)}
.blessing{background:#fff8e8;overflow:hidden}.lotus-hangings{left:0;top:0;width:100%;height:340px;object-fit:cover;object-position:top;opacity:.75;z-index:0}.blessing-inner{position:relative;z-index:1;text-align:center;padding-top:58px}.blessing .tamil-title{margin:12px auto 28px;max-width:20em}.murugan-art{width:clamp(210px,58vw,300px);height:auto;object-fit:contain;margin:20px auto 28px;mix-blend-mode:multiply}.blessing-copy{font-size:15px;line-height:2.15}.blessing-names{font-size:clamp(34px,9vw,46px);margin-top:25px}.blessing-names span{font-family:serif;font-size:.38em;vertical-align:middle;margin-inline:5px}
.story{background:#fbefc5 url("assets/0ba37af5-kolam-tile.png") repeat;background-size:190px}.story>.container{position:relative}.story .section-heading>p{background:#fcf0d3b3;padding:6px 0}.story-intro{color:var(--maroon)}.story-chapters{display:flex;flex-direction:column;gap:20px}.story-chapter{position:relative;background:#fff9ecf2;border:1px solid var(--rule);border-left:3px solid var(--gold);padding:28px 25px;border-radius:4px 16px 16px 4px;box-shadow:0 8px 32px #75542006}.chapter-place{font-family:Marcellus,serif;text-transform:uppercase;font-size:12px;letter-spacing:.09em;line-height:1.6;color:var(--green);margin-bottom:12px}.story-chapter h3{font-size:clamp(18px,4.5vw,22px);line-height:1.75;color:var(--maroon);margin-bottom:18px}.story-chapter>p:not(.chapter-place):not(.name-whisper){font-size:16px;line-height:2.05;margin-top:14px}.story-chapter blockquote{padding:18px 0;color:var(--deep);font-size:16px;line-height:2.1}.name-whisper{text-align:center;font-size:58px;margin:22px 0 8px!important;line-height:1.2}.story-more{margin-top:18px;border-top:1px solid var(--rule)}.story-more summary{cursor:pointer;padding:15px 14px 5px 0;min-height:48px;font-size:13px;color:var(--maroon);line-height:1.9}.story-more[open] summary{padding-bottom:13px}.details-body{font-size:16px;line-height:2.05}.details-body p+p{margin-top:17px}.promise{text-align:center;padding:42px 4px 0}.promise-heart{color:var(--gold);font-size:30px}.promise blockquote{font-size:clamp(19px,4.5vw,24px);line-height:1.9;color:var(--deep);margin:18px 0;font-weight:500}.promise-names{font-family:Marcellus,serif;font-size:14px;letter-spacing:.08em;color:var(--green);margin-bottom:26px}.promise>p:last-child{font-size:16px;line-height:2.1}
.countdown-section{text-align:center;background:#f6e4ae;border-block:1px solid var(--rule);padding-block:48px}.countdown-section .tamil-title{margin-top:12px;font-size:20px}.countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;width:min(100%,520px);margin:30px auto 0}.countdown>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 3px 16px;background:#fff5d4;border:1px solid var(--rule);border-radius:12px;box-shadow:0 7px 15px #86642108}.count-value{font-family:Marcellus,serif;font-size:clamp(29px,8vw,47px);line-height:1.1;color:var(--deep);font-variant-numeric:tabular-nums}.count-label{font-size:12px;line-height:1.7;color:var(--green)}.countdown-arrived{margin-top:24px;color:var(--maroon);font-size:20px}
.celebrations{background:#fff9e9;overflow:hidden}.event-garland{right:-55px;top:0;width:clamp(130px,36vw,300px);height:350px;object-fit:cover;object-position:right bottom;opacity:.6;z-index:0}.celebrations .container{position:relative;z-index:1}.event-list{display:flex;flex-direction:column;gap:28px}.event-card{text-align:center;padding:34px 25px;background:linear-gradient(145deg,#fffaf0,#f8edcb);border:1px solid #bd904d9c;outline:1px solid #bd904d52;outline-offset:-8px;border-radius:18px;box-shadow:0 12px 32px #6f49200a}.event-role{font-size:13px;color:var(--green);line-height:1.8;margin:0 auto 13px}.event-name{font-size:clamp(34px,9.3vw,48px);line-height:1.2}.event-date{display:flex;justify-content:center;align-items:center;gap:16px;margin:24px auto 18px;font-family:Marcellus,serif;color:var(--deep);line-height:1.5}.event-day{font-size:56px;line-height:1}.event-date>div{display:flex;flex-direction:column;text-align:left;font-size:17px}.event-date>div>span+span{font-size:13px;color:var(--green);margin-top:4px;letter-spacing:.08em;text-transform:uppercase}.event-time{font-size:15px;font-weight:500;line-height:1.9;color:var(--deep)}.event-time-en{font-family:Marcellus,serif;font-size:13px;color:var(--green);margin-top:4px;line-height:1.8}.event-venue{font-size:18px;font-weight:500;line-height:1.9;margin:24px auto 5px;max-width:27em;color:var(--deep)}.event-venue:lang(en){font-family:Marcellus,serif;font-size:23px;line-height:1.5}.event-address{font-size:15px;line-height:1.9}.event-address:lang(en){font-family:'Cormorant Garamond',serif;font-size:19px;line-height:1.6}.event-note{font-size:14px;line-height:2;margin:22px auto 0;max-width:31em;color:#66583d}.map-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:10px 26px;border:1px solid var(--gold);border-radius:999px;text-decoration:none;color:var(--deep);margin-top:24px;font-family:Marcellus,serif;font-size:14px}.map-button:hover{background:var(--deep);color:#fff6d9}
.rsvp{background:#f9edc8}.rsvp .container{max-width:580px}.rsvp-form{background:var(--ivory);border:1px solid var(--rule);padding:28px;border-radius:16px;box-shadow:0 12px 32px #694d130a}.field{display:flex;flex-direction:column;gap:9px;font-size:14px;line-height:1.8}.field-hint{font-family:Marcellus,serif;font-size:12px;display:block;color:var(--green)}input[type=text],select{min-width:0;min-height:50px;width:100%;padding:10px 12px;border:1px solid #ba984a88;border-radius:7px;background:#fffdf5;color:var(--ink);font-size:16px;line-height:1.7}input:focus,select:focus{outline:2px solid var(--gold);outline-offset:2px}fieldset{border:0;margin:24px 0 0;padding:0;min-inline-size:0}legend{font-size:14px;line-height:1.9;margin-bottom:10px;color:var(--deep)}.choice{display:flex;align-items:flex-start;gap:11px;padding:12px 10px;min-height:48px;border:1px solid #bf9b5345;border-radius:7px;font-size:14px;line-height:1.9;cursor:pointer;margin-bottom:9px}.choice input{width:18px;height:18px;flex:0 0 18px;margin:5px 0 0;accent-color:var(--maroon)}.choice:has(input:checked){border-color:var(--gold);background:#f6e8be88}.guest-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}.primary-button{display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--deep);border-radius:8px;color:#fff7df;background:var(--deep);min-height:54px;width:100%;padding:12px 10px;margin-top:25px;font-family:Marcellus,serif;font-size:15px;line-height:1.7}.primary-button:hover{background:var(--maroon)}.form-help{font-size:12px;line-height:1.9;text-align:center;margin:14px 0 0;color:var(--green)}.form-error{font-size:14px;line-height:1.8;color:#9a203b;margin-top:15px}.rsvp-result{text-align:center;margin-top:20px;padding-top:18px;border-top:1px solid var(--rule);font-size:14px;line-height:1.9}.host-contact{text-align:center;margin-top:25px;font-size:14px;line-height:2}.host-contact a{display:inline-block;min-height:44px;font-family:Marcellus,serif;font-size:16px;margin-left:8px;text-underline-offset:5px}
.closing{min-height:1100px;display:flex;justify-content:center;align-items:flex-start;padding:180px 25px 410px;overflow:hidden;background:#f7e8bf}.closing-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1}.closing-message{text-align:center;width:min(100%,650px);padding:28px 20px;background:#fff4d8dc;border:1px solid #dec59869;border-radius:14px;backdrop-filter:blur(3px);box-shadow:0 12px 60px #7857190d}.closing-message h2{font-size:20px;line-height:1.9;color:var(--deep);margin:18px 0 16px}.closing-message>p:not(.eyebrow):not(.script){font-size:15px;line-height:2.1}.closing-blessing{margin:22px 0 20px}.closing-message .closing-invite{font-size:22px!important;line-height:1.9!important;color:var(--deep);font-weight:600}.closing-invite span{color:var(--maroon)}.closing-names{font-size:clamp(33px,8.5vw,49px);margin-top:23px}.footer{text-align:center;padding:28px 20px 38px;background:#f9edca;color:var(--green)}.footer p:first-child{font-family:'Cormorant Garamond',serif;font-size:21px;font-style:italic;line-height:1.6}.footer p+p{margin-top:18px;font-size:13px}.sound-toggle{position:fixed;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));z-index:50;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid #cba05b;background:#fff0c9e8;color:var(--deep);font-family:Georgia,serif;font-size:26px;box-shadow:0 4px 18px #69452625}.sound-toggle[aria-pressed=true]{box-shadow:0 0 0 5px #c9932f24,0 4px 18px #69452625}.sound-toggle[aria-pressed=false]::after{content:"";position:absolute;width:27px;height:1px;background:var(--maroon);transform:rotate(-47deg)}.sound-toggle.failed{display:none}
@media(max-width:480px){.section{padding:54px 20px}.hero{min-height:740px}.hero-content{padding-top:150px}.blessing-inner{padding-top:48px}.story-chapter{padding:24px 20px}.section-heading h2.script{font-size:40px}.rsvp-form{padding:22px 18px}.event-card{padding:31px 20px}.closing{min-height:1030px;padding:155px 24px 365px}.closing-message{padding:24px 15px}.closing-message .eyebrow{font-size:11px;letter-spacing:.09em}.closing-message>p:not(.eyebrow):not(.script){font-size:14px}.closing-message h2{font-size:18px}.closing-message .closing-invite{font-size:20px!important}.countdown-section .tamil-title{font-size:18px}}
@media(max-width:359px){.section{padding-inline:16px}.entry-content{width:86%}.entry-names{font-size:34px}.couple-names{font-size:47px}.hero-date>span:lang(en){font-size:14px}.hero-venue{font-size:13px}.chapter-nav{gap:20px}.story-chapter{padding:22px 16px}.count-label{font-size:11px}.event-name{font-size:33px}.event-venue{font-size:17px}.closing{padding-inline:18px}}
@media(min-width:900px){.hero-content{padding-top:20svh}.hero{min-height:900px}.section{padding-block:86px}.blessing{background:#fff8e8}.lotus-hangings{width:min(100%,1100px);left:50%;transform:translateX(-50%);height:390px}.story-chapter{padding:36px 40px}.event-card{padding:44px 60px}.closing{min-height:1330px;padding-top:200px;padding-bottom:500px}.closing-art{object-position:center 65%}.closing-message{padding:38px 45px}.closing-message h2{font-size:25px}.closing-message>p:not(.eyebrow):not(.script){font-size:18px}.closing-message .closing-invite{font-size:28px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-film{visibility:hidden}.hero-scenery{background:url("assets/1aa6c6a7-hero-poster.jpg") center/cover}}
@media print{.entry,.chapter-nav,.sound-toggle,.rsvp{display:none!important}.hero{height:auto;min-height:700px}.hero-content{padding-top:100px}.section{padding-block:30px}.story-more>.details-body{display:block}.closing{min-height:850px}.event-card{break-inside:avoid}}
