/* Maroon Wedding: dedicated natural-color artwork, gold ornaments, white type. */
html:root,:root body{background:#3d0c1a;color:#fff;scrollbar-color:#ba8b57 #481121}
:root .ivory-bloom{--burgundy:#70162c;--burgundy-dark:#481021;--gold:#dbb578;--paper-light:#70162c;--ink:#fff;--maroon-paper:radial-gradient(ellipse at 35% 10%,#94455a33,transparent 60%),repeating-linear-gradient(27deg,#efbe7b05 0 1px,transparent 1px 4px);background:#70162c;color:#fff}
:root .ivory-bloom .sacred-content{background:#70162c;color:#fff}
:root .ivory-bloom :is(h1,h2,h3,p,span,strong,small,b,em,label,li){color:#fff!important;text-shadow:none}
:root .ivory-bloom :is(.sacred-hero,.scratch-date-section,.countdown-section,.schedule-section,.location-section,.notes-section,.rsvp-section,.invite-footer){background-color:#70162c!important;background-image:var(--maroon-paper)!important;background-blend-mode:normal!important;color:#fff}
:root .ivory-bloom .sacred-opening{background:#70162c}
:root .ivory-bloom .envelope-interior{background:radial-gradient(ellipse at 50% 35%,#883047,#531224 80%)}
:root .ivory-bloom .envelope-art{filter:none!important}
:root .ivory-bloom .envelope-inner-light{background:#70162c!important;filter:none!important}
:root .ivory-bloom .envelope-inner-light svg{filter:none!important}
:root .ivory-bloom .envelope-inner-light svg stop{stop-color:#70162c}
:root .ivory-bloom .envelope-inner-light svg rect{fill:#772239;stroke:#b98c54}
:root .ivory-bloom :is(.envelope-silver-sheen,.emboss-silver-flashes,.envelope-silver-trace){display:none!important}
:root .ivory-bloom .envelope-joint-light path{stroke:#d3a86e}
:root .ivory-bloom .sacred-seal{background:radial-gradient(circle at 30% 22%,#a95067,#781e37 65%,#4a1124);box-shadow:0 12px 20px #20030b70,inset 0 0 0 2px #d5aa6c,inset 2px 3px 5px 6px #bf7687}
:root .ivory-bloom .sacred-seal:before{border-color:#dfbd86;box-shadow:0 0 0 3px #661a30,inset 0 1px 3px #ffdeaa66}
:root .ivory-bloom .sacred-seal:after{background:conic-gradient(#711a32,#d6a18f,#521225,#d6a18f,#711a32);box-shadow:inset 1px 2px 3px #ffc99966,0 3px 6px #26071355}
:root .ivory-bloom .tap-copy{color:#fff}
:root .ivory-bloom .tap-copy:before{border-color:#dfbd86}
:root .ivory-bloom .sacred-hero{aspect-ratio:941/1672;min-height:0;padding:0;isolation:isolate;container-type:inline-size}
:root .ivory-bloom .sacred-hero:before{content:"";position:absolute;inset:0 0 auto;height:32%;background:url('../../maroon-assets/arch.svg') top center/100% auto no-repeat;pointer-events:none;z-index:1}
:root .ivory-bloom .sacred-hero:after{display:none}
:root .ivory-bloom .hero-vellum{position:absolute;inset:0;min-height:0;padding:0;width:100%;text-shadow:none;z-index:3}
:root .ivory-bloom .hero-vellum .ganesh-blessing{position:absolute;top:14%;left:18%;width:64%;margin:0}
:root .ivory-bloom .ganesh-blessing>span{font-size:9cqw;line-height:1.1}
:root .ivory-bloom .ganesh-blessing p{font-size:2.9cqw;margin:8px 0 0}
:root .ivory-bloom .sacred-hero .invite-eyebrow{position:absolute;top:25%;left:14%;width:72%;font-size:7.5cqw!important;line-height:1.15;margin:0!important}
:root .ivory-bloom .sacred-hero .hero-date-small{position:absolute;top:30.5%;left:20%;width:60%;max-width:none;font-size:3.3cqw!important;line-height:1.4!important;letter-spacing:.15cqw!important;margin:0!important}
:root .ivory-bloom .sacred-hero h1{position:absolute;top:35.5%;left:18%;width:64%!important;margin:0!important;gap:0!important}
:root .ivory-bloom .sacred-hero h1 .hero-person{font-size:8.6cqw!important;line-height:1.05!important;white-space:nowrap;color:#fff!important;margin:0!important;text-shadow:none!important}
:root .ivory-bloom .sacred-hero h1 .hero-join{font-size:4.2cqw!important;line-height:1.15!important;margin:2px auto!important;color:#e8c28b!important}
:root .ivory-bloom .bloom-video{z-index:1;inset:52% auto auto 24%;width:52%;height:40%;object-fit:cover;object-position:center;mix-blend-mode:normal;opacity:1;filter:none;border:1px solid #dcaf6b;border-radius:45% 45% 8px 8px/22% 22% 8px 8px;box-shadow:0 6px 30px #26071366}
:root .ivory-bloom .hero-pillar-decor img{width:28%;max-width:none;height:auto;top:44%;object-fit:contain;filter:drop-shadow(0 6px 8px #31071555)}
:root .ivory-bloom .hero-pillar-left{left:-3%}
:root .ivory-bloom .hero-pillar-right{right:-3%;transform:scaleX(-1)}
:root .ivory-bloom .hero-flower{width:32%;height:18%;bottom:-1%}
:root .ivory-bloom .hero-flower img{filter:none;object-fit:contain;transform:scaleY(-1)}
:root .ivory-bloom .hero-flower-right img{transform:scale(-1)}
:root .ivory-bloom .hero-flower-decor:before,:root .ivory-bloom .hero-flower-decor:after{content:"";position:absolute;top:0;width:29%;height:22%;background:url('../../maroon-assets/gold-floral-corner.png') top left/contain no-repeat}
:root .ivory-bloom .hero-flower-decor:before{left:0}
:root .ivory-bloom .hero-flower-decor:after{right:0;transform:scaleX(-1)}
:root .ivory-bloom .scroll-invite{position:absolute;bottom:2%;top:auto;left:34%;width:32%;margin:0;padding:7px 5px;border-radius:18px;background:#fff6e9;color:#70162c;border:1px solid #dfbd86;box-shadow:0 4px 16px #29061133}
:root .ivory-bloom .scroll-invite span{font-size:4.8cqw;color:#70162c!important}
:root .ivory-bloom .scroll-invite svg{width:15px;height:15px}
:root .ivory-bloom .scroll-invite{left:calc(50% - 70px);bottom:1%;width:140px;height:48px;min-height:48px;box-sizing:border-box;transform:none;animation:none;padding:4px 12px;border-radius:6px;gap:2px;flex-direction:column-reverse;justify-content:center}
:root .ivory-bloom .scroll-invite span{font-size:22px;line-height:1.1;letter-spacing:0!important}
:root .ivory-bloom .scroll-invite svg{width:18px;height:18px;animation:none;flex:none}
:root .ivory-bloom :is(.replay-opening,.music-toggle,.invite-button,.calendar-link){color:#70162c;background:#fff8f0;border-color:#dbb578;box-shadow:0 4px 16px #29061133}
:root .ivory-bloom .music-toggle{width:56px;height:56px;right:18px;bottom:18px}
:root .ivory-bloom .scratch-date-section:before,:root .ivory-bloom .scratch-date-section:after{content:"";position:absolute;top:0;width:29%;height:23%;background:url('../../maroon-assets/gold-floral-corner.png') top left/contain no-repeat;pointer-events:none}
:root .ivory-bloom .scratch-date-section:before{left:0}
:root .ivory-bloom .scratch-date-section:after{right:0;transform:scaleX(-1)}
:root .ivory-bloom .scratch-date-section{background-image:url('../../maroon-assets/arch.svg'),var(--maroon-paper)!important;background-position:top center,center;background-size:100% auto,auto;background-repeat:no-repeat,repeat}
:root .ivory-bloom .date-bell-sticker{display:none}
:root .ivory-bloom .date-flower-sticker img{filter:none;object-fit:contain}
:root .ivory-bloom .date-flower-left img{transform:scaleY(-1)}
:root .ivory-bloom .date-flower-right img{transform:scale(-1)}
:root .ivory-bloom .scratch-value{background:radial-gradient(circle at 35% 30%,#9d3e59,#611429);box-shadow:inset 0 0 0 1px #e2c090,inset 0 0 0 5px #781e37,inset 0 0 0 7px #bf945d}
:root .ivory-bloom .scratch-tile:before{background:repeating-conic-gradient(#dfbd86 0deg 1.4deg,transparent 1.4deg 6.43deg)}
:root .ivory-bloom .scratch-coating{filter:none}
:root .ivory-bloom :is(.date-ganesh,.bloom-ornament,.ceremony-rule,.ornate-heading:after){color:#dfbd86!important}
:root .ivory-bloom .date-lotus-divider g{fill:#dfbd86;stroke:#c79853}
:root .ivory-bloom .date-om{color:#fff!important}
:root .ivory-bloom .schedule-section:before{background:url('../../maroon-assets/arch.svg') top center/100% auto no-repeat;mix-blend-mode:normal;height:54cqw}
:root .ivory-bloom .schedule-flower-sticker{width:28%;height:24cqw;max-height:none}
:root .ivory-bloom .schedule-flower-sticker img{object-fit:contain;filter:none}
:root .ivory-bloom .schedule-flower-top-left img{transform:none}
:root .ivory-bloom .schedule-flower-top-right img{transform:scaleX(-1)}
:root .ivory-bloom .schedule-flower-bottom-left img{transform:scaleY(-1)}
:root .ivory-bloom .schedule-flower-bottom-right img{transform:scale(-1)}
:root .ivory-bloom .schedule-section .ornate-heading{font-size:9cqw;line-height:1.2;margin-bottom:18px}
:root .ivory-bloom .schedule-section .ornate-heading{font-size:38px;white-space:normal}
:root .ivory-bloom .schedule-blessing p{font-size:4cqw}
:root .ivory-bloom .schedule-blessing small{font-size:3.7cqw}
:root .ivory-bloom .timeline-scroll-progress{background:linear-gradient(#dfbd86,#a6743b)}
:root .ivory-bloom .timeline-lotus img{filter:none}
:root .ivory-bloom .timeline-row:before{background:#dfbd86}
:root .ivory-bloom .ceremony-rule{background:none}
:root .ivory-bloom .location-section .venue-art{display:block;position:absolute;left:7%;top:29%;width:86%;height:33%;border:1px solid #dfbd86;border-radius:45% 45% 5px 5px/45% 45% 5px 5px;overflow:hidden;background:#fff5e8}
:root .ivory-bloom .location-section .venue-art img{width:100%;height:100%;object-fit:cover;filter:none;opacity:1}
:root .ivory-bloom .location-section:before,:root .ivory-bloom .invite-footer:before{content:"";position:absolute;top:0;left:0;width:27%;height:23%;background:url('../../maroon-assets/gold-floral-corner.png') top left/contain no-repeat;pointer-events:none}
:root .ivory-bloom .venue-map-card{border-color:#dfbd86;background:#71152c}
:root .ivory-bloom .venue-map-card .invite-button{color:#70162c;background:#fff8f0;border-color:#dfbd86}
:root .ivory-bloom .dear-note{border-color:#dfbd8666}
:root .ivory-bloom .engagement-note{background:#5e1126;border-color:#dfbd8666}
:root .ivory-bloom .time-box{border-color:#dfbd8666}
:root .ivory-bloom .rsvp-section :is(input,textarea,select){color:#70162c!important;background:#fff8f0!important;border-color:#dbb578}
:root .ivory-bloom .invite-footer{background-image:url('../../maroon-assets/couple-cutout.png'),var(--maroon-paper)!important;background-position:center bottom 2%,center;background-size:93% 61%,auto;background-repeat:no-repeat,repeat}
:root .ivory-bloom .invite-footer h2{top:7%;font-size:13cqw}
:root .ivory-bloom .invite-footer .footer-blessings{top:18%;font-size:4.5cqw}
:root .ivory-bloom .invite-footer>strong{top:25%;font-size:5.5cqw}
:root .ivory-bloom .invite-footer .family-hosts{top:31.5%;font-size:3.5cqw}
:root .ivory-bloom .invite-footer .couple-photo{position:absolute;z-index:1;top:auto;left:3.5%;bottom:2%;width:93%;height:61%;margin:0;object-fit:contain;border:0;border-radius:0;background:transparent}
:root .ivory-bloom .invite-footer :is(h2,.footer-blessings,strong,.family-hosts,small){z-index:2}
:root .ivory-bloom .invite-footer:after{content:"";position:absolute;bottom:0;right:0;width:23%;height:22%;background:url('../../maroon-assets/gold-floral-corner.png') top left/contain no-repeat;transform:scale(-1);pointer-events:none}
:root .ivory-bloom .falling-flower{opacity:.35}
@media(max-width:380px){:root .ivory-bloom .sacred-hero .invite-eyebrow{font-size:7.2cqw!important}:root .ivory-bloom .ganesh-blessing p{font-size:2.7cqw}:root .ivory-bloom .schedule-section .ornate-heading{font-size:8.7cqw}}
@media(prefers-reduced-motion:reduce){:root .ivory-bloom :is(.hero-flower,.schedule-flower-sticker){animation:none}}/* Final alignment and legacy patch cleanup. */
:root .ivory-bloom .sacred-hero:before{height:25%;background-size:100% 100%}
:root .ivory-bloom .date-bottom-lotus-mask,:root .ivory-bloom .diya-living-flame{display:none!important}
:root .ivory-bloom .scratch-date-section h2,:root .ivory-bloom .location-section>h2,:root .ivory-bloom .invite-footer h2{max-width:none!important}
/* Venue and RSVP use a flowing layout so longer content remains readable. */
:root .ivory-bloom .location-section{aspect-ratio:auto;min-height:0;padding:58px 28px 48px;display:flex;flex-direction:column;align-items:center;gap:14px;border-top:1px solid #dbb57855;border-bottom:1px solid #dbb57855}
:root .ivory-bloom .location-section:before{width:110px;height:100px;opacity:.65}
:root .ivory-bloom .location-section>.invite-eyebrow{position:relative;inset:auto;width:100%;margin:0;font:42px/1.15 'Great Vibes','Segoe Script',cursive}
:root .ivory-bloom .location-section>h2{position:relative;inset:auto;width:100%;margin:0;font:32px/1.2 'Cormorant Garamond',Georgia,serif;white-space:normal;overflow-wrap:anywhere;letter-spacing:0}
:root .ivory-bloom .location-section>p:not(.invite-eyebrow){position:relative;inset:auto;width:100%;max-width:380px;margin:0;font:18px/1.5 'Cormorant Garamond',Georgia,serif;letter-spacing:0;color:#f3dfc1!important}
:root .ivory-bloom .location-section .venue-art{position:relative;inset:auto;width:100%;height:210px;margin:12px 0 6px;border-radius:48% 48% 4px 4px;border:1px solid #dfbd86;background:#f7eada}
:root .ivory-bloom .location-section .venue-art img{object-position:center 48%}
:root .ivory-bloom .venue-map-card{position:relative;inset:auto;width:100%;height:auto;display:flex;flex-direction:column;border:1px solid #dfbd86;border-radius:6px;box-shadow:0 8px 24px #29061133;overflow:hidden}
:root .ivory-bloom .venue-map-card .venue-map{position:relative;inset:auto;height:220px;flex:none;display:block;filter:none}
:root .ivory-bloom .venue-map-card .invite-button{position:relative;inset:auto;justify-content:center;width:100%;min-height:50px;margin:0;padding:14px 18px;border:0;border-top:1px solid #dfbd86;border-radius:0;font:600 17px/1.3 'Cormorant Garamond',Georgia,serif;box-shadow:none;text-decoration:none}
:root .ivory-bloom .rsvp-section{position:relative;padding:58px 28px 64px;text-align:center;border-bottom:1px solid #dbb57855}
:root .ivory-bloom .rsvp-section>h2{max-width:380px;margin:0 auto 20px;font:42px/1.15 'Great Vibes','Segoe Script',cursive}
:root .ivory-bloom .rsvp-section>p:not(.rsvp-open-copy){max-width:340px;margin:0 auto 30px;font:20px/1.55 'Cormorant Garamond',Georgia,serif;color:#f3dfc1!important}
:root .ivory-bloom .rsvp-seal{display:block;position:relative;inset:auto;width:124px;height:124px;margin:0 auto 28px;cursor:pointer;transition:transform .2s ease}
:root .ivory-bloom .rsvp-seal:hover{transform:translateY(-3px)}
:root .ivory-bloom .rsvp-open-copy{display:none}
:root .ivory-bloom .calendar-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 24px;border:1px solid #dbb578;border-radius:6px;font:600 17px/1.3 'Cormorant Garamond',Georgia,serif;text-decoration:none;cursor:pointer}
:root .ivory-bloom :is(.calendar-link,.invite-button,.rsvp-seal):focus-visible{outline:3px solid #f3dfc1;outline-offset:5px}
@media(max-width:380px){:root .ivory-bloom .location-section,:root .ivory-bloom .rsvp-section{padding-left:22px;padding-right:22px}:root .ivory-bloom .location-section>h2{font-size:28px}:root .ivory-bloom .rsvp-section>h2{font-size:36px}}
/* Corner artwork has a fixed footprint independent of section height. */
:root .ivory-bloom{--corner-flower-size:110px}
:root .ivory-bloom :is(.hero-flower,.date-flower-sticker,.schedule-flower-sticker){position:absolute;width:var(--corner-flower-size);height:var(--corner-flower-size);max-width:35%;max-height:none;animation:none;will-change:auto}
:root .ivory-bloom :is(.hero-flower,.date-flower-sticker,.schedule-flower-sticker) img{width:100%;height:100%;object-fit:contain}
:root .ivory-bloom :is(.hero-flower-left,.date-flower-left,.schedule-flower-bottom-left){left:0;bottom:0}
:root .ivory-bloom :is(.hero-flower-right,.date-flower-right,.schedule-flower-bottom-right){right:0;bottom:0}
:root .ivory-bloom .schedule-flower-top-left{left:0;top:0}
:root .ivory-bloom .schedule-flower-top-right{right:0;top:0}
:root .ivory-bloom .hero-flower-decor:before,:root .ivory-bloom .hero-flower-decor:after,:root .ivory-bloom .scratch-date-section:before,:root .ivory-bloom .scratch-date-section:after,:root .ivory-bloom .location-section:before,:root .ivory-bloom .invite-footer:before,:root .ivory-bloom .invite-footer:after{width:var(--corner-flower-size);height:var(--corner-flower-size);max-width:35%;background-size:contain}
