.rs-section{position:relative;padding:88px 26px;text-align:center;overflow:hidden}
.rs-section:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cg fill='none' stroke='%23b8924a' stroke-width='1'%3E%3Crect x='16' y='16' width='32' height='32'/%3E%3Crect x='16' y='16' width='32' height='32' transform='rotate(45 32 32)'/%3E%3C/g%3E%3C/svg%3E")}
.rs-section>*{position:relative}
.rs-section--ivory{background:var(--ivory)}
.rs-section--cream{background:var(--cream)}
.rs-section--blue{background:linear-gradient(180deg,#e9f0f6,#dce7f1)}
.rs-garland{display:block;width:100%;height:28px;margin:-14px 0;position:relative;z-index:2;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 28'%3E%3Cpath d='M0 14 Q100 2 200 14 T400 14' fill='none' stroke='%23b8924a' stroke-width='.8'/%3E%3Ccircle cx='200' cy='14' r='3.5' fill='%23fbf8f1' stroke='%23b8924a'/%3E%3Ccircle cx='100' cy='8' r='2' fill='%23e8e2d6'/%3E%3Ccircle cx='300' cy='20' r='2' fill='%23e8e2d6'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.rs-kicker{font-family:'Jost',sans-serif;font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-d)}
.rs-title{font-family:'Pinyon Script',cursive;font-weight:400;font-size:clamp(40px,11vw,54px);line-height:1.15;color:var(--ink);margin-top:6px}
.rs-text{font-size:19px;line-height:1.75;color:#4d5c6b;max-width:380px;margin:18px auto 0}
.rs-couple{font-family:'Pinyon Script',cursive;font-size:40px;color:var(--ink);margin-top:22px}
.rs-couple em{font-style:normal;color:var(--gold);padding:0 6px}
.rs-verse{font-family:'Amiri',serif;font-size:21px;color:var(--gold-d);direction:rtl;line-height:2;margin-top:30px}
.rs-verse-tr{font-style:italic;font-size:16px;color:#6a7988;margin-top:6px;line-height:1.6}
.rs-scratch{position:relative;width:250px;height:250px;margin:36px auto 0;border-radius:50%;box-shadow:0 26px 60px -28px rgba(52,70,90,.55)}
.rs-scratch__under{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,#fffdf8 55%,#f1e7d3);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 0 9px #fbf8f1,inset 0 0 0 10px rgba(184,146,74,.45)}
.rs-date-day{font-family:'Jost',sans-serif;font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--blue-deep)}
.rs-date-num{font-size:82px;font-weight:500;line-height:1;color:var(--ink)}
.rs-date-month{font-family:'Pinyon Script',cursive;font-size:34px;color:var(--gold-d);line-height:1}
.rs-date-year{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.42em;color:var(--blue-deep);margin-top:6px}
.rs-scratch canvas{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;touch-action:none;cursor:grab;transition:opacity .9s ease}
.rs-scratch.is-done canvas{opacity:0;pointer-events:none}
.rs-hint{font-family:'Jost',sans-serif;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-d);margin-top:22px;transition:opacity .6s}
.rs-scratch.is-done+.rs-hint{opacity:0}
.rs-burst{position:absolute;inset:-60px;pointer-events:none;width:calc(100% + 120px);height:calc(100% + 120px)}
.rs-countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:380px;margin:30px auto 0}
.rs-cd{background:rgba(255,255,255,.72);border:1px solid rgba(184,146,74,.35);border-radius:60px 60px 10px 10px;padding:20px 4px 12px}
.rs-cd b{display:block;font-size:36px;font-weight:500;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}
.rs-cd span{font-family:'Jost',sans-serif;font-size:8.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-d)}
.rs-events{display:grid;gap:24px;margin-top:36px}
.rs-event{background:#fff;border-radius:180px 180px 16px 16px;padding:56px 24px 32px;border:1px solid rgba(184,146,74,.35);box-shadow:0 26px 50px -32px rgba(52,70,90,.5);position:relative}
.rs-event:before{content:"";position:absolute;inset:7px;border:1px solid rgba(184,146,74,.2);border-radius:inherit;pointer-events:none}
.rs-event svg{width:38px;height:38px;color:var(--gold);margin-bottom:6px}
.rs-event h3{font-family:'Pinyon Script',cursive;font-weight:400;font-size:42px;color:var(--ink);line-height:1.1}
.rs-event__meta{font-family:'Jost',sans-serif;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--blue-deep);margin-top:8px;line-height:2.1}
.rs-event__venue{font-size:18px;color:#4d5c6b;margin-top:12px;line-height:1.5}
.rs-event__venue strong{display:block;font-weight:600;color:var(--ink);font-size:20px}
.rs-btn{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding:13px 26px;border-radius:40px;background:linear-gradient(135deg,#cfab62,#97752f);color:#fff;font-family:'Jost',sans-serif;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;box-shadow:0 12px 26px -12px rgba(140,106,44,.75)}
.rs-btn--ghost{background:transparent;color:var(--gold-d);border:1px solid rgba(184,146,74,.6);box-shadow:none}
.rs-map{margin:34px auto 0;max-width:400px;border-radius:200px 200px 20px 20px;overflow:hidden;border:1px solid rgba(184,146,74,.45);padding:8px;background:#fff;box-shadow:0 26px 50px -32px rgba(52,70,90,.5)}
.rs-map iframe{display:block;width:100%;height:340px;border:0;border-radius:192px 192px 14px 14px;filter:saturate(.7) sepia(.1)}
.rs-closing .rs-couple{font-size:46px}
.rs-families{font-family:'Jost',sans-serif;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--blue-deep);margin-top:16px;line-height:2}
.rs-footer{padding:26px;text-align:center;font-family:'Jost',sans-serif;font-size:9.5px;letter-spacing:.32em;text-transform:uppercase;color:#8a97a4;background:var(--cream)}
.rs-footer a{color:var(--gold-d);text-decoration:none}
.rs-reveal{opacity:0;transform:translateY(28px);transition:opacity 1.1s ease,transform 1.1s ease}
.rs-reveal.is-in{opacity:1;transform:none}
