/* =========================================================
   ALFY Total Services — hoja de estilos v2 (editorial)
   Tokens → base → componentes → secciones → responsive
   ========================================================= */
:root{
  --marino:#0A2A57; --marino-900:#061B3A; --marino-800:#0B2248; --marino-700:#1B3F75;
  --oro:#C99A2E; --oro-hilo:#E2C173; --oro-vivo:#F5C542; --oro-claro:#F4E6BF;
  --papel:#F4F1EA; --blanco:#FFFFFF; --tinta:#13233F; --gris:#556173;
  --linea:#D9DDE3; --linea-osc:rgba(255,255,255,.14); --wa:#1FAF5B;
  --titulos:"Archivo","Figtree","Segoe UI",system-ui,sans-serif;
  --texto:"Figtree","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  --t-xs:.8125rem; --t-sm:.9375rem; --t-md:1.0625rem; --t-lg:1.25rem;
  --t-xl:clamp(2.15rem,4.5vw,3.4rem);
  --t-hero:clamp(2.9rem,7.4vw,6rem);
  --ancho:1240px; --cab-alto:172px; --gutter:clamp(18px,4vw,40px);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:var(--cab-alto);-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--texto);font-size:var(--t-md);line-height:1.6;color:var(--tinta);background:var(--blanco);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}
h1,h2,h3{margin:0;font-family:var(--titulos);font-weight:800;line-height:1.05;color:var(--marino);letter-spacing:-.025em;}
p{margin:0;} ul,ol{margin:0;padding:0;list-style:none;} dl,dd,figure{margin:0;}
:focus-visible{outline:3px solid var(--oro);outline-offset:3px;}
.env{width:100%;max-width:var(--ancho);margin:0 auto;padding:0 var(--gutter);}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.saltar{position:absolute;left:12px;top:-60px;background:var(--marino);color:#fff;padding:10px 14px;z-index:100;}
.saltar:focus{top:12px;}
.rotulo{font-family:var(--texto);font-size:.9rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--oro);display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.rotulo::before{content:"";width:28px;height:1px;background:currentColor;}
.claro .rotulo{color:var(--oro-hilo);}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:2px;font-weight:700;font-size:var(--t-sm);letter-spacing:.02em;text-decoration:none;border:1.5px solid transparent;transition:background-color .2s,color .2s,border-color .2s;cursor:pointer;font-family:var(--texto);}
.btn .ico{width:20px;height:20px;fill:currentColor;flex:none;}
.btn-oro{background:var(--oro);color:var(--marino-900);}
.btn-oro:hover{background:var(--oro-hilo);}
.btn-marino{background:var(--marino);color:#fff;}
.btn-marino:hover{background:var(--marino-700);}
.btn-blanco{border-color:rgba(255,255,255,.6);color:#fff;background:transparent;}
.btn-blanco:hover{background:#fff;color:var(--marino);}
.btn-linea{border-color:var(--marino);color:var(--marino);background:transparent;}
.btn-linea:hover{background:var(--marino);color:#fff;}
.btn-sm{min-height:42px;padding:0 18px;}
.enlace{font-weight:700;font-size:var(--t-sm);text-decoration:none;border-bottom:1.5px solid var(--oro);padding-bottom:2px;}

/* ---------- Barra superior + cabecera ---------- */
.barra{background:var(--marino-900);color:#D5E0F0;font-size:var(--t-sm);font-weight:500;letter-spacing:.01em;}
.barra .env{display:flex;justify-content:space-between;gap:24px;height:38px;align-items:center;}
.barra a{text-decoration:none;color:#fff;}
.barra-der{display:flex;gap:24px;}
.cabecera{position:sticky;top:0;z-index:50;background:#fff;border-top:2px solid var(--oro);border-bottom:2px solid var(--oro);}
.cabecera-fila{display:flex;align-items:center;justify-content:space-between;height:var(--cab-alto);}
.marca img{height:152px;width:auto;transition:height .2s;}
.nav{display:flex;align-items:center;gap:24px;}
.nav ul{display:flex;gap:22px;}
.nav ul a{white-space:nowrap;}
.nav ul a{text-decoration:none;font-weight:600;font-size:var(--t-sm);color:var(--tinta);padding:30px 0;border-bottom:2px solid transparent;}
.nav ul a:hover,.nav ul a[aria-current]{border-bottom-color:var(--oro);color:var(--marino);}
.menu-btn{display:none;}

.idioma{display:flex;align-items:center;gap:4px;margin:0;font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;border:0;}
.idioma .idioma-act,.idioma a{display:flex;align-items:center;gap:6px;padding:7px 9px;text-decoration:none;border:1px solid var(--linea);line-height:1;}
.idioma .idioma-act{background:var(--marino);color:#fff;border-color:var(--marino);}
.bandera{width:24px;height:16px;display:block;box-shadow:0 0 0 1px rgba(0,0,0,.12);border-radius:2px;flex:none;}
.idioma a{color:var(--gris);}
.idioma a:hover{color:var(--marino);background:var(--papel);}

/* ---------- 1 · Portada ---------- */
.portada{position:relative;color:#fff;background:var(--marino-900);isolation:isolate;}
.portada-foto{position:absolute;inset:0;z-index:-1;}
.portada-foto img{width:100%;height:100%;object-fit:cover;object-position:70% 55%;}
.portada-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,27,58,.94) 0%,rgba(6,27,58,.82) 38%,rgba(6,27,58,.25) 72%,rgba(6,27,58,.1) 100%),linear-gradient(0deg,rgba(6,27,58,.9) 0%,transparent 34%);}
.portada-cuerpo{min-height:min(78vh,720px);display:flex;flex-direction:column;justify-content:center;padding-top:72px;padding-bottom:64px;}
.portada h1{color:#fff;font-size:var(--t-hero);font-weight:800;max-width:15ch;letter-spacing:-.035em;line-height:.96;text-wrap:balance;}
.portada-sub{margin-top:22px;font-size:clamp(1.1rem,1.9vw,1.5rem);line-height:1.4;color:#E4EBF5;max-width:34ch;font-weight:500;}
.eslogan{color:var(--oro-vivo);margin-top:26px;padding-top:18px;border-top:3px solid var(--oro);display:block;width:fit-content;max-width:22ch;font-family:var(--titulos);font-weight:800;font-size:clamp(1.3rem,2.5vw,2.05rem);line-height:1.12;letter-spacing:-.02em;color:var(--oro-hilo);}
.portada h1 em{font-style:italic;font-weight:800;color:var(--oro-vivo);}
.bajada{font-size:var(--t-lg);color:#D3DDEB;max-width:46ch;margin-top:26px;line-height:1.55;}
.acciones{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px;}
.hechos{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--linea-osc);}
.hechos div{padding:26px 28px 30px 0;}
.hechos div + div{padding-left:28px;border-left:1px solid var(--linea-osc);}
.hechos dt{font-family:var(--titulos);font-size:clamp(1.6rem,2.6vw,2.2rem);color:#fff;line-height:1.1;}
.hechos dd{font-size:var(--t-sm);color:#AFC0D8;margin-top:6px;max-width:28ch;}

/* ---------- Bloques ---------- */
.bloque{padding:112px 0;}
.bloque-papel{background:var(--papel);}
.bloque-marino{background:var(--marino);color:#C9D5E6;}
.bloque-marino h2,.bloque-marino h3{color:#fff;}
.cab{display:grid;grid-template-columns:1fr 1fr;gap:24px 64px;align-items:end;margin-bottom:56px;}
.cab h2,.titulo{font-size:var(--t-xl);max-width:24ch;text-wrap:balance;letter-spacing:-.03em;}
.cab p{color:var(--gris);font-size:var(--t-lg);line-height:1.55;max-width:46ch;}
.bloque-marino .cab p{color:#B8C7DC;}

/* ---------- 2 · Servicios ---------- */
.serv{display:grid;grid-template-columns:1fr 1fr;gap:0 72px;align-items:start;}
.serv-lista{border-top:1px solid var(--linea);counter-reset:s;}
.serv-lista li{border-bottom:1px solid var(--linea);}
.serv-item{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:44px 1fr auto;gap:4px 12px;align-items:baseline;width:100%;padding:20px 0;counter-increment:s;}
.serv-item::before{content:counter(s,decimal-leading-zero);font-size:var(--t-xs);font-weight:700;color:var(--gris);letter-spacing:.06em;}
.serv-item h3{font-size:1.45rem;transition:color .2s;}
.serv-item p{grid-column:2/3;color:var(--gris);font-size:var(--t-sm);max-height:0;overflow:hidden;opacity:0;transition:max-height .3s,opacity .3s;}
.serv-item::after{content:"";grid-column:3;grid-row:1;width:9px;height:9px;border-right:1.5px solid var(--gris);border-top:1.5px solid var(--gris);transform:rotate(45deg);align-self:center;transition:transform .2s;}
.serv-item img{display:none;}
.serv-item[aria-pressed="true"] h3{color:var(--oro);}
.serv-item[aria-pressed="true"] p{max-height:80px;opacity:1;}
.serv-item[aria-pressed="true"]::after{border-color:var(--oro);transform:translateX(4px) rotate(45deg);}
.serv-item:focus-visible{outline-offset:-3px;}
.serv-visor{position:sticky;top:calc(var(--cab-alto) + 24px);aspect-ratio:4/5;background:var(--marino-900);overflow:hidden;border:1px solid #C9CDD4;box-shadow:0 30px 60px -28px rgba(6,27,58,.45),0 8px 18px -10px rgba(6,27,58,.25);}
.serv-visor img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s;}
.serv-visor img.activa{opacity:1;}
.serv-visor::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,27,58,.92) 0%,rgba(6,27,58,.2) 45%,transparent 70%);}
.serv-leyenda{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:32px;color:#fff;}
.serv-leyenda small{font-size:var(--t-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--oro-hilo);}
.serv-leyenda b{display:block;font-family:var(--titulos);font-weight:500;font-size:2rem;line-height:1.1;margin:8px 0 8px;}
.serv-leyenda span{display:block;color:#D3DDEB;font-size:var(--t-sm);max-width:40ch;}
.integral{margin-top:72px;display:flex;justify-content:space-between;align-items:center;gap:24px 48px;flex-wrap:wrap;padding-top:32px;border-top:2px solid var(--marino);}
.integral p{font-family:var(--titulos);font-size:clamp(1.3rem,2.2vw,1.7rem);color:var(--marino);max-width:40ch;line-height:1.3;}

/* ---------- Propiedades (a sangre) ---------- */
.prop{display:grid;grid-template-columns:repeat(4,1fr);}
.prop li{position:relative;min-height:540px;display:flex;align-items:flex-end;color:#fff;overflow:hidden;isolation:isolate;}
.prop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s ease;}
.prop li::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(6,27,58,.95) 0%,rgba(6,27,58,.5) 42%,rgba(6,27,58,.05) 75%);}
.prop li + li{border-left:1px solid rgba(255,255,255,.18);}
.prop li:hover img{transform:scale(1.04);}
.prop div{padding:28px 28px 34px;}
.prop small{font-size:var(--t-xs);font-weight:700;letter-spacing:.14em;color:var(--oro-hilo);}
.prop h3{color:#fff;font-weight:500;font-size:1.65rem;margin:8px 0 10px;}
.prop p{font-size:var(--t-sm);color:#D3DDEB;}

/* ---------- 3 · Quiénes somos ---------- */
.nos{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--papel);}
.nos-foto{position:relative;min-height:640px;}
.nos-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;}
.nos-foto figcaption{position:absolute;left:0;bottom:0;background:var(--marino);color:#fff;padding:22px 28px;max-width:360px;font-size:var(--t-sm);}
.nos-foto figcaption b{display:block;font-family:var(--titulos);font-weight:500;font-size:1.4rem;color:var(--oro-hilo);}
.nos-texto{padding:112px var(--gutter) 112px clamp(32px,6vw,88px);max-width:680px;}
.lead{font-size:var(--t-lg);line-height:1.55;margin:22px 0 16px;color:var(--tinta);}
.nos-texto > p:not(.lead){color:var(--gris);}
.trayectoria{margin-top:28px;display:flex;flex-wrap:wrap;gap:8px;}
.trayectoria li{font-size:var(--t-xs);font-weight:600;border:1px solid #C9CDD4;padding:6px 12px;color:var(--marino);}
.principios{margin-top:48px;border-top:1px solid #C9CDD4;counter-reset:p;}
.principios div{display:grid;grid-template-columns:48px 1fr;gap:4px 0;padding:18px 0;border-bottom:1px solid #C9CDD4;counter-increment:p;}
.principios dt{font-family:var(--titulos);font-size:1.25rem;color:var(--marino);grid-column:2;}
.principios div::before{content:counter(p,decimal-leading-zero);grid-row:1/3;font-size:var(--t-xs);font-weight:700;color:var(--oro);padding-top:6px;}
.principios dd{grid-column:2;color:var(--gris);font-size:var(--t-sm);}

/* ---------- Reporte de ejemplo ---------- */
.rep{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center;}
.rep-texto ul{margin-top:30px;border-top:1px solid var(--linea);}
.rep-texto li{padding:14px 0 14px 30px;border-bottom:1px solid var(--linea);position:relative;font-size:var(--t-sm);}
.rep-texto li::before{content:"";position:absolute;left:4px;top:21px;width:11px;height:6px;border-left:2px solid var(--oro);border-bottom:2px solid var(--oro);transform:rotate(-45deg);}
.rep-texto li b{color:var(--marino);}
.doc{background:#fff;border:1px solid var(--linea);box-shadow:0 40px 80px -40px rgba(6,27,58,.35);position:relative;}
.doc-sello{position:absolute;top:-13px;right:24px;background:var(--oro);color:var(--marino-900);font-size:var(--t-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;}
.doc-cab{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 28px;background:var(--marino);color:#fff;}
.doc-cab b{font-family:var(--titulos);font-weight:500;font-size:1.3rem;display:block;}
.doc-cab small{color:#AFC0D8;font-size:var(--t-xs);}
.doc-cab span{font-size:var(--t-xs);font-weight:700;color:var(--oro-hilo);letter-spacing:.1em;text-transform:uppercase;text-align:right;}
.doc-datos{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--linea);}
.doc-datos div{padding:14px 28px;}
.doc-datos div + div{border-left:1px solid var(--linea);}
.doc-datos dt{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);}
.doc-datos dd{font-weight:600;font-size:var(--t-sm);color:var(--marino);}
.doc-tabla{width:100%;border-collapse:collapse;font-size:var(--t-sm);}
.doc-tabla th,.doc-tabla td{text-align:left;padding:11px 28px;border-bottom:1px solid var(--linea);}
.doc-tabla th{font-weight:600;color:var(--tinta);width:34%;}
.estado{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:var(--t-xs);letter-spacing:.04em;text-transform:uppercase;}
.estado::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;}
.ok{color:#1B7F4B;} .atencion{color:#A86B00;}
.doc-tabla td span.nota{display:block;color:var(--gris);font-size:var(--t-xs);margin-top:2px;}
.doc-fotos{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:18px 28px 8px;}
.doc-fotos figure{position:relative;}
.doc-fotos img{aspect-ratio:4/3;object-fit:cover;width:100%;}
.doc-fotos figcaption{font-size:.72rem;color:var(--gris);margin-top:4px;}
.doc-pie{padding:12px 28px 20px;font-size:var(--t-xs);color:var(--gris);}

/* ---------- 4 · Proceso ---------- */
.fases{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--linea-osc);}
.fase{padding:36px 36px 8px 0;}
.fase + .fase{padding-left:36px;border-left:1px solid var(--linea-osc);}
.fase > small{font-size:var(--t-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--oro-hilo);}
.fase h3{font-size:1.9rem;font-weight:500;margin:6px 0 20px;}
.fase ol li{display:grid;grid-template-columns:40px 1fr;padding:14px 0;border-top:1px solid var(--linea-osc);}
.fase ol b{font-family:var(--titulos);font-weight:500;color:var(--oro-hilo);font-size:1.2rem;grid-row:1/3;}
.fase ol strong{color:#fff;font-weight:700;}
.fase ol span{font-size:var(--t-sm);color:#B8C7DC;}

/* ---------- 5 · Planes (tabla) ---------- */
.planes-tabs{display:none;}
.tabla-wrap{border:1px solid var(--linea);background:#fff;}
.tabla{width:100%;border-collapse:collapse;table-layout:fixed;}
.tabla th,.tabla td{padding:14px 22px;border-bottom:1px solid var(--linea);text-align:center;font-size:var(--t-sm);vertical-align:middle;}
.tabla tbody th{text-align:left;font-weight:600;color:var(--tinta);}
.tabla col.c0{width:34%;}
.tabla .c3{background:#F7F2E4;}
.tabla thead th{vertical-align:top;padding:28px 22px 24px;border-bottom:2px solid var(--marino);}
.tabla thead th.c0{text-align:left;vertical-align:bottom;font-family:var(--titulos);font-weight:500;font-size:1.3rem;color:var(--marino);}
.tabla thead th.c3{background:var(--marino);color:#fff;border-bottom-color:var(--oro);}
.plan-para{display:block;line-height:1.35;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--oro);min-height:2.8em;margin-bottom:4px;}
.c3 .plan-para{color:var(--oro-hilo);}
.plan-nom{display:block;font-family:var(--titulos);font-weight:500;font-size:1.5rem;color:var(--marino);}
.c3 .plan-nom{color:#fff;}
.precio{display:block;font-family:var(--titulos);font-size:2.3rem;font-weight:500;color:var(--marino);line-height:1;margin:12px 0 4px;letter-spacing:-.02em;}
.precio sup{font-family:var(--texto);font-size:.8rem;font-weight:700;vertical-align:top;margin-right:3px;color:var(--gris);position:relative;top:.4em;}
.precio + small{display:block;font-size:var(--t-xs);color:var(--gris);font-weight:500;margin-bottom:18px;}
.c3 .precio{color:#fff;} .c3 .precio sup,.c3 .precio + small{color:#B8C7DC;}
.tabla thead .btn{width:100%;padding:0 10px;}
.si,.no{display:inline-block;}
.si{width:14px;height:8px;border-left:2px solid var(--oro);border-bottom:2px solid var(--oro);transform:rotate(-45deg) translateY(-2px);}
.no{width:12px;height:1.5px;background:#B7BDC6;vertical-align:middle;}
.tabla td b{color:var(--marino);font-weight:700;}
.tabla tr.grupo th{background:var(--papel);font-size:var(--t-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);padding:10px 22px;}
.nota-planes{margin-top:18px;font-size:var(--t-sm);color:var(--gris);}
.planes[data-precios="ocultos"] .precio,.planes[data-precios="ocultos"] .precio + small{display:none;}

/* ---------- 6 · Contacto ---------- */
.contacto{display:grid;grid-template-columns:1fr 1fr;}
.contacto-info{position:relative;color:#C9D5E6;background:var(--marino-900);isolation:isolate;padding:112px clamp(32px,6vw,88px) 112px var(--gutter);display:flex;justify-content:flex-end;}
.contacto-info > div{max-width:540px;width:100%;}
.contacto-info img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.18;}
.contacto-info h2{color:#fff;}
.contacto-info .lead{color:#C9D5E6;}
.datos{margin-top:40px;border-top:1px solid var(--linea-osc);}
.datos div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--linea-osc);}
.datos dt{font-size:var(--t-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--oro-hilo);padding-top:3px;}
.datos dd{color:#fff;font-weight:600;font-size:var(--t-sm);}
.datos a{text-decoration:none;border-bottom:1px solid rgba(226,193,115,.6);}
.form-lado{padding:112px var(--gutter) 112px clamp(32px,6vw,88px);background:#fff;}
.formulario{max-width:540px;}
.formulario h3{font-size:1.6rem;font-weight:500;margin-bottom:6px;}
.formulario > p.sub{color:var(--gris);font-size:var(--t-sm);margin-bottom:30px;}
.filas{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}
.campo{margin-bottom:20px;}
.campo label{display:block;font-size:var(--t-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--marino);margin-bottom:6px;}
.campo input,.campo select,.campo textarea{width:100%;font:inherit;font-size:var(--t-md);color:var(--tinta);background:#fff;border:0;border-bottom:1.5px solid #B7BDC6;border-radius:0;padding:10px 0;min-height:46px;}
.campo select{appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230A2A57' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") no-repeat right 4px center;}
.campo textarea{resize:vertical;border:1.5px solid #B7BDC6;padding:10px 12px;}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--oro);}
.campo [aria-invalid="true"]{border-color:#B3261E;}
.check{display:flex;align-items:center;gap:10px;font-size:var(--t-sm);font-weight:600;margin:0 0 22px;cursor:pointer;}
.check input{width:20px;height:20px;accent-color:var(--marino);}
.trampa{position:absolute;left:-9999px;}
.form-error{color:#B3261E;font-size:var(--t-sm);font-weight:600;margin-bottom:12px;}
.btn-ancho{width:100%;}
.form-nota{font-size:var(--t-xs);color:var(--gris);margin-top:12px;}

/* ---------- Pie ---------- */
.pie{background:var(--marino-900);color:#9FB0C8;font-size:var(--t-sm);}
.pie-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;padding-top:72px;padding-bottom:56px;}
.pie-logo{display:inline-block;}
.pie-logo img{height:92px;width:auto;}
.pie h4{margin:0 0 16px;font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--oro-hilo);}
.pie li{margin-bottom:8px;}
.pie a{text-decoration:none;color:#DCE5F2;}
.pie a:hover{color:var(--oro-hilo);}
.pie-lema{margin-top:18px;font-family:var(--titulos);font-size:1.25rem;color:#fff;}
.pie-legal{border-top:1px solid var(--linea-osc);}
.pie-legal .env{display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px;font-size:var(--t-xs);}
.pie-legal a{text-decoration:underline;}

/* ---------- WhatsApp flotante ---------- */
.wa-flotante{position:fixed;right:20px;bottom:20px;z-index:60;width:58px;height:58px;border-radius:50%;background:var(--wa);display:grid;place-items:center;box-shadow:0 10px 24px -8px rgba(0,0,0,.45);transition:transform .2s;}
.wa-flotante svg{width:30px;height:30px;fill:#fff;}
.wa-flotante:hover{transform:scale(1.06);}

/* ---------- Aparición suave ---------- */
@media (prefers-reduced-motion:no-preference){
  .js .aparece{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1);}
  .js .aparece.visto{opacity:1;transform:none;}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .nav{gap:20px;} .nav ul{gap:18px;}
  .prop{grid-template-columns:1fr 1fr;}
  .prop li{min-height:420px;}
  .prop li:nth-child(3){border-left:0;}
  .prop li:nth-child(n+3){border-top:1px solid rgba(255,255,255,.18);}
  .pie-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:960px){
  :root{--cab-alto:124px;}
  .bloque{padding:80px 0;}
  .barra{display:none;}
  .marca img{height:108px;}
  .menu-btn{display:grid;place-items:center;width:46px;height:46px;background:none;border:1px solid var(--linea);cursor:pointer;}
  .menu-ico,.menu-ico::before,.menu-ico::after{display:block;width:20px;height:2px;background:var(--marino);position:relative;transition:transform .2s;}
  .menu-ico::before,.menu-ico::after{content:"";position:absolute;left:0;}
  .menu-ico::before{top:-6px;} .menu-ico::after{top:6px;}
  .menu-btn[aria-expanded="true"] .menu-ico{background:transparent;}
  .menu-btn[aria-expanded="true"] .menu-ico::before{transform:translateY(6px) rotate(45deg);}
  .menu-btn[aria-expanded="true"] .menu-ico::after{transform:translateY(-6px) rotate(-45deg);}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:4px var(--gutter) 20px;border-bottom:2px solid var(--oro);box-shadow:0 20px 30px -20px rgba(6,27,58,.4);}
  .nav.abierto{display:flex;}
  .nav ul{flex-direction:column;gap:0;}
  .nav ul a{display:block;padding:14px 0;border-bottom:1px solid var(--linea);font-size:var(--t-md);}
  .nav .btn{margin-top:16px;min-height:50px;}
  .idioma{align-self:flex-start;margin-top:16px;}
  .hechos{grid-template-columns:1fr 1fr;}
  .hechos div:nth-child(3){padding-left:0;border-left:0;}
  .hechos div:nth-child(n+3){border-top:1px solid var(--linea-osc);}
  .cab{grid-template-columns:1fr;margin-bottom:40px;}
  .serv{grid-template-columns:1fr;}
  .serv-visor{display:none;}
  .serv-item{grid-template-columns:96px 1fr;gap:4px 18px;align-items:center;padding:16px 0;cursor:default;}
  .serv-item::before,.serv-item::after{display:none;}
  .serv-item img{display:block;grid-row:1/3;width:96px;height:96px;object-fit:cover;border:1px solid #C9CDD4;box-shadow:0 8px 16px -10px rgba(6,27,58,.4);}
  .serv-item h3{font-size:1.2rem;align-self:end;}
  .serv-item p{max-height:none;opacity:1;align-self:start;}
  .serv-item[aria-pressed="true"] h3{color:var(--marino);}
  .nos,.contacto,.rep{grid-template-columns:1fr;}
  .nos-foto{min-height:420px;}
  .nos-texto{padding:64px var(--gutter);max-width:none;}
  .rep{gap:48px;}
  .fases{grid-template-columns:1fr;}
  .fase,.fase + .fase{padding:28px 0 8px;border-left:0;}
  .fase + .fase{border-top:1px solid var(--linea-osc);}
  .contacto-info,.form-lado{padding:72px var(--gutter);}
  .contacto-info{justify-content:flex-start;}
  /* Planes: una columna a la vez */
  .planes-tabs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--linea);border-bottom:0;background:#fff;}
  .planes-tabs button{all:unset;box-sizing:border-box;text-align:center;padding:14px 6px;font-weight:700;font-size:var(--t-sm);color:var(--gris);cursor:pointer;border-bottom:3px solid transparent;}
  .planes-tabs button[aria-selected="true"]{color:var(--marino);border-bottom-color:var(--oro);}
  .planes-tabs button:focus-visible{outline:3px solid var(--oro);outline-offset:-3px;}
  .tabla{table-layout:auto;}
  .tabla col{width:auto;}
  .tabla col.c0{width:58%;}
  .tabla[data-ver="1"] .c2,.tabla[data-ver="1"] .c3,
  .tabla[data-ver="2"] .c1,.tabla[data-ver="2"] .c3,
  .tabla[data-ver="3"] .c1,.tabla[data-ver="3"] .c2{display:none;}
  .tabla th,.tabla td{padding:12px 16px;}
  .tabla thead th{padding:22px 16px;}
  .tabla thead th.c0{font-size:1.1rem;}
}
@media (max-width:620px){
  .portada-cuerpo{min-height:0;padding-top:56px;padding-bottom:44px;}
  .portada-foto img{object-position:78% 50%;}
  .portada-foto::after{background:linear-gradient(0deg,rgba(6,27,58,.96) 0%,rgba(6,27,58,.82) 60%,rgba(6,27,58,.55) 100%);}
  .acciones .btn{width:100%;}
  .hechos div,.hechos div + div{padding:18px 12px 20px 0;}
  .hechos div:nth-child(even){padding-left:16px;}
  .prop{grid-template-columns:1fr;}
  .prop li{min-height:300px;}
  .prop li + li{border-left:0;border-top:1px solid rgba(255,255,255,.18);}
  .integral .btn{width:100%;}
  .doc-datos{grid-template-columns:1fr 1fr;}
  .doc-datos div:nth-child(3){grid-column:1/-1;border-left:0;border-top:1px solid var(--linea);}
  .doc-cab,.doc-tabla th,.doc-tabla td,.doc-datos div,.doc-fotos,.doc-pie{padding-left:18px;padding-right:18px;}
  .doc-tabla th{width:40%;}
  .datos div{grid-template-columns:1fr;gap:2px;}
  .filas{grid-template-columns:1fr;}
  .pie-grid{grid-template-columns:1fr;gap:32px;}
  .wa-flotante{width:54px;height:54px;right:14px;bottom:14px;}
  .tabla thead .btn{font-size:var(--t-xs);}
}

/* =========================================================
   v3 — contenido completo de ALFY
   ========================================================= */
.valores{display:flex;flex-wrap:wrap;gap:6px 0;margin-top:30px;font-size:var(--t-sm);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;}
.valores li + li::before{content:"·";color:var(--oro-hilo);margin:0 12px;}
.promesa{margin-top:18px;font-size:var(--t-lg);color:#D3DDEB;max-width:46ch;}
.promesa b{color:var(--oro-hilo);font-weight:700;}

/* Compromiso */
.compromiso{background:var(--papel);padding:88px 0;text-align:center;border-bottom:1px solid var(--linea);}
.compromiso .rotulo{justify-content:center;}
.compromiso .rotulo::after{content:"";width:28px;height:1px;background:currentColor;}
.compromiso blockquote{margin:0 auto;max-width:30ch;font-family:var(--titulos);font-size:clamp(1.7rem,3.4vw,2.7rem);line-height:1.2;color:var(--marino);}
.compromiso blockquote em{color:var(--oro);}
.compromiso p.pie-cita{margin-top:18px;color:var(--gris);}

/* Servicios: también coordinamos + ejemplos + fórmula */
.tambien{margin-top:72px;}
.tambien h3,.ejemplos h3{font-size:1.5rem;margin-bottom:22px;}
.tambien ul{display:grid;grid-template-columns:repeat(5,1fr);border-top:2px solid var(--marino);}
.tambien li{padding:20px 20px 22px 0;font-weight:600;color:var(--marino);font-size:var(--t-sm);line-height:1.45;}
.tambien li + li{padding-left:20px;border-left:1px solid var(--linea);}
.tambien li::before{content:"";display:block;width:18px;height:2px;background:var(--oro);margin-bottom:12px;}
.ejemplos{margin-top:72px;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--linea);}
.ejemplos > div{padding:36px 40px;}
.ejemplos > div + div{background:var(--marino);color:#C9D5E6;}
.ejemplos > div + div h3{color:#fff;}
.ejemplos small{display:block;font-size:var(--t-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--oro);margin-bottom:8px;}
.ejemplos > div + div small{color:var(--oro-hilo);}
.ejemplos li{padding:10px 0;border-top:1px solid var(--linea);font-size:var(--t-md);}
.ejemplos > div + div li{border-top-color:var(--linea-osc);color:#fff;}
.ejemplos li:first-letter{text-transform:uppercase;}
.integral{flex-direction:column;align-items:flex-start;}
.integral-fila{display:flex;justify-content:space-between;align-items:center;gap:24px 48px;flex-wrap:wrap;width:100%;}
.formula{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;}
.formula span{font-weight:700;font-size:var(--t-sm);color:var(--marino);border:1px solid var(--marino);padding:8px 14px;}
.formula i{font-style:normal;color:var(--oro);font-weight:800;font-size:1.2rem;}
.formula-osc span{color:#fff;border-color:rgba(255,255,255,.4);}

/* Quiénes somos */
.clientes{margin-top:30px;}
.clientes small{display:block;font-size:var(--t-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);margin-bottom:10px;}
.trayectoria{margin-top:0;}
.nos-texto h3{font-size:1.45rem;margin:40px 0 10px;}

/* Propósito: objetivos, misión, visión */
.proposito{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--marino);}
.proposito > div{padding:32px 32px 8px 0;}
.proposito > div + div{padding-left:32px;border-left:1px solid var(--linea);}
.proposito h3{font-size:1.6rem;font-weight:500;margin:8px 0 14px;}
.proposito p{color:var(--gris);}
.proposito p + p{margin-top:12px;}
.proposito small{font-size:var(--t-xs);font-weight:700;letter-spacing:.14em;color:var(--oro);}
.flujo{display:flex;flex-wrap:wrap;align-items:center;gap:10px 8px;margin:0 0 48px;padding:20px 0;border-top:1px solid var(--linea-osc);border-bottom:1px solid var(--linea-osc);}
.flujo span{font-weight:700;color:#fff;font-size:var(--t-sm);}
.flujo i{font-style:normal;color:var(--oro-hilo);}
.cierre-proceso{margin-top:36px;font-family:var(--titulos);font-size:1.4rem;color:#fff;max-width:40ch;}

/* Equipo */
.equipo{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}
.equipo-foto{position:relative;min-height:560px;}
.equipo-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 65%;}
.equipo-texto{padding:112px var(--gutter) 112px clamp(32px,6vw,88px);max-width:680px;}
.equipo-texto > p{color:var(--gris);margin-top:14px;}
.equipo-texto > p.lead{color:var(--tinta);}
.equipo-texto blockquote{margin:30px 0 0;padding-left:20px;border-left:3px solid var(--oro);font-family:var(--titulos);font-size:1.35rem;color:var(--marino);line-height:1.35;}
.equipo-texto .formula{margin-top:28px;}

/* Qué nos diferencia */
.dif-grupo{margin-top:8px;}
.dif-grupo + .dif-grupo{margin-top:56px;}
.dif-grupo > h3{font-family:var(--texto);font-size:var(--t-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);margin-bottom:14px;}
.dif{display:grid;grid-template-columns:1fr 1fr;gap:0 56px;border-top:2px solid var(--marino);}
.dif details{border-bottom:1px solid var(--linea);}
.dif summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:44px 1fr 24px;gap:4px 8px;align-items:baseline;padding:22px 0;}
.dif summary::-webkit-details-marker{display:none;}
.dif summary b{font-size:var(--t-xs);font-weight:700;color:var(--oro);letter-spacing:.06em;}
.dif summary strong{font-family:var(--titulos);font-weight:600;font-size:1.4rem;color:var(--marino);line-height:1.2;}
.dif summary span{grid-column:2;color:var(--gris);font-size:var(--t-sm);}
.dif summary::after{content:"+";grid-column:3;grid-row:1;font-size:1.5rem;line-height:1;color:var(--oro);justify-self:end;transition:transform .2s;}
.dif details[open] summary::after{transform:rotate(45deg);}
.dif summary:focus-visible{outline-offset:-3px;}
.dif-cuerpo{padding:0 0 26px 52px;color:var(--tinta);font-size:var(--t-sm);}
.dif-cuerpo p + p,.dif-cuerpo ul + p,.dif-cuerpo p + ul{margin-top:12px;}
.dif-cuerpo ul{columns:2;column-gap:24px;}
.dif-cuerpo li{break-inside:avoid;padding:4px 0 4px 16px;position:relative;}
.dif-cuerpo li::before{content:"";position:absolute;left:0;top:13px;width:6px;height:6px;background:var(--oro);}
.dif-cuerpo .destaca{font-family:var(--titulos);font-size:1.15rem;color:var(--marino);}

/* Trabajos y testimonios */
.trabajos{display:grid;grid-template-columns:1.2fr .8fr;gap:0;border:1px solid var(--linea);}
.trabajos-lista{padding:40px;}
.trabajos-lista small,.trabajos-cta small{display:block;font-size:var(--t-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--oro);margin-bottom:18px;}
.trabajos-lista ul{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--linea);}
.trabajos-lista li{font-family:var(--titulos);font-size:1.35rem;color:var(--marino);padding:16px 0;border-bottom:1px solid var(--linea);}
.trabajos-lista li:nth-child(odd){padding-right:16px;}
.trabajos-lista li span{display:block;font-family:var(--texto);font-size:var(--t-xs);color:var(--gris);margin-top:2px;}
.trabajos-lista p{margin-top:18px;color:var(--gris);font-size:var(--t-sm);}
.trabajos-cta{background:var(--marino);color:#C9D5E6;padding:40px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;}
.trabajos-cta small{color:var(--oro-hilo);}
.trabajos-cta p{font-family:var(--titulos);font-size:1.5rem;color:#fff;line-height:1.3;}
.testimonios{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--marino);}
.testimonios[hidden]{display:none;}
.testimonios blockquote{margin:0;padding:28px 28px 8px 0;}
.testimonios blockquote + blockquote{padding-left:28px;border-left:1px solid var(--linea);}
.testimonios p{font-family:var(--titulos);font-size:1.2rem;color:var(--marino);}
.testimonios cite{display:block;margin-top:14px;font-style:normal;font-size:var(--t-xs);font-weight:700;color:var(--gris);}

@media (max-width:1180px){
  .nav ul a{white-space:nowrap;}
  .menu-btn{display:grid;place-items:center;width:46px;height:46px;background:none;border:1px solid var(--linea);cursor:pointer;}
  .menu-ico,.menu-ico::before,.menu-ico::after{display:block;width:20px;height:2px;background:var(--marino);position:relative;transition:transform .2s;}
  .menu-ico::before,.menu-ico::after{content:"";position:absolute;left:0;}
  .menu-ico::before{top:-6px;} .menu-ico::after{top:6px;}
  .menu-btn[aria-expanded="true"] .menu-ico{background:transparent;}
  .menu-btn[aria-expanded="true"] .menu-ico::before{transform:translateY(6px) rotate(45deg);}
  .menu-btn[aria-expanded="true"] .menu-ico::after{transform:translateY(-6px) rotate(-45deg);}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:4px var(--gutter) 20px;border-bottom:2px solid var(--oro);box-shadow:0 20px 30px -20px rgba(6,27,58,.4);}
  .nav.abierto{display:flex;}
  .nav ul{flex-direction:column;gap:0;}
  .nav ul a{display:block;padding:14px 0;border-bottom:1px solid var(--linea);font-size:var(--t-md);}
  .nav .btn{margin-top:16px;min-height:50px;}
  .idioma{align-self:flex-start;margin-top:16px;}
  .cabecera-fila{position:relative;}
}
@media (max-width:1100px){
  .tambien ul{grid-template-columns:repeat(3,1fr);}
  .tambien li:nth-child(4){padding-left:0;border-left:0;}
  .tambien li:nth-child(n+4){border-top:1px solid var(--linea);}
}
@media (max-width:960px){
  .compromiso{padding:64px 0;}
  .ejemplos,.equipo,.trabajos{grid-template-columns:1fr;}
  .ejemplos > div{padding:28px 24px;}
  .proposito{grid-template-columns:1fr;}
  .proposito > div,.proposito > div + div{padding:26px 0 8px;border-left:0;}
  .proposito > div + div{border-top:1px solid var(--linea);}
  .equipo-foto{min-height:360px;}
  .equipo-texto{padding:64px var(--gutter);max-width:none;}
  .dif{grid-template-columns:1fr;}
  .trabajos-lista,.trabajos-cta{padding:28px 24px;}
  .testimonios{grid-template-columns:1fr;}
  .testimonios blockquote + blockquote{padding-left:0;border-left:0;border-top:1px solid var(--linea);}
}
@media (max-width:620px){
  .tambien ul{grid-template-columns:1fr;}
  .tambien li,.tambien li + li{padding:16px 0;border-left:0;border-top:1px solid var(--linea);}
  .tambien li::before{display:inline-block;vertical-align:middle;margin:0 12px 2px 0;}
  .tambien ul{border-top:2px solid var(--marino);}
  .tambien li:first-child{border-top:0;}
  .dif-cuerpo{padding-left:0;}
  .dif-cuerpo ul{columns:1;}
  .trabajos-lista ul{grid-template-columns:1fr;}
  .valores{font-size:var(--t-xs);}
}

/* Reportes: foto de fondo con opacidad */
.rep-seccion{position:relative;isolation:isolate;overflow:hidden;}
.rep-fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:-2;opacity:.38;}
.rep-seccion::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(244,241,234,.97) 0%,rgba(244,241,234,.9) 38%,rgba(244,241,234,.45) 70%,rgba(244,241,234,.25) 100%);}
@media (max-width:960px){ .rep-seccion::before{background:linear-gradient(180deg,rgba(244,241,234,.93) 0%,rgba(244,241,234,.8) 40%,rgba(244,241,234,.3) 100%);} }

/* Servicios: villa de fondo con opacidad */
.serv-seccion{position:relative;isolation:isolate;overflow:hidden;}
.serv-fondo{position:absolute;left:0;right:0;top:0;width:100%;height:min(100%,1500px);object-fit:cover;object-position:center 30%;z-index:-2;opacity:.4;}
.serv-seccion::before{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(255,255,255,0) 0,rgba(255,255,255,0) 620px,#fff 1500px),
  linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.9) 42%,rgba(255,255,255,.55) 70%,rgba(255,255,255,.35) 100%);}
@media (max-width:960px){
  .serv-fondo{height:900px;}
  .serv-seccion::before{background:linear-gradient(180deg,rgba(255,255,255,.9) 0,rgba(255,255,255,.82) 300px,rgba(255,255,255,.9) 600px,#fff 900px);}
}

/* Servicio integral: franja compacta */
.integral{margin-top:56px;padding:34px 40px;border-top:0;background:var(--marino);color:#C9D5E6;display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px 48px;}
.integral .integral-texto p{font-family:var(--texto);max-width:none;line-height:1.5;color:#B8C7DC;font-size:var(--t-sm);}
.integral .integral-texto .integral-rotulo{font-size:var(--t-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--oro-hilo);display:flex;align-items:center;gap:12px;}
.integral-rotulo::before{content:"";width:28px;height:1px;background:currentColor;}
.integral .integral-texto .integral-frase{font-family:var(--titulos);font-size:clamp(1.5rem,2.6vw,2rem);color:#fff;line-height:1.2;margin-top:10px;max-width:none;}
.integral .integral-texto .integral-sub{margin-top:6px;font-size:var(--t-sm);color:#B8C7DC;}
.integral .integral-texto .integral-suma{margin-top:18px;padding-top:16px;border-top:1px solid var(--linea-osc);display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;}
.integral-suma span{font-weight:600;font-size:var(--t-sm);color:#fff;letter-spacing:.02em;}
.integral-suma i{font-style:normal;font-weight:700;color:var(--oro-hilo);}
.btn-wa{background:#fff;color:var(--marino);min-height:56px;padding:0 26px;white-space:nowrap;}
.btn-wa .ico{fill:#25D366;width:24px;height:24px;}
.btn-wa:hover{background:var(--oro-claro);}
@media (max-width:760px){
  .integral{grid-template-columns:1fr;padding:28px 22px;}
  .integral .btn-wa{width:100%;}
}
@media (min-width:761px){
  .integral{grid-template-columns:1fr auto;row-gap:0;}
  .integral-texto{display:contents;}
  .integral .integral-texto .integral-rotulo,.integral .integral-texto .integral-frase,.integral .integral-texto .integral-sub{grid-column:1;}
  .integral .btn-wa{grid-column:2;grid-row:1 / span 3;align-self:center;}
  .integral .integral-texto .integral-suma{grid-column:1 / -1;}
}

/* Objetivos, misión y visión: fondo abstracto claro */
.prop-seccion{position:relative;isolation:isolate;overflow:hidden;}
.prop-fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;opacity:.65;}
.prop-seccion .proposito p{color:#46536A;}

/* Qué nos diferencia: logo como marca de agua */
.dif-seccion{position:relative;isolation:isolate;overflow:hidden;}
.dif-marca{position:absolute;z-index:-1;width:min(560px,70vw);height:auto;right:-40px;top:50%;transform:translateY(-35%);opacity:.05;pointer-events:none;}
@media (max-width:960px){ .dif-marca{width:88vw;right:-18vw;top:auto;bottom:40px;transform:none;opacity:.06;} }

/* Trabajos: palmeras degradadas en el panel azul */
.trabajos-cta{position:relative;isolation:isolate;overflow:hidden;}
.cta-palmas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%;z-index:-2;}
.trabajos-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,42,87,.97) 0%,rgba(10,42,87,.9) 38%,rgba(10,42,87,.55) 72%,rgba(10,42,87,.35) 100%);}
.trabajos-cta .btn-oro{box-shadow:0 10px 24px -12px rgba(0,0,0,.6);}

/* Quiénes somos — gancho y cifras */
.gancho{font-family:var(--titulos);font-weight:700;font-size:clamp(1.15rem,1.9vw,1.45rem);line-height:1.3;color:var(--marino);margin:18px 0 20px;padding-left:16px;border-left:3px solid var(--oro);}
/* Mismo subtítulo sobre fondo oscuro */
.claro .gancho,.bloque-marino .gancho{color:#fff;border-left-color:var(--oro-vivo);}
.cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:34px 0 30px;border-top:1px solid var(--linea);}
.cifras div{padding:20px 18px 0 0;}
.cifras div + div{padding-left:18px;border-left:1px solid var(--linea);}
.cifras dt{font-family:var(--titulos);font-weight:800;font-size:clamp(1.9rem,3.4vw,2.7rem);color:var(--oro);letter-spacing:-.03em;line-height:1;}
.cifras dd{margin-top:8px;font-size:var(--t-sm);color:var(--gris);line-height:1.35;}
@media (max-width:620px){
  .cifras{grid-template-columns:1fr;}
  .cifras div + div{padding-left:0;border-left:0;border-top:1px solid var(--linea);}
}

/* Formulario — aviso de envío */
.form-ok{margin-bottom:14px;padding:12px 14px;background:#E7F6EC;border-left:3px solid var(--wa);font-size:var(--t-sm);font-weight:600;color:#12603A;}
.form-ok a{color:inherit;}

/* Cabecera — onda dorada de extremo a extremo, detrás del contenido */
.cabecera{overflow:hidden;}
.cabecera::before{content:"";position:absolute;inset:0;
  background:url(../img/onda-oro.png) center center/100% 100% no-repeat;
  opacity:.85;pointer-events:none;}
.cabecera-fila{position:relative;z-index:1;}
@media (max-width:620px){.cabecera::before{background-size:cover;opacity:.75;}}

/* ---------- Planes en tablet y celular: tarjetas apiladas ---------- */
.planes-cards{display:none;}
@media (max-width:960px){
  .planes-tabs,.tabla-wrap{display:none;}
  .planes-cards{display:grid;gap:20px;}
  .plan-card{background:#fff;border:1px solid var(--linea);border-top:3px solid var(--oro);padding:26px 22px;}
  .plan-card-cab{padding-bottom:18px;border-bottom:1px solid var(--linea);margin-bottom:18px;}
  .plan-card .plan-para{min-height:0;margin-bottom:6px;}
  .plan-card .plan-nom{font-size:1.5rem;}
  .plan-card .precio{margin:10px 0 2px;font-size:2.4rem;}
  .plan-card-lista li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:9px 0 9px 26px;position:relative;font-size:var(--t-sm);border-bottom:1px solid var(--linea);}
  .plan-card-lista li::before{content:"";position:absolute;left:2px;top:15px;width:12px;height:6px;border-left:2px solid var(--oro);border-bottom:2px solid var(--oro);transform:rotate(-45deg);}
  .plan-card-lista b{color:var(--marino);text-align:right;white-space:nowrap;}
  .plan-card-grupo{margin-top:16px;padding:8px 0 4px;font-size:var(--t-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);border:0;}
  .plan-card-grupo::before{display:none;}
  .plan-card-lista li:last-child{border-bottom:0;}
  .plan-card .btn{width:100%;margin-top:20px;}
  .plan-card-destacado{background:var(--marino);border-color:var(--marino);color:#D5DFEE;}
  .plan-card-destacado .plan-nom,.plan-card-destacado .precio,.plan-card-destacado .plan-card-lista b{color:#fff;}
  .plan-card-destacado .plan-para{color:var(--oro-hilo);}
  .plan-card-destacado .precio sup,.plan-card-destacado .precio + small{color:#B8C7DC;}
  .plan-card-destacado .plan-card-cab,.plan-card-destacado .plan-card-lista li{border-color:#22457A;}
  .plan-card-destacado .plan-card-grupo{color:var(--oro-hilo);}
}

/* ---------- Qué nos diferencia — cuatro principios ---------- */
.principios{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:48px 0 0;padding-bottom:34px;border-bottom:2px solid var(--oro);padding:0;list-style:none;}
.principios li{position:relative;padding:0 26px;border-left:1px solid var(--linea);}
.principios li:first-child{padding-left:0;border-left:0;}
.principios b{display:block;font-family:var(--titulos);font-size:var(--t-sm);font-weight:800;letter-spacing:.14em;color:var(--oro);margin-bottom:12px;}
.principios h3{font-size:1.35rem;margin-bottom:10px;}
.principios p{font-size:var(--t-sm);line-height:1.5;color:var(--gris);}
.dif-cierre{margin-top:30px;font-family:var(--titulos);font-weight:700;font-size:clamp(1.1rem,2vw,1.5rem);color:var(--marino);max-width:40ch;line-height:1.25;}
@media (max-width:900px){
  .principios{grid-template-columns:1fr 1fr;gap:30px 0;}
  .principios li:nth-child(odd){padding-left:0;border-left:0;}
}
@media (max-width:620px){
  .principios{grid-template-columns:1fr;gap:26px;}
  .principios li{padding:22px 0 0;border-left:0;border-top:1px solid var(--linea);}
  .principios li:first-child{border-top:0;padding-top:0;}
  .dif-cierre{margin-top:34px;}
}

/* Aparición escalonada de los elementos de una rejilla */
@media (prefers-reduced-motion:no-preference){
  .js .escalona > *{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
  .js .escalona.visto > *{opacity:1;transform:none;}
  .js .escalona.visto > *:nth-child(1){transition-delay:.05s;}
  .js .escalona.visto > *:nth-child(2){transition-delay:.14s;}
  .js .escalona.visto > *:nth-child(3){transition-delay:.23s;}
  .js .escalona.visto > *:nth-child(4){transition-delay:.32s;}
  .js .escalona.visto > *:nth-child(5){transition-delay:.41s;}
  .js .escalona.visto > *:nth-child(6){transition-delay:.5s;}
  .js .escalona.visto > *:nth-child(7){transition-delay:.59s;}
  .js .escalona.visto > *:nth-child(n+8){transition-delay:.66s;}
}

/* Encabezado fijo por encima de todo, con la onda detrás */
.cabecera{position:sticky;top:0;z-index:60;}

/* Eslogan de portada con el rótulo encima */
.eslogan small{display:block;font-family:var(--texto);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--oro);margin-bottom:8px;}

/* Fases del proceso: texto más grande */
.fases .fase h3{font-size:1.35rem;}
.fases .fase strong{font-size:1.1rem;}
.fases .fase span{font-size:1rem;line-height:1.5;}
.flujo span{font-size:1rem;}

/* Pie: logo y lema centrados en su columna */
.pie-grid > div:first-child{text-align:center;}
.pie-logo img{margin:0 auto;}
.pie-lema{margin-top:12px;}
@media (max-width:860px){.pie-grid > div:first-child{text-align:left;} .pie-logo img{margin:0;}}

/* ---------- Versículo en el pie ---------- */
.versiculo{padding-top:52px;padding-bottom:40px;text-align:center;}
.versiculo blockquote{margin:0;display:inline-block;max-width:46ch;}
.versiculo p{
  font-family:var(--titulos);font-weight:700;
  font-size:clamp(1.25rem,2.6vw,1.9rem);line-height:1.3;letter-spacing:-.02em;
  color:#fff;margin:0;text-wrap:balance;
}
.versiculo cite{
  display:block;margin-top:18px;padding-top:18px;position:relative;
  font-style:normal;font-size:var(--t-sm);font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--oro-vivo);
}
/* La regla se dibuja al entrar en pantalla; sin JS aparece ya completa */
.versiculo cite::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:64px;height:3px;background:var(--oro);transition:width .9s ease .25s;
}
.js .versiculo:not(.visto) cite::before{width:0;}
@media (prefers-reduced-motion:reduce){
  .versiculo cite::before{width:64px;transition:none;}
}
@media (max-width:620px){ .versiculo{padding-top:40px;padding-bottom:30px;} }

/* Separación entre el versículo y el resto del pie */
.versiculo + .pie-grid{border-top:1px solid rgba(255,255,255,.12);padding-top:44px;}

/* ---------- Versículo en movimiento, banda superior ---------- */
.cinta-verso{
  background:var(--marino);border-bottom:1px solid rgba(226,193,115,.28);
  overflow:hidden;position:relative;
  /* se desvanece en los dos extremos, como si entrara y saliera de la banda */
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
}
.cinta-verso-pista{
  display:inline-flex;align-items:baseline;gap:14px;white-space:nowrap;
  padding:8px 0 8px 100%;margin:0;
  animation:verso-desfila 28s linear infinite;
}
.cinta-verso-pista b{
  font-family:var(--titulos);font-weight:700;font-size:var(--t-sm);
  letter-spacing:.01em;color:#EAF0F8;
}
.cinta-verso-pista i{
  font-style:normal;font-size:var(--t-xs);font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--oro-vivo);
}
.cinta-verso:hover .cinta-verso-pista{animation-play-state:paused;}
@keyframes verso-desfila{ to{ transform:translateX(-100%); } }

/* Sin movimiento: queda centrado y quieto */
@media (prefers-reduced-motion:reduce){
  .cinta-verso{-webkit-mask-image:none;mask-image:none;}
  .cinta-verso-pista{padding:8px 16px;animation:none;width:100%;justify-content:center;}
}
