:root{--wine:#4a1927;--ink:#402e2f;--cream:#fbf7ef;--gold:#977540;--line:#d9cdb8;--muted:#726462}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.7}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #ad8242;outline-offset:5px}.skip{position:fixed;top:-80px;left:20px;z-index:10;background:white;padding:10px}.skip:focus{top:10px}header{height:86px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--cream);position:relative;z-index:2}.brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:31px;text-decoration:none;white-space:nowrap}.brand i{color:var(--gold);font-size:24px;margin:0 6px}nav{display:flex;gap:35px}nav a{text-decoration:none;font-size:14px}nav a:hover{text-decoration:underline;text-underline-offset:5px}.languages{display:flex;border:1px solid var(--line);padding:4px;border-radius:4px;gap:2px}.languages button{cursor:pointer;border:0;background:none;padding:8px 14px;font:inherit;font-size:14px;color:var(--ink);border-radius:2px}.languages button[aria-pressed=true]{background:var(--wine);color:white}.hero{position:relative;isolation:isolate;min-height:810px;text-align:center;display:flex;align-items:center;justify-content:center;padding:74px 24px 90px;background-color:#f4eedf;background-image:linear-gradient(90deg,#fbf7ef22,#fbf7ef22),url('assets/botanical.jpg');background-position:center;background-size:100% 100%}.hero:before{content:'';position:absolute;inset:22px;border:1px solid #aa85465c;z-index:-1;pointer-events:none}.hero-inner{width:100%;max-width:950px}.eyebrow{font-size:12px;letter-spacing:.2em;font-weight:500;color:var(--gold);line-height:1.8;margin:0 0 20px}.fine-line{width:54px;height:1px;background:var(--gold);margin:24px auto}.intro{font:italic 26px 'Cormorant Garamond',Georgia,serif;color:var(--muted);margin:20px 0 24px}h1,h2,h3,h4,blockquote{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}h1{margin:0;color:var(--wine);font-size:clamp(58px,7.4vw,106px);line-height:.98;letter-spacing:-.035em}h1 span{display:block}h1 em{display:block;font-size:49px;line-height:1.2;color:var(--gold);font-weight:400;margin:5px 0}h1 span:last-child{margin-top:4px}.hero-invite{margin:30px 0 17px;font-size:15px}.date-line{display:flex;align-items:center;justify-content:center;gap:22px;color:var(--wine);font-size:14px;letter-spacing:.13em}.date-line strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:50px;font-weight:400;line-height:1;padding:0 22px;border-left:1px solid var(--line);border-right:1px solid var(--line)}.place{font-size:12px;letter-spacing:.16em;margin:19px 0 28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;text-decoration:none;font-size:14px;padding:14px 24px;border:1px solid var(--wine);transition:background .2s,transform .2s;min-height:50px}.button:hover{transform:translateY(-2px)}.primary{background:var(--wine);color:#fff7e9}.primary:hover{background:#64273a}.hero-bottom{position:absolute;bottom:29px;font:italic 18px 'Cormorant Garamond',Georgia,serif;color:var(--muted);margin:0}.section{max-width:1240px;margin:auto;padding:95px 60px}.blessing{text-align:center;max-width:1100px}.blessing blockquote{font-size:clamp(27px,3vw,39px);line-height:1.35;margin:0 auto 20px}.scripture{font-size:12px;letter-spacing:.17em;color:var(--muted)}.divider{color:var(--gold);display:flex;align-items:center;gap:22px;max-width:220px;margin:46px auto}.divider:before,.divider:after{content:'';height:1px;background:var(--line);flex:1}.family-intro{margin-bottom:0;color:var(--muted)}.parents{font-size:31px;margin:4px 0 12px;color:var(--wine)}.family-copy{line-height:1.95;margin:0;color:var(--muted)}.family-copy strong{font-weight:500;color:var(--wine)}.celebrations{padding-top:25px}.section-heading{text-align:center;margin-bottom:43px}h2{font-size:52px;line-height:1.12;margin:10px 0 18px;color:var(--wine)}.section-heading>p:last-child{color:var(--muted)}.events{display:grid;grid-template-columns:1fr 1fr;gap:25px}.event{display:flex;flex-direction:column;border:1px solid var(--line);padding:34px 40px 40px;background:#fffcf7}.event-top{display:flex;align-items:center;gap:20px;margin-bottom:18px}.number{font:italic 37px 'Cormorant Garamond',serif;color:var(--gold)}.event-top .eyebrow{margin:0;font-size:11px}.event h3{font-size:37px;color:var(--wine);margin:0 0 18px;line-height:1.2}.event-date{font-size:17px;margin:0 0 5px}.time{margin:0;color:var(--wine)}.time span{font-size:13px;color:var(--muted)}.event-rule{height:1px;background:var(--line);margin:26px 0}.event h4{font-size:27px;line-height:1.2;margin:0 0 10px;font-weight:500}.address{margin:0;color:var(--muted);font-size:15px}.note{font-style:italic;font-size:14px;margin-bottom:0;color:var(--gold)}.pastor{font-size:14px;margin:25px 0 30px;color:var(--muted)}.pastor strong{font-weight:500;color:var(--ink)}.direction{margin-top:auto;width:100%;justify-content:space-between}.direction:hover{background:#f4eadb}.reception{background:#f3ecdf}.video-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr;gap:65px;align-items:center}.video-copy>p:last-child{color:var(--muted);max-width:320px}.video-frame{aspect-ratio:16/10;background:var(--wine);padding:18px;color:#f5e8cc}.video-placeholder{border:1px solid #b592584f;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.video-monogram{font:52px 'Cormorant Garamond',Georgia,serif}.video-monogram i{font-size:37px;color:#c6a777}.short-rule{height:1px;width:40px;background:#b5925877;margin-top:18px}.video-placeholder p{font-size:15px;margin:18px 0 8px}.video-caption{font:italic 19px 'Cormorant Garamond',serif;color:#d4bfa3}.video-frame:has(video){padding:0;background:#251b20;aspect-ratio:auto}.video-frame video{display:block;width:100%;max-height:600px}footer{padding:72px 24px 30px;text-align:center;background:#eee5d6}footer h2{font-size:43px}footer h2 i{color:var(--gold)}footer p:not(.eyebrow){color:var(--muted);font-size:14px}.footer-line{height:1px;background:var(--line);max-width:1100px;margin:55px auto 22px}footer>span{font-size:12px;letter-spacing:.15em;color:var(--muted)}html[lang=te] body{font-family:'Noto Sans Telugu',sans-serif}html[lang=te] h1,html[lang=te] h2,html[lang=te] h3,html[lang=te] h4,html[lang=te] blockquote,html[lang=te] .intro,html[lang=te] .hero-bottom{font-family:'Noto Sans Telugu',sans-serif;line-height:1.65;letter-spacing:0}html[lang=te] h1{font-size:clamp(39px,5.6vw,75px);line-height:1.4}html[lang=te] h1 em{font-family:Georgia,serif;font-size:38px;line-height:1}html[lang=te] h2{font-size:37px}html[lang=te] h3{font-size:28px}html[lang=te] h4{font-size:24px}html[lang=te] .parents{font-size:27px}html[lang=te] .eyebrow,html[lang=te] .place{letter-spacing:.02em}html[lang=te] .intro{font-size:22px}html[lang=te] blockquote{font-size:28px}html[lang=te] .hero-bottom{font-size:14px}
@media(max-width:760px){header{height:76px;padding:0 20px}.brand{font-size:27px}nav{display:none}.languages button{padding:8px 12px}.hero{min-height:760px;padding:65px 27px 90px}.hero:before{inset:12px}.hero .eyebrow{max-width:270px;margin-inline:auto;font-size:11px}.intro{font-size:23px}h1{font-size:68px}.section{padding:65px 24px}.parents{font-size:29px}.family-copy br{display:none}.family-copy{line-height:1.95}.events{grid-template-columns:1fr;gap:20px}.event{padding:28px}.event h3{font-size:35px}.video-section{grid-template-columns:1fr;gap:25px}.video-copy{text-align:center}.video-copy>p:last-child{margin:auto;max-width:390px}.video-frame{aspect-ratio:16/11}.video-placeholder{padding:18px}h2{font-size:43px}.section-heading{margin-bottom:30px}footer h2{font-size:35px}html[lang=te] .hero{min-height:790px}html[lang=te] h1{font-size:48px}html[lang=te] h2{font-size:30px}html[lang=te] .parents{font-size:25px}html[lang=te] blockquote{font-size:24px}html[lang=te] .video-frame{aspect-ratio:auto;min-height:310px}}
@media(max-width:380px){h1{font-size:57px}.event{padding:22px}.time span{display:block}html[lang=te] h1{font-size:41px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* A luminous, quietly enchanted invitation. */
.hero{overflow:hidden;background-image:radial-gradient(ellipse at 50% 44%,#fffdf4bd 0%,#fff9e838 46%,transparent 75%),url('assets/botanical.jpg')}
.hero:after{content:'';position:absolute;inset:36px;border:1px solid #c5a36c35;pointer-events:none;z-index:-1}
.hero-inner{position:relative;z-index:1;animation:invitation-arrive 1.4s ease-out both}
h1{font-size:clamp(62px,8.4vw,115px);line-height:1.08;letter-spacing:-.035em;text-wrap:balance;text-shadow:0 3px 28px #d5b67655}
.couple-names{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(27px,3.6vw,43px);color:var(--wine);margin:23px 0 0;line-height:1.4}
.couple-names em{color:var(--gold);padding:0 9px}
.hero-invite{margin-top:20px}
.starlight{position:absolute;inset:0;pointer-events:none;z-index:0;color:#a07830}
.starlight span{position:absolute;left:var(--x);top:var(--y);font-size:20px;opacity:.36;text-shadow:0 0 14px #e8b752;animation:twinkle 3.8s ease-in-out var(--delay) both}
.starlight span:nth-child(3n){font-size:30px;color:#bd944d}
.primary{box-shadow:0 7px 25px #64302424}
.event{box-shadow:0 12px 34px #6a482008;transition:box-shadow .3s ease,transform .3s ease}
@media(hover:hover){.event:hover{transform:translateY(-4px);box-shadow:0 16px 36px #6a482014}}
.video-frame{background:radial-gradient(ellipse at top,#7b3e48,var(--wine) 70%);box-shadow:0 15px 40px #4a19271a}
html[lang=te] h1{font-size:clamp(40px,6.5vw,80px);line-height:1.5}
html[lang=te] .couple-names{font-family:'Noto Sans Telugu',sans-serif;font-size:clamp(22px,3vw,33px);line-height:1.8}
@keyframes invitation-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes twinkle{0%{opacity:.16;transform:scale(.65) rotate(-12deg)}40%{opacity:.8;transform:scale(1.15) rotate(8deg)}100%{opacity:.36;transform:scale(1) rotate(0)}}
@media(max-width:760px){.hero:after{inset:20px}.hero{min-height:740px}.couple-names{max-width:310px;margin:23px auto 0}html[lang=te] .hero{min-height:740px}.starlight span:nth-child(3n){font-size:22px}}
@media(prefers-reduced-motion:reduce){.hero-inner,.starlight span{animation:none}.event:hover{transform:none}}
