/* XV fantasía. Only new fantasy variants; no behavior or RSVP overrides. */
.atelier-fantasia{--muted:var(--ink);--wash:var(--paper);background:var(--paper)}
.atelier-fantasia .fantasia-hero{position:relative;aspect-ratio:2/3;isolation:isolate;background:var(--paper);overflow:hidden;padding:0}
.atelier-fantasia .fantasia-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.atelier-fantasia .fantasia-monogram{position:absolute;left:50%;top:34%;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--accent);border-radius:50%;background:var(--paper);color:var(--ink);font:32px/1 'Atelier Script',Georgia,serif;box-shadow:0 0 0 3px #ffffff88}
.atelier-fantasia .fantasia-copy{position:absolute;top:40%;bottom:8%;left:10%;right:10%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;text-align:center}
.atelier-fantasia .fantasia-copy .atelier-kicker{font-size:11px;letter-spacing:.18em;margin:0}
.atelier-fantasia .fantasia-copy .atelier-names{font:normal clamp(52px,13vw,104px)/1.12 'Atelier Script',Georgia,serif;margin:0;color:var(--ink);overflow-wrap:anywhere;max-width:100%}
.atelier-fantasia .fantasia-name-long .atelier-names{font-size:clamp(36px,10vw,72px)}
.atelier-fantasia .fantasia-date{font:15px/1.4 Georgia,serif;margin:0;letter-spacing:.04em}
.atelier-fantasia .fantasia-headline{font:italic 16px/1.5 Georgia,serif;margin:0;max-width:360px}
.atelier-fantasia .fantasia-countdown-wrap{width:100%;max-width:360px}
.atelier-fantasia .fantasia-countdown-wrap>[data-countdown-status]{display:block;font:10px/1.4 Arial,sans-serif;letter-spacing:.06em;margin-bottom:6px}
.atelier-fantasia .fantasia-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0}
.atelier-fantasia .fantasia-countdown>div{border:1px solid var(--accent);border-radius:8px;padding:8px 3px;background:#ffffff45}
.atelier-fantasia .fantasia-countdown strong{font:normal 30px/1.1 Georgia,serif;display:block;letter-spacing:0}
.atelier-fantasia .fantasia-countdown span{font:9px/1.5 Arial,sans-serif;display:block;letter-spacing:.02em;margin-top:4px}
.atelier-fantasia .fantasia-discover{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:var(--paper);border:1px solid var(--accent);border-radius:28px;padding:11px 24px;font:12px/1.3 Georgia,serif;text-decoration:none;box-shadow:0 4px 12px #0002;max-width:100%}
.atelier-fantasia .fantasia-discover:focus-visible,.atelier-fantasia a:focus-visible,.atelier-fantasia button:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.atelier-fantasia .atelier-intro,.atelier-fantasia .atelier-date,.atelier-fantasia .atelier-details,.atelier-fantasia .atelier-family{background:var(--paper)}
.atelier-fantasia .atelier-intro .atelier-frame{border:1px solid var(--accent);border-radius:100px 100px 5px 5px;background:#ffffff60}
.atelier-fantasia .atelier-intro:before,.atelier-fantasia .atelier-intro:after{opacity:.13}
.atelier-fantasia .atelier-envelope{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent)}
.atelier-fantasia .atelier-seal{border-color:var(--accent);color:var(--ink);background:var(--paper);box-shadow:inset 0 0 0 4px #ffffff88,inset 0 0 0 5px var(--accent)}
.atelier-fantasia .atelier-rsvp{background:var(--paper);border-top:1px solid var(--accent)}
.atelier-fantasia .atelier-actions button,.atelier-fantasia .atelier-actions a{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.atelier-fantasia .atelier-actions .outline{background:transparent;color:var(--ink);border-color:var(--accent)}
.atelier-fantasia .fantasia-portrait{padding:28px;background:var(--paper)}
.atelier-fantasia .fantasia-portrait img{height:auto;max-height:740px;object-fit:contain;border:1px solid var(--accent);padding:8px}
@media(max-width:700px){.atelier-fantasia .fantasia-copy{gap:8px}.atelier-fantasia .fantasia-copy .atelier-names{font-size:clamp(52px,14vw,90px)}.atelier-fantasia .fantasia-name-long .atelier-names{font-size:clamp(34px,10vw,66px)}}
@media(max-width:480px){.atelier-fantasia .fantasia-copy{left:9%;right:9%;top:40%;bottom:7%;gap:6px}.atelier-fantasia .fantasia-copy .atelier-kicker{font-size:9px;letter-spacing:.15em}.atelier-fantasia .fantasia-monogram{width:34px;height:34px;font-size:25px}.atelier-fantasia .fantasia-date{font-size:12px;letter-spacing:0}.atelier-fantasia .fantasia-headline{font-size:12px;line-height:1.35;max-width:250px}.atelier-fantasia .fantasia-countdown{gap:5px;max-width:270px;margin:auto}.atelier-fantasia .fantasia-countdown>div{padding:5px 2px;border-radius:6px}.atelier-fantasia .fantasia-countdown strong{font-size:23px}.atelier-fantasia .fantasia-countdown span{font-size:8px;margin-top:1px}.atelier-fantasia .fantasia-countdown-wrap>[data-countdown-status]{font-size:8px;margin-bottom:3px}.atelier-fantasia .fantasia-discover{padding:9px 20px;font-size:11px}.atelier-fantasia .fantasia-name-long .fantasia-headline{display:none}}
@media(max-width:350px){.atelier-fantasia .fantasia-copy{gap:4px}.atelier-fantasia .fantasia-copy .atelier-names{font-size:46px}.atelier-fantasia .fantasia-name-long .atelier-names{font-size:32px}.atelier-fantasia .fantasia-date{font-size:11px}.atelier-fantasia .fantasia-headline{font-size:11px}.atelier-fantasia .fantasia-countdown strong{font-size:20px}.atelier-fantasia .fantasia-discover{padding:8px 16px}}
@media(prefers-reduced-motion:reduce){.atelier-fantasia *{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
