﻿:root{--paper:#f7ecd8;--wine:#4a1426;--rust:#a8462c;--ink:#634639;--muted:#97705b;--gold:#cba254;--card:rgba(255,253,247,.77);--serif:"Cormorant Garamond",Georgia,serif;--script:"Parisienne",cursive;--sans:"Inter",Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:20px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.gate-closed,body.modal-open{overflow:hidden}
button,input,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{color:inherit;cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--rust);outline-offset:5px}
button:disabled{opacity:.35;cursor:default}
a{color:inherit}
button{border:0}
button[hidden],[hidden]{display:none!important}
svg.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.stationery,.frame-front{position:fixed;inset:0 auto 0 50%;transform:translateX(-50%);width:min(100%,480px);height:100dvh;background:url("./assets/radha-krishna-frame.png") center/100% 100% no-repeat;pointer-events:none}
.stationery{z-index:0;box-shadow:0 8px 65px #6a421424}
.frame-front{z-index:5;opacity:0;transition:opacity .4s;mask-image:linear-gradient(#000 0%,#000 7%,transparent 18%,transparent 82%,#000 97%);-webkit-mask-image:linear-gradient(#000 0%,#000 7%,transparent 18%,transparent 82%,#000 97%)}
body.scrolled .frame-front{opacity:1}
.invitation{position:relative;z-index:1;width:min(100%,480px);margin:auto}
.hero{position:relative;aspect-ratio:864/1536;isolation:isolate;overflow:hidden}
.hero-art{display:block;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:70px;background:linear-gradient(transparent,#f5ead6);pointer-events:none}
.hero-copy{position:absolute;top:10.1%;left:9%;width:82%;text-align:center}
.blessing{margin:0 0 18px;color:var(--rust);font-size:15px;line-height:1.4}
.eyebrow{text-transform:uppercase;font-size:13px;letter-spacing:3px;font-weight:400;line-height:1.65;color:var(--muted);margin:0 0 10px}
h1,h2,h3{font-weight:400;color:var(--wine);font-family:var(--script);margin:0}
h1{font-size:55px;line-height:1.16;white-space:nowrap;margin:2px -10px 20px;letter-spacing:-1.4px}
h1 span{color:#a65138;font-family:var(--serif);font-style:italic;font-size:.66em}
h1:focus{outline:none}
.hero-date{display:flex;align-items:center;justify-content:center;gap:14px;color:#603e2b}
.hero-date span{font-size:12px;text-transform:uppercase;letter-spacing:2.2px;border-block:1px solid #aa8257aa;padding:5px 0;white-space:nowrap}
.hero-date strong{font-family:var(--script);font-size:43px;line-height:1;font-weight:400}
.hero-location{font-style:italic;font-size:19px;margin-top:13px}
.scroll-cue{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:2;background:transparent;display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--wine);font-family:var(--sans);font-size:9px;letter-spacing:3px;text-transform:uppercase;min-width:70px;padding:8px}
.scroll-line{height:20px;width:1px;background:var(--rust);animation:scroll-hint 2s ease-in-out infinite}
.invitation-content{position:relative;text-align:center;padding:0 58px}
.families{padding-top:110px}
.family-title{font-size:12px;letter-spacing:3px;line-height:1.8}
.family-request{font-size:24px;line-height:1.5;font-style:italic;margin:28px 0 35px}
.person-name{font-size:50px;line-height:1.05;margin:0 0 15px}
.parents{font-size:17px;font-style:italic;line-height:1.6;margin:0 -5px}
.union{display:block;color:var(--rust);font-style:italic;font-size:36px;margin:20px 0}
.section{padding-top:85px}
h2{font-size:52px;line-height:1.1}
h3{font-size:44px;line-height:1.1}
.ornament{display:flex;align-items:center;justify-content:center;gap:12px;width:185px;margin:40px auto;color:var(--rust)}
.ornament:before,.ornament:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,#bb8263)}
.ornament:after{transform:rotate(180deg)}
.ornament span{font-size:24px;line-height:1}
.ornament.small{margin:28px auto 38px;width:175px}
.save-date .ornament:first-child{margin-top:0;margin-bottom:65px}
.scratch-card{height:276px;position:relative;isolation:isolate;border-radius:20px;overflow:hidden;background:#fcfaf4;box-shadow:0 3px 20px #8c652608}
.date-underlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.date-underlay .eyebrow{margin:0;letter-spacing:3.2px}
.date-underlay strong{font-family:var(--script);font-weight:400;font-size:92px;line-height:.95;color:var(--wine);margin:2px 0 6px}
.date-location{font-style:italic;font-size:18px;margin-top:2px}
#scratch-canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:none;transition:opacity .7s,transform .7s}
.scratch-card.revealed #scratch-canvas{opacity:0;transform:scale(1.03);pointer-events:none}
.text-button{background:transparent;text-decoration:underline;text-underline-offset:3px;font-family:var(--sans);font-size:13px;padding:12px 4px;line-height:1.7}
.save-date .text-button{margin-top:9px}
.countdown h2{max-width:330px;margin:auto}
.countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.countdown-grid>div{border-radius:15px;background:var(--card);padding:18px 2px 14px;border:1px solid #fff7}
.countdown-grid span{display:block;font-size:40px;font-weight:400;line-height:1.1;color:var(--wine);font-variant-numeric:tabular-nums}
.countdown-grid small{display:block;font-size:9px;font-family:var(--sans);text-transform:uppercase;letter-spacing:1.2px;margin-top:8px;color:#876b59}
.countdown-caption{font-size:15px;line-height:1.7;margin:20px 0 0;color:#775c4d}
.celebrations{padding-top:100px}
.event-list{display:grid;gap:25px}
.event-card{border:1px solid #cda88c99;border-radius:19px;padding:23px 18px 25px;background:#fff6e838;box-shadow:0 2px 10px #683e1c05}
.event-date{font-size:12px;letter-spacing:2.3px;margin-bottom:10px;color:#986448}
.event-date sup{font-size:.75em;margin-left:1px}
.venue{font-size:23px;margin:15px 0 5px;line-height:1.2}
.address{font-family:var(--sans);font-size:12px;line-height:1.8;margin:0;color:#6e5546}
.dress{font-style:italic;font-size:17px;margin:14px 0 25px;color:#9e6042}
.event-actions{display:flex;justify-content:center;gap:11px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:14px 18px;font-family:var(--sans);font-size:13px;line-height:1.3;font-weight:500;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;min-height:46px}
.button.primary{background:var(--rust);color:#fffdf7}
.button.primary:hover{background:#903b26;box-shadow:0 3px 13px #853a261a}
.button.outline{border-color:#bda893;background:#fff9ef30;color:#663d32}
.button.outline:hover{background:#fff8ebc2}
.button:active{transform:translateY(1px)}
.button .icon{width:16px;height:16px}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gallery-photo{display:block;padding:0;background:#e2cfb5;border-radius:15px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 2px 12px #663c1720}
.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gallery-photo:hover img{transform:scale(1.045)}
.attendance{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px}
.choice{border-radius:999px;border:1px solid #d7cbbc;background:#fffaf3a6;font-family:var(--sans);font-size:13px;line-height:1.7;padding:10px 13px;transition:background .2s,border-color .2s,color .2s;min-height:42px}
.choice.selected{background:var(--rust);border-color:var(--rust);color:#fffdf7}
.attendance .choice{padding:12px 5px;min-height:71px;line-height:1.7;font-size:14px}
label,.field-label{display:block;text-transform:uppercase;font-family:var(--serif);font-size:12px;letter-spacing:2.4px;color:#886f59;line-height:1.6;margin-bottom:10px}
input,textarea{width:100%;background:#fffdf9b8;border:1px solid #d9ccbb;border-radius:12px;padding:15px 16px;font-size:14px;font-family:var(--sans);line-height:1.7;color:#5b4031;box-shadow:inset 0 1px 3px #74480f04}
input::placeholder,textarea::placeholder{color:#a69787;opacity:1}
textarea{resize:vertical;min-height:110px}
.guest-count-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:24px 0}
.guest-count-row .field-label{margin:0;max-width:115px}
.stepper{display:flex;align-items:center;gap:10px}
.stepper button{display:grid;place-items:center;width:39px;height:39px;border:1px solid #d8c8b9;border-radius:50%;background:#fffaf2;font-size:24px;line-height:1;padding:0;color:#986752}
.stepper output{width:20px;text-align:center;color:#774f3d;font-size:23px}
.event-choices{display:flex;gap:7px;margin:0 0 25px}
.event-choices .choice{flex:1;font-size:12px;padding:9px 9px;min-width:0}
.form-error{font:12px/1.7 var(--sans);color:#963a2a;margin:12px 0 0}
.closing{padding:40px 0 185px}
.closing .ornament{margin:55px auto 40px}
.closing>p:first-of-type{font-size:24px;font-style:italic;line-height:1.5;margin:0 0 28px}
.closing-names{font-family:var(--script);font-size:62px;color:var(--wine);line-height:1.05;margin:0 0 30px}
.hashtag{font-size:12px;letter-spacing:2.5px;margin:0 -20px}
.credit{text-transform:uppercase;font-size:10px;letter-spacing:2px;line-height:1.8;color:#8f775e;margin:65px -22px 0}
.gate{position:fixed;z-index:20;left:50%;top:0;transform:translateX(-50%);width:min(100%,480px);height:100dvh;perspective:1600px;overflow:hidden;background:#301910;box-shadow:0 0 70px #6a421428;transition:opacity .65s ease 1s}
.door{position:absolute;top:0;width:50%;height:100%;background-image:url("./assets/radha-krishna-frame.png");background-size:200% 100%;backface-visibility:hidden;transition:transform 1.7s cubic-bezier(.3,.05,.18,1),filter 1.4s;will-change:transform}
.door-left{left:0;background-position:left center;transform-origin:left center}
.door-right{right:0;background-position:right center;transform-origin:right center}
.open-invitation{position:absolute;inset:0;background:transparent;padding:0;width:100%;height:100%}
.open-invitation:focus-visible{outline:3px solid #e3be6c;outline-offset:-8px}
.wax-seal{position:absolute;top:50%;left:50%;width:130px;height:130px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse at 32% 26%,#fff2b0 0,#f0d773 28%,#d4a43e 65%,#aa751c 100%);box-shadow:0 4px 12px #4d270f75,inset 0 0 0 2px #e5bc59,inset 0 0 0 6px #dfb44a;display:grid;place-items:center;color:#82571d;transition:opacity .4s,transform .7s}
.wax-seal:before{content:"";position:absolute;inset:9px;border:1px solid #b58a3588;border-radius:50%}
.wax-seal span{font-family:var(--script);font-size:48px;line-height:1;transform:translateY(3px);text-shadow:0 1px 0 #ffefad}
.gate-caption{position:absolute;left:16%;right:16%;bottom:7%;padding:11px 10px;border-radius:999px;background:#5b2819ad;backdrop-filter:blur(6px);text-transform:uppercase;font-size:13px;letter-spacing:4px;color:#fceec7;transition:opacity .4s}
.gate.is-opening{pointer-events:none;background:transparent;opacity:0}
.gate.is-opening .door-left{transform:rotateY(-105deg);filter:brightness(.55)}
.gate.is-opening .door-right{transform:rotateY(105deg);filter:brightness(.55)}
.gate.is-opening .wax-seal{opacity:0;transform:translate(-50%,-50%) scale(.8)}
.gate.is-opening .gate-caption{opacity:0}
.music-toggle{position:fixed;z-index:8;bottom:max(23px,env(safe-area-inset-bottom));right:max(calc((100vw - 480px)/2 + 18px),18px);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fffaf0ed;color:var(--wine);box-shadow:0 2px 14px #65411c25;border:1px solid #c8af7e42}
.music-toggle .icon{width:20px;height:20px}
.equalizer{height:18px;align-items:center;gap:3px;display:none}
.equalizer i{width:3px;height:9px;background:currentColor;border-radius:2px;animation:equalize 1s ease-in-out infinite alternate}
.equalizer i:nth-child(2){height:17px;animation-delay:-.6s}.equalizer i:nth-child(3){height:12px;animation-delay:-.3s}.equalizer i:nth-child(4){height:15px;animation-delay:-.9s}
.music-toggle.playing .equalizer{display:flex}.music-toggle.playing .music-note{display:none}
.rise.is-visible{animation:rise-in .8s ease both}
dialog{padding:0;color:var(--ink);border:0}
dialog::backdrop{background:#130e0be8;backdrop-filter:blur(8px)}
.photo-viewer{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;background:transparent;overflow:hidden;color:#fff}
.viewer-content{position:absolute;inset:68px 70px 46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;pointer-events:none}
.viewer-content img{display:block;max-width:100%;max-height:calc(100dvh - 156px);width:auto;height:auto;object-fit:contain;border-radius:9px;box-shadow:0 20px 80px #0005;pointer-events:auto}
.viewer-content p{font:12px/1.5 var(--sans);color:#ded4ca;margin:0;text-align:center}
.viewer-close{position:absolute;right:22px;top:20px;border:1px solid #fff3;background:#ffffff12;color:white;display:flex;align-items:center;gap:7px;padding:9px 13px;border-radius:999px;font:12px var(--sans);z-index:2}
.viewer-close .icon{width:17px;height:17px}
.viewer-nav{position:absolute;top:50%;transform:translateY(-50%);height:44px;width:44px;border-radius:50%;display:grid;place-items:center;background:#ffffff25;color:white;z-index:2}
.viewer-nav:hover,.viewer-close:hover{background:#ffffff40}
.viewer-prev{left:15px}.viewer-next{right:15px}.viewer-prev .icon{transform:rotate(180deg)}
.noscript-note{position:fixed;z-index:40;bottom:0;left:0;right:0;padding:18px;background:#fff3d3;text-align:center;font:14px var(--sans)}
@keyframes rise-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes scroll-hint{0%,100%{transform:scaleY(.7);opacity:.55}50%{transform:scaleY(1);opacity:1}}
@keyframes equalize{from{transform:scaleY(.45)}to{transform:scaleY(1)}}
@media(max-width:420px){.invitation-content{padding-inline:11.8%}.hero-copy{top:10.1%;left:9%;width:82%}.blessing{font-size:12px;margin-bottom:12px}.hero-copy .eyebrow{font-size:10px;margin-bottom:7px}h1{font-size:clamp(37px,11.5vw,49px);margin-bottom:14px;letter-spacing:-1.4px}.hero-date{gap:10px}.hero-date span{font-size:9px;letter-spacing:1.65px;padding-block:4px}.hero-date strong{font-size:35px}.hero-location{font-size:16px;margin-top:10px}.families{padding-top:100px}.family-request{font-size:22px}.person-name{font-size:43px}.parents{font-size:16px}h2{font-size:46px}.section{padding-top:75px}.eyebrow{font-size:11px;letter-spacing:2.5px}.scratch-card{height:246px}.countdown-grid{gap:7px}.countdown-grid span{font-size:34px}.countdown-grid small{font-size:7px;letter-spacing:.9px}.countdown-caption{font-size:14px}.event-card{padding:22px 12px}.event-date{font-size:10px;letter-spacing:1.8px}.venue{font-size:22px}.address{font-size:10px}.event-actions{gap:8px}.button{padding:13px 12px;font-size:11px;gap:6px}.button .icon{width:14px;height:14px}.attendance{gap:8px}.attendance .choice{font-size:12px;min-height:63px}.event-choices .choice{font-size:10px;padding:8px 7px}.guest-count-row .field-label{max-width:95px;font-size:10px}.stepper{gap:7px}.stepper button{width:34px;height:34px}.gallery{gap:10px}.closing-names{font-size:57px}.credit{font-size:8px;letter-spacing:1.7px}.gate-caption{font-size:11px;letter-spacing:3.5px}.wax-seal{width:112px;height:112px}.wax-seal span{font-size:43px}.viewer-content{inset:75px 34px 45px}.viewer-nav{width:35px;height:35px;background:#19120d80;border:1px solid #fff3}.viewer-prev{left:7px}.viewer-next{right:7px}}
@media(max-width:350px){.invitation-content{padding-inline:11%}.event-card{padding-inline:10px}.event-actions .button{font-size:10px;padding-inline:10px}.eyebrow.event-date{letter-spacing:1.35px}.hero-date span{letter-spacing:1px}.guest-count-row{gap:6px}.family-request{font-size:20px}.person-name{font-size:39px}h2{font-size:40px}.attendance .choice{font-size:11px}.credit{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important}}

/* Radha Krishna: ivory stationery, rose florals and a gentle peacock palette. */
:root{--paper:#f7eddb;--wine:#73532b;--rust:#9b7541;--ink:#715a3f;--muted:#927750;--gold:#c8a86b;--card:rgba(255,253,247,.80)}
body{background:radial-gradient(ellipse at top,#fff8ec,var(--paper) 75%)}
.stationery,.frame-front{background-image:url("./assets/radha-krishna-frame.png")}
.stationery{box-shadow:0 12px 75px #76603d1a}
.frame-front{mask-image:linear-gradient(#000 0%,#000 5%,transparent 16%,transparent 84%,#000 99%);-webkit-mask-image:linear-gradient(#000 0%,#000 5%,transparent 16%,transparent 84%,#000 99%)}
.hero{min-height:910px;aspect-ratio:auto;background:#f8eddb}
.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.hero:after{height:30px;background:linear-gradient(transparent,#f8eddb)}
.hero-copy{top:47.7%;left:11%;width:78%}
.blessing{color:#9b7745;font-size:14px;margin-bottom:17px}
.hero-family{font-size:10px;letter-spacing:2.4px;line-height:1.9;margin-bottom:12px}
h1{font-size:54px;line-height:1.2;white-space:nowrap;letter-spacing:-1px;margin:0 -20px 14px}
h1 span{color:#a98750}
.hero-invitation{font-size:13px;text-transform:uppercase;letter-spacing:2.1px;line-height:1.8;margin:0 0 19px;color:#816640}
.hero-date{gap:17px}
.hero-date strong{font-family:var(--serif);font-size:41px;line-height:1.2;letter-spacing:2px;color:#805d2c}
.hero-date span{border:0;border-left:1px solid #b9945d99;font-size:12px;line-height:1.65;letter-spacing:2px;text-align:left;padding:0 0 0 17px}
.hero-location{font-family:var(--serif);font-style:normal;text-transform:uppercase;letter-spacing:3px;font-size:13px;margin-top:17px}
.invitation-follows{font-size:9px;letter-spacing:2.3px;text-transform:uppercase;margin-top:18px}
.scroll-cue{bottom:20px;color:#71532e;background:#fff8e9a8;border-radius:30px;backdrop-filter:blur(5px)}
.scroll-line{height:15px}
.families{padding-top:115px}
.lotus-emblem{font-size:50px;color:#b18b4d;line-height:1;margin-bottom:25px}
.families h2{font-size:48px;line-height:1.16;margin-top:23px}
.family-request{font-size:23px;line-height:1.65;margin:27px 0 25px}
.devotional-note{font-size:18px;line-height:1.7;font-style:italic;color:#9b805f}
.ornament{color:#bd9457}.ornament:before,.ornament:after{background:linear-gradient(90deg,transparent,#c4a06b)}
.date-underlay strong{font-family:var(--serif);font-size:73px;letter-spacing:2px;line-height:1.15;margin:8px 0;color:#805e34}
.date-underlay .eyebrow{letter-spacing:2.6px}
.countdown h2{max-width:300px}
.countdown-grid>div{border:1px solid #d7bf955e;box-shadow:0 4px 15px #6b4f1b05}
.countdown-grid span{color:#84643e}
.celebration-card{background:#fffcf0b0;border-color:#ccb08285;padding:28px 20px 32px}
.celebration-dates{font-family:var(--serif);font-size:65px;line-height:1.05;color:#926a36;margin:10px 0 23px;font-weight:400}
.celebration-dates span{font-family:var(--script);font-size:.65em;color:#b79765}
.celebration-card .venue{font-size:26px;color:#6a5539}
.celebration-card .dress{color:#957d5d;margin:17px 0 26px;font-size:20px;line-height:1.55}
.programme-note{font-size:13px;letter-spacing:3px;text-transform:uppercase;margin:32px 0 11px;color:#927245}
.programme-detail{font-style:italic;font-size:19px;line-height:1.6;margin:0;color:#9b8364}
.button.primary{background:#9a7848}
.button.primary:hover{background:#826238}
.button.outline{border-color:#c5b28e;color:#7c633f;background:#fff9e950}
.invitation-gallery{display:block;width:100%;max-width:310px;margin:0 auto}
.invitation-gallery .gallery-photo{width:100%;aspect-ratio:2/3;border:5px solid #fff9ed;border-radius:8px;box-shadow:0 5px 30px #66492225;transform:rotate(-1.4deg);transition:transform .4s}
.invitation-gallery .gallery-photo:hover{transform:rotate(0deg)}
.download-invitation{margin-top:28px;gap:13px}
.choice.selected{background:#9a7848;border-color:#9a7848}
.event-choices{gap:10px}
.event-choices .choice{padding:10px 13px;font-size:12px}
.closing{padding-bottom:185px}
.closing-names{color:#87643b}
.gate{background:#f8efdd;box-shadow:0 0 70px #6a421418}
.door{background-image:url("./assets/radha-krishna-frame.png")}
.door:before{content:"";position:absolute;top:19%;bottom:18%;left:18%;right:7%;border:1px solid #c9a46573;border-radius:120px 120px 5px 5px;box-shadow:inset 0 0 0 5px #fbf3e2,inset 0 0 0 6px #cbaa7147;background:linear-gradient(100deg,#ebdcc113,#fff9ed7a,#ddc39913)}
.door-right:before{left:7%;right:18%}
.door-left:after,.door-right:after{content:"";position:absolute;top:0;bottom:0;width:1px;background:#ad8a5047}
.door-left:after{right:0}.door-right:after{left:0}
.wax-seal{top:45%;width:137px;height:137px;background:radial-gradient(circle at 30% 25%,#fff0bc,#e6c47a 50%,#b68c42);box-shadow:0 5px 20px #7b612b30,inset 0 0 0 2px #e7c47c,inset 0 0 0 6px #dbb35f;color:#856026}
.wax-seal span{font-family:var(--serif);font-size:55px;font-style:italic;letter-spacing:-9px;padding-right:9px;transform:translateY(-1px)}
.gate-blessing{position:absolute;top:28%;left:12%;right:12%;font-size:17px;letter-spacing:2px;color:#9c7d48;transition:opacity .4s}
.gate-names{position:absolute;top:59%;left:5%;right:5%;font-family:var(--script);font-size:43px;color:#826036;transition:opacity .4s}
.gate-date{position:absolute;top:67%;left:10%;right:10%;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#9b825d;transition:opacity .4s}
.gate-caption{bottom:17%;background:#a47f43;color:#fff8e7;backdrop-filter:none;padding:12px 5px;font-size:11px;letter-spacing:3px;left:21%;right:21%;box-shadow:0 4px 12px #79592015}
.gate-caption>span{font-size:17px;margin-left:5px;vertical-align:-1px}
.gate.is-opening .gate-blessing,.gate.is-opening .gate-names,.gate.is-opening .gate-date{opacity:0}
.music-toggle{background:#fffcf2f5;color:#9a7744;border-color:#cbaa6a55}
@media(max-width:420px){.hero{min-height:790px}.hero-copy{top:47.5%;left:11.5%;width:77%}.hero-family{font-size:9px;letter-spacing:1.8px;line-height:1.8}.blessing{font-size:12px;margin-bottom:12px}h1{font-size:46px;letter-spacing:-1.2px;margin:0 -20px 12px}.hero-invitation{font-size:10px;letter-spacing:1.7px;margin-bottom:15px}.hero-date{gap:13px}.hero-date strong{font-size:36px}.hero-date span{font-size:10px;letter-spacing:1.7px;padding-left:13px}.hero-location{font-size:11px;letter-spacing:2.2px;margin-top:13px}.invitation-follows{font-size:8px;letter-spacing:1.8px;margin-top:16px}.scroll-cue{bottom:18px}.families h2{font-size:42px}.family-request{font-size:21px}.devotional-note{font-size:17px}.date-underlay strong{font-size:63px}.celebration-dates{font-size:59px}.celebration-card .venue{font-size:24px}.celebration-card .dress{font-size:19px}.programme-note{font-size:11px;letter-spacing:2.4px}.programme-detail{font-size:17px}.event-choices .choice{font-size:10px;padding:10px 8px}.gate-names{font-size:38px}.gate-date{font-size:10px;letter-spacing:1.5px}.gate-caption{bottom:18%;font-size:10px;letter-spacing:2.4px}.wax-seal{width:120px;height:120px}.wax-seal span{font-size:49px}.gate-blessing{font-size:15px}.invitation-gallery{max-width:265px}}
@media(max-width:350px){.hero{min-height:730px}h1{font-size:39px}.hero-copy{top:46.5%}.hero-family{font-size:8px;letter-spacing:1.4px}.hero-invitation{font-size:9px;letter-spacing:1.3px}.hero-date strong{font-size:32px}.hero-date span{font-size:9px}.gate-date{font-size:9px;letter-spacing:1px}.gate-names{font-size:34px}.families h2{font-size:38px}.family-request{font-size:20px}}
.hero-family{font-size:11px;font-weight:600;color:#84623b}
.hero-invitation{font-size:14px;font-weight:600;color:#795b36}
.hero-date span{font-size:14px;font-weight:600;color:#77552f}
.hero-location{font-size:14px;font-weight:600;color:#77552f}
.invitation-follows{font-size:10px;font-weight:600;color:#765733}
.gate-date{font-family:var(--sans);font-size:10px;letter-spacing:1.6px;color:#806a48}
@media(max-width:420px){.hero-family{font-size:10px;letter-spacing:1.7px}.hero-invitation{font-size:12px;letter-spacing:1.4px}.hero-date span{font-size:12px}.hero-location{font-size:12px;letter-spacing:1.8px}.invitation-follows{font-size:9px}.gate-date{font-size:9px;letter-spacing:1.2px}}
@media(max-width:350px){.hero-family{font-size:9px;letter-spacing:1.3px}.hero-invitation{font-size:10px;letter-spacing:1.3px}.hero-date span{font-size:11px}.hero-location{font-size:11px}.gate-date{font-size:8px;letter-spacing:.9px}}

/* Guest-facing refinements for small screens and everyday calendar apps. */
input,textarea{font-size:16px}
label,.field-label{font-size:13px;letter-spacing:1.8px;color:#79603e}
.attendance .choice{font-size:13px}
.event-choices .choice{min-height:44px;font-size:12px}
.guest-count-row{flex-wrap:wrap;row-gap:12px}
.guest-count-row .field-label{max-width:none;flex:1 1 86px;font-size:12px;letter-spacing:1.5px}
.stepper{gap:8px}
.stepper button{width:44px;height:44px;flex-shrink:0}
.calendar-options{display:flex;flex-direction:column;align-items:center;gap:11px;margin-top:24px}
.calendar-options .button{width:100%;max-width:245px;font-size:13px;min-height:46px}
.music-toggle{width:auto;min-width:108px;padding:0 13px;display:flex;justify-content:center;align-items:center;gap:8px;border-radius:999px}
.music-label{font:11px/1 var(--sans);letter-spacing:.2px;white-space:nowrap}
.music-toggle .equalizer{flex-shrink:0}
.music-toggle[aria-busy="true"] .music-label{opacity:.75}
.copy-status{font:11px/1.7 var(--sans);color:#806746;min-height:0;margin:0}
.copy-status:empty{display:none}
@media(max-width:350px){label,.field-label{font-size:12px}.guest-count-row .field-label{flex-basis:100%;font-size:11px}.attendance .choice{font-size:12px}.calendar-options .button{font-size:12px}.music-toggle{min-width:101px;padding-inline:11px}.music-label{font-size:10px}}


/* Custom styles for 3-Page wedding invitation */
.gate-logo-img { width: 105px; height: 105px; object-fit: contain; filter: drop-shadow(0 2px 5px rgba(110,75,25,.3)); display: block; }
.wax-seal { background: radial-gradient(circle at 35% 30%, #fff4ca, #e9cb82 48%, #ba9045); padding: 10px; }
.hero-logo-wrap { margin: 8px auto 14px; display: flex; justify-content: center; }
.hero-logo-img { width: 90px; height: 90px; object-fit: contain; filter: drop-shadow(0 2px 6px rgba(118,84,33,.2)); }
.blessing-page2 { font-size: 18px; color: #9b7745; letter-spacing: 1px; margin: 0 0 16px; }
.devotional-note { font-size: 20px; line-height: 1.65; font-style: italic; color: #7e6445; margin: 15px 0 25px; }
.family-request { font-size: 22px; line-height: 1.6; color: #6b533b; margin: 25px 0 30px; }
.couple-announcement { margin: 30px 0; }
.couple-announcement .person-name { font-size: 52px; line-height: 1.05; color: var(--wine); margin: 0; }
.couple-announcement .parents { font-size: 17px; font-style: italic; color: #7e6447; margin: 6px 0 14px; }
.couple-announcement .union { display: block; font-size: 38px; color: #a8864e; margin: 10px 0; font-style: italic; font-family: var(--serif); }
.wedding-venue-banner { margin-top: 35px; }
.venue-dates { font-family: var(--serif); font-size: 26px; color: #805d2c; letter-spacing: 1px; margin: 10px 0 4px; font-weight: 600; }
.venue-name { font-size: 22px; color: #6a5539; font-style: italic; margin: 0 0 16px; }
.presence-note { font-size: 18px; font-style: italic; color: #8f7556; line-height: 1.55; margin: 15px auto 0; max-width: 360px; }

/* Page 3: Itinerary Styles */
.day-card { background: rgba(255,252,242,.85); border: 1px solid #dcc6a0; border-radius: 24px; padding: 32px 22px 30px; box-shadow: 0 8px 30px rgba(118,84,33,.08); position: relative; }
.day-badge { display: inline-block; background: #8b6736; color: #fffaf0; font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: 2.5px; text-transform: uppercase; padding: 5px 16px; border-radius: 999px; margin-bottom: 14px; }
.day-date-heading { font-family: var(--serif); font-size: 27px; color: #74532a; margin: 0 0 6px; font-weight: 600; }
.day-card .venue { font-size: 16px; font-style: italic; color: #9b8261; margin: 0 0 24px; }
.itinerary-timeline { display: flex; flex-direction: column; gap: 12px; margin-top: 10px; }
.itinerary-item { padding: 6px 0; }
.function-name { font-family: var(--serif); font-size: 24px; color: #654823; margin: 0 0 3px; font-weight: 600; }
.function-time { font-family: var(--sans); font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; color: #9b7a4e; margin: 0; }
.function-food { font-family: var(--serif); font-size: 16px; font-style: italic; color: #876d4d; margin: 4px 0 0; }
.itinerary-divider { color: #c4a56d; font-size: 14px; line-height: 1; margin: 4px 0; }

@media(max-width:420px) {
  .gate-logo-img { width: 88px; height: 88px; }
  .wax-seal { width: 116px; height: 116px; }
  .hero-logo-img { width: 75px; height: 75px; }
  .couple-announcement .person-name { font-size: 44px; }
  .couple-announcement .parents { font-size: 15px; }
  .venue-dates { font-size: 22px; }
  .function-name { font-size: 21px; }
  .day-date-heading { font-size: 23px; }
  .presence-note { font-size: 16px; }
}


/* Dynamic Wedding Animations & Festive Colors */
.petals-container {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 4;
  overflow: hidden;
}
.petal {
  position: absolute;
  top: -40px;
  font-size: 20px;
  opacity: 0.7;
  animation: fallDown linear infinite;
}
.p1 { left: 10%; animation-duration: 11s; animation-delay: 0s; }
.p2 { left: 24%; animation-duration: 14s; animation-delay: 3s; font-size: 16px; }
.p3 { left: 42%; animation-duration: 12s; animation-delay: 1.5s; }
.p4 { left: 58%; animation-duration: 15s; animation-delay: 4.5s; font-size: 22px; }
.p5 { left: 72%; animation-duration: 13s; animation-delay: 2s; }
.p6 { left: 85%; animation-duration: 16s; animation-delay: 5s; font-size: 14px; }
.p7 { left: 32%; animation-duration: 18s; animation-delay: 7s; }
.p8 { left: 93%; animation-duration: 12s; animation-delay: 6s; }

@keyframes fallDown {
  0% { transform: translateY(-40px) rotate(0deg) translateX(0); opacity: 0; }
  15% { opacity: 0.8; }
  85% { opacity: 0.7; }
  100% { transform: translateY(105vh) rotate(360deg) translateX(35px); opacity: 0; }
}

/* Micro-animations */
.pulse-anim { animation: pulseGentle 3s ease-in-out infinite alternate; }
.pulse-slow { animation: pulseGentle 4s ease-in-out infinite alternate; }
@keyframes pulseGentle {
  0% { transform: scale(1); }
  100% { transform: scale(1.05); }
}

.float-anim { animation: floatSlow 4s ease-in-out infinite alternate; }
@keyframes floatSlow {
  0% { transform: translateY(0); }
  100% { transform: translateY(-6px); }
}

.rotate-gentle { animation: spinGentle 14s linear infinite; display: inline-block; }
@keyframes spinGentle {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.shimmer-text {
  background: linear-gradient(90deg, #9b7745, #d9af68, #9b7745);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer 6s linear infinite;
}
@keyframes shimmer {
  to { background-position: 200% center; }
}

/* Event Itinerary Badges & Colors */
.day-1-card {
  border-top: 4px solid #e2a838;
}
.day-2-card {
  border-top: 4px solid #b24130;
}
.day-badge-royal {
  background: #9d3625;
}

.itinerary-item {
  display: flex;
  align-items: center;
  gap: 14px;
  text-align: left;
  background: rgba(255, 255, 255, 0.55);
  border-radius: 16px;
  padding: 12px 16px;
  box-shadow: 0 2px 10px rgba(110, 80, 40, 0.04);
  transition: transform 0.25s, box-shadow 0.25s;
}
.itinerary-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(110, 80, 40, 0.08);
}

.event-theme-haldi {
  border-left: 4px solid #f5b027;
  background: linear-gradient(90deg, rgba(254, 243, 212, 0.8), rgba(255, 252, 245, 0.6));
}
.event-theme-mehndi {
  border-left: 4px solid #4a8c54;
  background: linear-gradient(90deg, rgba(230, 247, 232, 0.8), rgba(255, 252, 245, 0.6));
}
.event-theme-sangeet {
  border-left: 4px solid #8e44ad;
  background: linear-gradient(90deg, rgba(246, 235, 252, 0.8), rgba(255, 252, 245, 0.6));
}
.event-theme-saath {
  border-left: 4px solid #d35400;
  background: linear-gradient(90deg, rgba(254, 238, 227, 0.8), rgba(255, 252, 245, 0.6));
}
.event-theme-sehra {
  border-left: 4px solid #c89528;
  background: linear-gradient(90deg, rgba(254, 246, 226, 0.8), rgba(255, 252, 245, 0.6));
}
.event-theme-baraat {
  border-left: 4px solid #c0392b;
  background: linear-gradient(90deg, rgba(254, 234, 233, 0.8), rgba(255, 252, 245, 0.6));
}
.event-theme-phere {
  border-left: 4px solid #e84393;
  background: linear-gradient(90deg, rgba(254, 237, 244, 0.8), rgba(255, 252, 245, 0.6));
}

.event-icon-badge {
  font-size: 26px;
  line-height: 1;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.event-details {
  flex: 1;
}

.anim-bounce { animation: bounceIcon 2.4s ease-in-out infinite; }
@keyframes bounceIcon {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

.anim-spin-slow { animation: spinSlowIcon 8s linear infinite; display: inline-block; }
@keyframes spinSlowIcon {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.anim-pulse { animation: pulseIcon 2s ease-in-out infinite alternate; }
@keyframes pulseIcon {
  0% { transform: scale(0.96); }
  100% { transform: scale(1.08); }
}

.anim-glow { animation: glowIcon 2.5s ease-in-out infinite alternate; }
@keyframes glowIcon {
  0% { filter: drop-shadow(0 0 2px rgba(230,126,34,0.4)); }
  100% { filter: drop-shadow(0 0 8px rgba(230,126,34,0.85)); }
}

.anim-march { animation: marchIcon 1.8s ease-in-out infinite alternate; }
@keyframes marchIcon {
  0% { transform: translateX(-2px) rotate(-3deg); }
  100% { transform: translateX(2px) rotate(3deg); }
}

.anim-sparkle { animation: sparkleIcon 2s ease-in-out infinite alternate; }
@keyframes sparkleIcon {
  0% { transform: scale(0.95); opacity: 0.85; }
  100% { transform: scale(1.1); opacity: 1; }
}

.hashtag {
  font-family: var(--sans);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 2.2px;
  color: #a8462c;
  margin: 10px 0;
}


/* Ganesha Icon on top of blessings */
.gate-ganesha-wrap {
  position: absolute;
  top: 19%;
  left: 10%;
  right: 10%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  transition: opacity .4s;
}
.gate.is-opening .gate-ganesha-wrap { opacity: 0; }
.ganesha-header-img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  filter: drop-shadow(0 2px 4px rgba(118,84,33,.25));
  display: block;
  margin: 0 auto;
}
.section-ganesha-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  margin-bottom: 6px;
}
.gate-hashtag {
  position: absolute;
  top: 73%;
  left: 10%;
  right: 10%;
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: 2px;
  font-weight: 600;
  color: #a8462c;
  transition: opacity .4s;
}
.gate.is-opening .gate-hashtag { opacity: 0; }
.hero-hashtag {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 2.2px;
  font-weight: 600;
  color: #a8462c;
  margin-top: 14px;
}
.keepsake-hashtag {
  font-family: var(--sans);
  font-size: 13px;
  letter-spacing: 2.5px;
  font-weight: 600;
  color: #926a36;
  margin: 14px 0 16px;
}

/* Event Cards with subtle, elegant, low-transparency watermark patterns */
.itinerary-item {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  padding: 18px 22px;
  margin-bottom: 4px;
  background-color: #fffdf7;
  border: 1px solid rgba(215, 190, 150, 0.5);
  box-shadow: 0 4px 15px rgba(100, 75, 40, 0.04);
}
.itinerary-watermark {
  position: absolute;
  right: -10px;
  bottom: -15px;
  width: 110px;
  height: 110px;
  opacity: 0.12;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* Low-transparency SVGs as background watermark per event */
.event-bg-haldi .itinerary-watermark {
  /* Turmeric / Haldi bowl motif */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='%23d39e00'%3E%3Cpath d='M20 50 C20 75 35 90 50 90 C65 90 80 75 80 50 Z'/%3E%3Cellipse cx='50' cy='46' rx='34' ry='16'/%3E%3Ccircle cx='50' cy='32' r='14'/%3E%3Ccircle cx='38' cy='38' r='10'/%3E%3Ccircle cx='62' cy='38' r='10'/%3E%3C/svg%3E");
}
.event-bg-haldi {
  border-left: 5px solid #dca82a;
  background: linear-gradient(105deg, rgba(255, 250, 235, 0.95), rgba(255, 246, 218, 0.7));
}

.event-bg-mehndi .itinerary-watermark {
  /* Henna mandala / floral pattern */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%233e7b4a' stroke-width='3'%3E%3Ccircle cx='50' cy='50' r='38'/%3E%3Ccircle cx='50' cy='50' r='24'/%3E%3Ccircle cx='50' cy='50' r='10' fill='%233e7b4a'/%3E%3Cpath d='M50 12 C40 25 60 25 50 38 M50 62 C40 75 60 75 50 88 M12 50 C25 40 25 60 38 50 M62 50 C75 40 75 60 88 50'/%3E%3Cpath d='M23 23 C35 32 40 20 50 32 M50 68 C60 80 65 68 77 77 M77 23 C68 35 80 40 68 50 M32 50 C20 60 32 65 23 77'/%3E%3C/svg%3E");
}
.event-bg-mehndi {
  border-left: 5px solid #488854;
  background: linear-gradient(105deg, rgba(255, 252, 245, 0.95), rgba(240, 252, 242, 0.7));
}

.event-bg-sangeet .itinerary-watermark {
  /* Dholak & musical notes motif */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%237d3c98' stroke-width='3'%3E%3Cellipse cx='50' cy='50' rx='28' ry='40' transform='rotate(-25 50 50)'/%3E%3Cellipse cx='30' cy='38' rx='8' ry='16' transform='rotate(-25 30 38)' fill='%237d3c98'/%3E%3Cellipse cx='70' cy='62' rx='8' ry='16' transform='rotate(-25 70 62)' fill='%237d3c98'/%3E%3Cpath d='M30 38 L70 62 M24 48 L64 72 M36 28 L76 52'/%3E%3Cpath d='M75 20 Q85 15 90 25 L90 40' stroke-width='4' fill='none'/%3E%3Ccircle cx='86' cy='40' r='5' fill='%237d3c98'/%3E%3C/svg%3E");
}
.event-bg-sangeet {
  border-left: 5px solid #7d3c98;
  background: linear-gradient(105deg, rgba(255, 252, 247, 0.95), rgba(250, 242, 255, 0.7));
}

.event-bg-saath .itinerary-watermark {
  /* Traditional Kalash & coconut motif */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23b95a18' stroke-width='3'%3E%3Cpath d='M32 46 C25 65 28 85 50 85 C72 85 75 65 68 46 Z' fill='%23b95a18' fill-opacity='0.5'/%3E%3Cellipse cx='50' cy='46' rx='18' ry='7'/%3E%3Cpath d='M40 43 C35 30 50 20 50 20 C50 20 65 30 60 43 Z' fill='%23b95a18'/%3E%3Ccircle cx='50' cy='18' r='5' fill='%23b95a18'/%3E%3Cpath d='M25 40 Q40 32 45 42 M75 40 Q60 32 55 42'/%3E%3C/svg%3E");
}
.event-bg-saath {
  border-left: 5px solid #b95a18;
  background: linear-gradient(105deg, rgba(255, 252, 246, 0.95), rgba(255, 245, 235, 0.7));
}

.event-bg-sehra .itinerary-watermark {
  /* Royal Turban / Pagdi / Kalgi motif */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23b08522' stroke-width='3'%3E%3Cpath d='M20 70 C15 50 35 40 50 40 C65 40 85 50 80 70 Z' fill='%23b08522' fill-opacity='0.4'/%3E%3Cpath d='M25 65 Q50 50 75 65 M28 72 Q50 58 72 72'/%3E%3Cpath d='M50 38 Q45 15 50 10 Q55 15 50 38' fill='%23b08522'/%3E%3Ccircle cx='50' cy='38' r='6' fill='%23b08522'/%3E%3C/svg%3E");
}
.event-bg-sehra {
  border-left: 5px solid #b08522;
  background: linear-gradient(105deg, rgba(255, 252, 245, 0.95), rgba(255, 248, 230, 0.7));
}

.event-bg-baraat .itinerary-watermark {
  /* Royal Wedding Trumpet & Dhol procession */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23a93226' stroke-width='3'%3E%3Cpath d='M20 70 L55 45 L55 35 L80 20 L80 60 L55 45' fill='%23a93226' fill-opacity='0.4'/%3E%3Cellipse cx='80' cy='40' rx='6' ry='20' fill='%23a93226'/%3E%3Cpath d='M20 68 Q25 64 28 68 Q32 73 38 68'/%3E%3C/svg%3E");
}
.event-bg-baraat {
  border-left: 5px solid #a93226;
  background: linear-gradient(105deg, rgba(255, 252, 245, 0.95), rgba(255, 240, 238, 0.7));
}

.event-bg-phere .itinerary-watermark {
  /* Sacred Agni Kund & Varmala motif */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23c0392b' stroke-width='3'%3E%3Cpolygon points='18,80 82,80 72,55 28,55' fill='%23c0392b' fill-opacity='0.3'/%3E%3Cpath d='M50 20 Q40 38 50 55 Q60 38 50 20' fill='%23e67e22'/%3E%3Cpath d='M42 34 Q36 44 44 55 Q50 44 42 34' fill='%23f1c40f'/%3E%3Cpath d='M58 34 Q64 44 56 55 Q50 44 58 34' fill='%23f1c40f'/%3E%3C/svg%3E");
}
.event-bg-phere {
  border-left: 5px solid #c0392b;
  background: linear-gradient(105deg, rgba(255, 252, 245, 0.95), rgba(255, 238, 236, 0.7));
}

@media(max-width:420px) {
  .ganesha-header-img { width: 38px; height: 38px; }
  .gate-ganesha-wrap { top: 18%; }
  .gate-hashtag { font-size: 10px; }
  .hero-hashtag { font-size: 11px; }
  .itinerary-item { padding: 15px 18px; }
  .itinerary-watermark { width: 90px; height: 90px; }
}


/* Itinerary Art Cards from original uploaded images */
.itinerary-art-card {
  width: 100%;
  max-width: 440px;
  margin: 0 auto;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 35px rgba(100, 70, 30, 0.14);
  border: 1px solid rgba(215, 185, 140, 0.6);
  background: #fbf5eb;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.itinerary-art-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 45px rgba(100, 70, 30, 0.2);
}
.itinerary-photo-btn {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  aspect-ratio: auto;
  border-radius: 0;
  box-shadow: none;
}
.itinerary-photo-btn img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 19px;
  transition: transform 0.4s ease;
}
.itinerary-photo-btn:hover img {
  transform: scale(1.02);
}
