:root{
    --ink:#0C0A09;
    --ink-2:#141110;
    --ink-3:#1C1917;
    --gold:#D4A24E;
    --gold-dim:#9A7538;
    --paper:#F5F1EA;
    --paper-2:#C9C2B6;
    --paper-3:#8A8279;
    --line:rgba(212,162,78,.22);
    --line-soft:rgba(245,241,234,.10);
    --serif:'Iowan Old Style','Palatino Linotype','Book Antiqua',Palatino,'Hoefler Text',Georgia,serif;
    --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
    --sp:clamp(4.5rem,9vw,9rem);
    --gutter:clamp(1.5rem,5vw,5.5rem);
    --maxw:1180px;
  }

  *{box-sizing:border-box}
  [hidden]{display:none!important}
  img{max-width:100%}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    background:var(--ink);
    color:var(--paper);
    font-family:var(--sans);
    font-size:17px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *{animation:none!important;transition:none!important}
  }

  /* ── ambient ───────────────────────────── */
  .glow{
    position:fixed;inset:0;pointer-events:none;z-index:0;
    background:
      radial-gradient(60rem 40rem at 78% -8%, rgba(212,162,78,.10), transparent 62%),
      radial-gradient(50rem 36rem at -10% 55%, rgba(212,162,78,.055), transparent 60%);
  }
  .grain{
    position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.5;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");
  }

  /* ── layout ────────────────────────────── */
  main{position:relative;z-index:2}
  section{padding:var(--sp) var(--gutter);position:relative}
  .wrap{max-width:var(--maxw);margin:0 auto;width:100%}
  .rule{height:1px;background:linear-gradient(90deg,var(--gold),rgba(212,162,78,0));border:0;margin:0}

  /* ── type ──────────────────────────────── */
  h1,h2,h3,h4{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.015em;text-wrap:balance}
  a:focus-visible,.index a:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
  .eyebrow{
    font-family:var(--sans);font-size:.72rem;font-weight:600;
    letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
    display:flex;align-items:center;gap:.9rem;margin-bottom:2.2rem;
  }
  .eyebrow::after{content:'';flex:1;height:1px;background:var(--line);max-width:9rem}
  .num-tag{
    font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.2em;
    color:var(--gold);
  }
  h2.display{
    font-size:clamp(2.1rem,5.2vw,3.9rem);line-height:1.08;max-width:20ch;
  }
  .lede{
    font-size:clamp(1.05rem,1.7vw,1.3rem);color:var(--paper-2);
    max-width:60ch;line-height:1.7;
  }
  em{font-style:italic;color:var(--gold)}
  .gold{color:var(--gold)}

  /* ── nav ───────────────────────────────── */
  nav{
    position:sticky;top:0;z-index:60;
    background:rgba(12,10,9,.82);backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line-soft);
  }
  .nav-in{
    max-width:var(--maxw);margin:0 auto;padding:.95rem var(--gutter);
    display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  }
  .nav-name{
    font-family:var(--serif);font-size:1.02rem;letter-spacing:.01em;
    color:var(--paper);text-decoration:none;white-space:nowrap;
  }
  .nav-links{display:flex;gap:2rem;list-style:none;margin:0;padding:0}
  .nav-links a{
    font-size:.79rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;
    color:var(--paper-3);text-decoration:none;transition:color .22s ease;
  }
  .nav-links a:hover,.nav-links a:focus-visible{color:var(--gold)}
  .nav-cta{
    font-size:.79rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;
    color:var(--ink);background:var(--gold);text-decoration:none;
    padding:.6rem 1.15rem;border-radius:2px;white-space:nowrap;
    transition:background .22s ease,transform .22s ease;
  }
  .nav-cta:hover{background:#E5B664;transform:translateY(-1px)}
  @media(max-width:900px){.nav-links{display:none}}

  /* ── hero ──────────────────────────────── */
  .hero{
    min-height:92vh;min-height:92dvh;display:flex;align-items:center;
    padding-top:clamp(3rem,7vw,6rem);padding-bottom:clamp(3rem,7vw,6rem);
  }
  .hero-grid{
    display:grid;grid-template-columns:1.35fr .85fr;gap:clamp(2rem,5vw,5rem);
    align-items:center;width:100%;
  }
  .hero h1{
    font-size:clamp(3.1rem,9.2vw,7.4rem);line-height:.92;letter-spacing:-.035em;
    margin-bottom:1.6rem;
  }
  .hero h1 span{display:block}
  .hero h1 .last{font-style:italic;color:var(--gold)}
  .hero-role{
    font-size:.82rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;
    color:var(--paper-2);margin-bottom:2.6rem;line-height:2;
  }
  .hero-quote{
    font-family:var(--serif);font-size:clamp(1.15rem,2.1vw,1.6rem);
    line-height:1.45;color:var(--paper);max-width:26ch;
    padding-left:1.4rem;border-left:2px solid var(--gold);
  }
  .hero-meta{
    margin-top:2.8rem;display:flex;gap:2.2rem;flex-wrap:wrap;
    font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-3);
  }
  /* La foto ya viene con el fondo igualado al del dossier y los bordes
     difuminados (ver prepare_photo.py): va sin marco, la figura flota. */
  .portrait{
    display:block;width:100%;height:auto;max-height:78vh;
    object-fit:contain;object-position:center bottom;
  }
  /* marcador mientras no exista la foto: recupera marco y proporción */
  .portrait[data-asset]{aspect-ratio:3/4;object-fit:fill}
  @media(max-width:860px){
    .hero-grid{grid-template-columns:1fr}
    .portrait{max-width:320px;order:-1}
  }

  /* ── manifiesto ────────────────────────── */
  .manifesto{
    background:var(--ink-2);border-top:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);text-align:center;
    padding-top:clamp(6rem,12vw,11rem);padding-bottom:clamp(6rem,12vw,11rem);
  }
  .manifesto p{
    font-family:var(--serif);font-size:clamp(1.9rem,5.4vw,4.1rem);
    line-height:1.16;letter-spacing:-.025em;margin:0 auto;max-width:17ch;
  }
  .manifesto .a{color:var(--paper)}
  .manifesto .b{color:var(--paper-3)}
  .manifesto .c{color:var(--gold);font-style:italic}

  /* ── tesis ─────────────────────────────── */
  .tesis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.8rem,3.5vw,3.2rem);margin-top:3.5rem}
  .tesis-item{border-top:1px solid var(--line);padding-top:1.6rem}
  .tesis-item .n{
    font-family:var(--serif);font-size:2.6rem;line-height:1;color:var(--gold);
    display:block;margin-bottom:1rem;
  }
  .tesis-item h3{font-size:1.32rem;line-height:1.25;margin-bottom:.85rem}
  .tesis-item p{color:var(--paper-2);font-size:.98rem;margin:0;line-height:1.68}
  @media(max-width:820px){.tesis-grid{grid-template-columns:1fr;gap:2.2rem}}

  /* ── antes de ser conferencista ────────── */
  .before-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-soft);margin-top:3.2rem;border:1px solid var(--line-soft)}
  .before-item{background:var(--ink);padding:clamp(1.8rem,3vw,2.6rem)}
  .before-item h3{font-size:1.28rem;line-height:1.3;margin-bottom:.55rem}
  .before-item .where{
    font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
    color:var(--gold);margin-bottom:1.1rem;
  }
  .before-item p{color:var(--paper-2);font-size:.94rem;margin:0;line-height:1.7}
  .before-item ul{margin:.5rem 0 0;padding-left:1.05rem;color:var(--paper-2);font-size:.94rem;line-height:1.75}
  .before-item li::marker{color:var(--gold-dim)}
  @media(max-width:820px){.before-grid{grid-template-columns:1fr}}

  /* ── números ───────────────────────────── */
  .stats{background:var(--ink-2);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
  .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);margin-top:3rem}
  .stat{background:var(--ink-2);padding:clamp(1.6rem,2.6vw,2.3rem);text-align:left}
  .stat .v{
    font-family:var(--serif);font-size:clamp(2.3rem,4.4vw,3.5rem);line-height:1;
    color:var(--gold);display:block;margin-bottom:.7rem;letter-spacing:-.02em;
    font-variant-numeric:tabular-nums;
  }
  .stat .l{font-size:.87rem;color:var(--paper-2);line-height:1.5;display:block}
  @media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:520px){.stats-grid{grid-template-columns:1fr}}

  /* ── historia ──────────────────────────── */
  .story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,5rem);align-items:start}
  .path{list-style:none;margin:0;padding:0}
  .path li{
    font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.35;
    color:var(--paper-3);position:relative;padding-left:1.9rem;transition:color .3s ease;
  }
  .path li::before{
    content:'';position:absolute;left:0;top:.85em;width:.5rem;height:.5rem;
    border:1px solid var(--gold-dim);border-radius:50%;
  }
  .path li:not(:last-child)::after{
    content:'';position:absolute;left:.24rem;top:1.5em;bottom:-.35em;width:1px;background:var(--line);
  }
  .path li.now{color:var(--gold);font-style:italic}
  .path li.now::before{background:var(--gold);border-color:var(--gold)}
  .story-body p{color:var(--paper-2);font-size:1.03rem;line-height:1.78;margin:0 0 1.5rem}
  .story-body p:first-child{color:var(--paper);font-size:1.14rem}
  .pull{
    font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,1.75rem);line-height:1.4;
    color:var(--paper);border-left:2px solid var(--gold);padding-left:1.5rem;
    margin:2.5rem 0 0;font-style:italic;
  }
  @media(max-width:860px){.story-grid{grid-template-columns:1fr;gap:3rem}}

  /* ── método ────────────────────────────── */
  .method-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.5rem,3vw,2.4rem);margin-top:3.2rem}
  .method{border:1px solid var(--line-soft);padding:clamp(1.7rem,2.8vw,2.3rem);border-radius:2px;background:var(--ink-2)}
  .method h3{font-size:1.22rem;margin-bottom:.8rem}
  .method p{color:var(--paper-2);font-size:.96rem;margin:0;line-height:1.7}
  .method.feature{
    grid-column:1/-1;border-color:var(--gold);
    background:linear-gradient(135deg,rgba(212,162,78,.10),rgba(212,162,78,.02));
  }
  .method.feature h3{color:var(--gold);font-size:clamp(1.4rem,2.5vw,1.85rem);font-style:italic}
  .method.feature p{color:var(--paper);font-size:1.04rem;max-width:62ch}
  @media(max-width:820px){.method-grid{grid-template-columns:1fr}}

  /* ── índice de charlas ─────────────────── */
  .index{margin-top:3rem;border-top:1px solid var(--line)}
  .index a{
    display:grid;grid-template-columns:4rem 1fr auto;gap:1.5rem;align-items:baseline;
    padding:1.7rem .5rem;border-bottom:1px solid var(--line-soft);
    text-decoration:none;color:inherit;transition:background .25s ease,padding-left .25s ease;
  }
  .index a:hover,.index a:focus-visible{background:rgba(212,162,78,.05);padding-left:1.2rem}
  .index .i{font-family:var(--sans);font-size:.8rem;font-weight:600;letter-spacing:.14em;color:var(--gold)}
  .index .t{font-family:var(--serif);font-size:clamp(1.25rem,2.6vw,1.85rem);line-height:1.25}
  .index .t small{display:block;font-family:var(--sans);font-size:.86rem;font-style:normal;color:var(--paper-3);margin-top:.4rem;letter-spacing:.01em}
  .index .lv{
    font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-3);
    white-space:nowrap;border:1px solid var(--line);padding:.35rem .75rem;border-radius:999px;
  }
  @media(max-width:700px){
    .index a{grid-template-columns:2.6rem 1fr;gap:1rem}
    .index .lv{grid-column:2;justify-self:start;margin-top:.6rem}
  }

  /* ── ficha de charla ───────────────────── */
  .talk{border-top:1px solid var(--line-soft)}
  .talk-head{display:flex;align-items:baseline;gap:1.2rem;margin-bottom:1.4rem;flex-wrap:wrap}
  .talk h2{font-size:clamp(1.9rem,4.4vw,3.1rem);line-height:1.1;max-width:22ch}
  .talk .sub{font-family:var(--serif);font-style:italic;color:var(--paper-3);font-size:clamp(1rem,1.8vw,1.28rem);margin-top:.5rem;display:block}
  .promise{
    font-family:var(--serif);font-size:clamp(1.15rem,2.3vw,1.7rem);line-height:1.45;
    color:var(--gold);font-style:italic;border-left:2px solid var(--gold);
    padding-left:1.5rem;margin:2rem 0 3rem;max-width:44ch;
  }
  .fields{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,4vw,3.5rem)}
  .field{margin-bottom:2.4rem}
  .field:last-child{margin-bottom:0}
  .field h4{
    font-family:var(--sans);font-size:.73rem;font-weight:700;letter-spacing:.19em;
    text-transform:uppercase;color:var(--gold);margin-bottom:.85rem;
  }
  .field p{color:var(--paper-2);margin:0;font-size:.99rem;line-height:1.75}
  .field ul{margin:0;padding-left:1.1rem;color:var(--paper-2);font-size:.99rem;line-height:1.75}
  .field ul li{margin-bottom:.6rem}
  .field ul li::marker{color:var(--gold-dim)}
  .field .why{
    background:var(--ink-2);border:1px solid var(--line);border-radius:2px;
    padding:1.5rem 1.6rem;
  }
  .field .why p{color:var(--paper)}
  .spec{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-soft)}
  .spec li{
    display:flex;justify-content:space-between;gap:1.5rem;padding:.8rem 0;
    border-bottom:1px solid var(--line-soft);font-size:.9rem;
  }
  .spec .k{color:var(--paper-3);letter-spacing:.05em}
  .spec .v{color:var(--paper);text-align:right}
  .highlight{color:var(--gold);font-weight:500}
  @media(max-width:860px){.fields{grid-template-columns:1fr;gap:0}}

  /* ── testimonios ───────────────────────── */
  .quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:3.2rem}
  .quote{
    border:1px dashed var(--line);border-radius:2px;padding:2rem;
    background:rgba(212,162,78,.025);
  }
  .quote blockquote{
    font-family:var(--serif);font-size:1.12rem;line-height:1.55;margin:0 0 1.4rem;
    color:var(--paper-3);font-style:italic;
  }
  .quote .who{font-size:.87rem;color:var(--paper-3)}
  .quote .who b{color:var(--paper-2);font-weight:600;display:block}
  .pending{
    display:inline-block;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
    color:var(--gold-dim);border:1px solid var(--line);padding:.28rem .6rem;
    border-radius:999px;margin-bottom:1.2rem;
  }
  @media(max-width:820px){.quotes{grid-template-columns:1fr}}

  /* ── marcas ────────────────────────────── */
  .brands{background:var(--ink-2);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
  .brand-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
    background:var(--line-soft);border:1px solid var(--line-soft);margin-top:3rem;
  }
  .brand{
    background:var(--ink-2);padding:1.9rem 1rem;text-align:center;
    font-family:var(--serif);font-size:1.06rem;color:var(--paper-2);
    letter-spacing:.02em;transition:color .25s ease,background .25s ease;
  }
  .brand:hover{color:var(--gold);background:var(--ink-3)}
  @media(max-width:820px){.brand-grid{grid-template-columns:repeat(2,1fr)}}

  /* ── libro ─────────────────────────────── */
  .book-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
  .book-cover{
    display:block;width:100%;height:auto;border-radius:2px;
    box-shadow:0 24px 60px rgba(0,0,0,.55),0 0 0 1px var(--line-soft);
  }
  .book-meta{list-style:none;margin:2.2rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
  .book-meta li{
    font-size:.74rem;letter-spacing:.11em;text-transform:uppercase;color:var(--paper-3);
    border:1px solid var(--line);padding:.4rem .85rem;border-radius:999px;
  }
  @media(max-width:820px){.book-grid{grid-template-columns:1fr}.book-cover{max-width:290px}}

  /* ── aula ──────────────────────────────── */
  .teach{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);margin-top:3.2rem}
  .teach-item{background:var(--ink);padding:clamp(1.7rem,2.8vw,2.3rem)}
  .teach-item .inst{
    font-size:.73rem;letter-spacing:.17em;text-transform:uppercase;color:var(--gold);
    margin-bottom:.75rem;
  }
  .teach-item h3{font-size:1.16rem;line-height:1.35;margin-bottom:.5rem}
  .teach-item p{color:var(--paper-3);font-size:.92rem;margin:0;line-height:1.6}
  @media(max-width:820px){.teach{grid-template-columns:1fr}}

  /* ── contacto ──────────────────────────── */
  .contact{
    background:var(--ink-2);border-top:1px solid var(--line);text-align:center;
    padding-top:clamp(5rem,10vw,8rem);padding-bottom:clamp(4rem,8vw,6rem);
  }
  .contact h2{font-size:clamp(2.1rem,5.4vw,3.7rem);line-height:1.1;max-width:18ch;margin:0 auto 1.6rem}
  .contact .lede{margin:0 auto 3rem;text-align:center}
  .contact-links{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:3.5rem}
  .btn{
    font-size:.82rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600;
    text-decoration:none;padding:1rem 2rem;border-radius:2px;transition:all .24s ease;
  }
  .btn-primary{background:var(--gold);color:var(--ink)}
  .btn-primary:hover{background:#E5B664;transform:translateY(-2px)}
  .btn-ghost{border:1px solid var(--line);color:var(--paper-2)}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
  .contact-meta{
    font-size:.85rem;color:var(--paper-3);line-height:1.9;
    border-top:1px solid var(--line-soft);padding-top:2.5rem;max-width:60ch;margin:0 auto;
  }
  .contact-meta strong{color:var(--paper-2);font-weight:500}

  footer{
    padding:2rem var(--gutter);text-align:center;
    font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-3);
    border-top:1px solid var(--line-soft);
  }

  /* ── reveal ────────────────────────────── */
  .rv{opacity:0;transform:translateY(22px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}
  .rv.in{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

  /* ── print / PDF 16:9 ──────────────────── */
  @media print{
    @page{size:297mm 167mm;margin:0}
    html,body{background:#0C0A09!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
    nav,.grain,footer,.glow{display:none!important}
    /* El PDF usa la foto opaca: hay visores que no dibujan el canal alfa.
       Al apagar el halo, el fondo queda plano y el fundido es invisible. */
    .rv{opacity:1!important;transform:none!important;transition:none!important}

    body{font-size:7.6pt;line-height:1.5}
    section{
      break-after:page;page-break-after:always;break-inside:avoid;
      height:167mm;min-height:0;padding:11mm 15mm;
      display:flex;align-items:center;overflow:hidden;
    }
    section:last-of-type{break-after:auto;page-break-after:auto}
    .hero,.manifesto,.contact{min-height:0;height:167mm}
    .wrap{width:100%;max-width:none}

    /* re-assert grids: print lays out narrower than the screen breakpoints */
    .hero-grid{grid-template-columns:1.5fr .8fr;gap:14mm}
    .portrait{order:0}
    .tesis-grid{grid-template-columns:repeat(3,1fr)}
    .before-grid{grid-template-columns:repeat(2,1fr)}
    .stats-grid{grid-template-columns:repeat(4,1fr)}
    .story-grid{grid-template-columns:.75fr 1.25fr;gap:12mm}
    .method-grid{grid-template-columns:repeat(2,1fr)}
    .fields{grid-template-columns:1.15fr .85fr}
    .quotes{grid-template-columns:repeat(2,1fr)}
    .brand-grid{grid-template-columns:repeat(4,1fr)}
    .book-grid{grid-template-columns:.55fr 1.45fr;gap:12mm}
    .teach{grid-template-columns:repeat(3,1fr)}

    /* type scale */
    .hero h1{font-size:50pt;margin-bottom:.5rem}
    .hero-role{font-size:7pt;margin-bottom:1.1rem;letter-spacing:.2em}
    .hero-quote{font-size:13pt;padding-left:.7rem}
    .hero-meta{margin-top:1.2rem;font-size:6.4pt;gap:1.2rem}
    .portrait{aspect-ratio:auto;height:120mm}
    .manifesto p{font-size:30pt}
    h2.display{font-size:21pt;max-width:22ch}
    .talk h2{font-size:19pt}
    .talk .sub{font-size:10pt}
    .promise{font-size:11pt;margin:.9rem 0 1.3rem;padding-left:.8rem}
    .eyebrow{font-size:6.2pt;margin-bottom:.9rem}
    .lede{font-size:8.4pt}

    /* blocks */
    .tesis-grid,.before-grid,.method-grid,.teach,.quotes{margin-top:1.2rem;gap:1rem}
    .tesis-item .n{font-size:17pt;margin-bottom:.4rem}
    .tesis-item h3{font-size:9.5pt;margin-bottom:.4rem}
    .tesis-item p,.before-item p,.before-item ul,.method p,.teach-item p{font-size:7.4pt;line-height:1.5}
    .before-item,.method,.teach-item,.stat,.brand{padding:.8rem .95rem}
    .before-item h3{font-size:9.5pt}
    .before-item .where,.teach-item .inst{font-size:6pt;margin-bottom:.35rem}
    .stats-grid,.brand-grid,.index{margin-top:1.1rem}
    .stat .v{font-size:17pt;margin-bottom:.25rem}
    .stat .l{font-size:6.8pt;line-height:1.35}
    .brand{font-size:8pt;padding:.75rem .5rem}
    .method h3,.teach-item h3{font-size:9.5pt;margin-bottom:.35rem}
    .method.feature h3{font-size:12pt}
    .method.feature p{font-size:8.4pt}
    .path li{font-size:12pt}
    .story-body p{font-size:8pt;margin-bottom:.7rem;line-height:1.6}
    .story-body p:first-child{font-size:8.6pt}
    .pull{font-size:10pt;margin-top:1rem;padding-left:.8rem}
    .index a{padding:.65rem .3rem}
    .index .t{font-size:11.5pt}
    .index .t small{font-size:7pt;margin-top:.2rem}
    .index .lv,.talk-head .lv{font-size:5.8pt;padding:.2rem .5rem}
    .book-cover{height:118mm;width:auto;max-width:100%;object-fit:contain}
    .book-meta{margin-top:1rem}
    .book-meta li{font-size:6pt;padding:.25rem .55rem}
    .quote{padding:1rem}
    .quote blockquote{font-size:8pt;margin-bottom:.7rem}
    .quote .who{font-size:6.8pt}

    /* talk fields */
    .fields{gap:1.6rem}
    .field{margin-bottom:.95rem}
    .field h4{font-size:6.2pt;margin-bottom:.35rem;letter-spacing:.16em}
    .field p,.field ul{font-size:7.4pt;line-height:1.55}
    .field ul li{margin-bottom:.25rem}
    .field .why{padding:.7rem .8rem}
    .spec li{padding:.32rem 0;font-size:6.8pt}

    /* contacto */
    .contact h2{font-size:21pt;margin-bottom:.8rem}
    .contact .lede{margin-bottom:1.4rem}
    .contact-links{margin-bottom:1.6rem;gap:.6rem}
    .btn{font-size:6.6pt;padding:.6rem 1.2rem}
    .contact-meta{font-size:7.2pt;padding-top:1.2rem;line-height:1.8}
  }
  /* ══ añadidos del sitio (no estaban en el dossier) ══════════ */

  /* selector de idioma */
  .nav-right{display:flex;align-items:center;gap:1.4rem}
  .lang{display:flex;gap:.15rem;align-items:center}
  .lang a{
    font-size:.72rem;letter-spacing:.1em;font-weight:600;color:var(--paper-3);
    text-decoration:none;padding:.35rem .5rem;border-radius:2px;
    transition:color .2s ease,background .2s ease;
  }
  .lang a:hover{color:var(--paper)}
  .lang a.on{color:var(--gold);background:rgba(212,162,78,.10)}
  @media(max-width:560px){.nav-cta{display:none}}

  /* píldora de nivel en la ficha de charla */
  .lv-pill{
    font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-3);
    border:1px solid var(--line);padding:.3rem .7rem;border-radius:999px;
  }

  /* servicios */
  .services{background:var(--ink-2);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3.2rem}
  .svc{
    border:1px solid var(--line-soft);border-radius:2px;background:var(--ink);
    padding:clamp(1.7rem,2.8vw,2.3rem);display:flex;flex-direction:column;
  }
  .svc-tag{
    font-size:.7rem;letter-spacing:.17em;text-transform:uppercase;
    color:var(--gold);margin-bottom:1.1rem;
  }
  .svc h3{font-size:1.24rem;line-height:1.3;margin-bottom:.8rem}
  .svc p{color:var(--paper-2);font-size:.95rem;line-height:1.7;margin:0}
  .svc-link{
    margin-top:1.4rem;font-size:.85rem;color:var(--gold);text-decoration:none;
    border-bottom:1px solid transparent;align-self:flex-start;transition:border-color .2s ease;
  }
  .svc-link:hover{border-bottom-color:var(--gold)}
  @media(max-width:900px){.svc-grid{grid-template-columns:1fr}}

  @media print{
    .lang,.nav-right{display:none!important}
    .svc-grid{grid-template-columns:repeat(3,1fr);gap:6mm}
    .svc{padding:6mm}
    .svc h3{font-size:11pt}
    .svc p{font-size:7.4pt}
  }

  /* ══ ajustes de móvil ═══════════════════════════════════════ */
  @media(max-width:640px){
    /* el subtítulo se desbordaba: menos tracking y salto de línea natural */
    .hero-role{font-size:.7rem;letter-spacing:.14em;line-height:1.9}
    .hero-meta{gap:.5rem 1.4rem;font-size:.7rem;letter-spacing:.1em}
    /* la foto no debe empujar el nombre fuera de la primera pantalla */
    .portrait{max-width:230px;max-height:44vh;margin:0 auto}
    .hero{min-height:0;padding-top:2.5rem}
    .hero-grid{gap:2rem}
    .hero h1{font-size:clamp(2.8rem,15vw,4rem)}
    /* el selector de idioma es el control clave en móvil: siempre visible */
    .nav-right{gap:.6rem}
    .lang a{padding:.4rem .45rem}
  }
