*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f4ed;color:#414a33;font:1rem/1.7 Georgia,'Times New Roman',serif}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a{color:inherit}button,a{ -webkit-tap-highlight-color:transparent}h1,h2,h3,p,figure{margin:0}h2{font-size:clamp(1.8rem,5vw,2.6rem);font-weight:normal;line-height:1.25;margin:12px 0 24px}h3{font-weight:normal;font-size:1.65rem;line-height:1.3}p+p{margin-top:16px}.eyebrow{font:0.875rem/1.6 Arial,sans-serif;letter-spacing:.18em}.small{font:0.875rem/1.5 Arial,sans-serif}.cover{background:radial-gradient(ellipse at 50% 50%,#69734d,#333b28 75%);color:#f7f4ed;max-width:480px;margin:auto;aspect-ratio:9/16;padding:24px;display:flex;align-items:center;position:relative}.cover-frame{border:1px solid #bba987;outline:1px solid #bba98766;outline-offset:7px;padding:24px 12px;width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.cover h1{font-size:clamp(2.5rem,11vw,3.8rem);line-height:1.15;font-weight:normal;font-style:italic;letter-spacing:.025em}.portrait{width:86%;background:#414a33}.portrait img{width:100%;height:auto;object-fit:contain}.cover-date{font-size:1rem;margin:3px 0}.cover-place{margin:0}.button{border:1px solid #515d3a;border-radius:2px;background:#515d3a;color:#fff;display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:10px 24px;text-decoration:none;font:0.9375rem/1.5 Arial,sans-serif;cursor:pointer;max-width:100%;text-align:center}.button.light{background:#f7f4ed;color:#333b28;border-color:#f7f4ed}.button.outline{background:transparent;color:#515d3a}.button:disabled{opacity:.55;cursor:wait}.section{max-width:900px;padding:76px 28px;margin:auto;text-align:center}.prose{max-width:560px;margin:auto;font-size:1.125rem}.diamond{font-size:2.5rem;color:#887247;margin:22px 0}.parents{font-style:italic;font-size:1.4rem}.feature{max-width:480px;margin:auto;padding:0 24px}.feature img{width:100%;height:auto;border:1px solid #bba987;padding:7px}.feature figcaption{font-style:italic;text-align:center;padding:14px;color:#626b4c}.countdown{padding-bottom:32px}.counter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:390px;margin:24px auto 32px}.counter span{border-left:1px solid #bba987;font:0.875rem/1.5 Arial,sans-serif;display:flex;flex-direction:column;align-items:center}.counter span:first-child{border:0}.counter b{font:2rem/1.3 Georgia,serif}.counter p{grid-column:1/-1}.places .locations{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.locations article{border:1px solid #bba987;padding:32px 24px}.number{font-style:italic;font-size:2.5rem;color:#967d53}.locations h3{margin:12px 0}.locations p{margin:10px 0}.time{font-size:1.5rem}.locations .button{margin-top:20px}.gallery-section{background:#333b28;color:#f7f4ed;max-width:100%;padding-left:24px;padding-right:24px}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:800px;margin:32px auto 0;align-items:start}.photo{padding:0;border:1px solid #bba987;background:transparent;cursor:zoom-in}.photo img{width:100%;height:auto;padding:5px}.photo:last-child:nth-child(odd){grid-column:1/-1;max-width:390px;justify-self:center}.rsvp{max-width:540px}form{text-align:left;margin-top:30px}label{display:block;margin:20px 0 6px;font:1rem/1.6 Arial,sans-serif}input,select,textarea{width:100%;background:#fffdf7;border:1px solid #78918a;border-radius:2px;color:#414a33;padding:12px;font:1rem/1.5 Arial,sans-serif}textarea{resize:vertical}form button{width:100%;margin:24px 0 8px}.demo{padding:16px;border:1px solid #bba987;font:0.9375rem/1.6 Arial,sans-serif}.closing{background:#414a33;color:#f7f4ed;max-width:100%;padding:44px 24px}.closing h2{font-style:italic;font-size:3rem;margin-bottom:12px}footer{padding:24px;text-align:center;font:0.875rem/1.5 Arial,sans-serif}dialog{border:1px solid #bba987;background:#333b28;padding:12px;max-width:95vw;max-height:95dvh;color:#fff}dialog::backdrop{background:#000d}dialog img{max-height:80dvh;object-fit:contain;margin:auto}dialog button{min-height:44px;background:transparent;border:0;color:#fff;display:block;margin:0 0 8px auto;cursor:pointer}.music-button{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));border:1px solid #bba987;border-radius:50%;width:50px;height:50px;background:#333b28;color:#fff;font-size:1.5rem;cursor:pointer}[hidden]{display:none!important}:focus-visible{outline:3px solid #b39158;outline-offset:4px}#estado{margin:20px 0;white-space:pre-line}#registrado .button{margin-top:20px}@media(max-width:600px){.places .locations{grid-template-columns:1fr}.section{padding-top:56px;padding-bottom:56px}.cover{padding:22px}.cover-frame{padding:18px 10px}.cover .eyebrow{letter-spacing:.14em}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Adaptación Emily: galería horizontal + pareja vertical. */
.gallery .photo.horizontal{grid-column:1/-1;max-width:none;width:100%}.gallery .photo:last-child:nth-child(odd){max-width:none;justify-self:stretch}.gallery .photo:not(.horizontal){grid-column:auto}.places .locations{grid-template-columns:1fr;max-width:560px;margin:30px auto}.dress-note{margin-top:28px;font-style:italic}.cover h1{font-size:clamp(2rem,9vw,3rem)}.cover{min-height:min-content}.cover-frame{gap:8px}.portrait{width:80%}

/* Indicación de color: mismo tamaño que el nombre del salón. */
.dress-note{font-size:1.65rem;line-height:1.3}

#agradecimientoPadres{margin-top:22px}.closing #despedida{font-size:2rem;font-style:italic;margin-top:8px}
