
.mt, .mt * { box-sizing: border-box; }
html, body { margin: 0; background: #FBF6EC; scrollbar-width: none; -webkit-text-size-adjust: 100%; }
body::-webkit-scrollbar { display: none; }
html.mt-locked, html.mt-locked body { overflow: hidden; }
:where(.mt) :where(p, h1, h2, h3) { margin: 0; }
.mt {
  --night: #171A33; --night-2: #262A52; --ivory: #FBF6EC; --paper: #F5EBDA; --ink: #2B2643; --soft: rgba(43,38,67,.68);
  --sindoor: #B5352A; --turmeric: #E3A23B; --gold: #C69C4E; --gold-l: #EBD3A0; --marigold: #E8A33A; --marigold-d: #D9632B;
  --serif: 'Cormorant Garamond', 'Cormorant', Georgia, serif; --display: 'Cinzel', 'Trajan Pro', Georgia, serif; --deva: 'Tiro Devanagari Sanskrit', 'Tiro Devanagari Hindi', serif; --sans: 'Marcellus', 'Cormorant Garamond', Georgia, serif;
  --pad: clamp(120px, 24vw, 210px);
  position: relative; color: var(--ink); background: var(--ivory); overflow-x: clip;
  font-family: var(--serif); font-weight: 400; line-height: 1.7; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
.mt-sfx { display: none; }
.mt .ln { display: block; }
.mt [data-key-uid] { overflow-wrap: anywhere; }
.mt svg path:not([fill]) { fill: none; }
.mt svg path { stroke-linecap: round; stroke-linejoin: round; }
.mt-eyebrow { font: 400 10.5px/1.6 var(--sans); letter-spacing: .46em; padding-left: .46em; text-transform: uppercase; color: var(--sindoor); }
.mt-h2 { margin-top: 18px; font: 400 clamp(26px, 6.4vw, 48px)/1.25 var(--display); letter-spacing: .04em; color: var(--ink); padding-bottom: .06em; }
.mt-sub { max-width: 34ch; margin: 20px auto 0; font-size: clamp(17px, 4.2vw, 20px); color: var(--soft); }
.mt-div { display: block; width: 150px; height: 16px; margin: 0 auto 44px; overflow: visible; }
.mt-div path { stroke: var(--gold); stroke-width: 1; } .mt-div circle { fill: var(--gold); }

/* ---------- opening: an unlit diya at night ---------- */
.mt-open { position: fixed; inset: 0; z-index: 50; display: flex; align-items: center; justify-content: center; cursor: pointer; outline: none; overflow: hidden;
  -webkit-tap-highlight-color: transparent; color: var(--gold-l);
  background: radial-gradient(1px 1px at 18% 22%, rgba(255,255,255,.55), transparent), radial-gradient(1px 1px at 72% 16%, rgba(255,255,255,.45), transparent),
    radial-gradient(1.4px 1.4px at 84% 64%, rgba(255,255,255,.4), transparent), radial-gradient(1px 1px at 30% 78%, rgba(255,255,255,.4), transparent),
    radial-gradient(1px 1px at 52% 34%, rgba(255,255,255,.3), transparent), radial-gradient(1.2px 1.2px at 9% 58%, rgba(255,255,255,.35), transparent),
    radial-gradient(80% 60% at 50% 55%, #23274A 0%, #171A33 70%); }
.mt-open.gone { display: none; }
.mt:not(.js) .mt-open { animation: mtNoScript .8s ease 6s forwards; }
@keyframes mtNoScript { to { opacity: 0; visibility: hidden; } }
.mt-open-glow { position: absolute; left: 50%; top: 50%; width: 175vmax; height: 175vmax; margin: -87.5vmax 0 0 -87.5vmax; will-change: transform; border-radius: 50%; transform: scale(0);
  background: radial-gradient(circle, #FFF3D6 0%, #F7DDAF 40%, #F2C98C 62%, rgba(242,201,140,0) 72%); pointer-events: none; }
.mt-halo { position: absolute; left: 50%; top: 18%; width: 150%; aspect-ratio: 1; margin-left: -75%; border-radius: 50%; pointer-events: none; opacity: 0;
  background: radial-gradient(circle, rgba(255,214,140,.55) 0%, rgba(255,190,100,.22) 34%, rgba(255,190,100,0) 66%); animation: mtBreath 3.4s ease-in-out infinite; }
.mt-open-diya { position: relative; }
.mt-open-diya .mt-diya { position: relative; }
.mt-flame path { transform-box: fill-box; transform-origin: 50% 100%; animation: mtFlicker 1.6s ease-in-out infinite; }
.mt-flame path + path { animation-duration: 1.1s; animation-delay: -.4s; }
@keyframes mtFlicker { 0%, 100% { transform: scale(1, 1) skewX(0deg); } 25% { transform: scale(.94, 1.06) skewX(-2deg); } 50% { transform: scale(1.04, .95) skewX(1.5deg); } 75% { transform: scale(.97, 1.03) skewX(-1deg); } }
@keyframes mtBreath { 0%, 100% { transform: scale(.92); } 50% { transform: scale(1.06); } }
.mt-oframe { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.mt-oframe path { fill: none; }
.mt-of-base { stroke: #E2C27E; stroke-width: 1.3; }
.mt-of-inner { stroke: rgba(217,183,110,.5); stroke-width: .8; }
.mt-of-glow2 { stroke: rgba(255,200,110,.16); stroke-width: 7; }
.mt-of-glint, .mt-of-glint2 { stroke-linecap: round; stroke-dasharray: .05 .95; opacity: 0; }
.mt-of-glint { stroke: #FFF6DC; stroke-width: 2.2; }
.mt-of-glint2 { stroke: rgba(255,214,140,.28); stroke-width: 5; }
.mt-open.shine .mt-of-glint, .mt-open.shine .mt-of-glint2 { opacity: 1; animation: mtRun 6.5s linear infinite; }
.mt-open.shine .mt-of-glint2 { animation-delay: -.08s; }
@keyframes mtRun { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
.mt-oc { --fi: 14px; position: absolute; width: 44px; height: 44px; pointer-events: none; }
.mt-oc svg { width: 100%; height: 100%; display: block; overflow: visible; filter: drop-shadow(0 0 4px rgba(255,205,120,.6)); }
.mt-oc path { fill: none; stroke: #E6C47C; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.mt-oc circle { fill: #F2D58F; }
.mt-oc-tl { left: calc(var(--fi) - 6px); top: calc(var(--fi) - 6px); } .mt-oc-tr { right: calc(var(--fi) - 6px); top: calc(var(--fi) - 6px); }
.mt-oc-bl { left: calc(var(--fi) - 6px); bottom: calc(var(--fi) - 6px); } .mt-oc-br { right: calc(var(--fi) - 6px); bottom: calc(var(--fi) - 6px); }
.mt-open-in { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 24px; }
.mt-open-top { font: 400 clamp(17px, 4.4vw, 21px)/1.6 var(--deva); color: var(--gold-l); }
.mt-open-diya { width: clamp(150px, 42vw, 220px); margin: clamp(40px, 8svh, 70px) 0 clamp(26px, 5svh, 40px); }
.mt-diya { display: block; width: 100%; height: auto; overflow: visible; }
.mt-diya path { stroke: var(--gold-l); stroke-width: 2; }
.mt-diya circle { fill: var(--gold-l); }
.mt-flame path { stroke: none !important; }
.mt-open-ini { display: flex; align-items: center; gap: 16px; font: 400 22px/1 var(--display); letter-spacing: .12em; color: var(--gold-l); }
.mt-open-ini i { width: 4px; height: 4px; border-radius: 50%; background: var(--gold); }
.mt-open-cta { margin-top: clamp(40px, 8svh, 70px); font: 400 10.5px/1 var(--sans); letter-spacing: .46em; padding-left: .46em; text-transform: uppercase; color: rgba(235,211,160,.8); animation: mtPulse 2.8s ease-in-out infinite; }

/* floating diyas and petals */
.mt-floats { position: fixed; inset: 0; pointer-events: none; z-index: 40; overflow: hidden; }
.mt-fall { position: absolute; left: 0; top: 0; pointer-events: none; will-change: transform; }
.mt-fall-petal { width: 12px; height: 15px; border-radius: 80% 0 80% 0; background: linear-gradient(135deg, #F6B9B0, #D9677A); }
.mt-fall-rose { width: 11px; height: 14px; border-radius: 80% 0 80% 0; background: linear-gradient(135deg, #E05A5A, #9E1F35); }
.mt-fall-leaf { width: 9px; height: 22px; border-radius: 0 100% 0 100%; background: linear-gradient(160deg, #94B26A, #4E6B3A); }
.mt-fall-marigold { width: 24px; height: 24px; }
.mt-fall-marigold svg { display: block; width: 100%; height: 100%; }
.mt-float { position: absolute; width: 34px; height: 30px; margin: -15px 0 0 -17px; }
.mt-float::before { content: ""; position: absolute; left: 50%; top: -6px; width: 9px; height: 15px; margin-left: -4.5px; border-radius: 50% 50% 50% 50% / 62% 62% 38% 38%;
  background: radial-gradient(circle at 50% 70%, #FFF6D8, #FFC75A 55%, #E8732A); box-shadow: 0 0 18px 6px rgba(255,190,90,.45); }
.mt-float::after { content: ""; position: absolute; left: 3px; right: 3px; bottom: 6px; height: 12px; border-radius: 0 0 50% 50% / 0 0 100% 100%; background: #B5602E; }

/* ---------- hero: dawn ---------- */
.mt-hero { position: relative; min-height: 100svh; display: flex; align-items: center; justify-content: center; overflow: hidden; isolation: isolate; text-align: center;
  background: linear-gradient(180deg, #F7DDAF 0%, #F9EBD2 30%, #FBF6EC 72%); padding: 80px clamp(46px, 10vw, 120px) clamp(150px, 22svh, 220px); }
.mt-sun { position: absolute; left: 50%; top: 50%; margin: calc(min(120vw, 760px) / -2) 0 0 calc(min(120vw, 760px) / -2); width: min(120vw, 760px); aspect-ratio: 1; z-index: -1; pointer-events: none; will-change: transform; }
.mt-sun::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle, rgba(255,214,150,.75) 0%, rgba(250,200,140,.35) 38%, rgba(251,246,236,0) 68%); }
.mt-frames { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.mt-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.mt-frame { position: absolute; top: clamp(14px, 2.6svh, 28px); height: calc(100% - 2 * clamp(14px, 2.6svh, 28px)); width: auto; aspect-ratio: 60 / 1300; overflow: hidden;
  animation: mtGlint 5s ease-in-out 4s infinite; }
.mt-frame-l { left: clamp(8px, 2.6vw, 34px); }
.mt-frame-r { right: clamp(8px, 2.6vw, 34px); transform: scaleX(-1); }
.mt-frame path { stroke: url(#mtFrG); stroke-width: 1.4; }
.mt-fr-lines path:nth-child(n+5) { stroke-width: .8; }
.mt-frame circle { fill: #D8B46A; }
@keyframes mtGlint { 0%, 100% { filter: drop-shadow(0 0 2px rgba(214,170,90,.25)); } 50% { filter: drop-shadow(0 0 7px rgba(240,200,120,.6)); } }
.mt-hero-in { position: relative; z-index: 1; width: min(100%, 760px); display: flex; flex-direction: column; align-items: center; }
.mt-blessing { font: 400 clamp(15px, 3.8vw, 18px)/1.6 var(--deva); color: var(--sindoor); }
.mt-verse { margin-top: 14px; max-width: 34ch; font: 400 clamp(15px, 3.9vw, 19px)/1.8 var(--deva); color: var(--soft); }
.mt-invite { margin-top: clamp(30px, 6svh, 50px); font: italic 400 clamp(17px, 4.2vw, 21px)/1.4 var(--serif); color: var(--soft); }
.mt-names { margin: clamp(14px, 3svh, 24px) 0 0; width: 100%; display: flex; flex-direction: column; align-items: center; font-weight: 400; }
.mt-name { display: block; width: 100%; line-height: 1; }
.mt-fit { display: inline-block; white-space: nowrap; font: 400 clamp(40px, min(12.4vw, 8.4svh), 98px)/1.18 var(--display); letter-spacing: .05em; color: var(--ink); padding: 0 .04em .06em .09em; }
.mt-amp { display: block; margin: .18em 0 .22em; font: italic 400 clamp(26px, min(7vw, 5svh), 46px)/1 var(--serif); color: var(--sindoor); }
.mt-ask { margin-top: clamp(22px, 3.6svh, 32px); max-width: 30ch; font: italic 400 clamp(18px, 4.4vw, 22px)/1.6 var(--serif); color: var(--soft); }
.mt-hdate { margin-top: clamp(30px, 5svh, 44px); display: flex; align-items: center; gap: 16px; font: 400 clamp(11px, 2.9vw, 13px)/1.4 var(--sans); letter-spacing: .4em; padding-left: .4em; text-transform: uppercase; color: var(--ink); }
.mt-hdate i, .mt-mala-my i { width: 4px; height: 4px; border-radius: 50%; background: var(--sindoor); flex: none; }
.mt-city { margin-top: 12px; font: 400 clamp(10px, 2.6vw, 11.5px)/1.4 var(--sans); letter-spacing: .38em; padding-left: .38em; text-transform: uppercase; color: var(--gold); }
.mt-lotus-wrap { position: absolute; left: 0; right: 0; bottom: clamp(18px, 4svh, 44px); display: flex; justify-content: center; pointer-events: none; z-index: 1; }
.mt-lotus { width: clamp(150px, 42vw, 230px); height: auto; overflow: visible; filter: drop-shadow(0 0 5px rgba(232,180,90,.35)); }
.mt-lotus path { stroke: url(#mtLotusG); stroke-width: 1.5; }
.mt-lotus circle { fill: #D9B46A; }
.mt-lotus-wrap.alive .mt-lotus { animation: mtFloat 5.5s ease-in-out infinite; }
@keyframes mtFloat { 0%, 100% { translate: 0 0; } 50% { translate: 0 -5px; } }

/* ---------- the bow ---------- */
.mt-bow-sec { position: relative; background: #07080F; text-align: center; color: var(--ivory); }
.mt-bow-pin { position: relative; min-height: 100svh; overflow: hidden;
  background: radial-gradient(70% 55% at 50% 50%, #2B2348 0%, #15152C 52%, #07080F 100%); }
.mt-dusk { height: clamp(140px, 26svh, 260px); background: linear-gradient(180deg, var(--ivory) 0%, #E9D9C4 22%, #6F5E78 58%, #1C1A33 82%, #07080F 100%); }
.mt-dawn { height: clamp(140px, 26svh, 260px); background: linear-gradient(180deg, #07080F 0%, #1C1A33 18%, #6F5E78 42%, #E9D9C4 78%, var(--ivory) 100%); }
.mt-bow-fx { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 3; }
.mt-bow-flash { position: absolute; inset: 0; z-index: 5; pointer-events: none; opacity: 0;
  background: radial-gradient(circle at 50% 52%, #FFFDF4 0%, #FFE9B8 30%, rgba(255,214,150,.6) 58%, rgba(255,214,150,0) 86%); }
.mt-bow-shake { position: relative; z-index: 2; min-height: 100svh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 80px 24px; }
.mt-bow-sec .mt-eyebrow { color: var(--gold); }
.mt-bow-sec .mt-h2 { color: #F6E7C8; font-size: clamp(30px, 7.6vw, 62px); letter-spacing: .06em; }
.mt-bow-wrap { position: relative; width: min(128vw, 940px); flex: none; margin: clamp(30px, 6svh, 64px) 0 clamp(26px, 5svh, 48px); will-change: transform; }
.mt-bow-aura { position: absolute; left: 6%; right: 6%; top: -30%; bottom: -60%; pointer-events: none; opacity: 0; will-change: opacity;
  background: radial-gradient(50% 40% at 50% 46%, rgba(255,206,130,.42) 0%, rgba(255,170,80,.16) 45%, rgba(255,170,80,0) 75%); }
.mt-bow { display: block; width: 100%; height: auto; overflow: visible; }
.mt-bow path { stroke: #EBCB82; stroke-width: 1.9; }
.mt-bow .mt-string { stroke: #FFF2D2; stroke-width: 1.3; }
.mt-bow-glow { fill: rgba(232,163,58,0); }
.mt-bow-ring { position: absolute; left: 50%; top: 62.5%; width: 110px; height: 110px; margin: -55px 0 0 -55px; border-radius: 50%; opacity: 0; pointer-events: none;
  border: 2px solid rgba(255,232,186,.95); box-shadow: 0 0 34px rgba(255,206,130,.8), inset 0 0 26px rgba(255,206,130,.55); }
.mt-bow-wrap.tense { animation: mtTense .09s linear infinite; }
@keyframes mtTense { 0% { translate: 0 0; } 25% { translate: 1px -1px; } 50% { translate: -1px 1px; } 75% { translate: 1px 1px; } 100% { translate: 0 0; } }
.mt-steps { width: min(100%, 640px); display: grid; gap: 16px; }
.mt-step { text-wrap: balance; font: 400 clamp(20px, 5vw, 30px)/1.48 var(--serif); color: rgba(251,246,236,.92); }
.mt-step-final { font-size: clamp(25px, 6.4vw, 42px); line-height: 1.32; color: #F6D58E; }
.mt.anim .mt-steps { gap: 0; min-height: 6.4em; }
.mt.anim .mt-step { grid-area: 1 / 1; opacity: 0; }

/* ---------- your story ---------- */
.mt-note { background: var(--ivory); text-align: center; padding: clamp(40px, 8svh, 80px) 28px var(--pad); }
.mt-note-text { max-width: 28ch; text-wrap: balance; margin: 0 auto; font: italic 400 clamp(21px, 5vw, 32px)/1.5 var(--serif); color: var(--ink); }

/* ---------- varmala ---------- */
.mt-mala { background: linear-gradient(180deg, var(--ivory) 0%, #F8E8CC 50%, var(--ivory) 100%); text-align: center; padding: var(--pad) 24px; display: flex; flex-direction: column; align-items: center; }
.mt-mala-art { position: relative; width: min(84vw, 430px); aspect-ratio: 400 / 470; margin: clamp(34px, 6svh, 56px) 0 clamp(20px, 4svh, 34px); container-type: inline-size; }
.mt-garland { display: block; width: 100%; height: 100%; overflow: visible; }
.mt-mg-a circle { fill: var(--marigold); } .mt-mg-b circle { fill: var(--marigold-d); }
.mt-garland .mt-core { fill: #B5352A; }
.mt-leaf path { stroke: #5F7A4E; stroke-width: 1.4; }
.mt-tassel path { stroke: var(--gold); stroke-width: 1.4; }
.mt-garland .mt-tb { fill: var(--marigold-d); }
.mt-mala-in { position: absolute; left: 0; right: 0; top: 0; height: 85.1%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.4cqi; }
.mt-mala-day { font: 400 4.6cqi/1.2 var(--sans); letter-spacing: .3em; padding-left: .3em; text-transform: uppercase; color: var(--sindoor); }
.mt-mala-date { font: 400 21cqi/1.05 var(--display); color: var(--ink); }
.mt-mala-month { font: 400 6.6cqi/1.1 var(--display); letter-spacing: .14em; padding-left: .14em; color: var(--ink); }
.mt-mala-year { font: 400 4.4cqi/1.2 var(--sans); letter-spacing: .4em; padding-left: .4em; color: var(--gold); }
.mt-time { font: 400 11px/1.4 var(--sans); letter-spacing: .4em; padding-left: .4em; text-transform: uppercase; color: var(--soft); }
.mt-time span { color: var(--ink); }

/* ---------- kohbar timeline ---------- */
.mt-kohbar { position: relative; background: var(--ivory); padding: 0 24px; }
.mt-band { height: 16px; background: url(../assets/band.svg) 50% 0 / 24px 16px repeat-x; opacity: .85; }
.mt-kohbar-head { text-align: center; padding: var(--pad) 0 clamp(60px, 10svh, 100px); }
.mt-timeline { position: relative; max-width: 980px; margin: 0 auto; padding-bottom: var(--pad); }
.mt-river { position: absolute; left: 4px; top: 0; bottom: var(--pad); width: 40px; height: calc(100% - var(--pad)); }
.mt-river path { stroke: var(--gold); stroke-width: 1.4; }
.mt-ev { position: relative; padding: 0 0 clamp(80px, 14svh, 130px) 64px; }
.mt-ev:last-child { padding-bottom: 0; }
.mt-ev-dot { position: absolute; left: 18px; top: 46px; width: 12px; height: 12px; border-radius: 50%; background: var(--ivory); border: 1px solid var(--sindoor); box-shadow: 0 0 0 4px var(--ivory); }
.mt-ev-dot::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--sindoor); }
.mt-ev-motif { width: 96px; height: 96px; margin-bottom: 20px; }
.mt-motif { display: block; width: 100%; height: 100%; overflow: visible; }
.mt-motif path { stroke: var(--sindoor); stroke-width: 1.6; }
.mt-motif circle { fill: var(--sindoor); }
.mt-ev-name { font: 400 clamp(26px, 6.6vw, 40px)/1.2 var(--display); letter-spacing: .05em; color: var(--ink); padding-bottom: .06em; }
.mt-ev-when { margin-top: 12px; font: 400 clamp(10.5px, 2.8vw, 12px)/1.6 var(--sans); letter-spacing: .24em; text-transform: uppercase; color: var(--ink); }
.mt-ev-where { margin-top: 6px; font: italic 400 clamp(17px, 4.2vw, 21px)/1.5 var(--serif); color: var(--soft); }
.mt-band-b { margin: 0 -24px; }

/* ---------- venue: Ayodhya at dusk ---------- */
.mt-venue { position: relative; text-align: center; color: var(--ink); padding-top: var(--pad);
  background: linear-gradient(180deg, var(--ivory) 0%, #F6DDBB 22%, #E7AE86 40%, #9C6A79 58%, #3A3561 76%, #1D2040 92%, #171A33 100%); }
.mt-venue-copy { padding: 0 28px; }
.mt-addr { max-width: 22ch; margin: 26px auto 0; font: 400 clamp(25px, 6vw, 42px)/1.3 var(--serif); color: var(--ink); }
.mt-venue-art { margin-top: clamp(70px, 14svh, 140px); display: flex; justify-content: center; overflow: hidden; }
.mt-ghat { display: block; width: min(130vw, 1100px); height: auto; overflow: visible; flex: none; }
.mt-temple path { stroke: #F3DDB0; stroke-width: 1.3; opacity: .9; }
.mt-reflect path { stroke: rgba(243,221,176,.35); stroke-width: 1.2; }
.mt-sd-bowl { fill: #E2B07A; stroke: none; }
.mt-sd-flame { fill: #FFD27A; stroke: none !important; }
.mt-sd-glow { fill: rgba(255,186,84,.28); filter: blur(2px); }

/* ---------- close: night ---------- */
.mt-close { position: relative; min-height: 100svh; display: flex; align-items: center; justify-content: center; text-align: center; color: var(--ivory); padding: clamp(90px, 16svh, 160px) 28px var(--pad);
  background: radial-gradient(1px 1px at 14% 18%, rgba(255,255,255,.5), transparent), radial-gradient(1px 1px at 82% 12%, rgba(255,255,255,.4), transparent),
    radial-gradient(1.2px 1.2px at 66% 40%, rgba(255,255,255,.35), transparent), radial-gradient(1px 1px at 26% 62%, rgba(255,255,255,.35), transparent),
    radial-gradient(1px 1px at 90% 76%, rgba(255,255,255,.35), transparent), #171A33;
  cursor: pointer; -webkit-tap-highlight-color: transparent; }
.mt-close-in { max-width: 640px; }
.mt-close-verse { max-width: 34ch; margin: 0 auto; font: 400 clamp(18px, 4.6vw, 24px)/1.8 var(--deva); color: var(--gold-l); }
.mt-kalash { width: 92px; height: 92px; margin: clamp(46px, 8svh, 70px) auto; }
.mt-kalash path { stroke: var(--gold); stroke-width: 1.6; } .mt-kalash circle { fill: var(--gold); }
.mt-close .mt-eyebrow { color: var(--gold); }
.mt-bless { max-width: 32ch; margin: 20px auto 0; font: 400 clamp(18px, 4.4vw, 23px)/1.7 var(--serif); color: rgba(251,246,236,.86); }
.mt-await { margin-top: clamp(56px, 10svh, 90px); font: 400 10.5px/1.6 var(--sans); letter-spacing: .42em; padding-left: .42em; text-transform: uppercase; color: var(--gold); }
.mt-family { margin-top: 16px; font: 400 clamp(22px, 5.6vw, 38px)/1.35 var(--display); letter-spacing: .04em; color: var(--ivory); }
.mt-foot { margin-top: clamp(56px, 10svh, 90px); font: 400 10.5px/1 var(--sans); letter-spacing: .42em; padding-left: .42em; text-transform: uppercase; color: rgba(235,211,160,.6); }
.mt-tapnote { margin-top: 26px; font: 400 10px/1 var(--sans); letter-spacing: .38em; text-transform: uppercase; color: rgba(235,211,160,.45); }

/* ---------- wider screens ---------- */
@media (min-width: 900px) {
  .mt-river { left: calc(50% - 20px); }
  .mt-ev { width: 50%; padding-left: 0; }
  .mt-ev-l { padding-right: 70px; text-align: right; }
  .mt-ev-l .mt-ev-motif { margin-left: auto; }
  .mt-ev-r { margin-left: 50%; padding-left: 70px; }
  .mt-ev-l .mt-ev-dot { left: auto; right: -6px; }
  .mt-ev-r .mt-ev-dot { left: -6px; }
  .mt-ev + .mt-ev { margin-top: -40px; }
}
@media (max-height: 520px) and (orientation: landscape) {
  .mt { --pad: 90px; }
  .mt-hero { padding: 40px 24px 60px; }
  .mt-names { flex-direction: row; justify-content: center; align-items: baseline; gap: .4em; margin-top: 8px; }
  .mt-name { width: auto; }
  .mt-fit { font-size: clamp(30px, 5.6vw, 58px); }
  .mt-amp { margin: 0; }
  .mt-verse, .mt-invite { display: none; }
  .mt-hdate { margin-top: 16px; }
  .mt-lotus-wrap { display: none; }
  .mt-open-diya { width: 120px; margin: 18px 0 14px; }
  .mt-open-cta { margin-top: 18px; }
  .mt-bow-shake { padding: 24px 60px; }
  .mt-bow-wrap { width: min(70vw, 640px); margin: 12px 0; }
  .mt-step-final { font-size: 24px; }
  .mt-hero { padding-left: 60px; padding-right: 60px; }
  .mt-mala-art { width: min(56svh * .85, 300px); }
  .mt-bow-pin .mt-h2 { font-size: 30px; margin-top: 6px; }
  .mt-step { font-size: 18px; }
  .mt-steps { width: min(100%, 720px); }
  .mt.anim .mt-steps { min-height: 3.2em; }
}

@keyframes mtLine { 0% { transform: scaleY(0); opacity: 1; } 60% { transform: scaleY(1); opacity: 1; } 100% { transform: scaleY(1); opacity: 0; } }
@keyframes mtPulse { 0%, 100% { opacity: .45; } 50% { opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
  .mt *, .mt *::before, .mt *::after { animation: none !important; transition-duration: .01ms !important; }
}
