@font-face{font-family:Devanagari;src:url(devanagari.ttf);font-display:swap}:root{--wine:#0d2b2f;--paper:#faf3e7;--gold:#c8a369;--ink:#1e3130}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--wine);color:var(--paper);font:16px/1.7 Georgia,serif}body.locked{overflow:hidden}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.5}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.marathi{font-family:Devanagari,serif;line-height:1.8}.kicker{font:10px/1.5 Arial,sans-serif;letter-spacing:3px;color:var(--gold)}.preview{text-align:center;padding:9px 14px;font:9px/1.5 Arial,sans-serif;letter-spacing:1.4px;background:#0a1d20;color:#dcc5a2}header{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;padding:18px 34px;gap:25px;background:#0d272ceb;border-bottom:1px solid #c8a36935;backdrop-filter:blur(15px)}.brand{font-size:18px;line-height:1.4;white-space:nowrap}.brand span{display:block;font:8px/2 Arial,sans-serif;letter-spacing:2px;color:var(--gold)}nav{display:flex;align-items:center;gap:22px}nav a{font:10px/1.5 Arial,sans-serif;letter-spacing:1px;position:relative;padding:9px 0}nav a:after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width .3s}nav a:hover:after{width:100%}#menu{display:none}.hero{position:relative;min-height:790px;display:grid;place-items:center;overflow:hidden}.hero-art,.opening-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-art{opacity:.42;transform:scale(1.05)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#081c20c9,#081c204a 50%,#081c20aa),linear-gradient(0deg,var(--wine),transparent 50%)}.hero-content{position:relative;text-align:center;max-width:850px;padding:75px 25px 120px}.intro{font-size:22px;color:#e6c489;margin:22px 0}.hero h1{font-size:clamp(56px,7vw,94px);font-weight:400;line-height:1.12;margin:22px 0;color:#fae5b8;text-shadow:0 2px 20px #0006}.hero h1 span{display:block;font-size:40px;font-style:italic;color:var(--gold);margin:7px 0}.invitation{font-size:17px;color:#f3dcc0;margin:30px 0}.hero-date{font:11px/1.8 Arial,sans-serif;letter-spacing:1px;color:#ddc9b5}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:14px 24px;border:1px solid var(--gold);background:transparent;color:inherit;min-height:48px;font:11px/1.8 Arial,sans-serif;letter-spacing:1px;position:relative;overflow:hidden}.button:after{content:'';position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(100deg,transparent,#d9b87530,transparent);transition:transform .65s}.button:hover:after{transform:translateX(110%)}.hero .button{margin-top:32px}.scroll-note{position:absolute;bottom:30px;font:8px Arial,sans-serif;letter-spacing:3px;color:var(--gold)}.section{padding:95px max(6vw,24px)}.ivory{background:var(--paper);color:var(--ink)}.section-heading{max-width:680px;margin:0 auto 55px;text-align:center}.section-heading h2{font-size:49px;line-height:1.3;font-weight:400;margin:14px 0 20px}.section-heading h2.marathi{font-size:40px}.section-heading p{font-size:14px;max-width:490px;margin:0 auto;opacity:.7}.ivory .kicker{color:#8c5a32}.couple-grid{max-width:950px;display:grid;grid-template-columns:1fr 1fr;gap:50px;margin:auto}.portrait{position:relative;background:linear-gradient(145deg,#e9d8bb,#f2e5ce);color:var(--ink);border:1px solid #b59057;min-height:455px;display:flex;flex-direction:column;justify-content:space-between;padding:30px;transition:transform .3s,box-shadow .3s}.portrait:before{content:'';position:absolute;inset:12px;border:1px solid #b5905750;pointer-events:none}.portrait:hover,.portrait.active{box-shadow:0 15px 40px #1d403820}.portrait-space{flex:1;display:grid;place-items:center;font:12px Arial,sans-serif;opacity:.5}.portrait-title .marathi{font-size:25px;color:#8d593a;display:block}.portrait-title strong{font-size:32px;font-weight:400}.story{background:radial-gradient(ellipse at 20% 70%,#15454d,var(--wine) 75%)}.chapter-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;max-width:1000px;margin:65px auto}.chapter-photo{min-height:350px;background:#e8d8bd;color:#886947;border:14px solid #faf1e1;border-bottom-width:50px;transform:rotate(-4deg);box-shadow:20px 25px 70px #07141780;display:flex;flex-direction:column;align-items:center;justify-content:center;font:12px Arial,sans-serif}.photo-icon{font-size:55px;opacity:.4;margin-bottom:25px}.chapter-copy{align-self:center}.chapter-number{font:10px Arial,sans-serif;letter-spacing:2px;color:var(--gold)}.chapter-copy h3{font-size:39px;margin:22px 0 0;font-weight:400}.chapter-copy h4{font-size:23px;font-weight:400;margin:7px 0}.chapter-copy p{font-size:15px;opacity:.65;max-width:380px}.chapter-controls{display:flex;gap:12px;margin-top:24px}.chapter-controls button{width:48px;height:48px;color:var(--gold);background:transparent;border:1px solid #c8a36955}.chapter-tabs{display:flex;justify-content:center;gap:35px;margin-top:70px;flex-wrap:wrap}.chapter-tabs button{color:var(--paper);background:transparent;border:0;border-bottom:1px solid #c8a36940;padding:10px 3px;opacity:.5;font:11px Arial,sans-serif;min-height:44px}.chapter-tabs button[aria-selected=true]{opacity:1;border-bottom-color:var(--gold)}.wedding{padding-top:95px;background:#0e2422}.mandap-wrap{position:relative;overflow:hidden}.mandap-wrap img{width:100%;display:block;min-height:450px;object-fit:cover;transition:transform .5s}.mandap-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0e2422,transparent 50%)}.mandap-text{position:absolute;bottom:30px;width:100%;text-align:center;padding:20px}.mandap-text h3{font-size:36px;font-weight:400;margin:8px 0}.mandap-text p{font-size:13px}.art-note{text-align:center;font:10px/1.7 Arial,sans-serif;opacity:.55;padding:0 20px}.countdown{text-align:center;padding:50px 20px 90px}.countdown h3{font-size:26px;font-weight:400;color:var(--gold)}.count-grid{display:flex;justify-content:center;gap:45px}.count-grid strong{display:block;font-size:54px;line-height:1.3;font-weight:400;color:#e7c797}.count-grid span{font:9px Arial,sans-serif;text-transform:uppercase;letter-spacing:2px;color:#bca38a}.countdown p{font-size:12px;opacity:.55}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1120px;margin:auto;gap:25px}.event-card{padding:35px 27px;border:1px solid #c2a47766;background:#f8efdf;transition:transform .3s;position:relative}.event-card .symbol{font-size:28px;color:#a97440}.event-card h3{font-size:27px;font-weight:400;margin:10px 0 0}.event-card h4{font-size:17px;font-weight:400;margin:0 0 26px}.event-card p{font-size:12px;margin:9px 0;opacity:.65}.event-card .button{font-size:9px;margin-top:17px;padding:9px 16px}.gallery{background:#0e282c}.gallery-grid{max-width:1050px;display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:220px 220px;gap:24px;margin:auto}.photo-space{background:linear-gradient(140deg,#1d4b52,#123036);border:1px solid #b38d5855;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#d6bb99;opacity:1!important}.photo-space.tall{grid-row:span 2}.photo-space span{font-size:40px;opacity:.25}.photo-space p{font-size:12px;opacity:.55}.art-preview{max-width:1050px;margin:35px auto 0;font-size:12px;color:#c7ad93}.art-preview summary{cursor:pointer;min-height:44px}.art-thumbs{display:flex;gap:15px}.art-thumbs button{padding:0;border:1px solid var(--gold);background:none;width:180px}.art-thumbs img{width:100%;display:block}.family-card{max-width:730px;text-align:center;margin:auto;padding:45px 35px;border:1px solid #b5905770}.ornament{font-size:58px;line-height:1.5;color:var(--gold)}.muted{font-size:12px;opacity:.55}.location-grid{max-width:1100px;margin:auto;display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:center}.location-grid h3{font-size:32px;font-weight:400}.map-placeholder{height:320px;background:#174049;border:1px solid #b38d5855;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:12px;color:#d5b78f;padding:20px}.map-placeholder svg{max-width:100%;height:180px;fill:none;stroke:#c6a067;stroke-width:1;stroke-dasharray:7}.map-placeholder circle{fill:#c6a067}.rsvp-card{max-width:630px;margin:auto;border:1px solid #c3a16b;padding:40px;background:#f6ecda}.rsvp-card label{display:block;font-size:13px;margin-bottom:20px}.rsvp-card input,.rsvp-card select,.rsvp-card textarea{display:block;border:0;border-bottom:1px solid #c4aa88;width:100%;margin-top:8px;padding:12px 8px;background:#fcf6ea;color:var(--ink);font-size:13px;border-radius:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}#rsvp-confirmation{border-top:1px solid #b5905770;margin-top:25px;padding-top:20px}#rsvp-confirmation .marathi{font-size:19px}#rsvp-confirmation p:last-child{font:11px Arial,sans-serif}.farewell{text-align:center;padding:100px 25px;background:radial-gradient(ellipse,#124049,var(--wine))}.farewell h2{font-size:46px;font-weight:400;margin:25px 0}.farewell h2 em{color:var(--gold)}.farewell .marathi{font-size:22px}.sound,.motion{position:fixed;bottom:20px;z-index:9;color:#dfc5a0;background:#0a2126eb;border:1px solid #c8a36955;padding:10px 14px;font:10px Arial,sans-serif;min-height:40px}.sound{left:18px;opacity:1!important}.motion{right:18px}dialog{width:90vw;max-width:1100px;border:1px solid var(--gold);padding:12px;background:#0a1d20;color:#dcc5a2}dialog::backdrop{background:#040a0bec}dialog img{display:block;width:100%;max-height:80vh;object-fit:contain}dialog p{text-align:center;font-size:12px}#lightbox-close{position:absolute;right:15px;top:15px;width:45px;height:45px;background:#091c20d9;border:1px solid var(--gold);color:#f5dcb4;font-size:25px}.opening{position:fixed;inset:0;z-index:20;background:#0b1f24;display:grid;place-items:center;overflow:hidden;transition:opacity 1s,transform 1.1s}.opening-art{opacity:.42;animation:camera 10s ease-out both}.opening-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0a1e23dc,transparent 65%,#081b1fa0)}.opening-frame{position:absolute;inset:25px;border:1px solid #bd954a;border-radius:160px 160px 0 0;animation:frame 2s ease both}.opening-content{position:relative;text-align:center;max-width:800px;width:100%;padding:30px}.opening-content h2{font-size:34px;font-weight:400;color:#eed3a2;margin:22px 0}.opening-names{font-size:27px;color:#ead3b2}.opening-names em{color:var(--gold)}.invite-card{display:flex;flex-direction:column;gap:15px;align-items:center;max-width:420px;margin:30px auto 15px;padding:23px 35px;border:1px solid #d4b37b;background:linear-gradient(145deg,#f0dec0,#fcf2df);color:#12424b;transform:perspective(1000px) rotateX(4deg);box-shadow:0 25px 70px #0008;transition:transform .6s}.invite-card:hover{transform:perspective(1000px) rotateX(0) translateY(-5px)}.invite-card .marathi{font-size:17px}.seal{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;border:3px double #bd965f;background:#15505c;color:#e6cda0;font-size:30px}.invite-card small{font:10px Arial,sans-serif;letter-spacing:1px}.draft-note{font:10px/1.8 Arial,sans-serif;color:#d8bd9c}.opening.leaving{opacity:0;transform:scale(1.1);pointer-events:none}.opening.leaving .invite-card{transform:perspective(1000px) rotateY(-75deg) scale(1.7)}.petals{position:fixed;inset:0;pointer-events:none;z-index:21;overflow:hidden}.petal{position:absolute;top:-20px;width:9px;height:15px;border-radius:80% 0 80% 0;background:linear-gradient(120deg,#d9a538,#963f15);opacity:.45;animation:fall var(--duration) linear infinite;animation-delay:var(--delay)}.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s,transform .9s}.reveal.visible{opacity:1;transform:none}body.motion-off *{animation:none!important;transition:none!important;scroll-behavior:auto!important}body.motion-off .petals{display:none}body.motion-off .reveal{opacity:1;transform:none}@keyframes camera{from{transform:scale(1.14)}to{transform:scale(1)}}@keyframes frame{from{opacity:0;clip-path:inset(0 50% 0 50%)}to{opacity:1;clip-path:inset(0)}}@keyframes fall{to{transform:translate3d(70px,110vh,0) rotate(360deg)}}
@media(max-width:1100px){nav{gap:12px}nav a{font-size:9px}header{padding:16px 23px}.brand{font-size:16px}}@media(max-width:800px){header{padding:15px 21px}.brand{font-size:15px}#menu{display:flex;flex-direction:column;gap:7px;padding:13px 10px;border:0;background:transparent;width:44px;height:44px}#menu i{height:1px;width:24px;background:var(--gold);transition:transform .3s}#menu[aria-expanded=true] i:first-child{transform:translateY(4px) rotate(45deg)}#menu[aria-expanded=true] i:last-child{transform:translateY(-4px) rotate(-45deg)}nav{display:none;position:absolute;top:75px;left:0;right:0;background:#0e282dee;padding:20px;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid #c8a36955}nav.open{display:grid}nav a{font-size:11px;padding:17px}.hero{min-height:730px}.hero-art{object-position:50% 45%}.hero-content{padding:75px 28px 110px}.hero h1{font-size:54px}.intro{font-size:18px}.invitation{font-size:15px}.kicker{font-size:9px;letter-spacing:2px}.section{padding:65px 26px}.section-heading{margin-bottom:35px}.section-heading h2{font-size:37px}.section-heading h2.marathi{font-size:30px}.section-heading p{font-size:13px}.couple-grid{gap:18px}.portrait{min-height:290px;padding:19px 10px}.portrait-space{font-size:10px}.portrait-title strong{font-size:23px}.portrait-title .marathi{font-size:21px}.chapter-layout{grid-template-columns:1fr;gap:50px;margin:40px auto;max-width:500px}.chapter-photo{min-height:300px;margin:10px 16px}.chapter-copy{text-align:center}.chapter-copy p{margin:auto}.chapter-controls{justify-content:center}.chapter-tabs{gap:17px;margin-top:35px}.chapter-tabs button{font-size:10px}.wedding{padding-top:65px}.mandap-wrap img{min-height:400px;object-fit:cover;object-position:center}.mandap-text{bottom:12px}.mandap-text h3{font-size:28px}.count-grid{gap:24px}.count-grid strong{font-size:42px}.count-grid span{letter-spacing:1px;font-size:8px}.countdown{padding:40px 20px 60px}.countdown h3{font-size:23px}.event-grid{grid-template-columns:1fr 1fr;gap:14px}.event-card{padding:23px 16px}.event-card h3{font-size:23px}.event-card h4{font-size:15px}.event-card .button{padding:8px 10px;font-size:8px;width:100%}.gallery-grid{grid-template-rows:165px 165px;gap:12px}.photo-space p{font-size:10px;padding:0 12px;text-align:center}.location-grid{grid-template-columns:1fr;gap:20px}.location-grid h3{margin:10px 0}.map-placeholder{height:260px}.rsvp-card{padding:26px 20px}.form-row{gap:14px}.family-card{padding:30px 20px}.farewell{padding:70px 28px 100px}.farewell h2{font-size:34px}.farewell .marathi{font-size:17px}.opening-frame{inset:18px;border-radius:125px 125px 0 0}.opening-content{padding:38px 30px}.opening-content h2{font-size:25px;margin:18px 0}.opening-names{font-size:23px}.invite-card{padding:24px 20px;max-width:320px}.invite-card .marathi{font-size:15px}.opening-art{object-position:50% 50%}.sound,.motion{font-size:9px;bottom:12px;padding:10px;min-height:40px}.sound{left:12px}.motion{right:12px}}@media(max-width:360px){.hero h1{font-size:46px}.couple-grid{grid-template-columns:1fr}.event-grid{grid-template-columns:1fr}.opening-content h2{font-size:22px}.count-grid{gap:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.petals{display:none}.reveal{opacity:1;transform:none}.hero-art{transform:none}}
/* Controls stay in the page flow rather than covering invitation text. */
.sound,.motion{position:static;margin:14px 0 22px 18px;display:inline-block}.petal{opacity:.3}.opening .petal{opacity:.4}
@media(max-width:800px){.portrait-title strong{font-size:21px;display:block;overflow-wrap:anywhere}.mandap-wrap img{min-height:0;aspect-ratio:1.15;object-fit:cover}.mandap-text{bottom:8px}.mandap-text h3{font-size:25px}}
.forming-frame{position:absolute;inset:18px;width:calc(100% - 36px);height:calc(100% - 36px);fill:none;stroke:#cba768;stroke-width:1.1;pointer-events:none}.forming-frame path{stroke-dasharray:4000;stroke-dashoffset:4000;animation:frame-draw 3.6s ease-out forwards}.gold-sweep{position:absolute;inset:-20%;background:linear-gradient(105deg,transparent 35%,#ffdba71a 49%,transparent 60%);transform:translateX(-80%);animation:sweep 5s ease-out both;pointer-events:none}.opening-names,.hero h1{background:linear-gradient(105deg,#bc8a49,#ffedc7 40%,#d2a15e 55%,#fae6bb 70%);background-clip:text;color:transparent}.opening-content{animation:title-focus 2.3s ease both}.opening.leaving .opening-content{animation:none}.lotus-ornament svg{width:90px;height:75px}.story-thread{max-width:750px;height:1px;margin:50px auto -30px;background:linear-gradient(90deg,transparent,#bb8b51,transparent)}.chapter-tabs button{transition:opacity .4s,color .4s;position:relative}.chapter-tabs button:before{content:'';position:absolute;top:-12px;left:calc(50% - 3px);width:6px;height:6px;border:1px solid var(--gold);transform:rotate(45deg)}.chapter-tabs button[aria-selected=true]:before{background:var(--gold);box-shadow:0 0 12px #d7a55b}.chapter-photo.turning{animation:chapter-turn .55s ease}.event-card:after{content:'';position:absolute;inset:7px;border:1px solid #c5a37125;pointer-events:none}.family-card{background-image:radial-gradient(#b7955a10 1px,transparent 1px);background-size:15px 15px}.hero:after,.farewell:before{content:'';position:absolute;left:0;right:0;bottom:0;height:13px;background:repeating-linear-gradient(45deg,transparent 0 10px,#c9a36a35 10px 11px,transparent 11px 20px);border-block:1px solid #c9a36a55;pointer-events:none}.farewell{position:relative}.farewell:before{top:0;bottom:auto}.lamp-glow{position:absolute;top:66%;width:13%;height:20%;background:radial-gradient(ellipse,#ffd79f45,transparent 67%);filter:blur(13px);opacity:0;transition:opacity 1.5s;pointer-events:none}.lamp-glow.left{left:8%}.lamp-glow.right{right:8%}#gold-dust{position:fixed;inset:0;width:100%;height:100%;z-index:22;pointer-events:none;opacity:.7}.portrait-title strong{transition:transform .5s}.portrait:hover .portrait-title strong,.portrait.active .portrait-title strong{transform:translateY(-4px)}.portrait.active{outline:1px solid #bd904f;outline-offset:5px}.map-placeholder svg path{stroke-dasharray:7;animation:route 10s linear infinite}@keyframes frame-draw{to{stroke-dashoffset:0}}@keyframes sweep{to{transform:translateX(90%)}}@keyframes title-focus{from{opacity:0;filter:blur(6px);transform:translateY(12px)}to{opacity:1;filter:blur(0);transform:none}}@keyframes chapter-turn{0%{opacity:.3;transform:perspective(800px) rotateY(12deg) rotate(-4deg)}100%{opacity:1;transform:perspective(800px) rotateY(0deg) rotate(-4deg)}}@keyframes route{to{stroke-dashoffset:-100}}@media(prefers-reduced-motion:reduce){.forming-frame path{stroke-dashoffset:0}#gold-dust{display:none}.lamp-glow{opacity:.35!important}.opening-content{opacity:1;filter:none}}body.motion-off #gold-dust{display:none}body.motion-off .forming-frame path{stroke-dashoffset:0}@media(max-width:800px){.forming-frame{inset:15px;width:calc(100% - 30px);height:calc(100% - 30px)}.lamp-glow{top:64%;width:20%}.lamp-glow.left{left:3%}.lamp-glow.right{right:3%}.story-thread{margin-top:35px;margin-bottom:-18px}}

.english{font-family:Georgia,serif;line-height:1.65}.opening-content h2.english{font-size:30px}.invite-card .english{font-size:17px}.portrait-title .english{display:block;color:#8d593a;font-size:18px}.event-card h3{font-size:23px;margin-bottom:26px}@media(max-width:800px){.opening-content h2.english{font-size:25px}.invite-card .english{font-size:16px}.chapter-copy h3{font-size:32px}.event-card h3{font-size:20px}}
/* Personalised English invitation */
.parents{display:grid;gap:34px;margin-top:22px}.parents h3{font-size:24px;font-weight:400;line-height:1.65;margin:10px 0}.parents>div+div{border-top:1px solid #b5905740;padding-top:30px}.event-card h3{line-height:1.35;overflow-wrap:break-word}.event-card .event-when{opacity:1;color:#2b5a52;font-size:13px}.event-card:nth-child(2){border-top:3px solid #c59832}.event-card:nth-child(3){border-top:3px solid #926147}.event-card:nth-child(4){border-top:3px solid #2b5f66}.event-card:nth-child(5){border-top:3px solid #648476}.hero .intro{max-width:560px;margin-inline:auto}.opening-content h2.english{max-width:570px;margin-inline:auto;font-size:30px;line-height:1.45}.hero h1{font-size:clamp(44px,7vw,88px)}.opening-names{font-size:27px;line-height:1.5}.farewell h2{overflow-wrap:break-word}@media(max-width:800px){.event-grid{grid-template-columns:1fr}.event-card{padding:25px 24px}.event-card h3{font-size:25px;margin-bottom:18px}.event-card p{font-size:13px}.event-card .button{max-width:180px;font-size:10px}.opening-content h2.english{font-size:25px;max-width:310px}.opening-names{font-size:25px}.hero h1{font-size:48px}.parents h3{font-size:22px}}@media(max-width:360px){.hero h1{font-size:41px}.opening-content{padding:28px}.opening-content h2.english{font-size:22px}.opening-names{font-size:22px}.parents h3{font-size:20px}.event-card h3{font-size:23px}}
/* Photographic stationery opening for two doctors */
.opening{background:#faf3e7;color:#0d2b2f}.opening-art{opacity:1;animation:none;object-position:center}.opening-shade{background:transparent}.forming-frame{stroke:#a47c48;opacity:.35}.gold-sweep{display:none}.opening-content{padding:38px 36px}.opening-content .kicker{color:#886039}.opening-content h2.english{color:#0d2b2f;font-size:29px;line-height:1.4;max-width:460px;margin:20px auto}.opening-names{background:none;color:#0d2b2f;font-size:27px;line-height:1.5;margin:24px auto}.opening-names em{color:#946c36}.invite-card{background:#fffaf3d9;border:1px solid #a98249;color:#0d2b2f;box-shadow:0 12px 35px #1e423917;padding:20px 30px;margin:26px auto 18px;gap:14px;transform:none}.seal{width:48px;height:48px;font-size:24px}.draft-note{color:#725449}.hero-art{opacity:1;transform:none}.hero-shade{background:linear-gradient(0deg,#faf3e750,transparent)}.hero{background:#faf3e7;color:#0d2b2f}.hero-content .kicker{color:#886039}.hero h1{background:none;color:#0d2b2f;text-shadow:none}.hero h1 span{color:#946c36}.hero .intro,.hero .invitation,.hero-date{color:#22483f}.hero .button{border-color:#9b7540;color:#0d2b2f;background:#fffaf3d9}.scroll-note{color:#765431}.hero:after{display:none}.petals,#gold-dust{display:none}.event-card:nth-child(5){border-top-color:#c8a369}@media(max-width:800px){.opening-content{padding:35px 40px}.opening-content h2.english{font-size:25px;max-width:290px}.opening-names{font-size:26px;max-width:290px}.invite-card{max-width:285px;padding:19px 18px}.invite-card .english{font-size:15px}.draft-note{font-size:9px;max-width:260px;margin-inline:auto}.hero-content{padding:110px 38px 100px}.hero{min-height:780px}.hero-art{object-position:center}.hero h1{font-size:45px}}@media(max-width:360px){.opening-content{padding:32px}.opening-content h2.english{font-size:21px;max-width:240px}.opening-names{font-size:23px}.invite-card{padding:16px;gap:10px;margin-top:20px}.invite-card .english{font-size:14px}.seal{width:42px;height:42px}.hero h1{font-size:38px}}
/* Open invitation without a card or box */
.invite-card{background:none;border:0;box-shadow:none;padding:8px 0 12px;gap:18px;margin:30px auto 14px;max-width:290px}.invite-card:hover{transform:translateY(-2px)}.invite-card .english{font-size:15px;line-height:1.7;max-width:245px}.open-line{height:1px;width:64px;background:#a98249;display:block}.invite-card small{font:10px/1.6 Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;color:#704425}.open-arrow{font-size:18px;vertical-align:-1px;margin-left:12px;display:inline-block;transition:transform .3s}.invite-card:hover .open-arrow{transform:translateX(4px)}.draft-note{margin-top:18px;opacity:.7}@media(max-width:360px){.invite-card{padding:8px 0 12px;gap:16px}.invite-card .english{font-size:14px;max-width:230px}.invite-card small{font-size:9px;letter-spacing:1.7px}}
/* Light-filled intertwined ring reveal */
.opening-invite-line{font-size:14px;margin:25px auto 14px;max-width:280px;line-height:1.6}.magic-seal{position:relative;display:block;width:132px;height:132px;padding:0;margin:14px auto 10px;border:0;border-radius:50%;background:radial-gradient(circle,#fffcf39c 0%,#f6e4ba40 48%,transparent 72%);color:#946c36;box-shadow:0 0 34px #edcc7850;isolation:isolate}.magic-seal svg{position:absolute;inset:8px;width:116px;height:116px;fill:none;stroke:url(#ring-gold);stroke-width:2;filter:drop-shadow(0 1px 2px #9d702e30);animation:ring-breathe 4s ease-in-out infinite}.orbit{position:absolute;inset:2px;border:1px solid #c9a45c45;border-radius:50%;pointer-events:none}.orbit-one{border-top:1px solid #fef3c1;animation:orbit-turn 9s linear infinite}.orbit-two{inset:11px;border-color:#c9a45c20;border-bottom-color:#ba893f;animation:orbit-turn 14s linear infinite reverse}.ring-spark{position:absolute;font-size:21px;color:#aa7f3e;text-shadow:0 0 10px #fff7da;z-index:3}.spark-one{top:2px;right:19px;animation:sparkle 3s ease-in-out infinite}.spark-two{bottom:5px;left:15px;font-size:15px;animation:sparkle 3s ease-in-out infinite 1.5s}.seal-light{position:absolute;inset:-13px;background:radial-gradient(circle,#fff6d370,transparent 66%);animation:ring-breathe 4s ease-in-out infinite;z-index:-1}.magic-initials{position:absolute;inset:0;display:grid;place-content:center;padding-top:3px;font:16px Georgia,serif;letter-spacing:2px;color:#765028}.magic-initials em{font-size:11px;position:absolute;inset:0;display:grid;place-content:center;transform:translateY(17px);color:#a87c3c}.magic-hint{font:9px/1.7 Arial,sans-serif;letter-spacing:1.8px;text-transform:uppercase;color:#865e32;margin:15px 0 22px}.magic-seal:hover{box-shadow:0 0 45px #edcc7880}.magic-seal:active{transform:scale(.96)}.opening.leaving{transform:none;transition:opacity 1.4s;opacity:0}.opening.leaving .magic-seal{animation:seal-open 1.3s ease-in forwards}.opening.leaving .opening-art{transition:filter 1.2s;filter:brightness(1.3)}.opening.leaving .opening-content{animation:reveal-away 1.2s ease-in forwards}@keyframes ring-breathe{50%{opacity:.6;transform:scale(1.04)}}@keyframes orbit-turn{to{transform:rotate(360deg)}}@keyframes sparkle{50%{opacity:.25;transform:scale(.7)}}@keyframes seal-open{to{transform:scale(2.8);box-shadow:0 0 100px 80px #fff4cfcc;opacity:0}}@keyframes reveal-away{to{opacity:0;filter:blur(5px)}}@media(max-width:800px){.opening-content h2.english{font-size:24px}.opening-names{margin:20px auto;font-size:25px}.opening-invite-line{margin-top:24px}.draft-note{margin-top:18px}.magic-seal{width:128px;height:128px}.magic-seal svg{width:112px;height:112px}}@media(max-width:360px){.opening-content h2.english{font-size:21px}.opening-names{font-size:22px}.magic-seal{width:116px;height:116px}.magic-seal svg{width:100px;height:100px}.opening-invite-line{font-size:13px;margin-top:20px}.magic-hint{margin-bottom:17px}}@media(prefers-reduced-motion:reduce){.magic-seal,.magic-seal *{animation:none!important}.opening.leaving .opening-content{animation:none}.opening.leaving{transition:none}}
.magic-initials{display:flex;align-items:center;justify-content:center;gap:3px;padding:0;font-size:14px;letter-spacing:0}.magic-initials em{position:static;display:inline;transform:none;font-size:10px}
/* Alternative: a silk ribbon unties to reveal the invitation */
.ribbon-knot{position:relative;display:block;width:286px;height:132px;border:0;background:none;margin:10px auto;color:#a37536;padding:0;filter:drop-shadow(0 7px 5px #8d612524)}.ribbon-knot svg{width:100%;height:100%;overflow:visible}.ribbon-knot path{fill:url(#silk-gold);stroke:#ae8545;stroke-width:.5;transform-box:fill-box;transform-origin:center}.ribbon-glimmer{position:absolute;inset:0;background:radial-gradient(ellipse,#fff1c568,transparent 64%);animation:ring-breathe 4s ease-in-out infinite;pointer-events:none}.knot-light{position:absolute;left:calc(50% - 8px);top:56px;font-size:17px;color:#fff6d8;text-shadow:0 0 12px #ffefb4;animation:sparkle 4s infinite}.ribbon-left{animation:ribbon-left-sway 5s ease-in-out infinite}.ribbon-right{animation:ribbon-right-sway 5s ease-in-out infinite}.opening.leaving .ribbon-left{animation:ribbon-release-left 1.1s ease-in forwards}.opening.leaving .ribbon-right{animation:ribbon-release-right 1.1s ease-in forwards}.opening.leaving .ribbon-centre,.opening.leaving .ribbon-tail{transition:opacity .7s;opacity:0}.opening.leaving .knot-light{animation:knot-flash 1s forwards}.opening.leaving .opening-content{animation:none;transition:opacity 1s .4s;opacity:0}.opening.leaving{transition:opacity 1.6s .3s}.opening.leaving .opening-art{transition:filter 1.5s;filter:brightness(1.4)}@keyframes ribbon-left-sway{50%{transform:rotate(-3deg)}}@keyframes ribbon-right-sway{50%{transform:rotate(3deg)}}@keyframes ribbon-release-left{to{transform:translateX(-210px) rotate(-20deg);opacity:0}}@keyframes ribbon-release-right{to{transform:translateX(210px) rotate(20deg);opacity:0}}@keyframes knot-flash{to{transform:scale(9);opacity:0}}@media(max-width:360px){.ribbon-knot{width:245px;height:116px}.knot-light{top:47px}}@media(prefers-reduced-motion:reduce){.ribbon-knot *{animation:none!important}}
/* Supplied floral butterfly monogram, brighter paper */
.opening-art,.hero-art{filter:brightness(1.1) saturate(.95)}.opening-content h2.english{font-size:23px}.opening-names{font-size:25px;margin:18px auto}.opening-invite-line{margin:20px auto 8px;font-size:14px}.client-logo-opening{position:relative;width:172px;height:172px;display:block;margin:8px auto 12px;padding:0;border:0;background:none;isolation:isolate}.client-logo-opening img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;position:relative;z-index:1}.logo-aura{position:absolute;inset:-12px;background:radial-gradient(circle,#fffbeea6,transparent 68%);animation:ring-breathe 4s ease-in-out infinite;z-index:0}.client-logo-opening:hover .logo-aura{background:radial-gradient(circle,#fff6d3cc,transparent 72%)}.opening.leaving .client-logo-opening{animation:monogram-reveal 1.25s ease-in forwards}.opening.leaving .opening-content{transition:none;opacity:1;animation:reveal-away 1.4s ease-in forwards}.opening.leaving .opening-art{filter:brightness(1.4)}.magic-hint{margin:13px 0 16px}.draft-note{margin-top:16px}@keyframes monogram-reveal{to{transform:scale(1.6);opacity:0;filter:blur(2px)}}@media(max-width:360px){.opening-content h2.english{font-size:20px}.opening-names{font-size:22px}.client-logo-opening{width:155px;height:155px}.opening-invite-line{font-size:13px}}@media(prefers-reduced-motion:reduce){.client-logo-opening,.logo-aura{animation:none!important}}
.client-logo-opening{isolation:auto}.client-logo-opening img{mix-blend-mode:multiply;object-fit:contain}
/* Slightly smaller supplied monogram, all other opening styling retained */
.client-logo-opening{width:142px;height:142px}@media(max-width:360px){.client-logo-opening{width:130px;height:130px}}
/* Responsive spacing and alignment pass */
.closing-name{display:inline-block;white-space:nowrap}.farewell h2{line-height:1.35}.wedding>.section-heading{padding-inline:26px}.event-card{display:flex;flex-direction:column;align-items:flex-start}.event-card .button{margin-top:auto}.event-card p:last-of-type{margin-bottom:25px}.event-card h3{width:100%}.form-row>label{min-width:0}.rsvp-card input,.rsvp-card select,.rsvp-card textarea{min-height:44px}.art-thumbs{align-items:flex-start}.art-thumbs button{min-width:0;flex:0 1 180px}.location-grid>div{min-width:0}
@media(min-width:601px) and (max-width:800px){.event-grid{grid-template-columns:1fr 1fr}.event-card{padding:26px 23px}.event-card h3{font-size:23px}}
@media(max-width:600px){.farewell h2 .closing-name{display:block}.farewell h2 em{display:block;font-size:25px;margin:5px auto}.farewell h2{margin-top:24px;margin-bottom:24px}}
@media(max-width:360px){.form-row{grid-template-columns:1fr;gap:0}.rsvp-card .button{width:100%;gap:14px;padding-inline:12px}.gallery-grid{grid-template-columns:1fr 1fr}.photo-space p{font-size:11px;line-height:1.65;padding-inline:8px}.opening-content{padding-inline:26px}.opening-invite-line{max-width:240px}}
/* Couple names together on one line at every viewport */
.opening-names{white-space:nowrap;max-width:none!important;font-size:clamp(18px,5.5vw,27px)!important;letter-spacing:-.3px}.hero h1{white-space:nowrap;font-size:clamp(18px,5.3vw,60px)!important;letter-spacing:-.4px;line-height:1.35}.hero h1 span{display:inline;font-size:inherit;font-style:normal;margin:0}.farewell h2{white-space:nowrap;font-size:clamp(18px,5.3vw,46px)!important;letter-spacing:-.3px}.farewell h2 .closing-name{display:inline!important}.farewell h2 em{display:inline!important;font-size:inherit!important;margin:0!important}.opening-content{padding-inline:clamp(22px,6vw,40px)}.hero-content{width:100%;padding-inline:clamp(22px,6vw,38px)}
.opening-names{font-size:clamp(22px,6vw,27px)!important}.hero h1{font-size:clamp(22px,6vw,60px)!important}.farewell h2{font-size:clamp(22px,6vw,46px)!important}
.gentle-scroll{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:120px;min-height:70px;margin:30px auto 0;color:#765431;font:9px/1.7 Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;background:none;border:0}.scroll-stroke{width:1px;height:20px;background:#9b754080}.gentle-scroll>span:last-child{font:20px/1 Georgia,serif;animation:gentle-drift 3s ease-in-out infinite}@keyframes gentle-drift{50%{transform:translateY(3px);opacity:.5}}@media(prefers-reduced-motion:reduce){.gentle-scroll>span:last-child{animation:none}}

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(type-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(type-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(type-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(type-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(type-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(type-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(type-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(type-7.ttf) format('truetype');
}
/* Editorial invitation typography: refined display, calm reading, clean details. */
body{font-family:Lora,Georgia,serif;font-weight:400}
.english{font-family:Lora,Georgia,serif}
h1,h2,h3,h4,.brand,.opening-names,.portrait-title strong,.count-grid strong{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:0}
.opening-content h2.english,.intro.english{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(26px,6vw,34px);line-height:1.2;max-width:500px}
.opening-names{font-size:clamp(27px,7vw,34px)!important;line-height:1.2}
.hero h1{font-size:clamp(27px,7vw,74px)!important;line-height:1.2;letter-spacing:-.3px}
.farewell h2{font-size:clamp(27px,7vw,58px)!important;line-height:1.2;letter-spacing:-.3px}
.section-heading h2{font-size:clamp(39px,6vw,56px);line-height:1.15}
.event-card h3{font-size:29px;line-height:1.15;font-weight:600}
.parents h3{font-size:26px;line-height:1.3;font-weight:500}
.chapter-copy h3{font-size:42px;line-height:1.1}
.chapter-copy h4{font-size:27px;line-height:1.25}
.kicker,.preview,.brand span,nav a,.hero-date,.button,.chapter-number,.chapter-tabs button,.count-grid span,.art-note,.sound,.motion,.magic-hint,.draft-note,.gentle-scroll{font-family:Jost,Arial,sans-serif}
.event-card p{font-family:Jost,Arial,sans-serif;font-size:14px;line-height:1.65}.event-card .event-when{font-size:14px}
.hero-date{font-size:12px;letter-spacing:1.2px}.gentle-scroll{font-size:10px}.magic-hint{font-size:10px}.opening-invite-line,.invitation{font-size:14px}
@media(max-width:360px){.opening-content h2.english{max-width:250px}.intro.english{font-size:25px}.parents h3{font-size:25px}.opening-invite-line{font-size:13px}}
@media(max-width:360px){.farewell h2{font-size:25px!important}.opening-names{font-size:26px!important}.hero h1{font-size:26px!important}}
.story-letter{max-width:680px;margin:40px auto 0;padding:42px 48px;border:1px solid #c8a36955;border-radius:180px 180px 4px 4px;background:linear-gradient(160deg,#ffffff05,transparent);text-align:center}.story-letter p{font-family:Lora,Georgia,serif;font-size:15px;line-height:1.9;color:#efdec5;margin:0 0 28px}.story-letter p:first-child{padding-top:28px}.story-letter p:last-child{margin-bottom:0}.story-letter strong{font-family:Jost,Arial,sans-serif;font-weight:500;letter-spacing:1px;color:#e3bd80}@media(max-width:600px){.story-letter{padding:34px 20px;border-radius:110px 110px 4px 4px}.story-letter p{font-size:14px;line-height:1.85}.story-letter br{display:none}}
.story-letter br{display:initial}@media(max-width:600px){.story-letter br{display:none}}
@font-face {
  font-family: 'Noto Emoji';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(hearts.woff) format('truetype');
}

.story-heart{font-family:"Noto Emoji",sans-serif;color:#e3bd80}
.wishes{background:#f9f2e6;color:#164049}.wish-layout{max-width:1040px;margin:44px auto 0;display:grid;grid-template-columns:360px 1fr;gap:48px;align-items:start}.wish-form{background:#fffaf1;border:1px solid #c8a36970;padding:30px;box-shadow:0 14px 40px #6d41200a}.wish-form h3{font-size:32px;line-height:1.1;margin:12px 0 28px}.wish-flower{color:#ab803f;font-size:30px}.wish-form label{display:block;font:12px Jost,Arial,sans-serif;letter-spacing:.5px;margin:20px 0 7px}.wish-form input,.wish-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #bb9c7080;border-radius:0;background:#f7eddf;padding:12px;font:14px/1.7 Lora,Georgia,serif;color:#164049;resize:vertical}.wish-form input:focus,.wish-form textarea:focus{outline:1px solid #a67f49;outline-offset:2px}.wish-counter{text-align:right;font:10px Jost,Arial,sans-serif;color:#95785a;margin-top:5px}.wish-disclosure{font:11px/1.65 Jost,Arial,sans-serif;color:#806a5d;margin:18px 0}.wish-form .button{width:100%;color:#fff0d7;background:#124049;border-color:#124049}.wish-form .button:disabled{opacity:.6}.wish-wall{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wish-empty{grid-column:1/-1;text-align:center;padding:80px 20px;border:1px dashed #c8a36988;border-radius:120px 120px 4px 4px;color:#8d7053}.wish-empty>span{font-size:44px;color:#ad874d}.wish-empty h3{font-size:30px;font-weight:400;margin:20px 0 10px}.wish-empty p{font-size:13px;margin:0}.wish-note{background:#fffaf1;padding:28px;border:1px solid #d7c4a6;overflow-wrap:anywhere}.wish-note p{font-size:14px;line-height:1.8;margin:0 0 24px;white-space:pre-wrap}.wish-note strong{font:500 12px Jost,Arial,sans-serif;letter-spacing:.5px;color:#9a6b35}.wish-note:before{content:'♡';display:block;color:#b68b48;font-size:25px;margin-bottom:16px}#wish-status{font:12px/1.65 Jost,Arial,sans-serif;margin-bottom:0}@media(max-width:850px){.wish-layout{grid-template-columns:1fr;gap:28px;max-width:600px}}@media(max-width:500px){.wish-wall{grid-template-columns:1fr}.wish-form{padding:24px}.wish-layout{margin-top:30px}.wish-empty{padding:55px 20px}}
.wish-form input.wish-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
/* Mandap lettering stays in the clear central opening, away from the pillars. */
.mandap-wrap{perspective:1200px}.mandap-text{left:50%;top:59%;bottom:auto;width:68%;max-width:650px;padding:12px 10px;transform:translateX(-50%)!important;text-shadow:0 2px 12px #0b1713}.mandap-text h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(24px,3.5vw,42px);line-height:1.08;margin:10px auto 14px;max-width:500px}.mandap-text p{font-family:Jost,Arial,sans-serif;font-size:clamp(12px,1.3vw,16px);line-height:1.7;margin:0}.mandap-text .kicker{font-size:9px;letter-spacing:2px}.mandap-shade{background:linear-gradient(0deg,#0e2422 1%,#0e242266 25%,transparent 70%)}
.countdown{max-width:760px;margin:55px auto 0;padding:36px 20px 18px;text-align:center}.countdown h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(27px,4vw,38px);margin:0 0 28px;color:#e3c18d}.count-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:560px;margin:auto}.count-grid>div{padding:18px 8px 14px;border:1px solid #b68b4555;border-radius:55px 55px 3px 3px;background:linear-gradient(145deg,#ffffff09,#ffffff00);box-shadow:0 8px 25px #0002;position:relative}.count-grid strong{font-size:clamp(34px,5vw,57px);font-variant-numeric:tabular-nums;font-weight:400;line-height:1.15;letter-spacing:0;color:#efd4a5}.count-grid span{display:block;margin-top:9px;font-size:8px;letter-spacing:1.8px;color:#bd9c70}.countdown p{font:11px/1.7 Jost,Arial,sans-serif;letter-spacing:.8px;margin-top:26px;opacity:.7}.lamp-glow{animation:lamp-breath 4s ease-in-out infinite alternate}.lamp-glow.right{animation-delay:1s}@keyframes lamp-breath{to{filter:blur(18px);opacity:.6}}
.depth-toggle{position:fixed;bottom:20px;left:20px;z-index:9;color:#dfc5a0;background:#0a2126eb;border:1px solid #c8a36955;padding:10px 14px;font:10px Jost,Arial,sans-serif;min-height:40px}.depth-off .tilt,.depth-off #mandap{transform:none!important}.depth-off .mandap-wrap{perspective:none}.depth-off .client-logo-opening{filter:none}.depth-off .wish-form,.depth-off .count-grid>div{box-shadow:none}.depth-active .mandap-wrap{box-shadow:0 20px 60px #0005}.depth-active .mandap-text{filter:drop-shadow(0 4px 7px #0006)}@media(max-width:600px){.mandap-text{top:59%;width:64%;padding:5px 2px}.mandap-text h3{font-size:23px;margin:7px 0 10px}.mandap-text p{font-size:11px;line-height:1.6}.mandap-text .kicker{font-size:7px;letter-spacing:1px}.countdown{margin-top:25px;padding:28px 16px 14px}.count-grid{gap:9px}.count-grid>div{padding:15px 4px 11px}.count-grid span{letter-spacing:1px;font-size:7px}.depth-toggle{left:12px;bottom:12px;padding:10px;font-size:9px}}@media(max-width:360px){.mandap-text h3{font-size:20px}.mandap-text p{font-size:10px}}@media(prefers-reduced-motion:reduce){.lamp-glow{animation:none}}
@media(max-width:600px){.mandap-text{top:47%;width:66%;max-width:none}.mandap-text h3{font-size:23px}}@media(max-width:360px){.mandap-text{top:45%}.mandap-text h3{font-size:19px;margin-bottom:8px}.mandap-text p{font-size:10px}}
.visual-settings{position:fixed;bottom:12px;right:12px;z-index:20;font:10px Jost,Arial,sans-serif;color:#dfc5a0}.visual-settings summary{padding:10px 13px;min-height:40px;background:#0a2126ed;border:1px solid #c8a36955;cursor:pointer;list-style:none}.visual-settings summary::-webkit-details-marker{display:none}.visual-settings summary:before{content:'✧';margin-right:7px}.visual-settings>div{display:flex;gap:6px;padding:8px;background:#0a2126ed;border:1px solid #c8a36955;margin-top:5px}.visual-settings .depth-toggle,.visual-settings .motion{position:static;font:10px Jost,Arial,sans-serif}.visual-settings[open] summary{background:#17424b}.wedding{padding-bottom:30px}
.visual-settings{position:relative;bottom:auto;right:auto;max-width:270px;margin:20px auto;text-align:center}.visual-settings>div{justify-content:center}.visual-settings summary{border-radius:2px}

/* Compact, equal family blessings */
#family{padding:48px 22px 52px}
#family .section-heading{margin-bottom:24px}
#family .section-heading h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(32px,6.4vw,43px);line-height:1.08;margin:14px auto 0;max-width:650px}
#family .section-heading .kicker{font-size:10px;letter-spacing:2.1px}
#family .family-card{max-width:800px;padding:22px 24px;background-color:#fffdf520;border-radius:2px}
#family .parents{grid-template-columns:1fr 1fr;gap:0;margin:0;align-items:center}
#family .parents>div{padding:6px 18px}
#family .parents>div+div{border-top:0;border-left:1px solid #b5905740;padding-top:6px}
#family .lotus-ornament{margin:0 auto 10px;line-height:0}
#family .lotus-ornament svg{width:44px;height:32px}
#family .parents .kicker{font-size:10px;letter-spacing:1.7px}
#family .parents h3{font-size:25px;line-height:1.23;margin:9px 0 0}
.maker-credit{padding:8px 20px 28px;text-align:center;color:#ddbf94;font-family:Jost,Arial,sans-serif;font-size:12px;letter-spacing:.6px}
@media(max-width:600px){
#family .family-card{padding:18px 22px}
#family .parents{grid-template-columns:1fr;gap:16px}
#family .parents>div{padding:0}
#family .parents>div+div{border-left:0;border-top:1px solid #b5905740;padding-top:16px}
#family .parents h3{font-size:25px}
#family .lotus-ornament{margin-bottom:8px}
}
/* Site-wide breathing room, without oversized gaps */
.section{padding:58px max(6vw,24px)}
.section-heading{margin-bottom:28px}
.story-letter{margin-top:24px;padding:34px 40px}
.story-letter p{margin-bottom:20px}
.story-letter p:last-child{margin-bottom:0}
.location-grid{gap:36px;grid-template-columns:1fr 1fr}
.location-grid h3{margin:0 0 12px;font-size:30px;line-height:1.12}
.map-placeholder{height:215px;padding:16px}
.map-placeholder svg{height:125px}
.gallery-grid{grid-template-rows:170px 170px;gap:16px}
.portrait{min-height:320px}
.farewell{padding:52px 25px 48px}
.farewell .ornament{margin:22px auto}
.farewell h2{margin:18px 0}
@media(max-width:800px){
.section{padding:44px 24px}
.section-heading{margin-bottom:24px}
.location-grid{grid-template-columns:1fr;gap:18px}
.map-placeholder{height:165px}
.map-placeholder svg{height:90px}
.portrait{min-height:245px}
.gallery-grid{grid-template-rows:135px 135px;gap:12px}
.story-letter{padding:30px 22px;margin-top:22px}
.farewell{padding:44px 24px 40px}
#family{padding:42px 22px}
}
.wish-layout{margin-top:24px;gap:30px}.wish-empty{padding:44px 20px}.wish-form h3{margin-bottom:20px}
@media(max-width:500px){.wish-layout{margin-top:22px;gap:20px}.wish-empty{padding:32px 18px}}

/* Supplied Ganapathy, with transparent background, within the clear mandap. */
.mandap-wrap img.mandap-ganapathy{position:absolute;left:50%;top:29%;width:29%;height:46%;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 2px 8px #0a181580);pointer-events:none}
@media(max-width:800px){.mandap-wrap img.mandap-ganapathy{width:43%;height:47%;top:29%;min-height:0;aspect-ratio:auto;object-fit:contain}}

/* Smaller Ganapathy with more breathing space within the mandap. */
.mandap-wrap img.mandap-ganapathy{top:38%;width:19%;height:29%}
@media(max-width:800px){.mandap-wrap img.mandap-ganapathy{top:38%;width:28%;height:30%}}

/* A compact, single scroll entrance for the wedding date. */
.wedding-date{position:relative;width:250px;height:274px;margin:22px auto 14px;color:var(--gold)}
.date-arch{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:var(--gold);stroke-width:1.2}
.date-arch path{stroke-dasharray:1;stroke-dashoffset:0}
.date-content{position:absolute;inset:54px 16px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.date-day{font:700 88px/.92 'Cormorant Garamond',Georgia,serif;letter-spacing:-2px}
.date-month{font:600 13px/1.5 Jost,Arial,sans-serif;letter-spacing:4px;margin-top:15px}
.date-year{font:600 29px/1.25 'Cormorant Garamond',Georgia,serif;margin-top:4px}
.date-time{font:11px/1.5 Jost,Arial,sans-serif;letter-spacing:.45px;color:#dfc8a7;margin-top:13px;white-space:nowrap}
.date-ready:not(.date-shown) .date-arch path{stroke-dashoffset:1}
.date-ready:not(.date-shown) .date-content>span{opacity:0;transform:translateY(12px)}
.date-shown .date-arch path{animation:date-draw 1.1s ease-out both}
.date-shown .date-content>span{animation:date-rise .7s ease-out both}
.date-shown .date-day{animation-delay:.75s}.date-shown .date-month{animation-delay:1.02s}.date-shown .date-year{animation-delay:1.23s}.date-shown .date-time{animation-delay:1.43s}
@keyframes date-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes date-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.motion-off .wedding-date *{animation:none!important;opacity:1!important;transform:none!important;stroke-dashoffset:0!important}
@media(max-width:600px){.wedding-date{width:228px;height:250px;margin:18px auto 8px}.date-content{inset:46px 12px 18px}.date-day{font-size:78px}.date-month{margin-top:12px}.date-year{font-size:27px}.date-time{margin-top:11px}}
@media(prefers-reduced-motion:reduce){.wedding-date *{animation:none!important;opacity:1!important;transform:none!important;stroke-dashoffset:0!important}}

/* Restored chapter timeline alongside the full supplied story. */
.story .chapter-layout{margin:36px auto 28px;gap:48px}.story .chapter-tabs{margin-top:30px}.story .chapter-copy p{opacity:.85}.story .story-thread{margin-top:0}.story .chapter-photo{min-height:240px}
@media(max-width:800px){.story .chapter-layout{gap:28px;margin:30px auto 26px}.story .chapter-photo{min-height:200px}.story .chapter-tabs{gap:14px;margin-top:26px}.story .chapter-copy h3{font-size:36px;margin:18px 0 14px}.story .chapter-copy p{max-width:420px}.story .chapter-controls{margin-top:20px}}
.event-card .button.cal-btn{margin-top:10px;background:transparent;color:#1b4038;border:1px solid #b59057}
/* Real photographs in couple portraits and story chapters */
.portrait.has-photo{padding:0;overflow:hidden;display:flex}
.portrait-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.portrait-img.bride-img{object-position:62% 35%}
.portrait.has-photo .portrait-title{position:relative;z-index:2;width:100%;margin-top:auto;padding:60px 12px 14px;background:linear-gradient(transparent,#f7ecdae0 55%,#f7ecda);text-align:center}
.chapter-photo{padding:0;overflow:hidden}
/* Cinematic chapter photo transition */
.chapter-photo{position:relative;transition:height .7s cubic-bezier(.4,0,.2,1)}
.chapter-photo .chapter-layer{position:absolute;inset:0;width:100%;height:100%;min-height:inherit;object-fit:cover;display:block;opacity:0;transform:scale(1.07);filter:blur(9px) saturate(1.05);transition:opacity .95s cubic-bezier(.22,.61,.21,1),transform 1.2s cubic-bezier(.22,.61,.21,1),filter 1s cubic-bezier(.22,.61,.21,1)}
.chapter-photo .chapter-layer[hidden]{display:none}
.chapter-photo .chapter-layer.from-next{transform:scale(1.07) translateX(14px)}
.chapter-photo .chapter-layer.from-prev{transform:scale(1.07) translateX(-14px)}
.chapter-photo .chapter-layer.active{opacity:1;transform:scale(1) translateX(0);filter:blur(0) saturate(1)}
.chapter-photo .chapter-layer.leaving{opacity:0;transform:scale(1.05);filter:blur(3px);transition:opacity .7s cubic-bezier(.4,0,.55,1),transform 1s cubic-bezier(.4,0,.55,1),filter .7s cubic-bezier(.4,0,.55,1)}
.chapter-photo:has(.chapter-layer:not([hidden])){justify-content:stretch}
.chapter-copy .chapter-number,.chapter-copy h3,.chapter-copy h4,.chapter-copy p{transition:opacity .5s ease,transform .5s ease}
.chapter-copy h3{transition-delay:.06s}
.chapter-copy h4{transition-delay:.12s}
.chapter-copy p{transition-delay:.18s}
.chapter-copy.fading .chapter-number,.chapter-copy.fading h3,.chapter-copy.fading h4,.chapter-copy.fading p{opacity:0;transform:translateY(8px);transition-duration:.22s}
/* Real gallery photographs */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:none;gap:16px;max-width:1100px}
.gal-photo{padding:0;border:1px solid #b38d5855;background:none;cursor:pointer;overflow:hidden}
.gal-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s}
.gal-photo:hover img{transform:scale(1.04)}
@media(max-width:820px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}}
/* Five-photo gallery, masonry columns, gentle staggered reveal */
.gallery-grid{display:block;column-count:3;column-gap:16px;max-width:1100px}
.gal-photo{display:block;width:100%;margin:0 0 16px;break-inside:avoid}
.gal-photo.reveal{opacity:0;transform:translateY(28px) scale(.975);transition:opacity 1.05s ease,transform 1.05s cubic-bezier(.22,.61,.36,1)}
.gal-photo.reveal.visible{opacity:1;transform:none}
.gal-photo.reveal:nth-child(2){transition-delay:.12s}
.gal-photo.reveal:nth-child(3){transition-delay:.24s}
.gal-photo.reveal:nth-child(4){transition-delay:.36s}
.gal-photo.reveal:nth-child(5){transition-delay:.48s}
@media(max-width:820px){.gallery-grid{column-count:2;column-gap:12px}.gal-photo{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.gal-photo.reveal{transition:none;opacity:1;transform:none}}
/* Balanced five-photo gallery layout */
.gallery-grid{display:flex;flex-wrap:wrap;justify-content:center;column-gap:16px;row-gap:16px;max-width:1150px}
.gal-photo{flex:0 0 calc(20% - 13px);margin:0;aspect-ratio:3/4}
.gal-photo img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){.gal-photo{flex-basis:calc(33.33% - 11px)}}
@media(max-width:560px){.gal-photo{flex-basis:calc(50% - 6px)}.gal-photo:first-child{flex-basis:100%;max-width:340px}}
@media(max-width:560px){.gallery-grid{column-gap:12px;row-gap:12px}.gal-photo{flex-basis:calc(50% - 8px)}.gal-photo:first-child{flex-basis:100%}}
@media(max-width:560px){}
.door-opening{background:#060e0d;display:block;overflow:hidden}
.door-stage{position:absolute;inset:0;perspective:1500px;perspective-origin:50% 42%;background:#060e0d}
.door-panel{position:absolute;top:0;bottom:0;width:50.15%;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform 1.55s cubic-bezier(.6,.02,.28,1);will-change:transform}
.door-left{left:0;transform-origin:left center}
.door-right{right:0;transform-origin:right center}
.door-img{position:absolute;top:0;bottom:0;width:100vw;background:url(door.webp) center 38%/cover no-repeat}
.door-left .door-img{left:0}
.door-right .door-img{right:0}
.door-seam{position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:linear-gradient(#00000088,#000000cc 50%,#00000088);box-shadow:0 0 14px #000;transition:opacity .5s}
.door-light{position:absolute;inset:0;transform:scale(.22);background:radial-gradient(circle at 50% 50%,#fff6dd 0%,#ffdf9e66 16%,#e9c57922 34%,transparent 62%);opacity:0;transition:transform 1.4s ease .1s,opacity .9s ease .1s;will-change:transform,opacity}
.door-light::after{content:"";position:absolute;inset:0;background:repeating-conic-gradient(from 0deg at 50% 50%,#ffe9b81c 0deg 5deg,transparent 5deg 16deg);animation:rays-spin 26s linear infinite}@keyframes rays-spin{to{transform:rotate(360deg)}}
.door-opening .opening-content{position:relative;z-index:6;display:grid;place-items:center;align-content:center;min-height:100vh;min-height:100svh;padding:24px;transition:opacity .5s;text-align:center}
.door-names{font-family:'Cormorant Garamond',Georgia,serif;color:#e8c88a;font-size:clamp(20px,5.6vw,28px);letter-spacing:.06em;text-shadow:0 2px 18px #000000aa;margin:0 0 26px}
.door-names em{color:#c8a369;font-style:normal}
.door-emblem{position:relative;width:118px;height:118px;border-radius:50%;border:2px solid #d9b36a;background:radial-gradient(circle at 50% 38%,#173029,#0d1b17 70%);display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 5px #d9b36a22,0 0 34px #e9c57966,inset 0 0 18px #00000088;animation:emblem-pulse 2.6s ease-in-out infinite;padding:0}
.door-emblem img{width:84px;height:84px;object-fit:contain;filter:drop-shadow(0 0 10px #f7d78a88)}
.emblem-glow{position:absolute;inset:-16px;border-radius:50%;background:radial-gradient(circle,#f2cd7f55,transparent 65%);animation:emblem-breathe 2.6s ease-in-out infinite;pointer-events:none}
@keyframes emblem-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@keyframes emblem-breathe{0%,100%{opacity:.55}50%{opacity:1}}
.tap-hint{margin:18px 0 0;color:#f0d9a6;font-size:12px;letter-spacing:.42em;text-transform:uppercase;font-family:Georgia,serif;text-shadow:0 1px 10px #000}
.door-opening .draft-note{margin:42px 0 0;color:#caa97c99}
.door-credit{position:absolute;right:10px;bottom:8px;z-index:7;font-size:9px;color:#ffffff66;letter-spacing:.04em;margin:0;font-family:Arial,sans-serif}
.door-opening .petals{display:block;position:absolute;inset:0;pointer-events:none;z-index:5;overflow:hidden;transition:opacity .6s}
.door-opening .petal{opacity:.5}
.door-opening.opening-doors .door-left{transform:rotateY(-103deg)}
.door-opening.opening-doors .door-right{transform:rotateY(103deg)}
.door-opening.opening-doors .door-seam{opacity:0}
.door-opening.opening-doors .door-light{opacity:1;transform:scale(1)}
.door-opening.opening-doors .opening-content{animation:none;opacity:0;pointer-events:none}
.door-opening.opening-doors .petals{opacity:0}
@media (prefers-reduced-motion:reduce){.door-panel,.door-light,.door-seam{transition:none}.door-emblem,.emblem-glow{animation:none}}
.door-opening .opening-content::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150vw;height:78vh;background:radial-gradient(ellipse at center,rgba(8,4,2,.78),rgba(8,4,2,.42) 46%,transparent 72%);z-index:-1;pointer-events:none}
.door-names{text-shadow:0 2px 14px rgba(0,0,0,.95),0 0 34px rgba(0,0,0,.85)}
.tap-hint{text-shadow:0 1px 8px rgba(0,0,0,.95),0 0 22px rgba(0,0,0,.9)}
.door-opening .draft-note{text-shadow:0 1px 8px rgba(0,0,0,.9)}

/* === Peacock opening === */
:root{--peacock:#14635e;--peacock-bright:#2ba387}
.peacock-opening{background:#050e1c}
.peacock-opening .door-stage{background:#050e1c;z-index:2;pointer-events:none}
.peacock-opening .door-img{background:url(door-main.jpg) center/cover no-repeat}
.peacock-opening .door-seam{width:1px;margin-left:-.5px;background:#02100f;box-shadow:none}
.peacock-opening .petals{display:none!important}
.sparkles{position:absolute;inset:0;z-index:5;pointer-events:none;transition:opacity .4s}
.sparkles span{position:absolute;width:4px;height:4px;border-radius:50%;background:#ffe9b8;box-shadow:0 0 8px 2px #f7d78a99;opacity:0;animation:twinkle var(--t,2.6s) ease-in-out var(--d,0s) infinite}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.3)}50%{opacity:.95;transform:scale(1)}}
.peacock-opening.opening-doors .sparkles{opacity:0}
.peacock-opening .opening-content::before{display:none}
.lotus-medallion{width:96px;height:96px;border:2px solid #d9b36a;background:radial-gradient(circle at 50% 36%,#14393a,#071b1c 74%);box-shadow:0 0 0 5px #d9b36a26,0 0 40px #e9c57966,inset 0 0 18px #00000088}
.lotus-medallion .lotus{width:56px;height:56px;filter:drop-shadow(0 0 9px #f7d78a77)}
.peacock-opening .tap-hint{color:#e8d8bd;text-shadow:0 1px 10px #000}
/* reveal stage behind the doors */
.reveal-stage{position:absolute;inset:0;z-index:1;overflow:hidden;background:radial-gradient(130% 100% at 50% 0%,#45290f 0%,#281708 44%,#0f0803 100%)}
.palace-glow{position:absolute;inset:0;transition:opacity .8s;background:radial-gradient(circle at 22% 16%,#ffdf9e30 0 3.2%,transparent 5%),radial-gradient(circle at 74% 10%,#ffd79f28 0 2.6%,transparent 4.4%),radial-gradient(circle at 88% 32%,#ffdf9e20 0 2.2%,transparent 3.6%),radial-gradient(circle at 10% 40%,#f7d78a1e 0 2.4%,transparent 4%),radial-gradient(circle at 58% 80%,#e9c57916 0 3%,transparent 4.4%),radial-gradient(60% 46% at 50% 44%,#e9c57926,transparent 70%);filter:blur(2px)}
.swing-scene{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:2;opacity:0;transition:opacity .8s;will-change:opacity,transform}.swing-scene::after{content:"";position:absolute;left:50%;bottom:-8%;width:76%;height:58px;transform:translateX(-50%);background:radial-gradient(ellipse at center,#000000a6,transparent 70%);filter:blur(9px);z-index:-1;pointer-events:none}
.peacock-opening.doors-open .swing-scene{opacity:1;animation:swing-zoom 6.5s ease-out both}
.peacock-opening.show-card .swing-scene{opacity:0;animation:none;transition:opacity .8s}
@keyframes swing-zoom{from{transform:translate(-50%,-50%) scale(.9)}to{transform:translate(-50%,-50%) scale(1.05)}}
.swing-hang{display:grid;justify-items:center;transform-origin:50% -16vh;animation:sway 6s ease-in-out 1.4s infinite}
@keyframes sway{0%,100%{rotate:-1.3deg}50%{rotate:1.3deg}}
.swing-chains{display:flex;justify-content:space-between;width:min(30vw,132px);height:15vh;min-height:88px;margin-bottom:-4px}
.swing-chain{width:3px;height:100%;border-radius:2px;background:repeating-linear-gradient(180deg,#e9c579 0 5px,#8a6a34 5px 9px);box-shadow:2px 3px 7px #0009}
.swing-chain:first-child{transform:rotate(3.5deg);transform-origin:top center}
.swing-chain:last-child{transform:rotate(-3.5deg);transform-origin:top center}
.swing-oval{width:min(74vw,330px);aspect-ratio:.8;border-radius:50%;padding:13px;background:url(door-main.jpg) 32% 38%/340% no-repeat;box-shadow:0 34px 84px #000000d0,0 6px 22px #000000a0,0 0 90px #c89b3f3d}
.swing-gold{width:100%;height:100%;border-radius:50%;padding:7px;background:linear-gradient(150deg,#f6e2ae,#c4984f 38%,#7c5518 68%,#e9cd8d);box-shadow:inset 0 2px 8px #ffffff55,inset 0 -3px 10px #00000077}
.swing-photo{position:relative;width:100%;height:100%;border-radius:50%;overflow:hidden;background:#0e2422;box-shadow:inset 0 12px 34px #00000095,inset 0 -8px 22px #00000070}
.swing-photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%}
.swing-photo::after{content:"";position:absolute;inset:auto 0 0;height:32%;background:linear-gradient(transparent,#0f4d46b3)}
/* cream card in peacock arch */
.arch-card{position:absolute;inset:0;z-index:3;display:grid;place-items:center;padding:20px;opacity:0;transform:translateY(26px) scale(.97);transition:opacity .9s ease,transform .9s ease;pointer-events:none;will-change:opacity,transform}
.peacock-opening.show-card .arch-card{opacity:1;transform:none;pointer-events:auto}
.peacock-opening.show-card .palace-glow{opacity:.4}
.arch-frame{position:relative;width:min(86vw,380px);background:linear-gradient(175deg,#fffaf1,#f7ead4);color:#0d2b2f;text-align:center;padding:54px 30px 42px;border-radius:210px 210px 16px 16px;box-shadow:0 0 0 2px #d9b36a,0 30px 80px #000c}
.arch-frame::before{content:"";position:absolute;inset:-13px;z-index:-1;border-radius:222px 222px 26px 26px;background:url(door-main.jpg) 62% 28%/300% no-repeat;box-shadow:0 0 0 2px #c8a36966,0 24px 70px #000a}
.arch-kicker{font:10px/1.6 Arial,sans-serif;letter-spacing:3.5px;text-transform:uppercase;color:#8a6a34;margin:0 0 20px}
.arch-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(26px,7vw,34px);line-height:1.25;color:#0d2b2f;margin:0}
.arch-amp{display:block;color:#b98a3f;font-size:20px;margin:7px 0;font-style:italic;font-family:Georgia,serif}
.arch-line{font-family:Georgia,serif;font-style:italic;font-size:14.5px;color:#5a6a5f;margin:20px 0 28px}
.arch-button{font:11px/1 Arial,sans-serif;letter-spacing:2.5px;text-transform:uppercase;color:#fffdf5;background:linear-gradient(160deg,#1d7a63,#0f4d46);border:1px solid #d9b36a;border-radius:999px;padding:15px 28px;box-shadow:0 10px 26px #0f4d4655}
@media (max-width:560px){.swing-oval{width:78vw}.swing-chains{width:34vw;height:12vh}.arch-frame{padding:46px 24px 36px}}

/* door stage clears as doors open, camera push-in, crown + rays */
.peacock-opening .door-stage{transition:background-color .9s ease;animation:door-push 12s ease-out both;will-change:transform}
@keyframes door-push{from{transform:scale(1)}to{transform:scale(1.06)}}
.peacock-opening.opening-doors .door-stage{background-color:transparent}
.reveal-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,#ffdf9e10 50%,transparent 60%),linear-gradient(65deg,transparent 55%,#ffe9b80c 63%,transparent 72%);pointer-events:none}
.swing-hang{animation:sway 7s ease-in-out 1.4s infinite}
@keyframes sway{0%,100%{rotate:-.9deg}50%{rotate:.9deg}}
.swing-crown{width:118px;height:44px;margin-bottom:-16px;border-radius:118px 118px 0 0;background:url(door-main.jpg) 30% 42%/260% no-repeat;box-shadow:0 0 0 2px #d9b36a,0 6px 18px #0009;z-index:2;position:relative}

.peacock-opening.doors-open .door-light{opacity:0;transition:opacity 1.5s ease .9s}
.peacock-opening .door-light{transition:transform 1.25s ease .12s,opacity .8s ease .1s}

/* ornate door molding + mirrored symmetry + touch feedback */
.door-panel::after{content:'';position:absolute;inset:11px;border:1px solid #d9b36a3d;pointer-events:none}
.door-panel::before{content:'';position:absolute;top:0;bottom:0;width:3px;z-index:1;background:linear-gradient(#6d4c17,#caa25a 26%,#f0d9a0 50%,#caa25a 74%,#6d4c17);opacity:.8;pointer-events:none}
.door-left::before{right:0}
.door-right::before{left:0}
.peacock-opening .door-right .door-img{transform:scaleX(-1)}
.lotus-medallion{transition:transform .18s ease}
.lotus-medallion:active{transform:scale(.93)}
.arch-button{transition:transform .18s ease,box-shadow .3s ease;cursor:pointer}
.arch-button:active{transform:scale(.95)}

/* gentle breeze float on the giant feathers */
@keyframes feather-float-l{0%,100%{transform:translate3d(0,0,0) rotate(.5deg) scale(1.05)}50%{transform:translate3d(0,-12px,0) rotate(-.6deg) scale(1.05)}}
@keyframes feather-float-r{0%,100%{transform:scaleX(-1) translate3d(0,0,0) rotate(.5deg) scale(1.05)}50%{transform:scaleX(-1) translate3d(0,-12px,0) rotate(-.6deg) scale(1.05)}}
.door-left .door-img{animation:feather-float-l 8s ease-in-out infinite}
.door-right .door-img{animation:feather-float-r 9.2s ease-in-out infinite}
.peacock-opening.opening-doors .door-img{animation:none}
@media (prefers-reduced-motion:reduce){.door-left .door-img,.door-right .door-img{animation:none}}

/* === Her supplied door artwork (image-3054838a) === */
.peacock-opening .door-right .door-img{transform:none}
.peacock-opening .door-left .door-img,.peacock-opening .door-right .door-img{animation:none}
.peacock-opening .door-panel::before,.peacock-opening .door-panel::after{display:none}
.peacock-opening .lotus-medallion{width:104px;height:104px;background:transparent;border:2px solid #e9c579b0;box-shadow:0 0 26px #e9c57955,inset 0 0 14px #e9c57922}
.peacock-opening .lotus-medallion .lotus{display:none}
.peacock-opening .lotus-medallion:active{transform:scale(.93)}

/* === Softer gold + smoother motion (her 2:23 steering) === */
.peacock-opening .door-panel{transition:transform 1.9s cubic-bezier(.42,.08,.22,1)}
.peacock-opening .door-light{background:radial-gradient(circle at 50% 50%,#fbf3e2 0%,#f2dfb455 16%,#e3cda422 34%,transparent 62%);transition:transform 1.5s ease .12s,opacity .9s ease .1s}
.peacock-opening .door-light::after{background:repeating-conic-gradient(from 0deg at 50% 50%,#f4e6c515 0deg 5deg,transparent 5deg 16deg)}
.peacock-opening .sparkles span{width:3.5px;height:3.5px;background:#f2e3c2;box-shadow:0 0 7px 1.5px #e6cfa266}
.peacock-opening .lotus-medallion{margin-top:47px;border:2px solid #e6d0a080;box-shadow:0 0 20px #e6cfa240,inset 0 0 12px #e6cfa218}
.peacock-opening .emblem-glow{background:radial-gradient(circle,#eedcae40,transparent 65%)}
@media (prefers-reduced-motion:reduce){.peacock-opening .door-panel{transition:none}}

/* deeper, less olive interior so the warm scene sits with the midnight doors */
.peacock-opening .reveal-stage{background:radial-gradient(130% 100% at 50% 0%,#38200e 0%,#221206 44%,#0d0602 100%)}
.peacock-opening .palace-glow{background:radial-gradient(circle at 22% 16%,#f5e3bd26 0 3.2%,transparent 5%),radial-gradient(circle at 74% 10%,#f2ddb422 0 2.6%,transparent 4.4%),radial-gradient(circle at 88% 32%,#f5e3bd1c 0 2.2%,transparent 3.6%),radial-gradient(circle at 10% 40%,#eedcae1a 0 2.4%,transparent 4%),radial-gradient(circle at 58% 80%,#e3cda414 0 3%,transparent 4.4%),radial-gradient(60% 46% at 50% 44%,#e3cda420,transparent 70%)}

/* === Her final door art (image-d22fa74f), used exactly as supplied === */
.peacock-opening .door-img{background:url(door-main.jpg) center/cover no-repeat}
.peacock-opening .lotus-medallion{margin-top:calc(-5.88vh + 38.4px)}
@media (min-aspect-ratio: 3/4){
  .peacock-opening .door-img{background:url(door-main.jpg) center/auto 100% no-repeat}
  .peacock-opening .lotus-medallion{margin-top:calc(-5.88vh + 38.4px)}
}
.peacock-opening .swing-oval{background:url(door-main.jpg) 30% 30%/340% no-repeat}
.peacock-opening .arch-frame::before{background:url(door-main.jpg) 60% 24%/300% no-repeat}
.peacock-opening .swing-crown{background:url(door-main.jpg) 30% 40%/260% no-repeat}
