/* Shuhaida & Aiyman RSVP — isolated from WordPress theme. */
.shai-rsvp{
      --green:#2acf24;
      --green-deep:#11651b;
      --green-dark:#183c21;
      --green-pale:#e7ffe5;
      --white:#ffffff;
      --line:rgba(42,207,36,.23);
      --serif:"Playfair Display", Georgia, serif;
      --script:"Great Vibes", cursive;
      --sans:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
.shai-rsvp, .shai-rsvp *{ box-sizing:border-box; }
.shai-rsvp{ scroll-behavior:smooth; scroll-padding-top:84px; }
.shai-rsvp{ margin:0; background:var(--white); color:var(--green-dark); font-family:var(--sans); -webkit-font-smoothing:antialiased; overflow-x:hidden; }
.shai-rsvp button,.shai-rsvp input,.shai-rsvp select,.shai-rsvp textarea{ font:inherit; }
.shai-rsvp button,.shai-rsvp a{ -webkit-tap-highlight-color:transparent; }
.shai-rsvp button{ cursor:pointer; }
.shai-rsvp a{ color:inherit; }
.shai-rsvp ::selection{ background:var(--green); color:var(--white); }
.shai-rsvp .container{ width:min(1120px,calc(100% - 48px)); margin-inline:auto; }
.shai-rsvp .demo-banner{ background:var(--green-dark); color:#fff; text-align:center; font-size:11px; letter-spacing:.075em; font-weight:700; padding:9px 18px; }
.shai-rsvp .demo-banner[hidden]{ display:none; }
.shai-rsvp .site-header{ position:sticky; top:0; z-index:30; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); background:rgba(255,255,255,.93); border-bottom:1px solid var(--line); }
.shai-rsvp .header-inner{ height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.shai-rsvp .monogram{ display:inline-flex; align-items:center; justify-content:center; color:var(--green-deep); text-decoration:none; width:51px; height:51px; border:1px solid var(--green); border-radius:50%; font-family:var(--serif); font-style:italic; font-weight:600; font-size:18px; letter-spacing:-.09em; }
.shai-rsvp .desktop-nav{ display:flex; align-items:center; gap:30px; }
.shai-rsvp .desktop-nav a:not(.nav-rsvp){ text-decoration:none; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; transition:color .2s; }
.shai-rsvp .desktop-nav a:hover{ color:var(--green-deep); }
.shai-rsvp .nav-rsvp{ text-decoration:none; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.085em; padding:13px 22px; color:white; background:var(--green); border-radius:100px; transition:transform .2s,background .2s; }
.shai-rsvp .nav-rsvp:hover{ transform:translateY(-2px); background:#24b81f; }
.shai-rsvp .hero{ position:relative; isolation:isolate; min-height:min(780px,calc(100svh - 76px)); display:grid; align-items:center; overflow:hidden; background:radial-gradient(circle at 50% 45%,#fafff9 0%,#fff 62%); }
.shai-rsvp .hero::before,.shai-rsvp .hero::after{ content:""; position:absolute; width:580px; height:580px; border:1px solid rgba(42,207,36,.17); border-radius:50%; pointer-events:none; z-index:-1; }
.shai-rsvp .hero::before{ top:-370px; left:-260px; box-shadow:0 0 0 55px rgba(42,207,36,.025),0 0 0 112px rgba(42,207,36,.023); }
.shai-rsvp .hero::after{ bottom:-450px; right:-205px; box-shadow:0 0 0 52px rgba(42,207,36,.028),0 0 0 108px rgba(42,207,36,.02); }
.shai-rsvp .hero-layout{ position:relative; padding:85px 0 83px; text-align:center; }
.shai-rsvp .overline{ display:inline-flex; align-items:center; gap:13px; color:var(--green-deep); letter-spacing:.26em; text-transform:uppercase; font-size:11px; font-weight:700; }
.shai-rsvp .overline::before,.shai-rsvp .overline::after{ content:""; display:block; width:25px; height:1px; background:var(--green); }
.shai-rsvp .hero h1{ margin:24px 0 12px; font-family:var(--serif); color:var(--green-deep); line-height:1.02; font-size:clamp(64px,10vw,136px); font-weight:400; letter-spacing:-.065em; }
.shai-rsvp .hero h1 .amp{ display:block; font-family:var(--script); font-size:clamp(57px,7.7vw,103px); color:var(--green); font-weight:400; line-height:.65; margin:4px 0 15px; transform:rotate(-6deg); }
.shai-rsvp .hero-subtitle{ font-family:var(--serif); text-transform:uppercase; font-size:13px; letter-spacing:.26em; margin:37px 0 0; font-weight:500; }
.shai-rsvp .hero-date{ display:flex; align-items:center; justify-content:center; gap:18px; margin-top:17px; font-weight:700; letter-spacing:.08em; font-size:15px; }
.shai-rsvp .hero-date .dot{ height:5px; width:5px; border-radius:50%; background:var(--green); }
.shai-rsvp .hero-cta{ margin-top:37px; display:inline-flex; align-items:center; gap:13px; padding:16px 28px; background:var(--green); color:white; border-radius:99px; text-decoration:none; font-size:13px; font-weight:700; box-shadow:0 13px 25px rgba(42,207,36,.2); transition:transform .22s,box-shadow .22s; }
.shai-rsvp .hero-cta:hover{ transform:translateY(-3px); box-shadow:0 15px 30px rgba(42,207,36,.29); }
.shai-rsvp .hero-cta svg{ width:17px; height:17px; }
.shai-rsvp .botanical{ position:absolute; z-index:-1; width:min(300px,30vw); height:auto; color:var(--green); opacity:.56; pointer-events:none; }
.shai-rsvp .botanical.left{ left:-18px; bottom:3%; transform:rotate(-8deg); }
.shai-rsvp .botanical.right{ right:-17px; top:5%; transform:scaleX(-1) rotate(-8deg); }
.shai-rsvp .hero-bottom{ position:absolute; bottom:0; left:0; width:100%; height:18px; background:repeating-linear-gradient(90deg,var(--green) 0 58px,#fff 58px 62px); }
.shai-rsvp .intro{ text-align:center; padding:111px 0 112px; }
.shai-rsvp .bismillah{ font-family:serif; font-size:clamp(28px,4vw,41px); color:var(--green-deep); line-height:1.8; margin:0 0 23px; }
.shai-rsvp .intro .small-label{ font-size:11px; color:var(--green-deep); text-transform:uppercase; letter-spacing:.3em; font-weight:700; }
.shai-rsvp .section-heading{ font-family:var(--serif); font-weight:400; font-size:clamp(38px,5vw,62px); line-height:1.16; letter-spacing:-.045em; margin:15px 0 21px; }
.shai-rsvp .section-heading em{ color:var(--green-deep); font-weight:400; }
.shai-rsvp .intro-copy{ line-height:1.95; font-size:15px; color:#47634b; max-width:620px; margin:0 auto; }
.shai-rsvp .invite-names{ color:var(--green-deep); font-family:var(--serif); font-size:clamp(30px,4vw,46px); font-weight:500; line-height:1.3; margin:28px 0; }
.shai-rsvp .invite-names .couple-amp{ font-family:var(--script); color:var(--green); font-size:1.45em; padding:0 11px; }
.shai-rsvp .tiny-flower{ color:var(--green); width:50px; height:50px; display:block; margin:26px auto 0; }
.shai-rsvp .details{ background:var(--green); color:white; position:relative; overflow:hidden; }
.shai-rsvp .details::before{ content:""; position:absolute; top:-200px; right:-180px; width:550px; height:550px; border:1px solid rgba(255,255,255,.3); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.075),0 0 0 140px rgba(255,255,255,.045); }
.shai-rsvp .details-inner{ position:relative; padding:95px 0 105px; }
.shai-rsvp .details-header{ text-align:center; }
.shai-rsvp .details-header .overline{ color:white; }
.shai-rsvp .details-header .overline::before,.shai-rsvp .details-header .overline::after{ background:white; }
.shai-rsvp .details-header .section-heading{ color:white; margin-bottom:45px; }
.shai-rsvp .event-card{ display:grid; grid-template-columns:1fr 1fr; background:white; color:var(--green-dark); border-radius:25px; overflow:hidden; box-shadow:0 20px 60px rgba(15,87,23,.12); }
.shai-rsvp .event-date{ padding:61px 35px; background:#f6fff5; display:flex; align-items:center; flex-direction:column; justify-content:center; text-align:center; border-right:1px solid var(--line); }
.shai-rsvp .event-month{ text-transform:uppercase; letter-spacing:.25em; font-size:13px; font-weight:700; color:var(--green-deep); }
.shai-rsvp .event-day{ line-height:1; margin:12px 0; font-family:var(--serif); font-size:clamp(112px,14vw,164px); font-weight:400; color:var(--green); letter-spacing:-.065em; }
.shai-rsvp .event-weekday{ color:var(--green-deep); font-family:var(--serif); font-size:28px; margin-bottom:8px; }
.shai-rsvp .event-year{ letter-spacing:.3em; font-size:14px; font-weight:700; }
.shai-rsvp .event-info{ display:flex; flex-direction:column; justify-content:center; padding:55px 50px; gap:33px; }
.shai-rsvp .info-entry{ display:flex; align-items:flex-start; gap:17px; }
.shai-rsvp .info-icon{ flex:none; display:grid; place-items:center; width:44px; height:44px; border-radius:50%; color:var(--green-deep); background:var(--green-pale); }
.shai-rsvp .info-icon svg{ width:21px; height:21px; stroke-width:1.7; }
.shai-rsvp .info-entry h3{ margin:1px 0 8px; text-transform:uppercase; color:var(--green-deep); font-size:11px; letter-spacing:.15em; }
.shai-rsvp .info-entry p{ margin:0; line-height:1.7; font-size:15px; }
.shai-rsvp .info-entry strong{ font-size:18px; font-weight:600; }
.shai-rsvp .detail-buttons{ display:flex; flex-wrap:wrap; gap:12px; margin-top:1px; }
.shai-rsvp .pill-button{ display:inline-flex; align-items:center; justify-content:center; gap:9px; text-decoration:none; color:var(--green-deep); border:1px solid var(--green); background:white; border-radius:100px; padding:13px 17px; font-size:12px; font-weight:700; transition:background .2s,color .2s,transform .2s; }
.shai-rsvp .pill-button:hover{ background:var(--green-deep); color:white; transform:translateY(-2px); }
.shai-rsvp .pill-button svg{ width:16px; height:16px; }
.shai-rsvp .countdown-section{ padding:105px 0; text-align:center; }
.shai-rsvp .countdown-section .section-heading{ margin-bottom:14px; }
.shai-rsvp .countdown-description{ font-size:14px; color:#59705d; margin:0 0 38px; }
.shai-rsvp .countdown{ display:flex; gap:15px; justify-content:center; max-width:660px; margin:auto; }
.shai-rsvp .count-unit{ flex:1; min-width:0; border:1px solid var(--line); background:#fafffa; border-radius:21px; padding:24px 10px 20px; }
.shai-rsvp .count-unit strong{ display:block; color:var(--green-deep); font-family:var(--serif); font-weight:500; font-size:clamp(35px,5vw,57px); font-variant-numeric:tabular-nums; }
.shai-rsvp .count-unit span{ display:block; margin-top:8px; font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#627f65; }
.shai-rsvp .timeline-section{ padding:0 0 112px; }
.shai-rsvp .timeline-wrap{ max-width:730px; margin:auto; }
.shai-rsvp .timeline-wrap .section-heading{ text-align:center; margin-bottom:39px; }
.shai-rsvp .timeline{ display:grid; grid-template-columns:1fr; }
.shai-rsvp .timeline-row{ display:grid; grid-template-columns:145px 26px 1fr; align-items:flex-start; column-gap:26px; min-height:105px; }
.shai-rsvp .timeline-time{ text-align:right; padding-top:2px; font-weight:700; color:var(--green-deep); font-size:13px; }
.shai-rsvp .timeline-line{ position:relative; height:100%; display:flex; justify-content:center; }
.shai-rsvp .timeline-line::before{ content:""; position:absolute; top:7px; bottom:0; width:1px; background:var(--line); }
.shai-rsvp .timeline-row:last-child .timeline-line::before{ display:none; }
.shai-rsvp .timeline-line::after{ content:""; position:absolute; top:3px; height:13px; width:13px; background:white; border:3px solid var(--green); border-radius:50%; }
.shai-rsvp .timeline-description{ border-bottom:1px solid var(--line); padding:0 0 23px; }
.shai-rsvp .timeline-row:last-child .timeline-description{ border-bottom:0; }
.shai-rsvp .timeline-description h3{ font-family:var(--serif); font-size:22px; font-weight:500; margin:-4px 0 6px; }
.shai-rsvp .timeline-description p{ margin:0; color:#69816d; font-size:13px; line-height:1.6; }
.shai-rsvp .rsvp-section{ background:linear-gradient(135deg,#efffee 0%,white 55%,#f6fff5 100%); padding:108px 0; border-top:1px solid var(--line); }
.shai-rsvp .rsvp-grid{ display:grid; grid-template-columns:.88fr 1.12fr; gap:68px; align-items:start; }
.shai-rsvp .rsvp-heading{ position:sticky; top:120px; padding-top:20px; }
.shai-rsvp .rsvp-heading .section-heading{ font-size:clamp(48px,5.3vw,76px); line-height:1.05; }
.shai-rsvp .rsvp-heading p{ color:#5c765f; max-width:375px; font-size:15px; line-height:1.9; }
.shai-rsvp .rsvp-decoration{ color:var(--green); width:175px; height:175px; margin-top:25px; }
.shai-rsvp .form-card{ background:white; border:1px solid var(--line); border-radius:27px; padding:42px; box-shadow:0 20px 70px rgba(32,98,43,.08); }
.shai-rsvp .form-card h3{ font-family:var(--serif); font-size:30px; font-weight:500; margin:0 0 9px; letter-spacing:-.02em; }
.shai-rsvp .form-hint{ color:#6b806e; line-height:1.6; margin:0 0 29px; font-size:13px; }
.shai-rsvp .field{ margin-bottom:21px; }
.shai-rsvp .field label,.shai-rsvp .field-label{ display:block; margin-bottom:9px; color:#234a2b; font-weight:700; font-size:12px; }
.shai-rsvp .field label .required,.shai-rsvp .field-label .required{ color:#df3c3c; }
.shai-rsvp .field input,.shai-rsvp .field select,.shai-rsvp .field textarea{ appearance:none; width:100%; border:1px solid #d9ebd9; background:#fcfffc; border-radius:12px; padding:15px 15px; color:var(--green-dark); outline:none; transition:box-shadow .18s,border-color .18s; font-size:14px; }
.shai-rsvp .field input:focus,.shai-rsvp .field select:focus,.shai-rsvp .field textarea:focus{ border-color:var(--green); box-shadow:0 0 0 4px rgba(42,207,36,.13); }
.shai-rsvp .field input::placeholder,.shai-rsvp .field textarea::placeholder{ color:#8ba08f; }
.shai-rsvp .field textarea{ min-height:108px; resize:vertical; }
.shai-rsvp .select-shell{ position:relative; }
.shai-rsvp .select-shell::after{ content:""; position:absolute; right:17px; top:50%; width:7px; height:7px; border-right:2px solid var(--green-deep); border-bottom:2px solid var(--green-deep); transform:translateY(-65%) rotate(45deg); pointer-events:none; }
.shai-rsvp .radio-options{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.shai-rsvp .attendance-option{ position:relative; display:block; cursor:pointer; }
.shai-rsvp .attendance-option input{ opacity:0; position:absolute; width:1px; height:1px; }
.shai-rsvp .attendance-option .option-surface{ display:flex; align-items:center; justify-content:center; gap:8px; min-height:52px; padding:10px 6px; text-align:center; border:1px solid #d9ebd9; border-radius:12px; color:#355c3c; font-size:13px; font-weight:700; transition:background .18s,border-color .18s,color .18s; }
.shai-rsvp .attendance-option .option-surface svg{ width:17px; height:17px; }
.shai-rsvp .attendance-option input:checked + .option-surface{ border-color:var(--green); background:var(--green-pale); color:var(--green-deep); box-shadow:inset 0 0 0 1px var(--green); }
.shai-rsvp .attendance-option input:focus-visible + .option-surface{ outline:3px solid rgba(42,207,36,.35); outline-offset:3px; }
.shai-rsvp .guests-field[hidden]{ display:none; }
.shai-rsvp .form-disclaimer{ margin:0 0 20px; color:#77917c; font-size:11px; line-height:1.65; }
.shai-rsvp .submit-button{ width:100%; display:flex; align-items:center; justify-content:center; gap:12px; border:0; border-radius:13px; padding:18px; background:var(--green); color:white; font-size:13px; font-weight:700; letter-spacing:.04em; transition:transform .2s,background .2s; }
.shai-rsvp .submit-button:hover:not(:disabled){ background:#23bc20; transform:translateY(-2px); }
.shai-rsvp .submit-button:disabled{ opacity:.7; cursor:wait; }
.shai-rsvp .submit-button svg{ width:18px; height:18px; }
.shai-rsvp .form-message{ margin:15px 0 0; font-size:13px; line-height:1.6; border-radius:10px; padding:13px; }
.shai-rsvp .form-message[hidden]{ display:none; }
.shai-rsvp .form-message.error{ background:#fff0f0; color:#a02b2b; }
.shai-rsvp .form-message.success{ background:#ebffeb; color:#176b20; }
.shai-rsvp .form-message.info{ background:#f1fff1; color:#397543; }
.shai-rsvp .visually-hidden{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.shai-rsvp .final-section{ padding:105px 20px 85px; text-align:center; }
.shai-rsvp .final-section svg{ width:54px; height:54px; color:var(--green); }
.shai-rsvp .final-section .section-heading{ margin:19px 0 13px; }
.shai-rsvp .final-section p{ line-height:1.8; color:#628269; max-width:540px; margin:0 auto; font-size:14px; }
.shai-rsvp .footer{ padding:27px 20px; text-align:center; background:var(--green); color:white; font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.shai-rsvp .mobile-nav{ display:none; }
.shai-rsvp .reveal{ opacity:0; transform:translateY(20px); transition:opacity .7s ease,transform .7s ease; }
.shai-rsvp .reveal.is-visible{ opacity:1; transform:none; }
.shai-rsvp dialog{ border:0; border-radius:25px; padding:0; width:min(440px,calc(100% - 32px)); box-shadow:0 25px 90px rgba(19,63,27,.24); }
.shai-rsvp dialog::backdrop{ background:rgba(8,44,17,.53); backdrop-filter:blur(4px); }
.shai-rsvp .dialog-inner{ padding:40px 32px; text-align:center; }
.shai-rsvp .dialog-check{ width:70px; height:70px; margin:0 auto 17px; display:grid; place-items:center; background:var(--green-pale); border-radius:50%; color:var(--green-deep); }
.shai-rsvp .dialog-check svg{ width:34px; height:34px; }
.shai-rsvp .dialog-inner h3{ font-family:var(--serif); font-size:31px; font-weight:500; margin:0 0 11px; }
.shai-rsvp .dialog-inner p{ color:#5a735e; line-height:1.75; font-size:14px; }
.shai-rsvp .dialog-inner button{ border:0; border-radius:99px; padding:13px 35px; margin-top:10px; background:var(--green); color:#fff; font-weight:700; }
@media (max-width:900px) {.shai-rsvp .desktop-nav{ gap:18px; }
.shai-rsvp .rsvp-grid{ gap:35px; }
.shai-rsvp .form-card{ padding:31px; }
.shai-rsvp .event-info{ padding:40px 29px; }
.shai-rsvp .botanical{ opacity:.36; }}
@media (max-width:650px) {.shai-rsvp{ scroll-padding-top:76px; }
.shai-rsvp .container{ width:min(100% - 36px,1120px); }
.shai-rsvp .site-header .header-inner{ height:65px; }
.shai-rsvp .desktop-nav a:not(.nav-rsvp){ display:none; }
.shai-rsvp .nav-rsvp{ padding:11px 17px; }
.shai-rsvp .monogram{ width:43px; height:43px; font-size:16px; }
.shai-rsvp .hero{ min-height:calc(90svh - 65px); }
.shai-rsvp .hero-layout{ padding:92px 0 105px; }
.shai-rsvp .hero h1{ font-size:clamp(55px,13.3vw,88px); margin-top:23px; }
.shai-rsvp .hero h1 .amp{ font-size:67px; margin:5px 0 15px; }
.shai-rsvp .hero-subtitle{ margin-top:29px; font-size:11px; }
.shai-rsvp .hero-date{ font-size:13px; gap:11px; }
.shai-rsvp .hero-cta{ margin-top:28px; }
.shai-rsvp .botanical.left{ width:180px; left:-95px; bottom:5%; }
.shai-rsvp .botanical.right{ width:180px; right:-95px; top:5%; }
.shai-rsvp .overline{ font-size:10px; letter-spacing:.17em; }
.shai-rsvp .intro{ padding:83px 0; }
.shai-rsvp .section-heading{ font-size:clamp(37px,9vw,48px); }
.shai-rsvp .intro-copy{ font-size:14px; }
.shai-rsvp .invite-names{ font-size:30px; }
.shai-rsvp .details-inner{ padding:75px 0 79px; }
.shai-rsvp .details-header .section-heading{ margin-bottom:29px; }
.shai-rsvp .event-card{ grid-template-columns:1fr; border-radius:20px; }
.shai-rsvp .event-date{ padding:34px 20px 38px; border-right:0; border-bottom:1px solid var(--line); }
.shai-rsvp .event-day{ font-size:115px; margin:5px 0; }
.shai-rsvp .event-weekday{ font-size:23px; }
.shai-rsvp .event-info{ padding:39px 27px 42px; gap:30px; }
.shai-rsvp .info-entry strong{ font-size:16px; }
.shai-rsvp .countdown-section{ padding:79px 0 91px; }
.shai-rsvp .countdown{ gap:8px; }
.shai-rsvp .count-unit{ padding:16px 6px; border-radius:13px; }
.shai-rsvp .count-unit strong{ font-size:clamp(30px,8vw,44px); }
.shai-rsvp .count-unit span{ font-size:9px; letter-spacing:.07em; }
.shai-rsvp .timeline-section{ padding:0 0 82px; }
.shai-rsvp .timeline-row{ grid-template-columns:82px 20px 1fr; column-gap:12px; min-height:100px; }
.shai-rsvp .timeline-time{ font-size:11px; }
.shai-rsvp .timeline-description h3{ font-size:20px; }
.shai-rsvp .rsvp-section{ padding:79px 0 86px; }
.shai-rsvp .rsvp-grid{ grid-template-columns:1fr; gap:31px; }
.shai-rsvp .rsvp-heading{ position:static; padding-top:0; text-align:center; }
.shai-rsvp .rsvp-heading .section-heading{ font-size:50px; }
.shai-rsvp .rsvp-heading p{ margin-inline:auto; }
.shai-rsvp .rsvp-decoration{ display:none; }
.shai-rsvp .form-card{ padding:26px 22px; border-radius:20px; }
.shai-rsvp .form-card h3{ font-size:27px; }
.shai-rsvp .final-section{ padding:80px 18px 94px; }
.shai-rsvp .footer{ padding-bottom:90px; }
.shai-rsvp .mobile-nav{ display:grid; grid-template-columns:repeat(4,1fr); position:fixed; left:11px; right:11px; bottom:max(10px,env(safe-area-inset-bottom)); z-index:35; padding:10px 5px 8px; border:1px solid var(--line); border-radius:19px; box-shadow:0 10px 45px rgba(19,74,25,.16); background:rgba(255,255,255,.96); backdrop-filter:blur(15px); }
.shai-rsvp .mobile-nav a,.shai-rsvp .mobile-nav button{ background:none; border:0; color:var(--green-dark); text-decoration:none; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; font-size:10px; font-weight:700; }
.shai-rsvp .mobile-nav svg{ width:21px; height:21px; color:var(--green-deep); }
.shai-rsvp .mobile-nav .mobile-primary{ color:var(--green-deep); }}
@media (prefers-reduced-motion:reduce) {.shai-rsvp, .shai-rsvp *,.shai-rsvp *::before,.shai-rsvp *::after{ animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
.shai-rsvp .reveal{ opacity:1; transform:none; }}
/* Full-bleed shortcode in constrained theme containers. */
.shai-rsvp { display:block; position:relative; left:50%; width:100vw; max-width:none; margin-left:-50vw; margin-right:0; padding:0; isolation:isolate; line-height:1.55; }
.shai-rsvp .rsvp-anchor { scroll-margin-top:90px; }
.admin-bar .shai-rsvp .site-header { top:32px; }
@media(max-width:782px){.admin-bar .shai-rsvp .site-header{top:46px}}
.shai-rsvp button,.shai-rsvp input,.shai-rsvp select,.shai-rsvp textarea { letter-spacing:normal; box-shadow:none; }
.shai-rsvp svg { display:inline-block; vertical-align:middle; height:auto; }
.shai-rsvp .mobile-nav svg,.shai-rsvp .info-icon svg,.shai-rsvp .pill-button svg,.shai-rsvp .hero-cta svg,.shai-rsvp .submit-button svg { height:20px; }
.shai-rsvp [hidden] { display:none!important; }
.shai-rsvp .visually-hidden {position:absolute!important;}

/* V1.1 - Original ivory & green hand-illustrated wedding style. Canvas-like editorial composition. */
.shai-rsvp{
 --green:#2acf24; --green-deep:#25623a; --green-dark:#25442e; --green-pale:#edfae9;
 --ivory:#fbfaef; --cream:#f5f4e8; --ink:#2b4633; --line:rgba(67,116,62,.21);
 --serif:"Cormorant Garamond", Georgia, serif;
 background:var(--ivory); color:var(--ink);
}
.shai-rsvp .container{width:min(1140px,calc(100% - 52px));}
.shai-rsvp .site-header{background:rgba(251,250,239,.96);border-bottom:1px solid #d6dfc8;backdrop-filter:blur(12px);}
.shai-rsvp .header-inner{height:87px;}
.shai-rsvp .monogram{width:auto;height:auto;border:0;border-radius:0;display:flex;flex-direction:column;align-items:center;gap:0;font-size:31px;line-height:.9;letter-spacing:-.08em;color:#2c623e;}
.shai-rsvp .monogram-caption{font:500 8px/1.5 var(--sans);letter-spacing:.27em;text-transform:uppercase;margin:8px 0 0 3px;}
.shai-rsvp .desktop-nav a:not(.nav-rsvp){font-size:11px;font-weight:600;letter-spacing:.15em;color:#42624a;}
.shai-rsvp .nav-rsvp{border-radius:3px;color:#163a21;background:var(--green);font-size:11px;padding:13px 23px;box-shadow:4px 4px 0 #a8cfa0;}
.shai-rsvp .nav-rsvp:hover{background:#42dc3b;color:#163a21;}
.shai-rsvp .hero{min-height:750px;background:radial-gradient(ellipse at 32% 30%,#fffdf5,#f6f5e9 80%);display:flex;align-items:center;}
.shai-rsvp .hero::before,.shai-rsvp .hero::after{display:none;}
.shai-rsvp .hero-frame{position:absolute;inset:17px;pointer-events:none;border:1px solid rgba(100,133,77,.25);}
.shai-rsvp .hero-frame::before,.shai-rsvp .hero-frame::after{content:'✳';position:absolute;font-size:20px;color:#7da579;background:var(--ivory);padding:0 8px;top:-17px;}
.shai-rsvp .hero-frame::before{left:25px;}.shai-rsvp .hero-frame::after{right:25px;}
.shai-rsvp .hero-layout{display:grid;grid-template-columns:1.03fr .97fr;align-items:center;text-align:left;gap:27px;padding:75px 0 115px;min-height:750px;}
.shai-rsvp .hero-content{position:relative;z-index:2;padding:0 0 0 34px;}
.shai-rsvp .hero-kicker{display:block;color:#678c68;font:400 23px/1.65 Georgia,serif;margin:0 0 24px;}
.shai-rsvp .overline{font-size:10px;letter-spacing:.25em;color:#2e6a3e;font-weight:700;}
.shai-rsvp .overline::before{width:22px;}.shai-rsvp .overline::after{display:none;}
.shai-rsvp .hero h1{font-size:clamp(76px,9vw,126px);color:#245b39;font-weight:500;line-height:.82;letter-spacing:-.06em;margin:24px 0 29px;}
.shai-rsvp .hero h1 span:not(.amp){display:block;}
.shai-rsvp .hero h1 .amp{font-family:var(--script);display:block;font-size:73px;color:#53ad4c;line-height:.5;font-weight:400;margin:18px 0 25px 115px;transform:rotate(-11deg);}
.shai-rsvp .hero-subtitle{font-family:var(--sans);font-weight:400;text-transform:none;font-size:14px;line-height:1.8;letter-spacing:0;margin:0 0 17px;max-width:435px;color:#647467;}
.shai-rsvp .hero-date{justify-content:flex-start;font-size:13px;font-weight:600;letter-spacing:.12em;color:#3b6b46;margin:0;}
.shai-rsvp .hero-date .dot{background:#2acf24;}
.shai-rsvp .hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:28px;}
.shai-rsvp .hero-cta{margin:0;color:#174020;background:var(--green);border-radius:3px;padding:17px 23px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;box-shadow:6px 6px 0 #d0e7c2;}
.shai-rsvp .hero-cta:hover{background:#51d74c;box-shadow:8px 8px 0 #d0e7c2;}
.shai-rsvp .hero-secondary{color:#2b6c3f;text-decoration:none;font-size:12px;font-weight:700;border-bottom:1px solid #78a475;padding:6px 0;letter-spacing:.04em;}
.shai-rsvp .hero-art-wrap{height:620px;position:relative;display:flex;align-items:center;justify-content:center;}
.shai-rsvp .hero-art-paper{width:87%;height:91%;background:#f7f7e9;border-radius:46% 46% 2px 2px / 36% 36% 2px 2px;border:1px solid #b3c5a2;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 15px 0 -6px #e5e7d4,0 30px 0 -13px #edf0df;}
.shai-rsvp .hero-art-paper::before{content:"";inset:13px;position:absolute;border:1px solid #c8d4b9;border-radius:inherit;pointer-events:none;}
.shai-rsvp .hero-illustration{width:103%;max-height:96%;height:auto;object-fit:contain;filter:drop-shadow(0 10px 8px rgba(32,72,34,.05));}
.shai-rsvp .art-stamp{position:absolute;right:-8px;bottom:66px;display:grid;place-items:center;width:132px;height:132px;text-align:center;background:#2acf24;color:#214a2c;border:4px double #fff9ec;border-radius:50%;font:600 13px/1.2 var(--sans);transform:rotate(11deg);box-shadow:0 0 0 7px #2acf24;}
.shai-rsvp .art-stamp em{font-family:var(--script);font-weight:400;font-size:33px;}
.shai-rsvp .art-corner{position:absolute;color:#72a175;font-size:44px;z-index:1;}
.shai-rsvp .art-corner-one{left:10px;top:90px;}.shai-rsvp .art-corner-two{right:8px;top:12px;font-size:24px;}
.shai-rsvp .hero-bottom{height:40px;display:flex;align-items:center;justify-content:center;background:#2acf24;position:absolute;bottom:0;left:0;width:100%;font-size:9px;font-weight:700;letter-spacing:.32em;color:#1c4a2b;}
.shai-rsvp .intro{background:var(--ivory);padding:106px 0 108px;position:relative;}
.shai-rsvp .intro::before{content:'';width:min(900px,calc(100% - 36px));height:calc(100% - 95px);inset:48px 0 auto;margin:auto;border:1px solid rgba(112,140,87,.32);position:absolute;pointer-events:none;}
.shai-rsvp .intro .container{position:relative;max-width:720px;}
.shai-rsvp .intro .small-label{letter-spacing:.15em;color:#628166;}
.shai-rsvp .bismillah{color:#2d633f;font-size:34px;}
.shai-rsvp .section-heading{font-size:clamp(48px,6vw,78px);font-weight:500;line-height:1.01;color:#2b623a;letter-spacing:-.035em;}
.shai-rsvp .section-heading em{color:#548d4d;font-weight:400;}
.shai-rsvp .intro-copy{color:#5e7464;font-size:15px;}
.shai-rsvp .invitation-ornament{margin:29px 0 0;display:flex;justify-content:center;gap:14px;align-items:center;color:#568652;font-size:21px;}
.shai-rsvp .invitation-ornament span:nth-child(2){font-size:40px;line-height:1;}
.shai-rsvp .invite-names{font-family:var(--serif);font-weight:600;font-size:clamp(40px,5vw,61px);margin:18px 0 24px;}
.shai-rsvp .invite-names .couple-amp{font-size:1.1em;color:#2caf2a;}
.shai-rsvp .tiny-flower{width:34px;color:#4b9d48;}
.shai-rsvp .details{background:#2e633f;color:#fffdf1;}
.shai-rsvp .details::before{border:1px solid rgba(255,255,255,.16);box-shadow:0 0 0 100px rgba(255,255,255,.025);}
.shai-rsvp .details-inner{padding:103px 0 111px;}
.shai-rsvp .details-header .section-heading{color:#fffdf1;font-size:clamp(49px,7vw,81px);}
.shai-rsvp .details-header .overline{color:#d4ead0;}
.shai-rsvp .event-card{border-radius:0;background:#fffef6;box-shadow:13px 13px 0 rgba(203,231,184,.25);outline:1px solid #d4dec6;outline-offset:-14px;grid-template-columns:.92fr 1.08fr;}
.shai-rsvp .event-date{background:#f5f5e5;border-right:1px solid #cddcc3;padding:55px 35px;}
.shai-rsvp .event-month{color:#4a734a;letter-spacing:.34em;}
.shai-rsvp .event-day{font-size:clamp(130px,14vw,180px);color:#2f6d42;font-weight:500;}
.shai-rsvp .event-weekday{font-size:38px;color:#4f794e;}
.shai-rsvp .event-year{font-size:15px;color:#406b43;}
.shai-rsvp .info-icon{background:#e4f5dc;border-radius:50%;color:#2a7242;}
.shai-rsvp .event-info{padding:60px 65px;}
.shai-rsvp .info-entry h3{color:#376644;}
.shai-rsvp .pill-button{border:1px solid #75a473;border-radius:2px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:transparent;color:#275d37;}
.shai-rsvp .pill-button:hover{background:#2acf24;color:#164525;}
.shai-rsvp .countdown-section{background:#f4f5e7;position:relative;padding:115px 0 110px;}
.shai-rsvp .countdown-section::before,.shai-rsvp .countdown-section::after{content:'✿';position:absolute;top:42px;color:#b8cca9;font:58px/1 var(--serif);}
.shai-rsvp .countdown-section::before{left:7%;}.shai-rsvp .countdown-section::after{right:7%;}
.shai-rsvp .countdown-description{color:#677763;}
.shai-rsvp .countdown{max-width:630px;gap:0;border-top:1px solid #b8c9aa;border-bottom:1px solid #b8c9aa;}
.shai-rsvp .count-unit{background:transparent;border:0;border-right:1px solid #b8c9aa;border-radius:0;padding:20px 8px 22px;}
.shai-rsvp .count-unit:last-child{border-right:0;}
.shai-rsvp .count-unit strong{font-size:clamp(46px,6vw,73px);color:#245e37;font-weight:500;}
.shai-rsvp .timeline-section{background:#fffef6;padding:105px 0 118px;}
.shai-rsvp .timeline-wrap{max-width:740px;}
.shai-rsvp .timeline-section .section-heading{text-align:center;margin-bottom:58px;}
.shai-rsvp .timeline-description h3{font-family:var(--serif);font-size:28px;color:#285f3a;font-weight:600;}
.shai-rsvp .timeline-time{color:#317447;}
.shai-rsvp .rsvp-section{background:#eaf4de;position:relative;padding:112px 0 124px;}
.shai-rsvp .rsvp-section::before{content:"✧      ✳      ✧";position:absolute;top:27px;left:0;right:0;text-align:center;letter-spacing:30px;color:#9fbe90;font-size:24px;}
.shai-rsvp .rsvp-heading .section-heading{color:#2d6641;}
.shai-rsvp .rsvp-heading p{color:#54715b;}
.shai-rsvp .form-card{background:#fffef7;border:1px solid #b7c9ae;border-radius:0;padding:46px 49px;box-shadow:10px 10px 0 #cce4c2;}
.shai-rsvp .form-card h3{font-family:var(--serif);font-size:39px;font-weight:600;color:#27603a;}
.shai-rsvp .field input,.shai-rsvp .field select,.shai-rsvp .field textarea{border-radius:2px;background:#fffefb;border-color:#bfcfb4;padding:16px;}
.shai-rsvp .attendance-option .option-surface{border-radius:2px;background:#fffefb;}
.shai-rsvp .submit-button{border-radius:2px;color:#194726;font-size:12px;text-transform:uppercase;letter-spacing:.09em;box-shadow:4px 4px 0 #cde2c3;}
.shai-rsvp .final-section{background:#fffef6;padding:115px 20px 105px;}
.shai-rsvp .final-section svg{color:#4c9753;}
.shai-rsvp .footer{background:#2e633f;color:#eef4dc;}
.shai-rsvp dialog{border-radius:4px;background:#fffef6;}
.shai-rsvp .dialog-inner button{border-radius:3px;color:#214a2e;}
@media(max-width:980px){
.shai-rsvp .hero-content{padding-left:0;}
.shai-rsvp .hero h1{font-size:clamp(68px,9.5vw,105px);}
.shai-rsvp .hero-art-wrap{height:540px;}
.shai-rsvp .event-info{padding:42px 40px;}
}
@media(max-width:700px){
.shai-rsvp .container{width:min(100% - 40px,1140px);}
.shai-rsvp .header-inner{height:67px;}
.shai-rsvp .monogram{font-size:23px;}.shai-rsvp .monogram-caption{font-size:7px;}
.shai-rsvp .desktop-nav a:not(.nav-rsvp){display:none;}
.shai-rsvp .nav-rsvp{padding:11px 16px;}
.shai-rsvp .hero{min-height:0;}
.shai-rsvp .hero-frame{inset:10px;}
.shai-rsvp .hero-layout{display:flex;flex-direction:column;gap:30px;padding:74px 0 90px;min-height:0;text-align:center;}
.shai-rsvp .hero-content{padding:0;display:flex;align-items:center;flex-direction:column;max-width:480px;}
.shai-rsvp .hero-kicker{font-size:19px;margin-bottom:12px;}
.shai-rsvp .hero .overline{font-size:9px;letter-spacing:.19em;}
.shai-rsvp .hero h1{font-size:clamp(72px,16vw,115px);margin:24px 0 20px;line-height:.83;}
.shai-rsvp .hero h1 .amp{font-size:59px;line-height:.42;margin:12px 0 19px 34px;}
.shai-rsvp .hero-subtitle{font-size:13px;max-width:335px;margin:0 0 16px;}
.shai-rsvp .hero-date{justify-content:center;font-size:11px;}
.shai-rsvp .hero-actions{justify-content:center;gap:20px;margin-top:23px;}
.shai-rsvp .hero-cta{padding:15px 20px;font-size:10px;}
.shai-rsvp .hero-art-wrap{height:380px;width:min(385px,95%);}
.shai-rsvp .hero-art-paper{width:82%;height:100%;}
.shai-rsvp .art-stamp{width:90px;height:90px;right:-2px;bottom:31px;font-size:9px;box-shadow:0 0 0 4px #2acf24;}
.shai-rsvp .art-stamp em{font-size:24px;}
.shai-rsvp .art-corner-one{left:1px;top:35px;}
.shai-rsvp .hero-bottom{height:32px;font-size:8px;letter-spacing:.14em;}
.shai-rsvp .intro{padding:83px 0 85px;}
.shai-rsvp .intro::before{height:calc(100% - 45px);inset:22px 0 auto;width:calc(100% - 24px);}
.shai-rsvp .intro .container{width:calc(100% - 70px);}
.shai-rsvp .section-heading{font-size:clamp(44px,10vw,61px);}
.shai-rsvp .intro-copy{font-size:13px;}
.shai-rsvp .invite-names{font-size:clamp(36px,9vw,52px);}
.shai-rsvp .details-inner{padding:81px 0 90px;}
.shai-rsvp .details-header .section-heading{font-size:55px;}
.shai-rsvp .event-card{grid-template-columns:1fr;}
.shai-rsvp .event-date{border-right:0;border-bottom:1px solid #cddcc3;padding:30px 20px;}
.shai-rsvp .event-day{font-size:118px;}
.shai-rsvp .event-info{padding:38px 31px;}
.shai-rsvp .countdown-section{padding:80px 0;}
.shai-rsvp .countdown-section::before,.shai-rsvp .countdown-section::after{display:none;}
.shai-rsvp .count-unit{padding:20px 3px 18px;}
.shai-rsvp .count-unit strong{font-size:clamp(32px,8vw,53px);}
.shai-rsvp .timeline-section{padding:80px 0;}
.shai-rsvp .timeline-description h3{font-size:25px;}
.shai-rsvp .rsvp-section{padding:90px 0;}
.shai-rsvp .rsvp-grid{grid-template-columns:1fr;}
.shai-rsvp .rsvp-heading{text-align:center;position:static;}
.shai-rsvp .rsvp-heading .section-heading{font-size:61px;}
.shai-rsvp .rsvp-heading p{margin-inline:auto;}
.shai-rsvp .form-card{padding:31px 24px;}
.shai-rsvp .form-card h3{font-size:32px;}
.shai-rsvp .mobile-nav{background:rgba(255,254,244,.98);border-radius:5px;}
.shai-rsvp .final-section{padding:90px 25px 115px;}
}
@media(max-width:370px){.shai-rsvp .hero h1{font-size:69px;}.shai-rsvp .hero-art-wrap{height:330px;}.shai-rsvp .hero-kicker{font-size:16px;}.shai-rsvp .form-card{padding:28px 18px;}}


/* ===== v1.2.0 wedding refinement: burgundy + olive + cream ===== */
.shai-rsvp{
  --burgundy:#6d1734;
  --burgundy-deep:#4f1026;
  --burgundy-soft:#8c2d4c;
  --olive:#7c8f59;
  --olive-deep:#5f6d42;
  --olive-soft:#a8b58a;
  --cream:#f7f0e5;
  --cream-deep:#efe4d3;
  --text:#51463f;
  --text-soft:#7a6e64;
  --green:var(--olive);
  --green-deep:var(--olive-deep);
  --green-dark:#40352f;
  --green-pale:#edf1e3;
  --white:#fffdf8;
  --ivory:var(--cream);
  --line:rgba(124,143,89,.26);
  --serif:"Cormorant Garamond", Georgia, serif;
  --script:"Great Vibes", cursive;
  --sans:"DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:var(--cream);
  color:var(--text);
}
.shai-rsvp .container{width:min(1120px,calc(100% - 40px));}
.shai-rsvp .demo-banner{background:var(--burgundy-deep);color:#fff7ee;letter-spacing:.12em;}
.shai-rsvp .site-header{background:rgba(247,240,229,.93);border-bottom:1px solid rgba(124,143,89,.22);}
.shai-rsvp .header-inner{height:82px;}
.shai-rsvp .monogram{width:56px;height:56px;border:1px solid rgba(124,143,89,.55);color:var(--burgundy);background:rgba(255,252,246,.8);position:relative;font-size:22px;box-shadow:0 8px 24px rgba(109,23,52,.06);}
.shai-rsvp .monogram-caption{position:absolute;bottom:-11px;left:50%;transform:translateX(-50%);font:700 8px/1 var(--sans);text-transform:uppercase;letter-spacing:.18em;color:var(--olive-deep);white-space:nowrap;background:var(--cream);padding:0 6px;}
.shai-rsvp .desktop-nav a:not(.nav-rsvp){color:var(--burgundy-deep);font-size:11px;letter-spacing:.14em;}
.shai-rsvp .desktop-nav a:hover{color:var(--olive-deep);}
.shai-rsvp .nav-rsvp{background:var(--burgundy);color:#fff8f0;border:1px solid rgba(255,255,255,.2);box-shadow:5px 5px 0 rgba(124,143,89,.35);border-radius:999px;padding:14px 24px;}
.shai-rsvp .nav-rsvp:hover{background:var(--burgundy-soft);color:#fff8f0;box-shadow:6px 6px 0 rgba(124,143,89,.42);}

.shai-rsvp .hero{min-height:780px;background:
  radial-gradient(circle at 18% 18%, rgba(109,23,52,.08), transparent 28%),
  radial-gradient(circle at 84% 15%, rgba(124,143,89,.10), transparent 24%),
  linear-gradient(180deg, #faf5ee 0%, #f6efdf 100%);
}
.shai-rsvp .hero-frame{inset:18px;border:1px solid rgba(124,143,89,.28);}
.shai-rsvp .hero-frame::before,.shai-rsvp .hero-frame::after{color:var(--burgundy);background:var(--cream);}
.shai-rsvp .hero-layout{gap:40px;padding:88px 0 118px;}
.shai-rsvp .hero-content{padding-left:38px;}
.shai-rsvp .hero-kicker{color:var(--olive-deep);font:400 25px/1.6 var(--serif);margin:0 0 16px;}
.shai-rsvp .overline{color:var(--olive-deep);letter-spacing:.24em;}
.shai-rsvp .overline::before,.shai-rsvp .overline::after{background:var(--olive);}
.shai-rsvp .hero h1{color:var(--burgundy);font-family:var(--serif);font-weight:600;letter-spacing:-.05em;text-shadow:0 1px 0 rgba(255,255,255,.6);}
.shai-rsvp .hero h1 .amp{color:var(--olive);font-family:var(--script);font-size:84px;transform:rotate(-8deg);margin:14px 0 23px 112px;}
.shai-rsvp .hero-subtitle{color:var(--text-soft);max-width:455px;font-size:15px;line-height:1.85;}
.shai-rsvp .hero-date{color:var(--burgundy-deep);gap:14px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;}
.shai-rsvp .hero-date .dot{background:var(--olive);}
.shai-rsvp .hero-actions{gap:18px;margin-top:32px;}
.shai-rsvp .hero-cta{background:var(--burgundy);color:#fff8f0;border-radius:999px;padding:17px 28px;box-shadow:0 16px 30px rgba(109,23,52,.15);}
.shai-rsvp .hero-cta:hover{background:var(--burgundy-soft);color:#fff8f0;box-shadow:0 20px 34px rgba(109,23,52,.19);}
.shai-rsvp .hero-secondary{color:var(--olive-deep);border-bottom:1px solid rgba(124,143,89,.55);font-weight:700;}
.shai-rsvp .hero-art-wrap{height:640px;}
.shai-rsvp .hero-art-paper{background:#f9f2e7;border:1px solid #b6b795;box-shadow:0 18px 0 -8px #eee4d6,0 38px 0 -18px #f6eee3,0 24px 40px rgba(79,16,38,.08);}
.shai-rsvp .hero-art-paper::before{border-color:#cdc8af;}
.shai-rsvp .hero-illustration{filter:drop-shadow(0 10px 8px rgba(79,16,38,.04));}
.shai-rsvp .art-stamp{background:var(--burgundy);box-shadow:0 0 0 8px var(--burgundy);color:#fff7ec;border-color:#f9e7cf;right:-10px;bottom:62px;}
.shai-rsvp .art-corner{color:var(--olive);}
.shai-rsvp .hero-bottom{background:var(--burgundy);color:#f3eadc;height:36px;letter-spacing:.24em;}

.shai-rsvp .intro{background:var(--cream);padding:112px 0 114px;}
.shai-rsvp .intro::before{border-color:rgba(124,143,89,.32);}
.shai-rsvp .bismillah{color:var(--olive-deep);}
.shai-rsvp .intro .small-label{color:var(--olive-deep);}
.shai-rsvp .section-heading{font-family:var(--serif);font-weight:600;color:var(--burgundy);letter-spacing:-.03em;line-height:1.02;}
.shai-rsvp .section-heading em{color:var(--olive-deep);font-family:var(--script);font-size:1.07em;font-style:normal;}
.shai-rsvp .intro-copy{color:var(--text-soft);font-size:15px;line-height:1.95;max-width:680px;}
.shai-rsvp .invitation-ornament{color:var(--olive);margin-top:32px;}
.shai-rsvp .invite-names{color:var(--burgundy);font-size:clamp(44px,5vw,66px);margin:16px 0 20px;}
.shai-rsvp .invite-names .couple-amp{color:var(--olive);font-family:var(--script);font-size:1.24em;}
.shai-rsvp .tiny-flower{color:var(--olive);}

.shai-rsvp .details{background:linear-gradient(180deg, #6d1734 0%, #56112a 100%);color:#fff9ef;}
.shai-rsvp .details::before{top:-190px;right:-160px;border-color:rgba(247,235,220,.12);box-shadow:0 0 0 70px rgba(247,235,220,.03),0 0 0 140px rgba(247,235,220,.02);}
.shai-rsvp .details-inner{padding:112px 0 118px;}
.shai-rsvp .details-header .section-heading,.shai-rsvp .details-header .overline{color:#fff9ef;}
.shai-rsvp .details-header .overline::before,.shai-rsvp .details-header .overline::after{background:rgba(255,249,239,.8);}
.shai-rsvp .event-card{background:#fffaf2;outline:1px solid #e7d9c7;outline-offset:-16px;box-shadow:0 22px 48px rgba(44,17,27,.22);grid-template-columns:.9fr 1.1fr;border-radius:18px;overflow:hidden;}
.shai-rsvp .event-date{background:linear-gradient(180deg,#eef0e3 0%, #e6ead8 100%);border-right:1px solid #d2d5c2;padding:60px 36px;}
.shai-rsvp .event-month{color:var(--olive-deep);}
.shai-rsvp .event-day{color:var(--burgundy);}
.shai-rsvp .event-weekday{color:var(--olive-deep);}
.shai-rsvp .event-year{color:#6d7355;}
.shai-rsvp .event-info{padding:62px 58px 58px;gap:30px;}
.shai-rsvp .info-icon{background:#f0eee4;color:var(--burgundy);}
.shai-rsvp .info-entry h3{color:var(--olive-deep);}
.shai-rsvp .info-entry p{color:#5d5147;}
.shai-rsvp .info-entry strong{color:var(--burgundy-deep);}
.shai-rsvp .detail-buttons{gap:14px;margin-top:6px;}
.shai-rsvp .pill-button{background:transparent;border:1px solid rgba(109,23,52,.25);color:var(--burgundy);border-radius:999px;padding:13px 18px;}
.shai-rsvp .pill-button:hover{background:var(--burgundy);color:#fff8f0;transform:translateY(-2px);}

.shai-rsvp .countdown-section{background:#eef0e2;padding:114px 0 112px;}
.shai-rsvp .countdown-section::before,.shai-rsvp .countdown-section::after{color:rgba(109,23,52,.18);}
.shai-rsvp .countdown-description{color:var(--text-soft);margin-bottom:42px;}
.shai-rsvp .countdown{max-width:690px;border:1px solid rgba(124,143,89,.32);border-radius:18px;overflow:hidden;background:#fbf7f0;box-shadow:0 12px 30px rgba(79,16,38,.05);}
.shai-rsvp .count-unit{padding:24px 10px 22px;border-right:1px solid rgba(124,143,89,.24);}
.shai-rsvp .count-unit strong{color:var(--burgundy);}
.shai-rsvp .count-unit span{color:var(--olive-deep);letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:700;}

.shai-rsvp .timeline-section{background:#fffaf2;padding:110px 0 118px;}
.shai-rsvp .timeline-wrap{max-width:780px;}
.shai-rsvp .timeline-section .section-heading{margin-bottom:62px;}
.shai-rsvp .timeline-time{color:var(--olive-deep);font-weight:700;}
.shai-rsvp .timeline-line::before{background:rgba(124,143,89,.28);}
.shai-rsvp .timeline-line::after{background:var(--burgundy);box-shadow:0 0 0 6px rgba(109,23,52,.08);}
.shai-rsvp .timeline-description{border-bottom:1px solid rgba(124,143,89,.18);padding-bottom:26px;}
.shai-rsvp .timeline-description h3{color:var(--burgundy);font-size:30px;}
.shai-rsvp .timeline-description p{color:var(--text-soft);line-height:1.8;}

.shai-rsvp .rsvp-section{background:linear-gradient(180deg,#f2ecdf 0%, #edf0e2 100%);padding:116px 0 126px;}
.shai-rsvp .rsvp-section::before{color:rgba(109,23,52,.28);top:24px;}
.shai-rsvp .rsvp-grid{align-items:start;gap:46px;}
.shai-rsvp .rsvp-heading{top:112px;}
.shai-rsvp .rsvp-heading .section-heading{color:var(--burgundy);}
.shai-rsvp .rsvp-heading p{color:var(--text-soft);max-width:430px;line-height:1.9;}
.shai-rsvp .rsvp-decoration{color:var(--olive);}
.shai-rsvp .form-card{background:#fffaf3;border:1px solid #d6c9b6;border-radius:22px;padding:48px 46px;box-shadow:0 22px 46px rgba(79,16,38,.10);}
.shai-rsvp .form-card h3{font-family:var(--serif);font-size:42px;color:var(--burgundy);font-weight:600;}
.shai-rsvp .form-hint,.shai-rsvp .form-disclaimer{color:var(--text-soft);}
.shai-rsvp .field label,.shai-rsvp .field-label{color:var(--burgundy-deep);font-weight:700;letter-spacing:.02em;}
.shai-rsvp .field input,.shai-rsvp .field select,.shai-rsvp .field textarea{background:#fffdf8;border:1px solid #d7cfc1;border-radius:14px;padding:17px 18px;color:var(--text);}
.shai-rsvp .field input::placeholder,.shai-rsvp .field textarea::placeholder{color:#a8998b;}
.shai-rsvp .field input:focus,.shai-rsvp .field select:focus,.shai-rsvp .field textarea:focus{outline:none;border-color:var(--olive);box-shadow:0 0 0 4px rgba(124,143,89,.12);}
.shai-rsvp .attendance-option .option-surface{border:1px solid #d7cfc1;border-radius:14px;background:#fffdf8;color:var(--text);padding:17px 16px;}
.shai-rsvp .attendance-option input:checked + .option-surface{background:#fbf6ed;border-color:var(--burgundy);color:var(--burgundy);box-shadow:0 0 0 4px rgba(109,23,52,.08);}
.shai-rsvp .attendance-option svg{color:var(--olive-deep);}
.shai-rsvp .submit-button{background:var(--burgundy);color:#fff8f0;border-radius:999px;padding:17px 26px;box-shadow:0 14px 28px rgba(109,23,52,.18);}
.shai-rsvp .submit-button:hover{background:var(--burgundy-soft);}
.shai-rsvp .submit-button:disabled{opacity:.75;}
.shai-rsvp .form-message.success{background:#eff3e5;color:var(--olive-deep);border:1px solid rgba(124,143,89,.3);}
.shai-rsvp .form-message.error{background:#fff1f2;color:var(--burgundy-deep);border:1px solid rgba(109,23,52,.18);}

.shai-rsvp .final-section{background:#fffaf2;padding:118px 20px 106px;}
.shai-rsvp .final-section svg{color:var(--burgundy);}
.shai-rsvp .final-section p{color:var(--text-soft);max-width:620px;margin:0 auto;line-height:1.9;}
.shai-rsvp .footer{background:var(--burgundy-deep);color:#f6ebdc;letter-spacing:.18em;}
.shai-rsvp .mobile-nav{background:rgba(255,250,243,.97);border:1px solid rgba(124,143,89,.24);box-shadow:0 16px 35px rgba(79,16,38,.12);border-radius:20px;padding:10px 6px 8px;}
.shai-rsvp .mobile-nav a,.shai-rsvp .mobile-nav button{color:var(--text);font-size:10px;}
.shai-rsvp .mobile-nav svg{color:var(--burgundy);}
.shai-rsvp .mobile-nav .mobile-primary{color:var(--burgundy);}
.shai-rsvp dialog{background:#fffaf3;border:1px solid #decdb7;box-shadow:0 20px 50px rgba(79,16,38,.16);}
.shai-rsvp .dialog-check{background:rgba(124,143,89,.12);color:var(--olive-deep);}
.shai-rsvp .dialog-inner h3{color:var(--burgundy);font-family:var(--serif);font-size:36px;}
.shai-rsvp .dialog-inner p{color:var(--text-soft);}
.shai-rsvp .dialog-inner button{background:var(--burgundy);color:#fff8f0;border-radius:999px;}

@media(max-width:980px){
  .shai-rsvp .hero-layout{gap:28px;padding:82px 0 110px;}
  .shai-rsvp .hero-content{padding-left:12px;}
  .shai-rsvp .hero-art-wrap{height:560px;}
  .shai-rsvp .event-info{padding:48px 40px 44px;}
  .shai-rsvp .form-card{padding:40px 34px;}
}
@media(max-width:700px){
  .shai-rsvp .container{width:min(100% - 32px,1140px);}
  .shai-rsvp .header-inner{height:72px;}
  .shai-rsvp .monogram{width:50px;height:50px;font-size:20px;}
  .shai-rsvp .monogram-caption{font-size:7px;bottom:-9px;}
  .shai-rsvp .nav-rsvp{padding:11px 15px;font-size:10px;}
  .shai-rsvp .hero{min-height:0;}
  .shai-rsvp .hero-layout{padding:76px 0 94px;gap:34px;}
  .shai-rsvp .hero-content{max-width:520px;}
  .shai-rsvp .hero-kicker{font-size:20px;line-height:1.45;margin-bottom:14px;}
  .shai-rsvp .hero h1{font-size:clamp(74px,17vw,116px);margin:22px 0 18px;}
  .shai-rsvp .hero h1 .amp{font-size:63px;margin:10px 0 16px 32px;}
  .shai-rsvp .hero-subtitle{font-size:14px;line-height:1.8;max-width:350px;}
  .shai-rsvp .hero-date{font-size:10px;letter-spacing:.12em;}
  .shai-rsvp .hero-cta{padding:15px 22px;}
  .shai-rsvp .hero-art-wrap{height:400px;width:min(390px,95%);}
  .shai-rsvp .art-stamp{width:92px;height:92px;right:-1px;bottom:28px;box-shadow:0 0 0 4px var(--burgundy);}
  .shai-rsvp .hero-bottom{height:34px;font-size:8px;letter-spacing:.16em;}
  .shai-rsvp .intro{padding:88px 0 90px;}
  .shai-rsvp .intro .container{width:calc(100% - 44px);}
  .shai-rsvp .section-heading{font-size:clamp(46px,11vw,62px);}
  .shai-rsvp .invite-names{font-size:clamp(40px,10vw,54px);}
  .shai-rsvp .details-inner{padding:88px 0 94px;}
  .shai-rsvp .event-card{outline-offset:-12px;border-radius:16px;}
  .shai-rsvp .event-date{padding:34px 20px 28px;}
  .shai-rsvp .event-day{font-size:110px;}
  .shai-rsvp .event-weekday{font-size:34px;}
  .shai-rsvp .event-info{padding:34px 24px 32px;gap:24px;}
  .shai-rsvp .info-entry{gap:14px;}
  .shai-rsvp .countdown-section{padding:86px 0;}
  .shai-rsvp .countdown{border-radius:16px;}
  .shai-rsvp .count-unit{padding:20px 2px 18px;}
  .shai-rsvp .timeline-section{padding:86px 0 94px;}
  .shai-rsvp .timeline-section .section-heading{margin-bottom:46px;}
  .shai-rsvp .timeline-row{grid-template-columns:76px 18px 1fr;column-gap:10px;min-height:92px;}
  .shai-rsvp .timeline-description{padding-bottom:22px;}
  .shai-rsvp .timeline-description h3{font-size:24px;}
  .shai-rsvp .rsvp-section{padding:92px 0 106px;}
  .shai-rsvp .rsvp-grid{gap:26px;}
  .shai-rsvp .rsvp-heading .section-heading{font-size:58px;}
  .shai-rsvp .form-card{padding:30px 22px 28px;border-radius:18px;}
  .shai-rsvp .form-card h3{font-size:34px;}
  .shai-rsvp .field input,.shai-rsvp .field select,.shai-rsvp .field textarea,.shai-rsvp .attendance-option .option-surface{padding:15px 15px;border-radius:12px;}
  .shai-rsvp .submit-button{padding:16px 22px;}
  .shai-rsvp .final-section{padding:92px 22px 116px;}
  .shai-rsvp .mobile-nav{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));}
}
@media(max-width:370px){
  .shai-rsvp .hero h1{font-size:68px;}
  .shai-rsvp .hero h1 .amp{font-size:56px;}
  .shai-rsvp .hero-art-wrap{height:350px;}
  .shai-rsvp .intro .container{width:calc(100% - 32px);}
  .shai-rsvp .form-card{padding:28px 18px 26px;}
}


/* ===== v1.2.1 mobile repair ===== */
@media(max-width:700px){
  .shai-rsvp .header-inner{
    height:74px;
    gap:14px;
    align-items:flex-start;
    padding-top:10px;
    padding-bottom:8px;
  }
  .shai-rsvp .monogram{
    width:76px;
    height:auto;
    min-height:50px;
    padding:8px 8px 6px;
    border-radius:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    background:rgba(255,251,245,.94);
    border:1px solid rgba(124,143,89,.38);
    box-shadow:none;
    line-height:1;
    font-size:19px;
    letter-spacing:-.06em;
  }
  .shai-rsvp .monogram-caption{
    position:static;
    transform:none;
    display:block;
    margin:0;
    padding:0;
    font-size:7px;
    line-height:1.2;
    letter-spacing:.22em;
    text-align:center;
    background:transparent;
    white-space:normal;
  }
  .shai-rsvp .hero-content{
    max-width:100%;
  }
  .shai-rsvp .hero h1{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    margin:18px 0 16px;
    line-height:.9;
    text-align:center;
  }
  .shai-rsvp .hero h1 span:not(.amp){
    display:block;
  }
  .shai-rsvp .hero h1 .amp{
    display:block;
    margin:2px auto 0 !important;
    font-size:56px;
    line-height:.74;
    transform:rotate(-7deg);
    text-align:center;
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
  }
  .shai-rsvp .hero-subtitle{
    max-width:100%;
    padding-inline:8px;
  }
  .shai-rsvp .hero-actions{
    width:100%;
    justify-content:center;
    row-gap:14px;
  }
}
@media(max-width:370px){
  .shai-rsvp .monogram{
    width:72px;
    font-size:18px;
    padding:7px 7px 5px;
  }
  .shai-rsvp .hero h1{
    line-height:.92;
  }
  .shai-rsvp .hero h1 .amp{
    font-size:52px;
  }
}


/* ===== v1.2.2 monogram + ampersand balance repair ===== */
.shai-rsvp .monogram{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.shai-rsvp .monogram-caption{
  background:transparent !important;
}
.shai-rsvp .hero h1 .amp{
  display:block;
  margin:10px auto 14px !important;
  text-align:center;
  transform:rotate(-7deg);
}
@media(max-width:980px){
  .shai-rsvp .hero h1 .amp{
    margin:8px auto 12px !important;
  }
}
@media(max-width:700px){
  .shai-rsvp .monogram{
    width:auto;
    min-height:auto;
    padding:0;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    gap:2px;
  }
  .shai-rsvp .monogram-caption{
    background:transparent !important;
    padding:0;
    margin:0;
  }
  .shai-rsvp .hero h1{
    gap:0;
  }
  .shai-rsvp .hero h1 .amp{
    margin:4px auto 8px !important;
    font-size:54px;
    line-height:.68;
    transform:rotate(-6deg);
  }
}
@media(max-width:370px){
  .shai-rsvp .hero h1 .amp{
    margin:3px auto 7px !important;
    font-size:50px;
  }
}

/* ============================================================
   v1.3.0 – luxury wedding polish, purposeful motion and audio UI
   All selectors scoped to this plugin's invitation root.
   ============================================================ */
.shai-rsvp .site-header .header-inner{align-items:center;min-height:78px;}
.shai-rsvp .monogram{
  width:auto!important;height:auto!important;min-height:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;padding:0!important;display:inline-flex;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
  font-family:var(--serif);font-size:31px;font-weight:600;font-style:italic;
  letter-spacing:-.055em;line-height:1;color:var(--burgundy);
  text-shadow:0 1px 0 rgba(255,255,255,.5);
  text-decoration:none;transition:opacity .3s ease,transform .3s ease;
}
.shai-rsvp .monogram:hover{opacity:.82;transform:translateY(-2px);}
.shai-rsvp .monogram-caption{
  position:static!important;left:auto!important;bottom:auto!important;
  transform:none!important;background:transparent!important;padding:0!important;
  margin:0!important;white-space:nowrap;display:block;
  color:var(--olive-deep);font:700 8px/1.3 var(--sans);
  letter-spacing:.21em;text-transform:uppercase;text-shadow:none;
}
/* Grid gives the ampersand its own equal-height row: no overlap or margin hacks. */
.shai-rsvp .hero h1.couple-title{
  display:grid!important;grid-template-rows:auto 86px auto;justify-items:stretch;
  width:max-content;max-width:100%;min-width:0;
  gap:0!important;margin:23px 0 25px;line-height:.92;
  font-family:var(--serif);font-size:clamp(76px,8.6vw,127px);
  letter-spacing:-.045em;text-align:center;
}
.shai-rsvp .hero h1.couple-title > span:not(.amp-wrap){
  display:block;min-width:0;white-space:nowrap;line-height:1.06;
  text-align:center;
}
.shai-rsvp .hero h1.couple-title > .amp-wrap{
  display:flex!important;width:100%;height:86px;min-height:86px;
  flex-direction:row;align-items:center;justify-content:center;
  margin:0!important;padding:0!important;line-height:1;
}
.shai-rsvp .hero h1.couple-title .amp-wrap > .amp{
  display:inline-block!important;position:static!important;
  margin:0!important;padding:0!important;left:auto!important;right:auto!important;
  font:400 69px/1 var(--script);letter-spacing:normal;
  color:var(--olive);text-align:center;
  transform:translateY(-2px) rotate(-3deg)!important;
  height:auto!important;white-space:nowrap;
}
.shai-rsvp .hero-content{min-width:0;}
.shai-rsvp .hero-kicker{animation:shai-arrive .8s .06s both;}
.shai-rsvp .hero .overline{animation:shai-arrive .8s .20s both;}
.shai-rsvp .hero .couple-title{animation:shai-arrive 1s .33s both;}
.shai-rsvp .hero-subtitle{animation:shai-arrive .9s .57s both;}
.shai-rsvp .hero-date{animation:shai-arrive .9s .70s both;}
.shai-rsvp .hero-actions{animation:shai-arrive .9s .84s both;}
.shai-rsvp .hero-art-paper{animation:shai-art-float 9s ease-in-out infinite;transform-origin:center 55%;}
.shai-rsvp .art-stamp{animation:shai-seal-rock 7s ease-in-out infinite;}
.shai-rsvp .art-corner{animation:shai-sparkle 6s ease-in-out infinite;}
.shai-rsvp .art-corner-two{animation-delay:2.1s;}
.shai-rsvp .reveal{opacity:0;transform:translate3d(0,28px,0) scale(.987);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);}
.shai-rsvp .reveal.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1);}
.shai-rsvp .timeline-row.reveal:nth-child(2n){transition-delay:90ms;}
.shai-rsvp .timeline-row.reveal:nth-child(3n){transition-delay:150ms;}
.shai-rsvp .event-card{transition:box-shadow .45s ease,transform .45s ease;}
.shai-rsvp .event-card:hover{box-shadow:0 30px 66px rgba(44,17,27,.23);transform:translateY(-3px);}
.shai-rsvp .form-card{transition:box-shadow .35s ease;}
.shai-rsvp .form-card:focus-within{box-shadow:0 26px 66px rgba(79,16,38,.13);}
.shai-rsvp .hero-cta,.shai-rsvp .nav-rsvp,.shai-rsvp .submit-button{
  position:relative;overflow:hidden;transition:background .25s,transform .35s ease,box-shadow .35s ease;
}
.shai-rsvp .hero-cta::after,.shai-rsvp .nav-rsvp::after,.shai-rsvp .submit-button::after{
  content:"";position:absolute;inset:-30% auto -30% -65%;width:43%;pointer-events:none;
  transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);
  transition:left .7s ease;
}
.shai-rsvp .hero-cta:hover::after,.shai-rsvp .nav-rsvp:hover::after,.shai-rsvp .submit-button:hover::after{left:140%;}
.shai-rsvp .wedding-petals{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden;}
.shai-rsvp .wedding-petals span{
  position:absolute;display:block;color:var(--olive);opacity:0;
  font:24px/1 Georgia,serif;animation:shai-petal-drift 13s ease-in-out infinite;
}
.shai-rsvp .wedding-petals span:nth-child(1){left:6%;top:22%;animation-delay:1s;font-size:20px;}
.shai-rsvp .wedding-petals span:nth-child(2){left:20%;top:75%;animation-delay:4s;font-size:15px;color:var(--burgundy);}
.shai-rsvp .wedding-petals span:nth-child(3){left:87%;top:14%;animation-delay:7s;font-size:25px;}
.shai-rsvp .wedding-petals span:nth-child(4){left:78%;top:80%;animation-delay:3s;font-size:18px;color:var(--burgundy);}
.shai-rsvp .wedding-petals span:nth-child(5){left:46%;top:11%;animation-delay:8s;font-size:12px;}
.shai-rsvp .wedding-petals span:nth-child(6){left:94%;top:44%;animation-delay:10s;font-size:17px;}
.shai-rsvp .hero-layout{z-index:1;}
/* Music button is optional; PHP renders it only when an audio URL is set. */
.shai-rsvp .music-toggle{
  position:fixed;bottom:22px;right:22px;z-index:38;
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  min-height:50px;border:1px solid rgba(124,143,89,.40);
  border-radius:999px;padding:9px 18px 9px 11px;
  background:rgba(255,250,243,.97);color:var(--burgundy-deep);
  font:700 11px/1.1 var(--sans);letter-spacing:.035em;
  box-shadow:0 12px 36px rgba(79,16,38,.15);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  transition:transform .25s,box-shadow .25s,background .25s;
}
.shai-rsvp .music-toggle:hover{transform:translateY(-3px);box-shadow:0 17px 40px rgba(79,16,38,.2);}
.shai-rsvp .music-toggle:focus-visible{outline:3px solid var(--olive);outline-offset:3px;}
.shai-rsvp .music-icon{
  display:flex;align-items:center;justify-content:center;
  width:32px;height:32px;border-radius:50%;background:var(--burgundy);color:#fff9f1;flex:none;position:relative;
}
.shai-rsvp .music-icon svg{width:19px;height:19px;}
.shai-rsvp .music-waves{display:none;align-items:end;gap:2px;position:absolute;right:-8px;bottom:1px;height:17px;}
.shai-rsvp .music-toggle.is-playing .music-waves{display:flex;}
.shai-rsvp .music-waves i{display:block;width:3px;height:9px;background:var(--olive-deep);border-radius:2px;animation:shai-wave 750ms ease-in-out infinite alternate;}
.shai-rsvp .music-waves i:nth-child(2){height:15px;animation-delay:180ms;}
.shai-rsvp .music-waves i:nth-child(3){height:7px;animation-delay:360ms;}
@keyframes shai-arrive{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
@keyframes shai-art-float{0%,100%{transform:translateY(0) rotate(-.4deg);}50%{transform:translateY(-10px) rotate(.4deg);}}
@keyframes shai-seal-rock{0%,100%{transform:rotate(9deg);}50%{transform:rotate(5deg);}}
@keyframes shai-sparkle{0%,100%{opacity:.55;transform:scale(.9);}50%{opacity:1;transform:scale(1.12);}}
@keyframes shai-petal-drift{0%{opacity:0;transform:translate3d(0,24px,0) rotate(-15deg);}22%{opacity:.23;}65%{opacity:.16;}100%{opacity:0;transform:translate3d(23px,-55px,0) rotate(25deg);}}
@keyframes shai-wave{from{transform:scaleY(.48);}to{transform:scaleY(1.2);}}
@media(max-width:980px){
  .shai-rsvp .hero h1.couple-title{font-size:clamp(66px,8.3vw,102px);grid-template-rows:auto 74px auto;}
  .shai-rsvp .hero h1.couple-title > .amp-wrap{height:74px;min-height:74px;}
  .shai-rsvp .hero h1.couple-title .amp-wrap > .amp{font-size:62px;}
}
@media(max-width:700px){
  .shai-rsvp .site-header .header-inner{height:73px;min-height:73px;align-items:center;padding-top:0;padding-bottom:0;}
  .shai-rsvp .monogram{font-size:27px!important;gap:4px;line-height:1;letter-spacing:-.055em;}
  .shai-rsvp .monogram-caption{font-size:7px;letter-spacing:.17em;line-height:1.2;}
  .shai-rsvp .hero h1.couple-title{
    display:grid!important;grid-template-rows:auto 69px auto;
    justify-items:stretch!important;align-items:center;
    width:max-content;max-width:100%;margin:22px 0 20px;
    font-size:clamp(64px,16.4vw,86px);line-height:1;
  }
  .shai-rsvp .hero h1.couple-title > span:not(.amp-wrap){line-height:1.03;}
  .shai-rsvp .hero h1.couple-title > .amp-wrap{
    display:flex!important;width:100%;height:69px;min-height:69px;margin:0!important;justify-content:center;align-items:center;
  }
  .shai-rsvp .hero h1.couple-title .amp-wrap > .amp{
    margin:0!important;font-size:56px;line-height:1;
    transform:translateY(-1px) rotate(-3deg)!important;
  }
  .shai-rsvp .hero-content{min-width:0;width:100%;}
  .shai-rsvp .hero-art-wrap{margin-top:4px;}
  .shai-rsvp .wedding-petals span:nth-child(5),.shai-rsvp .wedding-petals span:nth-child(6){display:none;}
  .shai-rsvp .music-toggle{right:14px;bottom:calc(94px + env(safe-area-inset-bottom));min-height:44px;padding:6px 15px 6px 7px;font-size:10px;gap:10px;}
  .shai-rsvp .music-icon{width:29px;height:29px;}
  .shai-rsvp .music-icon svg{width:17px;height:17px;}
}
@media(max-width:370px){
  .shai-rsvp .hero h1.couple-title{font-size:clamp(58px,16vw,70px);grid-template-rows:auto 61px auto;}
  .shai-rsvp .hero h1.couple-title > .amp-wrap{height:61px;min-height:61px;}
  .shai-rsvp .hero h1.couple-title .amp-wrap > .amp{font-size:50px;}
  .shai-rsvp .music-toggle{right:10px;}
}
@media(prefers-reduced-motion:reduce){
  .shai-rsvp .hero-kicker,.shai-rsvp .hero .overline,.shai-rsvp .hero .couple-title,.shai-rsvp .hero-subtitle,.shai-rsvp .hero-date,.shai-rsvp .hero-actions{
    animation:none!important;opacity:1!important;transform:none!important;
  }
  .shai-rsvp .hero-art-paper,.shai-rsvp .art-stamp,.shai-rsvp .art-corner,.shai-rsvp .wedding-petals span,.shai-rsvp .music-waves i{animation:none!important;}
  .shai-rsvp .wedding-petals{display:none;}
  .shai-rsvp .reveal{opacity:1!important;transform:none!important;}
}

/* v1.3.1 – circular music button with animated soundwave rings. */
.shai-rsvp .music-toggle{
  position:fixed;right:30px;bottom:22px;z-index:38;
  width:56px;height:56px;min-width:56px;min-height:56px;
  aspect-ratio:1/1;display:grid;place-items:center;
  padding:0;margin:0;gap:0;flex:none;
  border:1px solid rgba(255,248,239,.55);border-radius:50%;
  background:var(--burgundy);color:#fff9f1;
  box-shadow:0 8px 24px rgba(79,16,38,.26),0 0 0 3px rgba(124,143,89,.13);
  backdrop-filter:none;-webkit-backdrop-filter:none;
  isolation:isolate;overflow:visible;
  -webkit-tap-highlight-color:transparent;
  transition:transform .2s ease,box-shadow .25s ease,background-color .2s ease;
}
.shai-rsvp .music-toggle:hover{transform:translateY(-2px);background:var(--burgundy-soft);box-shadow:0 12px 29px rgba(79,16,38,.30);}
.shai-rsvp .music-toggle:active{transform:scale(.95);}
.shai-rsvp .music-icon{
  position:relative;z-index:2;display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;border-radius:50%;background:transparent;color:inherit;
}
.shai-rsvp .music-icon svg{width:25px;height:25px;stroke:currentColor;}
.shai-rsvp .music-rings{position:absolute;z-index:0;inset:0;display:block;pointer-events:none;}
.shai-rsvp .music-rings i{
  position:absolute;inset:-2px;display:block;
  border:2px solid rgba(124,143,89,.75);border-radius:50%;
  opacity:0;transform:scale(.92);
  animation:none;
}
.shai-rsvp .music-toggle.is-playing .music-rings i{animation:shai-sound-ring 2.15s ease-out infinite;}
.shai-rsvp .music-toggle.is-playing .music-rings i:nth-child(2){animation-delay:.72s;border-color:rgba(109,23,52,.72);}
.shai-rsvp .music-toggle.is-playing .music-rings i:nth-child(3){animation-delay:1.44s;border-color:rgba(124,143,89,.66);}
.shai-rsvp .music-toggle.is-playing .music-icon svg{animation:shai-note-sway 2.8s ease-in-out infinite;}
.shai-rsvp .music-toggle.is-awaiting-gesture:not(.is-playing){box-shadow:0 8px 24px rgba(79,16,38,.26),0 0 0 4px rgba(124,143,89,.20);}
@keyframes shai-sound-ring{
  0%{opacity:0;transform:scale(.94);}
  13%{opacity:.84;}
  85%{opacity:.18;}
  100%{opacity:0;transform:scale(1.76);}
}
@keyframes shai-note-sway{0%,100%{transform:rotate(-6deg);}50%{transform:rotate(7deg);}}
@media(max-width:700px){
  .shai-rsvp .music-toggle{
    width:52px;height:52px;min-width:52px;min-height:52px;
    right:30px;bottom:calc(110px + env(safe-area-inset-bottom));
    padding:0;gap:0;
  }
  .shai-rsvp .music-icon{width:100%;height:100%;}
  .shai-rsvp .music-icon svg{width:23px;height:23px;}
}
@media(max-width:370px){
  .shai-rsvp .music-toggle{right:26px;bottom:calc(106px + env(safe-area-inset-bottom));}
}
@media(prefers-reduced-motion:reduce){
  .shai-rsvp .music-toggle.is-playing .music-rings i,
  .shai-rsvp .music-toggle.is-playing .music-icon svg{animation:none!important;}
  .shai-rsvp .music-toggle.is-playing .music-rings i:first-child{opacity:.45;transform:scale(1.23);}
}
