/* Páginas internas: portada, texto legal, bloques de contenido */

/* Portada de página interna */
.ph{padding-top:28px}
.ph-card{position:relative;overflow:hidden;border-radius:28px;background:var(--banner);color:#fff;padding:46px 56px}
.ph-card::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 92% 10%,rgba(21,203,98,.20),transparent 42%),radial-gradient(circle at 70% 120%,rgba(21,147,184,.35),transparent 50%);pointer-events:none}
.ph-card>*{position:relative;z-index:1}
.ph-card h1{color:#fff;font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.02em;margin-bottom:12px}
.ph-card .lead{color:var(--on-banner);font-size:18px;max-width:760px;margin-bottom:6px}
.ph-card .lead+.lead{font-size:16px}
.ph-card .b-cta{margin-top:22px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--on-banner)}
.crumbs li+li::before{content:'/';margin-right:8px;opacity:.6}
.crumbs a{color:#fff;font-weight:600}
.crumbs a:hover{text-decoration:underline}

/* Texto legal y largo */
.prose{max-width:860px;margin:0 auto}
.prose h2{font-size:1.5rem;margin:34px 0 12px}
.prose h2:first-child{margin-top:0}
.prose p{margin-bottom:12px}
.prose ul{margin:6px 0 16px 4px}
.prose li{position:relative;padding-left:24px;margin-bottom:8px}
.prose li::before{content:'';position:absolute;left:4px;top:.7em;width:7px;height:7px;border-radius:50%;background:var(--green)}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:44px;box-shadow:var(--shadow)}

/* Imagen + texto */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.rev>:first-child{order:2}
.split h2{font-size:clamp(1.7rem,3.2vw,2.4rem);font-weight:700;margin-bottom:14px}
.split p{margin-bottom:14px}
.split .lead{font-size:18px;color:var(--ink)}
.split img{border-radius:var(--r);width:100%}
.ticks{margin:18px 0 26px}
.ticks li{display:flex;gap:12px;padding:7px 0;color:var(--ink);font-weight:500}
.ticks li::before{content:'';flex:0 0 22px;height:22px;border-radius:50%;margin-top:2px;background:#dcf8ea url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='%230f9f62' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.ticks b{color:var(--ink)}

/* Cifras */
.stats-band{background:var(--banner);color:#fff;border-radius:28px;padding:54px 40px;text-align:center}
.stats-band .kick{background:rgba(255,255,255,.12);color:#fff}
.stats-band h2{color:#fff;font-size:clamp(1.6rem,3vw,2.3rem);max-width:760px;margin:0 auto 34px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat b{display:block;font:800 clamp(2.2rem,4vw,3.2rem) var(--fh);color:var(--yellow);line-height:1.1}
.stat span{color:var(--on-banner)}

/* Logos de tecnologías */
.brands{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.brand{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px;text-align:center;transition:.25s}
.brand:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.brand img{height:70px;width:auto;margin:0 auto 18px;object-fit:contain}
.brand small{display:block;color:var(--text);font-weight:600}
.brand h3{font-size:1.2rem;margin:2px 0 14px}
.brand .links{display:flex;gap:10px;justify-content:center}
.brand .links a{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);font-size:18px}
.brand .links a:hover{border-color:var(--blue);color:var(--blue)}

/* Cuentas bancarias */
.banks{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.bank{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow)}
.bank p{margin-bottom:6px}
.bank .num{font:700 1.4rem var(--fh);color:var(--ink);margin-bottom:18px;letter-spacing:.02em}
.bank .who{display:flex;align-items:center;gap:14px}
.bank .who span{width:52px;height:52px;border-radius:50%;background:var(--soft);display:grid;place-items:center;overflow:hidden;flex:none}
.bank .who img{width:34px;height:34px;object-fit:contain}
.bank .who b{display:block;color:var(--ink);font:700 1.05rem var(--fh)}
.bank .who small{color:var(--text)}

/* Contacto */
.map-embed{height:420px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);margin-top:40px}
.feat a{color:var(--blue);font-weight:700}
.feat a:hover{text-decoration:underline}
.feat p+p{margin-top:4px}

/* Proyectos */
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.proj{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:.25s}
.proj:hover{box-shadow:var(--shadow);transform:translateY(-6px)}
.proj .pic{position:relative;overflow:hidden;height:190px;background:linear-gradient(135deg,#e1f3f8,#dcf8ea);display:grid;place-items:center;color:var(--blue);font-size:44px}
.proj .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}
.proj .pb{padding:24px;display:flex;flex-direction:column;flex:1}
.proj h3{font-size:1.15rem;margin-bottom:8px}
.proj p{margin-bottom:16px;flex:1}
.proj .more{color:var(--blue);font-weight:700;display:inline-flex;gap:8px;align-items:center}
.proj .more:hover{text-decoration:underline}
.cta-center{text-align:center;margin-top:44px}
.cta-center p{font:500 1.35rem var(--fh);color:var(--ink);margin-bottom:18px}

/* Cita */
.quote{background:var(--banner);color:#fff;border-radius:28px;padding:56px 40px;text-align:center}
.quote blockquote{font:400 clamp(1.4rem,2.8vw,2.1rem)/1.3 var(--fh);color:#fff;max-width:820px;margin:0 auto 14px}
.quote strong{color:var(--yellow);font-weight:600}
.quote cite{color:var(--on-banner);font-style:normal}

/* Detalle de proyecto */
.detail{display:grid;grid-template-columns:2fr 1fr;gap:40px;align-items:start}
.detail .shot{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-bottom:24px}
.detail .shot img{border-radius:12px;width:100%;max-height:440px;object-fit:contain}
.detail .big{font:600 1.35rem/1.35 var(--fh);color:var(--ink);margin-bottom:10px}
.aside-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;margin-bottom:22px}
.aside-card h4{font-size:1.15rem;margin-bottom:14px}
.info li{display:flex;gap:14px;padding:12px 0;border-top:1px solid var(--line)}
.info li:first-child{border-top:0}
.info .i{font-size:22px;color:var(--blue);margin-top:3px}
.info h6{font:700 .95rem var(--fh);color:var(--ink);margin-bottom:2px}

@media(max-width:1000px){
  .ph-card{padding:34px 26px}
  .split,.detail{grid-template-columns:1fr}
  .split.rev>:first-child{order:0}
  .split{gap:30px}
  .stats{grid-template-columns:1fr 1fr}
  .brands,.banks,.proj-grid{grid-template-columns:1fr}
  .panel{padding:26px}
  .stats-band{padding:40px 22px}
}

/* Portada con imagen y cifras (cámaras) */
.ph-split{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center}
.ph-split img{border-radius:var(--r);width:100%;max-height:420px;object-fit:cover}
.ph-card .stats{margin-top:34px;padding-top:30px;border-top:1px solid rgba(255,255,255,.18)}
.ph-card .stat{text-align:left}
.split .faq{max-width:none;margin:0}
@media(max-width:1000px){.ph-split{grid-template-columns:1fr}.ph-split img{max-height:300px}}
