.s1{--s-bg:#fbf1ec;--s-bg-2:#fffaf7;--s-bg-3:#f3e1d9;--s-plum:#3a1634;--s-plum-2:#56234f;--s-rose:#b8577a;--s-rose-2:#d88aa3;--s-blush:#f4cfc4;--s-champagne:#c9a063;--s-champagne-2:#e7cf9f;--s-sage:#8fa58b;--s-ink:#2b1027;--s-muted:#7d6272;--s-line:#3a163424;background:var(--s-bg);color:var(--s-ink);font-family:var(--font-sans);min-height:100dvh;overflow-x:clip}.s1 ::selection{background:var(--s-blush);color:var(--s-plum)}.s1 :focus-visible{outline:2px solid var(--s-rose);outline-offset:3px}.s1-serif{letter-spacing:-.02em;font-family:Playfair Display,Didot,"Bodoni 72",Iowan Old Style,Palatino Linotype,Georgia,serif;font-weight:500}.s1-italic{font-family:Playfair Display,Didot,"Bodoni 72",Iowan Old Style,Palatino Linotype,Georgia,serif;font-style:italic;font-weight:400}.s1-caps{letter-spacing:.28em;text-transform:uppercase;font-size:.72rem;font-weight:700}.s1-glow{background:radial-gradient(36rem 30rem at 82% 20%, #f4cfc4e6, transparent 70%), radial-gradient(28rem 22rem at 5% 90%, #e7cf9f73, transparent 70%), var(--s-bg)}.s1-arch{border-radius:999px 999px 1.25rem 1.25rem}.s1-card{background:var(--s-bg-2);border:1px solid var(--s-line);border-radius:1.25rem}.s1-btn{background:var(--s-plum);color:var(--s-bg-2);letter-spacing:.02em;border-radius:999px;align-items:center;gap:.6rem;padding:.95rem 1.7rem;font-weight:700;transition:background .3s,color .3s,letter-spacing .3s;display:inline-flex}.s1-btn:hover{background:var(--s-rose);letter-spacing:.06em}.s1-btn--line{color:var(--s-plum);box-shadow:inset 0 0 0 1px var(--s-plum);background:0 0}.s1-btn--line:hover{background:var(--s-plum);color:var(--s-bg-2)}@keyframes s1-shimmer{0%,to{opacity:.2;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}.s1-shimmer{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite s1-shimmer}@keyframes s1-sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.s1-sway{transform-box:fill-box;transform-origin:bottom;animation:7s ease-in-out infinite s1-sway}@keyframes s1-marquee{to{transform:translate(-50%)}}.s1-marquee{animation:60s linear infinite s1-marquee}.s1-marquee:hover{animation-play-state:paused}@keyframes s1-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.s1-breathe{animation:6s ease-in-out infinite s1-breathe}@media (prefers-reduced-motion:reduce){.s1-shimmer,.s1-sway,.s1-marquee,.s1-breathe{animation:none}}body:has(.s1){background:#fbf1ec}
