/* Professional Deck V18 · graphic editorial evolution. Loaded last intentionally. */
:root {--bg:#101316;--black:#101316;--surface:#1e2124;--gold:#edbc83;--ice:#ccc8c3;--accent:#cdc9c4;--accent-ink:#191c1f;--line-dark:rgba(181,177,172,.2);--gold-glow:rgba(237,188,131,.2);}
html[data-theme="light"] {--bg:#f8f4ef;--black:#f8f4ef;--surface:#fff;--gold:#a56c42;--ice:#5d5e5f;--accent:#5b5c5d;--accent-ink:#fff;--line-dark:rgba(60,63,66,.2);}
body:not([data-theme="light"]) {background-color:var(--bg)}
.pd18-shell { width:min(100%,1280px);margin:auto;display:grid;gap:clamp(.9rem,1.8vh,1.7rem);min-width:0;}
.pd18-heading {display:grid;gap:clamp(.3rem,.7vh,.6rem);max-width:100%}
.pd18-heading .slide-index {margin:0 0 .35rem}
.pd18-heading .eyebrow {margin:0;color:var(--ice);font:700 .62rem/1.25 var(--mono);letter-spacing:.13em}
.pd18-heading h2 {margin:0;color:#f2f7f8;font:500 clamp(2.15rem,4vw,4.6rem)/1 var(--display);letter-spacing:-.048em}
.pd18-heading h2 em {color:#cecac5;font-style:italic}
.pd18-heading > p:last-child {margin:.2rem 0 0;color:#c5c1bc;font:.88rem/1.6 var(--sans);max-width:75ch}
#modelo.pd18-model,#metodo.pd18-method,#trayectoria.pd18-evolution,#capacidades.pd18-capabilities {background:radial-gradient(ellipse at 82% 30%,rgba(116,117,118,.16),transparent 56%),radial-gradient(ellipse at 13% 86%,rgba(138,139,140,.075),transparent 38%),#101316;justify-content:center;align-items:stretch;}
#modelo.pd18-model::after,#metodo.pd18-method::after,#trayectoria.pd18-evolution::after,#capacidades.pd18-capabilities::after {display:none}
.pd18-model-layout {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(255px,.8fr);gap:clamp(.7rem,1.8vw,1.4rem);}
.pd18-model-track {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:270px;margin:0;padding:0;list-style:none;background:linear-gradient(145deg,rgba(42,45,48,.9),rgba(19,22,25,.95));border:1px solid rgba(204,200,195,.28);border-radius:18px;overflow:hidden;}
.pd18-model-track li {position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:.8rem .55rem;min-width:0;border-right:1px solid rgba(183,179,174,.19)}
.pd18-model-track li:last-child {border-right:0;background:rgba(196,192,187,.12)}
.pd18-model-track li:not(:last-child)::after {position:absolute;content:"";right:-5px;top:47%;width:8px;height:8px;z-index:2;border-top:2px solid #d1cdc8;border-right:2px solid #d1cdc8;transform:rotate(45deg);}
.pd18-model-track li span {color:#e9ba80;font:700 .7rem var(--mono)}
.pd18-model-track li strong {color:#fdf9f4;margin:1.4rem 0 .5rem;font:800 clamp(.62rem,.83vw,.81rem)/1.3 var(--mono);overflow-wrap:anywhere}
.pd18-model-track li small {color:#b9b5b0;font:.68rem/1.5 var(--sans)}
.pd18-model-proof {display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr 1fr;gap:.55rem;min-width:0}
.pd18-model-proof>small {grid-column:1/-1;color:var(--ice);font:700 .62rem var(--mono);letter-spacing:.15em}
.pd18-model-proof a {position:relative;display:flex;flex-direction:column;justify-content:center;gap:.6rem;min-height:108px;padding:1.1rem;border:1px solid rgba(180,176,171,.23);border-radius:13px;color:#fffbf6;text-decoration:none;background:linear-gradient(143deg,rgba(45,48,51,.9),rgba(24,27,30,.95));transition:background .22s,border-color .22s,transform .22s;}
.pd18-model-proof a:hover,.pd18-model-proof a:focus-visible {transform:translateY(-3px);border-color:#c8c4bf;background:#323538}
.pd18-model-proof a b {font:700 clamp(.85rem,1.2vw,1.08rem)/1.1 var(--display)}
.pd18-model-proof a span {color:#c5c1bc;font:.72rem/1.45 var(--sans)}
.pd18-model-proof a em {position:absolute;right:.7rem;top:.6rem;color:#bfbbb6}
#metodo.pd18-method .pd18-method-flow {display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:.55rem!important;width:100%!important;min-height:initial!important;overflow:visible!important;border:0!important;background:transparent!important;flex:none!important}
.pd18-method-flow .gb-step {position:relative;min-height:200px!important;padding:1.15rem!important;display:flex!important;flex-direction:column;align-items:flex-start;background:linear-gradient(155deg,#2a2d30,#1a1d20)!important;border:1px solid rgba(201,197,192,.28)!important;border-radius:14px!important;box-shadow:none!important}
.pd18-method-flow .gb-step h3 {margin:2rem 0 .6rem!important;color:#fdf9f4;font:700 clamp(.87rem,1.2vw,1.15rem) var(--mono)}
.pd18-method-flow .gb-step p {margin:0!important;color:#cac6c1;font:.78rem/1.6 var(--sans)}
.pd18-method-flow .gb-step b {margin-top:auto;padding-top:1rem;color:#e6bc94;font:700 .6rem var(--mono);letter-spacing:.11em}
.pd18-method-flow .gb-step-num {color:#cfcbc6;font:700 .7rem var(--mono)}
.pd18-method-case {display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1.2rem;align-items:center;padding:1.15rem 1.3rem;border:1px solid rgba(237,185,133,.24);border-radius:14px;background:linear-gradient(100deg,rgba(214,139,154,.09),rgba(193,189,184,.07))}
.pd18-method-case small {font:700 .59rem var(--mono);letter-spacing:.14em;color:#c5c1bc}
.pd18-method-case h3 {margin:.3rem 0;font:500 1.38rem var(--display);color:#fff}
.pd18-method-case p {max-width:65ch;margin:0;font:.76rem/1.5 var(--sans);color:#cecac5}
.pd18-case-tags {max-width:160px;display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem}
.pd18-case-tags span {padding:.35rem .5rem;border-radius:99px;color:#d1cdc8;border:1px solid rgba(204,200,195,.23);font:700 .5rem var(--mono)}
.pd18-method-case a {white-space:nowrap;display:inline-flex;align-items:center;min-height:44px;padding:.72rem 1rem;border-radius:99px;border:1px solid #cfcbc6;color:#f8f4ef;font:700 .65rem var(--mono)}
.pd18-evo-rail {list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}
.pd18-evo-rail li {position:relative;padding:1.5rem 1rem;min-height:270px;background:linear-gradient(155deg,#25282b,#171a1d);border:1px solid rgba(198,194,189,.24);border-radius:16px;display:flex;flex-direction:column;gap:.65rem}
.pd18-evo-rail li::before {content:"";position:absolute;left:1rem;right:1rem;top:56px;height:1px;background:linear-gradient(90deg,#e7b684,#ccc8c3)}
.pd18-evo-rail small {font:700 .68rem var(--mono);color:#e7b783}
.pd18-evo-rail li>span {font:700 2rem var(--display);color:#cfcbc6;margin-top:.65rem}
.pd18-evo-rail strong {font:700 .85rem/1.2 var(--mono);color:#fdf9f4}
.pd18-evo-rail p {margin:0;color:#c9c5c0;font:.78rem/1.5 var(--sans)}
.pd18-evo-rail em {margin-top:auto;font:700 .59rem/1.6 var(--mono);color:#bcb8b3;font-style:normal}
.pd18-evo-rail li.is-current {background:linear-gradient(150deg,#383b3e,#2a2d30);border-color:rgba(205,201,196,.63)}
.pd18-evo-message {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;border-radius:12px;border:1px solid rgba(201,197,192,.25);color:#f8f4ef;background:rgba(163,164,165,.09)}
.pd18-evo-message span {font:700 .62rem var(--mono);white-space:nowrap;color:#eabb97}
.pd18-evo-message strong {font:500 1.2rem var(--display)}
#capacidades.pd18-capabilities .pd18-cap-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem}
.pd18-cap-grid article {position:relative;display:flex;flex-direction:column;gap:1.1rem;min-height:258px;padding:1.4rem 1rem;border:1px solid rgba(191,187,182,.24);border-radius:16px;background:linear-gradient(145deg,#2d3033,#1b1e21)}
.pd18-cap-grid article:nth-child(3){background:linear-gradient(145deg,#333639,#202326)}
.pd18-cap-grid article:nth-child(4){background:linear-gradient(145deg,#292c2f,#1c1f22)}
.pd18-cap-grid article:nth-child(5){background:linear-gradient(145deg,#303336,#1f2225)}
.pd18-cap-grid small {color:#c7c3be;font:700 .59rem var(--mono)}
.pd18-cap-grid h3 {color:#fefaf5;font:700 .9rem/1.27 var(--mono)}
.pd18-cap-grid p {color:#cecac5;font:.78rem/1.55 var(--sans);margin:0}
.pd18-cap-grid a {margin-top:auto;align-self:start;color:#e9e5e0;font:700 .61rem/1.4 var(--mono);text-decoration:none;border-bottom:1px solid rgba(208,204,199,.5)}
.pd18-cap-grid a:hover {color:#fff;border-color:#fff}
.pd18-brand-art {display:block;flex:0 0 clamp(80px,8.1vw,118px);width:clamp(80px,8.1vw,118px);height:auto;min-width:0;margin-right:.7rem;border-radius:12px;overflow:hidden;filter:drop-shadow(0 4px 20px color-mix(in srgb,var(--brand-color) 12%,transparent))}
.pd18-brand-art svg {display:block;width:100%;height:auto;max-height:77px;}
#experiencia .gb-role,#experiencia-2 .gb-role {grid-template-columns:100px minmax(0,1fr) 24px!important;gap:clamp(.7rem,1.8vw,1.5rem)!important;justify-content:start!important}
#experiencia .gb-role-year,#experiencia-2 .gb-role-year {display:none!important}
#experiencia .gb-role-main,#experiencia-2 .gb-role-main {width:100%!important;min-width:0!important}
#experiencia .gb-role-go,#experiencia-2 .gb-role-go {font-size:.7rem!important}
.pd18-contact-languages {display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin:.65rem 0}
.pd18-contact-languages span {display:flex;align-items:center;gap:.35rem;padding:.5rem .75rem;border:1px solid rgba(200,196,191,.24);border-radius:99px;background:rgba(160,161,162,.09)}
.pd18-contact-languages b {font:700 .68rem var(--mono);color:var(--ice)}
.pd18-contact-languages small {font:600 .67rem var(--sans);color:var(--white)}
/* Actual coordinate nodes, artistic coast outline: neither routes nor employer geocoding. */
#ruta.pd18-atlas {background:radial-gradient(ellipse at 46% 50%,rgba(86,87,88,.16),transparent 60%),#101316;}
#ruta.pd18-atlas .pd17-atlas-map {background:linear-gradient(148deg,#212427,#0e1114);min-height:clamp(320px,50vh,560px)}
#ruta.pd18-atlas .pd17-atlas-map svg {position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:fill}
#ruta.pd18-atlas .pd17-atlas-stops {grid-template-columns:repeat(6,minmax(0,1fr))}
#ruta.pd18-atlas .pd18-city-nodes button {width:clamp(34px,3vw,44px);height:clamp(34px,3vw,44px);background:#2d3033;color:#fbf7f2;border-color:#cbc7c2}
#ruta.pd18-atlas .pd18-city-nodes button[aria-pressed=true] {background:#d6d2cd;color:#14171a}
#ruta.pd18-atlas .pd18-city-nodes button span {position:absolute;top:calc(100% + 5px);left:50%;transform:translateX(-50%);pointer-events:none;padding:.35rem .4rem;border:1px solid rgba(198,194,189,.3);border-radius:5px;background:rgba(13,16,19,.95);font:700 .53rem var(--mono);color:#fbf7f2;white-space:nowrap}
#ruta.pd18-atlas .pd18-city-nodes button:nth-child(3) span {transform:translateX(-82%);top:auto;bottom:calc(100% + 5px)}
#ruta.pd18-atlas .pd18-city-nodes button:nth-child(5) span,#ruta.pd18-atlas .pd18-city-nodes button:nth-child(6) span {transform:translateX(-85%)}
.pd18-map-caption {position:absolute;z-index:2;left:16px;bottom:12px;right:16px;display:flex;gap:.5rem;align-items:center;color:#d7d3ce;font:.62rem/1.35 var(--mono);pointer-events:none}
html[data-theme="light"] .pd18-heading h2 {color:#303336}
html[data-theme="light"] .pd18-heading h2 em {color:#676869}
html[data-theme="light"] .pd18-heading>p:last-child {color:#656667}
html[data-theme="light"] .pd18-contact-languages small {color:#34373a}
/* Header: utilities own top right; navigation owns lower right. No wrapping collision. */
@media(min-width:981px){
 :root {--header:96px}
 .site-header {display:grid!important;grid-template-columns:minmax(190px,1fr) auto!important;grid-template-rows:43px 32px!important;align-content:center!important;align-items:center!important;gap:1px 20px!important;height:96px!important;padding:5px clamp(14px,2vw,36px)!important;}
 .site-header>.brand {grid-column:1;grid-row:1/3;justify-self:start;max-width:220px}
 .site-header>.header-actions {grid-column:2;grid-row:1;justify-self:end;display:flex!important;align-items:center;justify-content:flex-end;flex-wrap:nowrap!important;gap:8px}
 .site-header>.main-nav {grid-column:2;grid-row:2;justify-self:end;position:static!important;inset:auto!important;display:flex!important;align-items:center;justify-content:flex-end;gap:0!important;max-width:100%!important;min-width:0!important;flex-wrap:nowrap!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
 .main-nav>button {white-space:nowrap!important;font-size:clamp(.54rem,.75vw,.72rem)!important;padding:0 clamp(.37rem,.75vw,.65rem)!important;min-height:30px!important;border-radius:7px!important}
 .main-nav>.nav-present,.main-nav>.nav-recruiter {border:1px solid rgba(198,194,189,.28)!important}
 .header-actions>.seg {height:32px!important}
 .header-actions .seg-btn {min-width:34px!important;height:30px!important}
 .header-actions .header-cta {min-height:32px!important;padding:.5rem .8rem!important}
}
@media(max-width:1200px) and (min-width:981px){.site-header{grid-template-columns:minmax(150px,1fr) auto!important}.brand-text small{display:none}.main-nav>button{padding:0 .4rem!important}}
@media(max-width:980px){
 .site-header {display:flex!important;align-items:center!important;height:var(--header)!important;gap:6px!important}
 .pd18-model-layout {grid-template-columns:1fr}
 .pd18-model-track {min-height:190px}
 #metodo.pd18-method .pd18-method-flow {grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .pd18-evo-rail {grid-template-columns:repeat(3,minmax(0,1fr))}
 #capacidades.pd18-capabilities .pd18-cap-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
 .pd18-method-case {grid-template-columns:1fr auto}
 .pd18-case-tags {display:none}
 #experiencia .gb-role,#experiencia-2 .gb-role {grid-template-columns:80px minmax(0,1fr) 18px!important}
}
@media(max-width:640px){
 .pd18-shell {gap:.8rem}
 .pd18-heading h2 {font-size:clamp(1.95rem,8vw,3rem)}
 .pd18-heading>p:last-child{font-size:.8rem}
 .pd18-model-track {grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}
 .pd18-model-track li {padding:.7rem;min-height:75px}
 .pd18-model-track li strong {margin:.5rem 0 .15rem}
 .pd18-model-track li::after {display:none}
 .pd18-model-proof {grid-template-columns:1fr 1fr}
 .pd18-model-proof a {min-height:83px;padding:.8rem}
 #metodo.pd18-method .pd18-method-flow {grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .pd18-method-flow .gb-step {min-height:136px!important;padding:.85rem!important}
 .pd18-method-flow .gb-step h3 {margin:.8rem 0 .3rem!important}
 .pd18-method-case {grid-template-columns:1fr;padding:.8rem}
 .pd18-evo-rail {grid-template-columns:1fr 1fr;gap:.45rem}
 .pd18-evo-rail li {min-height:145px;padding:.85rem;gap:.35rem}
 .pd18-evo-rail li>span {font-size:1.45rem;margin-top:.45rem}
 .pd18-evo-rail li::before {top:43px}
 .pd18-evo-rail li p {font-size:.68rem}
 .pd18-evo-rail li em {font-size:.52rem}
 .pd18-evo-message {flex-wrap:wrap;padding:.7rem}
 .pd18-evo-message strong {font-size:.98rem}
 #capacidades.pd18-capabilities .pd18-cap-grid {grid-template-columns:1fr 1fr;gap:.45rem}
 .pd18-cap-grid article {min-height:160px;padding:.85rem;gap:.5rem}
 .pd18-cap-grid h3 {font-size:.72rem}
 .pd18-cap-grid p {font-size:.7rem}
 #experiencia .gb-role,#experiencia-2 .gb-role {grid-template-columns:64px minmax(0,1fr)!important;min-height:100px!important}
 .pd18-brand-art {width:64px;flex-basis:64px}
 #experiencia .gb-role-go,#experiencia-2 .gb-role-go {display:none!important}
 #ruta.pd18-atlas .pd17-atlas-map {min-height:285px}
 #ruta.pd18-atlas .pd18-city-nodes button {width:30px;height:30px;font-size:.55rem}
 #ruta.pd18-atlas .pd18-city-nodes button span {font-size:.46rem;padding:.2rem}
 #ruta.pd18-atlas .pd17-atlas-stops {grid-template-columns:repeat(3,minmax(0,1fr));}
 .pd18-map-caption {font-size:.53rem}
}
@media(prefers-reduced-motion:reduce){.pd18-model-proof a{transition:none}}

/* Explicit light-mode treatment for the new editorial surfaces. */
html[data-theme="light"] #modelo.pd18-model,
html[data-theme="light"] #metodo.pd18-method,
html[data-theme="light"] #trayectoria.pd18-evolution,
html[data-theme="light"] #capacidades.pd18-capabilities {
 background:#f8f4ef!important;color:#2d3033!important;
}
html[data-theme="light"] .pd18-heading .eyebrow {color:#656667}
html[data-theme="light"] .pd18-method-case {background:#ede9e4;border-color:rgba(80,81,82,.25)}
html[data-theme="light"] .pd18-method-case h3 {color:#2d3033}
html[data-theme="light"] .pd18-method-case p {color:#5c5d5e}
html[data-theme="light"] .pd18-evo-message {background:#ede9e4;color:#2d3033}
html[data-theme="light"] .pd18-evo-message strong {color:#2d3033}
html[data-theme="light"] .pd18-evo-message span {color:#81583e}

/* The atlas has six real stops. On narrow screens it must scroll rather than
   hide its second row of controls behind the slide viewport. */
@media (max-width:640px){
  #ruta.pd18-atlas {overflow-x:hidden!important;overflow-y:auto!important;justify-content:flex-start!important;overscroll-behavior-y:contain;}
  #ruta.pd18-atlas .pd17-atlas-shell {margin:0 auto!important;}
  #ruta.pd18-atlas .pd17-atlas-stage {min-height:195px!important;}
  #ruta.pd18-atlas .pd17-atlas-map {min-height:235px!important;}
  #ruta.pd18-atlas .pd17-atlas-stops button {min-height:46px;}
  #ruta.pd18-atlas .pd17-atlas-side {gap:.4rem;}
}

/* On mobile, city-selector controls come before the detail panel to avoid
   collision with the fixed previous/next deck controls at the viewport foot. */
@media(max-width:640px){
 #ruta.pd18-atlas .pd17-atlas-side {display:flex!important;flex-direction:column-reverse!important;gap:.4rem!important}
 #ruta.pd18-atlas .pd17-atlas-stops {flex:0 0 auto;position:relative;z-index:4;margin:0 0 .35rem;}
 #ruta.pd18-atlas .pd17-atlas-stops button {min-height:45px;padding:.5rem}
 #ruta.pd18-atlas .pd17-atlas-stage {min-height:178px!important;flex:0 0 auto}
 #ruta.pd18-atlas .pd17-atlas-map {min-height:225px!important}
 body[data-active-slide="ruta"] .deck-controls {right:8px!important;left:auto!important;transform:none!important}
}

/* Atlas annotations: Canary Islands label above its pin, coordinates away
   from bottom-left marker, no clipped footer text. */
#ruta.pd18-atlas .pd18-city-nodes button[data-atlas-step="1"] span {
 top:auto!important;bottom:calc(100% + 7px)!important;
}
#ruta.pd18-atlas .pd18-map-caption {
 left:auto!important;right:12px!important;bottom:12px!important;
 max-width:66%;padding:.4rem .55rem;border-radius:6px;
 background:rgba(14,17,20,.91);box-shadow:0 3px 14px rgba(0,0,0,.23);
}
@media(max-width:640px){
 #ruta.pd18-atlas .pd18-map-caption {max-width:60%;font-size:.48rem!important}
 #ruta.pd18-atlas .pd18-city-nodes button[data-atlas-step="1"] span {left:50%;transform:translateX(0)!important}
}

/* Small screens: legible atlas heading and a real, reachable menu button. */
@media(max-width:640px){
  #ruta.pd18-atlas .pd17-atlas-head h2 {
    font-size:clamp(1.95rem,7.7vw,2.55rem)!important;
    line-height:1.1!important;letter-spacing:-.018em!important;
  }
  #ruta.pd18-atlas .pd17-atlas-head h2 em {letter-spacing:0!important}
  .site-header {padding-inline:8px!important;gap:5px!important}
  .site-header>.brand {flex:1 1 auto!important;max-width:150px!important;min-width:0!important}
  .site-header>.header-actions {flex:0 0 auto!important;margin-left:auto!important;gap:4px!important}
  .header-actions .seg {min-width:0!important}
  .header-actions .seg-btn {min-width:30px!important;width:30px!important;padding:0 4px!important}
  .site-header .menu-toggle {flex:0 0 42px!important;min-width:42px!important;width:42px!important;height:42px!important;margin:0!important}
  .site-header .brand-mark {flex-shrink:0!important}
}

/* Touch targets stay >=40px; compact the surrounding chrome, never the hit area. */
@media(max-width:640px){
 .site-header>.brand {max-width:120px!important}
 .site-header .brand-text small {display:none!important}
 .site-header .header-actions .seg {height:42px!important}
 .site-header .header-actions .seg-btn {min-width:40px!important;width:40px!important;height:40px!important;padding:0 4px!important}
}
