@font-face{font-family:LeJour;src:url('assets/fonts/title.woff2') format('woff2');font-display:swap}
@font-face{font-family:Amoresa;src:url('assets/fonts/script.woff2') format('woff2');font-display:swap}
@font-face{font-family:OpenSans;src:url('assets/fonts/body.woff2') format('woff2');font-display:swap}
@font-face{font-family:Poppins;src:url('assets/fonts/poppins.woff2') format('woff2');font-display:swap}
@font-face{font-family:Amalfi;src:url('assets/fonts/amalficoast.ttf') format('truetype');font-display:swap}
@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant.woff2') format('woff2');font-display:swap}
:root{--burgundy:#460011;--dark:#3d000e;--wine:#550519;--gold:#b08a3e;--cream:#fffaf2;--body:OpenSans,'Segoe UI',Arial,sans-serif;--display:LeJour,Georgia,serif;--script:Amoresa,Amalfi,'Brush Script MT',cursive}
*{box-sizing:border-box}html{background:#210008;scroll-behavior:smooth}body{margin:0;font-family:var(--body);background:#210008;color:white;-webkit-font-smoothing:antialiased}.invitation{width:min(100%,520px);margin:auto;overflow:hidden;background:var(--burgundy);box-shadow:0 0 60px rgba(0,0,0,.45)}img{display:block;max-width:100%}.invitation>section{position:relative;isolation:isolate}button{font:inherit;cursor:pointer}.hero{height:100svh;min-height:590px;max-height:950px;overflow:hidden;background:#520619}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}.hero:after{content:'';position:absolute;z-index:1;inset:58% 0 0;background:linear-gradient(transparent,rgba(68,0,14,.16) 35%,rgba(60,0,14,.13))}.hero-border{position:absolute;z-index:2;inset:20px 19px 8px;border:5px solid rgba(202,166,86,.8);pointer-events:none;border-bottom-color:transparent}.hero-identity{position:absolute;left:0;right:0;bottom:2%;z-index:3;text-align:center;filter:drop-shadow(0 2px 5px #3a0011)}.brand-title{font:normal clamp(56px,14.6vw,83px)/.95 var(--display);letter-spacing:-1.5px;margin:0;color:#fffefa}.brand-script{font:normal clamp(62px,15vw,89px)/1.2 var(--script);color:#bd964d;margin:-2px auto 0;white-space:nowrap}.music-prompt{position:absolute;z-index:4;left:-13px;top:67%;height:65px;display:flex;align-items:center;gap:11px;background:rgba(75,0,17,.85);color:#fff;border:2px solid #aa843e;border-radius:0 40px 40px 0;padding:0 11px 0 48px;text-align:left;font:normal 10px/1.18 var(--body)}.play-mark{position:absolute;left:34px;font-size:24px;color:#b99040;transform:translateX(-4px)}.music-prompt>span:last-child{margin-left:30px}.music-prompt:hover{background:#57031c}.music-prompt:focus-visible,.pill-button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.photo-band{background:#300007;border-block:6px solid #bd9957;height:310px;overflow:hidden}.photo-band img{width:100%;height:100%;object-fit:cover;object-position:center 45%}.burgundy-texture{background-color:var(--burgundy);background-image:radial-gradient(ellipse at -12% 12%,rgba(167,105,93,.23),transparent 50%),radial-gradient(ellipse at 109% 36%,rgba(219,170,107,.14),transparent 45%),radial-gradient(ellipse at 75% 90%,rgba(80,7,17,.3),transparent 40%)}.light-paper{background:linear-gradient(#fffaf1,#ede9e1 65%,#e1ddd4);color:var(--gold)}
.story{padding:26px 25px 0;overflow:hidden}.story:before{content:'';position:absolute;inset:-9% -35% auto auto;width:90%;height:80%;background:url('assets/images/gold-decor-3.webp') center/contain no-repeat;opacity:.52;z-index:-1}.story:after{content:'';position:absolute;inset:0;background:url('assets/images/gold-dust-overlay.webp') center/cover;opacity:.09;z-index:-1}.story-inner{text-align:center}.story-name{font:normal clamp(38px,11vw,54px)/1.06 var(--display);color:var(--gold);margin:0}.story-script{font:normal clamp(43px,13vw,60px)/1.05 var(--script);color:var(--gold);margin:-5px 0 13px}.story p:not(.story-name,.story-script){font:normal clamp(16px,4.1vw,20px)/1.18 var(--body);margin:0 auto 16px;max-width:380px;text-shadow:0 1px 3px #32000c}.story-crown{width:clamp(230px,61vw,320px);height:140px;object-fit:contain;margin:0 auto -2px}.fifteen-band{padding:6px 2px 0;min-height:100px;border-block:5px solid #bea36c;display:flex;align-items:center;justify-content:center}.fifteen-band p{margin:0;font:normal clamp(25px,6vw,39px)/1.12 var(--display);display:flex;align-items:center;gap:10px;white-space:nowrap}.fifteen-band strong{font:normal clamp(88px,27vw,133px)/.9 var(--display)}
.parents{padding:36px 18px 38px;text-align:center}.parents:before{content:'';position:absolute;left:-125px;top:-30px;width:310px;height:340px;z-index:-1;background:url('assets/images/art-deco-frame.webp') center/contain no-repeat;opacity:.45}.parents-inner{position:relative;z-index:1}.parents-label{font:normal 23px/1.1 Georgia,serif;margin:0 0 7px}.parents-inner>p:not(.parents-label){font:normal clamp(19px,4.6vw,23px)/1.25 var(--body);margin:0}.parents-label.second{margin-top:33px}
.reflection{padding:35px 20px 55px;overflow:hidden}.gold-frames{position:absolute;inset:15px 20px 0;z-index:-1;border:3px solid #bda168;transform:rotate(12deg);pointer-events:none}.gold-frames:before{content:'';position:absolute;inset:-10px 8px 19px -16px;border:3px solid #ae8740;transform:rotate(-20deg)}.reflection-card{border:8px solid #c1a572;outline:2px solid rgba(255,250,235,.2);padding:42px 24px 100px;text-align:center;min-height:400px;box-shadow:0 6px 2px #32000e}.reflection-card p{font:normal clamp(19px,5vw,24px)/1.12 var(--display);margin:0 auto 34px;max-width:360px}.reflection-card p:last-child{margin:0 auto}.reflection-crown{position:relative;width:clamp(245px,74%,335px);height:140px;object-fit:contain;margin:-105px auto 0;z-index:2}.reflection-after{text-align:center;font:normal clamp(17px,4.3vw,21px)/1.2 var(--body);margin:33px 0 0}
.calendar{padding:25px 27px 40px}.calendar-frames{position:absolute;inset:13px 19px 90px;z-index:-1;border:2px solid #bd9854;transform:rotate(11deg)}.calendar-frames:after{content:'';position:absolute;inset:-15px 12px 0 -12px;border:3px solid #c6a663;transform:rotate(-18deg)}.calendar-box{display:flex;align-items:center;justify-content:space-around;border:6px solid #bda474;min-height:146px;padding:8px 4px;box-shadow:0 0 0 4px #f7eee4 inset}.calendar-box span{font:normal clamp(21px,5.4vw,31px)/1 var(--display)}.calendar-box strong{font:normal clamp(84px,24vw,125px)/.9 var(--display)}.countdown{display:flex;gap:5px;align-items:flex-start;justify-content:center;color:#fff;margin:23px auto 0;text-align:center;font-family:var(--body)}.countdown>div{display:flex;flex-direction:column;align-items:center;min-width:57px}.countdown b,.countdown>span{font:700 clamp(34px,10vw,52px)/1.05 Arial,sans-serif}.countdown small{font:700 9px/1.2 Arial,sans-serif;margin-top:11px}.photo-band-large{height:340px;border-width:5px}.photo-band-large img{object-position:center 50%}
.gold-speckles:before{content:'';position:absolute;inset:0;background-image:url('assets/images/gold-dust-overlay.webp');background-size:100% auto;opacity:.44;pointer-events:none;mix-blend-mode:screen;z-index:-1}.event-details{padding:28px 18px 12px;text-align:center;background:#4a0013}.event-info{padding:15px 0 27px;position:relative}.event-info h2{font:700 clamp(28px,8.2vw,40px)/1.12 var(--body);margin:4px 0 0}.event-info p{font:normal clamp(19px,5.5vw,26px)/1.2 var(--body);margin:0 auto 20px}.line-illustration{height:112px;width:112px;stroke:#430011;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #f3c878);margin:0 auto 5px}.pill-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:linear-gradient(#fffcf8,#ebe8dc);border:3px solid #bb9c65;border-radius:50px;color:#b08b46;font:normal clamp(19px,5vw,25px)/1.05 var(--display);white-space:nowrap;min-height:51px;padding:9px 28px;box-shadow:0 1px 5px #35000b}.pill-button:hover{filter:brightness(1.06);transform:translateY(-1px)}.attendance{padding-top:25px;padding-bottom:40px}.attendance h3{font:normal clamp(42px,11vw,55px)/1.08 var(--script);margin:0 0 6px}.ticket-line{height:125px;width:165px;stroke:#3a0011;stroke-width:5.2;stroke-linecap:round;stroke-linejoin:round;margin:0 auto 20px}.attendance p{font-size:clamp(19px,5vw,25px);line-height:1.25;margin-bottom:44px}.attendance .pill-button{font-size:clamp(17px,4.5vw,22px)}
.attire-and-gift{padding:42px 34px 65px;text-align:center}.dress h2{font:normal clamp(34px,9vw,47px)/1.12 var(--script);margin:0;color:#fff}.dress h3{font:normal clamp(35px,9vw,48px)/1.05 var(--display);color:var(--gold);margin:0 0 5px}.dress p{font:normal clamp(22px,6vw,30px)/1.2 var(--body);color:var(--gold);margin:0}.gift-line{width:145px;height:145px;stroke:#3a0011;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;margin:3px auto 17px}.gift p{font:normal clamp(16px,4.2vw,20px)/1.35 var(--body);text-align:left;margin:0 auto 24px;max-width:360px}.envelope-line{stroke:#c39d52;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;width:120px;height:90px;margin:0 auto}.gift .envelope-caption{text-align:center;font-size:14px;margin:10px auto 0}
.farewell{min-height:310px;padding:60px 18px 65px;text-align:center;border-top:6px solid #bfa36c;position:relative}.farewell p{font:normal clamp(26px,6.6vw,34px)/1.13 var(--display);margin:0 auto;max-width:420px}.farewell:after{content:'';position:absolute;inset:auto 0 0;height:120px;background:url('assets/images/gold-dust-overlay.webp') center/cover;opacity:.12}.last-cover{height:750px;min-height:100svh;overflow:hidden;background:#480212}.last-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}.last-cover.gold-speckles:before{z-index:2;opacity:.32;mix-blend-mode:screen;pointer-events:none}.last-cover-frame{position:absolute;inset:15px 18px 18px;border:5px solid rgba(185,147,67,.75);pointer-events:none;z-index:3}.last-copy{position:absolute;z-index:4;bottom:7%;left:0;right:0;text-align:center;text-shadow:0 2px 5px #280007}.last-copy span{display:block;font:normal 50px/.98 var(--display);color:#fff}.last-copy strong{display:block;font:normal 65px/1.05 var(--script);color:#fff}
.toast{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%,15px);width:min(360px,88vw);padding:12px 18px;border:1px solid #c0a063;border-radius:8px;background:#3d0112;color:white;opacity:0;visibility:hidden;transition:.25s;z-index:40;font-size:14px;text-align:center;box-shadow:0 8px 24px #0006}.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media(min-width:580px){body{padding:24px 0}.hero{max-height:800px}.music-prompt{top:67%}.brand-title{font-size:75px}.brand-script{font-size:82px}}@media(max-width:360px){.reflection-card{padding-left:13px;padding-right:13px}.calendar{padding-inline:16px}.countdown>div{min-width:46px}.countdown{gap:2px}.music-prompt{font-size:9px}.hero-border{inset:14px 12px 8px}.calendar-box{min-height:110px}.parents-inner>p:not(.parents-label){font-size:18px}}
@media(prefers-reduced-motion:no-preference){.hero-identity{animation:reveal-title 1.7s ease both}.hero-border{animation:border-in 1.1s ease-out both}@keyframes reveal-title{from{opacity:0;transform:translateY(22px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes border-in{from{opacity:0}to{opacity:1}}}

/* Iconografía adaptada a la versión de Ashley Jacqueline. */
.event-details.gold-speckles:before,
.attire-and-gift.gold-speckles:before{opacity:.07}
.event-info{isolation:isolate}
.event-info:before,
.attire-and-gift .gift:before{
  content:"";
  position:absolute;
  pointer-events:none;
  width:min(100%,520px);
  height:235px;
  left:50%;
  top:0;
  transform:translateX(-50%);
  background:url('assets/images/destellos-dorados-focales.webp') center/100% 100% no-repeat;
  opacity:.95;
  z-index:-1;
}
.event-info>*{position:relative;z-index:1}
.event-icon{display:block;object-fit:contain;max-width:none;height:auto;margin:0 auto;filter:none}
.event-icon-church{width:165px;margin:0 auto -1px}
.event-icon-hall{width:172px;margin:0 auto -2px}
.event-icon-tickets{width:185px;margin:0 auto 7px}
.event-icon-gift{width:168px;margin:2px auto 10px}
.attendance:before{top:55px;height:245px}
.attendance h3{margin-bottom:2px}
.attire-and-gift .gift{position:relative;isolation:isolate}
.attire-and-gift .gift:before{top:-20px;height:250px}
.attire-and-gift .gift>*{position:relative;z-index:1}
@media(max-width:360px){
 .event-icon-church{width:151px}
 .event-icon-hall{width:157px}
 .event-icon-tickets{width:174px}
 .event-icon-gift{width:157px}
}


/* Ajuste fino de la transición «Mis papás / Mis padrinos» al marco dorado.
   Conserva los demás módulos, botones e iconografía originales. */
.parents{
  padding:31px 18px 63px;
  background-color:#460011;
  background-image:url('assets/images/acuarela-transparente.webp');
  background-size:310px 340px;
  background-position:-125px -30px;
  background-repeat:no-repeat;
}
.parents:before{display:none}
.parents-label{margin-bottom:3px}
.parents-label.second{margin-top:21px}
.reflection{
  padding-top:39px;
  overflow:visible;
  background-color:#460011;
  background-image:url('assets/images/acuarela-transparente.webp');
  background-size:310px 340px;
  background-position:-125px -298px;
  background-repeat:no-repeat;
}
.gold-frames{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  border:0;
  transform:none;
  pointer-events:none;
  z-index:-1;
}
.gold-frames:before{
  content:"";
  position:absolute;
  left:19px; top:10px;
  width:256px; height:325px;
  border:3px solid #bea062;
  transform:none;
}
.gold-frames:after{
  content:"";
  position:absolute;
  left:81px; top:-29px;
  width:280px; height:340px;
  border:3px solid #bea062;
  transform:rotate(19deg);
  transform-origin:0 0;
}
.reflection-card{
  position:relative;
  width:calc(100% - 38px);
  margin:0 auto;
  padding:48px 18px 105px;
}
@media(max-width:360px){
 .reflection-card{width:calc(100% - 25px);padding-inline:15px}
}
.reflection-card p{max-width:290px}
@media(max-width:360px){.reflection-card p{font-size:clamp(17px,5.2vw,19px)}}
/* En pantallas pequeñas, la frase central no queda partida en una «Y» suelta. */
@media(max-width:360px){
 .reflection-card{width:100%;padding-left:10px;padding-right:10px}
}

/* Ashley Jacqueline · adaptación 19 de diciembre de 2026 */
.brand-title{font-size:clamp(40px,10.6vw,58px);line-height:1.05;letter-spacing:-.65px}
.hero-identity{bottom:3%}
.story-name{font-size:clamp(32px,8.5vw,43px);line-height:1.13}
.last-copy span{font-size:clamp(35px,9.4vw,49px);line-height:1.13}
.parents-inner>p:not(.parents-label){font-size:clamp(17px,4.6vw,22px);overflow-wrap:break-word}
.event-details .venue-name{font:normal clamp(21px,5.7vw,27px)/1.28 var(--display);color:#fff6e9;margin:2px auto 7px;max-width:400px}
.event-details .venue-address{font:normal clamp(15px,4vw,18px)/1.4 var(--body);color:#fff4e4;max-width:360px;margin:0 auto 22px;padding:0 5px}
.event-details .event-type{font-size:clamp(20px,5vw,24px);margin:4px 0 5px}
.event-details .event-info{padding-bottom:36px}
.attendance .rsvp-deadline{font-size:clamp(15px,4.2vw,19px);line-height:1.35;color:#ffefc6;margin:-25px auto 24px;max-width:360px}
.attendance .rsvp-deadline strong{color:#fff;font-weight:700}
.dress p{font-size:clamp(18px,4.8vw,24px);line-height:1.32;max-width:385px;margin:0 auto}
.gift p strong{font-weight:700;color:#f7e3b6}
.itinerary{padding:43px 32px 46px;text-align:center;isolation:isolate;position:relative;background-color:#460011;border-top:1px solid rgba(196,160,95,.55);border-bottom:1px solid rgba(196,160,95,.55)}
.itinerary h2{font:normal clamp(43px,11vw,60px)/1.14 var(--script);margin:0;color:#fff}
.itinerary-intro{font:normal 17px/1.3 var(--display);color:#d7b875;margin:3px 0 27px}
.itinerary-list{margin:0 auto;padding:0;list-style:none;max-width:340px;position:relative}
.itinerary-list:before{content:'';position:absolute;top:18px;bottom:18px;left:38%;width:1px;background:linear-gradient(transparent,#d9b46a 10%,#d9b46a 90%,transparent);opacity:.75}
.itinerary-list li{display:grid;grid-template-columns:38% 62%;align-items:center;min-height:75px;text-align:left}
.itinerary-time{color:#f8e1a5;font:normal clamp(24px,6.5vw,32px)/1 var(--display);text-align:right;padding-right:24px}
.itinerary-event{font:normal clamp(20px,6vw,28px)/1.2 var(--display);padding-left:23px;color:#fff}
@media(max-width:360px){.brand-title{font-size:clamp(35px,10vw,40px)}.parents-inner>p:not(.parents-label){font-size:clamp(16px,4.35vw,18px)}.calendar-box span{font-size:clamp(17px,5.3vw,24px)}.calendar-box strong{font-size:clamp(72px,22vw,96px)}.itinerary{padding-inline:17px}}

/* === Ajustes solicitados · Ashley Jacqueline (nov 2026) === */
/* Botón de música más compacto para que no tape el nombre de Ashley */
.music-prompt{height:50px;left:-12px;top:61%;gap:8px;padding:0 10px 0 38px;font-size:9px;border-radius:0 34px 34px 0}
.play-mark{left:28px;font-size:19px}
.music-prompt>span:last-child{margin-left:24px}
@media(min-width:580px){.music-prompt{top:61%}}

/* 3ª sección (dedicatoria): separar el nombre de «Mis Quince» */
.story-script{margin-top:14px}
/* 3ª sección: corona al doble de su tamaño */
.story-crown{width:min(100%,360px);height:280px;margin-top:8px}

/* Banda «MIS 15 AÑOS»: más aire arriba para que no se corten las letras */
.fifteen-band{padding:30px 2px 14px;min-height:140px}

/* Código de vestimenta: ilustración roja del vestido y el traje */
.dress-illustration{display:block;width:min(100%,340px);height:auto;margin:16px auto 2px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.38))}

/* Regalo: título y el icono reubicado donde estaba el sobre */
.attire-and-gift .gift h2{font:normal clamp(34px,9vw,47px)/1.12 var(--script);color:#fff;margin:26px 0 8px}
.attire-and-gift .gift .event-icon-gift{margin:8px auto 4px}

/* Última sección: separar el nombre de «Mis Quince» */
.last-copy strong{margin-top:14px}
