@font-face{font-family:Blush Script;src:url("fonts/GreatVibes-Regular.d1358c495233.ttf") format('truetype');font-display:swap}@font-face{font-family:Blush Serif;src:url("fonts/PlayfairDisplay.038aec929d8d.ttf") format('truetype');font-weight:400 900;font-display:swap}@font-face{font-family:Blush Body;src:url("../fonts/manrope.946beb949095.ttf") format('truetype');font-weight:200 800;font-display:swap}
:root{color-scheme:light;--rose:#b24e53;--ink:#594c48;--muted:#82726b;--paper:#fbf1e8;--line:#e5c9bc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f9eee6;color:var(--ink);font:14px/1.65 Blush Body,Arial,sans-serif}.blush-invitation{width:100%;max-width:560px;margin:auto;overflow:clip;background:var(--paper);box-shadow:0 0 80px #7953470d}.blush-section{position:relative;isolation:isolate;overflow:hidden;background:#fbf1e8;background-image:url("assets/paper.91e45fe7d565.webp");background-size:520px auto}.blush-section::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:245px;height:260px;background:url("assets/flowers.6e991cfcaa01.webp") center/contain no-repeat;right:-88px;top:-55px;transform:rotate(190deg);opacity:.85}.blush-section::before{content:"";position:absolute;z-index:-1;pointer-events:none;width:220px;height:250px;background:url("assets/flowers.6e991cfcaa01.webp") center/contain no-repeat;left:-85px;bottom:-45px;opacity:.88}h1,h2,h3,p{margin:0}h2{font:400 clamp(39px,10.4vw,57px)/1.02 Blush Script,cursive;color:var(--rose);text-align:center;text-wrap:balance;margin:0 auto 26px;max-width:88%;overflow-wrap:anywhere}h3{font:400 23px/1.3 Blush Serif,Georgia,serif}p+p{margin-top:18px}a{color:inherit}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--rose);outline-offset:4px}.blush-copy{padding:0 30px;text-align:center}.blush-copy>p{max-width:360px;margin-inline:auto}.blush-small{font-size:11px;color:var(--muted)}.blush-divider{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto 22px;width:105px;color:var(--rose)}.blush-divider span{height:1px;background:#d8948b;width:31px}.blush-divider svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1}.blush-pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #eec9c1;border-radius:24px;background:#f7cfca;color:#883d42;padding:10px 18px;text-decoration:none;font-size:12px;margin-top:20px}.blush-pill svg{width:18px;height:18px;stroke:currentColor;fill:none}.blush-hero{height:850px;min-height:690px;max-height:1100px}.blush-hero::before,.blush-hero::after{display:none}.blush-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.blush-hero-copy{position:relative;text-align:center;padding:42px 27px 0}.blush-hero h1{font:400 60px/.92 Blush Script,cursive;color:var(--rose);overflow-wrap:anywhere;margin:0 auto 21px;max-width:420px;text-shadow:0 1px 10px #fff9}.blush-hero h1 span{display:block}.blush-hero h1 em{display:block;font:400 40px/.95 Blush Script,cursive;margin:0 0 5px}.blush-hero-title{font-size:10px;line-height:1.7;letter-spacing:1.3px;text-transform:uppercase;max-width:270px;margin:0 auto 9px}.blush-hero time{font:400 27px/1.5 Blush Serif,Georgia,serif;color:var(--rose)}.blush-text{padding-top:43px}.blush-text h2{max-width:235px;margin-bottom:29px;font-size:52px}.blush-text .blush-copy .blush-divider{margin-top:24px}.blush-stationery{position:relative;margin-top:-12px}.blush-stationery img{display:block;width:100%;height:395px;object-fit:cover;object-position:center 68%}.blush-stationery span{position:absolute;left:31%;top:44%;width:40%;font:400 52px/1 Blush Script,cursive;transform:rotate(-12deg);color:#ad6d52;text-align:center;overflow-wrap:anywhere}.blush-date-photo{width:100%;height:330px;object-fit:cover;display:block}.blush-date-copy{padding:25px 23px 32px;text-align:center}.blush-date-copy h2{font:400 26px/1.25 Blush Serif,Georgia,serif;max-width:260px;color:var(--ink);margin-bottom:17px}.blush-big-date{display:flex;flex-direction:column;color:var(--rose);font:400 19px/1.4 Blush Serif,Georgia,serif;letter-spacing:3px;text-transform:uppercase}.blush-big-date strong{font-size:57px;line-height:1.1;letter-spacing:0;font-weight:400}.blush-calendar{background:#fff8;border-radius:14px;padding:15px;margin:22px auto 0;max-width:330px}.blush-calendar p{text-transform:uppercase;font-size:11px;letter-spacing:.5px}.blush-calendar table{width:100%;border-collapse:collapse;font-size:12px;margin-top:12px}.blush-calendar th{font-weight:400;font-size:9px;color:var(--muted);padding:5px 0 9px}.blush-calendar td{padding:3px 0;line-height:26px}.blush-calendar td span{display:inline-block;min-width:26px;border-radius:50%}.blush-calendar .is-event-day{background:#be4657;color:white}.blush-calendar-download{background:#fff9;color:var(--ink);margin-top:14px}.blush-schedule{padding:68px 30px 60px}.blush-schedule h2{max-width:290px;font-size:54px;margin-bottom:43px}.blush-timeline{list-style:none;margin:0 auto;padding:0;max-width:330px}.blush-timeline li{display:grid;grid-template-columns:55px 1fr;gap:20px;min-height:126px;position:relative}.blush-timeline li:not(:last-child)::after{content:"";position:absolute;left:64px;top:12px;bottom:-12px;border-left:1px solid #d8948b}.blush-timeline li::before{content:"";position:absolute;width:7px;height:7px;left:61px;top:11px;background:#c57978;border-radius:50%}.blush-timeline-icon{color:var(--rose);display:flex;justify-content:center;padding-top:2px}.blush-timeline-icon svg{height:35px;width:35px;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}.blush-timeline time{font-weight:600;font-size:14px}.blush-timeline h3{font:400 15px/1.5 Blush Body,sans-serif}.blush-timeline p{font-size:12px;color:var(--muted);line-height:1.45}.blush-location{padding-top:48px}.blush-location h2{max-width:245px;margin-bottom:28px}.blush-location-photo{width:100%;height:330px;object-fit:cover;display:block}.blush-location .blush-copy{padding:22px 30px 26px}.blush-location h3{margin-bottom:12px}.blush-location .blush-copy p{margin-top:8px}.blush-location-secondary{display:block;width:100%;height:240px;object-fit:cover}.blush-dress_code{padding-top:52px;padding-bottom:38px}.blush-dress_code h2{font-size:54px}.blush-colors{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:24px 0 8px}.blush-colors span{display:block;width:52px;height:52px;border-radius:50%;box-shadow:inset 0 0 0 1px #6f444412}.blush-dress-photo{width:100%;height:340px;object-fit:cover;display:block;margin-top:24px}.blush-dress-caption{text-align:center;font-size:12px;margin:14px}.blush-outfits{display:flex;justify-content:center;gap:16px;padding:0 25px}.blush-outfits img{width:calc(50% - 8px);height:190px;object-fit:cover;border-radius:100px 100px 85px 85px}.blush-gallery{padding:0 20px 28px}.blush-gallery h2{max-width:220px}.blush-gallery.blush-section{padding-top:42px}.blush-collage{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:relative;align-items:center;padding:10px 0}.blush-gallery-photo{margin:0;background:#fff;padding:6px;box-shadow:0 6px 16px #88563b18;transform:rotate(-5deg);grid-column:1/-1}.blush-gallery-photo:nth-child(2n){transform:rotate(6deg)}.blush-gallery-photo img{display:block;width:100%;height:190px;object-fit:cover}.blush-gallery-photo:nth-child(3n+2){grid-column:1;width:115%;z-index:1}.blush-gallery-photo:nth-child(3n+2) img{height:170px}.blush-gallery-card{position:absolute;right:-4px;top:40%;width:47%;padding:30px 16px;transform:rotate(9deg);font:400 32px/1.15 Blush Script,cursive;color:var(--rose);background:#fff7ec;box-shadow:0 4px 16px #79534720;border:1px solid #ead6c7;z-index:2;text-align:center;overflow-wrap:anywhere}.blush-gallery.is-enhanced .blush-gallery-photo[hidden]{display:none}.blush-gallery-controls{justify-content:center;align-items:center;gap:25px;margin-top:15px}.blush-gallery-controls:not([hidden]){display:flex}.blush-gallery-controls button{border:0;background:none;color:var(--rose);font-size:29px;padding:8px 17px;cursor:pointer}.blush-gallery-controls output{font-size:14px}.blush-rsvp{padding-bottom:40px}.blush-banquet{display:block;width:100%;height:255px;object-fit:cover}.blush-rsvp .blush-copy{padding:28px 27px 0}.blush-rsvp h2{font-size:47px;margin-bottom:20px}.blush-rsvp-form{text-align:left;margin-top:28px}.blush-field{margin-bottom:15px}.blush-field>label{display:block;font-size:12px;margin-bottom:6px}.blush-field input:not([type=radio]),.blush-field textarea,.blush-field select{width:100%;background:#fff7;border:1px solid #e9cec4;border-radius:9px;padding:11px 12px;min-height:43px;color:var(--ink)}.blush-field textarea{height:85px;resize:vertical}.blush-field input[type=radio]{accent-color:#bf4056;min-width:18px;min-height:18px;vertical-align:middle;margin-right:8px}.blush-field #id_attending label{font-size:13px;line-height:2.5}.blush-rsvp-form button{width:100%;border:0;border-radius:30px;background:#c93955;color:white;padding:13px;cursor:pointer;margin-top:6px;box-shadow:0 4px 12px #c9395520}.blush-rsvp-form button:disabled{opacity:.65;cursor:default}.blush-rsvp-form>p{text-align:center;margin-top:15px}.blush-success{border:1px solid #d1b3a5;border-radius:12px;padding:18px;margin-top:20px;background:#fff8}.errorlist{color:#a82540;font-size:12px;padding-left:20px}.blush-countdown{padding:72px 24px 240px;min-height:700px}.blush-countdown::before{width:420px;height:360px;left:-72px;bottom:-45px;opacity:1}.blush-countdown h2{font-size:54px;max-width:265px;margin-bottom:52px}.blush-countdown[data-countdown]{padding:0;min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;background:none;overflow:visible}.blush-countdown[data-countdown]::before,.blush-countdown[data-countdown]::after{display:none}.blush-countdown[data-countdown]>div{border:1px solid #e9cec4;border-radius:8px;background:#fff5;text-align:center;padding:14px 3px 12px;min-width:0}.blush-countdown strong{font:400 clamp(24px,7.5vw,37px)/1.2 Blush Serif,Georgia,serif;color:var(--rose);overflow-wrap:anywhere}.blush-countdown span{display:block;font-size:11px;color:#a77a72}.blush-countdown-message{text-align:center;margin-top:25px}.blush-finale{padding:70px 0 70px;min-height:750px}.blush-finale h2{max-width:275px;font-size:55px}.blush-finale-photo{width:100%;height:355px;object-fit:cover;display:block;margin-top:48px}.blush-signature{font:400 57px/1.1 Blush Script,cursive;color:var(--rose);max-width:270px;text-wrap:balance;overflow-wrap:anywhere;margin:56px auto 0;text-align:center}.blush-empty{padding:60px 30px;text-align:center}
@media(min-width:600px){.blush-hero{height:1050px}.blush-hero-copy{padding-top:60px}.blush-hero h1{font-size:78px}.blush-hero-title{font-size:12px}.blush-hero time{font-size:32px}.blush-copy{padding-inline:55px}.blush-section h2{font-size:60px}.blush-date-copy h2{font-size:29px}.blush-date-photo{height:400px}.blush-stationery img{height:470px}.blush-location-photo{height:420px}.blush-gallery-photo img{height:260px}.blush-gallery-photo:nth-child(3n+2) img{height:215px}.blush-dress-photo{height:400px}.blush-outfits img{height:240px}.blush-countdown{padding-inline:45px}.blush-finale-photo{height:400px}}
@media(max-width:374px){.blush-hero{height:790px}.blush-hero h1{font-size:54px}.blush-copy{padding-inline:25px}.blush-countdown{padding-inline:17px}.blush-colors span{width:47px;height:47px}.blush-rsvp h2{font-size:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

.blush-finale::after{top:auto;bottom:-15px;right:-78px;transform:rotate(-20deg)}.blush-finale{background-image:url("assets/curtains.246f4e9bc7a3.webp"),url("assets/paper.91e45fe7d565.webp");background-position:top center,center;background-repeat:no-repeat,repeat;background-size:100% 680px,520px auto}.blush-section::before{animation:blush-breathe 10s ease-in-out infinite}@keyframes blush-breathe{0%,100%{opacity:.88}50%{opacity:.72}}

.blush-section{background-blend-mode:soft-light}.blush-section::after{width:200px;right:-110px;top:-80px}.blush-section::before{left:-110px}.blush-countdown::before{left:-72px}.blush-finale{background-blend-mode:normal,soft-light}.blush-finale::after{right:-78px;top:auto}.blush-hero h1.has-long-names{font-size:38px;line-height:1.1}.blush-hero h1.has-long-names em{font-size:30px}

.blush-cover-preview .blush-invitation{max-width:none}.blush-cover-preview .blush-hero{height:100vh;min-height:0}.blush-cover-preview .blush-hero-copy{padding-top:30px}.blush-cover-preview .blush-hero h1{font-size:64px;margin-bottom:16px}.blush-cover-preview .blush-hero-title{font-size:10px}.blush-cover-preview .blush-hero time{font-size:26px}.blush-cover-preview 

/* User-approved correction: one quiet farewell after the timer, no photo/signature. */
.blush-section.blush-countdown{padding:60px 24px 24px;min-height:0}
.blush-section.blush-countdown::before{display:none}
.blush-section.blush-countdown h2{margin-bottom:35px}
.blush-section.blush-finale{padding:25px 25px 160px;min-height:275px;background-image:url("assets/paper.91e45fe7d565.webp");background-size:520px auto;background-repeat:repeat;background-blend-mode:soft-light}
.blush-section.blush-finale h2{font-size:45px;max-width:310px;margin-bottom:0}
.blush-section.blush-finale::after{display:none}
.blush-section.blush-finale::before{width:265px;height:220px;left:auto;right:-20px;bottom:-65px;opacity:.92;animation:none}

/* Explicit user changes: static three-photo collage; centered day programme. */
.blush-section.blush-date{padding-top:28px}
.blush-section.blush-rsvp{padding-top:42px}
.blush-timeline{width:250px;max-width:100%;margin-inline:auto}
.blush-schedule{padding-inline:35px}
.blush-timeline li{grid-template-columns:45px minmax(0,1fr);gap:20px}
.blush-timeline li:not(:last-child)::after{left:55px}
.blush-timeline li::before{left:52px}
.blush-gallery-controls{display:none!important}

/* Decor flows across section backgrounds, underneath text, without section cropping. */
.blush-invitation{position:relative;isolation:isolate}
.blush-section{isolation:auto;overflow:visible}
.blush-section::before,.blush-section::after{z-index:1;pointer-events:none;width:190px;height:220px}
.blush-section::after{right:-145px;top:-75px;transform:rotate(190deg)}
.blush-section::before{left:-155px;bottom:-65px;animation:none}
.blush-section>*{position:relative;z-index:2}
.blush-section.blush-hero{overflow:hidden}
.blush-hero-photo{position:absolute}

.blush-text::before,.blush-text::after,.blush-date::before,.blush-location::before,.blush-gallery.blush-section::before,.blush-finale::before,.blush-finale::after{display:none}
.blush-copy{padding-inline:40px}
.blush-section.blush-finale{padding:30px 25px 80px;min-height:0}
.blush-section.blush-finale h2{font-size:68px;line-height:1.02;max-width:340px}
.blush-finale h2 span{display:block}
.blush-timeline li>div{text-align:center}
@media(max-width:374px){.blush-copy{padding-inline:35px}.blush-section.blush-finale h2{font-size:62px}}

.blush-timeline li:last-child{min-height:0}.blush-section.blush-schedule{padding-bottom:20px}.blush-section.blush-location{padding-top:24px}

.blush-field input[type=radio]{appearance:none;-webkit-appearance:none;width:20px;height:20px;min-width:20px;min-height:20px;margin:0 10px 2px 0;border:1px solid #bc6770;border-radius:50%;background:#fff9;box-shadow:inset 0 0 0 4px #fbf1e8;cursor:pointer;vertical-align:middle;transition:background-color .15s ease,border-color .15s ease}
.blush-field input[type=radio]:checked{background:#c64158;border-color:#c64158}
.blush-field #id_attending label{display:flex;align-items:center;gap:0;line-height:1.5;padding:9px 0;cursor:pointer}
@media(forced-colors:active){.blush-field input[type=radio]{appearance:auto;-webkit-appearance:auto}}

.blush-location .blush-venue-title{padding-bottom:16px}.blush-venue-figure{margin:0}.blush-venue-figure figcaption{font-size:9px;text-align:right;padding:4px 12px;color:#8c7770}.blush-venue-figure figcaption a{color:inherit}.blush-location-photo{height:auto;aspect-ratio:4/3;object-fit:cover}

.blush-gallery-photo img{height:auto;aspect-ratio:3/2}.blush-gallery-photo:nth-child(3n+2){width:100%}.blush-gallery-photo:nth-child(3n+2) img{height:auto;aspect-ratio:3/4}

@media(max-width:600px){.blush-cover-preview .blush-hero-copy{padding-top:20px}.blush-cover-preview .blush-hero h1{font-size:56px}.blush-cover-preview .blush-hero time{font-size:24px}}

/* Farewell and timer form one quiet ending, with no trailing scene. */
.blush-section.blush-finale{padding:50px 16px 18px;min-height:0}
.blush-section.blush-finale h2{font-size:clamp(35px,10.3vw,54px);line-height:1.25;max-width:none;margin:0;text-wrap:initial;overflow-wrap:normal}
.blush-section.blush-countdown{padding:24px 24px 68px;min-height:0}
.blush-finale + .blush-countdown{padding-top:0}
.blush-section.blush-countdown::after{display:none}
.blush-dress-caption{margin-top:26px}

/* Full-screen cover; a small framing reserve makes both positioning sliders useful. */
.blush-hero-media{position:absolute;inset:0;overflow:hidden}
.blush-hero-photo{width:104%;height:104%;inset:auto;left:var(--photo-x,50%);top:var(--photo-y,50%);transform:translate(calc(-1 * var(--photo-x,50%)),calc(-1 * var(--photo-y,50%)))}
.blush-hero{height:100svh;min-height:700px;max-height:1100px}

/* A quieter editorial cover for the documentary couple portrait. */
.blush-hero-copy{padding-top:42px;color:#514b3e}
.blush-hero h1,.blush-cover-preview .blush-hero h1{font:400 clamp(38px,11vw,56px)/1.12 Blush Serif,Georgia,serif;color:#514b3e;letter-spacing:-1.2px;text-shadow:none;margin-bottom:23px}
.blush-hero h1 em{font:italic 400 25px/1.5 Blush Serif,Georgia,serif;color:#80745d;margin:3px 0;letter-spacing:0}
.blush-hero time,.blush-cover-preview .blush-hero time{display:block;font:400 17px/1.5 Blush Body,sans-serif;letter-spacing:3px;color:#615740;margin-top:10px}
.blush-hero-copy>p{font-size:12px;line-height:1.5;margin-bottom:12px}
.blush-location-photo{aspect-ratio:3/2;height:auto}
.blush-gallery-photo img,.blush-gallery-photo:nth-child(3n+2) img{height:auto;aspect-ratio:auto;object-fit:contain}
@media(min-width:600px){.blush-hero-copy{padding-top:54px}.blush-hero h1{font-size:62px}.blush-hero time{font-size:19px}}

.blush-cover-preview .blush-hero{height:100vh;min-height:0}

.blush-hero-copy{padding-top:clamp(22px,5svh,42px)}
.blush-hero h1{font-size:clamp(32px,4.8svh,48px);margin-bottom:16px}
.blush-hero h1 em{font-size:20px;line-height:1.3}
.blush-hero time{font-size:14px;letter-spacing:3px;margin-top:8px}
@media(min-width:600px){.blush-hero{height:1100px}.blush-hero h1{font-size:56px}.blush-hero-copy{padding-top:50px}.blush-hero time{font-size:17px}}
.blush-cover-preview .blush-hero-photo{object-position:50% 0%!important}
.blush-cover-preview .blush-hero{height:100vh;min-height:0}
.blush-cover-preview .blush-hero h1{font-size:48px}


.blush-stationery span{left:52%;top:57%;width:66%;font-size:clamp(62px,18vw,86px);line-height:1.1;white-space:nowrap;transform:translate(-50%,-50%) rotate(-12deg)}
.blush-outfits{align-items:start}
.blush-outfits img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}
.blush-palette-outfits{display:block;width:calc(100% - 48px);height:auto;margin:22px auto 0;border-radius:12px}
/* Keep the monogram comfortably inside the stationery on narrow screens. */
@media(max-width:599px){.blush-stationery{container-type:inline-size}.blush-stationery span{width:52%;font-size:14.5cqi}}
