/* ==========================================================================
   Klix Link — las 12 miniaturas (mini sitios de ejemplo dentro del teléfono)
   Todo se mide en em; la base escala con el ancho de la pantalla (cqw),
   así se ve idéntico en la tarjeta chica y en la ventana grande.
   ========================================================================== */
.scr { --sb: #fff; --si: #111; --sa: #111; --sm: #666; --sl: rgba(0,0,0,.1); --fd: var(--font-display); --fb: var(--font-body);
  background: var(--sb); color: var(--si); font-family: var(--fb); text-align: left; }
.scr .pg { font-size: 4.25cqw; line-height: 1.35; padding-bottom: 6em; will-change: transform; }
:where(.scr .pg *) { margin: 0; }
.scr img { width: 100%; height: 100%; object-fit: cover; }
:where(.scr) figure { margin: 0; }

/* Recorrido automático (la «animación en miniatura») */
@keyframes pgScroll { 0%, 12% { transform: translateY(0); } 48%, 62% { transform: translateY(var(--dist, -40%)); } 96%, 100% { transform: translateY(0); } }
.scr.is-live .pg { animation: pgScroll var(--loop, 16s) cubic-bezier(.65,0,.35,1) infinite; animation-delay: var(--ld, 0s); }
@media (prefers-reduced-motion: reduce) { .scr.is-live .pg { animation-duration: 40s; } }

/* Piezas comunes */
.s-top { display: flex; justify-content: space-between; align-items: center; gap: .6em; padding: 3.6em 1.3em 1em; }
.s-logo { font-family: var(--fd); font-size: 1.25em; line-height: .95; letter-spacing: -.01em; }
.s-logo small { display: block; font-size: .5em; letter-spacing: .08em; text-transform: uppercase; opacity: .7; margin-top: .3em; font-family: var(--fb); }
.s-open { font-size: .74em; display: inline-flex; align-items: center; gap: .4em; padding: .35em .7em; border-radius: 99px; background: var(--sl); white-space: nowrap; }
.s-open i { width: .55em; height: .55em; border-radius: 50%; background: #27b35a; animation: sBlink 2s infinite; }
@keyframes sBlink { 50% { opacity: .3; } }
.s-hero { margin: 0 1em; height: 13em; border-radius: 1.1em; overflow: hidden; position: relative; }
.s-title { font-family: var(--fd); font-size: 1.85em; line-height: 1; letter-spacing: -.02em; padding: .7em 1.3rem .35em; padding: .65em .7em .3em; }
.s-title em { font-style: italic; }
.s-list { list-style: none; padding: .3em 1.3em .6em; }
.s-row { display: flex; align-items: baseline; gap: .5em; padding: .62em 0; border-bottom: 1px solid var(--sl); }
.s-row span { min-width: 0; }
.s-row b { display: block; font-weight: 700; font-size: .98em; }
.s-row small { display: block; font-size: .74em; color: var(--sm); margin-top: .1em; }
.s-row i { flex: 1; }
.s-row em { font-style: normal; font-weight: 700; font-size: .95em; white-space: nowrap; }
.s-card { margin: .8em 1em; border-radius: 1.1em; overflow: hidden; position: relative; height: 10em; }
.s-card figcaption { position: absolute; left: .6em; right: .6em; bottom: .6em; padding: .6em .8em; border-radius: .8em; background: rgba(255,255,255,.92); color: #111; }
.s-card figcaption b { display: block; font-size: .9em; }
.s-card figcaption span { font-size: .74em; color: #555; }
.s-foot { font-size: .74em; color: var(--sm); padding: 1em 1.75em 0; }
.s-tags { list-style: none; display: flex; flex-wrap: wrap; gap: .4em; padding: .5em 1.3em; }
.s-tags li { font-size: .74em; padding: .45em .85em; border-radius: 99px; background: var(--sl); }
.s-tags li.on { background: var(--sa); color: var(--sb); }
.s-checks { list-style: none; padding: .4em 1.3em; display: grid; gap: .5em; }
.s-checks li { display: flex; gap: .6em; align-items: center; font-size: .9em; font-weight: 600; }
.s-checks li::before { content: ""; width: 1.25em; height: 1.25em; border-radius: 50%; flex: none; background: var(--sa) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.2l2.6 2.6L13 6.4' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat; }
.s-pad { padding: 0 .1em; }
.s-kicker { font-size: .74em; letter-spacing: .08em; text-transform: uppercase; color: var(--sm); padding: 1em 1.75em 0; }
.s-sub { font-size: .86em; color: var(--sm); padding: 0 1.5em .6em; }
.s-bar { position: absolute; left: 5%; right: 5%; bottom: 3.2%; z-index: 5; }
.s-bar span { display: flex; align-items: center; justify-content: center; gap: .5em; height: 11.5cqw; border-radius: 99px; background: var(--sa); color: var(--sb); font-family: var(--fb); font-weight: 700; font-size: 4.1cqw; box-shadow: 0 1.2cqw 3cqw rgba(0,0,0,.25); animation: sPulse 3.2s ease-in-out infinite; }
.s-bar span::before { content: ""; width: 4.2cqw; height: 4.2cqw; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm5.2 14.1c-.2.6-1.3 1.2-1.8 1.2-.5.1-1 .1-3.3-.8-2.8-1.1-4.5-4-4.7-4.2-.1-.2-1.1-1.5-1.1-2.8s.7-2 1-2.3c.2-.3.5-.3.7-.3h.5c.2 0 .4 0 .6.5l.9 2.1c.1.2.1.4 0 .5l-.4.6-.4.4c-.1.2-.3.3-.1.6.2.3.8 1.3 1.7 2.1 1.2 1 2.1 1.3 2.4 1.5.3.1.5.1.6-.1l.9-1c.2-.3.4-.2.6-.1l2 1c.3.1.5.2.5.3.1.1.1.6-.1 1.2z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm5.2 14.1c-.2.6-1.3 1.2-1.8 1.2-.5.1-1 .1-3.3-.8-2.8-1.1-4.5-4-4.7-4.2-.1-.2-1.1-1.5-1.1-2.8s.7-2 1-2.3c.2-.3.5-.3.7-.3h.5c.2 0 .4 0 .6.5l.9 2.1c.1.2.1.4 0 .5l-.4.6-.4.4c-.1.2-.3.3-.1.6.2.3.8 1.3 1.7 2.1 1.2 1 2.1 1.3 2.4 1.5.3.1.5.1.6-.1l.9-1c.2-.3.4-.2.6-.1l2 1c.3.1.5.2.5.3.1.1.1.6-.1 1.2z'/%3E%3C/svg%3E") center/contain no-repeat; }
@keyframes sPulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.035); } }

/* ===== 01 Café · Molienda Norte ===== */
.t-cafe { --sb: #f3ebdd; --si: #3b2a20; --sa: #3b2a20; --sm: #8a7262; --sl: rgba(59,42,32,.12); --fd: "Fraunces", serif; --fb: "Hanken Grotesk", sans-serif; }
.t-cafe .s-logo { font-weight: 600; font-size: 1.2em; }
.t-cafe .s-hero { height: 14em; border-radius: 9em 9em 1.1em 1.1em; }
.t-cafe .s-title { font-weight: 400; font-size: 1.95em; padding-inline: .65em; }
.t-cafe .s-title em { color: #c2643b; }
.s-tabs { display: flex; gap: .4em; padding: .5em 1.3em .2em; font-size: .82em; font-weight: 600; }
.s-tabs > * { padding: .5em 1em; border-radius: 99px; background: rgba(59,42,32,.08); }
.s-tabs b { background: #c2643b; color: #fff; }
.t-cafe .s-row em { color: #c2643b; }

/* ===== 02 Taquería · Don Chuy ===== */
.t-tacos { --sb: #ffd23f; --si: #160d07; --sa: #e63322; --sm: #6a4a12; --sl: rgba(22,13,7,.18); --fd: "Anton", Impact, sans-serif; --fb: "Archivo", sans-serif; }
.s-picado { height: 2.6em; margin-top: 2.8em; background: radial-gradient(circle at 50% 0, transparent .5em, #e63322 .55em) 0 0 / 2em 2.6em, linear-gradient(#e63322, #e63322); -webkit-mask: linear-gradient(#000 70%, transparent 70%) 0 0 / 100% 100%, conic-gradient(from 135deg at 50% 70%, #000 90deg, transparent 0) 0 0 / 2em 100%; mask: linear-gradient(#000 70%, transparent 70%) 0 0 / 100% 100%, conic-gradient(from 135deg at 50% 70%, #000 90deg, transparent 0) 0 0 / 2em 100%; transform-origin: top; animation: sSway 3.4s ease-in-out infinite; }
@keyframes sSway { 50% { transform: skewX(2deg) scaleY(.94); } }
.t-tacos .s-top { padding-top: .6em; }
.t-tacos .s-logo { font-size: 1.5em; letter-spacing: .01em; }
.t-tacos .s-open { background: #160d07; color: #ffd23f; font-weight: 700; }
.t-tacos .s-hero { border-radius: .4em; transform: rotate(-1.5deg); box-shadow: .35em .35em 0 #160d07; }
.s-sticker { position: absolute; right: .6em; bottom: .6em; width: 5.4em; height: 5.4em; border-radius: 50%; display: grid; place-content: center; text-align: center; background: #e63322; color: #fff; font-family: "Anton", sans-serif; font-size: .82em; line-height: 1; transform: rotate(12deg); animation: sSpin 6s ease-in-out infinite; }
.s-sticker b { font-size: 1.7em; font-weight: 400; }
@keyframes sSpin { 50% { transform: rotate(-6deg) scale(1.06); } }
.t-tacos .s-title { font-size: 2.6em; line-height: .92; text-transform: uppercase; padding-top: .45em; }
.t-tacos .s-row b { font-family: "Anton", sans-serif; font-weight: 400; font-size: 1.15em; text-transform: uppercase; letter-spacing: .02em; }
.t-tacos .s-row em { background: #160d07; color: #ffd23f; padding: .1em .45em; border-radius: .3em; }
.t-tacos .s-card { border-radius: .4em; box-shadow: .35em .35em 0 #e63322; }

/* ===== 03 Carta de autor · Bruma ===== */
.t-bruma { --sb: #121110; --si: #efe7d8; --sa: #c8a96a; --sm: #9a8f7c; --sl: rgba(200,169,106,.22); --fd: "Cormorant Garamond", serif; --fb: "Hanken Grotesk", sans-serif; }
.t-bruma .s-logo { font-size: 1.9em; font-style: italic; font-weight: 600; letter-spacing: .02em; color: #c8a96a; }
.t-bruma .s-open { background: none; border: 1px solid var(--sl); color: var(--sm); }
.t-bruma .s-hero { height: 15em; border-radius: 0; margin: 0; }
.t-bruma .s-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, #121110); }
.t-bruma .s-title { text-align: center; font-weight: 500; font-size: 2.1em; padding-top: .2em; }
.t-bruma .s-title small { display: block; font-family: var(--fb); font-size: .34em; letter-spacing: .2em; text-transform: uppercase; color: var(--sm); margin-top: .7em; }
.t-bruma .s-title::after { content: ""; display: block; width: 2.2em; height: 1px; margin: .5em auto 0; background: #c8a96a; animation: sLine 4s ease-in-out infinite; }
@keyframes sLine { 50% { width: 4em; } }
.t-bruma .s-row { border: 0; padding: .55em 0; }
.t-bruma .s-row b { font-family: var(--fd); font-size: 1.2em; font-weight: 500; }
.t-bruma .s-row i { border-bottom: 1px dotted var(--sm); transform: translateY(-.3em); }
.t-bruma .s-row em { color: #c8a96a; font-weight: 500; }
.t-bruma .s-card { border-radius: .2em; }
.t-bruma .s-card figcaption { background: rgba(18,17,16,.85); color: var(--si); }
.t-bruma .s-card figcaption span { color: #c8a96a; }
.t-bruma .s-bar span { color: #121110; }
.t-bruma .s-bar span::before { display: none; }

/* ===== 04 Barbería · Navaja Club ===== */
.t-navaja { --sb: #141414; --si: #ede6d6; --sa: #ede6d6; --sm: #a49c8c; --sl: rgba(237,230,214,.16); --fd: "Anton", sans-serif; --fb: "Archivo", sans-serif; }
.t-navaja .s-logo { font-size: 1.7em; letter-spacing: .04em; }
.s-pole { width: 1.1em; height: 2.8em; border-radius: .6em; background: repeating-linear-gradient(-45deg, #c8102e 0 .35em, #ede6d6 .35em .7em, #1d4ed8 .7em 1.05em, #ede6d6 1.05em 1.4em); background-size: 100% 2.8em; animation: sPole 2s linear infinite; box-shadow: 0 0 0 .15em #ede6d6; }
@keyframes sPole { to { background-position: 0 2.8em; } }
.t-navaja .s-hero { height: 14em; border-radius: 0; margin: 0; filter: grayscale(1) contrast(1.1); }
.t-navaja .s-title { font-size: 2.9em; line-height: .9; text-transform: uppercase; letter-spacing: .01em; padding-top: .4em; }
.t-navaja .s-row b { text-transform: uppercase; letter-spacing: .04em; font-size: .92em; }
.t-navaja .s-row em { color: #e4c27a; }
.s-slots { display: flex; flex-wrap: wrap; gap: .4em; padding: .8em 1.3em; }
.s-slots p { width: 100%; font-size: .74em; letter-spacing: .1em; text-transform: uppercase; color: var(--sm); margin-bottom: .2em; }
.s-slots span { font-size: .86em; font-weight: 700; padding: .55em .8em; border-radius: .3em; border: 1px solid var(--sl); }
.s-slots .on { background: #e4c27a; color: #141414; border-color: #e4c27a; animation: sPick 3s ease-in-out infinite; }
@keyframes sPick { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } }
.t-navaja .s-card { border-radius: 0; filter: grayscale(1); }
.t-navaja .s-bar span { border-radius: .3em; text-transform: uppercase; letter-spacing: .06em; }
.t-navaja .s-bar span::before { display: none; }

/* ===== 05 Consultorio · Sonríe ===== */
.t-sonrie { --sb: #f6fbfa; --si: #0f2e2c; --sa: #0e8f86; --sm: #5b7b78; --sl: rgba(14,143,134,.14); --fd: "Hanken Grotesk", sans-serif; --fb: "Hanken Grotesk", sans-serif; }
.t-sonrie .s-logo { display: flex; align-items: center; gap: .4em; font-weight: 800; font-size: 1.15em; }
.t-sonrie .s-logo i { width: 1.4em; height: 1.4em; border-radius: .45em; background: #0e8f86; display: inline-block; box-shadow: inset 0 -.4em 0 #6fd3c7; }
.t-sonrie .s-logo small { display: inline; margin: 0 0 0 .3em; font-size: .55em; }
.t-sonrie .s-title { font-weight: 800; font-size: 1.7em; letter-spacing: -.04em; padding-top: .2em; }
.t-sonrie .s-title em { font-style: normal; color: #0e8f86; }
.t-sonrie .s-hero { height: 11em; border-radius: 1.4em; }
.s-cal { margin: .9em 1em 0; padding: .9em; border-radius: 1.1em; background: #fff; box-shadow: 0 .4em 1.2em rgba(15,46,44,.08); }
.s-cal p { font-size: .8em; font-weight: 700; margin-bottom: .6em; }
.s-cal div { display: flex; justify-content: space-between; gap: .3em; }
.s-cal span { flex: 1; display: grid; justify-items: center; font-size: .66em; color: var(--sm); padding: .4em 0; border-radius: .7em; }
.s-cal span b { font-size: 1.5em; color: var(--si); }
.s-cal .on { background: #0e8f86; color: #cdeee9; animation: sPick 3s ease-in-out infinite; }
.s-cal .on b { color: #fff; }
.t-sonrie .s-row em { color: #0e8f86; }

/* ===== 06 Link en bio · Lúa ===== */
.t-lua { --sb: #f7dfe3; --si: #4a1d33; --sa: #4a1d33; --sm: #8a5a70; --sl: rgba(74,29,51,.12); --fd: "DM Serif Display", serif; --fb: "Hanken Grotesk", sans-serif; }
.s-bio { padding-top: 3.6em; text-align: center; }
.t-lua .s-avatar { width: 6.6em; height: 6.6em; margin: 0 auto .6em; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 .3em #fff, 0 0 0 .55em #e9a7b8; animation: sFloat 4s ease-in-out infinite; }
@keyframes sFloat { 50% { transform: translateY(-.35em); } }
.t-lua .s-title { text-align: center; font-size: 2em; padding: 0 .5em .1em; }
.t-lua .s-title em { color: #b8496f; }
.t-lua .s-sub { padding-bottom: .9em; }
.s-links { list-style: none; padding: 0 1.2em; display: grid; gap: .55em; }
.s-links li { padding: .95em; border-radius: 99px; background: #fff; font-weight: 700; font-size: .9em; box-shadow: 0 .2em .6em rgba(74,29,51,.08); }
.s-links li.on { background: #4a1d33; color: #fff; }
.scr.is-live .s-links li { animation: sIn 8s ease-in-out infinite; }
.scr.is-live .s-links li:nth-child(2) { animation-delay: .15s; } .scr.is-live .s-links li:nth-child(3) { animation-delay: .3s; } .scr.is-live .s-links li:nth-child(4) { animation-delay: .45s; } .scr.is-live .s-links li:nth-child(5) { animation-delay: .6s; }
@keyframes sIn { 0%, 4% { transform: translateX(-.6em); opacity: .4; } 10%, 100% { transform: none; opacity: 1; } }
.s-gal { display: grid; grid-template-columns: repeat(3, 1fr); gap: .35em; padding: 1em 1.2em 0; }
.s-gal img { aspect-ratio: 1; border-radius: .7em; }

/* ===== 07 Inmueble · Jurica ===== */
.t-jurica { --sb: #ffffff; --si: #1f2a24; --sa: #1f3b2d; --sm: #6b766f; --sl: rgba(31,59,45,.12); --fd: "Manrope", sans-serif; --fb: "Hanken Grotesk", sans-serif; }
.t-jurica .s-hero { margin: 0; height: 17em; border-radius: 0 0 1.6em 1.6em; }
.t-jurica .s-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,.45) 45%, transparent 60%); transform: translateX(-100%); animation: sShine 5s ease-in-out infinite; }
@keyframes sShine { 40%, 100% { transform: translateX(100%); } }
.s-badge { position: absolute; left: 1em; top: 3.4em; z-index: 2; padding: .4em .8em; border-radius: 99px; background: #fff; color: #1f3b2d; font-weight: 800; font-size: .74em; }
.t-jurica .s-title { font-weight: 800; font-size: 1.75em; letter-spacing: -.045em; padding-top: .15em; }
.s-price { font-family: "Manrope", sans-serif; font-weight: 800; font-size: 1.6em; color: #1f3b2d; padding: 0 .9em; letter-spacing: -.02em; }
.s-specs { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: .4em; padding: .8em 1em; }
.s-specs li { padding: .6em; border-radius: .8em; background: #eef2ee; font-size: .74em; color: var(--sm); display: grid; }
.s-specs b { font-family: "Manrope", sans-serif; font-size: 1.6em; color: #1f3b2d; }
.t-jurica .s-tags li { background: #eef2ee; }

/* ===== 08 Servicio local · Roble ===== */
.t-roble { --sb: #1d1f22; --si: #f3f3f1; --sa: #ff6b1a; --sm: #a3a6ab; --sl: rgba(255,255,255,.12); --fd: "Archivo", sans-serif; --fb: "Archivo", sans-serif; }
.t-roble .s-logo { font-weight: 800; font-size: 1.5em; letter-spacing: -.02em; }
.t-roble .s-logo small { color: #ff6b1a; opacity: 1; }
.t-roble .s-hero { height: 12em; border-radius: .6em; }
.t-roble .s-title { font-weight: 800; font-size: 1.85em; letter-spacing: -.04em; line-height: .98; }
.s-call { margin: .6em 1em; padding: .9em 1em .9em 3.8em; border-radius: .9em; background: #ff6b1a; color: #1d1f22; position: relative; }
.s-call b { display: block; font-size: 1.1em; font-weight: 800; }
.s-call small { font-size: .72em; font-weight: 600; }
.s-ring { position: absolute; left: 1em; top: 50%; width: 2.1em; height: 2.1em; margin-top: -1.05em; border-radius: 50%; background: #1d1f22 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ff6b1a' d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E") center/55% no-repeat; animation: sRing 2.4s ease-in-out infinite; }
@keyframes sRing { 0%, 50%, 100% { transform: rotate(0); } 5%, 15%, 25% { transform: rotate(-14deg); } 10%, 20% { transform: rotate(14deg); } }
.t-roble .s-checks li::before { background-color: #ff6b1a; }
.t-roble .s-card { height: 9em; border-radius: .6em; }
.t-roble .s-bar span { color: #1d1f22; }

/* ===== 09 Catálogo · Flor de Barrio ===== */
.t-flor { --sb: #fbf7f0; --si: #24331f; --sa: #2f5d3a; --sm: #6d7a66; --sl: rgba(47,93,58,.12); --fd: "Fraunces", serif; --fb: "Hanken Grotesk", sans-serif; }
.t-flor .s-logo { font-weight: 600; font-size: 1.25em; }
.t-flor .s-logo em { color: #e86a7e; }
.s-cart { font-size: .78em; font-weight: 700; display: inline-flex; gap: .45em; align-items: center; }
.s-cart b { display: inline-grid; place-items: center; width: 1.6em; height: 1.6em; border-radius: 50%; background: #e86a7e; color: #fff; animation: sBump 3s ease-in-out infinite; }
@keyframes sBump { 0%, 70%, 100% { transform: scale(1); } 78% { transform: scale(1.35); } }
.t-flor .s-title { font-weight: 400; font-size: 1.9em; padding-top: 0; }
.t-flor .s-title em { color: #e86a7e; }
.s-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .6em; padding: .5em 1em; }
.s-grid figure { border-radius: .9em; overflow: hidden; background: #fff; }
.s-grid img { height: 7.4em; }
.s-grid figcaption { padding: .5em .6em .6em; font-size: .78em; font-weight: 600; display: grid; }
.s-grid figcaption b { color: #2f5d3a; font-size: 1.05em; }

/* ===== 10 Clases · Alba ===== */
.t-alba { --sb: #eef0e8; --si: #2b3326; --sa: #5d6e4f; --sm: #78826f; --sl: rgba(93,110,79,.15); --fd: "Caveat", cursive; --fb: "Hanken Grotesk", sans-serif; }
.t-alba .s-logo { font-family: "Hanken Grotesk", sans-serif; font-weight: 800; font-size: 1.5em; letter-spacing: -.05em; }
.t-alba .s-logo small { text-transform: none; letter-spacing: .02em; }
.t-alba .s-hero { height: 13em; border-radius: 1.6em; }
.t-alba .s-title { font-family: "Hanken Grotesk", sans-serif; font-weight: 800; font-size: 1.8em; letter-spacing: -.04em; }
.t-alba .s-title em { font-family: "Caveat", cursive; font-style: normal; font-weight: 600; font-size: 1.25em; letter-spacing: 0; color: #5d6e4f; }
.s-week { display: flex; gap: .35em; padding: .3em 1.3em; }
.s-week span { flex: 1; text-align: center; font-size: .78em; font-weight: 700; padding: .55em 0; border-radius: .7em; background: rgba(93,110,79,.12); }
.s-week .on { background: #5d6e4f; color: #fff; }
.t-alba .s-row b { font-variant-numeric: tabular-nums; }
.t-alba .s-row em { font-size: .72em; padding: .3em .7em; border-radius: 99px; background: #fff; color: #5d6e4f; }
.t-alba .s-list li:nth-child(3) em { background: #2b3326; color: #eef0e8; }

/* ===== 11 Evento · Paula & Iker ===== */
.t-boda { --sb: #f7f1e8; --si: #3a2a22; --sa: #a4553a; --sm: #8a7769; --sl: rgba(164,85,58,.16); --fd: "Cormorant Garamond", serif; --fb: "Hanken Grotesk", sans-serif; }
.t-boda .s-hero { margin: 0; height: 22em; border-radius: 0; }
.t-boda .s-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.05) 30%, rgba(30,18,12,.75)); }
.t-boda .s-hero figcaption { position: absolute; left: 0; right: 0; bottom: 1.4em; z-index: 1; text-align: center; color: #fff; display: grid; gap: .2em; }
.t-boda .s-hero figcaption small { font-size: .74em; letter-spacing: .3em; text-transform: uppercase; }
.t-boda .s-hero figcaption b { font-family: var(--fd); font-weight: 500; font-size: 2.6em; line-height: 1; }
.t-boda .s-hero figcaption em { font-style: italic; color: #f0c9a8; }
.t-boda .s-hero figcaption span { font-size: .86em; letter-spacing: .2em; }
.s-count { display: grid; grid-template-columns: repeat(4, 1fr); gap: .4em; padding: 1em; text-align: center; }
.s-count span { padding: .6em 0; border-radius: .8em; background: #fff; font-size: .66em; color: var(--sm); display: grid; }
.s-count b { font-family: var(--fd); font-size: 2.4em; font-weight: 600; line-height: 1; color: #a4553a; font-variant-numeric: tabular-nums; }
.t-boda .s-row b { font-variant-numeric: tabular-nums; }
.t-boda .s-row em { font-weight: 500; color: var(--sm); }
.t-boda .s-bar span::before { display: none; }

/* ===== 12 Tarjeta digital · Ortega ===== */
.t-ortega { --sb: #f6f4ef; --si: #14213d; --sa: #14213d; --sm: #6a7288; --sl: rgba(20,33,61,.12); --fd: "DM Serif Display", serif; --fb: "Hanken Grotesk", sans-serif; }
.s-band { height: 8.5em; background: #14213d radial-gradient(circle at 80% 0, #2b3d66, transparent 60%); }
.t-ortega .s-avatar { width: 6.4em; height: 6.4em; margin: -3.4em 0 0 1.2em; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 .3em #f6f4ef; position: relative; }
.t-ortega .s-title { font-size: 1.7em; font-weight: 400; padding: .4em .75em .1em; }
.t-ortega .s-sub { padding-left: 1.3em; text-align: left; }
.s-actions { display: grid; grid-template-columns: repeat(4, 1fr); gap: .4em; padding: .5em 1.1em; }
.s-actions span { display: grid; justify-items: center; gap: .3em; font-size: .68em; font-weight: 700; padding: .7em 0; border-radius: .8em; background: #fff; box-shadow: 0 .2em .6em rgba(20,33,61,.07); }
.s-actions span::before { content: ""; width: 2.1em; height: 2.1em; border-radius: 50%; background: #14213d; }
.s-actions span:nth-child(2)::before { background: #c9a227; animation: sPick 3s ease-in-out infinite; }
.s-save { margin: .4em 1.1em !important; padding: .8em; border-radius: .8em; border: 1.5px dashed #c9a227; text-align: center; font-weight: 700; font-size: .86em; color: #14213d; }
.t-ortega .s-checks li::before { background-color: #c9a227; }
.t-ortega .s-card { height: 8em; }

/* Teléfono del hero: un poco más grande el texto */
.phone--hero .pg { font-size: 4.35cqw; }

/* Alineación común al margen del contenido */
.scr .s-title, .scr .s-sub, .scr .s-kicker, .scr .s-foot, .scr .s-price { padding-left: 5.5cqw; padding-right: 5.5cqw; }
.t-ortega .s-sub { padding-left: 5.5cqw; }
