:root{--paper:#f7f3eb;--paper-light:#fffcf7;--sand:#eee7db;--ink:#3a2c29;--muted:#766b61;--red:#8c2e30;--red-deep:#632426;--gold:#b08d57;--sage:#657460;--line:#dcd2c3;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--hindi:'Noto Serif Devanagari',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{display:block;max-width:100%}svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h2{font-family:var(--serif);font-size:clamp(43px,4.6vw,62px);line-height:1.08;letter-spacing:-1.2px}h2 em{font-weight:400;color:var(--red)}h3{font-family:var(--serif)}[hidden]{display:none!important}.svg-definitions{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.icon{width:19px;height:19px;flex:none}.section-wrap{max-width:1232px;margin:0 auto;padding-left:40px;padding-right:40px}.eyebrow{font-size:10px;letter-spacing:1.9px;text-transform:uppercase;line-height:1.8;font-weight:600;color:var(--red)}.skip-link{position:fixed;top:10px;left:10px;z-index:90;padding:12px 18px;background:var(--red);color:white;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.button{min-height:49px;display:inline-flex;align-items:center;justify-content:center;gap:11px;border:1px solid transparent;border-radius:5px;padding:13px 21px;font-size:12px;font-weight:600;line-height:1.5;transition:background .2s,box-shadow .2s,transform .2s}.button-red{background:var(--red);color:#fff9ee}.button-red:hover{background:var(--red-deep);box-shadow:0 5px 14px #6324261c;transform:translateY(-1px)}.button-quiet{background:transparent;color:var(--ink);border-color:transparent;padding-left:17px;padding-right:17px}.button-quiet:hover{background:#e9e1d450}.button-outline{background:transparent;border-color:#b9a896;color:var(--ink)}.button-outline:hover{background:var(--sand)}.text-link{background:transparent;display:inline-flex;align-items:center;gap:14px;min-height:44px;padding:9px 0;color:var(--ink);border-bottom:1px solid var(--line);font-size:13px;text-align:left;justify-content:space-between}.text-link:hover{color:var(--red);border-color:var(--red)}

/* A quiet masthead, like the top edge of fine stationery. */
.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{max-width:1360px;margin:auto;padding:19px 48px;display:flex;justify-content:space-between;align-items:center;gap:32px;min-height:86px}.wordmark{display:inline-flex;align-items:center;font-family:var(--serif);font-size:35px;color:var(--red);line-height:1;white-space:nowrap}.wordmark>span:first-child{font-size:21px;font-style:italic;margin:0 3px}.wordmark-rule{height:24px;width:1px;background:var(--line);margin:0 19px}.wordmark small{font-family:var(--sans);color:var(--muted);font-size:10px;letter-spacing:2px}.desktop-nav{display:flex;gap:35px}.desktop-nav a{font-size:12px;color:var(--muted);padding:8px 0;transition:color .2s}.desktop-nav a:hover{color:var(--red)}.header-rsvp{display:flex;gap:14px;align-items:center;min-height:44px;font-size:12px;color:var(--red);font-weight:600}.header-rsvp .icon{width:17px;height:17px}

/* The first screen answers who, when and where. */
.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:82px;align-items:center;padding-top:47px;padding-bottom:62px}.hero-copy{background:var(--paper);padding:10px 0 8px;animation:arrive .6s ease-out both}.invocation{display:flex;align-items:center;gap:12px;margin-bottom:26px}.ganesha-art{width:38px;height:57px;background-image:url('assets/invitation-1.jpg');background-size:118.4px 166.944px;background-position:-40.7px -14.8px;filter:grayscale(1) contrast(2.4) invert(1);mix-blend-mode:multiply;opacity:.75}.invocation p{font-family:var(--serif);font-size:16px;line-height:1.2;font-style:italic;color:#87704e}.hero-copy>.eyebrow{font-size:9px;letter-spacing:1.7px;color:var(--muted);margin-bottom:20px}.hero h1{display:flex;flex-direction:column;align-items:flex-start;font-family:var(--serif);font-weight:500;font-size:clamp(90px,8.7vw,121px);line-height:.9;letter-spacing:-4.5px;color:var(--red);margin-left:-4px}.hero h1>span{display:block}.hero h1 .second-name{margin-top:10px;letter-spacing:-3.8px}.hero h1 i{font-size:.64em;font-weight:400;letter-spacing:-2px;margin-right:6px;color:#9b7a52}.hero-sentiment{font-family:var(--serif);font-size:24px;line-height:1.4;margin-top:23px;color:#766457}.hero-details{border-top:1px solid var(--line);padding-top:23px;margin-top:25px;line-height:1.75}.hero-details p:first-child{font-size:13px;font-weight:600;color:var(--ink);display:flex;flex-wrap:wrap;gap:7px}.hero-details p+p{font-size:12px;color:var(--muted);margin-top:4px}.hero-details p+p span{margin:0 4px}.detail-dot{color:var(--gold)}.hero-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:23px}.days-note{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.2px;color:var(--muted);margin-top:22px}.small-star{color:var(--gold);font-size:11px}.hero-art{margin:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;animation:arrive .9s ease-out both}.art-frame{position:relative;isolation:isolate;overflow:hidden;border-radius:3px;border:1px solid #bba37f4d}.art-frame img{width:100%;height:auto;object-fit:cover;aspect-ratio:3/4}.art-inscription{position:absolute;top:28%;left:50%;transform:translateX(-50%);text-align:center;color:#8c3b36;width:90%;opacity:.88}.art-inscription>span{font-family:var(--hindi);font-size:29px;letter-spacing:.7px}.art-inscription svg{width:30px;height:23px;margin:16px auto 0;stroke-width:1;color:#a48355}.hero-art figcaption{display:flex;justify-content:space-between;gap:12px;font-size:8px;letter-spacing:1.25px;color:var(--muted);padding-top:14px}@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* The people who make the invitation. */
.family-section{background:var(--sand);border-top:1px solid #ded4c4;border-bottom:1px solid #ded4c4}.family-inner{padding-top:75px;padding-bottom:75px;display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.family-intro h2{font-size:52px;margin-top:17px}.family-intro>p:last-child{font-size:14px;max-width:370px;line-height:1.9;color:var(--muted);margin-top:24px}.family-intro strong{font-weight:500;color:var(--ink)}.family-names{padding-left:40px;border-left:1px solid #cbbda68c}.family-names .eyebrow{font-size:9px;letter-spacing:1.5px;color:#76644e}.family-names h3{font-size:30px;line-height:1.3;letter-spacing:-.2px;margin-top:11px}.family-names h3 span{font-style:italic;color:#9b7b50}.family-divider{display:flex;align-items:center;gap:14px;max-width:260px;margin:20px 0;color:var(--gold)}.family-divider svg{width:26px;height:22px;stroke-width:1.2}.family-divider span{width:68px;height:1px;background:#c7b7998c}

/* A programme instead of a maze of filters and cards. */
.celebrations{padding-top:90px;padding-bottom:84px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:43px}.section-heading h2{margin-top:13px;font-size:53px;max-width:670px}.section-heading>p{font-size:13px;color:var(--muted);line-height:1.85;padding-bottom:4px;max-width:300px}.programme{border-top:1px solid var(--line)}.event-row{display:grid;grid-template-columns:100px 1.1fr 1fr;gap:40px;align-items:center;padding:34px 28px;border-bottom:1px solid var(--line)}.event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-right:24px;border-right:1px solid var(--line);font-size:10px;letter-spacing:1.1px;color:var(--muted);line-height:1.5}.event-weekday{font-size:10px}.event-number{font-family:var(--serif);font-size:71px;line-height:1.05;letter-spacing:-2px;color:var(--ink);margin:3px 0}.event-name .eyebrow{font-size:9px;letter-spacing:1.1px;display:flex;align-items:center;gap:8px;color:var(--muted)}.ceremony-dot{display:inline-block;width:6px;height:6px;background:var(--gold);border-radius:50%;flex:none}.sage-dot{background:var(--sage)}.marigold-dot{background:#bf923d}.event-name h3{font-size:47px;line-height:1.16;letter-spacing:-.7px;margin:6px 0 9px}.timing-link{font-size:12px;color:var(--muted);line-height:1.6;display:inline-flex;gap:7px;align-items:center;min-height:30px}.timing-link:hover{color:var(--red);text-decoration:underline}.event-location>p{font-size:15px;font-weight:500;line-height:1.6}.event-location>span{font-size:12px;color:var(--muted);display:block;margin-top:4px}.event-actions{display:flex;gap:23px;margin-top:18px}.event-actions a{min-height:40px;display:flex;align-items:center;gap:7px;font-size:12px;color:var(--red);border-bottom:1px solid #8c2e3033}.event-actions a:hover{border-color:currentColor}.event-actions .icon{width:16px;height:16px}.event-wedding{border:0;border-radius:6px;background:var(--red);color:#fcf4e7;margin-top:23px;padding-top:36px;padding-bottom:36px;box-shadow:0 7px 18px #6324260a}.event-wedding .event-date{border-color:#f1d9b23d;color:#eadac7}.event-wedding .event-number{color:#fff4e4}.event-wedding .event-name .eyebrow{color:#e9d1b7}.event-wedding .event-location>span{color:#e3cbb6}.event-wedding .event-actions a{color:#fff3e2;border-color:#f4debd5c}.event-wedding h3{color:#fff4e4}.wedding-time{font-size:14px;letter-spacing:.5px;font-weight:500;color:#fbecd6}.programme-note{font-size:11px;color:var(--muted);max-width:750px;margin:22px 0 0;line-height:1.85}

/* Clear, practical destination information. */
.venue-section{background:#f0eadf;padding:78px 0 83px;border-top:1px solid #e5dccd;border-bottom:1px solid #e5dccd}.venue-section .section-heading{margin-bottom:34px}.venue-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.venue-card{background:var(--paper-light);border:1px solid #d9cdbc;padding:31px 32px 30px;border-radius:6px;display:flex;flex-direction:column}.venue-card-top{display:flex;align-items:center;justify-content:space-between;color:#9b7c4f}.venue-label{font-size:10px;letter-spacing:1.4px;font-weight:600}.venue-card-top .icon{width:22px;height:22px;stroke-width:1.3}.venue-card h3{font-size:40px;line-height:1.14;letter-spacing:-.7px;color:var(--ink);margin-top:23px}.venue-card>p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:13px;margin-bottom:29px}.venue-bottom{padding-top:21px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-top:auto}.venue-bottom>p{font-size:11px;line-height:1.85;color:var(--muted)}.venue-bottom>p strong{font-weight:600;color:var(--ink)}.venue-bottom>p a{text-decoration:underline;text-underline-offset:3px}.venue-bottom .button{font-size:11px;padding:12px 16px;min-height:46px;gap:9px}

/* A single, meaningful interactive ritual. */
.blessing-section{background:var(--red-deep);color:#f5e9d9;overflow:hidden}.blessing-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-top:63px;padding-bottom:61px}.blessing-copy .eyebrow{color:#cfad79;font-size:9px;letter-spacing:1.6px}.blessing-copy h2{font-size:52px;margin-top:18px;color:#f9eedf}.blessing-copy h2 em{color:#e2c39a}.blessing-copy>p:last-child{margin-top:23px;font-size:14px;line-height:1.9;color:#dcc1a8}.blessing-action{text-align:center;position:relative}.diya-button{position:relative;width:205px;height:184px;padding:8px;display:block;margin:0 auto 12px;background:transparent;border-radius:50%;transition:transform .25s}.diya-button:hover{transform:scale(1.035)}.diya-button:focus-visible{outline-color:#e2c39a}.diya{width:100%;height:100%;position:relative;z-index:1;stroke:none;overflow:visible}.diya-flame{opacity:0;transform:scaleY(.35);transform-origin:100px 110px;transition:opacity .55s,transform .55s}.diya-halo{position:absolute;inset:-90px;background:radial-gradient(circle,#f5ba5040,transparent 65%);opacity:0;transition:opacity 1.5s;pointer-events:none}.diya-button.lit .diya-flame{opacity:1;transform:scaleY(1);animation:flicker 2.4s ease-in-out infinite alternate}.diya-button.lit .diya-halo{opacity:1}.diya-prompt{font-size:12px;color:#e2c49c;position:relative;z-index:1;min-height:25px}.diya-prompt.blessed{font-family:var(--serif);font-size:22px;font-style:italic;color:#f3ddb9}@keyframes flicker{from{transform:rotate(-1deg) scaleY(.98);filter:drop-shadow(0 0 4px #edba5f80)}to{transform:rotate(1deg) scaleY(1.02);filter:drop-shadow(0 0 8px #edba5f80)}}

/* An RSVP is a short conversation with the family. */
.rsvp-section{padding-top:90px;padding-bottom:95px;display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:start}.rsvp-intro{padding-top:15px}.rsvp-intro h2{font-size:62px;margin-top:16px}.rsvp-intro>p:last-of-type{color:var(--muted);font-size:14px;line-height:1.9;margin-top:26px}.family-contacts{margin-top:44px;scroll-margin-top:30px}.family-contacts h3{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#8d7759;margin-bottom:13px}.contact{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid var(--line)}.contact:last-child{border-bottom:1px solid var(--line)}.contact>span:first-child{display:flex;flex-direction:column;gap:4px}.contact strong{font-family:var(--serif);font-size:27px;font-weight:500;line-height:1.3}.contact>span:first-child>span{font-size:12px;color:var(--muted);letter-spacing:.4px}.call-icon{width:43px;height:43px;display:grid;place-items:center;border:1px solid #cbbca7;border-radius:50%;flex:none;color:var(--red);transition:background .2s}.call-icon .icon{width:16px;height:16px}.contact:hover .call-icon{background:var(--sand)}.rsvp-form-card{background:var(--paper-light);border:1px solid #d9cdbc;border-radius:7px;padding:29px 30px 27px;box-shadow:0 9px 25px #4c372106}.form-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.form-heading h3{font-size:30px;line-height:1.2;letter-spacing:-.3px}.form-heading .icon{color:var(--gold);width:23px;height:23px;stroke-width:1.2}.form-row{display:grid;grid-template-columns:1.1fr 1fr;gap:15px}.form-row.single{grid-template-columns:1fr}label,fieldset legend{display:block;font-size:12px;font-weight:500;color:var(--ink);margin-bottom:8px;line-height:1.5}label>span[aria-hidden]{color:var(--red)}input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;background:#fffefa;border:1px solid #cfc1ad;border-radius:4px;color:var(--ink);font-size:15px;padding:12px;line-height:1.5;min-height:49px;box-shadow:none}input::placeholder,textarea::placeholder{color:#938b7f;opacity:1}input:focus,select:focus,textarea:focus{border-color:var(--red)}textarea{resize:vertical;min-height:110px}select{padding-right:30px;cursor:pointer}fieldset{margin:24px 0;padding:0;border:0}fieldset legend{margin-bottom:10px}.attendance-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.attendance-options label{display:flex;align-items:center;gap:9px;min-height:49px;border:1px solid #d8cdbd;border-radius:4px;background:#fbf7f0;padding:11px 12px;cursor:pointer;margin:0;font-size:12px;font-weight:400}.attendance-options label:has(input:checked){border-color:var(--red);background:#8c2e3006;color:var(--red)}input[type=radio],input[type=checkbox]{accent-color:var(--red);height:16px;width:16px;flex:none;cursor:pointer;margin:0}.event-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.event-choices label{padding:12px 10px;display:flex;align-items:flex-start;gap:8px;border:1px solid #d8cdbd;border-radius:4px;cursor:pointer;margin:0;font-size:12px;font-weight:500;transition:border .2s,background .2s}.event-choices label:has(input:checked){border-color:var(--red);background:#8c2e3006;color:var(--red)}.event-choices input{margin-top:2px}.event-choices small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.field-error{color:var(--red);font-size:12px;margin:10px 0 0}.contact-field{margin-top:3px}.recipient-label{font-size:12px;font-weight:500;color:var(--ink);margin:0 0 8px;line-height:1.5}.rsvp-recipient{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:65px;padding:12px 14px;border:1px solid #cfc1ad;border-radius:4px;background:#fffefa;color:var(--ink);transition:border-color .2s,background .2s}.rsvp-recipient:hover{border-color:var(--red);background:#fbf7f0}.rsvp-recipient>span:first-child{display:grid;gap:3px;min-width:0}.rsvp-recipient strong{font-size:14px;font-weight:600;line-height:1.6}.rsvp-recipient>span:first-child>span{font-size:13px;line-height:1.6;white-space:nowrap;color:var(--muted)}.recipient-channel{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--red);white-space:nowrap}.recipient-channel .icon{width:14px;height:14px}.wishes-details{margin-top:20px;color:var(--muted)}.wishes-details summary{font-size:12px;min-height:40px;cursor:pointer;line-height:1.6;padding:7px 0}.wishes-details summary>span{color:#8e8578;font-size:11px}.wishes-details textarea{margin-top:7px}.rsvp-submit{width:100%;justify-content:space-between;margin-top:19px;min-height:51px;font-size:13px}.form-note{font-size:10px;line-height:1.8;color:var(--muted);text-align:center;margin:12px auto 0;max-width:360px}.rsvp-preview:focus{outline:none}.rsvp-preview h3{font-size:42px;line-height:1.15;letter-spacing:-.4px;margin:15px 0}.rsvp-preview>p:not(.eyebrow):not(.form-note){font-size:14px;line-height:1.85;color:var(--muted)}.rsvp-preview pre{font:13px/1.85 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--paper);border:1px solid var(--line);padding:19px;border-radius:4px;margin:24px 0;color:var(--ink)}.rsvp-preview .button{width:100%;font-size:12px;gap:9px;min-height:51px}.rsvp-preview .button .icon:last-child{margin-left:auto}.rsvp-preview .text-link{display:flex;margin:14px auto 0;font-size:12px;max-width:max-content}

/* Keep the original paper invitation close at hand. */
.closing{padding:61px 0 26px;background:var(--sand);border-top:1px solid #d6cbb9}.closing-top{display:flex;justify-content:space-between;gap:55px;align-items:center;padding-bottom:43px}.closing .eyebrow{font-size:9px;letter-spacing:1.5px;color:#947447}.closing-names{font-family:var(--serif);font-weight:500;font-size:58px;letter-spacing:-1.4px;line-height:1.2;margin:8px 0 9px;color:var(--red)}.closing-names span{font-weight:400;font-style:italic;font-size:.7em;color:#a1845c}.closing-top>div>p:last-child:not(.closing-names){font-size:13px;color:var(--muted)}.invitation-tools{display:flex;flex-direction:column;min-width:268px}.invitation-tools .icon{width:16px;height:16px}.invitation-tools .text-link{font-size:12px;min-height:44px}.closing-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #d0c3ad;padding-top:22px;font-size:10px;color:var(--muted)}.closing-bottom p>span{padding:0 8px;color:var(--gold)}.closing-bottom a{min-height:35px;display:inline-flex;align-items:center;color:var(--red)}.mobile-nav{display:none}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,12px);max-width:min(460px,90vw);opacity:0;pointer-events:none;z-index:100;background:var(--ink);color:var(--paper-light);border:1px solid #ffffff15;border-radius:6px;box-shadow:0 5px 23px #3a2c2926;padding:14px 22px;font-size:12px;line-height:1.6;text-align:center;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}

/* Original PDF viewer, including keyboard page controls. */
.card-dialog{padding:0;background:var(--paper);color:var(--ink);border:1px solid #bba78a;border-radius:7px;width:min(570px,calc(100vw - 30px));max-height:94svh;box-shadow:0 20px 80px #2a201a40}.card-dialog::backdrop{background:#2d221cc9;backdrop-filter:blur(6px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.dialog-top h2{font-size:28px;letter-spacing:-.3px}.icon-button{width:40px;height:40px;display:grid;place-items:center;background:transparent;border:1px solid #cbb99d;border-radius:4px;color:var(--ink);font-size:21px;line-height:1;flex:none}.card-dialog img{width:auto;height:auto;max-width:100%;max-height:66svh;object-fit:contain;margin:auto}.card-controls{display:flex;align-items:center;justify-content:center;gap:20px;padding:13px 20px;border-top:1px solid var(--line)}.card-controls>span{font-size:12px}.card-controls a{display:flex;align-items:center;gap:7px;margin-left:auto;min-height:40px;font-size:12px;color:var(--red)}.card-controls .icon{width:17px;height:17px}

@media(max-width:1100px){.section-wrap{padding-left:32px;padding-right:32px}.header-inner{padding-left:32px;padding-right:32px}.hero{gap:50px;padding-top:38px}.hero h1{font-size:103px;letter-spacing:-3.6px}.hero-copy>.eyebrow{font-size:8px;letter-spacing:1.2px}.hero-details p:first-child{font-size:12px;gap:6px}.hero-details p+p{font-size:11px}.hero-actions .button{font-size:11px;padding:12px 15px;gap:8px}.hero-sentiment{font-size:22px}.hero-art figcaption{font-size:7px;letter-spacing:.8px}.family-inner{gap:65px}.family-intro h2{font-size:46px}.family-names{padding-left:32px}.family-names h3{font-size:28px}.section-heading h2{font-size:47px}.section-heading>p{font-size:12px;max-width:250px}.event-row{gap:29px;grid-template-columns:89px 1fr 1fr;padding-left:20px;padding-right:20px}.event-name h3{font-size:42px}.event-location>p{font-size:14px}.event-location>span{font-size:11px}.event-actions{gap:16px}.event-actions a{font-size:11px}.venue-card{padding:28px}.venue-card h3{font-size:37px}.venue-bottom .button{font-size:10px}.rsvp-section{gap:55px;grid-template-columns:.95fr 1.1fr}.rsvp-intro h2{font-size:54px}.rsvp-form-card{padding:27px 25px}.form-row{grid-template-columns:1fr}.event-choices label{gap:6px;padding:11px 8px;font-size:11px}.event-choices input{width:14px;height:14px}.attendance-options label{font-size:11px;padding:11px 10px}.contact strong{font-size:25px}.blessing-copy h2{font-size:47px}}
@media(min-width:701px) and (max-width:900px){.hero{gap:35px;grid-template-columns:1.1fr 1fr}.hero h1{font-size:86px;letter-spacing:-3px}.hero .invocation{margin-bottom:22px}.hero-details p:first-child{display:block}.hero-details .detail-dot{padding:0 5px}.hero-sentiment{font-size:20px}.hero-copy>.eyebrow{max-width:270px;line-height:1.8}.hero-art figcaption{display:block;line-height:1.9}.hero-art figcaption span{display:block}.hero-actions{gap:2px}.hero-actions .button{font-size:10px;padding:12px 10px}.art-inscription>span{font-size:22px}.family-inner{gap:38px}.family-intro h2{font-size:40px}.family-intro>p:last-child{font-size:13px}.family-names h3{font-size:26px}.family-names{padding-left:25px}.section-heading{display:block}.section-heading>p{margin-top:20px;max-width:none}.section-heading>p br{display:none}.event-row{grid-template-columns:77px 1fr 1fr;gap:22px}.event-name h3{font-size:37px}.event-name .eyebrow{font-size:8px}.event-location>p{font-size:13px}.event-actions{gap:12px}.event-actions a{font-size:10px}.timing-link{font-size:11px}.venue-grid{gap:18px}.venue-card{padding:25px}.venue-card h3{font-size:34px}.venue-bottom{flex-direction:column;align-items:flex-start;gap:17px}.venue-bottom .button{font-size:11px;width:100%}.rsvp-section{gap:35px;grid-template-columns:.85fr 1.1fr}.rsvp-intro h2{font-size:47px}.rsvp-form-card{padding:24px 21px}.event-choices label{flex-direction:column;gap:7px;padding:11px 9px;font-size:12px}.blessing-inner{gap:40px}.blessing-copy h2{font-size:43px}}

/* Phone layouts favour generous type, clear choices and reachable actions. */
@media(max-width:700px){
  html{scroll-padding-top:22px}.section-wrap{padding-left:24px;padding-right:24px}.header-inner{padding:12px 24px;min-height:70px;gap:15px}.wordmark{font-size:30px}.wordmark>span:first-child{font-size:18px}.wordmark-rule{height:20px;margin:0 12px}.wordmark small{font-size:8px;letter-spacing:1.1px}.desktop-nav{display:none}.header-rsvp{font-size:11px;gap:9px}.header-rsvp .icon{width:15px;height:15px}.eyebrow{font-size:10px;letter-spacing:1.3px}h2{font-size:41px;letter-spacing:-.8px;line-height:1.12}.hero{grid-template-columns:1fr;gap:36px;padding-top:26px;padding-bottom:34px;text-align:center}.hero-copy{background:var(--paper);padding:0;animation:none}.invocation{justify-content:center;margin:0 0 21px;gap:10px}.ganesha-art{width:31px;height:46px;background-size:96px 135.36px;background-position:-33px -12px}.invocation p{font-size:14px;text-align:left}.hero-copy>.eyebrow{font-size:8px;letter-spacing:1px;line-height:1.8;max-width:270px;margin:0 auto 17px}.hero h1{font-size:91px;line-height:.91;letter-spacing:-3.6px;align-items:center;margin-left:0}.hero h1 .second-name{margin-top:8px;letter-spacing:-3px}.hero h1 i{font-size:.62em;margin-right:3px;letter-spacing:-1.3px}.hero-sentiment{font-size:22px;line-height:1.35;margin-top:21px}.hero-details{margin:21px auto 0;padding-top:19px;max-width:350px}.hero-details p:first-child{font-size:13px;line-height:1.85;justify-content:center;gap:0;display:block}.hero-details p:first-child time{display:block}.detail-dot{display:none}.hero-details p:first-child>span:last-child{font-size:12px;font-weight:500}.hero-details p+p{font-size:12px;line-height:1.8;max-width:320px;margin:7px auto 0}.hero-details p+p span{margin:0 2px}.hero-actions{justify-content:center;gap:5px;margin-top:20px}.hero-actions .button{font-size:11px;padding:12px 16px;gap:8px;min-height:48px}.hero-actions .button .icon{width:16px;height:16px}.days-note{justify-content:center;font-size:10px;margin-top:16px;gap:7px}.hero-art{animation:none;max-width:440px;width:100%;margin:auto}.art-frame{border-radius:5px}.art-frame img{aspect-ratio:4/4.8;object-fit:cover;object-position:center 60%}.art-inscription{top:23%}.art-inscription>span{font-size:28px}.art-inscription svg{width:27px;height:20px;margin-top:13px}.hero-art figcaption{font-size:7px;letter-spacing:.8px;padding-top:11px}.family-inner{grid-template-columns:1fr;gap:33px;padding-top:55px;padding-bottom:55px;text-align:center}.family-intro h2{font-size:41px;margin-top:15px}.family-intro>p:last-child{font-size:14px;line-height:1.85;max-width:330px;margin:19px auto 0}.family-names{padding:28px 0 0;border-left:0;border-top:1px solid #cbbda68c;max-width:340px;width:100%;margin:auto}.family-names .eyebrow{font-size:9px;letter-spacing:1px}.family-names h3{font-size:28px;margin-top:11px;line-height:1.3}.family-divider{justify-content:center;max-width:none;margin:22px auto}.family-divider span{width:51px}.family-divider svg{width:25px;height:20px}.celebrations{padding-top:59px;padding-bottom:52px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:42px;margin-top:13px;max-width:330px}.section-heading>p{font-size:13px;margin-top:19px;max-width:310px;line-height:1.8}.programme{border-top:1px solid var(--line)}.event-row{grid-template-columns:64px minmax(0,1fr);gap:13px 21px;align-items:start;padding:29px 0}.event-date{grid-row:1/3;grid-column:1;padding-right:17px;font-size:9px;letter-spacing:.6px;align-self:start}.event-weekday{font-size:9px}.event-number{font-size:58px;margin:5px 0;letter-spacing:-2px}.event-name .eyebrow{font-size:8px;letter-spacing:.6px;gap:7px;line-height:1.6}.ceremony-dot{width:5px;height:5px}.event-name h3{font-size:37px;letter-spacing:-.5px;margin:7px 0;line-height:1.12}.timing-link{font-size:11px;line-height:1.7;gap:5px;align-items:baseline;min-height:30px}.event-location{grid-column:2}.event-location>p{font-size:13px;font-weight:500;line-height:1.65}.event-location>span{font-size:11px;margin-top:3px;line-height:1.75}.event-actions{gap:19px;margin-top:11px;flex-wrap:wrap}.event-actions a{font-size:11px;min-height:40px;gap:6px}.event-actions .icon{width:15px;height:15px}.event-wedding{margin-left:-13px;margin-right:-13px;padding-left:13px;padding-right:13px;padding-top:30px;padding-bottom:28px;margin-top:18px;border-radius:6px}.wedding-time{font-size:13px;margin-top:10px}.programme-note{font-size:11px;line-height:1.85;margin-top:23px;max-width:350px}.venue-section{padding:53px 0 56px}.venue-section .section-heading{margin-bottom:28px}.venue-grid{grid-template-columns:1fr;gap:18px}.venue-card{padding:25px}.venue-label{font-size:9px;letter-spacing:1px}.venue-card h3{font-size:37px;max-width:310px;margin-top:21px}.venue-card>p{font-size:14px;margin-top:12px;margin-bottom:23px}.venue-bottom{flex-direction:column;align-items:flex-start;gap:17px;padding-top:19px}.venue-bottom>p{font-size:12px;line-height:1.8}.venue-bottom .button{width:100%;font-size:12px;min-height:47px;padding:12px 17px;justify-content:space-between}.blessing-inner{grid-template-columns:1fr;gap:26px;padding-top:49px;padding-bottom:43px;text-align:center}.blessing-copy .eyebrow{font-size:9px;letter-spacing:1.1px}.blessing-copy h2{font-size:42px;margin-top:16px}.blessing-copy>p:last-child{font-size:13px;line-height:1.85;margin-top:20px}.diya-button{width:190px;height:169px;margin-bottom:10px}.diya-prompt{font-size:11px;min-height:25px}.diya-prompt.blessed{font-size:20px;max-width:280px;margin:auto}.rsvp-section{grid-template-columns:1fr;gap:31px;padding-top:56px;padding-bottom:58px}.rsvp-intro{padding:0}.rsvp-intro h2{font-size:47px;margin-top:15px;line-height:1.1}.rsvp-intro>p:last-of-type{font-size:14px;line-height:1.9;margin-top:22px}.family-contacts{margin-top:31px}.family-contacts h3{font-size:10px;margin-bottom:11px;letter-spacing:.8px}.contact{padding:17px 0;gap:16px}.contact strong{font-size:26px}.contact>span:first-child>span{font-size:13px;letter-spacing:.2px}.call-icon{width:44px;height:44px}.rsvp-form-card{padding:25px 22px;border-radius:6px;max-width:480px;width:100%;margin:auto}.form-heading h3{font-size:29px}.form-heading{margin-bottom:23px}.form-row{grid-template-columns:1fr;gap:18px}label,fieldset legend{font-size:12px;line-height:1.5;margin-bottom:9px}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;min-height:49px;padding:12px}fieldset{margin:23px 0}.attendance-options{gap:9px}.attendance-options label{font-size:11px;padding:12px 10px;gap:8px;min-height:49px}.event-choices{gap:8px}.event-choices label{font-size:12px;padding:12px 11px;flex-direction:column;gap:8px;align-items:flex-start}.event-choices input{width:16px;height:16px;margin:0}.event-choices small{font-size:10px;margin-top:3px}.field-error{font-size:12px}.wishes-details{margin-top:20px}.wishes-details summary{font-size:12px;line-height:1.7}.wishes-details summary>span{font-size:11px}.rsvp-submit{font-size:13px;margin-top:17px;min-height:51px}.form-note{font-size:11px;max-width:290px;margin-top:12px;line-height:1.8}.rsvp-preview h3{font-size:38px}.rsvp-preview>p:not(.eyebrow):not(.form-note){font-size:13px}.rsvp-preview pre{font-size:12px;padding:16px;line-height:1.85}.rsvp-preview .button{font-size:12px;padding:13px 15px;gap:8px}.rsvp-preview .button .icon{width:17px;height:17px}.closing{padding:48px 0 108px}.closing-top{flex-direction:column;align-items:flex-start;gap:29px;padding-bottom:28px}.closing .eyebrow{font-size:9px;letter-spacing:1px}.closing-names{font-size:50px;letter-spacing:-1.3px;margin:11px 0}.closing-top>div>p:last-child:not(.closing-names){font-size:13px}.invitation-tools{min-width:0;max-width:440px;width:100%}.invitation-tools .text-link{font-size:12px;min-height:46px}.closing-bottom{display:block;font-size:10px;padding-top:22px;line-height:1.85}.closing-bottom a{font-size:10px;margin-top:8px;min-height:35px}.closing-bottom p>span{padding:0 4px}.mobile-nav{position:fixed;left:16px;right:16px;bottom:max(12px,env(safe-area-inset-bottom));z-index:30;display:grid;grid-template-columns:1.15fr 1fr .85fr;gap:4px;padding:6px;border:1px solid #d3c5b1;border-radius:13px;background:#fffcf7f5;backdrop-filter:blur(18px);box-shadow:0 4px 22px #3a2c2920}.mobile-nav a{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:500;min-height:47px;padding:9px 7px;border-radius:8px;color:var(--muted)}.mobile-nav .icon{width:15px;height:15px}.mobile-nav a.active{background:var(--sand);color:var(--red)}.mobile-nav a.mobile-rsvp{background:var(--red);color:#fff4e6}.mobile-nav a.mobile-rsvp.active{background:var(--red-deep)}.toast{bottom:93px;font-size:11px;padding:12px 18px}.dialog-top{padding:14px 16px;gap:8px}.dialog-top h2{font-size:25px}.card-controls{padding:12px 16px;gap:15px}.card-dialog img{max-height:65svh}
}
@media(max-width:370px){.section-wrap{padding-left:20px;padding-right:20px}.header-inner{padding-left:20px;padding-right:20px}.wordmark small{font-size:7px;letter-spacing:.8px}.wordmark-rule{margin:0 10px}.header-rsvp{font-size:10px;gap:6px}.hero{padding-top:25px;gap:30px}.hero h1{font-size:78px;letter-spacing:-3px}.hero h1 .second-name{letter-spacing:-2.5px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:.7px;max-width:260px}.hero-sentiment{font-size:21px}.hero-details p:first-child{font-size:12px}.hero-details p+p{font-size:11px}.hero-actions{gap:2px}.hero-actions .button{font-size:10px;padding:12px 11px;gap:7px}.hero-actions .button .icon{width:15px;height:15px}.hero-art figcaption{font-size:6px;letter-spacing:.7px}.art-inscription>span{font-size:23px}.family-intro h2{font-size:37px}.family-names h3{font-size:26px}.section-heading h2{font-size:38px}.event-row{grid-template-columns:56px minmax(0,1fr);gap:12px 17px}.event-date{padding-right:13px;font-size:8px}.event-number{font-size:54px}.event-name h3{font-size:34px}.event-name .eyebrow{font-size:7px;letter-spacing:.4px}.timing-link{font-size:10px}.event-location>p{font-size:12px}.event-location>span{font-size:10px}.event-actions{gap:12px}.event-actions a{font-size:10px}.event-wedding{margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px}.venue-card{padding:23px}.venue-card h3{font-size:34px}.blessing-copy h2{font-size:38px}.rsvp-intro h2{font-size:43px}.rsvp-form-card{padding:23px 18px}.attendance-options label{font-size:10px;padding:11px 8px;gap:7px}.event-choices label{font-size:11px;padding:11px 9px}.event-choices{gap:7px}.rsvp-preview .button{font-size:11px;padding:13px 12px;gap:6px}.mobile-nav{left:12px;right:12px;padding:5px;gap:2px}.mobile-nav a{font-size:9px;padding-left:4px;padding-right:4px;gap:5px;min-height:47px}.mobile-nav .icon{width:14px;height:14px}.closing-names{font-size:45px}}
/* Legible practical details at phone sizes, with generous touch targets. */
@media(max-width:700px){.hero-details p:first-child{font-size:14px}.hero-details p:first-child>span:last-child{font-size:14px}.hero-details p+p{font-size:13px}.hero-actions .button{font-size:12px}.days-note{font-size:11px}.event-location>p{font-size:14px}.event-location>span{font-size:12px}.event-actions a{font-size:12px;min-height:44px}.timing-link{font-size:12px;min-height:44px}.attendance-options label{font-size:12px}.event-choices label{font-size:12px}.mobile-nav a{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{body{background:#fff;color:#333}.site-header,.hero-art,.hero-actions,.days-note,.event-actions,.blessing-section,.rsvp-form-card,.invitation-tools,.mobile-nav,.toast,.closing-bottom a{display:none!important}.section-wrap{max-width:none;padding:20px}.hero,.family-inner,.rsvp-section{display:block}.hero h1{font-size:70px}.hero-copy>.eyebrow{margin-bottom:15px}.hero-details{max-width:none}.family-section,.venue-section,.closing{background:white}.family-names{margin-top:20px;padding-left:0;border:0}.family-intro>p:last-child{max-width:none}.celebrations,.venue-section,.rsvp-section{padding-top:20px;padding-bottom:20px}.section-heading{margin-bottom:20px}.event-row,.venue-card{break-inside:avoid}.event-wedding{background:#fff;color:#333;border:1px solid #aaa}.event-wedding .event-number,.event-wedding .event-name h3,.event-wedding .event-name .eyebrow,.event-wedding .event-location>span,.event-wedding .event-date,.event-wedding .wedding-time{color:#333}.closing{padding:20px 0}.closing-names{font-size:40px}.contact .call-icon{display:none}}

/* A compact, reversible language choice in the masthead. */
.header-actions{display:flex;align-items:center;gap:24px;flex:none}.language-switch{display:inline-flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--paper-light);gap:2px;flex:none}.language-switch button{min-height:44px;padding:8px 12px;background:transparent;border-radius:5px;color:var(--muted);font-size:12px;line-height:1.4;transition:background .2s,color .2s;white-space:nowrap}.language-switch button[lang=en]{font-family:Manrope,Arial,sans-serif}.language-switch button[lang=hi]{font-family:'Noto Sans Devanagari',sans-serif;font-size:14px}.language-switch button[aria-pressed=true]{background:var(--red);color:var(--paper-light)}.language-switch button:hover:not([aria-pressed=true]){background:var(--sand);color:var(--red)}.wordmark{font-family:'Cormorant Garamond',Georgia,serif}

/* Devanagari needs its own spacing and line height, not Latin tracking. */
html[lang=hi]{--serif:'Noto Serif Devanagari',Georgia,serif;--sans:'Noto Sans Devanagari',Arial,sans-serif}
html[lang=hi] h2{font-size:43px;line-height:1.5;letter-spacing:0}
html[lang=hi] h2 em,html[lang=hi] h3 span{font-style:normal}
html[lang=hi] .eyebrow,html[lang=hi] .venue-label,html[lang=hi] .event-date,html[lang=hi] .hero-art figcaption{letter-spacing:0;text-transform:none}
html[lang=hi] .eyebrow{font-size:12px;line-height:1.8}
html[lang=hi] .hero h1{font-size:clamp(78px,7.5vw,106px);font-weight:400;line-height:1.22;letter-spacing:0;margin-left:0}
html[lang=hi] .hero h1 .second-name{margin-top:0;letter-spacing:0}
html[lang=hi] .hero h1 i{font-size:.31em;font-style:normal;letter-spacing:0;margin-right:.2em}
html[lang=hi] .hero-copy>.eyebrow{font-size:11px;margin-bottom:16px}
html[lang=hi] .invocation p{font-style:normal;font-size:15px;line-height:1.65}
html[lang=hi] .hero-sentiment{font-size:20px;line-height:1.9;margin-top:15px}
html[lang=hi] .hero-details{line-height:1.9}
html[lang=hi] .hero-details p:first-child{font-size:14px}
html[lang=hi] .hero-details p+p{font-size:13px}
html[lang=hi] .button,html[lang=hi] .text-link{font-size:13px}
html[lang=hi] .days-note{font-size:12px}
html[lang=hi] .hero-art figcaption{font-size:10px}
html[lang=hi] .family-names .eyebrow{font-size:12px}
html[lang=hi] .family-names h3{font-size:25px;line-height:1.8;letter-spacing:0}
html[lang=hi] .event-number{font-family:'Cormorant Garamond',Georgia,serif}
html[lang=hi] .event-date{font-size:11px}
html[lang=hi] .event-weekday{font-size:12px}
html[lang=hi] .event-name h3{font-size:36px;line-height:1.55;letter-spacing:0;margin-bottom:0}
html[lang=hi] .event-name .eyebrow{font-size:11px}
html[lang=hi] .timing-link{font-size:13px;line-height:1.85}
html[lang=hi] .event-location>p{font-size:15px;line-height:1.8}
html[lang=hi] .event-location>span,html[lang=hi] .event-actions a,html[lang=hi] .programme-note{font-size:12px}
html[lang=hi] .event-actions{flex-wrap:wrap;gap:10px 18px}
html[lang=hi] .venue-label{font-size:12px}
html[lang=hi] .venue-card h3{font-size:31px;line-height:1.55;letter-spacing:0}
html[lang=hi] .venue-bottom>p{font-size:12px}
html[lang=hi] .diya-prompt{font-size:13px}
html[lang=hi] .diya-prompt.blessed{font-size:19px;line-height:1.8;font-style:normal}
html[lang=hi] .family-contacts h3{letter-spacing:0;font-size:12px}
html[lang=hi] .contact strong{font-size:24px;line-height:1.7}
html[lang=hi] .form-heading h3{font-size:24px;line-height:1.6;letter-spacing:0}
html[lang=hi] label,html[lang=hi] fieldset legend{font-size:13px;line-height:1.7}
html[lang=hi] .attendance-options label,html[lang=hi] .event-choices label{font-size:13px}
html[lang=hi] .wishes-details summary{font-size:13px}
html[lang=hi] .rsvp-preview h3{font-size:30px;line-height:1.55;letter-spacing:0}
html[lang=hi] .closing-names{font-size:46px;line-height:1.7;letter-spacing:0}
html[lang=hi] .closing-names span{font-size:.5em;font-style:normal}
html[lang=hi] .dialog-top h2{font-size:26px;line-height:1.6}
@media(max-width:1100px){.header-inner{gap:20px}.header-actions{gap:18px}.desktop-nav{gap:22px}}
@media(max-width:1050px){.desktop-nav{display:none}}
@media(max-width:700px){.header-inner{min-height:78px;padding-top:12px;padding-bottom:12px;gap:12px}.header-actions{gap:0}.header-rsvp{display:none}.language-switch button{min-height:44px;padding:8px 11px}.wordmark-rule,.wordmark small{display:none}html[lang=hi] h2{font-size:34px;line-height:1.5}html[lang=hi] .hero h1{font-size:74px;line-height:1.23}html[lang=hi] .hero-sentiment{font-size:18px;line-height:1.95}html[lang=hi] .hero-actions .button{font-size:12px;padding:12px 11px;gap:7px}html[lang=hi] .hero-art figcaption{font-size:8px}html[lang=hi] .family-names h3{font-size:24px}html[lang=hi] .event-date{font-size:9px}html[lang=hi] .event-name h3{font-size:30px}html[lang=hi] .event-name .eyebrow{font-size:10px}html[lang=hi] .timing-link{font-size:12px}html[lang=hi] .venue-card h3{font-size:28px}html[lang=hi] .form-heading h3{font-size:22px}html[lang=hi] .contact strong{font-size:23px}html[lang=hi] .closing-names{font-size:40px}html[lang=hi] .mobile-nav a{font-size:12px}html[lang=hi] .dialog-top h2{font-size:21px}}
@media(max-width:370px){html[lang=hi] .hero h1{font-size:65px}html[lang=hi] h2{font-size:31px}html[lang=hi] .hero-sentiment{font-size:17px}html[lang=hi] .family-names h3{font-size:22px}html[lang=hi] .event-name h3{font-size:28px}html[lang=hi] .venue-card h3{font-size:26px}html[lang=hi] .attendance-options label,html[lang=hi] .event-choices label{font-size:12px}html[lang=hi] .closing-names{font-size:36px}html[lang=hi] .mobile-nav a{font-size:11px}}
@media print{.header-actions,#language-status{display:none!important}}

/* A quiet Ganapati blessing, with an always-reachable pause control. */
.hero .invocation{margin-bottom:14px}
.mantra-player{margin:0 0 25px;max-width:100%}
.mantra-controls{display:flex;align-items:center;flex-wrap:wrap;gap:9px 13px}
.mantra-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;padding:9px 14px;border:1px solid #c3ac86;border-radius:24px;background:var(--paper-light);color:var(--red);font:500 12px/1.6 var(--sans);transition:background .2s,border-color .2s}
.mantra-toggle:hover{background:#eee4d5;border-color:var(--gold)}
.mantra-toggle[data-playing=true]{border-color:#b99472;background:#f3e9db}
.mantra-toggle .icon{width:16px;height:16px}
.mantra-title{font-size:11px;line-height:1.7;color:var(--muted)}
.mantra-status{margin-top:8px;font-size:11px;line-height:1.7;color:var(--muted)}
#mantra-audio{display:block;width:300px;max-width:100%}
.mantra-floating{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:35;box-shadow:0 4px 20px #3a2c2920;background:var(--paper-light)}
.audio-credit{font-size:10px;line-height:1.9;color:var(--muted);margin-top:16px;max-width:850px}
.audio-credit a{text-decoration:underline;text-underline-offset:3px}
html[lang=hi] .mantra-toggle{font-size:13px}
html[lang=hi] .mantra-title,html[lang=hi] .mantra-status{font-size:12px}
@media(max-width:700px){.mantra-player{margin-bottom:23px}.mantra-controls{justify-content:center;gap:8px 12px}.mantra-toggle{padding:9px 13px}.mantra-floating{right:16px;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 76px);font-size:11px}.audio-credit{font-size:10px}#mantra-audio{margin:auto}.closing{padding-bottom:155px}.toast{bottom:150px}}
@media print{.mantra-player,.mantra-floating,.audio-credit{display:none!important}}

/* A quiet tribute, framed in the invitation's ivory and antique gold. */
.guru-blessing{display:flex;align-items:center;gap:14px;margin:0 0 27px;max-width:100%}
.guru-portrait{width:68px;height:68px;padding:3px;flex:none;border:1px solid #cfad79;border-radius:50%;background:#f7f3eb;box-shadow:0 2px 12px #28131118}
.guru-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 15%;border-radius:50%}
.guru-blessing figcaption{min-width:0;text-align:left}
.guru-blessing strong{display:block;color:#f9eedf;font:500 15px/1.7 var(--sans)}
.guru-blessing figcaption>span{display:block;color:#dcc1a8;font-size:11px;line-height:1.8;margin-top:2px}
.portrait-credit{margin-top:8px}
@media(max-width:700px){.guru-blessing{justify-content:center;margin-bottom:24px;gap:12px}.guru-portrait{width:60px;height:60px}.guru-blessing strong{font-size:14px}}
