/* Approved coffee walk and burgundy dinner, isolated from site/editor chrome. */
body.date-live{margin:0;background:var(--paper);color:var(--ink);font:18px/1.65 Arial,sans-serif;--paper:#fcf5ee;--ink:#49302c;--soft:#eed9d5;--accent:#49302c;--line:#b99993}
body.date-live.dinner{--paper:#fcf3ec;--ink:#641d32;--soft:#efdbd7;--accent:#7c263d}
body.date-live #invitation{max-width:none;width:100%;overflow:hidden}
.date-live #invitation *{box-sizing:border-box}
.date-live #invitation :is(h1,h2,h3,p){margin:0}
.date-live #invitation :is(h1,h2){font-family:Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-.04em;white-space:pre-line;word-break:normal;overflow-wrap:normal;hyphens:none}
.date-live #invitation h1{font-size:clamp(54px,6.7vw,110px)}
.date-live #invitation h2{font-size:clamp(38px,4.6vw,72px)}
.date-live #invitation p{line-height:1.8}
.date-live #invitation a{color:inherit;text-underline-offset:5px}
.date-live #invitation :focus-visible{outline:3px solid #bc8243;outline-offset:5px}
.date-live .eyebrow{font-size:16px;letter-spacing:.13em;text-transform:uppercase}
.date-live .hero{position:relative;min-height:min(920px,calc(100svh - 76px));display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:90px 6% 110px;gap:0}
.date-live .hero-copy{z-index:2;max-width:640px}
.date-live #invitation .hero h1{margin:24px 0}
.date-live .subtitle{max-width:460px;font-size:20px}
.date-live #invitation .date{display:inline-block;margin-top:28px;padding:9px 0;border-block:1px solid;font-size:18px}
.date-live .art-stage{position:relative;margin-inline:-5% -6%;animation:date-float 9s ease-in-out infinite}
.date-live .art-stage img{display:block;width:100%;height:auto}
.date-live .hero-foot{position:absolute;bottom:28px;inset-inline-start:6%;font:italic 20px Georgia,serif}
.date-live .intro{padding:110px 13%;display:grid;grid-template-columns:100px 1fr;gap:36px;align-items:start;background:var(--soft)}
.date-live .quote{font:190px/.9 Georgia,serif;opacity:.5}
.date-live #invitation .intro h2{margin-bottom:30px}
.date-live .intro p{max-width:710px}
.date-live .venue{padding:100px 12% 80px;text-align:center;position:relative}
.date-live .rendezvous{padding:50px 6%;border:1px solid currentColor;border-radius:180px 180px 0 0;max-width:900px;margin:auto}
.date-live #invitation .venue h2{margin:26px auto;max-width:780px}
.date-live .venue a{display:inline-block;margin-top:24px;min-height:44px}
.date-live .date-venue-photo{display:block;max-width:100%;max-height:420px;object-fit:contain;margin:30px auto 0;border-radius:16px}
.date-live :is(.invitation-details,.date-program){padding:90px 12%;text-align:center;background:var(--soft)}
.date-live .detail-line{width:70px;height:1px;display:block;background:currentColor;margin:0 auto 35px}
.date-live #invitation :is(.invitation-details,.date-program) h2{margin-bottom:25px}
.date-live #invitation .invitation-details p{max-width:760px;margin:14px auto 0}
.date-live .invitation-rsvp{padding:100px 8%;text-align:center}
.date-live #invitation .invitation-rsvp h2{margin:20px 0 35px}
.date-live .rsvp-disclosure{max-width:540px;margin:24px auto 0}
.date-live .rsvp-disclosure summary{list-style:none;border-radius:40px;background:var(--ink);color:var(--paper);padding:15px 24px;font:18px/1.5 Arial,sans-serif;cursor:pointer;min-height:48px}
.date-live .rsvp-disclosure summary::-webkit-details-marker{display:none}
.date-live .rsvp-disclosure__panel{margin-top:24px;padding:25px;text-align:start;border:1px solid;border-radius:22px}
.date-live .rsvp-disclosure :is(input,textarea,select,button){font:18px Arial,sans-serif}
.date-live .rsvp-disclosure fieldset{border:0;padding:0;margin:0 0 24px}
.date-live .rsvp-disclosure button{background:var(--ink);color:var(--paper);border:0;border-radius:30px;padding:15px 24px;min-height:48px;cursor:pointer}
.date-live .closing{padding:75px 8% 35px;text-align:center;background:var(--soft)}
.date-live #invitation .closing h2{font-style:italic;max-width:900px;margin:auto}
.date-live #invitation footer{padding:90px 20px 40px;text-align:center;background:var(--soft)}
.date-live #invitation footer a{font:14px/1.5 Arial,sans-serif;text-decoration:none}
.date-live.walk :is(h1,h2){font-style:italic}
.date-live.walk .hero{background:linear-gradient(110deg,#fcf5ee 45%,#eed9d5)}
.date-live.walk .hero-foot{font-style:normal}
.date-live.walk .rendezvous{border-radius:10px;transform:rotate(-1deg);box-shadow:10px 10px 0 #eed9d5}
.date-live .gallery-section{padding:70px 6%;text-align:center}
.date-live .public-gallery{display:flex;gap:24px;overflow:auto;padding:35px 0}
.date-live .public-gallery figure{margin:0;flex:0 0 min(70%,430px)}
.date-live .public-gallery img{width:100%;height:400px;object-fit:contain;display:block}
.date-live.walk .closing-art{display:block;width:clamp(180px,24vw,290px);max-width:75%;height:auto;margin:30px auto 0}
.date-live.dinner :is(.hero,.closing,#invitation footer){background:#641d32;color:#fff2e4}
.date-live.dinner .hero{background:radial-gradient(ellipse at 75% 50%,#83344c 0,#641d32 65%)}
.date-live.dinner .venue{background:#77263e;color:#fff2e4}
.date-live.dinner .closing-art{display:block;width:clamp(230px,32vw,390px);max-width:85%;height:auto;margin:35px auto 0}
@keyframes date-float{50%{transform:translateY(-12px) rotate(1deg)}}
@media(max-width:760px){.date-live .hero{padding:65px 7% 60px;min-height:0;grid-template-columns:1fr;text-align:center}.date-live .hero-copy{max-width:none}.date-live #invitation h1{font-size:clamp(48px,11.8vw,82px)}.date-live #invitation .hero h1{margin:18px 0}.date-live .subtitle{font-size:18px;margin:auto}.date-live .art-stage{margin:-10px auto 0;width:min(100%,500px)}.date-live .hero-foot{position:static;grid-column:1;font-size:18px;margin-top:5px}.date-live #invitation .date{font-size:17px;margin-top:20px}.date-live .intro{padding:65px 8%;display:block}.date-live .quote{font-size:110px;display:block;height:65px}.date-live #invitation h2{font-size:clamp(35px,8vw,55px)}.date-live .venue{padding:65px 6%}.date-live .rendezvous{padding:55px 8% 35px;border-radius:120px 120px 0 0}.date-live :is(.invitation-details,.date-program){padding:65px 8%}.date-live .invitation-rsvp{padding:65px 7%}.date-live .closing{padding:60px 8% 20px}.date-live .public-gallery figure{flex-basis:82%}.date-live .public-gallery img{height:340px}}
@media(prefers-reduced-motion:reduce){.date-live .art-stage{animation:none}.date-live #invitation *{scroll-behavior:auto;transition:none!important}}
html[dir="rtl"] .date-live #invitation :is(h1,h2,.eyebrow){letter-spacing:normal}
@media(max-width:760px){html[dir="rtl"] .date-live .hero .copy{ text-align:center }}
