:root{font-family:DM Sans,sans-serif;color:#3d2926;background:#f7f2e9;font-synthesis:none;text-rendering:optimizeLegibility;--paper: #f7f2e9;--paper-light: #fcfaf5;--wine: #55232c;--wine-dark: #391820;--wine-soft: #79464a;--gold: #ad874b;--gold-light: #d8c18d;--ink: #342421;--muted: #81736a;--serif: "DM Serif Display", Georgia, serif;--sans: "DM Sans", sans-serif;--telugu: "Noto Serif Telugu", "Nirmala UI", serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;min-width:320px;background:var(--paper)}body.modal-open{overflow:hidden}button,a{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}::selection{background:#d9c38f;color:var(--wine-dark)}.site{overflow:hidden}.telugu{font-family:var(--telugu)}.telugu .eyebrow,.telugu .button,.telugu .brand-names,.telugu .main-nav,.telugu .profile-role,.telugu .event-index,.telugu .event-kicker,.telugu .countdown-unit small,.telugu .venue-item small,.telugu .hosts-label,.telugu .closing-blessing,.telugu .hero-image-vertical,.telugu .hero-index,.telugu .hero-bottom-note{font-family:var(--sans)}.telugu .hero h1,.telugu h2,.telugu h3{font-family:var(--telugu);font-weight:600}.topbar{height:82px;padding:0 clamp(24px,6.5vw,112px);display:flex;align-items:center;justify-content:space-between;background:#faf7f1f5;position:relative;z-index:10;border-bottom:1px solid rgba(89,51,42,.1)}.brand{display:inline-flex;align-items:center;gap:12px}.brand-mark{width:39px;height:39px;border:1px solid var(--gold);color:var(--wine);font:17px var(--serif);display:flex;align-items:center;justify-content:center;border-radius:50%;letter-spacing:-3px;white-space:nowrap}.brand-mark span{color:var(--gold);font-size:11px;padding:0 1px}.brand-names{font:15px var(--serif);color:var(--wine);letter-spacing:.03em}.brand-names i{color:var(--gold);font-style:normal}.main-nav{display:flex;align-items:center;gap:clamp(18px,2.5vw,40px);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#5d5047}.main-nav a{padding:8px 0;transition:color .2s ease}.main-nav a:hover,.language-toggle:hover{color:var(--gold)}.language-toggle{border:0;background:none;padding:10px 0;cursor:pointer;font-size:12px;color:var(--wine)}.nav-share{border:1px solid rgba(85,35,44,.35);background:none;padding:12px 17px;color:var(--wine);font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}.nav-share:hover{background:var(--wine);color:var(--paper-light)}.nav-share span{color:var(--gold);margin-left:5px}.menu-toggle{display:none}.hero{min-height:min(760px,calc(100svh - 82px));min-height:max(640px,calc(100svh - 82px));position:relative;background:radial-gradient(ellipse at 7% 76%,rgba(171,136,80,.08),transparent 25%),radial-gradient(ellipse at 50% 0%,rgba(218,196,156,.18),transparent 46%),#f7f2e9;display:grid;grid-template-columns:1fr .88fr;align-items:center;padding:50px clamp(24px,9vw,150px) 76px}.hero-content{max-width:620px;position:relative;z-index:2;padding:30px 5vw 18px 0;animation:hero-rise .9s .12s both}.eyebrow{margin:0;font:10px var(--sans);color:var(--gold);letter-spacing:.24em;line-height:1.8;text-transform:uppercase}.hero-eyebrow{display:flex;align-items:center;gap:12px}.hero-eyebrow span{width:25px;height:1px;background:var(--gold);opacity:.72}.hero-script{font:italic clamp(25px,3.2vw,42px) var(--serif);color:var(--wine-soft);margin:28px 0 7px}.hero h1{font:clamp(45px,6.4vw,90px)/.99 var(--serif);color:var(--wine);margin:0;letter-spacing:-.035em;display:flex;flex-direction:column;align-items:flex-start}.hero h1 .name-amp{font:italic clamp(33px,4.1vw,55px)/1 var(--serif);color:var(--gold);margin:5px 0 4px 12%}.hero-forever{font:italic 19px var(--serif);color:#846b58;margin:12px 0 23px}.ornament{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--gold);width:158px;margin:18px auto}.ornament i{height:1px;width:57px;background:linear-gradient(90deg,transparent,var(--gold))}.ornament i:last-child{transform:rotate(180deg)}.ornament b{font:11px var(--serif)}.ornament-small{width:115px;margin:12px auto;gap:7px}.ornament-small i{width:43px}.hero-content>.ornament{margin:14px 0 18px}.hero-lead{max-width:390px;font:14px/1.9 var(--sans);color:#766860;margin:0}.hero-date{font:11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--wine);margin:25px 0 38px}.hero-date span{color:var(--gold);padding:0 7px}.hero-scroll{display:inline-flex;align-items:center;gap:12px;font:9px var(--sans);letter-spacing:.19em;text-transform:uppercase;color:var(--wine-soft)}.hero-scroll span{color:var(--gold);font-size:18px;transition:transform .2s}.hero-scroll:hover span{transform:translateY(4px)}.hero-image-wrap{width:min(100%,450px);aspect-ratio:3 / 4;height:auto;margin-left:auto;position:relative;isolation:isolate;animation:hero-image-in 1s .28s both}.hero-image-wrap:before{content:"";position:absolute;top:-20px;right:20px;bottom:18px;left:-19px;border:1px solid rgba(173,135,75,.6);z-index:-1}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.92)}.hero-image-frame{position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid rgba(247,242,233,.7);pointer-events:none}.hero-image-caption{width:88px;height:88px;position:absolute;left:-39px;bottom:50px;border-radius:50%;background:var(--wine);color:var(--paper);display:flex;align-items:center;justify-content:center;gap:3px;border:1px solid var(--gold-light);box-shadow:0 0 0 5px #f7f2e98c}.hero-image-caption span{font:35px/.9 var(--serif)}.hero-image-caption i{font:7px/1.5 var(--sans);letter-spacing:.12em;font-style:normal}.hero-image-vertical{position:absolute;right:-30px;top:23px;writing-mode:vertical-rl;font:8px var(--sans);letter-spacing:.2em;color:var(--wine-soft)}.hero-index{position:absolute;right:5.4vw;bottom:35px;font:10px var(--sans);letter-spacing:.1em;color:var(--wine)}.hero-index i{color:var(--gold);padding:0 4px;font-style:normal}.hero-bottom-note{position:absolute;left:9vw;right:9vw;bottom:31px;display:flex;justify-content:space-between;font:9px var(--sans);letter-spacing:.15em;text-transform:uppercase;color:#9a8b7d}.hero-petals,.opening-petals{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.hero-petals i,.opening-petals i{position:absolute;left:var(--left);top:-22px;width:var(--size, 10px);height:calc(var(--size, 10px) * 1.45);border-radius:95% 0;background:linear-gradient(135deg,#c88e79,#e9c4a9 60%,#c69256);opacity:.48;animation:petal-fall var(--duration) var(--delay) linear infinite}.opening-petals i{opacity:.3}.paper-section{background:var(--paper-light);position:relative}.invitation-section{padding:115px 24px 125px;overflow:hidden}.section-wash{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.36;background:radial-gradient(circle at 50% 55%,rgba(215,191,144,.2),transparent 46%)}.invitation-card{max-width:780px;margin:auto;padding:68px clamp(24px,8vw,100px) 63px;text-align:center;border:1px solid rgba(173,135,75,.53);outline:1px solid rgba(173,135,75,.28);outline-offset:7px;position:relative;background:#fcfaf5bd;box-shadow:0 26px 65px #5336270b}.sacred-line{margin:0 0 22px;font:14px var(--telugu);color:var(--wine);letter-spacing:.08em}.invitation-card .eyebrow{margin-top:27px}.invitation-card h2,.section-title h2,.couple-heading h2,.countdown-inner h2,.venue-copy h2,.closing-inner h2{color:var(--wine);font:clamp(36px,4.8vw,61px)/1.12 var(--serif);letter-spacing:-.02em;margin:11px 0 18px}.invitation-copy{max-width:510px;margin:0 auto;font:14px/1.95 var(--sans);color:#75675e}.invitation-names{margin:29px auto 34px;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--wine);font:clamp(24px,3vw,35px)/1.22 var(--serif)}.invitation-names i{font:italic 15px var(--serif);color:var(--gold)}.parents-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(173,135,75,.32);padding-top:22px;gap:20px}.parents-row div{display:grid;gap:8px}.parents-row b{font:9px var(--sans);color:var(--gold);text-transform:uppercase;letter-spacing:.16em}.parents-row span{font:12px/1.6 var(--sans);color:#72645c}.card-corner{position:absolute;font:30px var(--serif);color:#ad874ba3;line-height:1}.corner-top{top:11px;left:15px;transform:rotate(-45deg)}.corner-bottom{bottom:11px;right:15px;transform:rotate(135deg)}.couple-section{padding:105px 7vw 120px;background:#eee6da;position:relative}.couple-section:before,.couple-section:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(173,135,75,.16);border-radius:50%;top:50%;transform:translateY(-50%)}.couple-section:before{left:-150px;box-shadow:0 0 0 20px #ad874b09,0 0 0 42px #ad874b08}.couple-section:after{right:-150px;box-shadow:0 0 0 20px #ad874b09,0 0 0 42px #ad874b08}.couple-heading{text-align:center;position:relative;z-index:1}.couple-heading h2{font-size:clamp(37px,5vw,61px);margin:10px 0}.couple-heading h2 span{color:var(--gold);font-style:italic;padding:0 8px}.profiles{width:min(100%,920px);margin:58px auto 0;display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;gap:clamp(18px,4vw,65px);position:relative;z-index:1}.profile-card{text-align:center}.profile-photo{height:420px;padding:10px;border:1px solid rgba(173,135,75,.62);background:var(--paper-light);position:relative}.profile-photo:after{content:"";position:absolute;top:17px;right:17px;bottom:17px;left:17px;border:1px solid rgba(252,250,245,.85);pointer-events:none}.profile-photo img{width:100%;height:100%;object-fit:cover}.photo-bride img{object-position:center 36%}.photo-groom img{object-position:center 38%}.profile-role{margin:25px 0 7px;font:9px var(--sans);color:var(--gold);text-transform:uppercase;letter-spacing:.2em}.profile-card h3{font:32px var(--serif);color:var(--wine);margin:0}.profile-rule{display:block;width:34px;height:1px;background:var(--gold);margin:13px auto}.profile-parents{font:11px/1.6 var(--sans);color:#766960;margin:0 auto;max-width:280px}.profiles-center{display:grid;place-items:center;color:var(--gold)}.profiles-flower{font-size:22px;line-height:1}.profiles-amp{font:italic 38px var(--serif);color:var(--wine);padding:9px 0}.celebrations-section{padding:115px 8vw 120px;text-align:center}.section-title{text-align:center;position:relative;z-index:1}.section-title h2{margin:9px 0 3px}.section-title .ornament{margin:12px auto 15px}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;width:min(100%,960px);margin:55px auto 38px;text-align:center}.event-card{position:relative;overflow:hidden;padding:43px clamp(24px,4vw,54px) 42px;background:#f6f1e8;border:1px solid rgba(173,135,75,.46);min-height:440px}.event-card:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(173,135,75,.2);pointer-events:none}.reception-card{background:#f1e8dc}.event-index{position:absolute;top:24px;right:28px;font:9px var(--sans);letter-spacing:.12em;color:var(--gold)}.event-index span{opacity:.6}.event-icon{color:var(--gold);font:27px var(--telugu);margin:0 auto 14px}.event-kicker{font:9px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 9px}.event-card h3{color:var(--wine);font:clamp(24px,3vw,34px) var(--serif);margin:0 0 17px}.event-date-block{display:grid;gap:6px;color:#65554d;font-size:12px}.event-date-block b{font-size:11px;font-weight:600;color:var(--wine);letter-spacing:.06em}.event-ritual{font:11px var(--sans);color:#836d59;margin:18px 0 8px}.event-address{max-width:285px;margin:22px auto 0;color:#766960;font:12px/1.8 var(--sans)}.lunch-note{font:10px var(--sans);color:var(--wine-soft);margin:13px 0 0}.text-link{display:inline-block;margin-top:20px;font:10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--wine);border-bottom:1px solid rgba(173,135,75,.6);padding:0 0 5px}.text-link span{color:var(--gold)}.button{min-height:46px;padding:0 23px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:10px var(--sans);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;border:1px solid;transition:transform .2s ease,background .2s ease,color .2s ease}.button:hover{transform:translateY(-2px)}.button-outline{border-color:#55232c80;background:transparent;color:var(--wine)}.button-outline:hover{background:var(--wine);color:var(--paper-light)}.calendar-button{margin-top:3px}.countdown-section{background:var(--wine-dark);color:var(--paper);padding:90px 24px 93px;text-align:center;position:relative;overflow:hidden}.countdown-pattern{position:absolute;width:620px;height:620px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;opacity:.16;background:repeating-radial-gradient(circle,transparent 0 22px,#d2b375 23px 24px,transparent 25px 46px);-webkit-mask-image:radial-gradient(circle,black 10%,transparent 69%);mask-image:radial-gradient(circle,black 10%,transparent 69%)}.countdown-inner{position:relative;z-index:1}.countdown-inner .eyebrow{color:var(--gold-light)}.countdown-inner h2{color:var(--paper-light);font-size:clamp(36px,4.7vw,58px);margin:9px 0 0}.countdown-inner .ornament{color:var(--gold-light);margin:15px auto 26px}.countdown-inner .ornament i{background:linear-gradient(90deg,transparent,var(--gold-light))}.countdown-grid{display:flex;justify-content:center;align-items:flex-start;gap:clamp(18px,5.2vw,70px);margin:0 auto}.countdown-unit{min-width:65px;display:grid;gap:9px}.countdown-unit span{font:clamp(39px,5.2vw,63px)/1 var(--serif);color:#ead9b2;font-variant-numeric:tabular-nums}.countdown-unit small{font:9px var(--sans);color:#cfb99a;text-transform:uppercase;letter-spacing:.16em}.countdown-date{margin:30px 0 0;font:10px var(--sans);letter-spacing:.1em;color:#e4d6c1;text-transform:uppercase}.countdown-date span{color:var(--gold-light);padding:0 6px}.gallery-section{padding:110px 8vw 120px;background:#eee6da}.gallery-hint{font:11px var(--sans);color:#84756b;margin:3px 0 0}.gallery-grid{width:min(100%,1040px);margin:49px auto 0;display:grid;grid-template-columns:1.15fr .85fr 1fr;grid-template-rows:230px 230px;gap:14px}.gallery-item{position:relative;display:block;overflow:hidden;padding:0;border:0;background:#d7c9b7;cursor:zoom-in}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s}.gallery-item:hover img{transform:scale(1.045);filter:saturate(1.05)}.gallery-portrait{grid-row:span 2}.gallery-wide{grid-column:span 1}.gallery-item-1{grid-column:1;grid-row:1 / 3}.gallery-item-2{grid-column:2 / 4;grid-row:1}.gallery-item-3{grid-column:2;grid-row:2}.gallery-item-4{grid-column:3;grid-row:2}.gallery-item-1 img{object-position:center 38%}.gallery-item-2 img{object-position:center 45%}.gallery-item-3 img,.gallery-item-4 img{object-position:center 35%}.gallery-zoom{position:absolute;bottom:14px;right:14px;width:32px;height:32px;display:grid;place-items:center;color:var(--wine);background:#fcfaf5e6;border-radius:50%;font-size:14px;opacity:0;transform:translateY(5px);transition:.2s}.gallery-item:hover .gallery-zoom,.gallery-item:focus-visible .gallery-zoom{opacity:1;transform:none}.venue-section{padding:115px 8vw 120px}.venue-copy{max-width:980px;margin:0 auto;text-align:center}.venue-copy h2{margin:8px 0 0}.venue-copy>.ornament{margin:14px auto 32px}.venue-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;text-align:center}.venue-item{min-height:205px;padding:30px 24px;border:1px solid rgba(173,135,75,.42);background:#f6f1e8}.venue-item small{color:var(--gold);font:9px var(--sans);text-transform:uppercase;letter-spacing:.16em}.venue-item h3{color:var(--wine);margin:7px 0;font:25px var(--serif)}.venue-item p{max-width:350px;margin:0 auto 15px;color:#776960;font:12px/1.8 var(--sans)}.button-dark{background:var(--wine);border-color:var(--wine);color:var(--paper-light);min-height:40px;font-size:9px;padding:0 16px}.button-dark:hover{background:var(--wine-dark)}.closing-section{text-align:center;background:var(--wine);color:var(--paper);min-height:560px;display:grid;place-items:center;padding:94px 24px 55px;position:relative;overflow:hidden}.closing-section:before,.closing-section:after{content:"";width:260px;height:260px;border:1px solid rgba(216,193,141,.25);border-radius:50%;position:absolute;top:50%;transform:translateY(-50%)}.closing-section:before{left:-150px;box-shadow:0 0 0 21px #d8c18d0b,0 0 0 46px #d8c18d09}.closing-section:after{right:-150px;box-shadow:0 0 0 21px #d8c18d0b,0 0 0 46px #d8c18d09}.closing-inner{position:relative;z-index:1;max-width:620px}.closing-inner .eyebrow{color:var(--gold-light)}.closing-inner h2{color:var(--paper-light);font-size:clamp(37px,4.8vw,58px);margin:10px 0 0}.closing-inner .ornament{color:var(--gold-light);margin:15px auto 20px}.closing-inner .ornament i{background:linear-gradient(90deg,transparent,var(--gold-light))}.closing-copy{color:#eadfce;font:13px/1.9 var(--sans);max-width:470px;margin:0 auto 24px}.hosts-label{color:var(--gold-light);font:9px var(--sans);letter-spacing:.18em;text-transform:uppercase;margin:23px 0 10px}.hosts-list{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 25px}.hosts-list p{color:var(--paper-light);margin:0;font:14px var(--serif)}.closing-share{margin-top:26px}.button-gold{background:var(--gold-light);color:var(--wine-dark);border-color:var(--gold-light)}.button-gold:hover{background:#e6d4ad}.closing-couple{font:23px var(--serif);color:var(--paper-light);margin:38px 0 4px}.closing-couple span{color:var(--gold-light);font-style:italic;padding:0 4px}.closing-blessing{font:8px var(--sans);color:#d9c7a6;letter-spacing:.18em;text-transform:uppercase;margin:0}.closing-flower{position:absolute;color:#d8c18d33;font-size:150px}.flower-one{left:4%;top:14%}.flower-two{right:4%;bottom:10%;font-size:118px;transform:rotate(30deg)}.opening-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#f1e8da;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;place-items:center;padding:40px 9vw}.opening-grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.24;background:radial-gradient(ellipse at 13% 12%,rgba(173,135,75,.24),transparent 28%),radial-gradient(ellipse at 87% 92%,rgba(85,35,44,.13),transparent 30%),repeating-radial-gradient(circle at 50% 50%,transparent 0 29px,rgba(173,135,75,.06) 30px 31px,transparent 32px 60px);pointer-events:none}.envelope-stage{position:relative;width:min(100%,440px);aspect-ratio:1.28;z-index:1;perspective:1000px}.envelope-shadow{position:absolute;top:14%;right:4%;bottom:-5%;left:4%;background:#43231b24;filter:blur(20px);border-radius:50%}.envelope{position:absolute;top:10%;right:0;bottom:0;left:0}.envelope-back{position:absolute;top:0;right:0;bottom:0;left:0;background:#a78056;box-shadow:0 14px 30px #40221b1f}.envelope-letter{position:absolute;z-index:1;width:87%;height:88%;left:6.5%;top:-4%;background:#fcf9f1;border:1px solid rgba(173,135,75,.52);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;color:var(--wine);padding:14px;box-shadow:0 4px 18px #3c211c1a}.letter-mantra{color:var(--gold);font:10px var(--telugu)}.letter-small{font:8px var(--sans);text-transform:uppercase;letter-spacing:.18em;color:#91785f;margin:5px 0}.letter-names{font:clamp(21px,3vw,31px) var(--serif)}.letter-amp{font:italic 14px var(--serif);color:var(--gold)}.letter-date{font:8px var(--sans);text-transform:uppercase;letter-spacing:.14em;margin-top:4px}.envelope-pocket{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:linear-gradient(140deg,transparent 49.7%,#98734d 50%) left/50% 100% no-repeat,linear-gradient(220deg,transparent 49.7%,#b38c5c 50%) right/50% 100% no-repeat}.envelope-pocket:after{content:"";position:absolute;inset:auto 0 0;height:73%;clip-path:polygon(0 100%,50% 0,100% 100%);background:linear-gradient(140deg,#c09b6b,#a78356)}.envelope-flap{position:absolute;z-index:3;top:0;left:0;width:100%;height:55%;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(135deg,#d0b284,#a78356);filter:drop-shadow(0 4px 3px rgba(69,43,28,.12));transform-origin:top center}.envelope-seal{position:absolute;z-index:4;top:38%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;display:grid;place-items:center;border:1px solid #dfc991;background:var(--wine);box-shadow:0 0 0 4px #b99361;border-radius:50%;color:#e7d6ad;font:21px var(--telugu)}.opening-copy{position:relative;z-index:1;text-align:center;max-width:430px;padding:30px 10px;animation:hero-rise .9s .2s both}.opening-copy h1{font:clamp(33px,4vw,52px)/1.1 var(--serif);color:var(--wine);margin:12px 0 20px}.opening-couple{color:var(--wine);font:17px var(--serif);margin:0 0 24px}.opening-couple span{color:var(--gold);font-style:italic}.opening-language{display:block;background:none;border:0;margin:17px auto 0;color:var(--wine-soft);text-decoration:underline;text-underline-offset:4px;font-size:11px;cursor:pointer}.opening-screen .button{min-width:215px}.opening-screen .ornament{margin-top:7px;margin-bottom:4px}.opening-screen.is-opening{animation:curtain-away .85s .62s both;pointer-events:none}.opening-screen.is-opening .envelope-flap{animation:envelope-open .8s ease-in forwards}.opening-screen.is-opening .envelope-letter{animation:letter-rise .8s .08s ease-out both}.opening-screen.is-opening .envelope-seal{animation:seal-fade .25s forwards}.opening-screen.is-opening .opening-copy{animation:copy-fade .28s forwards}.music-widget{position:fixed;z-index:25;left:18px;bottom:18px;width:48px;height:48px;animation:hero-rise .45s ease-out both}.music-control-button{cursor:pointer;transition:transform .2s,background .2s}.music-control-button:hover{transform:translateY(-1px)}.music-play-button{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(216,193,141,.85);border-radius:50%;background:var(--wine);color:var(--paper-light);box-shadow:0 5px 18px #3424213d;font-size:15px}.music-play-button:hover{background:var(--wine-dark)}.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}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#1b1111f0;display:flex;justify-content:center;align-items:center;padding:60px 75px}.lightbox figure{max-width:min(100%,1100px);max-height:100%;margin:0;text-align:center}.lightbox figure img{max-width:100%;max-height:calc(100vh - 120px);object-fit:contain;margin:auto}.lightbox figcaption{color:#eee4d4;font:12px var(--sans);margin-top:13px}.lightbox-close,.lightbox-arrow{position:absolute;background:none;border:1px solid rgba(255,255,255,.5);color:#fff;cursor:pointer;display:grid;place-items:center}.lightbox-close{top:24px;right:28px;width:42px;height:42px;border-radius:50%;font-size:26px}.lightbox-arrow{top:50%;transform:translateY(-50%);width:46px;height:60px;font-size:38px}.lightbox-prev{left:20px}.lightbox-next{right:20px}.toast{position:fixed;z-index:70;bottom:24px;left:50%;transform:translate(-50%);padding:12px 19px;color:var(--paper-light);background:var(--wine-dark);font:12px var(--sans);box-shadow:0 8px 28px #0003}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.25,1)}.reveal.is-visible{opacity:1;transform:none}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:40;transform-origin:0 50%;transform:scaleX(var(--scroll-ratio, 0));background:linear-gradient(90deg,var(--gold),var(--gold-light),var(--gold));box-shadow:0 0 10px #ad874b73;pointer-events:none}.event-grid .reveal:nth-child(2){transition-delay:.12s}.profiles>.profile-card:nth-child(3){transition-delay:.12s}.gallery-grid>.gallery-item:nth-child(2){transition-delay:.08s}.gallery-grid>.gallery-item:nth-child(3){transition-delay:.16s}.gallery-grid>.gallery-item:nth-child(4){transition-delay:.24s}.hero-image-caption{animation:gentle-float 6.5s ease-in-out infinite}.ornament b{animation:ornament-pulse 4.2s ease-in-out infinite}.envelope-seal{animation:seal-pulse 2.6s ease-out infinite}.event-card,.venue-item{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease,border-color .5s ease}.event-card:hover,.venue-item:hover{transform:translateY(-6px);border-color:#ad874bcc;box-shadow:0 22px 44px #53362721}.profile-photo{transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .55s ease}.profile-card:hover .profile-photo{transform:translateY(-7px);box-shadow:0 24px 46px #53362724}.button{position:relative;overflow:hidden}.button:after{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skew(-18deg);transition:left .65s ease;pointer-events:none}.button:hover:after{left:135%}.gallery-item:after{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(216,193,141,0);transition:inset .45s ease,border-color .45s ease;pointer-events:none}.gallery-item:hover:after,.gallery-item:focus-visible:after{top:7px;right:7px;bottom:7px;left:7px;border-color:#d8c18dd9}.countdown-unit span.tick{animation:tick-pop .5s cubic-bezier(.2,.7,.2,1)}@keyframes petal-fall{0%{transform:translate3d(0,-20px,0) rotate(0)}45%{transform:translate3d(34px,48vh,0) rotate(220deg)}to{transform:translate3d(-18px,106vh,0) rotate(520deg)}}@keyframes hero-rise{0%{opacity:0;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-image-in{0%{opacity:0;transform:translate(18px) scale(.985)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes envelope-open{to{transform:rotateX(178deg);filter:brightness(.83)}}@keyframes letter-rise{to{transform:translateY(-30%)}}@keyframes seal-fade{to{opacity:0;transform:translate(-50%,-50%) scale(.5)}}@keyframes copy-fade{to{opacity:0;transform:translateY(9px)}}@keyframes curtain-away{to{opacity:0;visibility:hidden}}@keyframes gentle-float{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes ornament-pulse{0%,to{opacity:.82;transform:scale(1)}50%{opacity:1;transform:scale(1.16)}}@keyframes seal-pulse{0%{box-shadow:0 0 0 4px #b99361,0 0 0 4px #b993618c}70%,to{box-shadow:0 0 0 4px #b99361,0 0 0 15px #b9936100}}@keyframes tick-pop{0%{transform:scale(1)}38%{transform:scale(1.12);color:#f4e6c4}to{transform:scale(1)}}@media(min-width:1500px){.hero{padding-left:max(9vw,calc((100vw - 1280px)/2));padding-right:max(9vw,calc((100vw - 1280px)/2))}}@media(max-width:900px){.topbar{padding:0 28px}.main-nav{gap:19px;font-size:9px}.nav-share{padding:11px 12px}.hero{padding-left:6vw;padding-right:7vw;grid-template-columns:1fr .87fr}.hero-image-wrap{width:min(100%,410px)}.hero h1{font-size:clamp(44px,7vw,70px)}.event-grid{gap:14px}.gallery-grid{grid-template-rows:190px 190px}.venue-section{padding-left:7vw;padding-right:7vw;gap:48px}.profile-photo{height:360px}}@media(max-width:680px){html{scroll-padding-top:68px}.topbar{height:68px;padding:0 20px}.brand-mark{width:35px;height:35px;font-size:15px}.brand-names{font-size:14px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;border:0;background:none;padding:10px;cursor:pointer}.menu-toggle span{width:23px;height:1px;background:var(--wine)}.main-nav{position:absolute;top:68px;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:10px 24px 18px;background:var(--paper-light);border-bottom:1px solid rgba(89,51,42,.12);visibility:hidden;opacity:0;transform:translateY(-8px);transition:.22s}.main-nav.nav-open{visibility:visible;opacity:1;transform:none}.main-nav a,.language-toggle{border-bottom:1px solid rgba(89,51,42,.1);padding:14px 0}.nav-share{margin-top:13px;min-height:40px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:43px 25px 60px;min-height:auto}.hero-content{padding:0;text-align:center;order:2}.hero-eyebrow{justify-content:center;font-size:8px;letter-spacing:.16em}.hero-eyebrow span{width:14px}.hero-script{margin-top:22px;font-size:30px}.hero h1{align-items:center;width:100%;font-size:clamp(46px,13.5vw,72px)}.hero h1 .name-amp{margin:3px 0;font-size:38px}.hero-forever{margin:6px 0 12px;font-size:17px}.hero-content>.ornament{margin:10px auto 12px}.hero-lead{font-size:12px;line-height:1.8;margin:auto;max-width:335px}.hero-date{margin:16px 0 19px;font-size:9px;letter-spacing:.07em}.hero-scroll{font-size:8px}.hero-image-wrap{order:1;width:min(calc(100% - 30px),410px);height:auto;aspect-ratio:3 / 4;min-height:0;margin:0 auto 42px}.hero-image-wrap:before{top:-10px;right:10px;bottom:10px;left:-10px}.hero-image-frame{top:8px;right:8px;bottom:8px;left:8px}.hero-image-caption{width:67px;height:67px;left:-18px;bottom:19px}.hero-image-caption span{font-size:28px}.hero-image-caption i{font-size:6px}.hero-image-vertical{right:-18px;font-size:7px}.hero-index{right:25px;bottom:21px;font-size:8px}.hero-bottom-note{display:none}.invitation-section{padding:80px 22px 87px}.invitation-card{padding:48px 22px 40px;outline-offset:4px}.sacred-line{font-size:12px}.invitation-card h2,.section-title h2,.countdown-inner h2,.venue-copy h2,.closing-inner h2{font-size:39px}.invitation-copy{font-size:12px;line-height:1.9}.invitation-names{font-size:28px;margin:22px auto}.parents-row{grid-template-columns:1fr;gap:18px;padding-top:18px}.parents-row span{font-size:11px}.couple-section{padding:79px 24px 87px}.couple-heading h2{font-size:38px}.profiles{grid-template-columns:1fr;gap:38px;margin-top:37px;width:min(100%,390px)}.profiles-center{display:flex;gap:10px;margin:-17px 0}.profiles-amp{font-size:30px}.profile-photo{height:clamp(340px,112vw,440px)}.profile-card h3{font-size:29px}.celebrations-section{padding:82px 22px 86px}.event-grid{grid-template-columns:1fr;width:min(100%,420px);margin:37px auto 29px;gap:16px}.event-card{min-height:0;padding:39px 22px 35px}.event-address{margin-top:17px}.countdown-section{padding:78px 15px 79px}.countdown-grid{gap:clamp(11px,4vw,25px)}.countdown-unit{min-width:51px;gap:7px}.countdown-unit span{font-size:clamp(39px,11vw,54px)}.countdown-unit small{font-size:7px;letter-spacing:.1em}.countdown-date{font-size:8px}.gallery-section{padding:81px 19px 85px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:250px 160px 200px;gap:9px;margin-top:35px}.gallery-item-1{grid-column:1 / 3;grid-row:1}.gallery-item-2{grid-column:1 / 3;grid-row:2}.gallery-item-3{grid-column:1;grid-row:3}.gallery-item-4{grid-column:2;grid-row:3}.gallery-zoom{width:28px;height:28px;bottom:8px;right:8px;opacity:1;transform:none}.venue-section{padding:81px 26px 88px}.venue-items{grid-template-columns:1fr;gap:13px}.venue-item{min-height:0;padding:26px 17px}.closing-section{min-height:0;padding:81px 25px 44px}.closing-section:before{left:-210px}.closing-section:after{right:-210px}.closing-inner h2{font-size:38px}.closing-copy{font-size:12px}.hosts-list{flex-direction:column;gap:7px}.hosts-list p{font-size:13px}.closing-couple{margin-top:31px}.closing-flower{font-size:90px;opacity:.65}.flower-one{left:-16px;top:2%}.flower-two{right:-9px;bottom:4%;font-size:74px}.opening-screen{grid-template-columns:1fr;grid-template-rows:minmax(250px,1fr) auto;padding:35px 24px 55px}.envelope-stage{width:min(82vw,370px);margin-top:8px}.opening-copy{padding:10px 4px}.opening-copy h1{font-size:34px;margin:8px 0 13px}.opening-copy .eyebrow{font-size:9px}.opening-couple{font-size:15px;margin-bottom:17px}.opening-screen .button{min-height:44px}.letter-mantra{font-size:8px}.letter-small{font-size:7px}.letter-names{font-size:clamp(18px,6vw,25px)}.letter-date{font-size:7px}.lightbox{padding:54px 13px}.lightbox figure img{max-height:calc(100vh - 145px)}.lightbox-arrow{width:35px;height:47px;font-size:30px;background:#21141480}.lightbox-prev{left:9px}.lightbox-next{right:9px}.music-widget{left:12px;bottom:max(12px,env(safe-area-inset-bottom));width:44px;height:44px}.music-play-button{width:44px;height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
