/* ============================================================
   Priscilla Hidalgo — site styles
   Extracted from the original single-file page.
   ============================================================ */

:root {
  --ink:#17140f; --paper:#f7f3ec; --warm:#ede6d8; --cream:#faf8f4;
  --teal:#2a6b72; --teal2:#3d9099; --teal-faint:rgba(42,107,114,.08);
  --gold:#a07828; --gold2:#c8863a; --gold-faint:rgba(160,120,40,.1);
  --green:#4F6F60;
  --emerald:#1B4D3E;
  --petrol:#1e4a52;
  --emerald2:#2D6A55;
  --emerald3:rgba(27,77,62,.15); --green2:#5E7F6E;
  --muted:#6e665d; --border:rgba(23,20,15,.1);
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Instrument Sans',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip;scroll-padding-top:84px}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);font-size:16px;line-height:1.72;overflow-x:clip}

/* LANG */
.de,.es{display:none!important}
body.lang-de .en,body.lang-de .es{display:none!important}
body.lang-de .de{display:revert!important}
body.lang-es .en,body.lang-es .de{display:none!important}
body.lang-es .es{display:revert!important}
/* ES inherits the bilingual visual-break styling */
.es{padding-left:1.2rem;border-left:3px solid transparent}
.sec .es{border-left-color:rgba(27,77,62,.25)}
.sec-dark .es{border-left-color:rgba(212,168,74,.4)}
.ey.es{padding-left:0;border-left:none}

/* UTILS */
.ey{font-size:clamp(0.65rem,2vw,0.85rem);letter-spacing:.16em;text-transform:uppercase;color:var(--emerald);display:block;margin-bottom:1rem}
.ey-g{color:var(--gold2)}
.ey-l{color:rgba(247,243,236,.62)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.1}
.rule{width:36px;height:1px;background:var(--emerald);margin:1.4rem 0}
.rule-g{background:var(--gold)}
.rule-l{background:rgba(247,243,236,.2)}

/* BUTTONS */
.btn{display:inline-block;font-family:var(--sans);font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:1rem 2.2rem;transition:all .25s;cursor:pointer;border:none;white-space:nowrap;flex-shrink:0;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}
.btn-teal{background:var(--emerald);color:var(--paper)}.btn-teal:hover{background:var(--emerald2)}
.btn-dark{background:var(--ink);color:var(--paper)}.btn-dark:hover{background:var(--emerald)}
.btn-ghost{border:1px solid var(--ink);color:var(--ink);background:transparent}.btn-ghost:hover{border-color:var(--teal);color:var(--teal)}
.btn-ol{border:1px solid rgba(247,243,236,.35);color:var(--paper);background:transparent}.btn-ol:hover{border-color:var(--gold2);color:var(--gold2)}
.btn-gold{background:var(--gold);color:var(--paper)}.btn-gold:hover{background:var(--gold2)}

/* LANG SWITCHER */
.lang-sw{display:flex}
.lang-btn{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;padding:.4rem .85rem;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--muted);font-family:var(--sans);transition:all .2s;font-weight:500}
.lang-btn:first-child{border-right:none}
.lang-btn.active{background:var(--emerald);color:var(--paper);border-color:var(--emerald)}

/* BILINGUAL VISUAL BREAKS (Fix #3) */
.en, .de {
  display: block;
  padding-left: 1.2rem;
  border-left: 3px solid transparent;
  transition: border-color .3s, background .3s;
}

.sec-dark .en, .sec-dark .de {
  border-left-color: rgba(212,168,74,.4);
}

.sec .en, .sec .de {
  border-left-color: rgba(27,77,62,.25);
}

/* Language-specific styling for visual rhythm */
h2.en, h2.de, h3.en, h3.de {
  padding-left: 1.2rem;
  border-left: 3px solid transparent;
}

.sec-dark h2.en, .sec-dark h2.de, .sec-dark h3.en, .sec-dark h3.de {
  border-left-color: rgba(212,168,74,.5);
}

p.en, p.de {
  padding-left: 1.2rem;
  border-left: 3px solid transparent;
}

.sec-dark p.en, .sec-dark p.de {
  border-left-color: rgba(212,168,74,.35);
}

/* Pillar language variants */
.p-name.en, .p-name.de,
.p-title.en, .p-title.de,
.p-desc.en, .p-desc.de {
  padding-left: 1rem;
  border-left: 2px solid rgba(212,168,74,.25);
}

/* Remove padding/border from .ey labels to keep them flush */
.ey {
  padding-left: 0;
  border-left: none;
}

/* Mobile adjustments */
@media(max-width:768px) {
  .en, .de {
    padding-left: 0.8rem;
    border-left-width: 2px;
  }
  .p-name.en, .p-name.de,
  .p-title.en, .p-title.de,
  .p-desc.en, .p-desc.de {
    padding-left: 0.6rem;
    border-left-width: 2px;
  }
}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:1rem 3rem;gap:1.5rem;background:rgba(247,243,236,.96);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}
.nav-logo{font-family:var(--serif);font-size:1rem;font-weight:500;color:var(--ink);text-decoration:none;letter-spacing:.02em;white-space:nowrap;flex-shrink:0}
.nav-links{display:flex;gap:1.6rem;list-style:none;flex-wrap:nowrap}
.nav-links a{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s;white-space:nowrap}
.nav-links a:hover{color:var(--teal)}
.nav-right{display:flex;align-items:center;gap:.8rem;flex-shrink:0}

/* Mobile nav menu: see the "SMALL SCREENS" block at the end of this file.
   (It must come last so it wins the cascade over the ≤1100px rules below.) */

/* SECTION */
.sec{padding:4rem 4rem}
.sec-dark{background:var(--emerald);color:var(--paper)}
.sec-warm{background:var(--warm)}
.sec-cream{background:var(--cream)}
.sec-teal{background:var(--teal);color:var(--paper)}
.sec-h{font-size:clamp(1.8rem,2.8vw,2.6rem);margin-bottom:2rem;max-width:700px;line-height:1.15}
.sec-p{font-size:1rem;color:var(--muted);line-height:1.88;margin-bottom:1.5rem}
.sec-p strong{color:var(--ink);font-weight:500}
.sec-dark .sec-p{color:rgba(247,243,236,.75)}
.sec-dark .sec-p strong{color:var(--paper)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}
.two-col-w{grid-template-columns:1.3fr 1fr}
.two-col-n{grid-template-columns:1fr 1.4fr}

/* ══ HERO ══ */
#hero{min-height:84vh;padding-top:72px;display:grid;grid-template-columns:1.1fr .9fr;position:relative;overflow:hidden}
/* Mental Load guide is hidden by default; revealed only via its tab/card (openGuide) */
#guide{display:none}
#hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 70% at 78% 45%,rgba(27,77,62,.12) 0%,transparent 65%),radial-gradient(ellipse 40% 50% at 85% 70%,rgba(160,120,40,.07) 0%,transparent 60%);pointer-events:none}
.hero-l{display:flex;flex-direction:column;justify-content:center;padding:4rem 4rem 4rem 4rem;position:relative;z-index:1}
.hero-tag{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);font-weight:500;margin-bottom:1.5rem;position:relative;padding-bottom:.6rem}
.hero-tag::after{content:'';position:absolute;bottom:0;left:0;width:2rem;height:1px;background:linear-gradient(90deg,var(--gold2),transparent)}
.hero-h1{font-size:clamp(2.4rem,4vw,3.8rem);line-height:1.0;margin-bottom:0;max-width:560px;color:var(--ink);font-weight:400;letter-spacing:-.02em}
.hero-h1 .highlight{color:var(--gold);font-weight:500;font-weight:500;position:relative;display:inline}
.hero-h1 .highlight::after{content:'';position:absolute;bottom:.08em;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--green),transparent);opacity:.75}
.hero-followup{display:block;font-size:.62em;font-weight:400;margin-top:1.4rem;color:var(--ink);opacity:.7;line-height:1.2;letter-spacing:0;font-style:italic}
.hero-sub{font-size:1rem;color:#5a5450;max-width:500px;line-height:1.85;margin-bottom:1.5rem;margin-top:1.5rem}
.hero-sub strong{color:var(--ink);font-weight:500}
.hero-trust{margin-bottom:1.8rem;font-size:.82rem;color:#5a5450;display:flex;flex-wrap:wrap;gap:.5rem .2rem;align-items:center}
.trust-check{color:var(--gold2);font-weight:500;margin-right:.3rem}
.trust-dot{color:var(--border);margin:0 .6rem}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}

.hero-r{display:flex;flex-direction:column;justify-content:center;padding:3.5rem 3rem 3.5rem 2.5rem;background:linear-gradient(150deg,var(--warm) 0%,rgba(236,229,216,.7) 100%);position:relative;z-index:1}

/* PHOTO — no circle, warm editorial */
.photo-wrap{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;margin-bottom:2rem;background:linear-gradient(135deg,rgba(27,77,62,.1),rgba(160,120,40,.06))}
.photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 8%;display:block}
.photo-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 60%,rgba(23,20,15,.25) 100%);pointer-events:none}
.photo-deco{position:absolute;pointer-events:none;opacity:.35}

.hero-quote{padding:1.4rem 1.8rem;border-left:2px solid var(--emerald);background:rgba(255,255,255,.55)}
.hero-quote blockquote{font-family:var(--serif);font-size:1.1rem;font-style:italic;line-height:1.55;color:var(--ink);margin-bottom:.7rem}
.hero-quote cite{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-style:normal}

/* ══ STATS — D'Efilippo × Dalí ══
   Each stat has its own visual metaphor.
   D'Efilippo: form = meaning. Dalí: precise numbers in organic, impossible space.
   Palette: Dalí's muted ochre/gold/brown/shadow on emerald ground. */

.stats-viz {
  background: var(--emerald);
  border-top: 2px solid rgba(212,168,74,.4);
  padding: 2rem 4rem;
  position: relative;
  overflow: hidden;
}

/* Dalí horizon line — the landscape beneath the numbers */
.stats-viz::before { display: none; }
/* Golden hour atmosphere — Dalí's Catalonian light */
.stats-viz::after { display: none; }

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  position: relative;
  z-index: 1;
}

.stat-viz {
  padding: 1.5rem 1.8rem 1.6rem;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-right: 1px solid rgba(247,243,236,.07);
}
.stat-viz:last-child { border-right: none; }

/* Dalí shadow under each number — objects casting long shadows at golden hour */
.stat-shadow { display: none; }

/* ── STAT 1: $100M+ — liquid gold flowing number ── */
.stat-money .stat-numeral {
  font-family: var(--serif);
  font-size: 3rem;
  font-weight: 400;
  line-height: 1;
  color: #d4a84a;
  letter-spacing: -.02em;
  position: relative;
}
.stat-money .stat-numeral::after {
  /* Dalí drip — the number melts at the base */
  content: '';
  position: absolute;
  bottom: -.4rem;
  left: 0;
  width: 60%;
  height: 3px;
  background: linear-gradient(90deg, rgba(212,168,74,.6), transparent);
  border-radius: 0 0 4px 4px;
  animation: drip 3s ease-in-out infinite alternate;
}
@keyframes drip {
  from { width: 55%; opacity: .5; }
  to   { width: 75%; opacity: .8; }
}
/* Gold pool at the base — liquid that has dripped */
.stat-money .stat-pool {
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, rgba(212,168,74,.35), rgba(212,168,74,.08), transparent);
  margin-top: .6rem;
  margin-bottom: .6rem;
}

/* ── STAT 2: 400% — nautilus/growth spiral via SVG ── */
.stat-growth .stat-numeral {
  font-family: var(--serif);
  font-size: 3rem;
  font-weight: 400;
  line-height: 1;
  color: #d4a84a;
  letter-spacing: -.02em;
  position: relative;
}
.stat-growth .stat-spiral {
  width: 48px;
  height: 48px;
  margin-top: .6rem;
  margin-bottom: .8rem;
  opacity: .7;
}

/* ── STAT 3: 14K — constellation of dots ── */
.stat-partners .stat-numeral {
  font-family: var(--serif);
  font-size: 3rem;
  font-weight: 400;
  line-height: 1;
  color: #d4a84a;
  letter-spacing: -.02em;
}
.stat-partners .stat-constellation {
  width: 100%;
  height: 48px;
  margin-top: .6rem;
  margin-bottom: .8rem;
}

/* ── STAT 4: 5 countries — horizon with floating numerals ── */
.stat-world .stat-numeral {
  font-family: var(--serif);
  font-size: 3rem;
  font-weight: 400;
  line-height: 1;
  color: #d4a84a;
  letter-spacing: -.02em;
}
.stat-world .stat-horizon {
  width: 100%;
  height: 48px;
  margin-top: .6rem;
  margin-bottom: .8rem;
}

/* Shared label styling */
.stat-label-main {
  font-size: .66rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(247,243,236,.72);
  line-height: 1.4;
  font-weight: 500;
}
.stat-label-sub {
  font-size:.7rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color:rgba(61,144,153,0.7);
  margin-top: .2rem;
  line-height: 1.35;
}

/* Hover reveal — D'Efilippo: macro → micro on interaction */
.stat-viz:hover .stat-label-sub {
  color: rgba(247,243,236,.45);
}

@media(max-width:900px){
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stats-viz { padding: 2.5rem 2rem; }
}

/* ══ OLD STATS BAR (replaced) ══ */
.stats-bar{background:var(--emerald);display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--teal)}
.stat-cell{padding:2.2rem 2rem;border-right:1px solid rgba(247,243,236,.07)}
.stat-cell:last-child{border-right:none}
.stat-n{font-family:var(--serif);font-size:2.6rem;line-height:1;color:var(--paper)}
.stat-n span{color:var(--gold2)}
.stat-l{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(247,243,236,.62);margin-top:.4rem}

/* ══ LANGUAGE AS METHOD (VIBE CODING) ══ */
.vibe-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);margin-top:2.5rem}
.vc{padding:2.2rem 2.5rem;background:var(--paper)}
.vc-dark{background:var(--ink);color:var(--paper)}
.vc-teal{background:var(--teal);color:var(--paper)}
.vc-full{grid-column:1/-1;background:var(--warm)}
.vc h3{font-size:1.5rem;margin-bottom:1.1rem;line-height:1.2}
.vc-dark h3,.vc-teal h3{color:var(--paper)}
.vc p{font-size:.9rem;line-height:1.85;color:var(--muted)}
.vc-dark p{color:rgba(247,243,236,.62)}
.vc-teal p{color:rgba(247,243,236,.88)}
.vc-full p{color:var(--muted)}
.big-s{font-family:var(--serif);font-style:italic;font-size:1.7rem;line-height:1.35;color:var(--ink);margin-bottom:1.2rem}

/* ══ PILLARS ══ */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(247,243,236,.12);margin:2.5rem 0}
.pillar{padding:2.8rem 2rem;background:rgba(255,255,255,.06);border-top:2px solid rgba(61,144,153,.2);transition:border-color .25s,background .25s}
.pillar:hover{background:rgba(255,255,255,.12);border-top-color:var(--teal2)}

.p-name{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold2);margin-bottom:.7rem}
.p-title{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:rgba(247,243,236,.95);margin-bottom:.9rem;line-height:1.3}
.p-desc{font-size:.875rem;color:rgba(247,243,236,.78);line-height:1.8}

/* ══ THINKERS ══ */

/* ══ LENS LIBRARY — D'Efilippo inspired ══ */
.lens-section { margin-top: 4rem; }
.lens-intro {
  font-size: .64rem; letter-spacing: .22em; text-transform: uppercase;
  color: rgba(247,243,236,.38); margin-bottom: 3rem; display: block;
}

/* Radial map container */
.lens-map-wrap {
  display: flex; flex-direction: column; align-items: center;
  margin-bottom: 3rem; position: relative;
}
.lens-radial {
  width: 480px; height: 480px; max-width: 100%;
  position: relative; margin: 0 auto 2rem;
}
.lens-radial svg { width: 100%; height: 100%; overflow: visible; }

/* Arc labels */
.lens-arc-label {
  font-family: var(--serif); font-style: italic;
  fill: rgba(247,243,236,.55); font-size: 13px;
  transition: fill .2s;
}
.lens-arc-label.hovered { fill: rgba(247,243,236,.95); }

/* Center circle */
.lens-center-text {
  font-family: var(--serif); font-style: italic;
  fill: rgba(247,243,236,.5); font-size: 11px; text-anchor: middle;
}

/* Discipline buttons */
.lens-tabs {
  display: flex; flex-wrap: wrap; gap: .6rem;
  justify-content: center; margin-bottom: 3rem;
}
.lens-tab {
  font-size: .62rem; letter-spacing: .16em; text-transform: uppercase;
  padding: .55rem 1.4rem; cursor: pointer; border: 1px solid rgba(247,243,236,.15);
  background: transparent; color: rgba(247,243,236,.45);
  font-family: var(--sans); transition: all .25s; font-weight: 500;
}
.lens-tab:hover { border-color: rgba(247,243,236,.4); color: rgba(247,243,236,.8); }
.lens-tab.on { color: var(--teal2); border-bottom: 2px solid var(--teal2); }

/* Lens panels — D'Efilippo: each discipline has its own visual feel */
.lens-panel { display: none; }
.lens-panel.on { display: block; }

.lens-cards-grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 1px;
  background: rgba(247,243,236,.08);
}

/* Each card: thinker name large as visual element, meaning as data point */
.lc {
  padding: 2.5rem 2rem; background: var(--emerald);
  position: relative; overflow: hidden;
  transition: background .3s; cursor: default;
}
.lc:hover { background: var(--emerald2); }

/* Decorative large initial — D'Efilippo uses oversized type as visual */
.lc-initial{display:none}

/* Domain tag */
.lc-domain {
  font-size: .56rem; letter-spacing: .22em; text-transform: uppercase;
  margin-bottom: 1rem; display: block; opacity: .5;
}
/* Name — the star of the card */
.lc-name {
  font-family: var(--serif); font-style: italic;
  font-size: 1.6rem; line-height: 1.1; margin:0;
  color: rgba(247,243,236,.92);
}
/* 3-word meaning — displayed as a data label */
.lc-meaning {
  font-size: .72rem; font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase; margin-bottom: 1.2rem;
  padding: .3rem .7rem; display: inline-block;
  border-radius: 0; /* no radius — D'Efilippo is geometric */
}
/* How I use it */
.lc-use {
  font-size: .85rem; color: rgba(247,243,236,.65);
  line-height: 1.75; border-top: 1px solid rgba(247,243,236,.1);
  padding-top: 1rem; margin-top: .2rem;
}

/* Color per discipline — D'Efilippo gives each category its own palette */
.lc-anthro .lc-domain  { color: #d4a84a; }
.lc-anthro .lc-meaning { background: rgba(212,168,74,.15); color: #d4a84a; }
.lens-tab-anthro.on    { background: rgba(212,168,74,.2); border-color: #d4a84a; color: #d4a84a; }

.lc-mind .lc-domain    { color: #e8c5a0; }
.lc-mind .lc-meaning   { background: rgba(232,197,160,.15); color: #d4a84a; }
.lens-tab-mind.on      { background: rgba(168,197,181,.15); border-color: #a8c5b5; color: #a8c5b5; }

.lc-strat .lc-domain   { color: #e8c5a0; }
.lc-strat .lc-meaning  { background: rgba(232,197,160,.12); color: #e8c5a0; }
.lens-tab-strat.on     { background: rgba(232,197,160,.15); border-color: #e8c5a0; color: #e8c5a0; }

.lc-pm .lc-domain      { color: #e8c5a0; }
.lc-pm .lc-meaning     { background: rgba(232,197,160,.15); color: #d4a84a; }
.lens-tab-pm.on        { background: rgba(184,212,200,.15); border-color: #b8d4c8; color: #b8d4c8; }

/* Arc fill colors in SVG */
.arc-anthro  { fill: rgba(212,168,74,.18);  stroke: rgba(212,168,74,.5);  stroke-width: 1.5; }
.arc-mind    { fill: rgba(168,197,181,.15); stroke: rgba(168,197,181,.5); stroke-width: 1.5; }
.arc-strat   { fill: rgba(232,197,160,.15); stroke: rgba(232,197,160,.5); stroke-width: 1.5; }
.arc-pm      { fill: rgba(184,212,200,.15); stroke: rgba(184,212,200,.5); stroke-width: 1.5; }
.arc-anthro.active  { fill: rgba(212,168,74,.32);  }
.arc-mind.active    { fill: rgba(168,197,181,.28); }
.arc-strat.active   { fill: rgba(232,197,160,.28); }
.arc-pm.active      { fill: rgba(184,212,200,.28); }

@media(max-width:900px){
  .lens-cards-grid { grid-template-columns: 1fr; }
  .lens-radial { width: 320px; height: 320px; }
}

/* ══ PILLARS ══ */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(247,243,236,.12);margin:2.5rem 0}
.pillar{padding:2.8rem 2rem;background:rgba(255,255,255,.06);border-top:2px solid rgba(61,144,153,.2);transition:border-color .25s,background .25s}
.pillar:hover{background:rgba(255,255,255,.12);border-top-color:var(--teal2)}

.p-name{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold2);margin-bottom:.7rem}
.p-title{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:rgba(247,243,236,.95);margin-bottom:.9rem;line-height:1.3}
.p-desc{font-size:.875rem;color:rgba(247,243,236,.78);line-height:1.8}

/* ══ THINKERS ══ */

/* ══ LENS LIBRARY ══ */
.lens-section{margin-top:2rem}
.lens-intro{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(247,243,236,.62);margin-bottom:2rem;display:block}
.lens-categories{display:flex;flex-direction:column;gap:1px;background:rgba(247,243,236,.06)}
.lens-cat{padding:0}
.lens-cat-header{padding:1.2rem 2rem;display:flex;align-items:center;gap:1.5rem;cursor:pointer;transition:background .2s;user-select:none}
.lens-cat-header:hover{background:rgba(247,243,236,.04)}
.lens-cat-label{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;min-width:180px}
.lens-cat-line{flex:1;height:1px;background:rgba(247,243,236,.12)}
.lens-cat-toggle{font-size:.7rem;color:rgba(247,243,236,.55);transition:transform .3s}
.lens-cat.open .lens-cat-toggle{transform:rotate(45deg)}
.lens-cards{display:none;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;background:rgba(247,243,236,.06);padding-bottom:1px}
.lens-cat.open .lens-cards{display:grid}
.lens-card{background:var(--emerald);padding:2rem 1.8rem;position:relative;overflow:hidden;transition:background .25s}
.lens-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;opacity:0;transition:opacity .25s}
.lens-card:hover{background:var(--emerald2)}
.lens-card:hover::before{opacity:1}
.lens-card-domain{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(247,243,236,.68);margin-bottom:.8rem}
.lens-card-name{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:rgba(247,243,236,.9);margin-bottom:.5rem;line-height:1.2}
.lens-card-arrow{color:rgba(247,243,236,.25);font-size:.7rem;margin:0 .4rem}
.lens-card-meaning{font-size:.78rem;font-weight:500;letter-spacing:.06em;margin-bottom:1rem;line-height:1.3}
.lens-card-use{font-size:.82rem;color:rgba(247,243,236,.65);line-height:1.65;border-top:1px solid rgba(247,243,236,.1);padding-top:.8rem}

/* Category accent colors */
.lens-cat-anthro .lens-cat-label{color:#d4a84a}
.lens-cat-anthro .lens-card::before{background:#d4a84a}
.lens-cat-anthro .lens-card-meaning{color:#d4a84a}

.lens-cat-mind .lens-cat-label{color:#a8c5b5}
.lens-cat-mind .lens-card::before{background:#a8c5b5}
.lens-cat-mind .lens-card-meaning{color:#a8c5b5}

.lens-cat-strategy .lens-cat-label{color:#e8c5a0}
.lens-cat-strategy .lens-card::before{background:#e8c5a0}
.lens-cat-strategy .lens-card-meaning{color:#e8c5a0}

.lens-cat-pm .lens-cat-label{color:#b8d4c8}
.lens-cat-pm .lens-card::before{background:#b8d4c8}
.lens-cat-pm .lens-card-meaning{color:#b8d4c8}

.thinkers{display:flex;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1)}
.thinker{flex:1 1 180px;padding:1.5rem 2rem;display:flex;align-items:baseline;gap:1rem;border-right:1px solid rgba(247,243,236,.06)}
.thinker:last-child{border-right:none}
.th-name{font-family:var(--serif);font-style:italic;font-size:.95rem;color:rgba(247,243,236,.55);white-space:nowrap}
.th-arrow{font-size:.7rem;color:rgba(247,243,236,.16)}
.th-meaning{font-size:.76rem;color:rgba(247,243,236,.72)}

/* ══ EVERYDAY LIFE CARDS ══ */

.life-card{padding:2rem;border-top:2px solid var(--border);transition:border-color .2s,transform .2s}
.life-card:hover{border-top-color:var(--emerald);transform:translateY(-3px)}
.life-icon{font-size:1.4rem;margin-bottom:1.1rem;display:block}
.life-card h3{font-size:1.05rem;margin-bottom:.7rem}
.life-card p{font-size:.86rem;color:#5a5450;line-height:1.8}

/* ══ PROOF PANELS (selector strip is .proof-teaser; the old duplicate .proof-tabs row was removed) ══ */
.pp{display:none}
.pp.on{display:grid;grid-template-columns:1.2fr 0.8fr;gap:3.5rem;align-items:start}
.proof-ctx{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:1.5rem}
.proof-title{font-size:clamp(1.8rem,2.5vw,2.4rem);margin-bottom:1.5rem;line-height:1.15}
.proof-step{border-left:2px solid rgba(61,144,153,0.2);padding-left:.8rem;margin-bottom:1.4rem}
.proof-step-l{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.45rem}
.proof-step p{font-size:.875rem;color:#5a5450;line-height:1.8}
.proof-step p strong{color:var(--ink);font-weight:500}
.proof-results{display:flex;flex-direction:column;gap:1.2rem}
.pr-item{display:flex;align-items:baseline;gap:1rem;padding:1.2rem 1.5rem;background:var(--warm)}
.pr-n{font-family:var(--serif);font-size:2rem;font-weight:500;color:var(--emerald);white-space:nowrap;line-height:1}
.pr-l{font-size:.82rem;color:#5a5450;line-height:1.5}
.proof-aside{padding:1.5rem 1.8rem;border-left:3px solid var(--gold);background:var(--cream);margin-top:1.5rem}
.proof-aside p{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--ink);line-height:1.6}

/* ══ AUDIENCE ══ */
.aud-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(247,243,236,.08);margin-top:0}
.aud-card{background:rgba(255,255,255,.04);padding:2rem 2.5rem;border-top:2px solid transparent;transition:border-color .3s,background .3s}
.aud-card:hover{background:rgba(247,243,236,.06);border-top-color:var(--gold2)}
.aud-ey{font-size:.67rem;letter-spacing:.22em;text-transform:uppercase;color:var(--teal2);margin-bottom:1rem;display:block}
.aud-card h3{font-size:1.3rem;color:var(--paper);margin-bottom:.6rem;line-height:1.2}
.aud-card>p{font-size:.9rem;color:rgba(247,243,236,.72);line-height:1.75;margin-bottom:1.5rem}
.aud-list{list-style:none;margin-bottom:1.4rem;display:flex;flex-direction:column;gap:.7rem}
.aud-list li{font-size:.84rem;color:rgba(247,243,236,.65);padding-left:1.2rem;position:relative;line-height:1.6}
.aud-list li::before{content:'—';position:absolute;left:0;color:var(--teal2)}

/* ══ ABOUT ══ */
.cred-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.8rem}
.cred{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;padding:.38rem .9rem;border:1px solid rgba(23,20,15,.15);color:#5a5450}
.bio-box{padding:2rem;background:var(--warm);border-top:3px solid var(--emerald);margin-top:2rem}
.bio-box-l{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:1.2rem;display:block}
.bio-box p{font-size:.92rem;color:var(--ink);line-height:1.88}

/* ══ WRITING ══ */
.writing-row{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:2.5rem}
.wc{padding:2rem;border-bottom:2px solid var(--border);transition:border-color .2s,transform .2s}
.wc:hover{border-bottom-color:var(--gold);transform:translateY(-4px)}
.wc-tag{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--emerald);margin-bottom:1rem;display:block}
.wc h3{font-size:1.2rem;margin-bottom:.9rem;line-height:1.3}
.wc p{font-size:.85rem;color:#5a5450;line-height:1.75}

/* ══ CONTACT ══ */
#contact{background:var(--emerald);color:var(--paper);text-align:center;padding:6rem 4rem;position:relative;overflow:hidden}
#contact::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 30% 50%,rgba(27,77,62,.25) 0%,transparent 60%),radial-gradient(ellipse 50% 60% at 75% 40%,rgba(160,120,40,.12) 0%,transparent 55%);pointer-events:none}
#contact>*{position:relative;z-index:1}
#contact h2{font-size:clamp(2rem,3vw,3rem);color:var(--paper);max-width:700px;margin:1.2rem auto 1.5rem}
#contact h2 em{color:var(--gold2);font-style:italic}
.contact-sub{font-size:1rem;color:rgba(247,243,236,.7);max-width:560px;margin:0 auto 2.5rem;line-height:1.85}
.cta-row{display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap}

/* ══ FOOTER ══ */
footer{background:var(--emerald);border-top:1px solid rgba(247,243,236,.08);padding:1.8rem 4rem;display:flex;justify-content:space-between;align-items:center}
footer p,footer a{font-size:.75rem;color:rgba(247,243,236,.58);text-decoration:none;letter-spacing:.04em}
footer a:hover{color:rgba(247,243,236,.6)}
.footer-s{font-family:var(--serif);font-style:italic;color:rgba(247,243,236,.3);font-size:.9rem}

/* ══ ANIMATIONS ══ */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.hero-l>*{animation:fadeUp .85s cubic-bezier(.22,.68,0,1.15) both}
.hero-l>*:nth-child(1){animation-delay:.06s}
.hero-l>*:nth-child(2){animation-delay:.18s}
.hero-l>*:nth-child(3){animation-delay:.3s}
.hero-l>*:nth-child(4){animation-delay:.42s}
.hero-l>*:nth-child(5){animation-delay:.52s}
.hero-l>*:nth-child(6){animation-delay:.6s}
.hero-r{animation:fadeUp .85s .5s cubic-bezier(.22,.68,0,1.15) both}

/* ══ RESPONSIVE ══ */
@media(max-width:1100px){
  nav{padding:1.1rem 1.4rem}
  .nav-burger{display:flex}
  .nav-linkedin{display:none}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;
    background:var(--paper);border-bottom:1px solid var(--border);box-shadow:0 22px 34px -26px rgba(23,20,15,.6);
    padding:.4rem 1.4rem 1.1rem;margin:0}
  nav.menu-open .nav-links{display:flex}
  .nav-links li{width:100%}
  .nav-links a{display:block;padding:.95rem .2rem;font-size:.74rem;border-bottom:1px solid var(--border)}
  .sec{padding:4rem 2rem}
  #hero{grid-template-columns:1fr}
  .hero-l{padding:4rem 2rem}
  .hero-r{padding:4rem 2rem}
  .two-col,.two-col-w,.two-col-n,.pp.on,.aud-grid{grid-template-columns:1fr}
  .pillars{grid-template-columns:1fr 1fr}
  
  .stats-bar{grid-template-columns:1fr 1fr}
  .vibe-grid{grid-template-columns:1fr}
  .vc-full{grid-column:1}
  .thinkers{flex-direction:column}
  footer{flex-direction:column;gap:.8rem;text-align:center}
}

/* ══ LANGUAGE SECTION — D'Efilippo bridge viz + editorial strip ══ */

/* Bridge viz wrapper */
.gap-bridge-wrap {
  background: rgba(255,255,255,.6);
  padding: 2rem 1.5rem 1.5rem;
  border: 1px solid rgba(23,20,15,.08);
  position: relative;
}
.gap-bridge-label {
  font-size: .6rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--muted); display: block; margin-bottom: 1.2rem; text-align: center;
}
.gap-bridge-svg {
  width: 100%; height: auto; min-height: 300px; display: block;
}

/* Editorial strip — 3 horizontal items, not a boxy grid */
.lang-strip {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: rgba(23,20,15,.08);
  margin-top: 0;
}
.lang-strip-item {
  display: flex;
  align-items: flex-start;
  gap: 2.5rem;
  padding: 3rem 3.5rem;
  position: relative;
}
.lang-strip-dark   { background: var(--emerald); color: var(--paper); }
.lang-strip-emerald{ background: #163d32; color: var(--paper); }
.lang-strip-quote  { background: var(--warm); }


.lang-strip-quote 

.lang-strip-body { flex: 1; }
.lang-strip-body h3 {
  font-size: 1.25rem;
  margin-bottom: 1rem;
  line-height: 1.25;
  color: var(--paper);
}
.lang-strip-quote .lang-strip-body h3 { color: var(--ink); }
.lang-strip-body p {
  font-size: .92rem;
  line-height: 1.85;
  color: rgba(247,243,236,.7);
}
.lang-strip-quote .lang-strip-body p { color: var(--muted); }

.lang-strip-viz {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
}

@media(max-width:900px) {
  .lang-strip-item { flex-direction: column; padding: 2.5rem 2rem; gap: 1.5rem; }
  .lang-strip-viz  { align-self: flex-start; }
  .two-col-w       { grid-template-columns: 1fr; }
}

/* ══ OPTIC LENS DIAGRAM — D'Efilippo × Venn ══ */
.method-top { margin-bottom: 2.5rem; }

.lens-optic-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 4rem;
}
.lens-optic-diagram {
  width: 100%;
  max-width: 600px;
  margin: 0 auto 2.5rem;
}
.lens-optic-svg {
  width: 100%;
  height: auto; min-height: 300px;
  display: block;
}

/* Hover: active circle gets brighter fill */
.optic-circle { transition: fill .3s, stroke .3s; }
.oc-mind.active  { fill: rgba(168,197,181,.35) !important; stroke: rgba(168,197,181,.8) !important; }
.oc-strat.active { fill: rgba(232,197,160,.35) !important; stroke: rgba(232,197,160,.8) !important; }
.oc-pm.active    { fill: rgba(184,212,200,.35) !important; stroke: rgba(184,212,200,.8) !important; }

/* Tab active states matching lens colors */
.lens-tab-strat.on { background: rgba(232,197,160,.12); border-color: rgba(232,197,160,.6); color: #e8c5a0; border-left: 3px solid rgba(232,197,160,.7); }
.lens-tab-pm.on    { background: rgba(184,212,200,.12); border-color: rgba(184,212,200,.6); color: #b8d4c8; border-left: 3px solid rgba(184,212,200,.7); }
.lens-tab-mind.on  { background: rgba(168,197,181,.12); border-color: rgba(168,197,181,.6); color: #a8c5b5; border-left: 3px solid rgba(168,197,181,.7); }

@media(max-width:900px){
  .lens-optic-diagram { max-width: 100%; }
}

/* ══ PROOF — D'Efilippo data signatures ══ */
.proof-sig {
  margin-bottom: 2rem;
  opacity: .8;
  display: flex;
  justify-content: center;
}
.proof-sig svg { display: block; }

/* ══ COACHING — D'Efilippo four stems ══ */
.coaching-wrap {
  background: var(--cream);
  padding: 2rem 4rem;
  position: relative;
  overflow: hidden;
}
.coaching-wrap::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 60% 70% at 80% 50%, rgba(168,197,181,.12) 0%, transparent 65%);
  pointer-events: none;
}
.coaching-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
  position: relative; z-index: 1;
}
.coaching-left {}
.coaching-eyebrow {
  font-size: .64rem; letter-spacing: .22em; text-transform: uppercase;
  color: var(--teal2); display: block; margin-bottom: 1rem;
}
.coaching-title {
  font-family: var(--serif);
  font-size: clamp(1.9rem, 3vw, 2.6rem);
  font-weight: 400; line-height: 1.1;
  color: var(--ink); margin-bottom: 1.5rem;
}
.coaching-title em { font-style: italic; color: var(--teal2); }
.coaching-intro {
  font-size: .98rem; color: #5a5450;
  line-height: 1.88; margin-bottom: 2.5rem;
  max-width: 480px;
}
.coaching-intro strong { color: var(--ink); font-weight: 500; }

/* Credentials strip — typographic, no emoji */
.coaching-creds {
  display: flex; flex-direction: column;
  gap: .9rem; margin-bottom: 2.5rem;
}
.coaching-cred {
  display: flex; align-items: baseline; gap: 1rem;
}
.coaching-cred-mark {
  font-family: var(--serif); font-style: italic;
  font-size: .85rem; color: var(--gold);
  min-width: 1.2rem; text-align: center;
}
.coaching-cred-text {
  font-size: .85rem; color: #5a5450; line-height: 1.5;
}
.coaching-cred-text strong { color: var(--ink); font-weight: 500; }

/* CTA */
.coaching-cta {
  font-size: .7rem; letter-spacing: .14em; text-transform: uppercase;
  padding: .9rem 2rem; border: 1px solid var(--teal2);
  color: var(--teal2); background: transparent; text-decoration: none;
  display: inline-block; transition: all .2s;
}
.coaching-cta:hover { background: var(--teal2); color: var(--paper); }

/* RIGHT: Four stems visualization */
.coaching-right {
  display: flex; flex-direction: column; align-items: center;
}
.stems-svg { width: 100%; max-width: 420px; height: auto; min-height: 300px; display: block; }

/* Pillar labels beneath stems */
.pillars-row {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: .5rem; width: 100%; max-width: 420px;
  margin-top: 1.5rem;
}
.pillar-item {
  display: flex; flex-direction: column; align-items: center;
  text-align: center;
}
.pillar-name-new {
  font-family: var(--serif); font-style: italic;
  font-size: .95rem; color: var(--ink); margin-bottom: .3rem;
}
.pillar-desc-new {
  font-size: .72rem; color: var(--muted);
  line-height: 1.5; text-align: center;
}

@media(max-width:900px) {
  .coaching-wrap { padding: 4rem 2rem; }
  .coaching-inner { grid-template-columns: 1fr; gap: 3rem; }
  .stems-svg { max-width: 340px; margin: 0 auto; }
  .pillars-row { max-width: 340px; margin: 1.5rem auto 0; }
}

/* ══ PROOF TEASER — always-visible strip before tabs ══ */
.proof-teaser {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 1px; background: var(--border);
  margin-bottom: 3rem;
}
.pt-item {
  padding: 1.4rem 1.8rem; background: var(--cream);
  cursor: pointer; transition: background .2s;
  border-bottom: 2px solid transparent; overflow: hidden;
}
.pt-item:hover, .pt-item.pt-active {
  background: var(--warm); border-bottom-color: var(--teal2);
}
.pt-label {
  display: block; font-family: var(--serif); font-style: italic;
  font-size: 1rem; color: var(--ink); margin-bottom: .3rem;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pt-sub {
  display: -webkit-box; font-size: .7rem; letter-spacing: .05em;
  color: rgba(61,144,153,0.75); line-height: 1.5;
  -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
@media(max-width:900px){
  .proof-teaser { grid-template-columns: 1fr; }
}

nav .btn{padding:.55rem 1.4rem;font-size:.6rem;letter-spacing:.1em}

/* ══ PROOF PANEL — 2-column structural fix ══ */
.proof-col-left { min-width: 0; }
.proof-col-right { min-width: 0; max-width: 320px; display: flex; align-items: flex-start; justify-content: center; padding-top: 0; }

.lang-strips { display: flex; flex-direction: column; gap: 0; }

/* ══ COACHING PANEL — full-width override ══ */
#pp-coaching.on {
  display: block !important;
  width: 100%;
}

/* ══ PRODUCT PANELS (LightenAI, AI Course) ══ */
.pp-prod.on { display: block !important; width: 100%; }
.prod-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 3.5rem; align-items: start; margin-top: 1.6rem; }
.stack-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 .4rem; }
.stack-chip {
  font-family: var(--sans); font-size: .62rem; letter-spacing: .1em;
  text-transform: uppercase; color: var(--emerald);
  border: 1px solid var(--emerald3); background: var(--cream);
  padding: .35rem .75rem; border-radius: 2rem; white-space: nowrap;
}
.prod-cta-row { display: flex; gap: 1.2rem; align-items: center; flex-wrap: wrap; margin-top: 1.8rem; }
.prod-note { font-size: .75rem; color: var(--muted); }
.prod-note a { color: var(--emerald); }
@media(max-width:900px){ .prod-grid { grid-template-columns: 1fr; } }

/* ══ HERO BRIDGE LINE ══ */
.hero-bridge {
  font-size: .92rem;
  color: var(--muted);
  line-height: 1.65;
  border-top: 1px solid var(--border);
  margin-top: 1.3rem;
  padding-top: 1.1rem;
  max-width: 44em;
}

/* ══ CONTACT FORM ══ */
.cform { max-width: 720px; margin: 2.5rem auto 0; background: var(--cream); border: 1px solid var(--border); padding: clamp(1.4rem, 3.5vw, 2.2rem); text-align: left; }
.cform-intro { font-size: .9rem; color: var(--muted); margin-bottom: 1.2rem; }
.cf-row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1rem; }
@media(max-width:700px){ .cf-row { grid-template-columns: 1fr; } }
.cf-fld { margin-bottom: 1rem; }
.cf-fld label { display: block; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-bottom: .3rem; }
.cf-fld input, .cf-fld select, .cf-fld textarea { width: 100%; font-family: var(--sans); font-size: .95rem; color: var(--ink); background: var(--paper); border: 1px solid var(--border); padding: .65rem .75rem; }
.cf-fld textarea { min-height: 100px; resize: vertical; }
.cf-note { font-size: .72rem; color: var(--muted); margin-top: .9rem; line-height: 1.5; }
.cf-note a { color: var(--emerald); }
.cf-hidden { display: none; }


/* ══ Proof Editorial Metrics ══ */
.proof-metrics { display:flex; flex-direction:column; gap:.8rem; padding:.5rem 0; }
.pm-row { display:flex; align-items:flex-start; gap:1.2rem; padding:.6rem 0;
          border-bottom:1px solid rgba(122,114,106,0.18); }
.pm-row:last-child { border-bottom:none; }
.pm-stat { font-family:var(--serif); font-size:2rem; font-weight:500;
           line-height:1; min-width:80px; flex-shrink:0; }
.pm-body { flex:1; min-width:0; }
.pm-label { font-family:var(--sans); font-size:.76rem; letter-spacing:.05em;
            color:rgba(122,114,106,0.9); line-height:1.5; margin-bottom:3px; }
.pm-bar { height:2px; border-radius:1px; margin-top:5px; }

/* ══ About Journey + Data Marks ══ */
.about-marks { display:flex; flex-direction:column; gap:1.8rem; justify-content:center; }
.about-mark { display:flex; flex-direction:column; }
.am-label { font-family:var(--sans); font-size:.66rem; letter-spacing:.12em;
            text-transform:uppercase; color:rgba(122,114,106,0.85); margin-top:.25rem; line-height:1.45; }

/* ══ Step Numbers — #3d9099 teal system ══ */




/* Lens tab hover */
.lens-tab:hover { color: var(--teal2); }
/* Nav active/hover */
.nav-links a:hover { color: var(--teal2) !important; }
/* List bullets — aud-list dashes */
.aud-list li::before { color: var(--teal2) !important; }
/* Life card h3 — subtle teal accent on How cards */
.life-card h3 { color: var(--teal2); }
/* Proof aside border — teal2 for a cooler precise tone */
.proof-aside { border-left-color: var(--teal2) !important; }
/* Writing card tag — keep emerald but hover teal */
.wc:hover .wc-tag { color: var(--teal2); }
/* pm-row last divider */
.pm-row { border-bottom-color: rgba(61,144,153,0.12) !important; }
/* Contact h2 em italic */
#contact h2 em { color: var(--teal2) !important; }

.wc:hover h3 { color: var(--teal2); }

#contact .ey { color: var(--teal2) !important; }

.pt-item:hover .pt-label { color: var(--teal2); }

/* ══ Mobile readability improvements ══ */
@media(max-width:768px) {
  .stat-numeral { font-size: 2.4rem !important; }
  .pm-stat { font-size: 1.6rem !important; }
  .proof-title { font-size: 1.5rem !important; }
  .lang-strip-body h3 { font-size: 1.1rem !important; }
  .lang-strip-item { gap: 1.5rem; }
  .wc h3 { font-size: 1rem !important; }
  .am-label { font-size: .68rem; }
  
  .sec-h { font-size: 1.6rem !important; }
  .proof-step p { font-size: .88rem; }
  .lens-card-use { font-size: .8rem; }
}







/* Language strip: large decorative — same system, lighter stroke
   because the number is decorative ghost at 3.5rem not a label   */

/* Override for light bg (.lang-strip-quote uses ink-tinted bg) */
.lang-strip-quote 
/* Dark/emerald strips: slightly more visible */
.lang-strip-dark .lang-strip-num,
.lang-strip-emerald 


/* ══ SEQUENTIAL STEP NUMBERS — unified brand system ══
   Teal fill + black text-stroke outline.
   paint-order: stroke fill = stroke renders BEHIND fill, not eating into letterforms.
   All three classes: identical visual, different contexts.            */




/* ══ SEQUENTIAL STEP NUMBERS — unified brand system ══
   Same visual identity: Playfair italic, teal fill, outlined letterforms.
   Stroke color adapts to background so outline is always visible:
   - Dark bg (emerald pillars, lang strips) → paper/white stroke
   - Light bg (warm How section cards)      → dark/black stroke          */

/* Shared base — all three */
.p-num,
.proof-step-n,
.p-num,
.proof-step-n,
.lang-strip-num {
  font-family: var(--serif) !important;
  font-style: italic !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: var(--teal2) !important;
  paint-order: stroke fill !important;
  letter-spacing: .02em;
  line-height: 1;
  opacity: 1 !important;
  display: block;
  margin-bottom: .6rem;
  min-width: unset;
  margin-top: 0;
}

/* Dark bg (Method pillars on emerald, Language strips on emerald):
   paper-white stroke so outline is visible against dark surface */
.p-num,
.lang-strip-num {
  -webkit-text-stroke: 2px rgba(247,243,236,0.7) !important;
}

/* Light/warm bg (How I Work cards on --warm):
   dark stroke so outline is visible against light surface */
.proof-step-n {
  -webkit-text-stroke: 2px rgba(0,0,0,0.7) !important;
}

/* ══════════════════════════════════════════════
   DXVIDA EDITORIAL INFOGRAPHIC
   ══════════════════════════════════════════════ */

/* Override pp.on grid for DxVida — full width single column */
#pp-dxvida.pp.on {
  display: block;
  grid-template-columns: unset;
}

.dxv-wrap {
  background: var(--warm);
  border-radius: 4px;
  overflow: hidden;
  font-family: var(--sans);
}

/* ── HEADER ── */
.dxv-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 2.8rem 3rem 2rem;
  border-bottom: 1px solid rgba(160,120,40,0.15);
  gap: 2rem;
  flex-wrap: wrap;
}
.dxv-header-left { flex: 1; min-width: 280px; }
.dxv-header-right { text-align: right; flex-shrink: 0; }

.dxv-eyebrow {
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(160,120,40,0.8);
  margin-bottom: 0.6rem;
  font-family: var(--sans);
}
.dxv-headline {
  font-family: var(--serif);
  font-size: clamp(1.9rem, 3.5vw, 2.8rem);
  font-weight: 700;
  line-height: 1.12;
  color: var(--ink);
  margin-bottom: 1rem;
}
.dxv-gold {
  font-style: italic;
  color: #a07828;
}
.dxv-flow-label {
  font-size: 0.67rem;
  letter-spacing: 0.14em;
  color: rgba(23,20,15,0.5);
  margin-bottom: 1rem;
  font-family: var(--sans);
}
.dxv-intro {
  font-size: 0.9rem;
  line-height: 1.75;
  color: rgba(23,20,15,0.7);
  max-width: 480px;
  margin-bottom: 0.75rem;
}
.dxv-byline {
  font-family: var(--serif);
  font-style: italic;
  font-size: 1rem;
  color: var(--ink);
}
.dxv-byline strong { font-style: normal; }

.dxv-brand-name {
  font-family: var(--serif);
  font-style: italic;
  font-size: 2.6rem;
  font-weight: 700;
  color: var(--ink);
  line-height: 1;
  margin-bottom: 0.3rem;
}
.dxv-brand-sub {
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(23,20,15,0.5);
  margin-bottom: 1rem;
}
.dxv-live-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: rgba(23,20,15,0.65);
  letter-spacing: 0.06em;
  border-top: 1px solid rgba(160,120,40,0.25);
  padding-top: 0.75rem;
}
.dxv-live-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #2D6A55;
  flex-shrink: 0;
  box-shadow: 0 0 0 3px rgba(45,106,85,0.2);
  animation: livePulse 2.5s ease-in-out infinite;
}
@keyframes livePulse {
  0%,100% { box-shadow: 0 0 0 3px rgba(45,106,85,0.2); }
  50%      { box-shadow: 0 0 0 6px rgba(45,106,85,0.08); }
}

/* ── JOURNEY AREA ── */
.dxv-journey {
  position: relative;
  padding: 0 0 1rem;
  background: #f7f3ec;
}

.dxv-river-wrap {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  margin-bottom: -40px;
  pointer-events: none;
}
.dxv-river-svg {
  width: 100%;
  height: auto;
  display: block;
  min-height: 80px;
}

/* ── STAGES GRID ── */
.dxv-stages {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  position: relative;
  z-index: 2;
  padding: 0 2rem 1.5rem;
  border-top: 1px solid rgba(160,120,40,0.1);
}
.dxv-stage {
  padding: 1.6rem 1.2rem 1.6rem;
  border-right: 1px solid rgba(160,120,40,0.1);
  position: relative;
}
.dxv-stage:last-child { border-right: none; }

/* Colour accents per stage */
.dxv-s1 .dxv-snum { color: #a07828; }
.dxv-s2 .dxv-snum { color: #c8863a; }
.dxv-s3 .dxv-snum { color: #3d9099; }
.dxv-s4 .dxv-snum { color: #2a6b72; }
.dxv-s5 .dxv-snum { color: #2D6A55; }

.dxv-snum {
  font-family: var(--serif);
  font-style: italic;
  font-size: 1.5rem;
  font-weight: 700;
  -webkit-text-stroke: 1.5px rgba(247,243,236,0.5);
  paint-order: stroke fill;
  line-height: 1;
  margin-bottom: 0.35rem;
  display: block;
}
.dxv-stitle {
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink);
  line-height: 1.4;
  margin-bottom: 1rem;
}
.dxv-sbullets {
  list-style: none;
  padding: 0; margin: 0;
}
.dxv-sbullets li {
  font-size: 0.78rem;
  color: rgba(23,20,15,0.68);
  line-height: 1.5;
  padding-left: 0.9rem;
  position: relative;
  margin-bottom: 0.2rem;
}
.dxv-sbullets li::before {
  content: "·";
  position: absolute;
  left: 0;
  color: rgba(160,120,40,0.55);
}

/* Ownership block inside stage 5 */
.dxv-ownership {
  margin-top: 1.4rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(160,120,40,0.2);
}
.dxv-own-label {
  font-size: 0.6rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #a07828;
  margin-bottom: 0.6rem;
}
.dxv-own-body {
  font-size: 0.78rem;
  color: rgba(23,20,15,0.65);
  line-height: 1.6;
  margin-bottom: 0.7rem;
}
.dxv-own-bold {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.55;
}
.dxv-own-bold em {
  font-family: var(--serif);
  font-style: italic;
  font-size: 0.9rem;
  color: #a07828;
}

/* ── PURPOSE STRIP ── */
.dxv-purpose {
  background: rgba(23,20,15,0.03);
  border-top: 1px solid rgba(160,120,40,0.12);
  border-bottom: 1px solid rgba(160,120,40,0.12);
  padding: 1.4rem 2rem;
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
}
.dxv-purpose-label {
  font-size: 0.6rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #a07828;
  min-width: 90px;
  flex-shrink: 0;
  margin-right: 1.5rem;
  padding-right: 1.5rem;
  border-right: 1px solid rgba(160,120,40,0.2);
}
.dxv-purpose-items {
  display: flex;
  align-items: center;
  gap: 0;
  flex: 1;
  flex-wrap: wrap;
}
.dxv-pi {
  flex: 1;
  min-width: 100px;
  padding: 0 1rem;
}
.dxv-pi-dot {
  width: 3px; height: 3px;
  border-radius: 50%;
  background: rgba(160,120,40,0.3);
  flex-shrink: 0;
}
.dxv-pi-title {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 0.2rem;
}
.dxv-pi-body {
  font-size: 0.7rem;
  color: rgba(23,20,15,0.55);
  line-height: 1.4;
}

/* ── METRICS STRIP ── */
.dxv-metrics {
  background: var(--ink);
  padding: 1.8rem 2rem;
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
}
.dxv-metrics-label {
  font-size: 0.6rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(247,243,236,0.4);
  min-width: 80px;
  flex-shrink: 0;
  margin-right: 2rem;
  line-height: 1.4;
}
.dxv-metric {
  flex: 1;
  min-width: 80px;
  padding: 0 1.2rem;
  border-right: 1px solid rgba(247,243,236,0.08);
}
.dxv-metric:last-of-type { border-right: none; }
.dxv-mn {
  font-family: var(--serif);
  font-style: italic;
  font-size: 1.9rem;
  font-weight: 700;
  color: #d4a84a;
  line-height: 1;
  margin-bottom: 0.2rem;
}
.dxv-ml {
  font-size: 0.6rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(247,243,236,0.5);
  line-height: 1.35;
}
.dxv-quote {
  flex: 1.4;
  min-width: 200px;
  padding-left: 1.8rem;
  position: relative;
}
.dxv-qq {
  font-family: var(--serif);
  font-size: 2.5rem;
  color: rgba(212,168,74,0.3);
  line-height: 0.5;
  display: block;
  margin-bottom: 0.3rem;
}
.dxv-quote p {
  font-size: 0.78rem;
  color: rgba(247,243,236,0.65);
  line-height: 1.65;
  font-style: italic;
}

/* ── STACK STRIP ── */
.dxv-stack {
  background: var(--emerald);
  padding: 1.1rem 2rem;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  flex-wrap: wrap;
}
.dxv-stack-label {
  font-size: 0.6rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(247,243,236,0.55);
  min-width: 80px;
  flex-shrink: 0;
  line-height: 1.4;
}
.dxv-stack-items {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.dxv-stack-item {
  font-family: var(--sans);
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--paper);
  border: 1px solid rgba(247,243,236,0.28);
  padding: 0.35rem 0.75rem;
  border-radius: 2rem;
  white-space: nowrap;
}
.dxv-stack-note {
  font-size: 0.72rem;
  font-style: italic;
  color: rgba(247,243,236,0.6);
  flex: 1;
  min-width: 200px;
  text-align: right;
  line-height: 1.5;
}

/* ── MOBILE ── */
@media (max-width: 900px) {
  .dxv-header { padding: 2rem 1.5rem 1.5rem; }
  .dxv-header-right { display: none; }
  .dxv-stages {
    grid-template-columns: repeat(2, 1fr);
    padding: 0 1rem 1rem;
  }
  .dxv-stage:nth-child(2n) { border-right: none; }
  .dxv-stage:nth-child(5)  { grid-column: span 2; border-right: none; }
  .dxv-purpose { display: none; }
  .dxv-metrics { flex-wrap: wrap; gap: 0.5rem; padding: 1.5rem; }
  .dxv-metrics-label { display: none; }
  .dxv-metric { min-width: 80px; flex: none; }
  .dxv-quote { display: none; }
  .dxv-stack { padding: 1.1rem 1.5rem; }
  .dxv-stack-note { display: none; }
}
@media (max-width: 600px) {
  .dxv-stages { grid-template-columns: 1fr; }
  .dxv-stage { border-right: none; border-bottom: 1px solid rgba(160,120,40,0.1); }
  .dxv-stage:nth-child(5) { grid-column: span 1; }
}

/* --- decorative "sip" SVG labels (was a second inline <style>) --- */
    .sip-stem{fill:none;stroke-linecap:round;stroke-linejoin:round;}
    .sip-label{font-family:"Instrument Sans",system-ui,sans-serif;font-size:10px;font-weight:500;letter-spacing:0.06em;}
    .sip-sub{font-family:"Instrument Sans",system-ui,sans-serif;font-size:8px;fill:rgba(122,114,106,0.7);}

/* ============================================================
   Accessibility & tidy-ups (added during file split)
   ============================================================ */

/* keyboard focus visibility */
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:2px}

/* skip-to-content link — hidden until focused */
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--emerald);color:var(--paper);
  padding:.7rem 1.1rem;font-family:var(--sans);font-size:.85rem;text-decoration:none;border-radius:0 0 6px 0}
.skip-link:focus{left:0}

/* nav LinkedIn link (was repeated inline styles) */
.nav-linkedin{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
  text-decoration:none;padding:.4rem .8rem;border:1px solid var(--border);transition:color .2s}
.nav-linkedin:hover,.nav-linkedin:focus-visible{color:var(--teal)}

/* contact: three ways to work together (on dark section) */
.ways{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;max-width:820px;margin:.6rem auto 2.2rem}
.way{background:rgba(247,243,236,.06);border:1px solid rgba(247,243,236,.16);border-radius:10px;padding:1.2rem 1.3rem;text-align:left}
.way-k{font-family:var(--serif);font-style:italic;font-size:1.18rem;color:var(--paper);margin-bottom:.4rem}
.way-d{font-size:.875rem;line-height:1.55;color:rgba(247,243,236,.72)}
.way-cta{display:inline-block;margin-top:.95rem;font-size:.78rem;font-weight:600;letter-spacing:.03em;
  color:var(--gold2);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
.way-cta:hover,.way-cta:focus-visible{border-bottom-color:var(--gold2)}
.way-cv{display:block;margin-top:.55rem;font-size:.74rem;color:rgba(247,243,236,.62);text-decoration:none;
  border-bottom:1px solid rgba(247,243,236,.25);padding-bottom:1px;width:fit-content}
.way-cv:hover,.way-cv:focus-visible{color:var(--paper);border-bottom-color:var(--paper)}
@media(max-width:760px){.ways{grid-template-columns:1fr}}

/* hero availability / role ask line */
.hero-open{margin:1.5rem 0 0;font-size:.92rem;line-height:1.5;color:var(--ink);font-weight:500;
  border-left:2px solid var(--emerald);padding-left:.9rem}
.hero-open strong{color:var(--emerald);font-weight:600}

/* mobile menu button (shown < 1100px via media query) */
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;
  width:42px;height:38px;padding:0 9px;background:transparent;border:1px solid var(--border);
  border-radius:4px;cursor:pointer;flex-shrink:0}
.nav-burger span{display:block;height:2px;width:100%;background:var(--ink);border-radius:2px;
  transition:transform .25s ease,opacity .2s ease}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* respect reduced-motion preference */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}


/* ============================================================
   The Mental Load System — embedded guide (scoped under .mls)
   ============================================================ */
.mls{--cream:#f7f3ec;
    --paper:#fbf9f4;
    --ink:#17140f;
    --ink-soft:#544c42;
    --terra:#1B4D3E;
    --terra-deep:#143d31;
    --teal:#2a6b72;
    --teal-deep:#1B4D3E;
    --gold:#a07828;
    --line:#ddd6c7;
    --radius:14px;
    --shadow:0 14px 40px -22px rgba(23,20,15,.55);font-family:'Instrument Sans',system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.62;-webkit-font-smoothing:antialiased;padding:1px 0 10px;}
.wrap{max-width:820px;margin:0 auto;padding:0 22px}

  /* progress bar */
  .progress-rail{position:relative;z-index:50;height:5px;background:rgba(23,20,15,.08);backdrop-filter:blur(2px)}
  .progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--terra),var(--gold));transition:width .5s ease}

  /* hero */
  header.hero{padding:62px 0 30px;text-align:center}
  .kicker{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--terra-deep);font-weight:700;margin-bottom:18px}
.mls h1{font-family:'Playfair Display',serif;font-weight:600;font-size:clamp(2.3rem,7vw,3.6rem);line-height:1.05;color:var(--ink);letter-spacing:-.5px}
.mls h1 .em{color:var(--gold);font-style:italic}
  .subtitle{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(1.05rem,3.2vw,1.4rem);color:var(--teal-deep);margin-top:16px}
  .hero-meta{margin-top:26px;font-size:.85rem;color:var(--ink-soft);display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}
  .dot{width:4px;height:4px;border-radius:50%;background:var(--line)}
  .progress-count{display:inline-flex;align-items:center;gap:8px;margin-top:26px;padding:8px 16px;border:1px dashed var(--terra);border-radius:30px;font-size:.8rem;font-weight:700;color:var(--terra-deep);background:rgba(27,77,62,.05)}

  /* intro card */
  .why{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:30px 30px;margin:40px 0;box-shadow:var(--shadow);position:relative}
  .why::before{content:"❝";position:absolute;top:-14px;left:22px;font-family:'Playfair Display',serif;font-size:2.6rem;color:var(--terra);background:var(--paper);padding:0 8px;line-height:1}
  .why h2{font-family:'Playfair Display',serif;font-weight:600;font-size:1.5rem;margin-bottom:14px;color:var(--teal-deep)}
  .why p{color:var(--ink-soft);margin-bottom:12px}
  .why p:last-child{margin-bottom:0}
  .why strong{color:var(--ink)}

  /* section label */
  .sec-label{display:flex;align-items:center;gap:14px;margin:54px 0 26px}
  .sec-label .bar{height:1px;flex:1;background:var(--line)}
  .sec-label span{font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;font-weight:700;color:var(--terra-deep)}

  /* needs */
  .needs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
  .need{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px 16px}
  .need b{display:block;font-size:.95rem;color:var(--ink);margin-bottom:3px}
  .need small{color:var(--ink-soft);font-size:.8rem}
  .note-soft{margin-top:16px;font-size:.88rem;color:var(--ink-soft);font-style:italic;padding-left:16px;border-left:3px solid var(--gold)}

  /* journey */
  .journey{position:relative;margin-top:10px}
  .journey::before{content:"";position:absolute;left:23px;top:14px;bottom:60px;width:2px;background:repeating-linear-gradient(var(--line) 0 6px, transparent 6px 12px)}
  .step{position:relative;padding-left:64px;margin-bottom:34px}
  .step-num{position:absolute;left:0;top:0;width:48px;height:48px;border-radius:50%;background:var(--paper);border:1.5px solid var(--terra);color:var(--terra);font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:1.55rem;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);z-index:2;transition:transform .25s, background .25s, color .25s, border-color .25s}
  .step.optional .step-num{border-color:var(--teal);color:var(--teal)}
  .step.done .step-num{background:var(--gold);border-color:var(--gold);color:#fff}
  .step.done .step-num::after{content:"✓";position:absolute;font-size:1.4rem;font-style:normal}
  .step.done .step-num span{display:none}
  .step-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
  .step-head{padding:20px 24px;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
  .step-head h3{font-family:'Playfair Display',serif;font-weight:600;font-size:1.32rem;color:var(--ink);line-height:1.2}
  .goal{font-size:.9rem;color:var(--teal-deep);margin-top:5px;font-weight:600}
  .tag{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:4px 9px;border-radius:20px;white-space:nowrap}
  .tag.start{background:rgba(27,77,62,.12);color:var(--terra-deep)}
  .tag.full{background:rgba(42,107,114,.12);color:var(--teal-deep)}
  .tag.opt{background:rgba(160,120,40,.16);color:#8a6410}
  .chev{transition:transform .3s;color:var(--ink-soft);font-size:1.2rem;flex-shrink:0}
  .step.open .chev{transform:rotate(180deg)}
  .step-
  .step.open .step-
  .step-body-inner{padding:4px 24px 24px}
  .lead{color:var(--ink-soft);margin-bottom:18px}
  .privacy{background:rgba(42,107,114,.07);border:1px solid rgba(42,107,114,.25);border-radius:10px;padding:14px 16px;margin-bottom:18px;font-size:.88rem;color:var(--teal-deep)}
  .privacy b{display:block;margin-bottom:4px}

  /* prompt block */
  .prompt-label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--terra-deep);margin:18px 0 8px}
  .prompt{position:relative;background:#17140f;border-radius:11px;overflow:hidden;box-shadow:0 8px 24px -16px rgba(0,0,0,.7)}
  .prompt pre{font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:.82rem;line-height:1.6;color:#F1E9DA;padding:18px 18px 18px;white-space:pre-wrap;word-break:break-word;margin:0;overflow-x:auto}
  .copy-btn{position:absolute;top:10px;right:10px;background:var(--terra);color:#fff;border:none;border-radius:7px;padding:7px 13px;font-family:'Instrument Sans',sans-serif;font-weight:700;font-size:.74rem;letter-spacing:.04em;cursor:pointer;transition:background .2s, transform .1s;display:flex;align-items:center;gap:6px}
  .copy-btn:hover{background:var(--terra-deep)}
  .copy-btn:active{transform:scale(.95)}
  .copy-btn.copied{background:var(--teal)}
  .commands{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
  .cmd{background:#fff;border:1px solid var(--line);border-radius:7px;padding:7px 12px;font-size:.82rem;font-weight:600;color:var(--teal-deep);cursor:pointer;transition:all .15s}
  .cmd:hover{border-color:var(--teal);background:rgba(42,107,114,.06)}
  .cmd.copied{background:var(--teal);color:#fff;border-color:var(--teal)}
  .output{margin-top:18px;font-size:.9rem;color:var(--ink);background:rgba(160,120,40,.1);border-radius:9px;padding:12px 14px}
  .output b{color:var(--gold);font-weight:700}
  .done-toggle{margin-top:20px;display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:.86rem;font-weight:700;color:var(--ink-soft);user-select:none}
  .done-box{width:20px;height:20px;border:2px solid var(--line);border-radius:5px;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:.8rem;color:#fff}
  .step.done .done-box{background:var(--gold);border-color:var(--gold)}
  .step.done .done-toggle{color:var(--gold)}

  /* outcome */
  .outcome{background:linear-gradient(135deg,var(--teal-deep),var(--teal));color:#f7f3ec;border-radius:18px;padding:38px 32px;margin:50px 0 30px;box-shadow:var(--shadow)}
  .outcome h2{font-family:'Playfair Display',serif;font-weight:600;font-size:1.7rem;margin-bottom:16px}
  .outcome ul{list-style:none;display:grid;gap:10px}
  .outcome li{padding-left:26px;position:relative}
  .outcome li::before{content:"→";position:absolute;left:0;color:var(--gold);font-weight:700}
  .outcome .closer{margin-top:20px;font-family:'Playfair Display',serif;font-style:italic;font-size:1.1rem;opacity:.95}
.mls footer{text-align:center;padding:30px 0 60px;color:var(--ink-soft);font-size:.85rem}
.mls footer a{color:var(--terra-deep);text-decoration:none;font-weight:700}
.mls footer .brandline{font-family:'Playfair Display',serif;font-style:italic;color:var(--ink);margin-bottom:8px;font-size:1rem}
  .pura{color:var(--terra);font-weight:700}

  @media(max-width:600px){
    .step{padding-left:54px}
    .journey::before{left:19px}
    .step-num{width:40px;height:40px;font-size:1.1rem}
    .why,.step-body-inner,.outcome{padding-left:18px;padding-right:18px}
    .step-head{padding:16px 18px}
  }

/* Language switcher always visible, incl. mobile (outside burger menu) */
@media(max-width:900px){
  nav > .lang-sw{display:flex;width:auto;margin-left:auto;margin-right:.6rem}
}

/* ============================================================
   BRAND-CONSISTENCY FIXES (2026-07-21) — must stay LAST in file
   ============================================================ */

/* FIX: the base .nav-burger{display:none} above is declared after the
   ≤1100px display:flex rule, so the burger never rendered and mobile
   had no menu at all. Re-assert it here, after the base rule. */
@media(max-width:1100px){
  .nav-burger{display:flex}
}

/* FIX: the bilingual visual-break system (.en/.de/.es get 1.2rem left
   padding + a colored left border inside .sec) is meant for text blocks,
   but it also hit UI controls — nav labels, buttons, CTAs, teaser cards,
   footer — shifting labels and drawing stray border slivers. */
nav .en, nav .de, nav .es,
.btn .en, .btn .de, .btn .es,
.way-cta .en, .way-cta .de, .way-cta .es,
.way-cv .en, .way-cv .de, .way-cv .es,
.pt-item .en, .pt-item .de, .pt-item .es,
footer .en, footer .de, footer .es {
  padding-left:0 !important;
  border-left:none !important;
}
/* Same fix for elements that carry the lang class themselves */
a.coaching-cta.en, a.coaching-cta.de, a.coaching-cta.es {
  padding:.9rem 2rem;
  border:1px solid var(--teal2);
}

/* ══ SMALL SCREENS (≤640px) ══
   Replaces the old block that positioned .nav-right at a magic
   top:calc(100% + 180px) offset (it overlapped/gapped depending on
   content) and that lost the cascade to the ≤1100px rules anyway.
   Approach: let the fixed nav wrap; the open menu lays out in flow,
   so links and CTA stack naturally with no magic numbers. */
@media(max-width:640px){
  nav{flex-wrap:wrap;padding:.9rem 1rem;gap:.6rem .8rem}
  .nav-logo{font-size:.88rem}
  nav > .lang-sw{width:auto;margin-left:auto;margin-right:.5rem}
  .lang-btn{padding:.4rem .55rem;font-size:.6rem}
  .nav-links{position:static;width:100%;order:10;box-shadow:none;background:transparent;
    border-bottom:none;padding:.2rem 0 0;margin:0}
  nav.menu-open .nav-links{display:flex;border-top:1px solid var(--border)}
  .nav-right{display:none;position:static;width:100%;order:11;flex-direction:column;
    align-items:stretch;gap:.7rem;padding:.7rem 0 .3rem;border-top:1px solid var(--border)}
  nav.menu-open .nav-right{display:flex}
  /* restore LinkedIn + CV links inside the open menu (hidden in the bar) */
  nav.menu-open .nav-right .nav-linkedin{display:block;text-align:center}
  .nav-right .btn{width:100%}
}


/* ===== 2026-09-23 revenue layer ===== */
.hero-lead{font-family:var(--serif);font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.5;color:var(--ink);max-width:560px;margin:1.4rem 0 1.2rem}
.hero-cta-row{display:flex;gap:.9rem;flex-wrap:wrap;margin:0 0 .4rem}
.hero-hybrid{margin-top:1rem}
.proof-link{display:inline-block;margin-top:1rem;font-size:.8rem;font-weight:600;color:var(--emerald);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
.proof-link:hover,.proof-link:focus-visible{border-bottom-color:var(--emerald)}
.prod-format{font-size:.92rem;color:var(--ink);margin-top:1rem;line-height:1.7}
.contact-more{font-size:.92rem;color:rgba(247,243,236,.72);max-width:600px;margin:1.8rem auto 0;line-height:1.75;text-align:center}
.contact-more a{color:var(--gold2);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
.contact-more a:hover,.contact-more a:focus-visible{border-bottom-color:var(--gold2)}
.talk{max-width:640px;margin:2.6rem auto 0;text-align:left;background:rgba(247,243,236,.06);border:1px solid rgba(247,243,236,.16);border-radius:10px;padding:1.6rem 1.7rem}
.talk h3{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--paper);font-size:1.5rem;margin-bottom:.6rem}
.talk .talk-intro{font-size:.9rem;color:rgba(247,243,236,.72);margin-bottom:1.3rem;line-height:1.65}
.talk label{display:block;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(247,243,236,.62);margin-bottom:.3rem}
.talk input,.talk select,.talk textarea{width:100%;font-family:var(--sans);font-size:.95rem;color:var(--ink);background:var(--paper);border:1px solid rgba(247,243,236,.3);padding:.65rem .75rem;margin-bottom:1rem;border-radius:4px}
.talk textarea{min-height:92px;resize:vertical}
.talk .fld-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.talk .form-note{font-size:.74rem;color:rgba(247,243,236,.55);margin-top:.9rem;line-height:1.5}
.hidden{display:none!important}
.nl{display:flex;flex-direction:column;align-items:center;gap:.55rem;margin:0 0 1.2rem;max-width:520px}
.nl .nl-title{font-size:.8rem;color:rgba(247,243,236,.7);line-height:1.5}
.nl .nl-row{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.nl input[type=email]{font-family:var(--sans);font-size:.85rem;padding:.55rem .75rem;border:1px solid rgba(247,243,236,.3);background:var(--paper);color:var(--ink);min-width:230px;border-radius:4px}
.nl button{font-family:var(--sans);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;padding:.6rem 1rem;background:var(--gold);color:var(--paper);border:none;cursor:pointer;border-radius:4px}
.nl button:hover{background:var(--gold2)}
.nl .nl-consent{font-size:.7rem;color:rgba(247,243,236,.58);line-height:1.4;display:flex;gap:.45rem;align-items:flex-start;text-align:left;text-transform:none;letter-spacing:0}
.nl .nl-consent input{margin-top:.2rem}
@media(max-width:760px){.talk .fld-row{grid-template-columns:1fr}.hero-cta-row .btn{width:100%}}

/* ===== 2026-09-23 lead mechanisms (spec) ===== */
.hero-alt{font-size:.85rem;margin:.2rem 0 1rem}
.hero-alt a{color:var(--emerald);text-decoration:none;border-bottom:1px solid rgba(27,77,62,.35)}
.hero-alt a:hover{border-bottom-color:var(--emerald)}
.their-words{list-style:none;max-width:560px;margin:0 auto 1rem;padding:0;text-align:center}
.their-words li{font-family:var(--serif);font-style:italic;font-size:1.08rem;color:var(--paper);margin:.3rem 0;line-height:1.4}
.their-words-lead{font-size:.9rem;color:rgba(247,243,236,.72);max-width:560px;margin:0 auto 2rem;text-align:center}
.way{position:relative}
.way-tag{display:inline-block;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold2);border:1px solid rgba(200,134,58,.5);padding:.2rem .55rem;margin-bottom:.7rem}
.way-proof{font-size:.8rem;color:rgba(247,243,236,.62);border-left:2px solid var(--gold);padding-left:.7rem;margin:.8rem 0 0;line-height:1.5}
.talk-echo{font-size:.8rem;color:rgba(247,243,236,.75);margin:-.6rem 0 1rem}
.talk-echo strong{color:var(--paper);font-weight:500}
.link-btn{background:none;border:none;font-family:var(--sans);font-size:.78rem;color:var(--gold2);text-decoration:underline;cursor:pointer;padding:0}
.fld-hint{font-size:.78rem;color:rgba(247,243,236,.6);margin:-.2rem 0 .5rem;line-height:1.45}
.talk-proof{font-size:.72rem;letter-spacing:.06em;color:rgba(247,243,236,.55);margin-top:1.1rem;text-align:center;line-height:1.6}
.talk-thanks h3{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--paper);font-size:1.35rem;margin-bottom:.6rem}
.talk-thanks a{color:var(--gold2)}
.nl .nl-title strong{color:rgba(247,243,236,.9);font-weight:500}

/* ===== 2026-09-23 stack + route question (tokens from :root only) ===== */
.how-stack{max-width:560px;margin:1.4rem 0 2.4rem}
.hs-title{display:block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.7rem}
.hs-layers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column-reverse;gap:4px}
.hs-layer{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .9rem;padding:.6rem 1rem;background:var(--cream);border:1px solid var(--border);border-left:3px solid var(--emerald)}
.hs-layer.hs-base{background:var(--emerald);border-color:var(--emerald)}
.hs-verb{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--ink)}
.hs-what{font-size:.78rem;color:var(--muted);letter-spacing:.02em}
.hs-base .hs-verb,.hs-base .hs-what{color:var(--paper)}
.route{margin-top:1.2rem;padding:1.2rem 1.3rem;background:var(--cream);border:1px solid var(--border);max-width:560px}
.route-row{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.route-consent{display:flex;gap:.5rem;align-items:flex-start;font-size:.78rem;color:var(--muted);line-height:1.45;margin:0 0 1rem}
.route-consent a{color:var(--emerald)}
.route-done{margin-top:1.2rem;max-width:560px}
.route-done p{margin-bottom:.5rem}
.route-thanks{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--ink)}
.route-done a{color:var(--emerald);font-weight:500}
.hs-layer .es,.hs-title.es,.route .es,.route-done .es,.talk .es,.their-words .es,.way .es,.way-d.es,.way-k.es,.way-proof .es,.fld-hint .es,.nl .es,.hero-alt .es{padding-left:0;border-left:none}
p.contact-more.es,p.their-words-lead .es{padding-left:0;border-left:none}
@media(max-width:760px){.route-row{grid-template-columns:1fr}}

/* ===== 2026-09-23 persona fixes: inline language spans, hidden mobile clipping, tap targets, contrast (tokens only) ===== */
.talk span.en,.talk span.de,.talk-proof span.en,.talk-proof span.de,.way-tag span.en,.way-tag span.de,.way-proof span.en,.way-proof span.de,
.their-words span.en,.their-words span.de,.their-words-lead span.en,.their-words-lead span.de,.route span.en,.route span.de,.route-done span.en,.route-done span.de,
.hs-layer span.en,.hs-layer span.de,.hs-title span.en,.hs-title span.de,.nl span.en,.nl span.de,.hero-alt span.en,.hero-alt span.de,.proof-link span.en,.proof-link span.de,
.prod-note a span.en,.prod-note a span.de,footer a span.en,footer a span.de{display:inline;padding-left:0;border-left:0}
.way-k.en,.way-k.de,.way-d.en,.way-d.de,p.contact-more.en,p.contact-more.de,p.their-words-lead.en,p.their-words-lead.de{padding-left:0;border-left:0}
.route-echo{font-size:.9rem;color:var(--muted)}
#contact .ey{color:var(--warm)!important}
.pp.on>*,.prod-grid>*,.coaching-inner>*{min-width:0}
@media(max-width:1100px){.pp.on{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){.coaching-inner{grid-template-columns:minmax(0,1fr)}.prod-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){
  .btn,.prod-cta-row .btn,.coaching-cta{white-space:normal;text-align:center}
  .pillars-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:none}
}
@media(max-width:760px){
  .lang-btn{min-height:44px;min-width:44px}
  .nav-burger{min-width:44px;min-height:44px}
  .talk input,.talk select,.talk textarea,.route input,.route select,.nl input[type=email],.cf-fld input,.cf-fld select,.cf-fld textarea{font-size:16px}
}
/* long buttons shrink and wrap inside panels on phones */
.btn span.en,.btn span.de{padding-left:0;border-left:0}
@media(max-width:640px){.prod-cta-row .btn,.prod-cta-row button.btn{flex:1 1 100%;max-width:100%;min-width:0}}

/* ===== 2026-09-23 her CHANGES doc: six build boxes, the corporate panel, form failure line (tokens only) ===== */
.proof-teaser.builds{grid-template-columns:repeat(3,minmax(0,1fr))}
.proof-teaser.builds .pt-sub{white-space:normal}
.career p{margin-bottom:1rem;line-height:1.8}
.career p strong{color:var(--ink)}
.form-fail{font-size:.85rem;color:var(--gold2);margin-top:.8rem}
.form-fail a{color:inherit}
.talk .form-fail span.en,.talk .form-fail span.de,.route .form-fail span.en,.route .form-fail span.de{display:inline;padding:0;border:0}
@media(max-width:900px){.proof-teaser.builds{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.proof-teaser.builds{grid-template-columns:minmax(0,1fr)}}
.proof-teaser.builds .pt-sub{display:block;-webkit-line-clamp:unset;overflow:visible;font-size:.86rem;letter-spacing:.01em;line-height:1.55;color:var(--muted);margin-top:.35rem}
.proof-teaser.builds .pt-label{font-size:.72rem}

/* ===== 2026-09-23 six worlds, the gold forms, the onion, the universe pages (tokens only) ===== */
.builds-sec .en,.builds-sec .de,.builds-sec .es,.u-page .en,.u-page .de,.u-page .es{padding-left:0;border-left:0}
.bx-head,.bloom{max-width:1120px;margin-left:auto;margin-right:auto}
.bx-head .sec-h{margin-bottom:.9rem}
.bx-hint{font-size:1rem;color:var(--muted);margin:0 0 2.2rem}
.bloom{position:relative}
.bx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.7rem}
.bx{position:relative;display:flex;flex-direction:column;min-height:300px;padding:1.5rem 1.5rem 1.35rem;border:1px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--ink);text-decoration:none;color:var(--paper);transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.34,1.56,.64,1)}
.bx:hover,.bx:focus-visible{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--ink)}
.bx:active{transform:translate(4px,4px);box-shadow:2px 2px 0 var(--ink);transition-duration:.08s}
.bx:focus-visible{outline:3px solid var(--gold2);outline-offset:5px}
.bx-career{background:var(--ink)}
.bx-dxvida{background:var(--emerald)}
.bx-sip{background:var(--gold2);color:var(--ink)}
.bx-lighten{background:var(--petrol)}
.bx-course{background:var(--warm);color:var(--ink)}
.bx-anything{background:var(--teal)}
.bx-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:auto;padding-bottom:1.6rem}
.bx-badge{width:66px;height:66px;border-radius:50%;background:var(--paper);border:1px solid var(--ink);display:grid;place-items:center;flex:none}
.bx-form{width:44px;height:44px;display:block;color:var(--gold);transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s}
.bx:hover .bx-form,.bx:focus-visible .bx-form{transform:scale(1.14)}
.bx-n{font-size:.7rem;letter-spacing:.18em;opacity:.72;font-weight:500}
.bx-t{font-family:var(--serif);font-weight:400;font-size:clamp(1.55rem,2.2vw,2rem);line-height:1.08;margin:0 0 .55rem;color:inherit}
.bx-l{font-size:.94rem;line-height:1.55;opacity:.88;margin:0;color:inherit}
.bx-go{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;margin:1.15rem 0 0;color:inherit;transition:transform .28s cubic-bezier(.34,1.56,.64,1)}
.bx:hover .bx-go,.bx:focus-visible .bx-go{transform:translateX(6px)}
@keyframes bxIn{from{opacity:0;transform:translateY(34px) scale(.96)}to{opacity:1;transform:none}}
.bloom.js .bx{opacity:0}
.bloom.js .bx.in{opacity:1;animation:bxIn .75s cubic-bezier(.34,1.56,.64,1) backwards}
.bx-grid .bx:nth-child(2){animation-delay:.08s}.bx-grid .bx:nth-child(3){animation-delay:.16s}
.bx-grid .bx:nth-child(4){animation-delay:.08s}.bx-grid .bx:nth-child(5){animation-delay:.16s}.bx-grid .bx:nth-child(6){animation-delay:.24s}
/* the forms that fly to the flower */
.fly{position:absolute;left:0;top:0;width:44px;height:44px;color:var(--gold);transform-origin:0 0;pointer-events:none;z-index:4;opacity:0;will-change:transform}
.fly svg{width:100%;height:100%;display:block}
.bloom.flying .fly{opacity:1}
.bloom.flying .bx-form{opacity:.2}
/* the onion: five layers around everything built */
.onion{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-areas:"fig head" "fig stack";gap:0 3.5rem;align-items:start;margin-top:5.5rem}
.onion-head{grid-area:head;align-self:end}
.onion-fig{grid-area:fig;align-self:center}
.onion-stack{grid-area:stack}
.onion-ey{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 .8rem}
.onion-h{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,2.8vw,2.6rem);line-height:1.12;margin:0 0 1rem}
.onion-p{color:var(--muted);font-size:1rem;line-height:1.75;margin:0 0 1.7rem;max-width:34em}
.onion-svg{width:100%;max-width:520px;height:auto;display:block;margin:0 auto;overflow:visible}
.or{fill:none;stroke:var(--emerald);stroke-width:1.4;transition:stroke .3s,stroke-width .3s}
.on-node{cursor:pointer}
.on-node circle{fill:var(--paper);stroke:var(--emerald);stroke-width:1.4;transition:fill .35s,stroke .3s}
.on-node text{font-family:var(--sans);font-size:15px;font-weight:500;fill:var(--emerald);text-anchor:middle;dominant-baseline:central;transition:fill .35s}
.on-node.lit circle{fill:var(--emerald)}
.on-node.lit text{fill:var(--paper)}
.core-form{color:var(--gold);opacity:.14}
.onion[data-hl="1"] .or-1,.onion[data-hl="2"] .or-2,.onion[data-hl="3"] .or-3,.onion[data-hl="4"] .or-4,.onion[data-hl="5"] .or-5{stroke:var(--gold);stroke-width:4}
.onion[data-hl="1"] .nd-1 circle,.onion[data-hl="2"] .nd-2 circle,.onion[data-hl="3"] .nd-3 circle,.onion[data-hl="4"] .nd-4 circle,.onion[data-hl="5"] .nd-5 circle{fill:var(--gold);stroke:var(--gold)}
.onion[data-hl="1"] .nd-1 text,.onion[data-hl="2"] .nd-2 text,.onion[data-hl="3"] .nd-3 text,.onion[data-hl="4"] .nd-4 text,.onion[data-hl="5"] .nd-5 text{fill:var(--paper)}
.onion-stack,.u-stack{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.ol-l{display:flex;gap:1rem;align-items:center;padding:.8rem 1.05rem;background:var(--cream);color:var(--ink);border:1px solid var(--ink);border-radius:10px;box-shadow:4px 4px 0 var(--ink);transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.34,1.56,.64,1),background .25s}
.onion-stack .ol-l{cursor:pointer}
.ol-l:hover,.ol-l.on{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
.ol-l.on{background:var(--warm)}
.ol-l:focus-visible{outline:3px solid var(--gold2);outline-offset:3px}
.ol-base{background:var(--emerald);color:var(--paper)}
.ol-base.on{background:var(--emerald2)}
.ol-n{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;font-size:.8rem;font-weight:500}
.ol-v{font-family:var(--serif);font-style:italic;font-size:1.12rem;line-height:1.2;margin:0}
.ol-w{font-size:.8rem;color:var(--muted);margin:.15rem 0 0;line-height:1.45}
.ol-base .ol-w{color:rgba(247,243,236,.78)}
@keyframes olIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.js-stack .ol-l{opacity:0}
.js-stack.in .ol-l{opacity:1;animation:olIn .6s cubic-bezier(.34,1.56,.64,1) backwards}
.js-stack.in .ol-l:nth-last-child(2){animation-delay:.1s}.js-stack.in .ol-l:nth-last-child(3){animation-delay:.2s}
.js-stack.in .ol-l:nth-last-child(4){animation-delay:.3s}.js-stack.in .ol-l:nth-last-child(5){animation-delay:.4s}
@media(max-width:900px){
  .bx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .onion{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "fig" "stack";margin-top:4rem}
  .onion-svg{max-width:440px;margin:.4rem auto 1.8rem}
}
@media(max-width:560px){
  .bx-grid{grid-template-columns:minmax(0,1fr);gap:1.3rem}
  .bx{min-height:220px;box-shadow:5px 5px 0 var(--ink)}
  .bx-top{padding-bottom:1.2rem}
}

/* universe pages */
.u-page{background:var(--paper)}
.u-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3rem;align-items:center;padding:calc(72px + 4rem) 4rem 4rem;border-bottom:1px solid var(--ink)}
.u-hero-in{max-width:760px}
.c-career{background:var(--ink);color:var(--paper)}
.c-dxvida{background:var(--emerald);color:var(--paper)}
.c-sip{background:var(--gold2);color:var(--ink)}
.c-lighten{background:var(--petrol);color:var(--paper)}
.c-anything{background:var(--teal);color:var(--paper)}
.u-ey{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;opacity:.8;margin:0 0 1.2rem}
.u-h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.1rem,4.4vw,3.5rem);line-height:1.07;margin:0 0 1.3rem;color:inherit}
.u-lead{font-size:clamp(1.02rem,1.6vw,1.2rem);line-height:1.7;max-width:38em;opacity:.9;margin:0}
.u-badge{width:188px;height:188px;border-radius:50%;background:var(--paper);border:1px solid var(--ink);box-shadow:9px 9px 0 var(--gold2);display:grid;place-items:center}
.c-sip .u-badge{box-shadow:9px 9px 0 var(--ink)}
.u-badge svg{width:124px;height:124px;color:var(--gold);display:block}
@keyframes uPop{from{opacity:0;transform:scale(.35)}to{opacity:1;transform:none}}
.u-badge{animation:uPop .9s cubic-bezier(.34,1.56,.64,1) .15s backwards}
.u-body{max-width:1120px;margin:0 auto;padding:1rem 4rem 4rem}
.u-sec{padding:3.6rem 0;border-bottom:1px solid var(--border)}
.u-sec:last-child{border-bottom:0}
.u-kick{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 .8rem}
.u-h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1.15;margin:0 0 1.2rem;max-width:24em}
.u-sec p.u-p{max-width:44em;margin:0 0 1rem;line-height:1.82}
.u-p strong{font-weight:600}
.u-two{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:3.5rem;align-items:start}
.u-note{font-size:.88rem;color:var(--muted);margin-top:1rem}
.u-note a,.u-p a{color:var(--emerald)}
.u-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.6rem;align-items:center}
.u-pop{border:1px solid var(--ink);border-radius:10px;box-shadow:5px 5px 0 var(--ink);transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s cubic-bezier(.34,1.56,.64,1)}
.u-pop:hover,.u-pop:focus-visible{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}
.u-pop:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}
.u-card{padding:1.5rem;background:var(--cream)}
.u-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem;margin-top:1.4rem}
.u-card h3{font-family:var(--serif);font-weight:400;font-size:1.3rem;margin:0 0 .5rem}
.u-card p{font-size:.92rem;line-height:1.65;margin:0 0 .9rem;color:var(--muted)}
.u-card a{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--emerald);text-decoration:none}
.u-next{background:var(--emerald);color:var(--paper);border:1px solid var(--ink);border-radius:16px;box-shadow:9px 9px 0 var(--ink);padding:2.6rem;margin:3.6rem 0 1rem}
.u-next .u-h2{color:var(--paper)}
.u-next .u-p{color:rgba(247,243,236,.84)}
.u-next .u-quiet a,.u-next a.u-quiet{color:var(--gold2)}
.u-quiet{font-size:.9rem;margin-top:1.1rem}
.u-next .btn.u-pop{border-color:var(--ink)}
.u-worlds{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin-top:1.3rem}
.bx.bx-mini{min-height:150px;padding:1rem 1rem .9rem;border-radius:12px;box-shadow:4px 4px 0 var(--ink)}
.bx.bx-mini:hover{box-shadow:6px 6px 0 var(--ink)}
.bx-mini .bx-badge{width:46px;height:46px}
.bx-mini .bx-form{width:30px;height:30px}
.bx-mini .bx-top{padding-bottom:.9rem}
.bx-mini .bx-t{font-size:1.12rem;margin:0}
.u-page .route{margin-top:1.4rem}
.u-page .route.hidden{display:none}
.u-page .proof-metrics{margin-top:.4rem}
.u-page .coaching-wrap{padding:0;background:transparent}
.u-page .coaching-wrap::before{display:none}
.u-page #contact{margin:3.6rem -4rem 0;border-radius:0}
.u-footer{background:var(--emerald);padding:1.8rem 4rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.u-footer p,.u-footer a{font-size:.75rem;color:rgba(247,243,236,.62);text-decoration:none;letter-spacing:.04em}
.u-footer a:hover{color:var(--paper)}
@media(max-width:1100px){.u-hero{padding:calc(72px + 3rem) 2rem 3rem}.u-body{padding:1rem 2rem 3rem}.u-page #contact{margin:3rem -2rem 0}.u-worlds{grid-template-columns:repeat(3,minmax(0,1fr))}.u-footer{padding:1.6rem 2rem}}
@media(max-width:900px){.u-two,.u-cards{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){
  .u-hero{grid-template-columns:minmax(0,1fr);gap:1.6rem;padding:calc(64px + 2.2rem) 1.2rem 2.6rem}
  .u-badge{order:-1;width:112px;height:112px;box-shadow:6px 6px 0 var(--gold2)}
  .c-sip .u-badge{box-shadow:6px 6px 0 var(--ink)}
  .u-badge svg{width:72px;height:72px}
  .u-body{padding:.5rem 1.2rem 2.5rem}
  .u-sec{padding:2.6rem 0}
  .u-next{padding:1.7rem 1.3rem;box-shadow:6px 6px 0 var(--ink)}
  .u-page #contact{margin:2.6rem -1.2rem 0}
  .u-worlds{grid-template-columns:repeat(2,minmax(0,1fr))}
  .u-footer{padding:1.5rem 1.2rem;flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  .bloom.js .bx,.js-stack .ol-l{opacity:1!important;animation:none!important}
  .bx,.ol-l,.bx-form,.bx-go,.u-pop{transition:none!important}
  .fly{display:none!important}
  .bloom .bx-form{opacity:1!important}
  .core-form{opacity:1!important}
  .or{stroke-dashoffset:0!important}
  .u-badge{animation:none}
}
/* apostrophe.one pass: pill tags, round arrow buttons, a stacking deck on phones, the onion as a deep full-bleed scene, words that arrive */
.bx-pill{display:inline-block;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:.38rem .8rem;border:1px solid currentColor;border-radius:999px;opacity:.85;margin:0;white-space:nowrap}
.bx-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.15rem}
.bx-foot .bx-go{margin:0}
.bx-arrow{flex:none;width:42px;height:42px;border-radius:50%;background:var(--gold2);color:var(--ink);border:1px solid var(--ink);display:grid;place-items:center;font-size:1.05rem;line-height:1;transition:transform .28s cubic-bezier(.34,1.56,.64,1),background .25s}
.bx-sip .bx-arrow{background:var(--paper)}
.bx:hover .bx-arrow,.bx:focus-visible .bx-arrow{transform:translateX(4px) scale(1.08)}
.bx-mini .bx-arrow{width:32px;height:32px;font-size:.85rem}
@media(max-width:560px){
  .bx-grid .bx{position:sticky;top:calc(78px + var(--i,0) * 12px)}
  .bx-grid{gap:1.6rem}
}
.builds-sec{padding-bottom:0}
.onion{position:relative;margin:9rem 0 0;padding:0 0 4.5rem;color:var(--paper)}
.onion::before{content:"";position:absolute;top:-4.5rem;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw);background:var(--ink);z-index:0}
.onion>*{position:relative;z-index:1}
.onion .onion-ey{color:var(--gold2)}
.onion .onion-h{color:var(--paper)}
.onion .onion-p{color:rgba(247,243,236,.72)}
.onion .or{stroke:rgba(247,243,236,.38)}
.onion .on-node circle{fill:var(--ink);stroke:rgba(247,243,236,.6)}
.onion .on-node text{fill:var(--paper)}
.onion .on-node.lit circle{fill:var(--gold2);stroke:var(--gold2)}
.onion .on-node.lit text{fill:var(--ink)}
.onion .core-form{color:var(--paper);opacity:.12}
.onion[data-hl="1"] .or-1,.onion[data-hl="2"] .or-2,.onion[data-hl="3"] .or-3,.onion[data-hl="4"] .or-4,.onion[data-hl="5"] .or-5{stroke:var(--gold2)}
.onion[data-hl="1"] .nd-1 circle,.onion[data-hl="2"] .nd-2 circle,.onion[data-hl="3"] .nd-3 circle,.onion[data-hl="4"] .nd-4 circle,.onion[data-hl="5"] .nd-5 circle{fill:var(--gold2);stroke:var(--gold2)}
.onion[data-hl="1"] .nd-1 text,.onion[data-hl="2"] .nd-2 text,.onion[data-hl="3"] .nd-3 text,.onion[data-hl="4"] .nd-4 text,.onion[data-hl="5"] .nd-5 text{fill:var(--ink)}
.onion .ol-l{border-color:var(--paper);box-shadow:4px 4px 0 var(--gold2)}
.onion .ol-l:hover,.onion .ol-l.on{box-shadow:6px 6px 0 var(--gold2)}
.onion .ol-base{background:var(--gold2);color:var(--ink);border-color:var(--ink)}
.onion .ol-base .ol-w{color:rgba(23,20,15,.72)}
.onion .ol-base.on{background:var(--gold2)}
.bloom:not(.js) .core-form{opacity:1}
.bloom.flying .fly{color:var(--gold2)}
.wd{display:inline-block;opacity:0;transform:translateY(.35em);transition:opacity .55s ease,transform .55s cubic-bezier(.34,1.56,.64,1)}
.words-in .wd{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.wd{opacity:1!important;transform:none!important;transition:none!important}.bx-grid .bx{position:relative!important;top:auto!important}}
@media(max-width:640px){.u-row .btn{flex:1 1 100%;max-width:100%;min-width:0;white-space:normal;text-align:center}}

/* ===== 2026-09-23 worlds, pass 2: each world carries its box colour top to bottom; the older panel graphics speak the homepage language (tokens only) ===== */
body.w-career{--wc:var(--ink)}body.w-dxvida{--wc:var(--emerald)}body.w-sip{--wc:var(--gold2)}body.w-lighten{--wc:var(--petrol)}body.w-anything{--wc:var(--teal)}
/* homepage pills: the bilingual reset was eating their left padding and border */
.bx .bx-pill{padding:.38rem .8rem;border-left:1px solid currentColor}
/* the hero repeats its box's pill */
body.u-page .u-ey-pill{margin-left:.9rem;vertical-align:middle;opacity:1}
@media(max-width:640px){body.u-page .u-ey-pill{display:table;margin:.7rem 0 0}}
/* buttons that carry a language class keep their padding */
body.u-page a.btn.en,body.u-page a.btn.de,body.u-page a.btn.es{padding-left:2.2rem;padding-right:2.2rem}
/* whitespace instead of hairlines between sections */
body.u-page .u-sec{border-bottom:0}
/* the base layer in gold2, like the onion on the homepage */
body.u-page .u-stack .ol-base{background:var(--gold2);color:var(--ink)}
body.u-page .u-stack .ol-base .ol-w{color:var(--ink)}
/* the closing block in the world's own colour, with its form inside two thin rings (desktop) */
body.u-page .u-next{background:var(--wc,var(--emerald));position:relative;overflow:hidden}
body.u-page .u-next .btn-gold,body.u-page .u-next .btn-gold:hover{background:var(--gold2);color:var(--ink)}
body.u-page .u-next .u-quiet a{color:var(--paper);text-decoration-color:var(--gold2);text-underline-offset:.25em}
body.w-sip .u-next,body.w-sip .u-next .u-h2{color:var(--ink)}
body.w-sip .u-next .u-p{color:rgba(23,20,15,.82)}
body.w-sip .u-next .btn-gold,body.w-sip .u-next .btn-gold:hover{background:var(--ink);color:var(--paper)}
body.w-sip .u-next .u-quiet a{color:var(--ink);text-decoration-color:var(--ink)}
.u-next-form{position:absolute;right:2.6rem;top:50%;width:220px;height:220px;transform:translateY(-50%);pointer-events:none}
.u-next-form .nf-ring{fill:none;stroke:rgba(247,243,236,.38);stroke-width:1.4}
.u-next-form .nf-form{color:var(--gold2)}
body.w-sip .u-next-form .nf-ring{stroke:rgba(23,20,15,.3)}
body.w-sip .u-next-form .nf-form{color:var(--ink)}
@media(min-width:901px){body.u-page .u-next.has-form{padding-right:calc(2.6rem + 250px)}}
@media(max-width:900px){.u-next-form{display:none}}
/* buttons in the page body */
body.w-lighten .u-row .btn-teal.u-pop,body.w-lighten .u-row .btn-teal.u-pop:hover,body.w-anything .u-row .btn-teal.u-pop,body.w-anything .u-row .btn-teal.u-pop:hover{background:var(--wc)}
body.u-page .btn-ghost.u-pop{background:var(--paper)}
body.u-page .btn-ghost.u-pop:hover,body.u-page .btn-ghost.u-pop:focus-visible{border-color:var(--ink);color:var(--ink)}
/* the numbers become bordered cards, one colour per world */
body.u-page .proof-metrics{gap:.8rem;padding:0;margin-top:0}
body.u-page .pm-row{align-items:center;gap:1.1rem;padding:.9rem 1.15rem;background:var(--cream);border:1px solid var(--ink)!important;border-radius:12px;box-shadow:4px 4px 0 var(--ink)}
body.u-page .pm-stat{flex:none;min-width:3.2rem;text-align:center;font-size:2rem!important;font-weight:400;color:var(--wc,var(--emerald))!important;font-variant-numeric:lining-nums}
body.w-career .pm-stat{width:6.4rem;text-align:left;font-size:1.7rem!important}
body.u-page .pm-label{margin:0;font-size:.86rem;letter-spacing:.02em;line-height:1.45;color:var(--ink)}
body.u-page .pm-body svg,body.u-page .pm-bar{display:none!important}
/* career: her partner network as a small ink scene, like the onion */
body.w-career .proof-sig{opacity:1;flex-direction:column;align-items:center;background:var(--ink);border:1px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--gold2);padding:1.6rem 1.2rem 1.2rem;margin:0 0 2.2rem}
body.w-career .proof-sig circle[fill^="url"]{display:none}
body.w-career .proof-sig line{stroke:var(--gold2);stroke-opacity:.6;stroke-width:1.2}
body.w-career .proof-sig line[stroke$="0.18)"]{stroke-opacity:.35}
body.w-career .proof-sig circle[fill="none"]{stroke:rgba(247,243,236,.38);stroke-width:1.2;opacity:1}
body.w-career .proof-sig circle[r="39"],body.w-career .proof-sig circle[r="64"]{stroke:rgba(247,243,236,.16)}
body.w-career .proof-sig circle[r="10"]{stroke:var(--gold2);stroke-width:2}
body.w-career .proof-sig circle[fill^="rgba"]{fill:var(--gold2);fill-opacity:1}
body.w-career .proof-sig circle[r="2.5"]{fill-opacity:.8}
body.w-career .proof-sig circle[r="1.8"]{fill-opacity:.55}
body.w-career .proof-sig text{font-size:.7rem;letter-spacing:.16em;fill:rgba(247,243,236,.72)}
/* DxVida: the border question in a box like the homepage boxes */
body.u-page #route{background:var(--cream);border:1px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--ink);padding:1.5rem 1.5rem 1.6rem}
body.u-page #route .cf-fld input,body.u-page #route .cf-fld select{border:1px solid rgba(23,20,15,.35);border-radius:8px;background:var(--paper)}
body.u-page #route .btn.u-pop{margin-top:.3rem}
@media(max-width:640px){body.u-page #route{padding:1.2rem 1.1rem 1.3rem;box-shadow:5px 5px 0 var(--ink)}}
/* SIP: the four stems as a deep ink scene, drawn in the onion's lines */
body.u-page .coaching-wrap{overflow:visible}
body.u-page .coaching-right{background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--gold2);padding:2.2rem 1.6rem 1.8rem}
body.u-page .sip-stems text{display:none!important}
body.u-page .sip-stems line,body.u-page .sip-stems path,body.u-page .sip-stems polygon,body.u-page .sip-stems circle[fill="none"]{stroke:rgba(247,243,236,.38);stroke-width:1.4}
body.u-page .sip-stems .sip-stem{stroke:rgba(247,243,236,.72);stroke-width:1.6}
body.u-page .sip-stems circle[fill="none"],body.u-page .sip-stems polygon{stroke:var(--gold2);stroke-width:2.6}
body.u-page .sip-stems circle:not([fill="none"]){fill:var(--gold2)}
body.u-page .coaching-right .pillars-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1.4rem;width:100%;max-width:400px;margin:1.6rem auto 0}
body.u-page .coaching-right .pillar-name-new{color:var(--paper)}
body.u-page .coaching-right .pillar-desc-new{color:rgba(247,243,236,.72)}
@media(max-width:640px){body.u-page .coaching-right{padding:1.6rem 1rem 1.4rem;box-shadow:5px 5px 0 var(--gold2)}body.u-page .coaching-right .pillars-row{gap:1rem;margin-top:1.2rem}}
body.u-page a.coaching-cta.en,body.u-page a.coaching-cta.de,body.u-page a.coaching-cta.es{background:var(--gold2);color:var(--ink);border:1px solid var(--ink);border-radius:10px;box-shadow:5px 5px 0 var(--ink);font-weight:500;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s cubic-bezier(.34,1.56,.64,1)}
body.u-page a.coaching-cta:hover,body.u-page a.coaching-cta:focus-visible{background:var(--gold2);color:var(--ink);transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}
body.u-page a.coaching-cta:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}
body.u-page a.coaching-cta:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
body.u-page .coaching-title em{color:var(--gold)}
body.u-page .coaching-cred{align-items:flex-start}
body.u-page .coaching-cred-mark{font-size:0;flex:none;width:12px;min-width:12px;height:12px;border:2.5px solid var(--gold);border-radius:50%;margin-top:.3rem}
body.u-page .coaching-cred-text{color:var(--muted)}
body.u-page .coaching-cred-text strong{color:var(--ink)}
@keyframes sipDraw{to{stroke-dashoffset:0}}
@supports (animation-timeline: view()){
  @media screen and (prefers-reduced-motion:no-preference){
    body.u-page .coaching-right{view-timeline-name:--sipcard}
    body.u-page .sip-stems .sip-stem{stroke-dasharray:190;stroke-dashoffset:190;animation:sipDraw linear both;animation-timeline:--sipcard;animation-range:entry 0% entry 100%}
  }
}
/* Whatever you need: the form in a card like the closing blocks; the offer links as pills at the card bottoms */
body.w-anything #contact{margin:3.6rem 0 1rem;padding:2.6rem;border:1px solid var(--ink);border-radius:16px;box-shadow:9px 9px 0 var(--ink);overflow:visible}
body.w-anything #contact::before{display:none}
body.w-anything #contact .talk{margin:0 auto;background:transparent;border:0;border-radius:0;padding:0}
body.w-anything #contact .talk input,body.w-anything #contact .talk select,body.w-anything #contact .talk textarea{border:1px solid var(--ink);border-radius:8px}
body.w-anything #contact .btn-gold{background:var(--gold2);color:var(--ink)}
@media(max-width:640px){body.w-anything #contact{margin:2.6rem 0 .5rem;padding:1.7rem 1.3rem;box-shadow:6px 6px 0 var(--ink)}}
body.w-anything .u-card{display:flex;flex-direction:column}
body.w-anything .u-card>a{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;padding:0 1.1rem;border:1px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);transition:background .25s}
body.w-anything .u-card>a:hover,body.w-anything .u-card>a:focus-visible{background:var(--gold2)}
/* the fifth mini world spans the row on phones */
@media(max-width:640px){body.u-page .u-worlds .bx-mini:last-child:nth-child(odd){grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){body.u-page a.coaching-cta.en,body.u-page a.coaching-cta.de,body.u-page a.coaching-cta.es,body.w-anything .u-card>a{transition:none}}

/* ===== 2026-09-23 launch audit fixes (tokens only) ===== */
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.sr-only span.en,.sr-only span.de{display:inline}
.skip-link{z-index:201}
[tabindex="-1"]:focus{outline:none}
/* burger sits after the logo in the DOM; keep it visually last */
nav>.lang-sw{order:2}.nav-burger{order:3}
/* contrast: readable buttons, focus rings, error lines, footer, small labels */
.btn-gold{background:var(--gold2);color:var(--ink)}.btn-gold:hover{background:var(--gold)}
.bx:focus-visible{outline-color:var(--ink)}
.form-fail{color:var(--ink);border-left:2px solid var(--gold2);padding-left:.6rem}
#contact .form-fail,.u-next .form-fail,.talk .form-fail{color:var(--paper)}
footer,footer p,footer a,.u-footer p,.u-footer a,.nl .nl-consent{color:rgba(247,243,236,.8)}
footer p a,.u-footer p a,.nl-consent a{text-decoration:underline;text-underline-offset:.2em}
footer a,.u-footer a{display:inline-block;padding:.35rem 0}
.hero-tag,.u-kick{color:var(--emerald)}
body.u-page .u-next .u-kick{color:var(--gold2)}
.c-anything .u-ey,.bx-anything .bx-pill{opacity:1}
.onion .ol-base .ol-w{color:var(--ink)}
body.u-page #route .cf-fld input,body.u-page #route .cf-fld select{border-color:rgba(23,20,15,.5)}
/* phones */
@media(max-width:640px){#contact{padding:4rem 1.2rem}.talk{padding:1.3rem 1.1rem}}
@media(max-width:359px){nav{gap:.6rem .4rem}.nav-logo{font-size:.8rem}nav>.lang-sw{margin-right:.2rem}.lang-btn{min-width:40px;padding:.4rem .3rem}}
.bx .bx-pill{white-space:normal;text-align:center;min-width:0}.bx-top{gap:.6rem}
body.u-page #route .route-row-sel{grid-template-columns:1fr}
.nl button,.nl input[type=email]{min-height:44px}
@media(max-width:940px){.talk input,.talk select,.talk textarea,.route input,.route select,.nl input[type=email]{font-size:16px}}
.nl button{background:var(--gold2);color:var(--ink)}.nl button:hover{background:var(--gold)}
.contact-more a,.their-words-lead a{text-decoration:underline;text-underline-offset:.2em}
.talk label,.talk .form-note,.talk-proof{color:rgba(247,243,236,.8)}
.talk .fld-hint{color:rgba(247,243,236,.8)}

/* ===== 2026-09-23 homepage footer: one grid (the letter, Elsewhere, Worlds) and a bottom bar (tokens only) ===== */
footer.site-foot{display:block;text-align:left;padding:3.4rem 4rem 1.6rem}
.sf-top{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,.65fr) minmax(0,.75fr);gap:3rem;align-items:start;max-width:1120px;margin:0 auto}
.site-foot .nl{align-items:stretch;max-width:520px;margin:0;gap:.9rem}
.site-foot .nl .nl-title{font-size:.9rem;line-height:1.6}
.site-foot .nl .nl-row{justify-content:flex-start;flex-wrap:nowrap;gap:.6rem}
.site-foot .nl input[type=email]{flex:1 1 auto;min-width:0;border-radius:8px;border:1px solid var(--ink)}
.site-foot .nl button{flex:none;border-radius:8px;border:1px solid var(--ink);padding:.6rem 1.2rem}
.site-foot .nl .nl-consent{font-size:.74rem;line-height:1.5;gap:.6rem}
.site-foot .nl .nl-consent input{flex:none;width:16px;height:16px;margin-top:.15rem}
.nl-consent-text span.en,.nl-consent-text span.de,.nl-consent-text span.es{display:inline}
.nl-consent-text a{display:inline;padding:0;white-space:nowrap}
.sf-h{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--warm);margin:0 0 .7rem}
.sf-h span.en,.sf-h span.de{display:inline}
.sf-links ul{list-style:none;margin:0;padding:0}
.sf-links a{font-size:.85rem;letter-spacing:.02em;padding:.3rem 0}
.sf-links a:hover,.sf-bottom a:hover{color:var(--paper)}
.sf-bottom{max-width:1120px;margin:2.8rem auto 0;padding-top:1.2rem;border-top:1px solid rgba(247,243,236,.16);display:flex;justify-content:space-between;align-items:center;gap:.6rem 1.5rem;flex-wrap:wrap}
.sf-bottom p{font-size:.75rem;margin:0}
.sf-bottom a{text-decoration:underline;text-underline-offset:.2em}
@media(max-width:1100px){footer.site-foot{text-align:left;padding:3rem 2rem 1.5rem}}
@media(max-width:900px){.sf-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.4rem 2rem}.sf-top .nl{grid-column:1/-1;max-width:none}}
@media(max-width:560px){footer.site-foot{padding:2.6rem 1.2rem 1.4rem}.site-foot .nl .nl-row{flex-wrap:wrap}.site-foot .nl button{width:100%}.sf-bottom{flex-direction:column;align-items:flex-start}}

/* ===== 2026-09-24 legal menu in the top bar (two clicks to Impressum and Datenschutz from every page) and the legal pages ===== */
.legal-dd{position:relative;flex:none}
.legal-dd summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;min-height:36px;padding:.4rem .75rem;border:1px solid var(--border);border-radius:999px;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--muted);white-space:nowrap}
.legal-dd summary::-webkit-details-marker{display:none}
.legal-dd summary::after{content:"▾";font-size:.7rem;line-height:1}
.legal-dd[open] summary,.legal-dd summary:hover{color:var(--ink);border-color:var(--ink)}
.legal-dd summary span.en,.legal-dd summary span.de,.legal-dd summary span.es,.legal-pop a span.en,.legal-pop a span.de,.legal-pop a span.es{display:inline;padding-left:0;border-left:0}
.ld-short{display:none!important}
.legal-pop{position:absolute;right:0;top:calc(100% + 10px);width:min(330px,88vw);background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:12px;box-shadow:5px 5px 0 var(--ink);padding:1rem 1.1rem 1.05rem;z-index:300;text-align:left}
.legal-pop a{display:block;font-size:.92rem;font-weight:500;color:var(--emerald);padding:.45rem 0;text-decoration:underline;text-underline-offset:.2em;letter-spacing:0;text-transform:none}
.legal-pop p{font-size:.8rem;line-height:1.55;color:var(--muted);margin:.6rem 0 0;padding-left:0!important;border-left:0!important;letter-spacing:0;text-transform:none}
.legal-pop .lp-who{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:1100px){.legal-dd{order:1}}
@media(max-width:640px){
  .ld-long{display:none!important}.ld-short{display:inline!important}
  .legal-dd summary{min-height:44px;padding:.4rem .6rem}
  .legal-pop{position:fixed;left:12px;right:12px;top:70px;width:auto}
}
.legal-body{max-width:780px;margin:0 auto;padding:calc(72px + 3rem) clamp(1.2rem,5vw,3rem) 4rem}
.legal-body h1{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4vw,2.8rem);margin-bottom:.6rem;overflow-wrap:break-word;hyphens:auto}
.legal-body h2{font-family:var(--serif);font-weight:400;font-size:1.35rem;margin:2.2rem 0 .7rem}
.legal-body p,.legal-body li{font-size:.97rem;line-height:1.75;margin-bottom:.8rem;padding-left:0!important;border-left:0!important}
.legal-body ul{padding-left:1.2rem;margin-bottom:1rem}
.legal-body a{color:var(--emerald)}
.legal-body .legal-meta{font-size:.82rem;color:var(--muted);margin-bottom:1.6rem}
/* phones: the legal links sit directly in the menu (menu, then link: two clicks) and the top bar stays one row */
.nl-legal{display:none}
@media(max-width:640px){.legal-dd{display:none}.nl-legal{display:block}.nl-legal a{font-size:.7rem!important;color:var(--muted)!important}}
