:root{--jade:#659e88;--jade-dark:#326b5d;--jade-deep:#21483e;--cream:#fff1c9;--cream2:#f4e6bd;--gold:#d7b567;--ink:#2c5c50;--sage:#d8eadb;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--jade);color:var(--cream);font-family:var(--serif);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.patterned{background-color:var(--jade);background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27150%27 height=%27150%27 viewBox=%270 0 150 150%27 fill=%27none%27 stroke=%27%23e8d9aa%27 stroke-opacity=%27.13%27 stroke-width=%271.2%27%3E%3Cpath d=%27M75 12C106 30 108 50 75 75 42 50 44 30 75 12Z M75 138C44 120 42 100 75 75 108 100 106 120 75 138Z M12 75C30 44 50 42 75 75 50 108 30 106 12 75Z M138 75C120 106 100 108 75 75 100 42 120 44 138 75Z%27/%3E%3Ccircle cx=%2775%27 cy=%2775%27 r=%277%27/%3E%3Ccircle cx=%2775%27 cy=%2775%27 r=%272.5%27 fill=%27%23e8d9aa%27/%3E%3Cpath d=%27M75 0v11M75 139v11M0 75h11M139 75h11%27/%3E%3C/svg%3E");background-size:150px 150px;background-position:center}.hero{height:100svh;min-height:650px;max-height:1100px;position:relative;overflow:hidden;background:#7e6650}.hero-art,.hero-veil{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-art{object-position:center 52%;animation:heroSettle 1.5s ease-out both}.hero-veil{background:linear-gradient(180deg,rgba(30,43,40,.22),rgba(30,43,40,.04) 35%,rgba(26,40,37,.10) 70%,rgba(26,40,37,.20))}.hero-names{position:absolute;top:8%;left:50%;transform:translateX(-50%);text-align:center;width:min(95%,950px);text-shadow:0 3px 28px #352a2480}.hero-names>p,.section-kicker{font:500 9px var(--sans);letter-spacing:.24em}.hero-names>p{margin:0 0 32px;color:#f8ebcf}.hero-names>p span{font-size:12px;color:#e1c27e;padding:0 12px}.hero h1{font:300 clamp(62px,10vw,142px)/.78 var(--serif);letter-spacing:.105em;color:#fff0c7;margin:0;text-transform:uppercase}.hero h1 span{display:block}.hero h1 small{display:block;font:500 12px var(--sans);letter-spacing:.38em;margin:15px 0 14px;color:#f0d792}.hero-down{display:inline-grid;place-items:center;border:1px solid #fff0c7b0;border-radius:50%;width:45px;height:45px;margin-top:35px;font:26px var(--serif);transition:.2s}.hero-down:hover{background:var(--cream);color:var(--jade-deep)}.invite{position:relative;min-height:850px;display:grid;place-items:center;padding:100px 22px 90px;text-align:center;overflow:hidden}.invite:before,.invite:after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:min(76%,760px);height:1px;background:linear-gradient(90deg,transparent,rgba(255,240,201,.5),transparent)}.invite:before{top:48px}.invite:after{bottom:48px}.invite-inner{position:relative;z-index:1;width:min(100%,740px)}.lotus-mark{position:relative;width:106px;height:116px;margin:0 auto 20px;display:grid;place-items:center;color:var(--cream)}.lotus-mark:before{content:"";position:absolute;inset:12px;border:1px solid #f8ecc9;border-radius:50% 50% 43% 43%;transform:rotate(45deg)}.lotus-mark:after{content:"";position:absolute;inset:12px;border:1px solid #f8ecc9;border-radius:50% 50% 43% 43%;transform:rotate(-45deg)}.lotus-mark span{font-size:66px;line-height:1;position:relative;z-index:1}.lotus-mark i{position:absolute;bottom:2px;right:5px;font-size:23px;font-style:normal;color:var(--gold)}.invite-line{font-size:clamp(21px,3vw,33px);line-height:1.15;margin:4px 0;font-weight:400}.invite-kicker{font:500 9px var(--sans);letter-spacing:.26em;margin:34px 0 5px;color:#f2ddaa}.invite h2{font:300 clamp(55px,9vw,100px)/.95 var(--serif);letter-spacing:.01em;margin:13px 0 24px;color:#fff1c8}.invite h2 em{font-style:italic;color:#ebd391}.invite-rule{display:flex;align-items:center;justify-content:center;gap:15px;width:min(260px,70%);margin:0 auto 20px;color:#e3c789}.invite-rule:before,.invite-rule:after{content:"";height:1px;background:#f0daa4;flex:1}.invite-rule span{font-size:16px}.invite-date{font:500 10px var(--sans);letter-spacing:.24em;margin:0 0 11px}.invite-place{font:400 20px var(--serif);margin:0}.invite-note{font-style:italic;font-size:18px;margin-top:44px;color:#e5d8b6}.events{padding:82px 6% 100px;text-align:center}.events-title{margin-bottom:55px}.section-kicker{display:block;color:#f0daa4}.events-title h2,.things-title h2,.gallery-heading h2,.countdown h2{font:300 clamp(48px,7vw,76px)/1 var(--serif);margin:17px 0 13px;color:#fff1c8}.events-title h2 i,.things-title h2 i,.gallery-heading h2 i,.countdown h2 i{font-weight:300;color:#eed798}.events-title p,.things-title p{font:400 18px/1.5 var(--serif);margin:0 auto;color:#f1e4c7;max-width:520px}.event-grid{width:min(100%,790px);margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 40px}.event-medallion{position:relative;aspect-ratio:.88;min-height:305px;max-height:380px;background:radial-gradient(ellipse at 50% 30%,#fff5d9 0,#f6eac8 70%,#ead8a9 100%);color:var(--jade-dark);border-radius:49% 49% 20px 20px / 40% 40% 20px 20px;border:1px solid #e6d19c;outline:1px solid #f7e7bd;outline-offset:5px;box-shadow:0 13px 20px #1c51404a;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:38px 16px 32px;overflow:hidden;transition:transform .25s,box-shadow .25s}.event-medallion:hover{transform:translateY(-5px);box-shadow:0 19px 25px #1c514055}.event-medallion:before{content:"";position:absolute;inset:9px;border-radius:inherit;border:1px solid #b1ab79;pointer-events:none}.medallion-date{font:500 9px var(--sans);letter-spacing:.13em;color:#78927c}.event-medallion h3{font:400 clamp(24px,2.5vw,34px)/1.05 var(--serif);margin:15px 0 5px;color:#417367}.event-medallion>p{font:italic 16px var(--serif);margin:0 0 16px;color:#7b8d70}.event-medallion>a{font:400 11px/1.35 var(--serif);color:#688b7a;border-bottom:1px solid #9fb19d;padding-bottom:4px}.event-medallion>a span{font:10px var(--sans);margin-left:4px}.petal{position:absolute;color:#c5a458;text-shadow:0 2px 1px #faf0d0}.petal-a{top:13px;right:23px;font-size:37px}.petal-b{bottom:10px;left:20px;font-size:31px}.events-footnote{font:italic 16px var(--serif);color:#e7d8b7;margin:47px auto 0}.route{min-height:650px;display:grid;grid-template-columns:1.12fr .88fr;background:#d8ceac;color:var(--jade-deep)}.route-image{position:relative;min-height:560px;overflow:hidden}.route-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(39,86,71,.5))}.route-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:sepia(.32) saturate(.7)}.route-card{padding:90px 9%;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#f3e7c5,#e8d5a8)}.route-card .section-kicker{color:#81957b}.route-card h2,.couple h2{font:300 clamp(52px,7vw,82px)/.93 var(--serif);margin:26px 0;color:#427366}.route-card h2 i,.couple h2 i{font-weight:300;color:#899676}.route-card p{font-size:20px;line-height:1.35;color:#527267}.route-link{align-self:flex-start;padding:14px 18px;margin-top:16px;border:1px solid #7b9782;color:#426f63;font:500 9px var(--sans);letter-spacing:.17em}.route-link span{margin-left:18px;color:#a9874d}.couple{display:grid;grid-template-columns:1fr 1fr;background:#f7edcf;color:#497266;min-height:640px}.couple-copy{padding:95px clamp(42px,8vw,120px);display:flex;flex-direction:column;justify-content:center}.couple-copy .section-kicker,.gallery .section-kicker,.countdown .section-kicker{color:#879779}.couple h2{margin:22px 0 28px}.couple-copy p{font-size:17px;line-height:1.55;color:#718371;max-width:490px;margin:0 0 15px}.signature{font:italic 26px var(--serif);margin-top:20px;color:#588172}.signature em{color:#b7965f}.couple-photos{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:54px 6% 54px 0;min-height:500px}.couple-photos img{width:100%;height:100%;min-height:470px;object-fit:cover;filter:saturate(.72)}.couple-photos img:first-child{margin-top:35px;height:calc(100% - 35px)}.couple-photos img:last-child{margin-bottom:35px;height:calc(100% - 35px)}.gallery{background:#e5ddc2;color:#477266;padding:88px 0 70px;overflow:hidden}.gallery-heading{text-align:center;padding:0 20px 40px}.gallery-heading h2{color:#497266}.gallery-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 max(6%,calc((100vw - 1080px)/2)) 16px}.gallery-track::-webkit-scrollbar{display:none}.gallery-track img{height:clamp(210px,29vw,340px);width:clamp(210px,28vw,325px);object-fit:cover;flex:0 0 auto;scroll-snap-align:center;filter:saturate(.74)}.gallery-controls{display:flex;justify-content:center;gap:12px;margin-top:23px}.gallery-controls button{border:1px solid #729184;background:transparent;color:#4b796c;width:39px;height:39px;border-radius:50%;font-size:18px;cursor:pointer;transition:.2s}.gallery-controls button:hover{background:#5e9280;color:#fff0c9}.things{padding:95px 8% 100px;text-align:center}.things-title{max-width:650px;margin:0 auto 46px}.things-grid{max-width:1020px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.things-grid article{padding:32px 26px;border:1px solid #efdfb18a;background:#f5e9c51a;text-align:left;min-height:210px}.things-grid article>span{font:500 9px var(--sans);letter-spacing:.15em;color:#f0d89f}.things-grid h3{font:400 27px var(--serif);margin:16px 0 8px;color:#fff0c7}.things-grid p{font:16px/1.45 var(--serif);margin:0;color:#ede1c6}.things-grid a{display:inline-block;margin-top:14px;font:500 9px var(--sans);letter-spacing:.08em;color:#f2dcaa;border-bottom:1px solid #e4cf9a;padding-bottom:4px}.rsvp{min-height:510px;display:grid;place-items:center;text-align:center;padding:70px 20px;background-color:#588e7b}.rsvp-inner{position:relative}.rsvp .section-kicker{font-size:10px;letter-spacing:.36em}.rsvp h2{font:300 clamp(85px,15vw,145px)/.82 var(--serif);letter-spacing:.12em;margin:13px 0 22px;color:#fff0c7}.rsvp p{font:italic 19px var(--serif);color:#f3e4bf}.rsvp-button{border:1px solid #fff0c7;background:#f5e7c1;color:#477467;font:500 9px var(--sans);letter-spacing:.18em;padding:15px 24px;cursor:pointer;margin-top:20px;transition:.2s}.rsvp-button span{color:#ad8d4e;margin-left:18px}.rsvp-button:hover{transform:translateY(-3px);box-shadow:0 8px 15px #315f4d44}.countdown{padding:95px 20px 92px;text-align:center;background:#f6eccd;color:#4f796c}.countdown h2{color:#4e796d}.countdown-row{display:flex;justify-content:center;align-items:center;gap:clamp(15px,4vw,48px);margin:42px auto 22px}.countdown-row>div{display:flex;flex-direction:column;gap:8px}.countdown-row b{font:300 clamp(34px,5vw,57px) var(--serif);font-variant-numeric:tabular-nums}.countdown-row span{font:500 8px var(--sans);letter-spacing:.17em;color:#89937a}.countdown-row>i{font:23px var(--serif);color:#bd9a5a;padding-bottom:18px}.countdown>p{font:italic 16px var(--serif);color:#89917b}footer{min-height:85px;background:#2e6658;color:#f1dfb2;display:flex;justify-content:space-between;align-items:center;padding:20px 6%;gap:16px}.footer-names{font:500 12px var(--sans);letter-spacing:.14em}.footer-names i{font:italic 16px var(--serif);color:#d2b46e}.footer-names~span,footer>a:last-child{font:500 8px var(--sans);letter-spacing:.13em;color:#e6d5ac}.footer-names~span{opacity:.8}footer>a:last-child:hover{color:white}dialog{width:min(440px,calc(100% - 32px));border:1px solid #d9c58e;background:#fff3d2;color:#457468;padding:46px 40px 38px;box-shadow:0 25px 90px #173c3159}dialog::backdrop{background:#122f2799;backdrop-filter:blur(4px)}dialog .dialog-close{position:absolute;right:15px;top:11px;border:0;background:none;font-size:28px;color:#426e62;cursor:pointer}dialog .section-kicker{color:#859176}dialog h2{font:400 45px var(--serif);margin:16px 0 8px}dialog p{font:17px/1.5 var(--serif);color:#718273}dialog label{display:block;font:500 9px var(--sans);letter-spacing:.16em;margin:22px 0 8px}dialog input{width:100%;padding:13px;background:transparent;border:1px solid #a9b29a;font:14px var(--sans);color:#335f53}dialog .rsvp-button{background:#5a907c;color:#fff0c7}.form-note{min-height:20px;font-size:13px!important}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}@keyframes heroSettle{from{transform:scale(1.035)}to{transform:scale(1)}}@media(max-width:760px){.hero{min-height:600px;height:90svh}.hero-art{object-position:54% center}.hero-names{top:10%}.hero-names>p{font-size:8px;letter-spacing:.17em;margin-bottom:28px}.hero h1{font-size:clamp(56px,13vw,100px);letter-spacing:.055em;line-height:.8}.hero h1 small{font-size:10px;letter-spacing:.28em;margin:12px 0}.hero-down{margin-top:27px;width:39px;height:39px}.invite{min-height:760px;padding:85px 20px}.lotus-mark{transform:scale(.85);margin-bottom:5px}.invite-line{font-size:23px}.invite h2{font-size:60px}.events{padding:75px 8% 85px}.events-title{margin-bottom:45px}.events-title p,.things-title p{font-size:16px}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.event-medallion{aspect-ratio:.82;min-height:250px;padding:32px 12px 25px}.event-medallion h3{font-size:25px}.event-medallion>p{font-size:14px}.event-medallion>a{font-size:9px}.petal-a{right:13px;top:8px;font-size:28px}.petal-b{left:12px;bottom:8px;font-size:24px}.medallion-date{font-size:8px;letter-spacing:.08em}.route{grid-template-columns:1fr}.route-image{min-height:390px}.route-image:after{background:linear-gradient(180deg,transparent 60%,rgba(39,86,71,.3))}.route-card{padding:58px 9% 66px}.route-card h2{font-size:59px}.couple{grid-template-columns:1fr}.couple-copy{padding:70px 8% 45px}.couple h2{font-size:61px}.couple-copy p{font-size:16px}.couple-photos{padding:10px 8% 62px;min-height:430px;gap:9px}.couple-photos img{min-height:370px}.couple-photos img:first-child{margin-top:25px;height:calc(100% - 25px)}.couple-photos img:last-child{margin-bottom:25px;height:calc(100% - 25px)}.gallery{padding:74px 0 62px}.gallery-track{gap:10px;padding-left:7%;padding-right:7%}.gallery-track img{height:250px;width:230px}.things{padding:77px 8%}.things-grid{grid-template-columns:1fr;gap:12px}.things-grid article{min-height:0;padding:25px 23px}.things-grid h3{margin-top:10px}.rsvp{min-height:420px}.countdown{padding:75px 14px}.countdown-row{gap:12px}.countdown-row b{font-size:31px}.countdown-row span{font-size:7px;letter-spacing:.09em}.countdown-row>i{font-size:17px}footer{padding:22px 6%;flex-wrap:wrap}footer .footer-names{width:100%;text-align:center}footer>span,footer>a:last-child{font-size:7px}}@media(max-width:420px){.event-grid{gap:24px 14px}.event-medallion{min-height:224px;padding:29px 8px 21px}.event-medallion h3{font-size:22px}.event-medallion>p{font-size:13px}.event-medallion>a{font-size:8px}.invite h2{font-size:52px}.countdown-row{gap:9px}.countdown-row b{font-size:28px}.countdown-row span{font-size:6px}.countdown-row>i{padding-bottom:15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Group the celebration cards by day for easier scanning. */
.event-day{width:min(100%,1120px);margin:0 auto 62px}
.event-day + .event-day{padding-top:48px;border-top:1px solid #f5e6bd66}
.event-day-heading{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 auto 28px;color:#fff0c7}
.event-day-heading:before,.event-day-heading:after{content:"";width:min(15vw,150px);height:1px;background:linear-gradient(90deg,transparent,#e8d4a0aa)}
.event-day-heading:after{transform:scaleX(-1)}
.event-day-heading>span{font:500 8px var(--sans);letter-spacing:.23em;color:#ead39d}
.event-day-heading h3{font:400 33px/1 var(--serif);letter-spacing:.04em;margin:0;white-space:nowrap}
.event-day-heading h3 i{font-weight:300;color:#e8d5a3}
.event-day .event-grid{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.events-footnote{margin-top:0}
@media(max-width:760px){.event-day{margin-bottom:42px}.event-day + .event-day{padding-top:35px}.event-day-heading{gap:11px;margin-bottom:24px}.event-day-heading:before,.event-day-heading:after{width:min(9vw,48px)}.event-day-heading h3{font-size:29px}.event-day-heading>span{font-size:7px;letter-spacing:.15em}.event-day .event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.events-footnote{margin-top:0}}
@media(max-width:420px){.event-day .event-grid{gap:24px 14px}.event-day-heading{gap:8px}.event-day-heading>span{font-size:6px}.event-day-heading h3{font-size:27px}}

/* Keep the supplied couple photo true to its original color and exposure. */
.route-image img{filter:none!important}
.route-image:after{background:none!important}

/* Make the wedding date and Bodh Gaya details easier to read site-wide. */
.hero-names>p{font-size:12px;letter-spacing:.22em}
.invite-date{font-size:12px}
.invite-place{font-size:23px}
.medallion-date{font-size:10px;letter-spacing:.12em}
.countdown>p{font-size:19px}
.footer-names~span,footer>a:last-child{font-size:9px}
@media(max-width:760px){.hero-names>p{font-size:10px;letter-spacing:.17em}.invite-date{font-size:11px}.invite-place{font-size:21px}.medallion-date{font-size:9px;letter-spacing:.08em}.countdown>p{font-size:17px}footer>span,footer>a:last-child{font-size:8px}}

/* Mobile framing: keep the full wedding illustration visible and give each
   event card enough width to read without crowding. */
@media(max-width:600px){
  .hero{height:100svh;min-height:680px;max-height:900px;background:#806b5a}
  .hero-art{inset:auto 0 4%;width:100%;height:auto;max-height:62%;object-fit:contain;object-position:center bottom}
  .hero-veil{background:linear-gradient(180deg,rgba(30,43,40,.16),transparent 42%,rgba(26,40,37,.12))}
  .hero-names{top:7%;width:94%}
  .hero-names>p{margin-bottom:22px}
  .hero h1{font-size:clamp(54px,14vw,82px);line-height:.86}
  .hero-down{margin-top:22px}
  .event-day .event-grid{width:min(100%,440px);grid-template-columns:minmax(0,1fr);gap:24px}
  .event-medallion{width:100%;min-height:230px;max-height:none;aspect-ratio:auto;padding:34px 28px 30px}
  .event-medallion h3{font-size:clamp(27px,7vw,34px)}
  .event-medallion>p{font-size:16px}
  .event-medallion>a{font-size:11px}
  .medallion-date{font-size:10px;letter-spacing:.12em}
  .petal-a{right:22px;top:14px;font-size:34px}
  .petal-b{left:20px;bottom:12px;font-size:28px}
  .event-day{padding-inline:4px}
  .events{padding-inline:6%}
  .route-image{min-height:340px}
  .gallery-track img{height:230px;width:min(78vw,300px)}
  .countdown-row{gap:clamp(7px,3vw,15px)}
  .countdown-row span{font-size:7px;letter-spacing:.08em}
  footer{justify-content:center;text-align:center}
}

/* Keep the event arches narrow and upright on phones, like miniature windows. */
@media(max-width:600px){
  .event-day .event-grid{width:min(100%,440px);grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
  .event-medallion{min-width:0;min-height:0;max-height:none;aspect-ratio:.72;padding:31px 9px 26px}
  .event-medallion h3{font-size:clamp(20px,5.2vw,27px);line-height:1.02;margin:12px 0 5px}
  .event-medallion>p{font-size:clamp(12px,3.4vw,15px);line-height:1.1;margin-bottom:8px}
  .medallion-date{font-size:clamp(7px,2.2vw,9px);letter-spacing:.04em}
  .petal-a{right:9px;top:7px;font-size:25px}
  .petal-b{left:8px;bottom:7px;font-size:22px}
}
@media(max-width:380px){
  .event-day .event-grid{gap:18px 12px}
  .event-medallion{aspect-ratio:.68;padding-inline:7px}
}

/* Larger date and location details across the invitation. */
.hero-names>p{font-size:14px;letter-spacing:.2em}
.invite-date{font-size:14px;letter-spacing:.2em}
.invite-place{font-size:27px}
.medallion-date{font-size:12px;letter-spacing:.09em}
.event-day-heading>span{font-size:9px}
.events-footnote{font-size:19px}
.route-card p{font-size:23px;line-height:1.4}
.route-link{font-size:11px}
.things-grid article>span{font-size:11px}
.things-grid p{font-size:18px;line-height:1.5}
.countdown>p{font-size:21px}
.footer-names~span,footer>a:last-child{font-size:10px}
@media(max-width:760px){
  .hero-names>p{font-size:12px;letter-spacing:.14em}
  .invite-date{font-size:13px;letter-spacing:.15em}
  .invite-place{font-size:24px}
  .medallion-date{font-size:clamp(10px,2.4vw,12px);letter-spacing:.02em}
  .event-day-heading>span{font-size:8px}
  .events-footnote{font-size:18px;line-height:1.35}
  .route-card p{font-size:22px}
  .things-grid p{font-size:17px}
  .countdown>p{font-size:19px}
  .footer-names~span,footer>a:last-child{font-size:9px}
}

/* Emphasize the two day headings and invitation line; center the final arch
   in each three-event mobile group. */
.event-day-heading h3{font-size:40px}
.event-day-heading>span{font-size:11px;letter-spacing:.18em}
.invite-kicker{font-size:12px;letter-spacing:.2em}
@media(max-width:760px){
  .event-day-heading h3{font-size:36px}
  .event-day-heading>span{font-size:10px;letter-spacing:.14em}
  .invite-kicker{font-size:11px;letter-spacing:.15em}
}
@media(max-width:600px){
  .event-day .event-grid .event-medallion:last-child{grid-column:1/-1;width:calc(50% - 9px);justify-self:center}
}
@media(max-width:380px){
  .event-day .event-grid .event-medallion:last-child{width:calc(50% - 6px)}
}

/* Small, expandable sitar player that stays within the bottom-left safe area. */
.music-player{position:fixed;z-index:50;left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));width:min(350px,calc(100vw - 28px));color:#315d50;font-family:var(--sans);filter:drop-shadow(0 10px 24px #183b3152)}
.music-player summary{min-height:58px;display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;border:1px solid #e5d19d;border-radius:17px;background:#fff1d6ed;padding:10px 13px;backdrop-filter:blur(12px)}
.music-player summary::-webkit-details-marker{display:none}
.music-player-note{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;background:#427768;color:#fff0c8;font:26px/1 var(--serif)}
.music-player-label{display:grid;gap:3px;min-width:0}
.music-player-label small{font:600 7px var(--sans);letter-spacing:.12em;color:#788c75}
.music-player-label strong{font:500 12px var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#315d50}
.music-player-toggle{margin-left:auto;font:300 25px/1 var(--sans);color:#967942;transition:transform .2s}
.music-player[open] .music-player-toggle{transform:rotate(45deg)}
.music-player-panel{margin-top:8px;padding:11px;border-radius:16px;border:1px solid #e5d19d;background:#fff7e6f2;backdrop-filter:blur(14px)}
.music-player-panel p{margin:0 0 8px;font:500 10px var(--sans);letter-spacing:.08em;color:#708675}
.music-player-panel iframe{display:block;width:100%;height:175px;border:0;border-radius:10px;background:transparent}
@media(max-width:600px){.music-player{left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));width:min(330px,calc(100vw - 24px))}.music-player summary{min-height:52px}.music-player-panel{padding:8px}.music-player-label strong{font-size:12px}}

@media(max-width:380px){
  .hero{min-height:640px}
  .hero-names>p{font-size:9px;letter-spacing:.13em}
  .hero h1{font-size:53px}
  .event-medallion{min-height:220px}
  .countdown-row{gap:6px}
  .countdown-row b{font-size:26px}
}

@media(max-width:600px){
  .hero-art{inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:20% center}
  .hero-veil{background:linear-gradient(180deg,rgba(31,38,35,.42),rgba(31,38,35,.16) 38%,transparent 62%,rgba(26,40,37,.13))}
}

/* Minimal floating music control, inspired by the reference invitation. */
.music-dock{position:fixed;z-index:60;left:max(20px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));display:grid;justify-items:center;gap:5px;color:#65465e;font-family:var(--sans)}
.music-button{display:grid;place-items:center;width:56px;height:56px;border:1px solid #ead8c7;border-radius:50%;background:#fffaf1ed;color:#77566b;box-shadow:0 7px 22px #38252424;backdrop-filter:blur(12px);cursor:pointer;transition:transform .22s,background .22s,color .22s,box-shadow .22s}
.music-button:hover{transform:translateY(-2px);box-shadow:0 10px 26px #38252430}
.music-button:focus-visible{outline:3px solid #b5824e;outline-offset:3px}
.music-button-icon{font:29px/1 var(--serif);transform:translateY(-1px)}
.music-button.is-playing{background:#f5e7d8;color:#8b4765;box-shadow:0 0 0 4px #fff9f0,0 0 0 6px #c59b713e,0 8px 24px #38252424}
.music-button.is-playing .music-button-icon{animation:music-gentle-turn 5s linear infinite}
.music-caption{font:500 9px/1 var(--sans);letter-spacing:.15em}
.music-dock audio{display:none}
@keyframes music-gentle-turn{to{transform:rotate(360deg)}}
@media(max-width:600px){.music-dock{left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom))}.music-button{width:52px;height:52px}}
@media(prefers-reduced-motion:reduce){.music-button,.music-button.is-playing .music-button-icon{animation:none;transition:none}}
