:root{--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--fg);background:var(--bg);overflow-x:hidden}a{color:inherit;text-decoration:none}.invite{min-height:100vh;background:radial-gradient(circle at 15% 0%,var(--glow),transparent 28rem),linear-gradient(180deg,var(--bg),var(--bg2));}.nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:20;width:min(92%,640px);display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(14px);font-size:12px}.nav strong{font-family:var(--serif);font-size:22px}.hero{min-height:100svh;display:grid;place-items:center;text-align:center;padding:110px 24px 60px;position:relative;overflow:hidden}.orb{position:absolute;border:1px solid var(--line);border-radius:50%;opacity:.65}.orb.a{width:360px;height:360px;right:-150px;top:55px}.orb.b{width:250px;height:250px;left:-110px;bottom:80px}.kicker{font-size:11px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(58px,15vw,108px);line-height:.86;letter-spacing:-.045em;margin:0;max-width:850px}.hero .script{font-family:"Great Vibes",cursive;color:var(--accent);font-size:clamp(30px,8vw,54px);margin:18px 0 6px}.date{font-size:12px;letter-spacing:.24em;text-transform:uppercase}.hero p.lede{max-width:610px;font-size:16px;line-height:1.8;color:var(--muted);margin:28px auto 0}.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:28px}.btn{border:1px solid var(--line);padding:13px 18px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.03em}.btn.primary{background:var(--accent);color:var(--buttonText);border-color:transparent}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:min(620px,92vw);margin:0 auto 80px}.countdown div{padding:18px 8px;border:1px solid var(--line);border-radius:22px;background:var(--surface);text-align:center;backdrop-filter:blur(12px)}.countdown b{display:block;font-family:var(--serif);font-size:34px;font-weight:500}.countdown span{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.section{width:min(1000px,calc(100% - 34px));margin:0 auto;padding:82px 0}.section.center{text-align:center}.eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:700}.section h2{font-family:var(--serif);font-size:clamp(42px,8vw,74px);line-height:.94;font-weight:500;margin:10px 0 20px}.section p{color:var(--muted);line-height:1.8}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.card{border:1px solid var(--line);border-radius:28px;padding:28px;background:var(--surface);backdrop-filter:blur(10px)}.card h3{font-family:var(--serif);font-size:30px;font-weight:500;margin:0 0 8px}.timeline{display:grid;gap:12px}.timeline .row{display:grid;grid-template-columns:92px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.timeline b{color:var(--accent)}.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:12px}.shot{min-height:260px;border-radius:26px;border:1px solid var(--line);background:linear-gradient(145deg,var(--gallery1),var(--gallery2));position:relative;overflow:hidden}.shot:after{content:"";position:absolute;inset:14px;border:1px solid var(--line);border-radius:18px}.shot.tall{min-height:360px}.music{display:flex;justify-content:space-between;align-items:center;gap:18px}.music button{width:52px;height:52px;border-radius:50%;border:0;background:var(--accent);color:var(--buttonText);font-size:18px}.gift{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px}.rsvp{padding:70px 0}.rsvp-box{width:min(760px,calc(100% - 34px));margin:auto;padding:42px;border:1px solid var(--line);border-radius:32px;background:var(--surface);text-align:center}.form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.form input,.form select,.form textarea{width:100%;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:transparent;color:var(--fg);font:inherit}.form textarea{grid-column:1/-1;min-height:90px}.form .full{grid-column:1/-1}.success{display:none;margin-top:16px;color:var(--accent);font-weight:700}.footer{text-align:center;padding:40px 20px 70px;color:var(--muted);font-size:12px}.floating{position:fixed;right:16px;bottom:16px;z-index:18;padding:12px 15px;border-radius:999px;background:#25d366;color:#102216;font-size:12px;font-weight:800;box-shadow:0 12px 32px #0002}@media(max-width:700px){.grid2,.gallery{grid-template-columns:1fr}.shot,.shot.tall{min-height:260px}.form{grid-template-columns:1fr}.form textarea,.form .full{grid-column:auto}.gift{grid-template-columns:1fr}.timeline .row{grid-template-columns:72px 1fr}.nav{width:calc(100% - 24px)}.countdown{gap:6px}.countdown div{padding:14px 4px}.countdown b{font-size:28px}}

/* === Aurennia demo experience refresh · 2026-10 === */
body{background:#120a10}
.invite{background:var(--bg);overflow:hidden}
.demo-banner{
  position:fixed;left:50%;bottom:14px;z-index:17;transform:translateX(-50%);
  max-width:calc(100% - 150px);padding:7px 12px;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);
  border-radius:99px;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);
  color:var(--muted);font-size:9px;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap
}
.nav{top:15px;width:min(92%,720px);padding:11px 16px;background:color-mix(in srgb,var(--bg) 72%,transparent);box-shadow:0 12px 42px #0002}
.nav a{opacity:.78;transition:.2s}.nav a:hover{opacity:1}
.hero{
  min-height:100svh;padding:130px 24px 95px;color:#fff;
  background-image:linear-gradient(180deg,rgba(12,5,9,.2),rgba(12,5,9,.82)),var(--hero-image);
  background-size:cover;background-position:center;
}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 28%,transparent 0 20%,rgba(10,4,8,.08) 55%,rgba(10,4,8,.44));pointer-events:none}
.hero>div{position:relative;z-index:2;max-width:880px}
.hero .kicker{color:#f3d9ad}
.hero h1{text-shadow:0 18px 60px rgba(0,0,0,.35)}
.hero .script{color:#f3d9ad;text-shadow:0 12px 30px rgba(0,0,0,.32)}
.hero p.lede{color:rgba(255,255,255,.77)}
.hero .btn{color:#fff;border-color:rgba(255,255,255,.36);background:rgba(255,255,255,.06);backdrop-filter:blur(10px)}
.hero .btn.primary{color:#211018;background:#f1d19c;border-color:transparent}
.personalized-demo{
  position:relative;z-index:5;width:min(720px,calc(100% - 34px));margin:-58px auto 30px;
  padding:22px 24px;border:1px solid var(--line);border-radius:24px;background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:blur(18px);box-shadow:0 24px 65px #0003;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center
}
.personalized-demo small,.personalized-demo b,.personalized-demo span{display:block}
.personalized-demo small{font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.personalized-demo b{font-family:var(--serif);font-size:1.8rem;font-weight:500;margin-top:3px}
.personalized-demo span{font-size:.72rem;color:var(--muted)}
.personalized-demo em{font-style:normal;padding:9px 12px;border:1px solid var(--line);border-radius:99px;font-size:.62rem;color:var(--accent)}
.countdown{margin-top:30px}
.countdown div{background:color-mix(in srgb,var(--bg2) 72%,transparent);box-shadow:0 12px 36px #0001}
.section{padding:clamp(75px,9vw,120px) 0}
.section.center{max-width:760px}
.section.center p{max-width:650px;margin-inline:auto}
.section h2{letter-spacing:-.035em}
.card{box-shadow:0 18px 55px #0000000d}
.card h3{line-height:1}
.timeline{border-top:1px solid var(--line)}
.timeline .row{padding:22px 0}
.timeline .row b{font-family:var(--serif);font-size:1.3rem;font-weight:500}
.timeline .row span{font-family:var(--serif);font-size:1.25rem}
.gallery{
  display:flex;gap:13px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;
  scrollbar-width:none
}
.gallery::-webkit-scrollbar{display:none}
.shot{
  flex:0 0 min(72vw,520px);height:min(70vh,620px);min-height:480px;scroll-snap-align:center;
  border-radius:28px;background-size:cover;background-position:center;border:1px solid var(--line);box-shadow:0 22px 55px #0002
}
.shot.tall{min-height:480px}
.shot:after{inset:0;border:0;background:linear-gradient(180deg,transparent 58%,rgba(10,5,8,.64));border-radius:inherit}
.shot-caption{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;color:#fff}
.shot-caption small,.shot-caption b{display:block}
.shot-caption small{font-size:9px;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.shot-caption b{font-family:var(--serif);font-size:1.6rem;font-weight:500;margin-top:3px}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px}
.gallery-arrows{display:flex;gap:8px}
.gallery-arrows button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--fg);cursor:pointer}
.gallery-dots{display:flex;gap:6px}
.gallery-dots span{width:6px;height:6px;border-radius:50%;background:var(--line)}
.gallery-dots span.active{width:20px;border-radius:99px;background:var(--accent)}
.music{position:relative;overflow:hidden}
.music::before{content:"";position:absolute;width:140px;height:140px;border:1px solid var(--line);border-radius:50%;right:-55px;top:-65px}
.music button{cursor:pointer;position:relative;z-index:2;box-shadow:0 0 0 0 var(--glow);transition:.25s}
.music button[data-on="1"]{animation:aurenniaPulse 1.8s infinite}
@keyframes aurenniaPulse{50%{box-shadow:0 0 0 18px transparent}}
.music-note{font-size:.66rem!important;line-height:1.45!important;margin-top:8px!important}
.rsvp{padding:clamp(85px,10vw,140px) 0;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bg2) 35%,transparent))}
.rsvp-box{padding:clamp(32px,6vw,58px);box-shadow:0 25px 80px #0002}
.form input,.form select,.form textarea{min-height:50px;background:color-mix(in srgb,var(--bg) 75%,transparent)}
.form textarea{min-height:110px;padding-top:16px}
.form button{cursor:pointer}
.footer{padding-bottom:105px}
.floating{right:16px;bottom:16px;z-index:19}
@media(max-width:700px){
  .hero{background-position:center;min-height:92svh;padding-top:115px}
  .hero h1{font-size:clamp(4rem,19vw,6rem)}
  .personalized-demo{margin-top:-42px;grid-template-columns:1fr;padding:18px}
  .personalized-demo em{justify-self:start}
  .shot,.shot.tall{flex-basis:86vw;min-height:470px;height:62vh}
  .grid2{gap:12px}
  .card{border-radius:22px}
  .demo-banner{display:none}
}


/* === Theme-specific storytelling · 2026-10 === */
.story-feature{
  width:min(1040px,calc(100% - 34px));margin:0 auto;padding:clamp(70px,9vw,120px) 0;
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,7vw,90px);align-items:center
}
.story-copy h2{font-family:var(--serif);font-size:clamp(3.1rem,7vw,6.5rem);font-weight:500;line-height:.9;letter-spacing:-.045em;margin:10px 0 22px}
.story-copy p{color:var(--muted);font-size:.94rem;line-height:1.8}
.story-copy blockquote{margin:30px 0 0;padding:20px 0 0;border-top:1px solid var(--line);font-family:var(--serif);font-size:clamp(1.4rem,3vw,2rem);line-height:1.15;font-style:italic;color:var(--accent)}
.story-photo{min-height:620px;border-radius:220px 220px 32px 32px;background-image:linear-gradient(180deg,transparent 58%,rgba(12,6,9,.34)),var(--hero-image);background-size:cover;background-position:center;box-shadow:0 30px 80px #0002}
.story-number{font-family:var(--serif);font-size:clamp(10rem,24vw,20rem);line-height:.75;color:var(--accent);opacity:.78;letter-spacing:-.09em;text-align:center}
.story-symbol{width:min(320px,70vw);aspect-ratio:1;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:8rem;color:var(--accent);margin:auto;background:radial-gradient(circle,var(--glow),transparent 70%)}
.story-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}
.story-chips span{padding:8px 11px;border:1px solid var(--line);border-radius:99px;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}

/* Boda: editorial, centrada y cinematográfica */
body[data-demo-theme="wedding"] .hero{background-position:center 38%}
body[data-demo-theme="wedding"] .story-feature{grid-template-columns:.95fr 1.05fr}
body[data-demo-theme="wedding"] .story-photo{transform:rotate(-1.5deg)}
body[data-demo-theme="wedding"] .timeline .row:nth-child(even){padding-left:8%}

/* XV: composición editorial asimétrica y más dinámica */
body[data-demo-theme="xv"] .hero{place-items:end start;text-align:left;padding-left:max(28px,8vw);background-position:center 28%}
body[data-demo-theme="xv"] .hero>div{max-width:720px;margin:0}
body[data-demo-theme="xv"] .hero .actions{justify-content:flex-start}
body[data-demo-theme="xv"] .hero .script{text-align:right;margin-right:8%}
body[data-demo-theme="xv"] .xv-story{grid-template-columns:.78fr 1.22fr}
body[data-demo-theme="xv"] .section:nth-of-type(even){transform:translateX(min(3vw,28px))}
body[data-demo-theme="xv"] .gallery .shot:nth-child(2){transform:translateY(28px)}

/* Bautizo: luz, simetría y respiración */
body[data-demo-theme="baptism"] .invite{background:linear-gradient(180deg,#eff5ef,#f8f5ef 48%,#e4eee7)}
body[data-demo-theme="baptism"] .hero{background-position:center 42%}
body[data-demo-theme="baptism"] .baptism-story{grid-template-columns:.7fr 1.3fr}
body[data-demo-theme="baptism"] .card,body[data-demo-theme="baptism"] .rsvp-box{background:rgba(255,255,255,.56)}
body[data-demo-theme="baptism"] .story-copy blockquote{color:#496d5f}

/* Cumpleaños: tipografía grande, nocturna y más gráfica */
body[data-demo-theme="birthday"] .hero{place-items:end start;text-align:left;padding-left:max(28px,8vw);background-position:center 30%}
body[data-demo-theme="birthday"] .hero>div{max-width:740px;margin:0}
body[data-demo-theme="birthday"] .hero .actions{justify-content:flex-start}
body[data-demo-theme="birthday"] .birthday-story{grid-template-columns:.85fr 1.15fr}
body[data-demo-theme="birthday"] .story-number{text-shadow:0 0 60px color-mix(in srgb,var(--accent) 35%,transparent)}
body[data-demo-theme="birthday"] .timeline .row b{font-size:1.8rem}

/* Baby shower: orgánico, suave y centrado */
body[data-demo-theme="baby"] .hero{background-position:center 38%}
body[data-demo-theme="baby"] .baby-story{grid-template-columns:.72fr 1.28fr}
body[data-demo-theme="baby"] .story-symbol{border-radius:46% 54% 50% 50% / 58% 42% 58% 42%;font-size:7rem}
body[data-demo-theme="baby"] .card{border-radius:38px}
body[data-demo-theme="baby"] .gallery .shot{border-radius:42px}

@media(max-width:700px){
  .story-feature,.story-feature.wedding-story,.story-feature.xv-story,.story-feature.baptism-story,.story-feature.birthday-story,.story-feature.baby-story{grid-template-columns:1fr;gap:30px;padding-block:72px}
  .story-photo{min-height:520px;order:2}
  .story-number{font-size:11rem;text-align:left}
  .story-symbol{width:210px;margin-left:0}
  body[data-demo-theme="xv"] .hero,body[data-demo-theme="birthday"] .hero{padding-left:24px;padding-right:24px;place-items:end start}
  body[data-demo-theme="xv"] .section:nth-of-type(even){transform:none}
  body[data-demo-theme="xv"] .gallery .shot:nth-child(2){transform:none}
}


/* === Mobile polish after visual QA === */
@media(max-width:700px){
  body[data-demo-theme="wedding"] .wedding-story,
  body[data-demo-theme="xv"] .xv-story,
  body[data-demo-theme="baptism"] .baptism-story,
  body[data-demo-theme="birthday"] .birthday-story,
  body[data-demo-theme="baby"] .baby-story{
    grid-template-columns:1fr;
  }
  body[data-demo-theme="xv"] .xv-story .story-number,
  body[data-demo-theme="birthday"] .birthday-story .story-number{
    text-align:left;
    font-size:9rem;
    margin-bottom:4px;
  }
  .floating{
    width:50px;height:50px;padding:0;display:grid;place-items:center;
    font-size:0;border-radius:50%;right:12px;bottom:12px
  }
  .floating::before{content:"WA";font-size:11px;letter-spacing:.04em}
}

/* Aviso visible del comportamiento simulado de los formularios de muestra. */
.demo-privacy-note{max-width:650px;margin:17px auto 0;color:var(--muted);font-size:13px;line-height:1.6;text-align:center}
.demo-privacy-note a,.footer a{text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Accessibility and demo clarity from the premium audit. */
.skip-link{position:fixed;left:16px;top:-80px;z-index:200;padding:12px 16px;border-radius:99px;background:#fff;color:#201018;font-weight:700}
.skip-link:focus{top:16px}
.nav a,.footer a{min-height:44px;display:inline-flex;align-items:center}
.gallery-arrows button,.form button,.floating{min-width:44px;min-height:44px}
.music button{flex:0 0 52px}
.demo-action-note{grid-column:1/-1;margin:14px 0 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:.76rem;line-height:1.55}
.gift .btn{background:transparent;color:inherit;cursor:pointer;font-family:inherit}
body[data-demo-theme="baby"],body[data-demo-theme="baptism"]{--muted:#4f5d56}
body[data-demo-theme="wedding"] .card,body[data-demo-theme="xv"] .card,body[data-demo-theme="birthday"] .card{background:color-mix(in srgb,var(--bg) 82%,#fff 18%)}
body[data-demo-theme="baby"]{--accent:#48675c}
@media(max-width:700px){
  .demo-banner{display:block;left:12px;right:74px;bottom:12px;width:auto;padding:9px 12px;font-size:.58rem;line-height:1.35;text-align:left}
  .floating{z-index:121}
}
