/* ============================================================
 GRACIÁN BAENA — PROFILE DECK · v2 extreme
 V24 silver / ivory / beige editorial · structural baseline
 Fraunces · Inter · JetBrains Mono · cinematic CS×Data×AI
 ============================================================ */

:root,
[data-theme="dark"] {
/* Silver / ivory editorial baseline; V24-universe.css defines final component surfaces. */
--bg: #151c22;
--bg2: #1d272e;
--surface: #263039;
--surface2: #303942;
--black: #151c22;
--black-2: #1d272e;
--ink: #f3eee5;
--paper: #f3eee5;
--paper-2: #dfd1bf;
--white: #f7f3ec;
--accent: #e6d8c3;
--accent-ink: #172229;
--mark: #deceb7;
--gold: #deceb7;
--gold-glow: rgba(221,204,178,.13);
--yellow: #deceb7;
--yellow-2: #f0e5d5;
--yellow-glow: rgba(221,204,178,.13);
--yellow-dim: rgba(221,204,178,.08);
--sage: #c8cccd;
--sage-glow: rgba(196,205,209,.10);
--sage-dim: rgba(196,205,209,.07);
--ice: #c8cccd;
--ice-dim: rgba(196,205,209,.08);
--ice-glow: rgba(196,205,209,.11);
--muted-dark: #bec4c5;
--muted-light: #aeb6b9;
--line-dark: rgba(224,217,205,.22);
--line-dark-2: rgba(224,217,205,.30);
--line-light: rgba(224,217,205,.17);
--line-light-2: rgba(224,217,205,.24);
--pad: clamp(20px, 4.5vw, 72px);
--header: 64px;
--rail-w: 176px;
--max: 1240px;
--display: "Fraunces", "Times New Roman", Georgia, serif;
--sans: "Inter", system-ui, "Segoe UI", Arial, sans-serif;
--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;
--shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
--shadow-sm: 0 12px 30px rgba(0, 0, 0, 0.35);
--shadow-light: 0 24px 60px rgba(17, 18, 14, 0.10);
--r: 4px;
--r-sm: 4px;
--r-lg: 8px;
--ease: cubic-bezier(.22, 1, .36, 1);
--ease-out: cubic-bezier(.16, 1, .3, 1);
--tap: 44px;
}

[data-theme="light"] {
--bg2: #ebe5da;
--black: #f4efe6;
--black-2: #ebe4d8;
--paper-2: #eee6d9;
--accent: #31414a;
--accent-ink: #fffaf2;
--mark: #4a585c;
--gold-glow: rgba(78,76,68,.12);
--yellow: #536067;
--yellow-2: #788188;
--yellow-glow: rgba(78,76,68,.12);
--yellow-dim: rgba(78,76,68,.08);
--sage: #586a70;
--sage-glow: rgba(68,82,87,.10);
--sage-dim: rgba(68,82,87,.07);
--ice: #586a70;
--ice-dim: rgba(68,82,87,.08);
--ice-glow: rgba(68,82,87,.10);
--muted-dark: #526069;
--muted-light: #617077;
--line-dark: rgba(56,66,70,.23);
--line-dark-2: rgba(56,66,70,.27);
--line-light: rgba(56,66,70,.18);
--line-light-2: rgba(56,66,70,.24);
--shadow: 0 22px 50px rgba(42, 38, 34, 0.1);
--shadow-sm: 0 10px 28px rgba(42, 38, 34, 0.08);
--shadow-light: 0 22px 50px rgba(42, 38, 34, 0.1);
}


*, *::before, *::after { box-sizing: border-box; }
html, body { width: 100%; height: 100%; }
body {
margin: 0;
overflow: hidden;
color: var(--white);
font-family: var(--sans);


font-variation-settings: normal;
}
body.dialog-open { overflow: hidden; }
button, input { font: inherit; }
button, a { color: inherit; -webkit-tap-highlight-color: transparent; }
button { border: 0; background: none; cursor: pointer; }
a { text-decoration: none; }
img, svg { display: block; max-width: 100%; }
::selection { background: var(--yellow); color: var(--black); }
:focus-visible { outline: 2px solid var(--yellow); outline-offset: 3px; }

/* ---------- chrome ---------- */
.skip-link {
position: fixed; z-index: 10000; top: 12px; left: 12px;
padding: 10px 14px; background: var(--accent); color: #2A2622;
font: 800 10px var(--mono); letter-spacing: .1em; text-transform: uppercase;
transform: translateY(-200%);
}
.skip-link:focus { transform: none; }

.top-progress {
position: fixed; z-index: 400; inset: 0 0 auto; height: 3px;
background: rgba(255,255,255,.08);
}
.top-progress i { width: 100%;
background: var(--mark);
transform: scaleX(0); transform-origin: left;
transition: transform .4s cubic-bezier(.2,.8,.2,1);
}

body.has-os-rail .site-header,
body.has-os-rail .top-progress,
body.has-os-rail .deck-controls,
body.has-os-rail .deck-hint { left: var(--rail-w); }


/* ---------- rail ---------- */
.os-rail {
 z-index: 280; top: 0;  
 padding: 14px 10px;
  gap: 10px;
background: var(--black);  color: var(--white);
}
.os-rail-brand { display: flex; align-items: center; gap: 10px; }
.os-rail-brand .brand-mark { display: none; }
.os-rail-brand b { display: block; font: 700 10px var(--sans); letter-spacing: .08em; }
.os-rail-brand small { color: #7d7c74; font: 600 8px var(--mono); letter-spacing: .1em; }
.os-rail-status {
margin: 4px 0 0; color: #7d7c74; font: 700 9px var(--mono); letter-spacing: .1em;
}
.os-rail-status strong {
display: block; margin-top: 4px; color: var(--accent);
font: 500 13px var(--display); letter-spacing: 0;
font-variation-settings: "opsz" 48;
}
.os-rail-nav {
flex: 1; min-height: 0; overflow: auto;
display: flex; flex-direction: column; gap: 2px;
}
.os-rail-item {
min-height: 32px; padding: 4px 8px;
color: #8a897f; border: 1px solid transparent;
border-radius: var(--r-sm);
transition: color .2s, background .2s, border-color .2s;
}
.os-rail-item i { font: 700 10px var(--mono); color: #5a5954; font-style: normal; }
.os-rail-item span { font: 500 11px var(--display); letter-spacing: .02em; font-variation-settings: "opsz" 48; }
.os-rail-item:hover,
.os-rail-item.active {
color: var(--black); background: var(--accent); border-color: var(--accent);
}
.os-rail-item:hover i,
.os-rail-item.active i { color: #3a3a36; }
.os-rail-meter {
height: 2px; background: rgba(255,255,255,.08); overflow: hidden;
}
.os-rail-meter i {
display: block; height: 100%; width: 100%; background: var(--mark);
transform: scaleX(0); transform-origin: left; transition: transform .35s ease;
}
.os-rail-hint {
margin: 0; color: #5a5954; font: 8px/1.4 var(--mono); letter-spacing: .06em;
}

body.has-os-rail .deck {
margin-left: var(--rail-w);
width: calc(100% - var(--rail-w));
}

/* ---------- deck / slides ---------- */
.slide {

padding: calc(var(--header) + 16px) var(--pad) 48px;


justify-content: center;
gap: 12px;
}
.slide.dark { background: var(--black); }
.slide.light { background: var(--paper); color: var(--ink); }
.slide::after {
content: attr(data-code);
position: absolute; z-index: 0; right: 2vw; bottom: -3vw;
color: rgba(244,243,238,.03); font: 800 clamp(140px, 22vw, 320px)/.75 var(--display);
letter-spacing: -.08em; pointer-events: none;
font-variation-settings: "opsz" 144;
}
.slide.light::after { color: rgba(17,18,14,.04); }
.slide > * { position: relative; z-index: 1; }

.slide-index {
display: flex; align-items: center; gap: 10px;
margin: 0; flex-shrink: 0;
color: #77766e; font: 800 10px var(--mono); letter-spacing: .14em;
}
.slide-index span { color: inherit; font-size: 11px; }
.slide-index i { width: 28px; height: 1px; background: currentColor; }
.slide-index.light-index span:last-child { color: var(--mark); }
.light .slide-index span:last-child { color: var(--ink); }

.eyebrow {
margin: 0; font: 800 10px/1.4 var(--mono);
letter-spacing: .14em; text-transform: uppercase;
}
.dark .eyebrow { color: var(--mark); }
.light .eyebrow { color: #77766e; }

.slide h2 {
margin: 0;
font: 500 clamp(28px, 3.6vw, 48px)/.96 var(--display);
letter-spacing: -.03em;
font-variation-settings: "opsz" 96;
}
.slide h2 em { color: var(--accent); font-weight: 400; font-variation-settings: "opsz" 144; }
.light h2 em { color: var(--ink); opacity: .28; }

.button {
min-height: 42px; padding: 0 18px;
display: inline-flex; align-items: center; justify-content: center; gap: 10px;
border: 1px solid transparent;
border-radius: var(--r-sm);
font: 800 10px var(--mono); letter-spacing: .12em;
position: relative;
overflow: hidden;
transition: transform .25s var(--ease), background .25s, color .25s, border-color .25s, box-shadow .25s;
}
.button::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(120deg, transparent 30%, color-mix(in srgb, #fff 20%, transparent) 50%, transparent 70%);
transform: translateX(-100%);
transition: transform .6s var(--ease);
pointer-events: none;
}
.button:hover { transform: translateY(-2px); }
.button:hover::after { transform: translateX(100%); }
.button.primary { color: #2A2622; box-shadow: 0 8px 24px var(--gold-glow); }
.button.primary:hover { background: var(--yellow-2); color: #2A2622; box-shadow: 0 10px 28px var(--gold-glow); }
.button.ghost {
border-color: var(--line-dark-2); background: transparent; color: var(--white);
}
.button.ghost:hover { border-color: var(--accent); color: var(--accent); }
.dark-button { background: var(--black); border-color: var(--black); }
.tag-row { gap: 6px; margin-top: 12px; }
.tag-row span {
padding: 5px 10px; border: 1px solid var(--line-dark-2); border-radius: 999px;
color: #9a9991; font: 700 8px var(--mono); letter-spacing: .08em; text-transform: uppercase;
transition: border-color .2s, color .2s, background .2s;
}
.tag-row span:hover {
border-color: color-mix(in srgb, var(--yellow) 50%, var(--line-dark));
color: var(--yellow);
background: color-mix(in srgb, var(--yellow) 8%, transparent);
}
.light .tag-row span { border-color: var(--line-light); color: #77766e; }

/* head pattern 2-col */
.gb-head,
.systems-head,
.compact-head,
.gb-method-top,
.gb-career-top,
.gb-exp-top,
.gb-caps-top,
.gb-route-top,
.gb-valor-head {
flex-shrink: 0;
display: grid;
grid-template-columns: minmax(0, 1.25fr) minmax(200px, .75fr);
gap: 12px 28px;
align-items: end;
width: 100%;
max-width: var(--max);
margin: 0 auto;
}
.gb-lead-text,
.systems-head > p,
.compact-head > p,
.gb-method-lead,
.gb-career-lead,
.gb-exp-lead,
.gb-caps-lead,
.gb-route-lead,
.gb-valor-lead {
margin: 0;
font-size: 13px;
line-height: 1.45;
color: var(--muted-dark);
}
.light .gb-valor-lead,
.light .systems-head > p { color: var(--muted-light); }

/* ---------- HERO ---------- */
.gb-hero {
justify-content: space-between;
gap: 16px;
max-width: none;
}
.gb-hero-grid {
flex: 1 1 auto;
min-height: 0;
width: 100%;
max-width: var(--max);
margin: 0 auto;
display: grid;
grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
gap: clamp(20px, 3vw, 40px);
align-items: center;
}
.gb-kicker { text-transform: uppercase;
}
.gb-status {
color: #9a9991; font: 800 10px var(--mono); letter-spacing: .1em; text-transform: uppercase;
}
.gb-status i { background: var(--mark);
box-shadow: 0 0 0 4px rgba(125, 202, 165, .18);
}
.gb-hero-copy h1 {
font: 780 clamp(44px, 6vw, 80px)/.88 var(--display);
}
.gb-hero-copy h1 em { font-style: normal; }
.gb-lead strong { color: var(--white); }

.gb-card {
display: flex; flex-direction: column;
}
.gb-card-head {
display: flex; align-items: center; justify-content: space-between;
border-bottom: 1px solid var(--line-dark);
color: #7d7c74; font: 800 10px var(--mono); letter-spacing: .1em;
}
.gb-card-head b {
display: inline-flex; align-items: center; gap: 6px; color: var(--mark);
}
.gb-card-head b i {
width: 6px; height: 6px; border-radius: 50%; background: var(--mark);
}
.gb-card-body { flex: 1; display: flex; flex-direction: column; }
.gb-card-label { margin: 0; color: #7d7c74; font: 800 10px var(--mono); letter-spacing: .12em; }
.gb-card-title { color: var(--accent);
font: 760 clamp(28px, 2.8vw, 40px)/1 var(--display); letter-spacing: -.03em;
}
.gb-card-sub { margin: 0 0 8px; color: #a8a79d; font: 12px/1.4 var(--sans); }
.gb-card-list { list-style: none; margin: auto 0 0; padding: 0; display: grid; }
.gb-card-list li {
display: flex; border-top: 1px solid var(--line-dark);
color: #c8c7bc; font: 760 14px var(--display);
}
.gb-card-list span { color: var(--mark); font: 800 11px var(--mono); }

.gb-metrics {
flex-shrink: 0; width: 100%; max-width: var(--max); margin: 0 auto;
}
.gb-metrics > div {
display: flex; align-items: center;
border-right: 1px solid var(--line-dark);
}
.gb-metrics > div:last-child { border-right: 0; }
.gb-metrics strong {
font: 760 clamp(24px, 2.5vw, 36px)/1 var(--display); color: var(--accent);
}
.gb-metrics span {
color: #85847c; font: 800 10px/1.3 var(--mono); text-transform: uppercase;
}

/* ---------- PANEL SHELL (slides 01 + 08) ---------- */
.gb-valor-slide,
.gb-career-slide,
#valor,
#trayectoria {
justify-content: center !important;
align-items: center !important;
padding-top: calc(var(--header) + 20px) !important;
padding-bottom: 48px !important;
}

.gb-panel {
width: min(100%, var(--max));
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 0;
max-height: calc(100svh - var(--header) - 56px);
overflow: hidden;
}

.gb-panel-light {
background: rgba(255, 255, 255, 0.55);
box-shadow: var(--shadow-light);
border-radius: var(--r-lg);
backdrop-filter: blur(12px);
}

.gb-panel-dark {
border: 1px solid var(--line-dark-2);
background: var(--black-2);
box-shadow: var(--shadow);
border-radius: var(--r-lg);
backdrop-filter: blur(12px);
}

.gb-panel-head {
flex-shrink: 0;
padding: clamp(16px, 2.2vh, 24px) clamp(16px, 2.5vw, 28px) clamp(12px, 1.6vh, 18px);
display: flex;
flex-direction: column;
gap: 8px;
border-bottom: 1px solid var(--line-light);
}

.gb-panel-dark .gb-panel-head {
border-bottom-color: var(--line-dark);
}

.gb-panel-head .slide-index {
margin: 0 0 2px;
}

.gb-panel-head .eyebrow {
margin: 0;
}

.gb-panel-head h2 {
margin: 0;
font-size: clamp(28px, 3.8vw, 48px);
line-height: 0.96;
max-width: 18ch;
font-family: var(--display);
font-weight: 500;
letter-spacing: -.025em;
font-variation-settings: "opsz" 96;
}

.gb-panel-lead {
margin: 0;
max-width: 62ch;
font-size: clamp(13px, 1.15vw, 15px);
line-height: 1.45;
color: var(--muted-light);
}

.gb-panel-dark .gb-panel-lead {
color: #a8a79d;
}

/* 01 — loop 4 cards llenando el centro */
.gb-loop,
[data-valor-loop] {
flex: 1 1 auto;
min-height: 220px;
display: grid !important;
grid-template-columns: repeat(4, 1fr) !important;
margin: 0 !important;
background: transparent;
border: 0;
}

.gb-loop-card,
.gb-loop article,
[data-valor-loop] article {
position: relative;
min-height: 200px !important;
height: 100%;
padding: 18px 16px 20px !important;
display: flex !important;
flex-direction: column !important;
gap: 8px !important;
border-right: 1px solid var(--line-light) !important;
border-bottom: 0 !important;
background: #FFFEFB;
transition: background 0.2s, transform 0.15s;
}

.gb-loop-card:last-child,
.gb-loop article:last-child {
border-right: 0 !important;
}

.gb-loop-card:hover {
background: var(--yellow) !important;
z-index: 1;
}

.gb-loop-card.is-end {
background: rgba(125, 202, 165, 0.18);
}

.gb-loop-card.is-end:hover {
background: var(--yellow) !important;
}

.gb-loop-num {
color: var(--yellow);
font: 800 12px/1 var(--mono) !important;
letter-spacing: 0.08em;
}

.gb-loop-card:hover .gb-loop-num {
color: #3a3200;
}

.gb-loop-label {
color: #77766e;
font: 800 10px/1 var(--mono) !important;
letter-spacing: 0.14em;
text-transform: uppercase;
}

.gb-loop-card:hover .gb-loop-label {
color: #3a3200;
}

.gb-loop-card h3,
[data-valor-loop] h3 {
margin: 6px 0 0 !important;
font: 760 clamp(17px, 1.5vw, 24px)/1.12 var(--display) !important;
letter-spacing: -0.02em;
color: var(--ink);
}

.gb-loop-card p,
[data-valor-loop] p {
margin: 0 !important;
flex: 1 !important;
color: #686861 !important;
font-size: 13px !important;
line-height: 1.4 !important;
}

.gb-line-slide {
gap: 8px;
justify-content: flex-start;
}
.gb-line-head {
width: 100%;
max-width: var(--max);
margin: 0 auto;
flex-shrink: 0;
display: flex;
align-items: baseline;
gap: 16px;
flex-wrap: wrap;
}
.gb-line-kicker {
margin: 0;
color: var(--muted-dark);
font: 700 12px/1.4 var(--mono);
letter-spacing: .06em;
text-transform: uppercase;
}
.gb-line-frame {
flex: 1;
min-height: 0;
width: 100%;
max-width: none;
margin: 0;
display: flex;
align-items: center;
justify-content: center;
background: #0b0c08;
border: 1px solid var(--line-dark-2);
overflow: hidden;
}
.gb-line-frame img {
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
object-fit: contain;
display: block;
}

.gb-panel-bar {
flex-shrink: 0;
min-height: 48px;
padding: 12px 20px;
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 10px 14px;
border-top: 1px solid var(--line-light);
background: #2A2622;
color: #c8c7bc;
font: 700 11px/1.2 var(--mono);
letter-spacing: 0.12em;
}

.gb-panel-bar i {
color: var(--yellow);
font-style: normal;
font-size: 16px;
}

.gb-panel-bar strong {
color: var(--yellow);
font: 500 15px var(--display);
letter-spacing: 0.02em;
font-variation-settings: "opsz" 48;
}

.gb-panel-bar.is-gold {
background: rgba(125, 202, 165, 0.12);
border-top-color: rgba(125, 202, 165, 0.35);
color: #e7e3d8;
}

.gb-panel-bar.is-gold p {
margin: 0;
font: 13px/1.4 var(--sans);
letter-spacing: 0;
color: #e7e3d8;
max-width: none;
}

/* legacy aliases */
.value-loop,
.gb-valor-loop {
display: grid;
grid-template-columns: repeat(4, 1fr);
}

/* ---------- SYSTEMS ---------- */
.systems-slide { justify-content: center; gap: 12px; }
.systems-head h2 { margin-top: 6px; }
.feature-project,
.compact-feature {
width: 100%; max-width: var(--max); margin: 0 auto;
flex: 1 1 auto; min-height: 0;
display: grid;
grid-template-columns: 52px minmax(0, 1fr) minmax(240px, .95fr);
gap: clamp(16px, 3vw, 36px);
align-items: center;
padding: 16px 0;
border-top: 1px solid var(--line-dark);
border-bottom: 1px solid var(--line-dark);
}
.project-number {
align-self: stretch;
display: flex; flex-direction: column; justify-content: space-between;
}
.project-number strong { color: #55554e; font: 760 28px var(--display); }
.project-number span {
display: flex; align-items: center; gap: 6px;
color: var(--yellow); font: 8px var(--mono); letter-spacing: .1em;
writing-mode: vertical-rl;
}
.project-number i {
width: 5px; height: 5px; border-radius: 50%; background: var(--yellow);
}
.project-copy h3 {
margin: 10px 0 12px;
font: 760 clamp(26px, 3.2vw, 44px)/.95 var(--display);
letter-spacing: -.04em;
}
.project-copy > p:not(.eyebrow) {
margin: 0; color: #aaa99f; font-size: 13px; line-height: 1.45; max-width: 48ch;
}
.project-actions {
margin-top: 14px; display: flex; flex-wrap: wrap; gap: 12px 18px;
}
.project-actions a {
font: 800 11px var(--mono); letter-spacing: .08em; text-transform: uppercase;
color: #c8c7bc;
}
.project-actions a:hover { color: var(--yellow); }

.support-ui {
border: 1px solid var(--line-dark); background: var(--black-2);
min-height: 220px; display: flex; flex-direction: column;
}
.ui-bar {
min-height: 38px; padding: 0 12px;
display: flex; align-items: center; justify-content: space-between;
border-bottom: 1px solid var(--line-dark);
color: #7d7c74; font: 800 10px var(--mono); letter-spacing: .1em;
}
.ui-bar b { color: var(--yellow); }
.ui-layout {
flex: 1; display: grid; grid-template-columns: 72px 1fr; min-height: 0;
}
.ui-layout aside {
padding: 12px 10px; border-right: 1px solid var(--line-dark);
display: flex; flex-direction: column; gap: 8px;
}
.ui-layout aside strong {
color: var(--yellow); font: 800 10px var(--mono); letter-spacing: .1em;
}
.ui-layout aside i {
display: block; height: 8px; background: rgba(255,255,255,.08);
}
.ui-layout > div { padding: 16px; }
.ui-layout h4 {
margin: 0 0 8px; color: #FFFEFB; font: 760 22px var(--display);
}
.ui-layout p { margin: 0 0 12px; color: #8a897f; font: 12px var(--mono); }
.ui-layout p b { color: var(--yellow); }
.ui-layout section { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ui-layout section i {
display: block; height: 28px; background: rgba(255,255,255,.05);
border: 1px solid var(--line-dark);
}
.support-ui footer {
min-height: 36px; padding: 0 12px;
display: flex; align-items: center; gap: 8px;
border-top: 1px solid var(--line-dark);
color: #7d7c74; font: 800 10px var(--mono); letter-spacing: .08em;
}
.support-ui footer b { color: var(--yellow); }
.proof-note {
margin: 0 auto; max-width: var(--max); width: 100%;
color: #6e6d66; font: 11px/1.4 var(--mono); letter-spacing: .04em;
}

/* ---------- CASES ---------- */
.gb-case { justify-content: center; gap: 14px; }
.gb-case-layout {
width: 100%; max-width: var(--max); margin: 0 auto;
flex: 1 1 auto; min-height: 0;
display: grid; grid-template-columns: 1fr 1fr;
gap: clamp(18px, 3vw, 40px); align-items: center;
}
.gb-case-badge {
margin: 0 0 10px; display: inline-block;
padding: 6px 10px; border: 1px solid rgba(125,202,165,.4);
color: var(--yellow); font: 800 10px var(--mono); letter-spacing: .1em;
}
.gb-case-copy h2 {
margin: 0 0 12px;
font-size: clamp(26px, 3.2vw, 42px); line-height: .95;
}
.gb-case-copy > p {
margin: 0; color: #aaa99f; font-size: 14px; line-height: 1.45; max-width: 42ch;
}
.gb-case-actions {
margin-top: 18px; display: flex; flex-wrap: wrap; gap: 10px;
}
.gb-case-ui {
border: 1px solid var(--line-dark); background: var(--black-2);
min-height: 240px; display: flex; flex-direction: column;
box-shadow: 0 20px 60px rgba(0,0,0,.35);
}
.gb-case-ui header {
min-height: 42px; padding: 0 14px;
display: flex; align-items: center;
border-bottom: 1px solid var(--line-dark);
color: var(--yellow); font: 800 11px var(--mono); letter-spacing: .12em;
}
.gb-case-ui-row {
flex: 1; padding: 24px 16px;
display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px;
color: #c8c7bc; font: 760 16px var(--display);
}
.gb-case-ui-row b { color: var(--yellow); }
.gb-case-ui-row small {
color: #7d7c74; font: 800 10px var(--mono); letter-spacing: .1em;
}
.gb-case-ui footer {
min-height: 52px; padding: 0 16px;
display: flex; align-items: center; justify-content: space-between; gap: 12px;
border-top: 1px solid var(--line-dark);
background: rgba(125,202,165,.06);
}
.gb-case-ui footer small {
color: #7d7c74; font: 800 10px var(--mono); letter-spacing: .1em;
}
.gb-case-ui footer strong {
color: var(--yellow); font: 760 28px var(--display);
}
.gb-case-ui.finder footer {
justify-content: flex-start; gap: 14px;
}
.gb-case-ui.finder footer i {
width: 40px; height: 40px; display: grid; place-items: center;
background: var(--yellow); color: var(--black);
font: 900 12px var(--display); font-style: normal;
}
.gb-case-ui.finder footer > b:last-child {
margin-left: auto; color: var(--yellow);
font: 760 22px var(--display);
}

/* ---------- OUTREACH ---------- */
.outreach-slide { justify-content: center; }
.outreach-layout,
.compact-outreach {
width: 100%; max-width: var(--max); margin: 0 auto;
flex: 1 1 auto; min-height: 0;
display: grid; grid-template-columns: 1fr 1fr;
gap: clamp(18px, 3vw, 40px); align-items: center;
}
.outreach-copy h2 {
margin: 8px 0 12px;
font-size: clamp(28px, 3.4vw, 44px); line-height: .94;
}
.outreach-copy > p {
margin: 0; color: #aaa99f; font-size: 14px; line-height: 1.45;
}
.outreach-console {
border: 1px solid var(--line-dark); background: var(--black-2); min-height: 240px;
display: flex; flex-direction: column;
}
.outreach-console header {
min-height: 42px; padding: 0 14px;
display: flex; align-items: center; justify-content: space-between;
border-bottom: 1px solid var(--line-dark);
color: #c8c7bc; font: 800 11px var(--mono); letter-spacing: .1em;
}
.outreach-console header b { color: var(--yellow); }
.outreach-console .flow {
flex: 1; padding: 28px 16px;
display: flex; align-items: center; justify-content: center; gap: 12px;
color: #FFFEFB; font: 760 18px var(--display);
}
.outreach-console .flow i { color: var(--yellow); font-style: normal; }
.console-metrics {
display: grid; grid-template-columns: 1fr 1fr;
border-top: 1px solid var(--line-dark);
}
.console-metrics > div {
padding: 14px; border-right: 1px solid var(--line-dark);
}
.console-metrics > div:last-child { border-right: 0; }
.console-metrics small {
display: block; color: #7d7c74; font: 800 10px var(--mono); letter-spacing: .1em;
}
.console-metrics strong {
display: block; margin-top: 6px; color: var(--yellow);
font: 760 18px var(--display);
}

/* ---------- ROUTE ---------- */
.gb-route { justify-content: center; gap: 10px; }
.gb-route-body {
width: 100%; max-width: var(--max); margin: 0 auto;
flex: 1 1 auto; min-height: 0;
display: grid; grid-template-columns: 1.15fr .85fr; gap: 12px;
}
.gb-route-map {
position: relative;
border: 1px solid var(--line-dark-2); background: var(--black-2); overflow: hidden;
border-radius: var(--r-lg);
min-height: 340px;
}
.gb-route-svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.gb-hub-ring {
fill: none;
stroke: rgba(244, 243, 238, 0.12);
stroke-width: 0.35;
}
.gb-hub-ring-2 { stroke: rgba(244, 243, 238, 0.06); }
.gb-spoke {
fill: none !important;
stroke: rgba(244, 243, 238, 0.28);
stroke-width: 0.45;
}
.gb-spoke.is-origin {
stroke: var(--mark);
stroke-width: 0.7;
stroke-dasharray: 1.6 1.1;
}
.gb-route-caption {
position: absolute; left: 12px; bottom: 10px; margin: 0;
color: #7d7c74; font: 700 10px var(--mono); letter-spacing: .08em;
text-transform: uppercase;
}
.gb-pin {
position: absolute; left: var(--x); top: var(--y);
transform: translate(-50%, -50%);
display: flex; flex-direction: column; align-items: center; gap: 6px;
color: #c8c7bc; z-index: 2;
background: none; border: 0; cursor: pointer;
}
.gb-pin.pin-n { flex-direction: column-reverse; }
.gb-pin.pin-e { flex-direction: row; gap: 8px; }
.gb-pin.pin-w { flex-direction: row-reverse; gap: 8px; }
.gb-pin i {
width: 11px; height: 11px; border-radius: 50%;
border: 1px solid var(--accent);
background: var(--black-2);
display: block; flex-shrink: 0;
}
.gb-pin span {
padding: 4px 8px; background: var(--black-2);
border: 1px solid var(--line-dark-2);
font: 700 10px var(--mono); letter-spacing: .06em; white-space: nowrap;
}
.gb-pin b {
padding: 2px 6px; background: var(--mark); color: #2A2622;
font: 700 8px var(--mono); letter-spacing: .08em;
}
.gb-pin.active i {
background: var(--accent);
box-shadow: 0 0 0 6px rgba(244,243,238,.12);
}
.gb-pin.is-core.active i {
background: var(--mark);
box-shadow: 0 0 0 6px rgba(125,202,165,.18);
}
.gb-city-nav { flex-wrap: wrap;
}
.gb-city-nav button {
min-width: 0; flex: 1; padding: 0 6px; letter-spacing: .04em;
}
.gb-city-nav button.active {
background: var(--yellow); color: var(--black); border-color: var(--yellow);
}
.gb-route-legend {
position: absolute; right: 10px; top: 10px;
left: auto; bottom: auto;
display: flex; gap: 6px;
}
.gb-route-legend span {
padding: 3px 6px; border: 1px solid var(--line-dark);
color: #7d7c74; font: 800 9px var(--mono);
}
@keyframes route-dash {
to { stroke-dashoffset: -20; }
}

.gb-city-panel {
border: 1px solid var(--line-dark); background: var(--black-2);
display: flex; flex-direction: column; min-height: 0;
}
.gb-city-panel > header {
min-height: 40px; padding: 0 12px;
display: flex; align-items: center; justify-content: space-between;
border-bottom: 1px solid var(--line-dark);
color: #7d7c74; font: 800 10px var(--mono); letter-spacing: .1em;
}
.gb-city-panel > header b { color: var(--yellow); }
.gb-city-body { flex: 1; padding: 14px 14px 10px; overflow: auto; }
.gb-city-body .eyebrow { color: var(--yellow); margin-bottom: 6px; }
.gb-city-body h3 {
margin: 0 0 8px; font: 760 22px/1.1 var(--display); color: #FFFEFB;
}
.gb-city-body > p {
margin: 0 0 12px; color: #a8a79d; font-size: 13px; line-height: 1.45;
}
.gb-city-tags {
list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px;
}
.gb-city-tags li {
padding: 4px 8px; border: 1px solid var(--line-dark);
color: #9a9991; font: 800 10px var(--mono); letter-spacing: .06em;
}
.gb-city-nav {
display: flex; gap: 4px; padding: 10px 12px;
border-top: 1px solid var(--line-dark);
}
.gb-city-nav button {
width: 28px; height: 28px;
border: 1px solid var(--line-dark); color: #8a897f;
font: 800 10px var(--mono);
}

.gb-route-strip {
width: 100%; max-width: var(--max); margin: 0 auto;
display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px;
flex-shrink: 0;
}
.gb-strip-item {
min-height: 36px; padding: 4px 6px;
border: 1px solid var(--line-dark); background: var(--black-2);
display: flex; flex-direction: column; justify-content: center; gap: 2px;
text-align: left; color: #8a897f;
}
.gb-strip-item b { color: var(--yellow); font: 800 9px var(--mono); }
.gb-strip-item span { font: 760 11px var(--display); color: #c8c7bc; }
.gb-strip-item.is-on {
border-color: rgba(125,202,165,.5); background: rgba(125,202,165,.1);
}

/* ---------- METHOD ---------- */
.gb-method { justify-content: center; gap: 12px; }
.gb-method-grid,
[data-method-steps] {
width: 100%; max-width: var(--max); margin: 0 auto;
display: grid; grid-template-columns: repeat(4, 1fr);
border: 1px solid var(--line-dark); flex: 0 0 auto;
}
.gb-step {
min-height: 140px; padding: 14px 12px;
display: flex; flex-direction: column; gap: 6px;
border-right: 1px solid var(--line-dark); background: var(--black-2);
}
.gb-step:last-child { border-right: 0; }
.gb-step.is-final { background: var(--yellow); }
.gb-step-num {
color: var(--yellow); font: 800 12px var(--mono); letter-spacing: .08em;
}
.gb-step.is-final .gb-step-num { color: #3a3200; }
.gb-step h3 {
margin: 4px 0 0;
font: 760 clamp(16px, 1.5vw, 22px)/1.1 var(--display); color: #FFFEFB;
}
.gb-step.is-final h3 { color: var(--black); }
.gb-step p {
margin: 0; flex: 1; color: #8A8178; font-size: 12px; line-height: 1.35;
}
.gb-step.is-final p { color: #3a3200; }
.gb-step b {
font: 800 11px var(--mono); letter-spacing: .08em; color: var(--yellow);
}
.gb-step.is-final b { color: var(--black); }

.gb-method-formula {
width: 100%; max-width: var(--max); margin: 0 auto;
display: grid; grid-template-columns: 1fr auto 1fr auto 1.25fr;
gap: 8px; align-items: stretch; flex-shrink: 0;
}
.gb-formula-card {
min-height: 78px; padding: 10px 12px;
border: 1px solid var(--line-dark); background: var(--black-2);
display: flex; flex-direction: column; gap: 2px;
}
.gb-formula-card.result {
background: rgba(125,202,165,.1); border-color: rgba(125,202,165,.35);
}
.gb-formula-card small {
color: #7d7c74; font: 800 9px var(--mono); letter-spacing: .1em;
}
.gb-formula-card strong {
color: var(--yellow); font: 760 22px/1 var(--display);
}
.gb-formula-card b {
color: #FFFEFB; font: 760 13px/1.2 var(--display);
}
.gb-formula-card span {
color: #8a897f; font: 11px/1.3 var(--sans);
}
.gb-formula-op {
display: grid; place-items: center;
color: var(--yellow); font: 760 20px var(--display);
}

/* ---------- CAREER (slide 08) ---------- */
.gb-dual {
flex: 1 1 auto;
min-height: 260px;
display: grid;
grid-template-columns: 1fr 44px 1fr;
gap: 0;
align-items: stretch;
}

.gb-dual-x {
display: grid;
place-items: center;
color: var(--yellow);
font: 760 28px/1 var(--display);
background: rgba(125, 202, 165, 0.06);
border-left: 1px solid var(--line-dark);
border-right: 1px solid var(--line-dark);
}

.gb-engine {
min-height: 0;
display: flex;
flex-direction: column;
background: var(--black-2);
border: 0;
}

.gb-engine.track-a {
border-right: 0;
}

.gb-engine > header {
flex-shrink: 0;
min-height: 48px;
padding: 10px 14px;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 6px 10px;
border-bottom: 1px solid var(--line-dark);
background: rgba(255, 255, 255, 0.02);
}

.gb-engine > header span {
color: var(--yellow);
font: 800 11px var(--mono);
letter-spacing: 0.14em;
}

.gb-engine.track-b > header span {
color: #FFFEFB;
}

.gb-engine > header strong {
color: #a8a79d;
font: 800 10px var(--mono);
letter-spacing: 0.06em;
}

.gb-engine-list {
list-style: none;
margin: 0;
padding: 0;
flex: 1 1 auto;
min-height: 0;
overflow: auto;
display: flex;
flex-direction: column;
}

.gb-engine-list li {
flex: 1 1 0;
min-height: 56px;
padding: 12px 14px;
display: grid;
grid-template-columns: 88px 1fr;
gap: 8px 12px;
align-items: center;
border-bottom: 1px solid var(--line-dark);
}

.gb-engine-list li:last-child {
border-bottom: 0;
}

.gb-engine-list em {
color: #7d7c74;
font: 800 10px/1.3 var(--mono);
font-style: normal;
letter-spacing: 0.04em;
}

.gb-engine-list li > div {
display: flex;
flex-direction: column;
gap: 2px;
min-width: 0;
}

.gb-engine-list b {
color: #FFFEFB;
font: 760 15px/1.15 var(--display);
letter-spacing: -0.02em;
}

.gb-engine-list span {
color: #c8c7bc;
font-size: 13px;
line-height: 1.25;
}

.gb-engine-list i {
color: #8a897f;
font: 11px/1.3 var(--sans);
font-style: normal;
}

.gb-engine-list li.is-live {
background: rgba(125, 202, 165, 0.1);
}

.gb-engine-list li.is-live b {
color: var(--yellow);
}

/* legacy */
.gb-career-engines {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px;
}
.gb-career-foot {
padding: 10px 12px;
border: 1px solid rgba(125, 202, 165, 0.3);
background: rgba(125, 202, 165, 0.08);
color: #e7e3d8;
font-size: 13px;
line-height: 1.4;
}

/* ---------- EXPERIENCE (slide 09) — timeline densa centrada ---------- */
.gb-exp-slide,
#experiencia {
justify-content: center !important;
align-items: center !important;
}

.gb-roles {
flex: 1 1 auto;
min-height: 280px;
display: flex;
flex-direction: column;
margin: 0;
overflow: hidden;
}

.gb-role {
flex: 1 1 0;
min-height: 0;
width: 100%;
margin: 0;
padding: 10px 16px;
display: grid;
grid-template-columns: 118px minmax(0, 1fr) auto auto;
gap: 8px 22px;
align-items: center;
text-align: left;
border: 0;
border-bottom: 1px solid var(--line-dark);
background: transparent;
color: inherit;
cursor: pointer;
transition: background 0.15s;
}

.gb-role:last-child {
border-bottom: 0;
}

.gb-role:hover,
.gb-role:focus-visible {
background: rgba(125, 202, 165, 0.1);
}

.gb-role.is-featured {
background: rgba(125, 202, 165, 0.07);
}

.gb-role.is-featured:hover,
.gb-role.is-live:hover {
background: rgba(125, 202, 165, 0.14);
}

.gb-role-year {
color: #7d7c74;
font: 800 11px/1.2 var(--mono);
letter-spacing: 0.04em;
white-space: nowrap;
padding-right: 8px;
border-right: 1px solid rgba(255,255,255,.1);
align-self: stretch;
display: flex;
align-items: center;
}

.gb-role-main {
display: flex;
flex-direction: column;
gap: 5px;
min-width: 0;
padding-left: 4px;
}

.gb-role-co {
color: var(--yellow);
font: 800 11px/1.2 var(--mono);
letter-spacing: 0.08em;
}

.gb-role-title {
color: #FFFEFB;
font: 760 clamp(15px, 1.4vw, 20px)/1.15 var(--display);
letter-spacing: -0.02em;
font-weight: 760;
}

.gb-role-sum {
color: #9a9991;
font: 12px/1.35 var(--sans);
font-style: normal;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}

.gb-role-tag {
justify-self: end;
padding: 4px 8px;
border: 1px solid var(--line-dark);
color: #9a9991;
font: 800 9px/1 var(--mono);
letter-spacing: 0.1em;
}

.gb-role.is-live .gb-role-tag,
.gb-role.is-featured .gb-role-tag {
background: var(--yellow);
color: var(--black);
border-color: var(--yellow);
}

.gb-role-go {
color: var(--yellow);
font: 800 10px/1 var(--mono);
letter-spacing: 0.1em;
opacity: 0.85;
}

.gb-role:hover .gb-role-go {
opacity: 1;
}

/* legacy class hooks (por si queda markup viejo) */
.gb-exp { justify-content: center; }
.gb-exp-grid { display: none; }

/* ---------- CAPS ---------- */
.gb-caps { justify-content: center; gap: 10px; }
.gb-caps-grid,
[data-caps-board] {
width: 100%; max-width: var(--max); margin: 0 auto;
display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px;
flex: 0 0 auto;
}
.gb-cap {
min-height: 148px; padding: 12px;
border: 1px solid var(--line-dark); background: var(--black-2);
display: flex; flex-direction: column; gap: 8px;
}
.gb-cap.is-human {
border-color: rgba(125,202,165,.4); background: rgba(125,202,165,.1);
}
.gb-cap header {
display: flex; align-items: center; gap: 8px;
}
.gb-cap header span { color: var(--yellow); font: 800 11px var(--mono); }
.gb-cap header b {
color: #9a9991; font: 700 10px var(--mono); letter-spacing: .08em;
}
.gb-cap header strong {
margin-left: auto; color: var(--yellow); font: 760 20px var(--display);
}
.gb-cap h3 {
margin: 0; color: #FFFEFB; font: 760 16px/1.1 var(--display);
}
.gb-cap p {
margin: 0; flex: 1; color: #8A8178; font-size: 12px; line-height: 1.35;
}
.gb-cap-bar {
height: 4px; background: rgba(255,255,255,.1); overflow: hidden;
}
.gb-cap-bar i {
display: block; height: 100%; background: var(--yellow);
transition: width .8s cubic-bezier(.2,.8,.2,1);
}
.gb-academy {
width: 100%; max-width: var(--max); margin: 0 auto;
flex-shrink: 0;
display: grid; grid-template-columns: 72px 1fr;
border: 1px solid rgba(125,202,165,.35); background: rgba(125,202,165,.08);
}
.gb-academy > span {
display: grid; place-items: center;
border-right: 1px solid rgba(125,202,165,.25);
color: var(--yellow); font: 800 11px var(--mono);
}
.gb-academy > div { padding: 10px 14px; }
.gb-academy h3 {
margin: 2px 0 4px; color: #FFFEFB; font: 760 14px/1.2 var(--display);
}
.gb-academy p { margin: 0; color: #c8c7bc; font-size: 12px; line-height: 1.35; }

/* ---------- EDUCATION ---------- */
.education-slide { justify-content: center; }
.education-layout,
.compact-edu {
width: 100%; max-width: var(--max); margin: 0 auto;
flex: 1 1 auto; min-height: 0;
display: grid; grid-template-columns: .95fr 1.05fr;
border: 1px solid var(--line-light); background: rgba(255,255,255,.25);
}
.builder-note,
.education-list { padding: 20px; min-height: 0; }
.builder-note { border-right: 1px solid var(--line-light); }
.builder-note > span {
color: #77766e; font: 800 10px var(--mono); letter-spacing: .12em;
}
.builder-note > strong {
display: block; margin-top: 10px; color: #3a3200;
font: 800 12px var(--mono); letter-spacing: .08em;
}
.builder-note h2 {
margin: 12px 0 10px;
font: 760 clamp(22px, 2.6vw, 32px)/1 var(--display);
}
.builder-note p {
margin: 0 0 14px; color: var(--muted-light); font-size: 13px; line-height: 1.45;
}
.builder-note ul {
list-style: none; margin: 0; padding: 0; display: grid; gap: 6px;
}
.builder-note li {
color: #505049; font: 800 12px var(--mono); letter-spacing: .04em;
}
.education-list .eyebrow { margin-bottom: 10px; }
.education-list ul {
list-style: none; margin: 0 0 16px; padding: 0;
}
.education-list li {
min-height: 38px; display: flex; align-items: center; gap: 12px;
border-bottom: 1px solid var(--line-light);
font-size: 13px; color: var(--ink);
}
.education-list li b {
min-width: 48px; color: #77766e; font: 800 12px var(--mono);
}
.languages {
display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px;
}
.languages > span {
min-height: 48px; padding: 8px;
border: 1px solid var(--line-light);
display: flex; flex-direction: column; justify-content: center; gap: 2px;
font: 12px var(--sans); color: #686861;
}
.languages b {
color: var(--ink); font: 760 16px var(--display);
}

/* ---------- CONTACT ---------- */
.gb-contact {
justify-content: center;
align-items: flex-start;
max-width: var(--max);
margin: 0 auto;
width: 100%;
gap: 12px;
}
.gb-contact-kicker {
margin: 0; color: var(--yellow);
font: 800 11px var(--mono); letter-spacing: .16em;
}
.gb-contact h2 {
margin: 0;
font: 780 clamp(56px, 11vw, 120px)/.85 var(--display);
letter-spacing: -.05em; 
}
.gb-contact-sub {
margin: 0 0 8px; color: #a8a79d; font-size: 15px;
}
.gb-contact-actions,
.gb-contact-docs {
display: flex; flex-wrap: wrap; gap: 8px;
}
.gb-contact-meta {
margin: 8px 0 0; color: #7d7c74; font: 11px var(--mono);
}
.gb-contact-meta a { color: #c8c7bc; }
.gb-contact-meta a:hover { color: var(--yellow); }

/* ---------- CONTROLS ---------- */
.deck-hint { z-index: 220;     
.deck-hint { z-index: 220; left: calc(var(--rail-w) + 24px); bottom: 20px;   
}
.deck-hint kbd {
margin-right: 3px; padding: 2px 5px; 
 
}

/* ---------- LANG GATE ---------- */

/* ---------- DIALOGS ---------- */
dialog {
width: min(900px, calc(100vw - 32px));
max-height: calc(100svh - 32px);
padding: 0; 
border: 1px solid rgba(255,255,255,.2);
 color: var(--ink);
box-shadow: 0 50px 150px rgba(0,0,0,.7);
}
dialog::backdrop {
background: rgba(0,0,0,.74); backdrop-filter: blur(10px);
}
dialog > form {
position: sticky; z-index: 5; top: 0; height: 0;
 justify-content: flex-end;
}
.dialog-close {
border-left: 1px solid var(--line-light);

background: var(--paper); font: 300 24px var(--display);
}
.dialog-close:hover { background: var(--yellow); }

.recruiter-dialog { padding: clamp(28px, 4vw, 56px); }
.recruiter-dialog h2 {
margin: 28px 0 16px;
font: 760 clamp(36px, 5vw, 64px)/.92 var(--display);
}
.recruiter-dialog h2 em { color: #a6a298; font-style: normal; }
.recruiter-lead {
margin: 0 0 20px;   line-height: 1.5;
}
.recruiter-grid {
display: grid; grid-template-columns: repeat(3, 1fr); 
}
.recruiter-grid article {
padding: 14px;  
}
.recruiter-grid span {
color: #77766e;  
}
.recruiter-grid h3 {
margin: 10px 0 6px; font: 760 18px var(--display);
}
.recruiter-grid p {
margin: 0; color: #686861; font-size: 12px; line-height: 1.4;
}
.recruiter-metrics {
margin-top: 16px;  grid-template-columns: repeat(4, 1fr);

}
.recruiter-metrics > div {
padding: 12px; border-right: 1px solid var(--line-light);
}
.recruiter-metrics > div:last-child { border-right: 0; }
.recruiter-metrics strong {
display: block; 
}
.recruiter-metrics span {
color: #77766e; font: 800 10px var(--mono);
}
.recruiter-dialog > footer {
margin-top: 20px;   
}

.experience-dialog { padding: clamp(28px, 4vw, 52px); }
.experience-dialog > header {
padding-right: 48px;  
  letter-spacing: .1em;
}
.experience-dialog > header b { color: #746200; }
.experience-dialog h2 {
margin: 28px 0 8px;
font: 760 clamp(32px, 4.5vw, 56px)/.94 var(--display);
}
.role-dialog-meta {
margin: 0;  font: 10px var(--mono);
letter-spacing: .08em; 
}
.role-dialog-copy {
margin-top: 22px;  
}
.role-dialog-copy p {
margin: 0; color: #505049; font-size: 14px; line-height: 1.65;
}
.experience-dialog > ul {
margin: 24px 0 0; padding: 16px 0 0;
 flex-wrap: wrap; gap: 6px;
border-top: 1px solid var(--line-light); list-style: none;
}
.experience-dialog > ul li {
padding: 6px 8px; border: 1px solid var(--line-light);
color: #66665f;  
}

.command-dialog {
width: min(700px, calc(100vw - 28px));
background: var(--black-2); 
}
.command-dialog > form .dialog-close {
background: var(--black-2);  border-color: var(--line-dark);
}
.command-dialog > header {
min-height: 60px; padding: 0 56px 0 18px;
 grid-template-columns: auto 1fr auto;  gap: 12px;

}
.command-dialog > header > span { color: var(--yellow); font-size: 18px; }
.command-dialog input {
width: 100%; border: 0; outline: 0; background: none;
color: var(--white); font-size: 16px;
}
.command-dialog input::placeholder { color: #77766e; }
.command-dialog kbd {
padding: 3px 6px; border: 1px solid var(--line-dark);
color: #77766e; 
}
.command-dialog > div {
padding: 16px 18px 10px;
display: flex;  justify-content: space-between;
}
.command-dialog h2 { margin: 0; font: 760 22px var(--display); }
.command-dialog > div > span {
color: #77766e; font: 9px var(--mono);
}
.command-dialog nav {
max-height: 50vh; padding: 4px 10px 14px; overflow: auto;
}
.command-dialog nav button {
width: 100%; min-height: 46px; padding: 0 10px;
display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 10px;
 color: #aaa99f; text-align: left;
}
.command-dialog nav button:hover,
.command-dialog nav button.active {
background: var(--yellow); color: var(--black);
}
.command-dialog nav button span { font: 760 14px var(--display); }
.command-dialog nav button small,
.command-dialog nav button b { font: 9px var(--mono); }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1180px) {
:root { --rail-w: 0px; }
body.has-os-rail .deck { margin-left: 0;  }
.deck-hint { left: 16px; display: none; }
}

@media (max-width: 980px) {

.main-nav { top: calc(var(--header) + 3px); left: 0; right: 0;
  padding: 16px 20px;
  background: rgba(8,9,9,.98);
}
.main-nav.open { display: flex; }
.main-nav button,
.main-nav .header-cta {
  min-height: 44px; width: 100%; justify-content: flex-start;
   padding: 12px 0;
}
.brand { overflow: hidden; }
.brand-text, .brand-lockup { display: flex; }

.gb-hero-grid,
.gb-case-layout,
.outreach-layout,
.gb-route-body,
.gb-career-engines,
.education-layout,
.feature-project,
.compact-feature {
  grid-template-columns: 1fr;
}
.project-number { display: none; }
.gb-role {
  grid-template-columns: 96px minmax(0, 1fr) auto;
  padding: 0 12px;
}
.gb-role-go { display: none; }
.recruiter-grid { grid-template-columns: 1fr; }
.recruiter-metrics { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 980px) {
.gb-dual {
  grid-template-columns: 1fr;
}
.gb-dual-x {
  min-height: 36px;
  border-left: 0;
  border-right: 0;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}
}

@media (max-width: 900px) {
.systems-head,
.compact-head,
.gb-method-top,
.gb-route-top,
.gb-caps-top {
  grid-template-columns: 1fr;
}
.gb-loop,
[data-valor-loop],
.gb-method-grid,
[data-method-steps],
.gb-caps-grid,
[data-caps-board] {
  grid-template-columns: 1fr 1fr !important;
}
.gb-loop-card:nth-child(2n),
.gb-step:nth-child(2n) { border-right: 0 !important; }
.gb-loop-card:nth-child(-n+2),
.gb-step:nth-child(-n+2) {
  border-bottom: 1px solid var(--line-light) !important;
}
.gb-method-grid .gb-step:nth-child(-n+2) {
  border-bottom-color: var(--line-dark) !important;
}
.gb-method-formula { grid-template-columns: 1fr; }
.gb-formula-op { display: none; }
.gb-metrics { grid-template-columns: 1fr 1fr; }
.gb-metrics > div:nth-child(2) { border-right: 0; }
.gb-metrics > div:nth-child(-n+2) { border-bottom: 1px solid var(--line-dark); }
.languages { grid-template-columns: 1fr 1fr; }
.gb-route-strip { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 640px) {
.gb-loop,
[data-valor-loop],
.gb-method-grid,
.gb-caps-grid {
  grid-template-columns: 1fr !important;
}
.gb-role {
  grid-template-columns: 1fr;
  gap: 4px 0;
  padding: 12px;
  align-items: start;
}
.gb-role-tag { justify-self: start; }
.gb-role-sum { white-space: normal; }
.gb-loop-card,
.gb-step {
  border-right: 0 !important;
  
  min-height: 140px !important;
}
.gb-step { border-bottom-color: var(--line-dark) !important; }
.gb-loop-card:last-child,
.gb-step:last-child { border-bottom: 0 !important; }
.gb-hero-copy h1 { font-size: clamp(36px, 11vw, 52px); }
.gb-contact h2 { font-size: clamp(48px, 16vw, 72px); }
.deck-controls { bottom: 12px; }
.gb-panel-head h2 { max-width: none; font-size: clamp(26px, 8vw, 36px); }
}

@media (max-height: 780px) and (min-width: 981px) {
.slide { padding-top: calc(var(--header) + 10px); padding-bottom: 40px; gap: 8px; }
.gb-loop-card { min-height: 150px !important; padding: 12px !important; }
.gb-engine-list li { min-height: 48px; padding: 8px 12px; }
.gb-step { min-height: 110px; padding: 10px; }
.gb-cap { min-height: 120px; }
.gb-formula-card { min-height: 60px; }
.gb-metrics > div { min-height: 46px; }
.gb-card { min-height: 220px; }
.gb-route-strip { display: none; }
}

@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
}
}


/* ============================================================
 NEXT7 — Portada + 01 (título ABAJO) + 08 + 09
 Alturas forzadas: sin huecos vacíos en el centro
 ============================================================ */

/* --- 00 HERO stack denso --- */
.gb-hero,
#inicio.slide {
justify-content: center !important;


}

.gb-hero-stack {
max-height: calc(100svh - var(--header) - 48px);
}

.gb-hero .gb-hero-grid {
width: 100%;

}

.gb-hero-copy {
min-height: 0;
}

.gb-hero .gb-card {
min-height: 100% !important;
height: 100%;
}

.gb-hero .gb-metrics {
flex-shrink: 0 !important;


border: 1px solid var(--line-dark) !important;
}

/* --- 01 VALOR: cards arriba, título ABAJO --- */
.gb-valor-slide,
#valor.slide {
justify-content: center !important;
align-items: center !important;
}

.gb-valor-panel {
width: min(100%, var(--max)) !important;




gap: 0 !important;
}

.gb-valor-index {
flex-shrink: 0;
padding: 12px 18px 8px !important;
margin: 0 !important;

}

.gb-valor-panel .gb-loop,
.gb-valor-panel [data-valor-loop] {
flex: 1 1 auto !important;



grid-template-columns: repeat(4, 1fr) !important;
border-bottom: 1px solid var(--line-light);
}

.gb-valor-panel .gb-loop-card,
.gb-valor-panel [data-valor-loop] article {
min-height: 0 !important;

padding: clamp(14px, 2vh, 22px) 16px !important;
}

.gb-valor-bottom {
flex-shrink: 0;
padding: clamp(18px, 3vh, 32px) clamp(18px, 2.5vw, 28px);
border-top: 0;
background: #FFFEFB;
}

.gb-valor-bottom h2 {
margin: 0 0 10px !important;
font-size: clamp(28px, 4vw, 52px) !important;
line-height: 0.94 !important;
max-width: 20ch;
}

.gb-valor-bottom h2 em {
color: var(--ink) !important;
opacity: 0.28 !important;
font-style: normal !important;
}

.gb-valor-bottom .gb-panel-lead {
margin: 0 !important;
max-width: 56ch;
font-size: 14px !important;
line-height: 1.45 !important;
color: var(--muted-light) !important;
}



.gb-career-panel,
.gb-exp-panel {
width: min(100%, var(--max)) !important;
height: calc(100svh - var(--header) - 56px) !important;
max-height: calc(100svh - var(--header) - 56px) !important;


}

.gb-panel-head-compact {
flex-shrink: 0 !important;
padding: 12px 16px 10px !important;
gap: 4px !important;
}

.gb-panel-head-compact h2 {
font-size: clamp(24px, 3vw, 36px) !important;
max-width: none !important;
line-height: 0.95 !important;
}

.gb-panel-head-compact .gb-panel-lead {
font-size: 13px !important;
max-width: 70ch;
}

.gb-career-panel .gb-dual {
flex: 1 1 auto !important;


display: grid !important;
grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr) !important;
}

.gb-career-panel .gb-engine {
min-height: 0 !important;
height: 100% !important;
}

.gb-career-panel .gb-engine-list {
flex: 1 1 auto !important;




}

.gb-career-panel .gb-engine-list li {
flex: 1 1 0 !important;

padding: 10px 14px !important;
}

.gb-career-panel .gb-dual-x {
font-size: 32px !important;
background: rgba(125, 202, 165, 0.08) !important;
}

.gb-exp-panel .gb-roles {
flex: 1 1 auto !important;

display: flex !important;

overflow: hidden !important;
}

.gb-exp-panel .gb-role {
flex: 1 1 0 !important;

padding: 0 16px !important;
}

.gb-exp-panel .gb-role-title {
font-size: clamp(14px, 1.35vw, 18px) !important;
}



@media (max-width: 980px) {
.gb-hero .gb-hero-grid {
  min-height: 0;
}
.gb-hero .gb-card {
  min-height: 200px !important;
}
.gb-career-panel .gb-dual {
  grid-template-columns: 1fr !important;
}
.gb-valor-panel .gb-loop,
.gb-valor-panel [data-valor-loop] {
  grid-template-columns: 1fr 1fr !important;
}
}

@media (max-width: 640px) {
.gb-valor-panel .gb-loop,
.gb-valor-panel [data-valor-loop] {
  grid-template-columns: 1fr !important;
}
.gb-valor-bottom h2 {
  font-size: clamp(24px, 7vw, 34px) !important;
  max-width: none;
}
.gb-hero-stack {
  max-height: none;
}
}

@media (max-height: 760px) and (min-width: 981px) {
.gb-hero-copy h1 {
  font-size: clamp(36px, 5vw, 56px) !important;
}
.gb-valor-bottom {
  padding: 12px 16px !important;
}
.gb-valor-bottom h2 {
  font-size: clamp(22px, 2.8vw, 34px) !important;
}
.gb-panel-head-compact {
  padding: 8px 12px !important;
}
}


/* ============================================================
 ULTRA FINAL — MOBILE / WIDTH FIX
 El deck 100svh + overflow hidden se rompe en móvil.
 Aquí: scroll natural, sin desborde horizontal, grids a 1 col.
 ============================================================ */

html, body {
max-width: 100%;
overflow-x: hidden;
}

.deck,
.slide,
.site-header,
.gb-panel,
.gb-hero-stack,
.gb-case-layout,
.feature-project {
max-width: 100%;
}

img, svg, video, canvas {
max-width: 100%;
height: auto;
}

/* Evitar que textos fijos empujen el ancho */
.gb-role-sum,
.gb-case-copy > p,
.gb-method-lead,
.gb-exp-lead,
.gb-career-lead,
.gb-caps-lead,
.gb-route-lead,
.project-copy > p {
overflow-wrap: anywhere;

}

@media (max-width: 1100px) {
:root {
  --rail-w: 0px !important;
  --pad: clamp(14px, 4vw, 28px) !important;
  --header: 58px !important;
}
.os-rail { display: none !important; }
body.has-os-rail .deck {
  margin-left: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.has-os-rail .site-header,
body.has-os-rail .top-progress,
body.has-os-rail .deck-controls,
body.has-os-rail .deck-hint {
  left: 0 !important;
}
}

/* —— MÓVIL / TABLET: scroll de documento, no snap rígido —— */
@media (max-width: 900px) {
  margin-left: 0 !important;
  overflow-x: hidden !important;
  scroll-snap-type: none !important;
  scroll-snap-align: none !important;
  scroll-snap-stop: normal !important;
}

.slide::after {
  font-size: clamp(80px, 28vw, 140px) !important;
  opacity: .5;
}

/* Paneles: dejan de forzar alto de viewport */
.gb-panel,
.gb-valor-panel,
.gb-career-panel,
.gb-exp-panel,
.gb-hero-stack {
  width: 100% !important;
  
  padding: 0 12px !important;
  gap: 10px !important; place-items: center; flex-shrink: 0; }


.main-nav {
  position: fixed !important;
  top: calc(var(--header) + 3px) !important;
  flex-direction: column !important;
  align-items: stretch !important;
  background: rgba(8,9,9,.98) !important;
  z-index: 350 !important;
  overflow-y: auto !important;
  line-height: .9 !important; }
.gb-metrics > div:nth-child(-n+2) { border-bottom: 1px solid var(--line-dark) !important; }

/* Valor: cards apiladas */
.gb-loop,
.gb-valor-panel .gb-loop,
[data-valor-loop],
.gb-method-grid,
[data-method-steps],
.gb-caps-grid,
[data-caps-board] {
  grid-template-columns: 1fr !important;
}
.gb-step { border-bottom-color: var(--line-dark) !important; }
.gb-loop-card:last-child,
.gb-step:last-child,
.gb-cap:last-child { border-bottom: 0 !important;
  border-left: 0 !important;
  border-top: 1px solid var(--line-dark) !important;
  gap: 6px !important; }
.gb-role-sum {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important; }
.gb-role-tag { justify-self: start !important; }

/* Cases */
.gb-case-ui { min-height: 180px !important;
  word-break: break-word;
  justify-content: center !important; }

/* Gate */

/* Controls */
.deck-controls {
  right: 10px !important;
  bottom: 10px !important;
  left: auto !important;
}
.deck-hint { display: none !important; }

/* Dialogs */
dialog {
  width: calc(100vw - 20px) !important;
  max-width: calc(100vw - 20px) !important;
  max-height: calc(100svh - 20px) !important;
}
.recruiter-dialog,
.experience-dialog {
  padding: 20px 16px !important;
}
.recruiter-grid,
.recruiter-metrics {
  grid-template-columns: 1fr !important;
}
.recruiter-metrics > div { border-right: 0 !important; border-bottom: 1px solid var(--line-light) !important;
  font-size: 11px !important;
  min-height: 0 !important;
  height: auto !important;
}
.gb-exp-panel .gb-role {
  flex: none !important;
}
}

/* Móvil estrecho */
@media (max-width: 480px) {
:root {
  --pad: 12px !important;
  --header: 54px !important;
}
.gb-contact h2 {
  font-size: clamp(36px, 13vw, 52px) !important;
}
.gb-metrics > div {
  border-right: 0 !important;
  border-bottom: 1px solid var(--line-dark) !important;
}
.gb-metrics > div:last-child { border-bottom: 0 !important; }
.gb-route-strip { grid-template-columns: 1fr 1fr !important; }
.site-header .header-cta { display: none !important; }
.gb-actions {
  flex-direction: column !important;
  align-items: stretch !important;
}
.gb-actions .button { width: 100% !important; }
}

/* Landscape phone */
@media (max-width: 900px) and (max-height: 480px) {
.slide, .slide.fit {
  min-height: auto !important;
  padding-top: calc(var(--header) + 12px) !important;
  padding-bottom: 40px !important;
}
}


/* ============================================================
 PORTADA + DIAPO 09 — polish definitivo
 ============================================================ */

/* --- Portada --- */
.gb-hero,
#inicio.slide {
justify-content: center !important;
position: relative;
}
.gb-hero::before {
content: "";
position: absolute;
z-index: 0;
right: -10%;
top: 10%;
width: min(52vw, 520px);
height: min(52vw, 520px);
border-radius: 50%;
background: radial-gradient(circle, rgba(125,202,165,.09), transparent 68%);
pointer-events: none;
}

/* —— hero ambient —— */
.gb-hero-ambient {
position: absolute;
inset: 0;
z-index: 0;
overflow: hidden;
pointer-events: none;
}
.gb-hero-orb {
position: absolute;
border-radius: 50%;
filter: blur(90px);
opacity: .4;
animation: drift 24s ease-in-out infinite alternate;
}
.gb-hero-orb-a {
width: min(480px, 60vw);
height: min(480px, 60vw);
top: -15%;
left: -8%;
background: radial-gradient(circle, var(--sage-glow), transparent 68%);
}
.gb-hero-orb-b {
width: min(400px, 50vw);
height: min(400px, 50vw);
bottom: -10%;
right: -5%;
background: radial-gradient(circle, var(--sage-glow), transparent 68%);
animation-delay: -8s;
}
.gb-hero-orb-c {
width: min(320px, 40vw);
height: min(320px, 40vw);
top: 30%;
left: 40%;
background: radial-gradient(circle, color-mix(in srgb, var(--yellow) 30%, var(--sage) 30%, transparent), transparent 70%);
opacity: .2;
animation-delay: -14s;
}
.gb-hero-grain {
position: absolute;
inset: 0;
opacity: .02;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");

}

/* —— hero grid FX —— */
.gb-hero-grid-fx {
position: absolute;
inset: 0;
opacity: .04;
background-image:
  linear-gradient(rgba(244,243,238,.5) 1px, transparent 1px),
  linear-gradient(90deg, rgba(244,243,238,.5) 1px, transparent 1px);
background-size: 60px 60px;
mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 20%, transparent 80%);
-webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 20%, transparent 80%);
animation: grid-pan 30s linear infinite;
}
@keyframes grid-pan {
0% { background-position: 0 0; }
100% { background-position: 60px 60px; }
}

/* —— hero floating tags —— contained, never overlap type or clip viewport —— */
.gb-hero-tags-fx {
position: absolute;
inset: 10px 12px 12px 12px;
pointer-events: none;
overflow: hidden;
z-index: 0;
}
.gb-hero-tags-fx span {
position: absolute;
left: clamp(0px, var(--tx), calc(100% - 9.5rem));
top: clamp(0px, var(--ty), calc(100% - 2.4rem));
max-width: 9.2rem;
overflow: hidden;
text-overflow: ellipsis;
padding: 5px 12px;
border: 1px solid rgba(125,202,165,.25);
border-radius: 999px;
background: rgba(125,202,165,.06);
color: rgba(125,202,165,.6);
font: 600 9px var(--mono);
letter-spacing: .08em;
text-transform: uppercase;
white-space: nowrap;
backdrop-filter: blur(8px);
animation: tag-float 6s ease-in-out infinite alternate;
animation-delay: var(--d);
}
@keyframes tag-float {
0% { transform: translateY(0) scale(1); opacity: .4; }
100% { transform: translateY(-12px) scale(1.05); opacity: .7; }
}
.gb-hero-stack {
position: relative;
z-index: 1;
width: min(100%, var(--max));
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 18px;
}
.gb-hero .gb-hero-grid {
flex: 1 1 auto;
min-height: min(48vh, 420px);
display: grid !important;
grid-template-columns: minmax(0, 1.25fr) minmax(280px, .85fr) !important;
gap: clamp(22px, 3.5vw, 48px) !important;
align-items: stretch !important;
}
.gb-hero-copy {
display: flex;
flex-direction: column;
justify-content: center;
gap: 0;
padding-right: 8px;
position: relative;
z-index: 2;
}
.gb-kicker {
margin: 0 0 12px !important;
color: var(--mark) !important;
font: 700 11px/1.45 var(--mono) !important;
letter-spacing: .16em !important;
animation: none;
}
@keyframes kicker-glow {
0% { text-shadow: none; }
100% { text-shadow: none; }
}
.gb-status {
margin: 0 0 16px !important;
padding: 6px 10px;
align-self: flex-start;
border: 1px solid rgba(125, 202, 165, .28);
background: rgba(125, 202, 165, .08);
border-radius: 2px;
}
.gb-hero-copy h1 {
margin: 0 0 16px !important;
font-size: clamp(46px, 6.5vw, 86px) !important;
line-height: .88 !important;
letter-spacing: -.04em !important;
font-family: var(--display) !important;
font-weight: 500 !important;
font-variation-settings: "opsz" 144 !important;
}
.gb-hero-copy h1 em {
color: var(--accent) !important;
font-weight: 400 !important;
background: none;
-webkit-text-fill-color: var(--accent);
animation: none;
}
@keyframes shimmer {
0% { background-position: 0% 50%; }
100% { background-position: 100% 50%; }
}
.gb-lead {
margin: 0 0 22px !important;
max-width: 40ch !important;
font-size: clamp(15px, 1.25vw, 18px) !important;
line-height: 1.55 !important;
color: #b8b7ad !important;
}
.gb-actions {


margin-bottom: 14px;
}
.gb-hero-proof {
margin: 4px 0 0;
color: #7d7c74;
font: 800 10px/1.4 var(--mono);
letter-spacing: .08em;
text-transform: uppercase;
}
.gb-card {
border: 1px solid var(--line-dark-2) !important;
background: linear-gradient(165deg, #242218 0%, var(--black) 100%) !important;
box-shadow: 0 30px 80px rgba(0,0,0,.4), inset 0 1px 0 rgba(244,243,238,.06) !important;
min-height: 100% !important;
position: relative;
overflow: hidden;
border-radius: var(--r-lg) !important;
backdrop-filter: blur(12px);
}
.gb-card::before {
content: "";
position: absolute;
left: 0; top: 0; bottom: 0;
width: 4px;
background: linear-gradient(to bottom, var(--mark), transparent);
z-index: 2;
}
.gb-card::after {
content: "";
position: absolute;
top: -20%; right: -15%;
width: 50%; height: 70%;
border-radius: 50%;
background: radial-gradient(circle, var(--yellow-glow), transparent 68%);
pointer-events: none;
opacity: .5;
}
.gb-card-head {
min-height: 46px !important;
padding: 0 16px !important;
}
.gb-card-body {
padding: 22px 18px 18px !important;
gap: 10px !important;
}
.gb-card-title {
font-size: clamp(30px, 3vw, 42px) !important;
margin: 2px 0 4px !important;
}
.gb-card-list {
margin-top: 12px !important;
gap: 0 !important;
}
.gb-card-list li {
padding: 12px 0 !important;
gap: 14px !important;
align-items: flex-start !important;
}
.gb-card-list li div {
display: flex;
flex-direction: column;
gap: 2px;
}
.gb-card-list li b {
font: 500 17px/1.15 var(--display);
color: var(--white);
font-variation-settings: "opsz" 48;
}
.gb-card-list li small {
color: #8a897f;
font: 11px/1.3 var(--sans);
}
.gb-metrics {
border: 1px solid rgba(125,202,165,.22) !important;
background: rgba(13,14,12,.85);
border-radius: var(--r) !important;
backdrop-filter: blur(8px);
}
.gb-metrics > div {
min-height: 64px !important;
padding: 12px 16px !important;
gap: 12px !important;
}
.gb-metrics strong {
font-size: clamp(26px, 2.8vw, 38px) !important;
font-family: var(--display) !important;
font-weight: 500 !important;
font-variation-settings: "opsz" 96 !important;
}

/* ============================================================
 BODYTONE STAR + DEMOS UNIFICADAS + EXP 2 PÁGINAS
 ============================================================ */
.gb-star-slide {
justify-content: center !important;
align-items: center !important;
}
.gb-star {
width: min(100%, var(--max));
display: flex;
flex-direction: column;
gap: 14px;
min-height: 0;
}
.gb-star-head .gb-star-lead,
.gb-star-lead {
margin: 8px 0 0;
max-width: 58ch;
color: #a8a79d;
font-size: clamp(14px, 1.3vw, 16px);
line-height: 1.5;
}
.gb-star-grid {
display: grid;
grid-template-columns: 1.15fr 0.85fr;
gap: 16px;
min-height: 0;
}
.gb-star-main {
padding: 20px 22px;
border: 1px solid rgba(125, 202, 165, 0.28);
border-radius: 6px;
background:
  linear-gradient(155deg, rgba(125, 202, 165, 0.08), transparent 50%),
  var(--black-2);
display: flex;
flex-direction: column;
gap: 12px;
}
.gb-star-badge {
display: inline-flex;
align-items: center;
gap: 8px;
width: fit-content;
padding: 5px 10px;
border-radius: 999px;
border: 1px solid rgba(125, 202, 165, 0.4);
background: rgba(125, 202, 165, 0.12);
color: var(--yellow);
font: 800 10px var(--mono);
letter-spacing: 0.12em;
}
.gb-star-badge i {
width: 7px; height: 7px; border-radius: 50%;
background: var(--yellow);
box-shadow: 0 0 0 4px rgba(125, 202, 165, 0.15);
}
.gb-star-main h3 {
margin: 0;
font: 760 clamp(22px, 2.4vw, 30px)/1.1 var(--display);
letter-spacing: -0.02em;
color: #FFFEFB;
}
.gb-star-main > p {
margin: 0;
color: #8A8178;
font-size: 14px;
line-height: 1.5;
max-width: 48ch;
}
.gb-star-points {
list-style: none;
margin: 0;
padding: 0;
display: grid;
gap: 8px;
}
.gb-star-points li {
display: flex;
gap: 10px;
align-items: flex-start;
color: #d4d3cb;
font-size: 13px;
line-height: 1.4;
}
.gb-star-points li::before {
content: "";
width: 6px; height: 6px;
margin-top: 6px;
border-radius: 50%;
background: var(--yellow);
flex-shrink: 0;
}
.gb-star-actions {
margin-top: auto;
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.gb-star-ui {
display: flex;
flex-direction: column;
gap: 12px;
min-height: 0;
}
.gb-star-ui .support-ui.is-star {
flex: 1 1 auto;
min-height: 220px;
border: 1px solid rgba(255, 255, 255, 0.12);
border-radius: 6px;
overflow: hidden;
}
.gb-star-metrics {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 8px;
}
.gb-star-metrics > div {
padding: 12px 10px;
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 4px;
background: var(--black-2);
text-align: center;
}
.gb-star-metrics strong {
display: block;
color: var(--yellow);
font: 760 20px/1 var(--display);
margin-bottom: 4px;
}
.gb-star-metrics span {
color: #9a9991;
font: 800 9px var(--mono);
letter-spacing: 0.08em;
text-transform: uppercase;
}

/* demos unified */
.gb-demos-slide {
justify-content: center !important;
align-items: center !important;
}
.gb-demos {
width: min(100%, var(--max));
display: flex;
flex-direction: column;
gap: 16px;
min-height: 0;
}
.gb-demos-lead {
margin: 8px 0 0;
max-width: 56ch;
color: #a8a79d;
font-size: 14px;
line-height: 1.5;
}
.gb-demos-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
min-height: 0;
}
.gb-demo-card {
display: flex;
flex-direction: column;
gap: 12px;
padding: 18px 16px;
min-height: 280px;
border: 1px solid rgba(255, 255, 255, 0.12);
border-radius: 6px;
background: var(--black-2);
transition: border-color .2s, transform .2s, box-shadow .2s;
}
.gb-demo-card:hover {
border-color: rgba(125, 202, 165, 0.45);
transform: translateY(-3px);
box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
}
.gb-demo-card header {
display: flex;
justify-content: space-between;
align-items: center;
gap: 8px;
}
.gb-demo-code {
color: var(--yellow);
font: 800 12px var(--mono);
letter-spacing: 0.12em;
}
.gb-demo-badge.is-live {
border-color: #7af3ff;
color: #031016;
background: #7af3ff;
}
.gb-demo-badge {
padding: 4px 8px;
border: 1px solid rgba(125, 202, 165, 0.35);
border-radius: 2px;
color: var(--yellow);
font: 800 9px var(--mono);
letter-spacing: 0.08em;
background: rgba(125, 202, 165, 0.08);
}
.gb-demo-card h3 {
margin: 0;
font: 760 clamp(18px, 1.6vw, 22px)/1.15 var(--display);
letter-spacing: -0.02em;
color: #FFFEFB;
}
.gb-demo-card h3 em {
font-style: normal;
color: var(--yellow);
}
.gb-demo-card > p {
margin: 0;
color: #a8a79d;
font-size: 13px;
line-height: 1.45;
flex: 1 1 auto;
}
.gb-demo-actions {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: auto;
}
.gb-demo-actions .button {
min-height: 38px;
padding: 0 12px;
font-size: 11px;
}
.gb-demos-foot {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
gap: 10px;
padding: 12px 14px;
border: 1px solid rgba(125, 202, 165, 0.25);
border-radius: 4px;
background: rgba(125, 202, 165, 0.06);
color: #c8c7bc;
font: 800 11px var(--mono);
letter-spacing: 0.06em;
}
.gb-demos-foot a {
color: var(--yellow);
text-decoration: none;
}
.gb-demos-foot a:hover { text-decoration: underline; }

.gb-exp-next {
margin-left: auto;
color: var(--yellow) !important;
font: 800 11px var(--mono) !important;
letter-spacing: 0.08em;
background: transparent;
border: 0;
cursor: pointer;
padding: 4px 0;
}
.gb-exp-next:hover { text-decoration: underline; }
.gb-panel-bar.is-gold {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px 10px;
}

@media (max-width: 980px) {
.gb-star-grid { grid-template-columns: 1fr; }
.gb-demos-grid { grid-template-columns: 1fr; }
.gb-demo-card { min-height: 0; }
.gb-star-metrics { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 560px) {
.gb-star-metrics { grid-template-columns: 1fr; }
.gb-demos-foot { flex-direction: column; align-items: flex-start; }
}, 255, 255, 0.1) !important;
background: linear-gradient(180deg, rgba(255,255,255,.03), transparent);
}
.gb-exp-panel .gb-panel-head-compact h2 {
font-size: clamp(26px, 3.2vw, 40px) !important;
margin-top: 2px !important;
}
.gb-exp-panel .gb-panel-lead {
max-width: 42ch;
color: #a8a79d !important;
}

.gb-roles {
display: flex !important;
flex-direction: column !important;
gap: 0 !important;
flex: 1 1 auto !important;
min-height: 0 !important;
overflow: auto !important;
-webkit-overflow-scrolling: touch;
}

.gb-role {
display: grid !important;
/* Columna fecha fija + contenido + CTA */
grid-template-columns: minmax(148px, 168px) minmax(0, 1fr) auto !important;
gap: 0 20px !important;
align-items: center !important;
padding: 14px 18px !important;
min-height: 76px !important;
border: 0 !important;
border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
border-radius: 0 !important;
background: transparent !important;
transition: background .18s, box-shadow .18s !important;
text-align: left !important;
}
.gb-role:last-child { border-bottom: 0 !important; }
.gb-role:hover,
.gb-role:focus-visible {
background: rgba(125, 202, 165, 0.09) !important;
}
.gb-role.is-featured {
background: rgba(125, 202, 165, 0.06) !important;
box-shadow: inset 3px 0 0 var(--mark);
}

/* FECHAS: siempre centradas en su columna */
.gb-role-year {
display: flex !important;
flex-direction: column !important;
justify-content: center !important;
align-items: center !important;
text-align: center !important;
gap: 6px !important;
align-self: stretch !important;
min-height: 100% !important;
width: 100% !important;
max-width: none !important;
margin: 0 !important;
padding: 6px 12px !important;
border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
border-left: 0 !important;
background: rgba(0, 0, 0, 0.18);
color: #d4d3cb !important;
font: 800 11px/1.25 var(--mono) !important;
letter-spacing: 0.02em !important;
white-space: normal !important;
box-sizing: border-box;
}
.gb-role-idx,
.gb-role-year small,
.gb-role-year .gb-role-idx {
display: block !important;
width: 100%;
text-align: center !important;
color: var(--yellow) !important;
font: 800 10px/1 var(--mono) !important;
letter-spacing: 0.16em !important;
opacity: 0.95;
}
.gb-role-year .gb-role-dates,
.gb-role-year [data-role-period] {
display: block !important;
width: 100%;
text-align: center !important;
color: #e8e7df !important;
font: 800 11px/1.3 var(--mono) !important;
letter-spacing: 0.04em !important;
white-space: normal !important;
max-width: 12em;
margin-inline: auto;
}

.gb-role-main {
display: flex !important;
flex-direction: column !important;
gap: 6px !important;
min-width: 0 !important;
padding: 2px 4px !important;
text-align: left !important;
}
.gb-role-topline {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px 10px;
}
.gb-role-co {
color: var(--yellow) !important;
font: 800 11px/1.2 var(--mono) !important;
letter-spacing: 0.1em !important;
}
.gb-role-title {
color: #FFFEFB !important;
font: 760 clamp(16px, 1.5vw, 22px)/1.15 var(--display) !important;
letter-spacing: -0.02em !important;
margin: 0 !important;
}
.gb-role-sum {
color: #a8a79d !important;
font: 13px/1.4 var(--sans) !important;
font-style: normal !important;
white-space: normal !important;
overflow: visible !important;
display: block !important;
max-width: 52ch;
}
.gb-role-tag {
justify-self: auto !important;
margin: 0 !important;
padding: 4px 8px !important;
border: 1px solid rgba(255, 255, 255, 0.16) !important;
border-radius: 2px;
color: #9a9991 !important;
font: 800 9px/1 var(--mono) !important;
letter-spacing: 0.1em !important;
white-space: nowrap;
}
.gb-role.is-featured .gb-role-tag {
background: var(--yellow) !important;
color: var(--black) !important;
border-color: var(--yellow) !important;
}
.gb-role-go {
color: var(--yellow) !important;
font: 800 11px/1 var(--mono) !important;
letter-spacing: 0.1em !important;
white-space: nowrap;
opacity: 0.75;
padding-left: 4px;
justify-self: end;
}

/* —— Tablet: sigue en fila, fechas centradas —— */
@media (max-width: 1100px) and (min-width: 761px) {
.gb-role {
  grid-template-columns: minmax(130px, 150px) minmax(0, 1fr) auto !important;
  gap: 0 14px !important;
  padding: 12px 14px !important;
}
.gb-role-year .gb-role-dates,
.gb-role-year [data-role-period] {
  font-size: 10px !important;
  max-width: 11em;
}
}

/* —— Móvil / tablet estrecha —— */
@media (max-width: 760px) {
.gb-hero .gb-hero-grid {
  grid-template-columns: 1fr !important;
  min-height: 0 !important;
}
.gb-hero-proof { font-size: 9px !important; }

.gb-exp-panel {
  border-radius: 0;
  box-shadow: none;
}
.gb-exp-panel .gb-panel-head-compact {
  padding: 14px 14px 12px !important;
}
.gb-roles {
  overflow: visible !important;
}
.gb-role {
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  padding: 14px 12px 16px !important;
  min-height: 0 !important;
  align-items: stretch !important;
}
.gb-role.is-featured {
  box-shadow: inset 3px 0 0 var(--yellow);
}
.gb-role-year {
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px 12px !important;
  width: 100% !important;
  border-right: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding: 10px 8px !important;
  background: rgba(125, 202, 165, 0.06);
  border-radius: 4px;
}
.gb-role-idx,
.gb-role-year small {
  width: auto !important;
}
.gb-role-year .gb-role-dates,
.gb-role-year [data-role-period] {
  width: auto !important;
  max-width: none;
  margin: 0;
  font-size: 12px !important;
}
.gb-role-main {
  padding: 0 !important;
  text-align: left !important;
}
.gb-role-sum {
  max-width: none;
  font-size: 13px !important;
}
.gb-role-go { display: none !important; }
.gb-card-list li small { display: block; }
}

/* —— Touch targets + scroll deck móvil —— */
@media (max-width: 900px) {
.gb-role {
  min-height: 64px;
}
.site-header {
  padding-left: 12px !important;
  padding-right: 12px !important;
}
.slide {
  padding-left: max(12px, env(safe-area-inset-left)) !important;
  padding-right: max(12px, env(safe-area-inset-right)) !important;
}
.gb-panel,
.gb-valor-panel,
.gb-career-panel {
  width: 100% !important;
  max-width: 100% !important;
}
.gb-metrics {
  grid-template-columns: 1fr 1fr !important;
}
}

@media (max-width: 480px) {
.gb-role-year {
  padding: 12px 10px !important;
}
.gb-role-title {
  font-size: clamp(16px, 5.2vw, 20px) !important;
}
.gb-panel-head h2,
.gb-exp-panel .gb-panel-head-compact h2 {
  font-size: clamp(24px, 7.5vw, 32px) !important;
}
.gb-role-sum {
  font-size: 12.5px !important;
}
}
/* ============================================================
 EXTREME 2026 — gold track · cinematic · precise
 Hub tokens. Gold is the track. Ice only for LIVE. Sage = Track B.
 ============================================================ */

html { background: var(--bg); }
body {
background: var(--bg);
color: var(--ink);
}

.skip-link {
background: var(--gold);
color: var(--accent-ink);
border-radius: var(--r);
min-height: 44px;
display: inline-flex;
align-items: center;
}
.skip-link:focus { outline: 2px solid var(--gold); }

.top-progress {

background: rgba(244,243,238,.06);
}
.top-progress i {
background: linear-gradient(90deg, var(--gold), #D4B896);
box-shadow: 0 0 16px var(--gold-glow);
}



.brand:hover 

.header-cta:hover { background: #D4B896; }
.header-cta--ghost {
background: transparent;
color: var(--white);
border: 1px solid var(--line-dark-2);
box-shadow: none;
}
.header-cta--ghost:hover {
background: var(--gold);
color: var(--accent-ink);
border-color: var(--gold);
}

.os-rail {
background: var(--bg);

}
.os-rail-status strong { color: var(--gold); }
.os-rail-item.active,
.os-rail-item[aria-current="true"] {
color: var(--white);
border-color: color-mix(in srgb, var(--gold) 40%, transparent);
background: var(--yellow-dim);
}
.os-rail-item.active i,
.os-rail-item[aria-current="true"] i { color: var(--gold); }
.os-rail-meter i {
background: var(--gold);
}

.slide.dark { background: var(--bg); color: var(--white); }
.dark .eyebrow,
.slide-index.light-index span:last-child { color: var(--gold); }
.slide h2 em { color: var(--gold); }
.light h2 em { color: var(--gold); opacity: 1; }

.button { min-height: 44px; border-radius: var(--r); }
.button.primary {
background: var(--gold);
color: var(--accent-ink);
box-shadow: 0 10px 28px var(--gold-glow);
}
.button.primary:hover { background: #D4B896; color: var(--accent-ink); }
.button.ghost:hover { border-color: var(--gold); color: var(--gold); }
.dark-button { background: var(--bg); color: var(--white); }

/* Hero — gold cinema, ice only on LIVE pulse */
.gb-hero { background: var(--bg); }
.gb-hero::before {
background: radial-gradient(circle, var(--gold-glow), transparent 68%);
}
.gb-hero-orb-a { background: radial-gradient(circle, var(--gold-glow), transparent 68%); }
.gb-hero-orb-b { background: radial-gradient(circle, rgba(243,212,55,.12), transparent 68%); }
.gb-hero-orb-c { background: radial-gradient(circle, var(--ice-glow), transparent 70%); opacity: .18; }
.gb-hero-tags-fx span {
border-color: color-mix(in srgb, var(--gold) 28%, transparent);
background: var(--yellow-dim);
color: color-mix(in srgb, var(--gold) 75%, var(--white));
}
.gb-hero-copy h1 em { font-style: italic !important; }
.gb-status i {
background: var(--ice) !important;
box-shadow: 0 0 0 4px var(--ice-dim);
animation: pulse-live 2.4s ease-in-out infinite;
}
@keyframes pulse-live {
0%, 100% { opacity: 1; }
50% { opacity: .35; }
}
.gb-kicker { color: var(--gold) !important; font-family: var(--mono) !important; letter-spacing: .2em !important; }
.gb-card {
background: var(--surface);
border: 1px solid var(--line-dark);
border-radius: var(--r);
box-shadow: var(--shadow);
}
.gb-card::before,
.gb-card::after {
background: linear-gradient(to bottom, var(--gold), transparent) !important;
}
.gb-metrics {
border: 1px solid var(--line-dark);
background: color-mix(in srgb, var(--surface) 80%, transparent);
border-radius: var(--r);
}
.gb-metrics strong { font-family: var(--display); }

/* Panels */
.gb-panel-dark {
background: var(--surface);
border: 1px solid var(--line-dark);
border-radius: var(--r);
}
.gb-panel-light {
background: var(--paper);
border: 1px solid var(--line-light);
border-radius: var(--r);
}
.gb-panel-bar.is-gold {
background: var(--yellow-dim);
border-top: 1px solid color-mix(in srgb, var(--gold) 35%, transparent);
color: var(--gold);
}

/* LIVE badges — ice, sparingly */
.gb-demo-badge.is-live,
.gb-star-badge,
.gb-card-head b {
color: var(--ice) !important;
}
.gb-star-badge i,
.gb-card-head b i {
background: var(--ice) !important;
box-shadow: 0 0 0 4px var(--ice-dim);
}

.gb-demo-card,
.gb-star-main,
.gb-loop-card,
.gb-step,
.gb-cap {
border-radius: var(--r);
background: var(--surface);
border: 1px solid var(--line-dark);
}
.gb-loop-card:hover,
.gb-step:hover,
.gb-demo-card:hover,
.gb-cap:hover {
border-color: color-mix(in srgb, var(--gold) 50%, var(--line-dark));
box-shadow: 0 18px 40px rgba(0,0,0,.35);
transform: translateY(-3px);
}
.gb-loop-num, .gb-step-num, .gb-demo-code { color: var(--gold); }

/* Track B keeps sage — not a skin, a track */
.gb-engine.track-b header span,
.gb-engine.track-b header strong { color: var(--sage); }
.gb-engine.track-a header span,
.gb-engine.track-a header strong { color: var(--gold); }
.gb-engine.track-b { border-color: color-mix(in srgb, var(--sage) 28%, var(--line-dark)); }
.gb-engine.track-a { border-color: color-mix(in srgb, var(--gold) 28%, var(--line-dark)); }

/* Roles — gold, 44px */
.gb-role { min-height: 76px; }
.gb-role:hover,
.gb-role:focus-visible {
background: var(--yellow-dim) !important;
}
.gb-role.is-featured {
background: color-mix(in srgb, var(--gold) 7%, transparent) !important;
box-shadow: inset 3px 0 0 var(--gold);
}
.gb-role-co, .gb-role-idx { color: var(--gold) !important; }
.gb-role-go { color: var(--gold); min-height: 44px; display: inline-flex; align-items: center; }

/* Method / caps bars */
.gb-cap-bar i { background: var(--gold) !important; }
.gb-cap.is-human .gb-cap-bar i { background: var(--sage) !important; }
.gb-contact h2 em { color: var(--gold); }
.gb-contact-kicker { color: var(--gold); }

/* Controls — 44px tap, gold hover */

.deck-controls button {
height: 44px;
}




/* Lang gate */

/* Dialogs */
dialog {
background: var(--surface);
color: var(--white);
border: 1px solid var(--line-dark);
border-radius: var(--r);
}
.dialog-close {
width: 44px; height: 44px;
border-radius: var(--r);
}
.dialog-close:hover { background: var(--gold); color: var(--accent-ink); }
.command-dialog nav button.active,
.command-dialog nav button:hover {
background: var(--yellow-dim);
color: var(--white);
}

/* Pins */
.gb-pin i {
background: var(--gold);
box-shadow: 0 0 0 4px var(--yellow-dim);
}
.gb-pin.is-core i {
background: var(--gold);
box-shadow: 0 0 0 6px var(--yellow-dim), 0 0 24px var(--gold-glow);
}
.gb-pin.active span { color: var(--gold); }
.gb-hub-ring { stroke: color-mix(in srgb, var(--gold) 35%, transparent); }

/* Education light slide */
.education-slide { background: var(--paper); }
.builder-note { background: var(--surface2); color: var(--white); border-radius: var(--r); }
.builder-note span { color: var(--gold); }

/* Case pages — were unstyled / overflow:hidden */
body.case-body {
overflow: auto !important;
height: auto !important;
min-height: 100%;
background: var(--bg);
color: var(--white);
font-family: var(--sans);
}
.case-header {
position: sticky; top: 0; z-index: 40;
min-height: var(--header);
padding: 0 var(--pad);
display: flex; align-items: center; justify-content: space-between; gap: 16px;
background: color-mix(in srgb, var(--bg) 82%, transparent);
border-bottom: 1px solid var(--line-dark);
backdrop-filter: blur(18px);
}
.case-header nav { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.case-header nav a {
min-height: 44px; padding: 0 12px;
display: inline-flex; align-items: center;
color: var(--muted-dark);
font: 800 11px var(--mono); letter-spacing: .1em; text-transform: uppercase;
}
.case-header nav a:hover { color: var(--white); }
.case-main { max-width: var(--max); margin: 0 auto; padding: 0 0 80px; }
.case-hero {
display: grid;
grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
gap: clamp(24px, 4vw, 56px);
padding: clamp(36px, 8vh, 80px) var(--pad);
align-items: center;
}
.case-hero-copy h1 {
margin: 8px 0 16px;
font: 500 clamp(36px, 5.4vw, 68px)/.95 var(--display);
letter-spacing: -.03em;
}
.case-hero-copy h1 em { color: var(--gold); font-style: italic; font-weight: 400; }
.case-hero-copy > p { color: var(--muted-dark); max-width: 54ch; font-size: 17px; line-height: 1.55; }
.case-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.case-tags span {
padding: 6px 10px; border: 1px solid var(--line-dark); border-radius: 999px;
color: var(--gold); font: 800 10px var(--mono); letter-spacing: .1em; text-transform: uppercase;
}
.case-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.case-hero-aside {
background: var(--surface);
border: 1px solid var(--line-dark);
border-radius: var(--r);
overflow: hidden;
}
.case-hero-aside header {
display: flex; justify-content: space-between; align-items: center;
padding: 12px 16px; border-bottom: 1px solid var(--line-dark);
color: var(--muted-dark); font: 800 10px var(--mono); letter-spacing: .12em;
}
.case-hero-aside header b { color: var(--ice); }
.case-hero-aside dl { margin: 0; padding: 8px 0; }
.case-hero-aside dl > div { padding: 12px 16px; border-bottom: 1px solid var(--line-dark); }
.case-hero-aside dt {
color: var(--gold); font: 800 10px var(--mono); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 4px;
}
.case-hero-aside dd { margin: 0; color: var(--white); font: 500 15px var(--display); }
.case-section { padding: clamp(40px, 8vh, 88px) var(--pad); }
.case-section.light { background: var(--paper); color: var(--ink); }
.case-section.dark { background: var(--bg2); color: var(--white); }
.case-section-heading {
display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
gap: 24px; margin-bottom: 28px; align-items: end;
}
.case-section-heading h2 {
margin: 0; font: 500 clamp(28px, 4vw, 48px)/1.05 var(--display); letter-spacing: -.03em;
}
.case-section-heading p { margin: 0; color: var(--muted-dark); }
.case-section.light .case-section-heading p { color: var(--muted-light); }
.case-problem-grid,
.case-decision-grid,
.case-flow {
display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px;
}
.case-problem-grid article,
.case-decision-grid article,
.case-flow article {
padding: 20px;
border: 1px solid var(--line-dark);
border-radius: var(--r);
background: var(--surface);
min-height: 140px;
}
.case-section.light article {
background: #FFFEFB;
border-color: var(--line-light);
}
.case-problem-grid span,
.case-decision-grid span,
.case-flow span {
color: var(--gold); font: 800 11px var(--mono); letter-spacing: .14em;
}
.case-problem-grid h3,
.case-decision-grid h3,
.case-flow h3 {
margin: 10px 0 8px; font: 500 22px/1.15 var(--display);
}
.case-problem-grid p,
.case-decision-grid p,
.case-flow p { margin: 0; color: var(--muted-dark); font-size: 14px; line-height: 1.5; }
.case-section.light p { color: var(--muted-light); }
.case-results {
display: grid; grid-template-columns: .9fr 1.1fr; gap: 20px; align-items: stretch;
}
.case-results-metric {
padding: 28px;
background: var(--bg);
color: var(--white);
border-radius: var(--r);
border: 1px solid color-mix(in srgb, var(--gold) 35%, transparent);
}
.case-results-metric small { color: var(--gold); font: 800 11px var(--mono); letter-spacing: .16em; }
.case-results-metric strong {
display: block; margin: 10px 0 8px;
font: 500 clamp(28px, 4vw, 42px)/1.05 var(--display);
}
.case-results-copy h3 { margin: 0 0 12px; font: 500 22px var(--display); }
.case-results-copy ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.case-results-copy li { display: flex; gap: 12px; align-items: flex-start; }
.case-results-copy b { color: var(--gold); font: 800 11px var(--mono); }
.case-boundary {
margin: 0 var(--pad);
padding: 20px 24px;
border: 1px solid color-mix(in srgb, var(--gold) 30%, var(--line-dark));
border-radius: var(--r);
background: var(--yellow-dim);
display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between;
}
.case-boundary span { color: var(--gold); font: 800 11px var(--mono); letter-spacing: .14em; }
.case-boundary a { color: var(--gold); font: 800 11px var(--mono); letter-spacing: .1em; text-transform: uppercase; min-height: 44px; display: inline-flex; align-items: center; }
.case-footer {
padding: clamp(40px, 8vh, 80px) var(--pad);
display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between;
}
.case-footer h2 { margin: 0; font: 500 clamp(28px, 4vw, 44px)/1.1 var(--display); }

/* Mobile / tablet excellence */
@media (max-width: 1180px) {
.deck-controls { right: 12px; bottom: 12px; }
}
@media (max-width: 980px) {
.main-nav {
  max-height: calc(100svh - var(--header));
  
}
.main-nav button,
.main-nav .header-cta,
.main-nav a {
  min-height: 48px;
}
.gb-hero .gb-hero-grid { grid-template-columns: 1fr !important; }
.gb-hero-tags-fx { display: none; }
.case-hero,
.case-section-heading,
.case-results { grid-template-columns: 1fr; }
.deck-hint { display: none; }
.gb-card { min-height: 0; }
}
@media (max-width: 640px) {
.button { width: auto; }
.gb-actions .button,
.gb-contact-actions .button { min-width: 44px; }
.deck-controls {
  left: 12px; right: 12px; bottom: 10px;
  justify-content: space-between;
}
.os-rail { display: none; }
.slide.fit { min-height: 100svh; }
}
@media (pointer: coarse) {
.deck-controls button { min-width: 52px; }
.gb-pin { min-width: 44px; min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
.gb-hero-orb, .gb-hero-tags-fx span, .gb-hero-grid-fx, .gb-status i { animation: none !important; }
}



/* ============================================================
 V2 EXTREME — cinematic chrome, type, surfaces, phone-first
 ============================================================ */

html[data-theme="light"] body { color: var(--ink); }

/* Dense chrome reduced — one header layer + thin progress + bottom controls */
.top-progress {
height: 2px;
background: color-mix(in srgb, var(--accent) 8%, transparent);
}
.top-progress i {
display: block; height: 100%; width: 0;
background: linear-gradient(90deg, var(--gold), color-mix(in srgb, var(--gold) 40%, var(--ice)));
box-shadow: 0 0 12px var(--gold-glow);
transition: width .45s var(--ease);
}


.brand {
  
  flex-shrink: 0;
}


html[data-theme="light"] .brand-text b { color: var(--ink); }
.main-nav > button, .main-nav > a {
display: inline-flex; align-items: center;
min-height: var(--tap); padding: 0 12px;
color: var(--muted-dark); border-radius: var(--r);
transition: color .15s, background .15s;
}
.main-nav > button:hover, .main-nav > a:hover {
color: var(--white); background: color-mix(in srgb, var(--accent) 6%, transparent);
}
html[data-theme="light"] .main-nav > button:hover,
html[data-theme="light"] .main-nav > a:hover { color: var(--ink); }
.nav-cmd {
gap: 4px; border: 1px solid var(--line-dark) !important; margin-left: 6px;
}
.nav-cmd kbd {
font: 800 10px var(--mono); padding: 2px 5px;
border: 1px solid var(--line-dark); border-radius: 3px;
}

.seg-btn:hover { color: var(--white); }
html[data-theme="light"] .seg-btn:hover { color: var(--ink); }
.seg-btn.is-active, .seg-btn[aria-pressed="true"] {
background: var(--accent); color: var(--accent-ink);
}

.header-cta:hover {
background: var(--gold); color: #2A2622;
box-shadow: 0 0 24px var(--gold-glow);
}
.menu-toggle i {
   margin: 0 auto;
 transition: transform .25s var(--ease), opacity .2s;
}

/* Rail — desktop only index, no competing GB mark */
.os-rail {
position: fixed; z-index: 200;
top: var(--header); bottom: 0; left: 0; width: var(--rail-w);
padding: 18px 14px 20px;
background: color-mix(in srgb, var(--bg) 92%, transparent);
border-right: 1px solid var(--line-dark);
display: flex; flex-direction: column; gap: 12px;
backdrop-filter: blur(16px);
}
.os-rail-brand b {
color: var(--gold); font: 800 10px var(--mono) !important; letter-spacing: .14em !important;
}
.os-rail-item {
min-height: 36px; padding: 6px 8px; border-radius: var(--r);
display: grid; grid-template-columns: 28px 1fr; gap: 6px; align-items: center;
color: var(--muted-dark); text-align: left;
transition: background .15s, color .15s;
}
.os-rail-item:hover, .os-rail-item.active {
background: var(--yellow-dim); color: var(--white);
}
.os-rail-item.active i { color: var(--gold) !important; }
.os-rail-meter i {
background: linear-gradient(90deg, var(--gold), transparent);
}

/* Deck offset under header */
.deck {
position: relative;
height: 100%;
padding-top: var(--header);
margin-left: 0;
overflow: hidden;
}
@media (min-width: 1100px) {
body.has-os-rail .deck { margin-left: var(--rail-w); }
}

/* Type leap — cinematic Fraunces hierarchy */
.gb-hero-copy h1,
.gb-valor-bottom h2,
.gb-star-head h2,
.gb-demos-head h2,
.gb-route-top h2,
.gb-method-top h2,
.gb-panel-head h2,
.gb-caps-top h2,
.gb-contact h2,
.education-layout h2 {
font-family: var(--display);
font-weight: 500;
letter-spacing: -.035em;
line-height: .96;
font-variation-settings: "opsz" 144, "SOFT" 50;
}
.gb-hero-copy h1 {
font-size: clamp(52px, 9.5vw, 104px) !important;
margin: 12px 0 18px !important;
color: var(--white);
}
.gb-hero-copy h1 em {
color: var(--gold) !important;
font-style: italic;
font-weight: 500;
}
.eyebrow, .gb-kicker, .slide-index, .gb-contact-kicker {
color: var(--gold) !important;
font: 800 11px/1.4 var(--mono) !important;
letter-spacing: .2em !important;
text-transform: uppercase;
}

/* Surfaces — richer panels / cards */
.gb-card, .gb-loop-card, .gb-demo-card, .gb-star-main,
.gb-formula-card, .gb-engine, .gb-role, .gb-cap, .gb-city-panel,
.support-ui, .builder-note, .education-list {
border-radius: var(--r) !important;
border: 1px solid var(--line-dark) !important;
background: color-mix(in srgb, var(--surface) 88%, transparent) !important;
box-shadow: var(--shadow-sm);
backdrop-filter: blur(8px);
}
.gb-loop-card:hover, .gb-demo-card:hover, .gb-role:hover, .gb-cap:hover {
border-color: color-mix(in srgb, var(--gold) 45%, var(--line-dark)) !important;
box-shadow: 0 16px 40px rgba(0,0,0,.35), 0 0 0 1px color-mix(in srgb, var(--gold) 20%, transparent);
transform: translateY(-3px);
}
.gb-loop-card, .gb-demo-card, .gb-role, .gb-cap {
transition: transform .25s var(--ease), border-color .25s, box-shadow .25s;
}

.button {
min-height: var(--tap) !important;
padding: 0 18px !important;
border-radius: var(--r) !important;
font: 800 11px var(--mono) !important;
letter-spacing: .1em !important;
text-transform: uppercase;
}
.button.primary {
background: var(--gold) !important;
color: #2A2622 !important;
box-shadow: 0 10px 28px var(--gold-glow) !important;
}
.button.primary:hover {
background: var(--yellow-2, #D4B896) !important;
box-shadow: 0 14px 36px var(--gold-glow) !important;
}
.button.ghost {
border: 1px solid var(--line-dark) !important;
background: transparent !important;
color: var(--white) !important;
}
html[data-theme="light"] .button.ghost { color: var(--ink) !important; }
.button.ghost:hover {
border-color: var(--gold) !important;
color: var(--gold) !important;
}

/* Hero ambient — gold cinematic */
.gb-hero {
position: relative;
background:
  radial-gradient(ellipse 70% 55% at 18% 20%, var(--yellow-glow), transparent 60%),
  radial-gradient(ellipse 50% 45% at 88% 70%, var(--ice-dim), transparent 55%),
  var(--bg) !important;
}
.gb-hero-orb-a { background: radial-gradient(circle, var(--gold-glow), transparent 70%) !important; }
.gb-hero-orb-b { background: radial-gradient(circle, var(--yellow-dim), transparent 70%) !important; }
.gb-metrics {
display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;
margin-top: clamp(20px, 3vh, 36px);
padding-top: 18px;
border-top: 1px solid var(--line-dark);
}
.gb-metrics strong {
display: block;
color: var(--gold);
font: 500 clamp(28px, 4vw, 42px)/1 var(--display) !important;
}
.gb-metrics span {
color: var(--muted-dark); font: 700 11px var(--mono); letter-spacing: .08em;
}
.gb-status {
display: inline-flex;  
min-height: 36px; padding: 0 12px;
border: 1px solid color-mix(in srgb, var(--gold) 35%, var(--line-dark));

background: var(--yellow-dim);
color: var(--gold);
font: 700 11px var(--mono); letter-spacing: .08em;
}
.gb-status i {
width: 7px; height: 7px; box-shadow: 0 0 10px var(--gold);
animation: pulse 2.2s ease infinite;
}
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: .45; }
}

/* LIVE badges — ice only */
.gb-demo-badge.is-live, .gb-star-badge {
color: var(--ice) !important;
border-color: color-mix(in srgb, var(--ice) 40%, transparent) !important;
background: var(--ice-dim) !important;
}

/* Track B sage accents on career */
.gb-engine.track-b header span,
.gb-engine.track-b .gb-engine-list em { color: var(--sage) !important; }
.gb-engine.track-a header span { color: var(--gold) !important; }

/* Cap bars gold */
.gb-cap-bar i {
background: linear-gradient(90deg, var(--gold), color-mix(in srgb, var(--gold) 30%, var(--white))) !important;
}

/* Contact cinematic */
.gb-contact h2 {
font-size: clamp(64px, 14vw, 148px) !important;
color: var(--white);
}

/* Bottom controls — phone-first 44px */

.deck-controls span {
min-width: 64px; text-align: center;
font: 800 12px var(--mono); color: var(--muted-dark);
}
.deck-controls span b { color: var(--gold); }

html[data-theme="light"] .deck-controls button { color: var(--ink); }
.deck-hint {
position: fixed; z-index: 270;
left: 50%; bottom: calc(64px + env(safe-area-inset-bottom, 0px));
transform: translateX(-50%);
margin: 0;
color: var(--muted-dark);
font: 700 10px var(--mono); letter-spacing: .12em; text-transform: uppercase;
opacity: .7; pointer-events: none;
}

/* V5 STABILITY LAYER — final canonical interaction contract */
:root {
--focus-ring: 0 0 0 3px color-mix(in srgb, var(--gold) 30%, transparent);
}

html {
scroll-behavior: smooth;
scrollbar-gutter: stable;
}

body {
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
}

a,
button,
[role="button"] {
-webkit-tap-highlight-color: transparent;
touch-action: manipulation;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
outline: 2px solid var(--gold);
outline-offset: 3px;
box-shadow: var(--focus-ring);
}

.site-header {

padding-inline-start: max(var(--pad), env(safe-area-inset-left, 0px));
padding-inline-end: max(var(--pad), env(safe-area-inset-right, 0px));
}

.deck-controls {
padding-bottom: max(6px, env(safe-area-inset-bottom, 0px));
}

@media (max-width: 980px) {
.site-header {
  padding-inline-start: max(12px, env(safe-area-inset-left, 0px));
  padding-inline-end: max(12px, env(safe-area-inset-right, 0px));
}

.main-nav {
  
  overscroll-behavior: contain;
}

.main-nav > button,
.main-nav > a {
  min-height: 48px;
}

.seg-btn,

}

@media (prefers-reduced-motion: reduce) {
html {
  scroll-behavior: auto !important;
}

*,
*::before,
*::after {
  scroll-behavior: auto !important;
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
}
}

@media (forced-colors: active) {
.site-header,
.deck-controls,
.seg,
.menu-toggle {
  border: 1px solid CanvasText !important;
  background: Canvas !important;
  color: CanvasText !important;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid Highlight !important;
  box-shadow: none !important;
}
}

/* Light theme slide surfaces */
html[data-theme="light"] .slide.dark,
html[data-theme="light"] .gb-hero,
html[data-theme="light"] .gb-star-slide,
html[data-theme="light"] .gb-demos-slide,
html[data-theme="light"] .gb-route,
html[data-theme="light"] .gb-method,
html[data-theme="light"] .gb-career-slide,
html[data-theme="light"] .gb-line-slide,
html[data-theme="light"] .gb-exp-slide,
html[data-theme="light"] .gb-caps,
html[data-theme="light"] .gb-contact {
background: var(--bg) !important;
color: var(--ink);
}
html[data-theme="light"] .gb-hero-copy h1,
html[data-theme="light"] .gb-contact h2,
html[data-theme="light"] .brand-text b,
html[data-theme="light"] .os-rail-item.active { color: var(--ink) !important; }
html[data-theme="light"] .gb-card,
html[data-theme="light"] .gb-loop-card,
html[data-theme="light"] .gb-demo-card,
html[data-theme="light"] .gb-role,
html[data-theme="light"] .gb-cap,
html[data-theme="light"] .gb-engine {
background: var(--surface) !important;
border-color: var(--line-light) !important;
}

/* Phone-first — lockup ALWAYS visible, dense chrome reduced */

@media (max-width: 980px) {
.main-nav {
    
   padding: 12px var(--pad) 18px;
}
.main-nav > button, .main-nav > a {
  min-height: var(--tap); justify-content: flex-start; padding: 0 4px;
  border-bottom: 1px solid var(--line-dark); border-radius: 0;
}
.brand-text { display: flex !important; } /* ALWAYS visible */
.nav-cmd { display: none; }
.gb-hero-grid { grid-template-columns: 1fr !important; }
.gb-card { display: none; } /* hero breathes on phone */
.gb-metrics { grid-template-columns: 1fr 1fr; }
.gb-demos-grid { grid-template-columns: 1fr !important; }
.gb-dual { grid-template-columns: 1fr !important; }
.gb-dual-x { display: none; }
.gb-hero-copy h1 { font-size: clamp(44px, 13vw, 72px) !important; }
.header-cta { display: none; } /* CV lives in contact + command; reduce header fight */
}
@media (max-width: 720px) {

.brand-text b { font-size: 10px; letter-spacing: .12em; }
.brand-text small { font-size: 8px; }
.gb-star-grid, .gb-route-body, .gb-method-formula,
.education-layout, .gb-caps-grid { grid-template-columns: 1fr !important; }
.gb-method-grid { grid-template-columns: 1fr 1fr !important; }
.gb-loop { grid-template-columns: 1fr 1fr !important; }
.gb-roles { grid-template-columns: 1fr !important; }
}

/* No overlapping pills — status + actions clear */
.gb-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 14px; }
.tag-row { display: flex; flex-wrap: wrap; gap: 8px; }
.tag-row > span {
color: var(--muted-dark);
}

/* Atmosphere grain soft */
.gb-hero-grain {
opacity: .04 !important;
mix-blend-mode: overlay;
}

/* Dialog polish */
.recruiter-dialog, .experience-dialog, .command-dialog {
border: 1px solid var(--line-dark) !important;
border-radius: var(--r) !important;
background: var(--surface) !important;
color: var(--white);
box-shadow: var(--shadow);
}
html[data-theme="light"] .recruiter-dialog,
html[data-theme="light"] .experience-dialog,
html[data-theme="light"] .command-dialog { color: var(--ink); }

.dialog-close {
min-width: var(--tap); min-height: var(--tap);
font-size: 22px;
}


/* folded extras (sanitized) */
/* extra-pass folded intentionally thin — v2 extreme owns chrome */


/* ============================================================
 V2.2 EXTREME — cinematic gold CS×Data×AI
 Surfaces · type · progress · phone-first · one chrome
 ============================================================ */

:root, [data-theme="dark"] {
--bg: #151c22;
--surface: #263039;
--surface2: #303942;
--gold: #deceb7;
--gold-2: #D4B896;
--gold-glow: rgba(221,204,178,.13);
--paper: #f3eee5;
--ink: #f3eee5;
--white: #f7f3ec;
--r: 6px;
--r-lg: 14px;
}

[data-theme="light"] {
--bg: #f4efe6;
--surface: #fffaf2;
--surface2: #f4ebdd;
--gold: #536067;
--gold-2: #D4B896;
--gold-glow: rgba(78,76,68,.12);
--paper: #fbf7f0;
--ink: #27343b;
--white: #27343b;
}

/* Cinematic progress — film strip feel */
.top-progress {
height: 3px !important;
background: color-mix(in srgb, var(--gold) 12%, transparent) !important;
z-index: 80;
}
.top-progress i {
background: linear-gradient(90deg, var(--gold), var(--gold-2), #fff6b0) !important;
box-shadow: 0 0 20px var(--gold-glow), 0 0 4px var(--gold) !important;
border-radius: 0 2px 2px 0;
}

/* ONE GB header — hub lockup, always visible on phone */




.brand-text, .brand-lockup {
display: flex !important;
flex-direction: column;
gap: 2px;
min-width: 0;
}
.brand-text b, .brand-lockup b {
font: 800 11px/1.15 var(--mono) !important;
letter-spacing: .18em !important;
color: var(--white);
}
.brand-text small, .brand-lockup small {
font: 700 9px/1.2 var(--mono) !important;
letter-spacing: .16em !important;
color: var(--gold) !important;
text-transform: uppercase;
}
.seg-btn.is-active, .seg-btn[aria-pressed="true"] {
background: var(--gold) !important;
color: #2A2622 !important;
}



/* Reduce competing nav — rail is index only on desktop */
.os-rail {
background: color-mix(in srgb, var(--bg) 96%, #000) !important;
border-right: 1px solid color-mix(in srgb, var(--gold) 10%, var(--line-dark)) !important;
}
.os-rail-item[aria-current="true"] {
background: color-mix(in srgb, var(--gold) 12%, transparent) !important;
border-color: color-mix(in srgb, var(--gold) 35%, transparent) !important;
}
.os-rail-item[aria-current="true"] i,
.os-rail-status strong { color: var(--gold) !important; }
.os-rail-meter i {
background: linear-gradient(180deg, var(--gold), var(--gold-2)) !important;
box-shadow: 0 0 12px var(--gold-glow);
}

/* TYPE — cinematic Fraunces scale */
.gb-hero-copy h1,
.gb-hero h1 {
font-family: var(--display) !important;
font-weight: 700 !important;
font-size: clamp(48px, 9.5vw, 104px) !important;
line-height: .92 !important;
letter-spacing: -0.035em !important;
max-width: 11ch;
}
.gb-hero-copy h1 em,
.gb-hero h1 em {
color: var(--gold) !important;
font-style: italic !important;
font-weight: 560 !important;
}
.gb-kicker, .eyebrow, .slide-index span:last-child {
font: 800 11px/1.3 var(--mono) !important;
letter-spacing: .18em !important;
text-transform: uppercase;
color: var(--gold) !important;
}
.gb-lead, .gb-panel-lead, .gb-star-lead {
font-size: clamp(16px, 1.6vw, 19px) !important;
line-height: 1.55 !important;
max-width: 42ch;
color: color-mix(in srgb, var(--white) 78%, transparent);
}
html[data-theme="light"] .gb-lead,
html[data-theme="light"] .gb-panel-lead,
html[data-theme="light"] .gb-star-lead {
color: color-mix(in srgb, var(--ink) 78%, transparent);
}

.slide h2 {
font-family: var(--display) !important;
font-weight: 650 !important;
font-size: clamp(32px, 5.2vw, 64px) !important;
line-height: 1.02 !important;
letter-spacing: -0.03em !important;
}
.slide h2 em { color: var(--gold) !important; font-style: italic; }

/* Surfaces — soft panels with gold edge light */
.gb-card, .gb-loop-card, .gb-star-main, .support-ui,
.gb-panel, .gb-role, .edu-card, .cap-card {
border-radius: var(--r-lg) !important;
border: 1px solid color-mix(in srgb, var(--gold) 16%, var(--line-dark)) !important;
background:
  linear-gradient(160deg,
    color-mix(in srgb, var(--gold) 6%, var(--surface)),
    var(--surface) 42%,
    var(--surface2)) !important;
box-shadow:
  0 1px 0 color-mix(in srgb, var(--gold) 10%, transparent) inset,
  0 24px 60px rgba(0,0,0,.35) !important;
}
.gb-loop-card:hover, .gb-role:hover, .cap-card:hover {
border-color: color-mix(in srgb, var(--gold) 42%, transparent) !important;
transform: translateY(-3px);
box-shadow: 0 20px 50px rgba(0,0,0,.4), 0 0 30px var(--gold-glow) !important;
}
.gb-card-title, .gb-loop-num, .gb-star-badge {
color: var(--gold) !important;
}

/* Metrics — gold numerals */
.gb-metrics strong, .gb-star-metrics strong,
[data-count] {
font-family: var(--display) !important;
font-weight: 700 !important;
color: var(--gold) !important;
letter-spacing: -0.02em;
}

/* Buttons */
.button.primary, .btn.primary {
background: var(--gold) !important;
color: #2A2622 !important;
border-color: var(--gold) !important;
font-weight: 800 !important;
letter-spacing: .04em;
box-shadow: 0 10px 28px var(--gold-glow);
border-radius: 999px !important;
}
.button.ghost, .btn.ghost {
border-radius: 999px !important;
border-color: color-mix(in srgb, var(--gold) 30%, var(--line-dark)) !important;
}

/* Status pill — no overlap with actions */
.gb-status {
display: inline-flex !important;
align-items: center;
gap: 8px;
min-height: 34px;
padding: 0 14px;
border-radius: 999px;
border: 1px solid color-mix(in srgb, var(--gold) 28%, transparent);
background: color-mix(in srgb, var(--gold) 8%, transparent);
font: 700 12px var(--mono);
letter-spacing: .06em;
margin-bottom: 18px;
width: fit-content;
max-width: 100%;
}
.gb-status i {
width: 8px; height: 8px; border-radius: 50%;
background: var(--gold);
box-shadow: 0 0 10px var(--gold-glow);
animation: gbPulse 2.4s ease-in-out infinite;
}
@keyframes gbPulse {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: .55; transform: scale(.85); }
}
@media (prefers-reduced-motion: reduce) {
.gb-status i { animation: none; }
}

.gb-actions {
display: flex !important;
flex-wrap: wrap !important;
gap: 10px !important;
margin: 22px 0 14px !important;
align-items: center;
}
.tag-row {
display: flex !important;
flex-wrap: wrap !important;
gap: 8px !important;
}
.tag-row > span {
position: static !important;
min-height: 32px;
padding: 0 12px;
display: inline-flex;
align-items: center;
border-radius: 999px;
border: 1px solid var(--line-dark);
font: 700 10px var(--mono);
letter-spacing: .08em;
background: transparent;
}

/* Hero ambient — gold cinematic */
.gb-hero-orb-a {
background: radial-gradient(circle, color-mix(in srgb, var(--gold) 35%, transparent), transparent 70%) !important;
filter: blur(40px);
}
.gb-hero-orb-b {
background: radial-gradient(circle, rgba(122,243,255,.18), transparent 70%) !important;
}
.gb-hero-grid-fx {
opacity: .07 !important;
background-image:
  linear-gradient(color-mix(in srgb, var(--gold) 40%, transparent) 1px, transparent 1px),
  linear-gradient(90deg, color-mix(in srgb, var(--gold) 40%, transparent) 1px, transparent 1px) !important;
background-size: 48px 48px !important;
}
.deck-controls button {


border-radius: 999px !important;
border: 1px solid color-mix(in srgb, var(--gold) 25%, var(--line-dark)) !important;
background: color-mix(in srgb, var(--bg) 80%, transparent) !important;
backdrop-filter: blur(12px);
}
.deck-controls button:hover {
border-color: var(--gold) !important;
color: var(--gold) !important;
}

/* Light theme surfaces */

html[data-theme="light"] .gb-card,
html[data-theme="light"] .gb-loop-card,
html[data-theme="light"] .gb-star-main,
html[data-theme="light"] .gb-panel {
box-shadow: 0 18px 40px rgba(17,18,14,.08) !important;
}
@media (max-width: 980px) {
.brand-text, .brand-lockup { display: flex !important; visibility: visible !important; opacity: 1 !important; }

.main-nav {
  position: fixed !important;
  inset: var(--header) 0 auto !important;
  
  
  
  backdrop-filter: blur(20px);
  
  z-index: 70;
  
}
.main-nav.open { display: flex !important; }
.menu-toggle { display: inline-flex !important; }
.header-cta, .nav-cmd { display: none !important; }
.gb-hero-copy h1 { font-size: clamp(44px, 12vw, 72px) !important; }
.gb-hero-tags-fx { display: none !important; }
.gb-metrics { grid-template-columns: 1fr 1fr !important; gap: 10px; }
.deck-hint { display: none !important; }
}
@media (max-width: 640px) {
.site-header {   padding: 0 12px;  }
.header-actions { gap: 6px; flex-wrap: nowrap; }

.brand {  flex: 1 1 auto; overflow: hidden; }
.brand-text b { font-size: 10px !important; letter-spacing: .12em !important; }
.brand-text small { font-size: 8px !important; letter-spacing: .12em !important; }
.gb-actions .button { width: 100%; justify-content: center; }
}

/* ============================================================
 V2X4 — ALL-SLIDE VIEWPORT FIT (final override in styles.css)
 Companion: extra-pass.css. Keeps fit even if extra-pass fails to load.
 ============================================================ */
:root {

--slide-pad-top: calc(var(--header) + 10px);

}
.slide,
.slide.fit {
box-sizing: border-box !important;
height: 100svh !important;
min-height: 100svh !important;
max-height: 100svh !important;
padding: var(--slide-pad-top) var(--pad) var(--chrome-bottom) !important;
overflow: hidden !important;
justify-content: center !important;
align-items: center !important;
gap: clamp(6px, 1.1vh, 12px) !important;
}
.gb-contact,
#contacto.slide {
align-items: center !important;
justify-content: center !important;
text-align: center !important;
max-width: none !important;
width: 100% !important;
}
.gb-contact-inner {
width: min(100%, 720px);
max-width: 720px;
margin: 0 auto;
align-self: center;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: clamp(8px, 1.4vh, 16px);
text-align: center;
max-height: var(--slide-inner);
}
.gb-valor-head {
text-align: center;
padding: clamp(14px, 2.2vh, 28px) clamp(16px, 2.5vw, 32px) clamp(10px, 1.6vh, 18px);
border-bottom: 1px solid var(--line-light);



gap: clamp(6px, 1vh, 12px);
flex-shrink: 0;
}
.gb-valor-head h2 {
margin: 0;
max-width: 22ch;
text-align: center;
font-size: clamp(26px, 3.4vw + 0.8vh, 48px);
line-height: 0.94;
}
.gb-valor-head .gb-panel-lead {
margin: 0 auto;
max-width: 52ch;
text-align: center;
}
.gb-valor-bottom { display: none !important; }
.gb-hero-tags-fx {
overflow: hidden !important;
inset: 8px !important;
z-index: 0 !important;
}
@media (max-width: 900px) {
html, body {
  height: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
}
.deck {
  height: 100svh !important;
  max-height: 100svh !important;
  overflow-y: auto !important;
  scroll-snap-type: y mandatory !important;
}
.slide,
.slide.fit {
  height: 100svh !important;
  min-height: 100svh !important;
  max-height: 100svh !important;
  overflow: hidden !important;
  padding: var(--slide-pad-top) var(--pad) var(--chrome-bottom) !important;
}
.gb-panel,
.gb-valor-panel,
.gb-career-panel,
.gb-exp-panel,
.gb-hero-stack {
  height: auto !important;
  max-height: var(--slide-inner) !important;
  overflow: hidden !important;
}
.deck-controls {
  left: 12px !important;
  right: 12px !important;
  bottom: 10px !important;
  justify-content: space-between !important;
}
.deck-hint { display: none !important; }
}

/* ══════════════════════════════════════════════════════════════
 PRO MAX PASS · v=pro-max-1
 Hero particle constellation · cinematic boot · magnetic CTAs
 Gold / ice / sage — EXPERIENCIA world. Additive, non-breaking.
 ══════════════════════════════════════════════════════════════ */

/* —— hero particle net (behind hero content, above ambient) —— */
#inicio .gb-hero-net {
position: absolute; inset: 0;
width: 100%; height: 100%;
z-index: 2;
pointer-events: none;
opacity: .85;
mix-blend-mode: screen;
}
html[data-theme="light"] #inicio .gb-hero-net { mix-blend-mode: multiply; opacity: .5; }

/* —— cinematic boot overlay —— */
.deck-intro { display: none; }
html.intro-on .deck-intro {
display: grid; place-content: center; justify-items: center; gap: 22px;
position: fixed; inset: 0; z-index: 9999;
opacity: 1;
background:
  radial-gradient(ellipse 60% 50% at 50% 42%, #1a1612, #0d0c0a 72%);
}
html.intro-done .deck-intro {
opacity: 0; visibility: hidden; pointer-events: none;
transition: opacity .6s cubic-bezier(.22,1,.36,1), visibility 0s .6s;
}
html[data-theme="light"] html.intro-on .deck-intro,
html.intro-on[data-theme="light"] .deck-intro {
background: radial-gradient(ellipse 60% 50% at 50% 42%, #fff, #f0e9de 72%);
}
.di-core { position: relative; width: 120px; height: 120px; display: grid; place-items: center; }
.di-mark { position: absolute; inset: 0; overflow: visible; }
.di-ring {
stroke: rgba(196,165,116,.85);
stroke-dasharray: 340; stroke-dashoffset: 340;
transform-origin: 60px 60px;
filter: drop-shadow(0 0 6px rgba(196,165,116,.5));
animation: di-draw 1.1s cubic-bezier(.22,1,.36,1) forwards, di-spin 9s linear .9s infinite;
}
.di-ring-2 {
stroke: rgba(122,243,255,.7); stroke-dasharray: 250; stroke-dashoffset: 250;
animation: di-draw2 1.1s cubic-bezier(.22,1,.36,1) .18s forwards, di-spin 7s linear .9s infinite reverse;
filter: drop-shadow(0 0 5px rgba(122,243,255,.5));
}
@keyframes di-draw { to { stroke-dashoffset: 0; } }
@keyframes di-draw2 { to { stroke-dashoffset: 0; } }
@keyframes di-spin { to { transform: rotate(360deg); } }
.di-gb {
position: relative; z-index: 1;
font: 800 28px/1 "JetBrains Mono", ui-monospace, monospace; letter-spacing: .06em;
color: #f7f3ec; text-shadow: 0 0 22px rgba(196,165,116,.5);
opacity: 0; animation: di-gb .7s cubic-bezier(.22,1,.36,1) .5s both;
}
html.intro-on[data-theme="light"] .di-gb { color: #2A2622; text-shadow: none; }
@keyframes di-gb { 0% { opacity: 0; transform: scale(.6); filter: blur(6px); } 100% { opacity: 1; transform: scale(1); filter: none; } }
.di-world {
margin: 0; font: 800 10px/1 "JetBrains Mono", ui-monospace, monospace; letter-spacing: .22em;
color: #C4A574; opacity: 0; animation: di-fade .7s ease .9s forwards;
}
@keyframes di-fade { to { opacity: 1; } }
.di-bar { width: 180px; height: 2px; border-radius: 2px; background: rgba(247,243,236,.12); overflow: hidden; }
.di-bar i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #C4A574, #7af3ff); animation: di-load 1.8s cubic-bezier(.22,1,.36,1) .3s forwards; }
@keyframes di-load { to { width: 100%; } }

/* —— magnetic hero CTAs (uses `translate` so it never fights `transform` hover) —— */
#inicio .gb-actions .button { transition: translate .18s cubic-bezier(.22,1,.36,1); }

@media (max-width: 640px) {
.di-core { width: 96px; height: 96px; }
.di-gb { font-size: 22px; }
}

@media (prefers-reduced-motion: reduce) {
#inicio .gb-hero-net { display: none; }
.di-ring, .di-ring-2, .di-gb, .di-world, .di-bar i { animation: none !important; opacity: 1; stroke-dashoffset: 0; }
}
