
body.invitation-closed{overflow:hidden}
.km-hero__video video{object-fit:cover;object-position:50% 50%;display:block}
.km-hero__video{background-position:center;background-size:cover}
.km-entry__label{text-indent:0}.km-entry__names{font-size:clamp(29px,9cqw,50px)}
.km-entry__amp{font-family:var(--km-font-cormorant),serif}
.km-bell__disc{color:var(--km-maroon);font-size:25px}.km-bell{z-index:95}
.km-bell .music-off{position:absolute;width:26px;height:2px;background:currentColor;transform:rotate(-45deg);color:var(--km-maroon)}
.km-bell[aria-pressed=true] .music-off{display:none}
.km-bell[aria-pressed=true] .music-note{animation:music-pulse 2s ease-in-out infinite}
.km-hero__content{transition:opacity 1s ease .25s;top:20%}
.km-hero__name{font-size:clamp(2.6rem,11.2vw,3.8rem)}
.invitation-closed .km-hero__content{opacity:0}
.ay-muhurtham{font-family:var(--km-font-cormorant),serif;color:var(--km-maroon);font-size:18px;margin-top:6px}
.ay-telugu{font-family:var(--km-font-telugu),serif}
.ay-invitation{position:relative;padding:105px 32px 95px;text-align:center;background:radial-gradient(ellipse at 50% 15%,#fff8dcaa,transparent 60%),#fbeeb8}
.ay-invitation-inner{max-width:680px;position:relative;margin:auto;z-index:2}
.ay-eyebrow{font-family:var(--km-font-marcellus),serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#8c6230;margin-bottom:20px}
.ay-monogram{font-family:var(--km-font-great-vibes),cursive;color:var(--km-maroon);font-size:52px;border:1px solid #c9932f80;border-radius:50% 50% 46% 46%;width:145px;height:145px;display:flex;align-items:center;justify-content:center;margin:0 auto 30px;box-shadow:inset 0 0 0 7px #fbeeb8,inset 0 0 0 8px #c9932f60;gap:7px}
.ay-monogram span{font-size:25px;color:#a17a36}
.ay-invitation h2{font-size:clamp(32px,7vw,45px);line-height:1.25;max-width:520px;margin:0 auto 24px}
.ay-invitation-copy{font-family:var(--km-font-cormorant),serif;font-size:20px;line-height:1.6;color:var(--km-green);max-width:43ch;margin:auto}
.ay-couple-names{font-size:clamp(34px,8vw,48px);line-height:1.4;margin:18px auto 15px}
.ay-couple-names span{font-family:var(--km-font-cormorant),serif;font-size:.55em;color:#a17a36;padding:0 .25em}
.ay-hashtag{font-family:var(--km-font-marcellus),serif;color:var(--km-maroon);font-size:16px;letter-spacing:.035em;margin-top:28px}
.ay-hashtag span{font-weight:bold;color:#ad4e69}
.ay-countdown{text-align:center;padding:58px 22px 55px;background:linear-gradient(180deg,#f3dfa4,#f8e9ba);border-top:1px solid #c9932f77;border-bottom:1px solid #c9932f77}
.ay-countdown>p:first-child{font-size:36px;line-height:1.2;margin-bottom:25px}
.ay-countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:460px;margin:auto}
.ay-countdown-grid>div+div{border-left:1px solid #c9932f66}
.ay-countdown-grid strong{display:block;font-family:var(--km-font-cinzel),serif;color:#711433;font-size:clamp(32px,8vw,48px);font-variant-numeric:tabular-nums;font-weight:500;line-height:1}
.ay-countdown-grid span{display:block;font-family:var(--km-font-marcellus),serif;color:#77613c;font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-top:12px}
.ay-countdown-date{font-size:17px;color:var(--km-green);margin-top:27px}
.foot-trail{position:absolute;inset:0;z-index:1;pointer-events:none}
.trail-foot{position:absolute;width:2.8%;height:auto;opacity:0;transform:translate(-50%,-50%) rotate(var(--foot-angle,0deg)) scale(.55);transform-origin:center;will-change:transform,opacity}
.trail-foot.is-visible{opacity:.58;transform:translate(-50%,-50%) rotate(var(--foot-angle,0deg)) scale(1);animation:ay-footstep .56s cubic-bezier(.2,.75,.3,1)}
.trail-foot.is-latest{opacity:.88;filter:drop-shadow(0 1px 3px #9a1b4133)}
.trail-foot.is-instant{animation:none}
@keyframes ay-footstep{
 0%{opacity:0;transform:translate(-50%,-85%) rotate(var(--foot-angle,0deg)) scale(.45)}
 55%{opacity:.92;transform:translate(-50%,-47%) rotate(var(--foot-angle,0deg)) scale(1.12)}
 100%{opacity:.58;transform:translate(-50%,-50%) rotate(var(--foot-angle,0deg)) scale(1)}
}
@media(prefers-reduced-motion:reduce){.trail-foot.is-visible{animation:none;opacity:.5;filter:none}}

.km-events__card{padding-bottom:12px}.km-events__name{line-height:1.25}
.km-events__when{line-height:1.4}.ay-calendar{display:block;width:fit-content;margin-top:8px;border:0;border-bottom:1px solid #c9932f77;padding:0 0 2px;background:transparent;font-family:var(--km-font-marcellus),serif;font-size:9px;letter-spacing:.08em;color:#745123;text-transform:uppercase}
.km-events__stop--right .ay-calendar{margin-left:auto}
.ay-event-time{display:block;font-size:.95em;margin-top:2px}
.ay-rsvp-form{display:flex;flex-direction:column;gap:17px}
.ay-rsvp-form fieldset{margin:0;border:0;padding:0;min-width:0}
.ay-rsvp-form legend,.ay-rsvp-form>label,.ay-party-fields>label{font-family:var(--km-font-marcellus),serif;font-size:11px;letter-spacing:.06em;color:var(--km-maroon);line-height:1.6}
.ay-rsvp-form legend{margin-bottom:9px}.ay-rsvp-form>label,.ay-party-fields>label{display:block}
.ay-rsvp-form input:not([type=radio]):not([type=checkbox]),.ay-rsvp-form textarea,.ay-rsvp-form select{display:block;width:100%;border:1px solid #c9932f77;background:#fffaf0aa;color:#2b1608;padding:11px 12px;margin-top:7px;border-radius:0;font-family:var(--km-font-cormorant),serif;font-size:18px;letter-spacing:0;resize:vertical;outline-color:var(--km-gold)}
.ay-rsvp-form input[type=radio],.ay-rsvp-form input[type=checkbox]{accent-color:#9a1b41;width:16px;height:16px;flex:none;margin:3px 0 0}
.ay-attendance label,.ay-event-choice,.ay-food label{display:flex;gap:9px;align-items:flex-start;font-family:var(--km-font-cormorant),serif;font-size:17px;line-height:1.35;color:#3f4a26;padding:10px;border:1px solid #c9932f55;margin-top:7px;cursor:pointer}
.ay-attendance label:has(input:checked),.ay-event-choice:has(input:checked),.ay-food label:has(input:checked){background:#c9932f18;border-color:#c9932f;color:#711433}
.ay-event-choice strong{font-weight:500;display:block}.ay-event-choice small{display:block;font-size:14px;margin-top:3px}
#attending-fields{display:flex;flex-direction:column;gap:18px}
.ay-party-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ay-party-fields label:first-child{grid-column:1/-1}.ay-party-fields:has(#custom-guests-label:not([hidden])) label:first-child{grid-column:auto}
.ay-optional{font-family:var(--km-font-cormorant),serif;font-size:14px;letter-spacing:0;color:#89724f}
.ay-food{display:flex;gap:9px;flex-wrap:wrap}.ay-food legend{width:100%}.ay-food label{flex:1}
.ay-rsvp-note{font-size:15px;line-height:1.5;text-align:center;color:#746441}
#rsvp-status{font-size:18px;line-height:1.5;text-align:center;color:#711433}
.ay-rsvp-download{border:0;border-bottom:1px solid #c9932f88;background:transparent;color:#9a1b41;font-size:16px;padding:5px;margin:auto}
.ay-footer{text-align:center;background:linear-gradient(145deg,#711433,#4d1127);color:#fbeeb8;padding:65px 24px 72px}
.ay-footer .ay-eyebrow{color:#d4b16b}.ay-footer-names{font-size:clamp(36px,8vw,50px);color:#fff3ce;line-height:1.35}
.ay-footer-names span{font-family:var(--km-font-cormorant),serif;font-size:.55em;color:#d4b16b}
.ay-footer>p:not([class]){font-size:21px;margin:12px 0}
.ay-footer .ay-hashtag{color:#f2dfb0;margin-top:24px}.ay-footer .ay-hashtag span{color:#f49ab0}
.ay-footer-location{font-size:16px;margin:24px 0;color:#e4cfa5}.ay-footer .ay-telugu{font-size:21px;color:#f2dfb0}
.ay-date-dialog{border:1px solid #b48b45;padding:0;background:#fff1cc;color:#3f4a26;max-width:min(94vw,530px);max-height:94svh;overflow:auto;box-shadow:0 20px 90px #29130070}
.ay-date-dialog::backdrop{background:#28120dde;backdrop-filter:blur(7px)}
.ay-date-panel{padding:38px 25px 28px;text-align:center;background:radial-gradient(ellipse at 50% 40%,#fff8e6,transparent 80%)}
.ay-date-panel h2{font-size:38px;line-height:1.15;margin:0 0 15px}
.ay-date-panel>p:not([class]){font-size:18px;max-width:32ch;margin:0 auto 20px}
.ay-scratch-wrap{position:relative;width:100%;aspect-ratio:5/3;max-width:380px;margin:24px auto 15px;border:1px solid #b48b45;overflow:hidden;box-shadow:0 6px 20px #74512330}
.ay-scratch-date{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:linear-gradient(135deg,#fff8e6,#f4e2b5);padding:12px;color:#711433}
.ay-scratch-date>span:first-child{font-family:var(--km-font-marcellus),serif;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.ay-scratch-date strong{font-family:var(--km-font-cinzel),serif;font-size:clamp(20px,5.4vw,27px);font-weight:500}
.ay-scratch-date>span:not(:first-child){font-size:19px}.ay-scratch-date small{font-size:16px;color:var(--km-green)}
#scratch-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;transition:opacity .4s}
#scratch-hint{font-size:15px;margin-bottom:20px;color:#806436}
.ay-reveal-button,.ay-continue-button{display:block;margin:0 auto;padding:13px 24px;background:#711433;color:#fff2cd;border:1px solid #c9932f;font-family:var(--km-font-marcellus),serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;min-height:44px}
.ay-skip-button{border:0;border-bottom:1px solid #a17a3677;background:none;color:#745123;padding:6px;font-size:15px;margin-top:16px}
button:focus-visible,a:focus-visible{outline:2px solid #c9932f;outline-offset:4px}
[hidden]{display:none!important}
.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:110;background:#711433;color:#fff7dd;padding:12px 20px;font-family:var(--km-font-cormorant),serif;font-size:17px;text-align:center;max-width:calc(100% - 100px);transition:.25s}
.toast.show{opacity:1;transform:translate(-50%,0)}
.reveal-item{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal-item.is-in{opacity:1;transform:none}
@keyframes music-pulse{50%{transform:rotate(10deg) scale(1.1)}}
@media(max-width:500px){.ay-invitation{padding:80px 26px}.ay-invitation-copy{font-size:19px}.ay-rsvp-form{gap:15px}.ay-date-panel{padding:30px 20px 22px}.ay-date-panel h2{font-size:33px}.ay-date-panel>p:not([class]){font-size:17px}.ay-muhurtham{font-size:16px}.km-hero__date{margin-top:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-item{opacity:1;transform:none}}

:root{--km-font-marcellus:"Marcellus","Marcellus Fallback";--km-font-cormorant:"Cormorant Garamond","Cormorant Garamond Fallback";--km-font-great-vibes:"Great Vibes","Great Vibes Fallback";--km-font-cinzel:"Cinzel","Cinzel Fallback";--km-font-telugu:"Noto Serif Telugu","Noto Serif Telugu Fallback"}
.ay-date-dialog{font-family:var(--km-font-cormorant),serif}

.km-events__medallion-art{display:block;width:82%;height:82%;max-width:82%;max-height:82%;object-fit:contain}

/* Clear, unmistakable capitals for the couple and their monogram. */
.kalyana-mandapam .km-entry__names.km-font-script,
.kalyana-mandapam .km-hero__name.km-font-script,
.ay-couple-names.km-font-script,.ay-footer-names.km-font-script{font-family:var(--km-font-cormorant),serif;font-style:italic;font-weight:600;font-variant:normal;text-transform:none;letter-spacing:-.025em}
.kalyana-mandapam .km-entry__names.km-font-script{font-size:clamp(34px,9.8cqw,54px);line-height:1.08}
.kalyana-mandapam .km-hero__name.km-font-script{font-size:clamp(42px,11.6vw,66px);line-height:1.02}
.ay-monogram{font-family:var(--km-font-cinzel),serif;font-style:normal;gap:0;letter-spacing:-.06em}
.ay-monogram>span{font-size:51px;color:#711433;font-style:normal;font-weight:500;text-transform:uppercase}
.ay-monogram>span+span{color:#a77a36;margin-left:-2px}

/* A festive date reveal, with a scratch-first interaction. */
.ay-date-dialog{width:min(94vw,540px);max-width:540px;border:1px solid #c6a367;overflow:auto;background:#fff1d0}
.ay-date-panel{position:relative;isolation:isolate;padding:30px 26px 25px;background:radial-gradient(circle at 0 0,#eac27c50,transparent 40%),radial-gradient(circle at 100% 100%,#efc1be55,transparent 43%),#fff4d9}
.ay-date-panel:before{content:"";position:absolute;inset:8px;border:1px solid #bd945a66;pointer-events:none;z-index:-1}
.ay-date-panel h2{font-family:var(--km-font-cormorant),serif;font-size:40px;font-weight:600;font-style:italic;color:#751e38;line-height:1.1}
.ay-reveal-intro{font-size:19px;font-style:italic;color:#5e6f48;line-height:1.5;max-width:30ch;margin:0 auto 17px}
.ay-date-panel .ay-eyebrow{font-size:10px;margin-bottom:13px;letter-spacing:.15em}
.ay-scratch-wrap{max-width:410px;aspect-ratio:640/460;margin:19px auto 12px;border:1px solid #b99053;box-shadow:0 8px 24px #73532322}
.ay-scratch-date{gap:0;background:radial-gradient(circle at 50% 35%,#fffdf2 0,#fff8e7 45%,#f2dba7 100%);padding:14px 10px}
.ay-scratch-date>span:first-child{font-family:var(--km-font-cormorant),serif;font-size:21px;text-transform:none;letter-spacing:.02em;font-style:italic;color:#45604b}
.ay-scratch-date .ay-reveal-number{font-family:var(--km-font-cinzel),serif;font-size:clamp(76px,21vw,112px);line-height:1;font-style:normal;letter-spacing:-.05em;font-weight:500;color:#791c38;text-shadow:0 2px 0 #f6d591;margin:0 0 5px}
.ay-scratch-date .ay-reveal-month{font-family:var(--km-font-marcellus),serif;font-size:clamp(15px,4.1vw,21px);letter-spacing:.1em;text-transform:uppercase;color:#9b6f25;margin-bottom:12px}
.ay-scratch-date .ay-reveal-time{font-family:var(--km-font-cormorant),serif;font-size:clamp(18px,4.7vw,25px);font-style:italic;color:#8d4164;line-height:1.1}
.ay-scratch-date .ay-reveal-time b{color:#315e49;font-size:1.15em;font-weight:600}
.ay-scratch-date .ay-reveal-city{font-family:var(--km-font-cormorant),serif;font-size:19px;font-style:italic;color:#67734d;margin-top:8px}
.ay-scratch-progress{height:3px;max-width:410px;margin:12px auto 0;background:#bda16a33;overflow:hidden}
.ay-scratch-progress>span{height:100%;width:0;display:block;background:linear-gradient(90deg,#b48a3a,#8d3151);transition:width .15s}
#scratch-hint{font-family:var(--km-font-cormorant),serif;font-size:16px;font-style:italic;color:#7b6240;margin:10px 0 16px}
.ay-reveal-help{font-size:15px;font-style:italic;color:#6b6351;margin:10px auto 0}
.ay-reveal-help summary{cursor:pointer;width:fit-content;margin:auto;padding:4px 8px}
.ay-reveal-help .ay-reveal-button{background:transparent;color:#711433;border-color:#c3a36c;font-size:10px;padding:9px 16px;margin:12px auto 0}
.ay-skip-button{margin-top:8px;font-size:14px}
.ay-continue-button{background:linear-gradient(120deg,#721730,#9b2d49);color:#fff5dc;border:1px solid #c7a35f;padding:15px 22px;box-shadow:0 7px 18px #71143325;font-size:11px;letter-spacing:.06em}
.ay-date-dialog.is-celebrating .ay-scratch-wrap{box-shadow:0 0 0 4px #d1ac6233,0 12px 35px #8e254b25}
.ay-date-dialog.is-celebrating .ay-scratch-date{animation:ay-date-celebrate .85s cubic-bezier(.2,.8,.2,1)}
.ay-date-dialog.is-celebrating .ay-reveal-intro{font-size:25px;font-weight:600;color:#35614b}
.ay-date-dialog.is-celebrating #scratch-hint{color:#45604b;font-size:18px;max-width:30ch;margin:16px auto}
.ay-date-dialog.is-celebrating .ay-reveal-help,.ay-date-dialog.is-celebrating .ay-skip-button{display:none}
.ay-reveal-sparkles{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:2}
.is-celebrating .ay-reveal-sparkles{opacity:1}
.ay-reveal-sparkles i{position:absolute;width:13px;height:13px;background:#b68a35;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);animation:ay-twinkle 3.5s ease-in-out infinite}
.ay-reveal-sparkles i:nth-child(1){top:10%;left:8%}.ay-reveal-sparkles i:nth-child(2){top:16%;right:8%;width:9px;height:9px;animation-delay:.6s}
.ay-reveal-sparkles i:nth-child(3){top:43%;left:5%;width:10px;height:10px;animation-delay:1.2s}.ay-reveal-sparkles i:nth-child(4){top:56%;right:4%;animation-delay:.9s}
.ay-reveal-sparkles i:nth-child(5){bottom:20%;left:9%;width:9px;height:9px;animation-delay:1.7s}.ay-reveal-sparkles i:nth-child(6){bottom:12%;right:8%;animation-delay:2s}
.ay-reveal-sparkles i:nth-child(7){top:5%;left:42%;width:7px;height:7px;animation-delay:.4s}.ay-reveal-sparkles i:nth-child(8){bottom:5%;left:40%;width:8px;height:8px;animation-delay:1.4s}
.ay-confetti-canvas{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:20}
@keyframes ay-date-celebrate{0%{transform:scale(.93);filter:brightness(1.3)}65%{transform:scale(1.025)}100%{transform:scale(1);filter:brightness(1)}}
@keyframes ay-twinkle{0%,100%{opacity:.25;transform:scale(.65) rotate(0)}50%{opacity:.9;transform:scale(1) rotate(30deg)}}

/* Four distinct celebration chapters, connected by the walking trail. */
.ay-journey.km-events{padding:0;overflow:hidden;background:#f8edda}
.ay-journey-header{position:relative;text-align:center;overflow:hidden;padding:76px 24px 70px;color:#ffefd0;background:radial-gradient(ellipse at 50% 0,#a34c5940,transparent 65%),linear-gradient(135deg,#341a2c,#671c36)}
.ay-journey-header:before,.ay-journey-header:after{content:"";position:absolute;width:320px;height:400px;border:1px solid #d1a45c26;border-radius:50% 50% 0 0;top:30px;left:50%;transform:translateX(-50%);pointer-events:none}
.ay-journey-header:after{width:360px;top:9px;height:440px}
.ay-journey-header .ay-eyebrow{color:#e2be79;margin-bottom:15px;font-size:11px}
.ay-journey-header h2{font-family:var(--km-font-cormorant),serif;font-size:clamp(40px,7vw,66px);font-weight:500;font-style:italic;line-height:1.08;color:#fff0d2;position:relative;z-index:1}
.ay-journey-header>p:last-of-type{font-size:22px;font-style:italic;color:#dfc6ac;margin-top:15px;position:relative}
.ay-journey-flourish{display:block;color:#d7af65;font-size:27px;margin-bottom:22px}
.ay-header-rule{display:block;width:80px;height:1px;background:#d7af65;margin:28px auto 0}
.ay-journey-background{padding:65px 30px 34px;background:radial-gradient(circle at 0 20%,#f1d59855,transparent 28%),radial-gradient(circle at 100% 70%,#e8b4ba22,transparent 35%),#f8edda}
.ay-journey .km-events__stage{position:relative;display:block;width:min(100%,1080px);padding:12px 0 0 83px;margin:0 auto;aspect-ratio:auto}
.ay-journey .km-events__svg{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;overflow:visible}
.ay-journey .km-events__path{fill:none;stroke:#b68a3b40;stroke-width:1;stroke-dasharray:3 8}
.ay-journey .foot-trail{z-index:1}
.ay-journey .trail-foot{width:11px}
.ay-journey .km-events__stop{position:relative;inset:auto;display:block;margin:0 0 65px;will-change:auto;z-index:2;opacity:1;transform:none}
.ay-journey .km-events__stop.reveal-item{opacity:1;transform:none}
.ay-journey-marker{position:absolute;top:58px;left:-74px;display:grid;place-items:center;width:44px;height:44px;border:1px solid #b58a43;border-radius:50%;background:#faf0da;color:#986b28;font-family:var(--km-font-cinzel),serif;font-size:16px;z-index:3;box-shadow:0 0 0 8px #f8edda;transition:background .4s,color .4s,transform .4s}
.ay-journey .is-current .ay-journey-marker{background:#7f223d;color:#fff1cc;border-color:#b88a3b;transform:scale(1.1)}
.ay-event-chapter{--card-ink:#fff1df;--card-muted:#e7c6cf;--card-accent:#e6bb74;--card-bg:#431a33}
.ay-haldi{--card-ink:#56321c;--card-muted:#77522d;--card-accent:#8b501e;--card-bg:#f6cf70}
.ay-wedding{--card-ink:#fff0d6;--card-muted:#e5bdab;--card-accent:#e8b776;--card-bg:#771f35}
.ay-reception{--card-ink:#fbf1d3;--card-muted:#c0d4b7;--card-accent:#d7b978;--card-bg:#153d35}
.ay-journey .km-events__card{position:relative;inset:auto;transform:none;width:100%;max-width:none;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(180px,.8fr);grid-template-areas:"body art";padding:0;overflow:hidden;text-align:left;color:var(--card-ink);background:radial-gradient(ellipse at 100% 0,#ffffff0c,transparent 60%),var(--card-bg);border:1px solid #bd985c;border-radius:24px 5px 24px 5px;box-shadow:0 14px 38px #3e1f1a17;transition:box-shadow .5s,transform .5s}
.ay-journey .km-events__card:before{content:"";position:absolute;inset:7px;border:1px solid #d7b47430;border-radius:18px 0 18px 0;pointer-events:none;z-index:2}
.ay-journey .is-current .km-events__card{box-shadow:0 21px 45px #4d1a2925,0 0 0 2px #c19a554d;transform:translateY(-3px)}
.ay-event-body{grid-area:body;position:relative;padding:39px 26px 36px 36px;z-index:2}
.ay-event-kicker{font-family:var(--km-font-marcellus),serif;font-size:10px;line-height:1.6;text-transform:uppercase;letter-spacing:.15em;color:var(--card-accent);margin-bottom:14px}
.ay-journey .km-events__name{font-family:var(--km-font-cormorant),serif;font-size:clamp(34px,4.5vw,48px);font-weight:600;letter-spacing:-.015em;line-height:1.04;color:var(--card-ink);margin:0;max-width:13ch}
.ay-event-description{font-family:var(--km-font-cormorant),serif;font-size:19px;font-style:italic;line-height:1.45;color:var(--card-muted);max-width:29ch;margin-top:14px}
.ay-event-schedule{display:grid;grid-template-columns:70px minmax(0,1fr);gap:18px;align-items:center;margin-top:25px}
.ay-date-badge{border:1px solid color-mix(in srgb,var(--card-accent) 60%,transparent);background:#ffffff08;text-align:center;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:10px 4px}
.ay-date-badge strong{font-family:var(--km-font-cinzel),serif;font-size:39px;line-height:1.05;font-weight:500;color:var(--card-accent)}
.ay-date-badge span{font-family:var(--km-font-marcellus),serif;font-size:11px;letter-spacing:.13em;color:var(--card-ink)}
.ay-date-badge small{font-size:13px;color:var(--card-muted)}
.ay-journey .km-events__when{font-family:var(--km-font-cormorant),serif;color:var(--card-ink);font-size:17px;font-weight:500;line-height:1.3;margin:0}
.ay-journey .ay-event-time{display:block;font-size:20px;font-style:italic;font-weight:600;margin-top:5px;color:var(--card-accent);line-height:1.2}
.ay-journey .km-events__venue{font-family:var(--km-font-cormorant),serif;color:var(--card-muted);font-size:17px;line-height:1.4;margin:9px 0 0}
.ay-event-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:26px}
.ay-journey .km-events__map,.ay-journey .ay-calendar{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;border:1px solid var(--card-accent);border-radius:0;padding:10px 13px;margin:0;background:var(--card-accent);color:var(--card-bg);font-family:var(--km-font-marcellus),serif;font-size:10px;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.ay-journey .km-events__map:before,.ay-journey .km-events__map:after{display:none}
.ay-journey .ay-calendar{color:var(--card-accent);background:transparent}
.ay-event-art{grid-area:art;position:relative;min-height:310px;display:flex;align-items:center;justify-content:center;isolation:isolate;color:var(--card-accent);padding:22px 22px 22px 0}
.ay-art-arch{position:absolute;inset:40px 20px 35px 0;border:1px solid #d3ae6644;border-radius:50% 50% 0 0;background:radial-gradient(ellipse at 50% 65%,#e2b76b16,transparent 65%);z-index:-1}
.ay-art-arch:after{content:"";position:absolute;inset:9px;border:1px solid #d3ae6622;border-radius:50% 50% 0 0}
.ay-event-art img,.ay-event-art svg{display:block;width:100%;height:260px;max-width:265px;max-height:270px;object-fit:contain;filter:drop-shadow(0 9px 11px #00000024)}
.ay-sangeeth .ay-event-art img{transform:rotate(-10deg) scale(1.05)}
.ay-haldi .ay-event-art img{transform:scale(1.1)}
.ay-haldi .ay-art-arch{border-color:#b2772f66;background:radial-gradient(ellipse,#fff1b971,transparent 75%)}
.ay-art-spark{position:absolute;color:var(--card-accent);opacity:.8;font-size:22px}
.ay-art-spark-one{top:22%;right:18%;font-size:15px}.ay-art-spark-two{bottom:20%;left:12%;font-size:25px}
@media(max-width:720px){
 .ay-journey-header{padding:54px 23px 50px}.ay-journey-header h2{font-size:43px}.ay-journey-header>p:last-of-type{font-size:20px;max-width:23ch;margin:13px auto 0}
 .ay-journey-background{padding:42px 16px 15px}.ay-journey .km-events__stage{padding-left:43px}
 .ay-journey .km-events__stop{margin-bottom:40px}
 .ay-journey-marker{left:-41px;top:31px;width:29px;height:29px;font-size:11px;box-shadow:0 0 0 5px #f8edda}
 .ay-journey .trail-foot{width:8px}
 .ay-journey .km-events__card{grid-template-columns:minmax(0,1fr);grid-template-areas:"art" "body";border-radius:21px 3px 21px 3px}
 .ay-event-art{min-height:0;height:164px;padding:14px 20px 0;margin:0 12px;border-bottom:1px solid #e2b76b25}
 .ay-event-art img,.ay-event-art svg{width:175px;height:155px;max-height:155px;max-width:180px}
 .ay-art-arch{inset:14px 38px 0;border-radius:100px 100px 0 0}.ay-art-arch:after{inset:7px}
 .ay-sangeeth .ay-event-art img{transform:rotate(-12deg) scale(1.13)}
 .ay-haldi .ay-event-art img{transform:scale(1.2)}
 .ay-art-spark-one{top:25%;right:14%}.ay-art-spark-two{bottom:20%;left:14%}
 .ay-event-body{padding:25px 22px 27px}
 .ay-event-kicker{font-size:9px;margin-bottom:11px;letter-spacing:.1em}
 .ay-journey .km-events__name{font-size:35px;max-width:none}
 .ay-event-description{font-size:18px;line-height:1.4;margin-top:12px}
 .ay-event-schedule{grid-template-columns:57px minmax(0,1fr);gap:12px;margin-top:21px}
 .ay-date-badge strong{font-size:32px}.ay-date-badge span{font-size:10px}.ay-date-badge small{font-size:12px}
 .ay-journey .km-events__when{font-size:16px}.ay-journey .ay-event-time{font-size:19px}
 .ay-journey .km-events__venue{font-size:16px;margin-top:7px}
 .ay-event-actions{gap:8px;margin-top:22px}.ay-journey .km-events__map,.ay-journey .ay-calendar{font-size:9px;padding:11px 10px;flex:1}
 .ay-date-panel{padding:26px 18px 22px}.ay-date-panel h2{font-size:35px}.ay-reveal-intro{font-size:18px}
 .ay-date-dialog.is-celebrating .ay-reveal-intro{font-size:23px}
}
@media(prefers-reduced-motion:reduce){
 .ay-date-dialog.is-celebrating .ay-scratch-date,.ay-reveal-sparkles i{animation:none}
 .ay-journey .is-current .km-events__card,.ay-journey .is-current .ay-journey-marker{transform:none}
}

.ay-journey .km-events__stage{padding-bottom:1px}.ay-journey .km-events__stop:last-child{margin-bottom:12px}

.ay-scratch-wrap{aspect-ratio:640/510}.ay-scratch-date>span.ay-reveal-day{line-height:1.1}.ay-scratch-date>span.ay-reveal-month{font-size:clamp(15px,4.1vw,21px);line-height:1.15}.ay-scratch-date>span.ay-reveal-time{font-size:clamp(18px,4.7vw,25px);line-height:1.15}.ay-scratch-date .ay-reveal-city{line-height:1.2}

#scratch-hint{margin:10px auto 16px;text-align:center}

.ay-honeypot{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}.km-rsvp__submit:disabled{opacity:.65;cursor:wait}#rsvp-status:not(:empty){padding:14px;border-radius:10px;background:#fff8e8;color:#61302d;line-height:1.6}

/* Bespoke event scenes and the interwoven AY identity. */
.ay-entry-mark{display:block;width:clamp(64px,19cqw,94px);height:auto;object-fit:contain;margin:0 auto 10px}
.ay-invitation .ay-monogram{display:block;width:246px;height:auto;aspect-ratio:1;margin:0 auto 20px;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}
.ay-invitation .ay-monogram:before,.ay-invitation .ay-monogram:after{display:none}
.ay-invitation .ay-monogram img{display:block;width:100%;height:auto;object-fit:contain}
.ay-footer-monogram{width:110px;margin:0 auto 26px;padding:5px;background:#fbefd6;border:1px solid #c4a15d;border-radius:50%;box-shadow:0 0 0 5px #d9af5b12}
.ay-footer-monogram img{display:block;width:100%;height:auto}
.ay-premium-chapter .km-events__card{grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr)}
.ay-premium-chapter .ay-premium-art{align-self:stretch;position:relative;min-height:430px;min-width:0;margin:0;padding:0;overflow:hidden;border-left:1px solid #d9b77455;background:#261a20}
.ay-premium-chapter .ay-premium-art img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:50% 55%;transform:none;filter:none;transition:transform 1.4s cubic-bezier(.2,.6,.3,1)}
.ay-premium-chapter .ay-premium-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#00000016,transparent 20%,transparent 85%,#00000010);pointer-events:none;z-index:1}
.ay-scene-frame{position:absolute;inset:13px;border:1px solid #f7d38b88;box-shadow:0 0 0 3px #2b1c2120;z-index:2;pointer-events:none}
.ay-haldi .ay-scene-frame{border-color:#fff5d5bd}
.ay-wedding-signature{padding:25px 26px 25px 8px;min-height:390px;background:radial-gradient(ellipse at 50% 45%,#d9b36b16,transparent 72%)}
.ay-wedding-crest{position:relative;width:min(100%,285px);padding:36px 17px 27px;background:radial-gradient(ellipse at 50% 40%,#fffdf4,#f3e3bd);border:1px solid #d2af67;border-radius:48% 48% 8px 8px;text-align:center;box-shadow:0 12px 32px #300d1c24}
.ay-wedding-crest:before{content:"";position:absolute;inset:7px;border:1px solid #aa803b60;border-radius:48% 48% 4px 4px;pointer-events:none}
.ay-wedding-signature .ay-wedding-crest img{display:block;position:relative;width:100%;height:auto;max-width:none;max-height:none;filter:none;transform:none}
.ay-crest-eyebrow,.ay-crest-date{display:block;color:#875a2b;font-family:var(--km-font-marcellus),serif;font-size:9px;letter-spacing:.19em;text-transform:uppercase;position:relative;z-index:1}
.ay-crest-eyebrow{margin-bottom:7px}.ay-crest-date{font-size:12px;letter-spacing:.16em;margin-top:10px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.ay-premium-chapter .km-events__card:hover .ay-event-scene{transform:scale(1.035)}}
@media(max-width:720px){
 .ay-entry-mark{width:clamp(60px,18cqw,78px);margin-bottom:7px}
 .ay-invitation .ay-monogram{width:214px;margin-bottom:17px}
 .ay-premium-chapter .km-events__card{grid-template-columns:minmax(0,1fr)}
 .ay-premium-chapter .ay-premium-art{height:255px;min-height:255px;border-left:0;border-bottom:1px solid #d7b36b88;margin:0;padding:0}
 .ay-premium-chapter .ay-premium-art img{width:100%;height:100%;max-width:none;max-height:none;object-position:50% 57%;transform:none}
 .ay-scene-frame{inset:10px}
 .ay-wedding-signature{height:280px;min-height:280px;margin:0;padding:16px 25px 0;border-bottom:1px solid #e2b76b25}
 .ay-wedding-crest{width:207px;padding:21px 13px 15px}
 .ay-wedding-signature .ay-wedding-crest img{width:100%;height:auto;max-height:none;max-width:none}
 .ay-crest-eyebrow{font-size:8px;margin-bottom:3px}.ay-crest-date{font-size:10px;margin-top:3px}
 .ay-footer-monogram{width:99px}
}
@media(prefers-reduced-motion:reduce){.ay-premium-chapter .ay-event-scene{transition:none}}

.ay-reception .km-events__venue{white-space:pre-line;overflow-wrap:anywhere}
