/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.italic{font-style:italic}}:root{--cream:#fbf5e8;--paper:#fffaf0;--ink:#4c342e;--wine:#982f48;--wine-dark:#6f1f34;--rose:#d9919e;--gold:#c89443;--sage:#72816b;--line:#6f1f342e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:Georgia,Times New Roman,serif}button,a{-webkit-tap-highlight-color:transparent}.invitation{background:radial-gradient(circle at 20% 12%, #d9919e1f, transparent 28rem), radial-gradient(circle at 80% 35%, #c8944317, transparent 30rem), var(--cream);min-height:100vh;overflow:hidden}.floating-petals{z-index:60;pointer-events:none;position:fixed;inset:0;overflow:hidden}.floating-petals i{color:var(--rose);opacity:0;font-style:normal;animation:11s linear infinite petal-fall;position:absolute;top:-8vh}.opened .floating-petals i{opacity:.38}.floating-petals i:first-child{animation-delay:0s;left:3%}.floating-petals i:nth-child(2){animation-delay:7s;left:10%}.floating-petals i:nth-child(3){animation-delay:2s;left:18%}.floating-petals i:nth-child(4){animation-delay:9s;left:27%}.floating-petals i:nth-child(5){animation-delay:5s;left:35%}.floating-petals i:nth-child(6){animation-delay:1s;left:44%}.floating-petals i:nth-child(7){animation-delay:8s;left:51%}.floating-petals i:nth-child(8){animation-delay:3s;left:59%}.floating-petals i:nth-child(9){animation-delay:10s;left:66%}.floating-petals i:nth-child(10){animation-delay:6s;left:73%}.floating-petals i:nth-child(11){animation-delay:2.5s;left:79%}.floating-petals i:nth-child(12){animation-delay:8.5s;left:84%}.floating-petals i:nth-child(13){animation-delay:4s;left:89%}.floating-petals i:nth-child(14){animation-delay:.5s;left:94%}.floating-petals i:nth-child(15){animation-delay:6.5s;left:97%}.floating-petals i:nth-child(16){animation-delay:10.5s;left:48%}.opening-screen{z-index:100;background:linear-gradient(#fbf5e8e6,#fbf5e8fa),repeating-linear-gradient(90deg,#6f1f3406 0 1px,#0000 1px 5px);place-items:center;transition:opacity .85s,visibility .85s;display:grid;position:fixed;inset:0;overflow:hidden}.opened .opening-screen{opacity:0;visibility:hidden}.opening-flowers{color:var(--wine);text-align:center;filter:blur(3px);opacity:.56;font-size:clamp(4rem,10vw,9rem);position:absolute;inset:-8vh -8vw auto;transform:rotate(-2deg)}.opening-content{z-index:2;text-align:center;justify-items:center;gap:1.2rem;padding:2rem;display:grid;position:relative}.small-caps,.section-label{color:var(--wine);letter-spacing:.24em;text-transform:uppercase;margin:0;font-family:Avenir Next,Segoe UI,sans-serif;font-size:.68rem;font-weight:700}.opening-content h2{color:var(--wine);margin:.3rem 0 0;font-family:Snell Roundhand,Brush Script MT,cursive;font-size:clamp(2.7rem,7vw,4.5rem);font-weight:400}.opening-hint{opacity:.7;margin:-.8rem 0 0;font-size:.84rem;font-style:italic}.envelope{aspect-ratio:1.48;cursor:pointer;isolation:isolate;background:#e8cbbd;border:0;width:min(82vw,390px);position:relative;box-shadow:0 24px 60px #4c342e33}.envelope-letter{z-index:1;background:var(--paper);border:1px solid #982f4829;flex-direction:column;justify-content:center;align-items:center;transition:transform .45s;display:flex;position:absolute;inset:9% 8% 18%}.envelope-letter small{font-size:.68rem;font-style:italic}.envelope-letter strong{color:var(--wine);margin:.6rem 0;font-size:2.3rem;font-weight:400}.envelope-letter em{color:var(--gold);letter-spacing:.18em;font-size:.66rem}.envelope-left,.envelope-right{z-index:3;clip-path:polygon(0 0,53% 53%,0 100%);background:#efd5ca;position:absolute;inset:0}.envelope-right{clip-path:polygon(100% 0,47% 53%,100% 100%)}.envelope-flap{z-index:4;clip-path:polygon(0 0,50% 96%,100% 0);transform-origin:top;background:#f4ddd3;transition:transform .35s;position:absolute;inset:0 0 46%}.envelope:hover .envelope-flap,.envelope:focus-visible .envelope-flap{transform:rotateX(16deg)}.seal{z-index:6;aspect-ratio:1;background:var(--wine);color:#fff;border:3px double #fff9;border-radius:50%;place-items:center;width:66px;font-size:.62rem;line-height:.86;display:grid;position:absolute;top:49%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 16px #4c342e47}.music-control{z-index:70;aspect-ratio:1;color:#fff;cursor:pointer;opacity:0;background:#982f48e0;border:1px solid #ffffffb3;border-radius:50%;place-items:center;width:44px;font-size:1.15rem;transition:opacity .4s,transform .4s;display:grid;position:fixed;top:1rem;right:1rem;transform:translateY(-10px);box-shadow:0 6px 18px #4c342e33}.opened .music-control{opacity:1;transform:translateY(0)}.music-control.unavailable{background:#72816bd1}.hero{text-align:center;min-height:100vh;padding:clamp(7rem,13vw,10rem) 1.5rem 4rem;position:relative}.floral-canopy{filter:blur(2px);opacity:.6;pointer-events:none;height:28vh;font-size:clamp(5rem,11vw,10rem);line-height:.9;position:absolute;inset:-6vh -4vw auto;overflow:hidden;transform:rotate(-2deg)}.floral-canopy span:nth-child(2),.floral-canopy span:nth-child(5){display:inline-block;transform:translateY(-20px)rotate(12deg)}.hero-inner{z-index:2;width:min(100%,1180px);margin:0 auto;position:relative}.ganesha{aspect-ratio:1;border:1px solid var(--gold);width:60px;color:var(--wine);border-radius:50%;place-items:center;margin:0 auto;font-size:1rem;display:grid}.blessing{color:var(--wine);margin:.8rem 0 2rem;font-style:italic}.intro-copy{color:#624940;width:min(100%,620px);margin:0 auto 1.2rem;font-size:clamp(.95rem,1.6vw,1.15rem);line-height:1.8}.couple-presentation{grid-template-columns:1fr minmax(320px,.9fr) 1fr;align-items:end;min-height:640px;margin-top:-1rem;display:grid}.portrait{object-fit:contain;filter:drop-shadow(0 16px 12px #4c342e1f);width:100%;max-height:650px;display:block}.portrait.groom{justify-self:end;transform:translate(8%)}.portrait.bride{justify-self:start;transform:translate(-8%)}.names{align-self:center;padding:2rem 0}.names h1{color:var(--wine);letter-spacing:-.06em;margin:0;font-family:Snell Roundhand,Brush Script MT,cursive;font-size:clamp(4.5rem,8vw,8.2rem);font-weight:400;line-height:.9}.names>span{color:var(--gold);margin:1.1rem 0;font-family:Snell Roundhand,Brush Script MT,cursive;font-size:2rem;font-style:italic;display:block}.parentage{margin:.7rem 0 0;font-size:.86rem;line-height:1.6}.ornament{color:var(--wine);letter-spacing:.3em;font-size:1.2rem}.section{padding:clamp(5.5rem,10vw,9rem) clamp(1.25rem,6vw,7rem)}.section>h2,.events>h2,.presence h2,.families>h2,.varmala h2{color:var(--wine);letter-spacing:-.04em;margin:.8rem 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.8rem,5vw,5rem);font-weight:400;line-height:1.05}.save-date{border-top:1px solid var(--line);text-align:center;background:linear-gradient(#fffaf0eb,#fffaf08c),radial-gradient(circle,#d9919e24,#0000 36rem);justify-items:center;min-height:940px;display:grid;position:relative;overflow:hidden}.date-script{color:var(--gold);margin:1rem 0 .3rem;font-family:Snell Roundhand,Brush Script MT,cursive;font-size:clamp(2rem,4vw,4rem)}.countdown{z-index:2;border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);width:min(100%,720px);margin:2.2rem auto;display:grid;position:relative}.countdown div{border-right:1px solid var(--line);padding:1.45rem .5rem}.countdown div:last-child{border:0}.countdown strong{color:var(--wine);font-size:clamp(1.9rem,4vw,3.2rem);font-weight:400;display:block}.countdown span{letter-spacing:.16em;text-transform:uppercase;font-family:Avenir Next,Segoe UI,sans-serif;font-size:.58rem;font-weight:700}.save-date-couple{object-fit:contain;filter:drop-shadow(0 20px 15px #4c342e1f);width:min(96vw,700px);max-height:590px;margin:0 auto -9rem}.events{border-top:1px solid var(--line);text-align:center;background:linear-gradient(#f8eedcf5,#f8eedcf5),repeating-linear-gradient(0deg,#0000 0 6px,#6f1f3408 6px 7px)}.event-grid{width:min(100%,1080px);margin:3.5rem auto 0}.event-card{background:var(--paper);text-align:left;border:1px solid #6f1f3429;border-radius:42% 42% 4px 4px;grid-template-columns:.9fr 1.1fr;align-items:center;min-height:470px;margin-bottom:2rem;display:grid;overflow:hidden;box-shadow:0 20px 50px #4c342e12}.event-card:nth-child(2n) .event-image-wrap{order:2}.event-image-wrap{background:radial-gradient(circle at 50% 28%,#fffaf0e6 0 18%,#0000 18.5%),linear-gradient(165deg,#edd2cc,#f4e5d7);align-self:stretch;place-items:end center;min-height:470px;display:grid;overflow:hidden}.event-card.marigold .event-image-wrap{background:radial-gradient(circle at 50% 28%,#fffaf0e6 0 18%,#0000 18.5%),linear-gradient(165deg,#efd28f,#f8ecd0)}.event-card.sage .event-image-wrap{background:radial-gradient(circle at 50% 28%,#fffaf0e6 0 18%,#0000 18.5%),linear-gradient(165deg,#bdc9b5,#e4e8dc)}.event-card.burgundy .event-image-wrap{background:radial-gradient(circle at 50% 28%,#fffaf0e6 0 18%,#0000 18.5%),linear-gradient(165deg,#c28892,#ead1d1)}.event-image-wrap img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 14px 10px #4c342e29);width:100%;height:430px;display:block}.event-copy{text-align:center;padding:clamp(2rem,5vw,5rem)}.event-copy h3{color:var(--wine);margin:0;font-family:Snell Roundhand,Brush Script MT,cursive;font-size:clamp(3.5rem,6vw,6rem);font-weight:400}.event-subtitle{margin:.5rem auto;font-style:italic;line-height:1.6}.event-divider{color:var(--gold);margin:1rem 0;display:block}.event-copy dl{gap:1rem;margin:0;display:grid}.event-copy dl div{border-top:1px solid var(--line);grid-template-columns:72px 1fr;gap:1rem;padding-top:1rem;display:grid}.event-copy dt{color:var(--wine);letter-spacing:.16em;text-transform:uppercase;font-family:Avenir Next,Segoe UI,sans-serif;font-size:.62rem;font-weight:700}.event-copy dd{margin:0;font-size:.88rem;line-height:1.45}.varmala{background:var(--wine-dark);min-height:680px;color:var(--paper);grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(2rem,7vw,7rem);display:grid}.varmala h2,.varmala .section-label{color:#f5c785}.varmala-copy>p{max-width:560px;font-size:1.05rem;line-height:1.85}.varmala-copy>strong{color:#f5c785;letter-spacing:.14em;text-transform:uppercase;margin-top:2rem;font-family:Avenir Next,Segoe UI,sans-serif;font-size:.7rem;display:block}.varmala>img{object-fit:contain;filter:drop-shadow(0 20px 14px #0003);width:100%;max-height:600px;display:block}.presence{background:radial-gradient(circle at center, #d9919e1f, transparent 30rem), var(--paper);text-align:center}.presence h2{margin:1.5rem 0}.presence p{width:min(100%,620px);margin:0 auto;font-size:1.05rem;font-style:italic;line-height:1.8}.families{text-align:center;background:#f4e8d4}.family-grid{grid-template-columns:1fr 130px 1fr;align-items:center;gap:2rem;width:min(100%,980px);margin:3.5rem auto 0;display:grid}.family-grid article{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:2.5rem 1.5rem}.family-grid article>span{color:var(--wine);letter-spacing:.14em;text-transform:uppercase;font-family:Avenir Next,Segoe UI,sans-serif;font-size:.62rem;font-weight:700}.family-grid h3{margin:1.2rem 0 0;font-size:1.35rem;font-weight:400}.family-grid article p{color:var(--gold);margin:.6rem 0 -.4rem;font-style:italic}.family-mark{aspect-ratio:1;border:1px solid var(--gold);width:120px;color:var(--wine);border-radius:50%;place-items:center;font-size:1.5rem;line-height:.7;display:grid}.family-mark i{color:var(--gold);font-size:.8rem}footer{background:var(--cream);text-align:center;padding:7rem 1.5rem 5rem;position:relative;overflow:hidden}.footer-flowers{filter:blur(1.5px);opacity:.48;font-size:clamp(4rem,9vw,8rem);position:absolute;inset:-3rem 0 auto}footer h2{color:var(--wine);margin:.8rem 0 0;font-family:Snell Roundhand,Brush Script MT,cursive;font-size:clamp(4rem,8vw,7rem);font-weight:400;position:relative}footer>p:not(.section-label){margin:.5rem 0;font-size:.92rem}footer>span{color:var(--gold);letter-spacing:.15em;text-transform:uppercase;font-family:Avenir Next,Segoe UI,sans-serif;font-size:.66rem;font-weight:700}@keyframes petal-fall{0%{transform:translateY(-10vh)rotate(0)}50%{transform:translate(24px,48vh)rotate(180deg)}to{transform:translate(-18px,110vh)rotate(360deg)}}@media (width<=900px){.couple-presentation{grid-template-columns:.8fr 1.2fr .8fr;min-height:520px}.portrait{max-height:470px}.names h1{font-size:clamp(4rem,11vw,6rem)}.event-card{border-radius:36% 36% 4px 4px}}@media (width<=680px){.hero{padding-left:.75rem;padding-right:.75rem}.intro-copy{padding:0 1rem}.couple-presentation{grid-template-columns:1fr 1fr;align-items:end;min-height:auto;margin-top:1rem}.names{grid-area:1/1/auto/-1}.portrait{grid-row:2;max-height:380px}.portrait.groom{transform:translate(12%)}.portrait.bride{transform:translate(-12%)}.save-date{min-height:840px}.countdown{grid-template-columns:1fr 1fr}.countdown div:nth-child(2){border-right:0}.countdown div:nth-child(-n+2){border-bottom:1px solid var(--line)}.event-card{border-radius:44% 44% 4px 4px;grid-template-columns:1fr}.event-card:nth-child(2n) .event-image-wrap{order:initial}.event-image-wrap{min-height:390px}.event-image-wrap img{height:370px}.event-copy{padding:2.3rem 1.35rem 3rem}.varmala{text-align:center;grid-template-columns:1fr}.varmala-copy>p{margin-left:auto;margin-right:auto}.varmala>img{max-height:450px}.family-grid{grid-template-columns:1fr}.family-mark{margin:0 auto}}@media (width<=420px){.opening-flowers,.floral-canopy{font-size:4.2rem}.names h1{font-size:4.5rem}.parentage{font-size:.75rem}.portrait{max-height:315px}.save-date{min-height:780px}.save-date-couple{margin-bottom:-6rem}.event-image-wrap{min-height:340px}.event-image-wrap img{height:320px}}.opening-screen{background:linear-gradient(#fbf5e829,#fbf5e86b),url(/backgrounds/floral-paper.webp) 50%/cover no-repeat}.opening-flowers,.floral-canopy{display:none}.opening-content{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffaf0bd;border:1px solid #982f4826;border-radius:48% 48% 16px 16px;padding:2.2rem 3rem;box-shadow:0 24px 80px #4c342e21}.hero{background:linear-gradient(90deg,#fffaf033 0%,#fffaf00a 58%,#0000 100%),url(/backgrounds/hero.webp) 50%/cover no-repeat;align-items:center;min-height:100svh;padding:clamp(7rem,11vw,9rem) clamp(1.25rem,7vw,8rem) 4rem;display:flex}.hero-inner{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#fffaf094;border:1px solid #982f481f;border-radius:44% 44% 16px 16px;width:min(47%,720px);margin:0;padding:clamp(1.5rem,3vw,3rem);box-shadow:0 20px 70px #4c342e14}.intro-copy{margin-bottom:1.4rem}.names{padding:0}.save-date{text-align:center;background:linear-gradient(90deg,#fffaf0c7 0%,#fffaf094 46%,#0000 68%),url(/backgrounds/save-date.webp) 50%/cover no-repeat;min-height:760px;padding-right:53%;display:block}.save-date .countdown{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffaf094}.events{background:linear-gradient(#fffaf0b3,#fffaf0b3),url(/backgrounds/floral-paper.webp) top/1920px repeat-y}.event-card{background-position:50%;background-size:cover;border:1px solid #982f482e;border-radius:28px;justify-content:flex-start;align-items:center;min-height:610px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 65px #4c342e24}.event-card:after{content:"";pointer-events:none;background:linear-gradient(90deg,#fffaf03d,#0000 72%);position:absolute;inset:0}.event-copy{z-index:2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fffaf0b8;border:1px solid #982f4821;border-radius:42% 42% 14px 14px;width:min(47%,520px);margin-left:4%;padding:clamp(2rem,4vw,3.5rem);position:relative;box-shadow:0 18px 48px #4c342e17}.event-copy h3{font-size:clamp(4rem,6vw,6.4rem)}.varmala{background:linear-gradient(90deg,#6f1f34e6 0%,#6f1f34b8 42%,#6f1f3414 72%),url(/backgrounds/varmala.webp) 50%/cover no-repeat;align-items:center;min-height:760px;padding-right:52%;display:flex}.varmala-copy{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#6f1f345c;border:1px solid #f5c7853d;border-radius:24px;width:min(100%,600px);padding:clamp(2rem,4vw,3.5rem)}.presence{background:linear-gradient(#fffaf085,#fffaf085),url(/backgrounds/floral-paper.webp) 50%/cover no-repeat;flex-direction:column;justify-content:center;align-items:center;min-height:590px;display:flex}.presence h2,.presence p,.presence .ornament{z-index:2;position:relative}.families{background:linear-gradient(90deg,#f4e8d40a,#f4e8d4ad 34% 66%,#f4e8d40a),url(/backgrounds/families.webp) 50%/cover no-repeat;min-height:780px}.families>h2,.families>.section-label{z-index:2;position:relative}.family-grid{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fffaf099;border-radius:24px;width:min(62%,920px);padding:1.5rem}footer{background:linear-gradient(#fffaf059,#fffaf059),url(/backgrounds/floral-paper.webp) 50%/cover no-repeat;flex-direction:column;justify-content:center;align-items:center;min-height:560px;display:flex}.footer-flowers{display:none}@media (width<=900px){.hero-inner{width:min(58%,620px)}.save-date{padding-right:45%}.event-copy{width:52%}.family-grid{width:min(78%,920px)}}@media (width<=680px){html{-webkit-text-size-adjust:100%}body{overflow-x:hidden}.section{padding-left:.75rem;padding-right:.75rem}.music-control{top:max(.75rem, env(safe-area-inset-top));right:max(.75rem, env(safe-area-inset-right));width:48px;font-size:1.25rem}.opening-content{border-radius:36% 36% 14px 14px;width:calc(100% - 1.5rem);padding:1.5rem .75rem 1.8rem}.envelope{width:min(88vw,360px)}.envelope-letter em{display:none}.opening-content h2{font-size:clamp(3rem,14vw,4rem)}.hero{background:url(/backgrounds/hero.webp) 73% 0/auto 520px no-repeat,url(/backgrounds/floral-paper.webp) 50%/cover no-repeat;align-items:end;min-height:1120px;padding:31rem .75rem .75rem}.hero-inner{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffaf0e6;border-radius:28px 28px 12px 12px;width:100%;padding:1.4rem 1rem 1.8rem;box-shadow:0 14px 42px #4c342e1f}.ganesha{width:52px}.blessing{margin-bottom:1.35rem}.intro-copy{font-size:.98rem;line-height:1.65}.names h1{font-size:clamp(4.4rem,21vw,5.8rem);line-height:.84}.names>span{margin:.85rem 0}.parentage{font-size:.82rem;line-height:1.5}.save-date{background:url(/backgrounds/save-date.webp) 69% 0/auto 490px no-repeat,url(/backgrounds/floral-paper.webp) 50%/cover no-repeat;min-height:940px;padding:29rem .75rem 2rem}.save-date:after{content:"";background:linear-gradient(#0000,#fffaf0f5 18%);position:absolute;inset:41% 0 0}.section>h2,.events>h2,.presence h2,.families>h2,.varmala h2{font-size:clamp(2.6rem,12vw,3.7rem)}.date-script{font-size:clamp(2.2rem,11vw,3.2rem)}.countdown{background:#fffaf0db;margin:1.7rem auto 0}.countdown div{min-height:88px;padding:1rem .35rem}.countdown strong{font-size:2rem}.event-card{background-color:var(--paper);background-position:69% 0;background-repeat:no-repeat;background-size:auto 440px;border-radius:20px;align-items:end;min-height:750px}.event-card:after{background:linear-gradient(#0000 36%,#fffaf0eb 59%)}.event-copy{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffaf0eb;border-radius:22px 22px 10px 10px;width:calc(100% - 1rem);margin:.5rem;padding:1.5rem 1rem 1.7rem}.event-copy h3{font-size:clamp(3.7rem,18vw,5rem);line-height:.9}.event-subtitle{font-size:.95rem}.event-copy dl div{grid-template-columns:64px 1fr;gap:.65rem}.event-copy dd{font-size:.95rem}.varmala{background:url(/backgrounds/varmala.webp) 69% top / auto 500px no-repeat, var(--wine-dark);align-items:end;min-height:870px;padding:30rem .75rem .75rem}.varmala-copy{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#6f1f34e6;border-radius:20px;width:100%;padding:1.6rem 1.1rem}.presence{background-position:34%;min-height:590px;padding:7rem 1rem 4rem}.presence p{font-size:1rem;line-height:1.7}.families{background:url(/backgrounds/families.webp) top/100% no-repeat,url(/backgrounds/floral-paper.webp) 50%/cover no-repeat;min-height:950px;padding:3rem .75rem 1.5rem}.family-grid{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffaf0eb;gap:1rem;width:100%;margin-top:16rem;padding:.75rem}.family-grid article{padding:1.7rem .75rem}.family-mark{width:92px}.family-grid h3{font-size:1.2rem}footer{background-position:34%;min-height:480px;padding-left:1rem;padding-right:1rem}footer h2{font-size:clamp(3.8rem,18vw,5rem)}.event-card,.varmala,.presence,.families,footer{content-visibility:auto;contain-intrinsic-size:1px 760px}}.opening-content{border-radius:28px;gap:.95rem;width:min(94vw,540px);padding:2.35rem 2.5rem 2.5rem}.envelope{aspect-ratio:1.5;background:linear-gradient(145deg,#ffffff38,#0000 42%),#e8c8ba;border:1px solid #6f1f3433;border-radius:8px;width:min(84vw,420px);overflow:visible;box-shadow:0 26px 55px #4c342e33,inset 0 0 0 5px #fffaf047}.envelope-letter{z-index:2;background:linear-gradient(#fffaf0e6,#fffaf0f5),url(/backgrounds/floral-paper.webp) 50%/cover no-repeat;border:1px solid #982f4833;border-radius:4px;justify-content:flex-start;gap:.4rem;padding:1.2rem 1rem 4.2rem;inset:-7% 8% 20%;transform:translateY(-5px);box-shadow:0 10px 28px #4c342e24}.envelope:hover .envelope-letter,.envelope:focus-visible .envelope-letter{transform:translateY(-18px)}.letter-ornament{color:var(--gold);font-size:1.15rem;line-height:1}.envelope-letter small{color:#74554b;letter-spacing:.05em;font-size:.64rem}.envelope-letter strong{color:var(--wine);white-space:nowrap;margin:.1rem 0;font-family:Snell Roundhand,Brush Script MT,cursive;font-size:clamp(1.85rem,5vw,2.65rem);font-weight:400;line-height:1}.envelope-letter strong b{color:var(--gold);margin:0 .18em;font-size:.7em;font-weight:400}.envelope-letter em{color:#8b6731;letter-spacing:.13em;text-transform:uppercase;font-family:Avenir Next,Segoe UI,sans-serif;font-size:.59rem;font-style:normal;font-weight:700}.envelope-left,.envelope-right{z-index:4;clip-path:polygon(0 8%,54% 56%,100% 100%,0 100%);background:linear-gradient(145deg,#f2dbd0,#dfb7a8)}.envelope-right{clip-path:polygon(100% 8%,46% 56%,0 100%,100% 100%);background:linear-gradient(215deg,#efd6ca,#ddb4a6)}.envelope-flap{z-index:1;clip-path:polygon(0 0,50% 95%,100% 0);background:linear-gradient(170deg,#f7e5dc,#e8c6b7);inset:0 0 45%}.seal{background:radial-gradient(circle at 36% 30%, #b74a60, var(--wine) 48%, var(--wine-dark));white-space:nowrap;border:2px solid #f1d297;width:64px;font-family:Snell Roundhand,Brush Script MT,cursive;font-size:1rem;line-height:1;top:61%;box-shadow:0 7px 18px #4c342e4d,inset 0 0 0 4px #fffaf01f}.seal i{color:#f5c785;font-size:.8em;font-weight:400}.hero-inner{border-radius:32px;flex-direction:column;align-items:center;width:min(46%,680px);padding:clamp(1.8rem,3vw,2.8rem);display:flex}.ganesha{object-fit:contain;filter:drop-shadow(0 8px 8px #4c342e24);border:0;border-radius:0;width:clamp(86px,8vw,112px);height:clamp(108px,10vw,142px);margin:0 auto;display:block}.blessing{margin:.15rem 0 1.35rem}.names{width:100%}.names h1{font-size:clamp(4.2rem,6vw,7rem)}.event-grid{gap:2.25rem;display:grid}.event-card{min-height:630px;margin-bottom:0}.event-copy{flex-direction:column;justify-content:center;min-height:470px;display:flex}.event-copy h3{line-height:.92}.event-copy h3.long-title{letter-spacing:-.035em;font-size:clamp(3.2rem,5vw,5.15rem);line-height:.98}@media (width<=680px){.opening-content{border-radius:22px;gap:.78rem;width:calc(100% - 1rem);padding:1.7rem .5rem 1.55rem}.small-caps{font-size:.62rem}.envelope{aspect-ratio:1.45;width:min(91vw,350px)}.envelope-letter{gap:.28rem;padding:.8rem .4rem 3.8rem;inset:-5% 6% 20%}.letter-ornament{font-size:.95rem}.envelope-letter small{font-size:.56rem}.envelope-letter strong{font-size:clamp(1.65rem,8vw,2.15rem)}.envelope-letter em{letter-spacing:.1em;font-size:.5rem;display:block}.seal{width:56px;font-size:.9rem;top:62%}.opening-content h2{margin-top:.5rem}.opening-hint{margin-top:-.55rem}.hero-inner{border-radius:24px;width:100%;padding:1.35rem 1rem 1.6rem}.ganesha{width:70px;height:92px}.blessing{margin:.1rem 0 1rem}.intro-copy{margin-bottom:1rem}.names h1{font-size:clamp(4rem,19vw,5.25rem)}.event-card{min-height:770px}.event-copy{min-height:330px;padding:1.45rem 1rem 1.65rem}.event-copy h3.long-title{letter-spacing:-.025em;text-wrap:balance;max-width:100%;margin-left:auto;margin-right:auto;font-size:clamp(2.75rem,13vw,3.35rem);line-height:1}.family-grid{margin-top:16rem}}.opening-content{width:min(92vw,680px);padding:clamp(1.6rem,3vw,2.4rem)}.opening-content .opening-names{white-space:nowrap;margin:0;font-size:clamp(2.9rem,6vw,4.5rem);line-height:.9}.opening-names span{color:var(--gold);font-size:.72em}.opening-date{color:#8b6731;letter-spacing:.17em;text-transform:uppercase;margin:-.35rem 0 .3rem;font-family:Avenir Next,Segoe UI,sans-serif;font-size:.65rem;font-weight:700}.envelope{width:min(78vw,500px);margin-top:.25rem}.envelope-letter{justify-content:flex-start;padding-top:1rem;inset:-5% 8% 22%}.envelope-letter strong{font-size:clamp(1.9rem,4.5vw,2.8rem)}.envelope-letter em{font-size:.54rem}.seal{justify-content:center;align-items:center;padding:0;display:flex}.seal>span{color:#fffaf0;letter-spacing:.04em;white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:.78rem;font-weight:700;line-height:1;display:block}.date-script span{white-space:nowrap}.mobile-photo-stage{display:none}@media (width<=680px){html,body,.invitation{width:100%;max-width:100%;overflow-x:clip}.opening-screen{padding:max(.5rem, env(safe-area-inset-top)) .5rem max(.5rem, env(safe-area-inset-bottom))}.opening-content{border-radius:20px;gap:.6rem;width:100%;max-width:390px;padding:1.35rem .55rem 1.3rem}.opening-content .opening-names{font-size:clamp(2.7rem,13vw,3.55rem)}.opening-date{letter-spacing:.12em;margin:-.15rem 0 .2rem;font-size:.55rem}.envelope{aspect-ratio:1.48;width:min(88vw,338px);margin:.3rem auto .5rem}.envelope-letter{gap:.2rem;padding:.65rem .35rem 3.5rem;inset:-4% 7% 22%}.envelope-letter small{font-size:.52rem}.envelope-letter strong{font-size:clamp(1.65rem,8vw,2.15rem)}.envelope-letter em{font-size:.46rem}.seal{width:58px;top:61%}.seal>span{font-size:.72rem}.opening-hint{margin:0;font-size:.76rem}.mobile-photo-stage{background:0 0;border:0;border-radius:0;place-items:end center;width:100%;height:min(92vw,360px);display:grid;overflow:hidden}.mobile-photo-stage img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 10px #4c342e24);width:100%;height:100%;display:block}.hero{background:url(/backgrounds/floral-paper.webp) 50%/cover no-repeat;min-height:0;padding:.75rem;display:block}.hero-photo{height:min(98vw,382px);margin-bottom:.75rem}.hero-inner{border-radius:22px;width:100%;margin:0;padding:1.35rem 1rem 1.6rem}.ganesha{width:72px;height:92px}.intro-copy{width:100%;padding:0;font-size:.94rem;line-height:1.6}.names h1{font-size:clamp(3.9rem,19vw,5.15rem)}.parentage{font-size:.8rem}.save-date{background:url(/backgrounds/floral-paper.webp) 50%/cover no-repeat;min-height:0;padding:.75rem .75rem 3rem}.save-date-photo{height:min(100vw,390px);margin-bottom:2rem}.save-date:after{display:none}.date-script{gap:.08em;width:100%;margin:1rem auto;font-size:clamp(2.25rem,11vw,2.85rem);line-height:1.03;display:grid}.date-script span{display:block}.save-date h2{text-wrap:balance;margin-left:auto;margin-right:auto;font-size:clamp(2.35rem,11vw,3.2rem);line-height:1.06}.countdown{width:100%}.events{padding:3.5rem .75rem}.event-grid{gap:1.25rem;width:100%;margin-top:2rem}.event-card{background-color:var(--paper);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:18px;flex-direction:column;align-items:stretch;min-height:0;padding-top:0;display:flex;background-image:url(/backgrounds/floral-paper.webp)!important}.event-card:after{display:none}.event-copy{border-radius:16px;width:calc(100% - 1rem);min-height:0;margin:.5rem;padding:1.45rem 1rem 1.55rem}.event-photo{border-radius:0;width:calc(100% - 1rem);height:min(100vw,380px);margin:.5rem .5rem 0}.event-copy h3{font-size:clamp(3.2rem,16vw,4.25rem);line-height:.95}.event-copy h3.long-title{font-size:clamp(2.55rem,12vw,3.15rem);line-height:1}.event-subtitle{margin:.55rem auto;font-size:.9rem}.event-divider{margin:.7rem 0}.event-copy dl{gap:.65rem}.event-copy dl div{grid-template-columns:60px minmax(0,1fr);gap:.55rem;padding-top:.75rem}.event-copy dd{overflow-wrap:anywhere;font-size:.9rem}.presence{background-position:50%;min-height:500px;padding:5rem 1rem}.presence h2{width:100%;font-size:clamp(2.7rem,12vw,3.5rem);line-height:1.04}.families{background:url(/backgrounds/floral-paper.webp) 50%/cover no-repeat;min-height:0;padding:.75rem .75rem 3rem}.families-photo{height:min(100vw,390px);margin-bottom:2rem}.family-grid{grid-template-columns:1fr;gap:.75rem;width:100%;margin-top:1.5rem;padding:.65rem}.family-grid article{padding:1.4rem .75rem}.family-mark{margin:0 auto}footer{text-align:center;min-height:430px;padding:4rem 1rem}footer h2{overflow-wrap:anywhere;max-width:100%;font-size:clamp(3.5rem,17vw,4.7rem);line-height:.95}}.save-date{text-align:center;background:linear-gradient(#fffaf0b3,#fffaf0db),url(/backgrounds/floral-paper.webp) 50%/cover no-repeat;min-height:720px;padding:clamp(5rem,8vw,7rem) clamp(1rem,5vw,4rem);display:block}.save-date>*{z-index:2;position:relative}.scratch-heading{color:var(--wine);margin:.7rem auto 0;font-family:Snell Roundhand,Brush Script MT,cursive;font-size:clamp(3rem,6vw,5.4rem);font-weight:400;line-height:.96}.scratch-intro{max-width:540px;color:var(--muted);margin:1rem auto 0;font-family:Georgia,Times New Roman,serif;font-size:1rem;font-style:italic;line-height:1.6}.scratch-card{background:radial-gradient(circle at 50% 0,#ffffffbf,#0000 45%),#fffaf0f5;border:1px solid #9f6d1e6b;border-radius:28px;width:min(100%,760px);min-height:390px;margin:2rem auto 0;position:relative;overflow:hidden;box-shadow:0 26px 70px #4c342e29,inset 0 0 0 7px #c9973f14}.scratch-content{align-content:center;justify-items:center;min-height:390px;padding:2rem;display:grid}.revealed-date{color:var(--wine);justify-items:center;padding-bottom:.8rem;display:grid}.revealed-kicker{color:var(--gold);letter-spacing:.2em;text-transform:uppercase;font:700 .62rem/1 Avenir Next,Segoe UI,sans-serif}.revealed-date-row{justify-content:center;align-items:center;margin-top:.25rem;display:flex}.revealed-date-row strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(3.5rem,7vw,5.5rem);font-weight:400;line-height:.95}.revealed-date-row i{color:var(--gold);margin:0 .45rem;font-family:Georgia,Times New Roman,serif;font-size:1.8rem;font-style:normal}.revealed-date>p{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;margin:.15rem 0 0;font:700 .78rem/1 Avenir Next,Segoe UI,sans-serif}.scratch-content>h2.revealed-title{color:var(--wine);margin:.35rem auto 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.65rem,3vw,2.5rem);font-weight:400;line-height:1.08}.scratch-content .countdown{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;gap:.55rem;width:100%;margin:1.2rem 0 0}.scratch-content .countdown div,.scratch-content .countdown div:last-child{background:#fffcf4b8;border:1px solid #9f6d1e38;border-radius:14px;padding:.9rem .35rem}.scratch-content .countdown strong{font-size:clamp(1.65rem,3.5vw,2.35rem)}.scratch-card canvas{z-index:3;cursor:crosshair;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.scratch-skip{z-index:4;color:#fff9e8;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#5d340d57;border:1px solid #fff9e5a3;border-radius:999px;padding:.58rem 1rem;font:700 .66rem/1 Avenir Next,Segoe UI,sans-serif;position:absolute;bottom:1.15rem;left:50%;transform:translate(-50%)}.scratch-skip:hover,.scratch-skip:focus-visible{background:#5d340d94}.scratch-revealed-label{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font:700 .58rem/1 Avenir Next,Segoe UI,sans-serif;position:absolute;bottom:.9rem;right:1rem}.families{background:linear-gradient(#fffaf0a6,#fffaf0b8),url(/backgrounds/floral-paper.webp) 50%/cover no-repeat}@media (width<=680px){.save-date{min-height:0;padding:4rem .75rem}.scratch-heading{font-size:clamp(2.6rem,13vw,3.45rem);line-height:1}.scratch-intro{padding:0 .75rem;font-size:.9rem}.scratch-card,.scratch-content{min-height:430px}.scratch-card{border-radius:22px;margin-top:1.5rem}.scratch-content{padding:1.55rem .8rem 2.7rem}.revealed-date-row strong{font-size:clamp(3.25rem,16vw,4.35rem)}.revealed-date>p{font-size:.7rem}.scratch-content>h2.revealed-title{font-size:clamp(1.6rem,7.5vw,2.15rem)}.scratch-content .countdown{margin-top:1rem}.scratch-content .countdown div{padding:.85rem .2rem}.scratch-content .countdown strong{font-size:clamp(1.45rem,8vw,2rem)}.scratch-content .countdown span{letter-spacing:.08em;font-size:.48rem}.families{padding-top:4rem}.event-vidaai .event-photo{height:min(91vw,350px)}.event-vidaai .event-photo img{transform-origin:bottom;transform:scale(1.58)}.event-varmala .event-photo img{transform-origin:bottom;transform:translate(-4%)scale(1.04)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
