/* Dusty rose stationery. Envelope geometry and motion remain in index.html. */
body{background:radial-gradient(ellipse at 50% 0,#EAD9D5,#C7A3A5 68%);color:#443933}
.hoja{box-shadow:0 14px 80px rgba(98,69,65,.15)}
.papel{background-color:var(--marfil);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='p'%3E%3CfeTurbulence baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23887869' opacity='.035' filter='url(%23p)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.portada{height:clamp(650px,100svh,830px);padding:0;isolation:isolate;overflow:hidden;background:#302820}
.portada-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:43% 50%;z-index:-2}
.portada::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(24,20,16,.5),rgba(24,20,16,.1) 46%,transparent 67%,rgba(24,20,16,.5));pointer-events:none}
.portada-marco{position:absolute;inset:18px 18px 35px;border:1px solid rgba(255,245,230,.48);pointer-events:none}
.portada-identidad{padding:clamp(60px,12vw,90px) 24px 0;text-align:center}
.portada .rubro{color:#FFF8EB;font-size:.68rem;letter-spacing:.36em}
.nombres{font-family:var(--script);font-weight:400;font-size:clamp(3.8rem,16vw,5.6rem);line-height:1;color:#FFF9EF;margin:30px 0 0;padding:0;text-shadow:0 2px 18px rgba(0,0,0,.2)}
.nombres>span{display:block}
.nombres .amp{font-family:var(--serif);font-size:.25em;line-height:1.8;font-weight:300;color:#F4E3CF}
.portada-fecha{position:absolute;bottom:68px;left:0;right:0;font-size:1.25rem;font-weight:400;letter-spacing:.23em;color:#FFF8EE;margin:0}
.portada-fecha span{margin:0 .3em;opacity:.8}
.esfuma{height:38px;background:currentColor;-webkit-mask-image:url('assets/borde-papel.svg');mask-image:url('assets/borde-papel.svg');-webkit-mask-size:100% 100%;mask-size:100% 100%;--f:none}
.esfuma--inf{bottom:-2px}
.sec{padding:78px var(--pad);isolation:isolate}
.sec .medida{max-width:28em;margin-top:24px}
.titulo{font-size:clamp(1.12rem,4.7vw,1.48rem);font-weight:400;letter-spacing:.12em;color:#57463F;line-height:1.65}
.rubro{color:#80635E;letter-spacing:.23em;font-size:.62rem}
.texto{color:#65534E;font-size:1.06rem;line-height:1.85}
.caligrafia{display:inline-block;font-family:var(--script);font-size:clamp(2.8rem,11vw,3.7rem);font-weight:400;line-height:1.3;letter-spacing:0;text-transform:none;color:#956D70}
.mini-corazon{font-family:var(--serif);font-size:1.45rem;line-height:1;margin:20px auto;color:#AA8E7A}
.bienvenida{padding-top:62px;padding-bottom:86px}
.botanica{position:absolute;width:155px;height:60px;opacity:.35;color:#9E8970;pointer-events:none}
.botanica--izq{left:-36px;bottom:25px;transform:rotate(52deg)}
.sec--arena{background:var(--hueso)}
.sec--vino,.sec--noche{background:var(--rosa-papel);color:#57463F}
.sec--arena::before,.sec--vino::before{content:"";position:absolute;left:0;right:0;top:-30px;height:32px;background:inherit;transform:scaleY(-1);mask:url('assets/borde-papel.svg') center/100% 100% no-repeat;pointer-events:none}
.sec--arena::after,.sec--vino::after{content:"";position:absolute;left:0;right:0;bottom:-30px;height:32px;background:inherit;mask:url('assets/borde-papel.svg') center/100% 100% no-repeat;pointer-events:none}
.sec--vino .titulo,.sec--noche .titulo{color:#674D4E}
.sec--vino .rubro,.sec--noche .rubro{color:#80635E}
.sec--vino .texto,.sec--noche .texto{color:#65534E}
.costura{display:none}
.quien{font-weight:400;color:#654D49;font-size:1.18rem}
.rol{color:#80635E;font-size:.58rem}
.padres{gap:28px}
.casilla{border:0;padding-block:12px}
.casilla+.casilla::before{background:#C9ABA7;top:25%;bottom:25%}
.cifra{color:#795559;font-size:2.8rem}
.unidad{color:#755C58;font-size:.55rem;letter-spacing:.15em}
.calendario{max-width:330px;margin-top:42px;border-top:1px solid #D7BFBA;padding-top:32px}
.mes{color:#775955;font-size:.75rem;letter-spacing:.24em}
.rejilla{gap:5px}
.rejilla span{color:#7A625A;font-size:.56rem}
.rejilla b{color:#654D49;font-size:1rem}
.rejilla b.dia{color:#FFFCF7}
.corazon{color:#B98D91;width:140%;height:140%}
.itinerario{max-width:340px;margin-top:36px}
.itinerario::before{background:#CFB9A8;width:1px}
.hito{padding-block:22px;gap:24px}
.hito-icono{color:#B1977D;width:44px;height:44px}
.hito-hora{font-family:var(--serif);font-weight:400;font-size:1.4rem;color:#795559;letter-spacing:.06em}
.hito-que{color:#6D514D;font-size:.65rem;letter-spacing:.14em}
.hito-nota{font-size:1rem;color:#65534E}
.prenda{border:0;background:none;padding:16px 8px}
.prenda svg{width:60px;color:#A18374}
.prenda-quien{color:#80635E}
.prenda-que{color:#654D49}
.muestra{box-shadow:inset 0 0 0 1px rgba(90,60,50,.08)}
.paleta small{color:#735E55;letter-spacing:.08em}
.cuenta{border:0;border-top:1px solid #D9C3BA;border-bottom:1px solid #D9C3BA;background:none;padding-inline:4px}
.cuenta dt{color:#7D625B}
.cuenta dd{color:#654D49}
.pase{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;border:0;border-top:1px solid #D7BFBA;padding:clamp(24px,6vw,32px) 0 0;width:100%;max-width:340px}
.pase-num{color:#946B71;font-family:var(--serif);font-weight:300;font-size:5rem;transform:translateY(-.12em)}
.pase-txt{color:#755C58;font-size:clamp(.7rem,2.8vw,.85rem);letter-spacing:.16em;white-space:nowrap;margin:0;text-align:center}
.pase-txt:first-child{text-align:right}
.pase-txt:last-child{text-align:left}
.boton{border-color:#B99A91;color:#795559;letter-spacing:.14em;font-size:.64rem;min-height:46px}
.boton--oro{background:#946B71;border-color:#946B71;color:#FFF9F3}
.boton--claro{border-color:#AD8487;color:#795559}
.boton:hover,.boton--claro:hover,.boton--claro:focus-visible{background:#795559;color:#FFFCF7;border-color:#795559;box-shadow:0 6px 20px rgba(121,85,89,.12)}
.campo span{color:#755C58;text-align:center}
.campo input{color:#57463F;border-color:#B99A91;text-align:center}
.campo input::placeholder{color:#8A706B}
.campo input:focus{border-color:#795559}
.pildora{background:rgba(121,85,89,.96);color:#FFF9F3;border-color:#CFA9AD;box-shadow:0 5px 20px rgba(98,69,65,.18);font-size:.6rem;letter-spacing:.15em}
.pildora:hover,.pildora:focus-visible{background:#F1E5E2;color:#795559}
.momentos{padding-inline:20px;padding-bottom:35px}
.galeria{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:30px}
.galeria img{width:100%;height:clamp(180px,49vw,280px);object-fit:cover}
.galeria img:nth-child(1){grid-column:1/-1;height:auto;aspect-ratio:1280/853;object-position:center}
.galeria img:nth-child(2){object-position:52% 70%}
.galeria img:nth-child(3){object-position:48% 50%}
.cierre{background:var(--marfil);color:#795559;padding-top:48px;padding-bottom:110px}
.cierre::after{display:none}
.sobrecito{color:#B1977D;width:76px}
.cierre-frase{color:#80635E;font-size:1.12rem}
.cierre-firma{font-family:var(--script);font-weight:400;color:#946B71;font-size:clamp(2.8rem,12vw,4.3rem)}
.cierre-pie{color:#80635E;font-size:.56rem;letter-spacing:.2em}
@media(min-width:720px){body{background-image:radial-gradient(ellipse at 50% 0,#EAD9D5,#C7A3A5 68%)}.hoja{box-shadow:0 14px 80px rgba(98,69,65,.15)}}
@media(max-width:360px){.nombres{font-size:3.5rem}.portada-identidad{padding-top:65px}.galeria{gap:7px}.paleta{gap:10px}.boton{padding-inline:1.1em}}
@media(min-width:720px){.portada-identidad{padding-top:58px}.nombres{font-size:4.6rem}}
/* Final stationery refinements */
.portada .esfuma{display:none}
.nombres{font-family:var(--script);font-size:clamp(4.5rem,19vw,6.2rem);line-height:.9;font-weight:400}
.nombres .amp{line-height:1.65}
.portada-fecha{bottom:40px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:18px;width:260px;margin:auto;text-shadow:0 2px 12px rgba(0,0,0,.7);color:#FFFCF7;letter-spacing:.1em}
.portada-fecha span{margin:0;opacity:1}
.portada-fecha strong{font-size:3.5rem;line-height:1;font-weight:300}
.portada-fecha .fecha-mes,.portada-fecha .fecha-ano{font-family:var(--serif);font-size:1.05rem;text-transform:uppercase;border-block:1px solid rgba(255,248,238,.7);padding:7px 0}
.portada-fecha .fecha-dia{grid-column:1/-1;font-family:var(--sans);font-size:.66rem;letter-spacing:.2em;margin-top:12px;margin-bottom: 12px;}
.portada::before{background:linear-gradient(180deg,rgba(24,20,16,.5),rgba(24,20,16,.1) 46%,transparent 65%,rgba(24,20,16,.72))}
.bendicion{margin-top:40px;padding-top:32px;border-top:1px solid #DCC8BD}
.bendicion .titulo{font-size:1.05rem;letter-spacing:.1em;margin-top:9px}
.bendicion .padres{margin-top:24px}
.bienvenida .botanica{bottom:10px;opacity:.22}
.itinerario::before{display:none}
.hito:not(:last-child)::after{content:"";position:absolute;left:22px;top:60px;bottom:-22px;width:1px;background:#CFB9A8}
.etiqueta{background:#F1E5E2}
.etiqueta .hito-icono{background:transparent}
.foto-intermedia{margin:0;line-height:0;position:relative;z-index:2}
.foto-intermedia img{width:100%;height:auto;aspect-ratio:1280/853;object-fit:cover}
.cierre-anillo{padding:0 0 68px;background:var(--marfil)}
.foto-anillo{width:100%;height:auto;display:block;margin:0 0 42px}
.cierre-anillo .cierre-frase,.cierre-anillo .cierre-firma,.cierre-anillo .cierre-pie{padding-inline:24px}
.cierre-anillo .cierre-firma{font-family:var(--script);font-size:clamp(3rem,13vw,4.5rem)}
.musica[hidden],.musica-panel[hidden]{display:none}
.musica{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:90}
.musica-boton{width:48px;height:48px;border:1px solid #C8A3A5;border-radius:50%;background:#FFFCF7;color:#795559;box-shadow:0 4px 18px rgba(80,50,50,.15);display:grid;place-items:center;cursor:pointer}
.nota{width:23px;height:23px}
.ondas{display:none;align-items:center;gap:3px;height:22px}
.ondas i{display:block;width:2px;height:12px;background:currentColor;animation:sonando .9s ease-in-out infinite alternate}
.ondas i:nth-child(2){animation-delay:-.3s;height:19px}.ondas i:nth-child(3){animation-delay:-.6s;height:15px}.ondas i:nth-child(4){animation-delay:-.2s}
.musica-boton[aria-pressed="true"] .nota{display:none}.musica-boton[aria-pressed="true"] .ondas{display:flex}
@keyframes sonando{to{transform:scaleY(.35)}}
@media(min-width:720px){.nombres{font-size:5.5rem}.portada-identidad{padding-top:55px}}
@media(max-width:360px){.nombres{font-size:4.2rem}.portada-fecha{width:240px}}

/* Delicate calligraphy and tactile photograph edges. */
.nombres{font-size:clamp(4rem,17vw,5.4rem);line-height:.96;margin-top:22px}
.nombres>span:not(.amp){margin-block:-.04em}
.nombres .amp{font-size:.36em;font-weight:400;line-height:.9;margin-block:.06em;color:#FFF8EB;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.bendicion{border:0;padding-top:12px}
.etiqueta #t-dress{font-family:var(--script);text-transform:none;font-size:4.4rem;letter-spacing:0;line-height:1.2;color:var(--rosa-tinta);margin-top:12px}
.etiqueta .vestimenta{margin-top:24px}
.etiqueta .prenda svg{width:72px;opacity:.9}
.etiqueta .paleta{gap:0;margin-top:30px}
.etiqueta .paleta li+li{margin-left:-10px}
.etiqueta .muestra{width:clamp(48px,13vw,62px);box-shadow:inset 0 0 0 1px #FFFFFF35}
.colores-reservados{font-size:1rem;line-height:1.6;color:#795D59;margin:22px auto 0;max-width:290px}
.regalos .titulo{font-size:1.25rem;letter-spacing:.07em}
.regalos .texto{font-size:1rem;max-width:290px;margin:auto}
.cuenta{border:0;padding-top:10px;padding-bottom:0;margin-top:24px;max-width:310px}
.cuenta dd{font-size:1rem}.cuenta dt{font-size:.59rem}
.foto-intermedia::before,.foto-intermedia::after{content:"";position:absolute;left:-1px;right:-1px;height:clamp(32px,8vw,52px);z-index:2;pointer-events:none;background:var(--rosa-papel);mask:url('assets/borde-foto.svg') center/100% 100% no-repeat}
.foto-intermedia::before{top:-1px}
.foto-intermedia::after{bottom:-1px;transform:rotate(180deg);background:var(--marfil)}
.foto-final{margin-bottom:38px}.foto-final .foto-anillo{margin:0}
.calendario{border-top:0;padding-top:20px}
.rejilla b.dia{color:var(--rosa-tinta)}
.corazon{fill:none;stroke:var(--rosa);stroke-width:1.1}
.musica-fuente{position:fixed;left:-1000px;top:0;width:300px;height:152px;pointer-events:none}
@media(min-width:720px){.nombres{font-size:5.1rem}}
@media(prefers-reduced-motion:reduce){.ondas i{animation:none}}

#confirmar::after{display:none}

/* Reference-matched date and dress-code composition. */
.portada-fecha{grid-template-columns:1fr 70px 1fr;column-gap:14px}
.portada-fecha strong{font-variant-numeric:lining-nums;transform:translateY(-.06em);text-align:center;letter-spacing:0}
.portada-fecha .fecha-ano{font-variant-numeric:lining-nums}
.hito{grid-template-columns:58px 1fr;gap:22px}
.hito .hito-ilustrado{width:58px;height:66px;object-fit:contain;overflow:visible;background:none;border-radius:0;padding:0}
.hito:not(:last-child)::after{left:29px;top:98px;bottom:-14px}
.etiqueta .vestimenta-titulo{font-size:clamp(1.12rem,4.6vw,1.45rem);letter-spacing:.065em;margin:0}
.etiqueta #t-dress{font-family:var(--serif);font-size:clamp(2.7rem,10vw,3.5rem);font-weight:300;font-style:normal;letter-spacing:.035em;line-height:1.2;margin-top:18px}
.etiqueta .vestimenta{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:350px;margin:38px auto 30px;align-items:start}
.etiqueta .prenda{padding:0;margin:0}
.etiqueta .prenda .dibujo-prenda{width:100%;height:180px;max-width:none;color:inherit;opacity:1;object-fit:contain;object-position:center bottom;overflow:hidden}
.etiqueta .prenda .terno{margin-inline:auto}
.etiqueta .prenda-quien{display:none}
.etiqueta .prenda-que{font-size:.95rem;margin-top:12px;display:block}
.peticion-colores{font-family:var(--serif);font-size:1.12rem;line-height:1.55;color:#654D49;max-width:350px;margin:0 auto}
.etiqueta .paleta{margin-top:26px}
.colores-reservados{font-size:.91rem;margin-top:19px}
.calendario{max-width:390px;margin:45px auto 0;padding:0 0 4px}
.lazo-fecha{width:100%;height:auto;color:#957575;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;margin:auto}
.calendario .mes{font-family:var(--serif);font-size:1.25rem;letter-spacing:.25em;margin:9px 0 26px}
.semana-boda{display:block;margin-top:0}
.semana-cabecera,.semana-dias{display:grid;grid-template-columns:repeat(7,1fr);align-items:center;gap:0}
.semana-cabecera span{font-family:var(--serif);font-size:.95rem;font-style:italic;letter-spacing:0;text-transform:none;font-weight:500}
.semana-dias{margin-top:18px}
.semana-dias b{font-family:var(--serif);font-variant-numeric:lining-nums;font-size:1.3rem;font-weight:400;aspect-ratio:auto;line-height:2}
.semana-dias .dia{isolation:isolate;position:relative;color:#795559;background:none}
.semana-dias .corazon{width:150%;height:160%;z-index:-1;stroke-dasharray:.55 1;stroke-width:.7;overflow:visible}
.semana-dias .dia::after{content:"";position:absolute;width:1px;height:80px;top:calc(50% + 29px);left:50%;border-left:1px dotted #AA8E7A}
.reserva-fecha{font-family:var(--script);font-size:3rem;line-height:1.2;color:#795559;margin:98px 0 0}
@media(min-width:600px){.etiqueta .prenda .dibujo-prenda{height:215px}}


.etiqueta #t-dress{font-family:var(--script);font-size:clamp(3.6rem,14vw,4.5rem);letter-spacing:0;font-weight:400}
.mapa-ubicacion{margin:32px auto 22px;max-width:540px;overflow:hidden}
.mapa-ubicacion iframe{display:block;width:100%;height:260px;border:0;filter:saturate(.35)}
.enlace-mapa{display:inline-block;font-family:var(--serif);font-size:1.25rem;color:var(--rosa-tinta);text-decoration:none;border-bottom:1px solid #B99A91;padding:3px 4px;letter-spacing:.08em}
.enlace-mapa span{font-size:.8em;margin-left:8px}.enlace-mapa:hover{color:var(--tinta)}

/* Compact account details, square location and photographic farewell. */
.icono-seccion{display:block;width:56px;height:64px;margin:0 auto 22px;overflow:hidden}
.regalos .medida{margin-top:18px}.regalos .texto{max-width:350px}
.cuenta{max-width:390px;padding:0;margin:30px auto 0;text-align:center}
.cuenta dl{grid-template-columns:minmax(0,1fr);gap:10px}
.cuenta dt{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cuenta dl>div{min-width:0;gap:7px;align-content:start}
.cuenta .cuenta-titular{grid-column:1/-1}
.cuenta dd.num{font-size:1rem;letter-spacing:.055em}.cuenta dt{letter-spacing:.15em;font-size:.56rem}
.mapa-ubicacion{width:100%;max-width:360px;aspect-ratio:1;margin:28px auto 20px;border:1px solid #CBB8AC;padding:7px;background:var(--marfil)}
.mapa-ubicacion iframe{height:100%;width:100%;filter:saturate(.45)}
.cierre-anillo{min-height:560px;display:flex;flex-direction:column;justify-content:space-between;padding:65px 20px 40px;background:#111411;isolation:isolate}
.cierre-fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% center;z-index:-2}
.cierre-anillo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#080D0C25 0%,transparent 50%,#080D0C80 100%);pointer-events:none}
.cierre-anillo .cierre-frase{color:#F5E9DB;font-size:1.08rem;line-height:1.6;margin:0 auto 22px;padding:0}
.cierre-anillo .cierre-firma{font-size:clamp(2.9rem,12vw,4.2rem);line-height:1.25;color:#FFF7ED;margin:0;padding:0;text-shadow:0 2px 15px #0004}
.cierre-anillo .cierre-pie{color:#F5E9DB;font-size:.6rem;line-height:2.1;letter-spacing:.16em;margin:0;padding:0}
@media(min-width:600px){.cierre-anillo{min-height:600px;padding-top:72px}}
.cierre-anillo::after{content:"";display:block;position:absolute;inset:0 -1px auto;height:28px;z-index:1;background:var(--rosa-papel);mask:url('assets/borde-foto.svg') center/100% 100% no-repeat;pointer-events:none}

.cuenta .cuenta-titular{text-align:center}
.icono-seccion{width:38px;height:44px;margin-bottom:18px}
.quinta-ilustracion{margin:24px -12px 0;mix-blend-mode:multiply}
.quinta-ilustracion img{width:100%;height:auto}

.enlace-google-maps{margin-top:18px;gap:10px}

.portada-marco{display:none}
.portada::after{content:"";position:absolute;bottom:-1px;left:-1px;right:-1px;height:clamp(32px,8vw,52px);background:var(--marfil);mask:url('assets/borde-foto.svg') center/100% 100% no-repeat;transform:rotate(180deg);pointer-events:none}
.lugar-pifo{font-family:var(--serif);font-size:1.1rem;color:var(--rosa-tinta);letter-spacing:.15em;margin:8px 0 0}

.cierre-anillo{justify-content:flex-start}
.cierre-anillo .cierre-pie{margin-top:22px}

.bienvenida .bienvenida-fecha{position:static;margin:28px auto 36px;max-width:100%;color:#65534E;text-shadow:none}
.bienvenida-fecha .fecha-mes,.bienvenida-fecha .fecha-ano{border-color:currentColor}

@font-face{font-family:"Snell Roundhand Web";src:url("assets/fonts/snell-roundhand-bold.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap}

.bienvenida .cita-snell{font-family:"Snell Roundhand Web","Allura",cursive;font-weight:500;text-transform:none;letter-spacing:0;font-size:clamp(0.5rem,4vw,1.3rem);line-height:1.6;text-wrap:pretty}
.bienvenida .cita-snell-names{
  font-family: "Snell Roundhand Web", cursive;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  font-size: clamp(1.05rem, 4vw, 1.2rem);
  line-height: 1.4;
  text-wrap: pretty;
  color: #80635E;
}
@media(max-width:500px){.cita-snell br{display:none}}

.destinatario{position:absolute;z-index:3;top:calc(73% + min(9vw,49px));left:50%;transform:translate(-50%,-50%);width:calc(100% - 48px);max-width:620px;margin:0;text-align:center;font-family:"Snell Roundhand Web",cursive;font-size:clamp(2.3rem,8vw,3.6rem);font-weight:400;line-height:1.2;color:#80635E;overflow-wrap:anywhere;pointer-events:none;transition:opacity .25s ease}
#sobre.abriendo .destinatario{opacity:0}
#t-lugar{font-family:var(--script);font-size:clamp(3.6rem,14vw,4.5rem);font-weight:400;font-style:normal;text-transform:none;letter-spacing:0;line-height:1.2;color:var(--rosa-tinta)}

/* The closing photograph is the final scrollable edge. */
html,body{overscroll-behavior-y:none}
#cancion{display:none}
.hoja{margin-bottom:0;padding-bottom:0}
.cierre-anillo{margin-bottom:0}
