/* ============================================================
   Creative Technology · Presentación corporativa
   Diapositivas 16:9 a 1920 × 1080 px. Azul noche + amarillo CT.
   Una <section class="slide"> = una página del PDF.

   IDIOMAS: cada texto se escribe una vez por idioma con el
   atributo lang ("es", "en", "ca"). Solo se ve el idioma que
   marca <html lang="…">; el resto se oculta con las reglas de
   aquí abajo. Lo que no lleva lang se ve en todos los idiomas.
   ============================================================ */

html[lang="es"] body [lang]:not([lang="es"]),
html[lang="en"] body [lang]:not([lang="en"]),
html[lang="ca"] body [lang]:not([lang="ca"]){display:none !important;}

:root{
  --navy:#070B22;
  --navy-2:#0C1338;
  --navy-3:#172260;
  --accent:#FFC229;          /* amarillo Creative Technology */
  --accent-dk:#9A6B00;       /* amarillo oscurecido: texto sobre claro */
  --ink:#0B1030;
  --muted:#565E7E;
  --paper:#F3F4F8;
  --card:#FFFFFF;
  --line:rgba(255,255,255,.16);
  --line-ink:#DFE2EC;
  --w70:rgba(255,255,255,.72);
  --w50:rgba(255,255,255,.52);

  --slide-w:1920px;
  --slide-h:1080px;
  --pad:96px;
  --r:20px;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Manrope','Segoe UI',-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
  background:#1A1D2B;color:#fff;
  -webkit-font-smoothing:antialiased;
}
.deck{display:flex;flex-direction:column;align-items:center;gap:40px;padding:90px 24px 80px;}

/* ---------- Diapositiva ---------- */
.slide{
  width:var(--slide-w);height:var(--slide-h);flex:none;
  position:relative;overflow:hidden;
  padding:var(--pad) var(--pad) 104px;
  display:flex;flex-direction:column;
  color:#fff;
  background:
    radial-gradient(1200px 700px at 88% -10%,rgba(46,66,190,.55),transparent 60%),
    radial-gradient(900px 600px at -5% 110%,rgba(255,194,41,.10),transparent 60%),
    linear-gradient(160deg,var(--navy-2),var(--navy));
  box-shadow:0 30px 80px rgba(0,0,0,.45);
}
.slide.light{background:var(--paper);color:var(--ink);}
.slide.bleed{padding:0;}
.slide > *{position:relative;z-index:2;}

/* Logo y pie */
.slide > .mark{position:absolute;top:60px;right:var(--pad);height:30px;z-index:6;}
.mark img{height:100%;width:auto;display:block;}
.slide > .foot{
  position:absolute;left:var(--pad);right:var(--pad);bottom:36px;z-index:6;
  display:flex;justify-content:space-between;align-items:center;
  padding-top:16px;border-top:1px solid var(--line);
  font-size:14px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--w50);
}
.slide.light > .foot{border-color:var(--line-ink);color:#8A90A8;}
.foot .pn{color:var(--accent);font-weight:800;}
.slide.light .foot .pn{color:var(--accent-dk);}

/* ---------- Tipografía ---------- */
.eyebrow{display:flex;align-items:center;gap:14px;font-size:17px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 22px;}
.eyebrow::before{content:"";width:44px;height:3px;background:var(--accent);border-radius:2px;flex:none;}
.slide.light .eyebrow{color:var(--accent-dk);}
h1{font-size:128px;line-height:.98;font-weight:800;letter-spacing:-.04em;margin:0 0 32px;text-wrap:balance;}
h2{font-size:62px;line-height:1.08;font-weight:800;letter-spacing:-.03em;margin:0 0 16px;text-wrap:balance;max-width:24ch;}
h3{font-size:28px;line-height:1.2;font-weight:800;letter-spacing:-.01em;margin:0 0 10px;}
p{font-size:21px;line-height:1.55;margin:0 0 14px;color:var(--w70);}
.slide.light p{color:var(--muted);}
.lead{font-size:27px;line-height:1.5;max-width:62ch;color:rgba(255,255,255,.86);}
.slide.light .lead{color:#2A3052;}
.hl{color:var(--accent);}
.head{margin-bottom:44px;}
.flex1{flex:1;min-height:0;}

/* ---------- Fondo fotográfico ---------- */
.bg{position:absolute !important;inset:0;z-index:0 !important;}
.bg img{width:100%;height:100%;object-fit:cover;display:block;}
.veil{position:absolute !important;inset:0;z-index:1 !important;
  background:linear-gradient(90deg,rgba(7,11,34,.94) 0%,rgba(7,11,34,.78) 42%,rgba(7,11,34,.25) 100%),
             linear-gradient(0deg,rgba(7,11,34,.85) 0%,transparent 45%);}
.veil.soft{background:linear-gradient(0deg,rgba(7,11,34,.92) 0%,rgba(7,11,34,.45) 55%,rgba(7,11,34,.55) 100%);}
.veil.flat{background:rgba(7,11,34,.86);}

/* ---------- Portada, portadillas y cierre ---------- */
.cover{position:absolute !important;inset:0;padding:var(--pad);display:flex;flex-direction:column;justify-content:space-between;}
.cover .logo{height:44px;width:auto;display:block;}
.cover h1{max-width:13ch;}
.cover .lead{max-width:44ch;}
.cover .meta{display:flex;gap:40px;align-items:center;font-size:16px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--w70);}
.cover .meta .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);}
.cover .meta img{height:64px;margin:-18px 0;width:auto;opacity:.9;}

.divider .num{font-size:300px;line-height:.8;font-weight:800;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:2px rgba(255,194,41,.9);margin-bottom:36px;}
.divider h1{font-size:112px;max-width:14ch;}
.divider .toc{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;}
.pill{font-size:17px;font-weight:700;letter-spacing:.06em;padding:10px 22px;border-radius:999px;border:1.5px solid rgba(255,255,255,.4);color:#fff;}

/* Pie de foto: qué evento es la imagen de fondo */
.slide > .credit{position:absolute;right:var(--pad);bottom:var(--pad);z-index:5;margin:0;font-size:16px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.8);padding-left:16px;border-left:3px solid var(--accent);}

/* ---------- Quiénes somos ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;height:100%;}
.split .txt{padding:var(--pad) 72px 120px var(--pad);display:flex;flex-direction:column;justify-content:center;}
.split .pic{position:relative;overflow:hidden;}
.split .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.split .pic::after{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;background:var(--accent);}

/* ---------- Cifras ---------- */
.kpis{flex:1;align-items:center;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.kpi{padding:38px 36px 34px;border-left:1px solid var(--line);}
.kpi:first-child{border-left:0;padding-left:0;}
.kpi .v{font-size:156px;line-height:1;font-weight:800;letter-spacing:-.05em;color:var(--accent);}
.kpi .v sup{font-size:.5em;vertical-align:top;position:relative;top:.12em;margin-left:4px;}
.kpi .k{font-size:25px;font-weight:700;letter-spacing:.04em;color:#fff;margin-top:10px;}
.nep{display:grid;grid-template-columns:260px 1fr auto;gap:56px;align-items:center;margin-top:40px;padding:44px 52px;border-radius:var(--r);background:rgba(255,255,255,.07);border:1px solid var(--line);}
.nep .logo{width:230px;height:auto;display:block;}
.nep p{margin:0;font-size:21px;}
.nep h3{margin-bottom:8px;}
.nep .mini{display:flex;gap:44px;}
.nep .mini div{font-size:15px;font-weight:700;letter-spacing:.06em;color:var(--w70);white-space:nowrap;}
.nep .mini b{display:block;font-size:46px;line-height:1.05;font-weight:800;letter-spacing:-.03em;color:#fff;}

/* ---------- Valores ---------- */
.vals{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.val{background:var(--navy-2);border-radius:var(--r);padding:44px 38px 34px;display:flex;flex-direction:column;color:#fff;
  background:linear-gradient(170deg,var(--navy-3),var(--navy-2) 70%);}
/* Icono, número y título a altura fija: los títulos de las cuatro tarjetas quedan alineados */
.val img{width:88px;height:88px;object-fit:contain;margin-bottom:40px;}
.val h3{font-size:34px;margin-bottom:6px;}
.val .n{font-size:15px;font-weight:800;letter-spacing:.2em;color:var(--accent);margin-bottom:22px;}
.val p,.slide.light .val p{font-size:21px;line-height:1.5;color:rgba(255,255,255,.76);margin:0;}

/* ---------- Presencia global ---------- */
.regions{display:grid;grid-template-columns:1.15fr 1.5fr 1fr 1fr 1.25fr;gap:0;border-top:1px solid var(--line);}
.region{padding:34px 30px 0;border-left:1px solid var(--line);}
.region:first-child{border-left:0;padding-left:0;}
.region h3{font-size:25px;letter-spacing:.02em;margin-bottom:26px;min-height:2.4em;}
.region p{font-size:21px;line-height:1.5;margin:0 0 24px;color:var(--w70);}
.region p b{display:block;font-size:14px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:3px;}
.region p.home{color:#fff;font-weight:700;}
.region p.home b::after{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-left:10px;vertical-align:middle;}

/* ---------- Mega eventos: foto grande con el título encima y ediciones debajo ---------- */
.megas{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.mega{border-radius:var(--r);overflow:hidden;background:rgba(255,255,255,.06);border:1px solid var(--line);display:flex;flex-direction:column;min-height:0;}
.mega .ph{position:relative;flex:1;min-height:250px;overflow:hidden;}
.mega .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.mega .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,11,34,.95) 0%,rgba(7,11,34,.35) 45%,rgba(7,11,34,0) 70%);}
.mega .cap{position:absolute;left:36px;right:36px;bottom:20px;z-index:2;}
.mega .k{font-size:15px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;}
.mega h3{font-size:40px;margin:0;}
.mega .in{padding:22px 36px 14px;flex:none;}
.mega p{font-size:19.5px;line-height:1.45;margin:0 0 14px;}
.mega ul{list-style:none;margin:0;padding:0;}
.mega li{padding:11px 0 10px;border-top:1px solid var(--line);font-size:17.5px;line-height:1.35;color:var(--w70);}
.mega li b{display:block;font-size:20px;font-weight:800;color:#fff;margin-bottom:1px;}

/* ---------- Metodología CT Spain ---------- */
.method{display:grid;grid-template-columns:1.05fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:26px;}
.mcard{background:var(--card);border-radius:var(--r);padding:34px 36px;border:1px solid var(--line-ink);display:flex;flex-direction:column;}
.mcard .k{font-size:14px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-dk);margin-bottom:12px;}
.mcard p{font-size:21px;line-height:1.5;margin:0;}
.mcard h3{font-size:30px;}
.mcard.main{grid-row:1 / span 2;position:relative;overflow:hidden;color:#fff;border:0;padding:0;justify-content:flex-end;background:var(--navy);}
.mcard.main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.mcard.main::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,11,34,.96) 0%,rgba(7,11,34,.8) 42%,rgba(7,11,34,.1) 75%);}
.mcard.main .in{position:relative;z-index:2;padding:40px 40px 38px;}
.mcard.main .k{color:var(--accent);}
.mcard.main h3{font-size:36px;}
.mcard.main p,.slide.light .mcard.main p{color:rgba(255,255,255,.8);}

/* ---------- Cómo trabajamos ---------- */
.phases{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:26px;}
.phase{border-radius:var(--r);padding:38px 40px;background:var(--card);border:1px solid var(--line-ink);display:flex;flex-direction:column;}
.phase .n{font-size:15px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-dk);margin-bottom:10px;}
.phase h3{font-size:38px;margin-bottom:26px;}
.phase ul{list-style:none;margin:0;padding:0;}
.phase li{font-size:24px;line-height:1.3;font-weight:600;padding:19px 0 19px 34px;border-top:1px solid var(--line-ink);position:relative;color:#232A4D;}
.phase li::before{content:"";position:absolute;left:2px;top:29px;width:11px;height:11px;border-radius:50%;background:var(--accent);}
.phase.game{background:linear-gradient(170deg,var(--navy-3),var(--navy-2) 70%);border:0;color:#fff;}
.phase.game .n{color:var(--accent);}
.phase.game li{color:#fff;border-color:rgba(255,255,255,.16);}
.phase .note,.slide.light .phase .note{margin:auto 0 0;padding-top:22px;font-size:26px;line-height:1.35;font-weight:700;color:var(--accent);}

/* ---------- Servicios (3 tarjetas por página) ---------- */
.svcs{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.svc{border-radius:var(--r);overflow:hidden;background:rgba(255,255,255,.06);border:1px solid var(--line);display:flex;flex-direction:column;min-height:0;}
.svc .ph{height:290px;flex:none;position:relative;overflow:hidden;}
.svc .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.svc .ph .n{position:absolute;left:28px;bottom:20px;font-size:15px;font-weight:800;letter-spacing:.2em;color:var(--navy);background:var(--accent);padding:6px 12px;border-radius:6px;}
.svc .in{padding:30px 34px 28px;display:flex;flex-direction:column;flex:1;}
.svc h3{font-size:34px;margin-bottom:4px;}
.svc .tag{font-size:19px;font-weight:700;color:var(--accent);margin-bottom:16px;}
.svc p{font-size:20px;line-height:1.5;}
.svc .tags{margin:auto 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:16px;font-weight:600;letter-spacing:.02em;line-height:1.55;color:var(--w50);}

/* ---------- Mosaicos de foto (mercados, proyectos) ---------- */
.tiles{display:grid;gap:22px;}
.tiles.c3{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr;}
.tiles.c4{grid-template-columns:repeat(4,1fr);grid-template-rows:1fr 1fr;}
.tile{position:relative;overflow:hidden;border-radius:var(--r);min-height:0;background:var(--navy);display:flex;flex-direction:column;justify-content:flex-end;}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,11,34,.95) 0%,rgba(7,11,34,.62) 38%,rgba(7,11,34,0) 70%);}
.tile .in{position:relative;z-index:2;padding:26px 30px 24px;}
.tile h3{font-size:30px;margin-bottom:6px;color:#fff;}
.tile p,.slide.light .tile p{font-size:19px;line-height:1.45;margin:0;color:rgba(255,255,255,.8);}
.tile.plain::after{display:none;}

/* ---------- Integración: ciclo en 6 pasos ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr;gap:24px;}
.step{border-radius:var(--r);overflow:hidden;background:var(--card);border:1px solid var(--line-ink);display:grid;grid-template-columns:190px 1fr;min-height:0;}
.step .ph{position:relative;overflow:hidden;}
.step .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.step .in{padding:28px 30px;display:flex;flex-direction:column;justify-content:center;}
.step .n{font-size:15px;font-weight:800;letter-spacing:.2em;color:var(--accent-dk);margin-bottom:8px;}
.step h3{font-size:27px;}
.step p{font-size:19.5px;line-height:1.48;margin:0;}

/* ---------- Cierre ---------- */
/* Bloque de contacto del cierre: etiqueta pequeña en amarillo y valor en blanco, sin cajas */
.contact{display:flex;gap:88px;align-items:flex-end;padding-top:34px;border-top:1px solid rgba(255,255,255,.3);}
.contact div{display:flex;flex-direction:column;gap:12px;}
.contact div[hidden]{display:none;}
.contact small{font-size:13px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);}
.contact .cv{font-size:30px;font-weight:600;color:#fff;letter-spacing:-.01em;line-height:1.1;font-variant-numeric:tabular-nums;}
#cNombre .cv{font-size:40px;font-weight:800;letter-spacing:-.02em;}

/* ============================================================
   Barra interna y vistas (nunca se imprimen)
   ============================================================ */
#panel{position:fixed;top:0;left:0;right:0;z-index:60;background:rgba(7,11,34,.96);
  backdrop-filter:blur(8px);display:flex;align-items:center;gap:12px;padding:10px 20px;font-size:13px;color:#fff;
  border-bottom:1px solid rgba(255,255,255,.1);}
#panel .t{font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--accent);}
#panel .counter{font-variant-numeric:tabular-nums;color:rgba(255,255,255,.6);}
#panel .spacer{flex:1;}
#panel button{font:inherit;font-weight:700;padding:8px 16px;border-radius:8px;cursor:pointer;
  background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.14);}
#panel button:hover{background:rgba(255,255,255,.2);}
#panel button.primary{background:var(--accent);color:var(--navy);border-color:var(--accent);}
/* Selector de idioma */
#langs{display:flex;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.22);}
#langs button{border:0;border-radius:0;background:transparent;padding:8px 13px;letter-spacing:.08em;color:rgba(255,255,255,.7);}
#langs button + button{border-left:1px solid rgba(255,255,255,.22);}
#langs button[aria-pressed="true"]{background:var(--accent);color:var(--navy);}

/* Diálogo del presentador */
#who{border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:0;background:#0C1338;color:#fff;width:min(520px,calc(100vw - 32px));
  box-shadow:0 30px 80px rgba(0,0,0,.5);font-family:inherit;}
#who::backdrop{background:rgba(7,11,34,.6);backdrop-filter:blur(3px);}
#who form{display:flex;flex-direction:column;gap:14px;padding:26px 28px;font-size:14px;}
#who h3{margin:0;font-size:18px;font-weight:800;letter-spacing:-.01em;}
#who .hint{margin:-6px 0 4px;color:rgba(255,255,255,.6);font-size:13px;line-height:1.4;}
#who label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);}
#who input,#who select{font:inherit;font-size:15px;font-weight:500;letter-spacing:0;text-transform:none;padding:10px 12px;border-radius:8px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;outline:none;}
#who select option{background:#0C1338;color:#fff;}
#who input:focus,#who select:focus{border-color:var(--accent);background:rgba(255,255,255,.12);}
#who input::placeholder{color:rgba(255,255,255,.35);}
#who .row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px;}
#who .row .spacer{flex:1;}
#who button{font:inherit;font-weight:700;padding:9px 16px;border-radius:8px;cursor:pointer;
  background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.14);}
#who button:hover{background:rgba(255,255,255,.2);}
#who button.primary{background:var(--accent);color:var(--navy);border-color:var(--accent);}
#who .foot{margin:4px 0 0;font-size:12px;color:rgba(255,255,255,.5);line-height:1.4;}
#who .foot a{color:var(--accent);font-weight:700;text-decoration:none;}
#who .foot a:hover{text-decoration:underline;}
#who .row button{padding:9px 12px;font-size:13px;}
#whoName:not(:empty)::before{content:"· ";color:rgba(255,255,255,.5);}
#whoName{font-weight:500;color:var(--accent);}
#btnWho{white-space:nowrap;}

body.fit .deck{align-items:flex-start;padding-left:0;padding-right:0;}
body.fit .slide{transform-origin:top left;}

body.present{background:#000;overflow:hidden;}
body.present #panel{display:none;}
body.present .deck{padding:0;gap:0;display:block;width:100vw;height:100vh;position:relative;}
body.present .slide{display:none;position:absolute;left:50%;top:50%;transform-origin:center;box-shadow:none;}
body.present .slide.active{display:flex;}
/* En modo presentación el idioma se cambia con la tecla L; aviso breve */
#toast{position:fixed;left:50%;bottom:40px;transform:translateX(-50%);z-index:80;background:rgba(7,11,34,.92);color:#fff;
  font-weight:800;letter-spacing:.12em;font-size:15px;padding:12px 22px;border-radius:999px;border:1px solid rgba(255,255,255,.2);
  opacity:0;transition:opacity .25s;pointer-events:none;}
#toast.on{opacity:1;}

body.gridview .deck{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:90px 24px;align-items:start;justify-items:start;}
body.gridview .slide{transform-origin:top left;cursor:pointer;}
body.gridview .slide:hover{outline:6px solid var(--accent);}

@page{size:1920px 1080px;margin:0;}
@media print{
  html,body{background:#fff;}
  body.fit .slide,body.gridview .slide,body.present .slide{transform:none !important;display:flex !important;position:static !important;margin:0 !important;}
  body.present .deck,body.gridview .deck{display:block;width:auto;height:auto;}
  #panel,#toast,.noprint{display:none !important;}
  .deck{display:block;padding:0;gap:0;}
  .slide{box-shadow:none;page-break-after:always;break-after:page;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
}
