  :root{
    --paper:#FAF8F3;
    --panel:#F0EDE4;
    --navy-900:#0E1B2E;
    --navy-950:#0A1428;
    --ink-soft:#5C606B;
    --gold:#B4966E;
    --gold-dark:#8C744F;
    --alert:#A2453B;
    --line:rgba(14,27,46,.16);

    --bg:var(--paper);
    --surface:var(--panel);
    --on-bg:var(--navy-900);
    --on-bg-soft:var(--ink-soft);
    --on-bg-line:var(--line);
    --radius:3px;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:var(--navy-950);
      --surface:#14233A;
      --on-bg:#F0EDE4;
      --on-bg-soft:#A9B2C2;
      --on-bg-line:rgba(240,237,228,.16);
      --gold:#C9A87C;
    }
  }
  :root[data-theme="dark"]{
    --bg:var(--navy-950);
    --surface:#14233A;
    --on-bg:#F0EDE4;
    --on-bg-soft:#A9B2C2;
    --on-bg-line:rgba(240,237,228,.16);
    --gold:#C9A87C;
  }
  *{box-sizing:border-box;}
  html{
    scroll-behavior:smooth;
    scroll-padding-top:96px;
  }
  @media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }
  body{
    margin:0;
    background:var(--bg);
    color:var(--on-bg);
    font-family:"Archivo",system-ui,sans-serif;
    font-weight:400;
    line-height:1.55;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{font-family:"Archivo",sans-serif;margin:0;color:var(--on-bg);}
  p{margin:0;}
  a{color:inherit;}
  .serif{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;}
  .mono{font-family:"IBM Plex Mono",monospace;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1100px;margin:0 auto;padding-inline:24px;}
  .measure{max-width:62ch;}
  :focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
  .skip-link{
    position:absolute;left:-999px;top:auto;
    background:var(--navy-900);color:var(--paper);
    padding:10px 16px;border-radius:var(--radius);z-index:200;
  }
  .skip-link:focus{left:16px;top:16px;}

  /* ---------- header ---------- */
  header{
    position:sticky;top:0;z-index:100;
    background:var(--bg);
    border-bottom:1px solid var(--on-bg-line);
    padding-top:env(safe-area-inset-top,0px);
  }
  .header-row{
    display:flex;align-items:center;justify-content:space-between;
    height:72px;
  }
  .brand{display:flex;align-items:center;gap:11px;text-decoration:none;}
  .brand-plaque{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:5px 7px;
    display:flex;align-items:center;
    flex-shrink:0;
  }
  .brand-plaque img{height:26px;width:auto;display:block;}
  .brand-word{
    font-family:"Archivo",sans-serif;font-weight:800;font-size:1.02rem;
    letter-spacing:.05em;color:var(--on-bg);white-space:nowrap;
  }
  .brand-word-legal{color:var(--gold);}
  nav.primary-nav{display:flex;gap:22px;}
  .primary-nav a:not(.btn){
    font-size:.95rem;font-weight:600;letter-spacing:.02em;
    text-decoration:none;color:var(--on-bg);
    padding-block:4px;border-bottom:1px solid transparent;
    transition:border-color .15s ease, color .15s ease;
  }
  .primary-nav a:not(.btn):hover{border-color:var(--gold);}
  .header-actions{display:flex;align-items:center;gap:16px;}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;
    font-family:"Archivo",sans-serif;font-weight:700;font-size:.92rem;
    padding:11px 20px;border-radius:var(--radius);
    text-decoration:none;cursor:pointer;border:1px solid transparent;
    transition:background .15s ease,color .15s ease,border-color .15s ease;
    line-height:1;
  }
  .btn-primary{background:var(--navy-900);color:var(--paper);}
  .btn-primary:hover{background:var(--gold-dark);}
  :root[data-theme="dark"] .btn-primary{background:var(--gold);color:var(--navy-950);}
  @media (prefers-color-scheme:dark){
    :root:not([data-theme="light"]) .btn-primary{background:var(--gold);color:var(--navy-950);}
  }
  .btn-ghost{background:transparent;color:var(--on-bg);border-color:var(--on-bg);}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold-dark);}

  .menu-toggle{
    display:none;
    background:none;border:1px solid var(--on-bg-line);border-radius:var(--radius);
    width:44px;height:44px;
    align-items:center;justify-content:center;cursor:pointer;
  }
  .menu-toggle svg{width:20px;height:20px;stroke:var(--on-bg);}

  /* ---------- hero ---------- */
  .hero{
    background:var(--navy-950);
    color:#F0EDE4;
    padding-block:64px 88px;
    border-bottom:1px solid rgba(240,237,228,.12);
  }
  .hero .wrap{
    display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;
  }
  .kicker{
    font-family:"IBM Plex Mono",monospace;font-size:.78rem;letter-spacing:.08em;
    color:var(--gold);margin-bottom:18px;display:block;
  }
  .hero h1{
    font-size:clamp(2.1rem,4.3vw,3.3rem);
    font-weight:800;line-height:1.08;letter-spacing:-.01em;
    color:#F5F3EE;
  }
  .hero p.lede{
    margin-top:22px;font-size:1.08rem;color:#C3CAD6;max-width:46ch;
  }
  .hero .cta-row{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}
  .hero .btn-primary{background:var(--gold);color:var(--navy-950);}
  .hero .btn-primary:hover{background:#DEC59B;}
  .hero .btn-ghost{border-color:rgba(240,237,228,.5);color:#F0EDE4;}
  .hero .btn-ghost:hover{border-color:var(--gold);color:var(--gold);}

  /* schematic document */
  .doc{
    background:var(--paper);color:var(--navy-900);
    border-radius:6px;padding:26px 26px 22px;
    transform:rotate(-2deg);
    box-shadow:0 24px 48px rgba(0,0,0,.28);
    max-width:360px;margin-inline:auto;
  }
  @media (prefers-reduced-motion:no-preference){
    .doc{animation:doc-drop .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:.1s;}
  }
  @keyframes doc-drop{
    0%{opacity:0;transform:translateY(-26px) rotate(-6deg);}
    100%{opacity:1;transform:translateY(0) rotate(-2deg);}
  }
  .doc-head{
    display:flex;justify-content:space-between;align-items:baseline;
    font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.06em;
    color:var(--ink-soft);border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px;
  }
  .doc-deadline{
    border:1px solid var(--alert);color:var(--alert);
    font-family:"IBM Plex Mono",monospace;font-size:.78rem;font-weight:500;
    padding:8px 10px;border-radius:2px;display:inline-block;margin-bottom:16px;
  }
  .doc-bar{height:9px;background:var(--line);border-radius:2px;margin-bottom:9px;}
  .doc-bar.w80{width:80%;} .doc-bar.w95{width:95%;} .doc-bar.w60{width:60%;} .doc-bar.w70{width:70%;}

  /* ---------- sections ---------- */
  section{padding-block:76px;}
  .section-head{max-width:56ch;margin-bottom:44px;}
  .eyebrow-mono{
    font-family:"IBM Plex Mono",monospace;font-size:.78rem;color:var(--gold-dark);
    letter-spacing:.04em;display:block;margin-bottom:10px;
  }
  :root[data-theme="dark"] .eyebrow-mono{color:var(--gold);}
  @media (prefers-color-scheme:dark){
    :root:not([data-theme="light"]) .eyebrow-mono{color:var(--gold);}
  }
  h2.section-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;letter-spacing:-.01em;}
  .section-head p{margin-top:14px;color:var(--on-bg-soft);font-size:1.02rem;}

  .credential{
    margin-top:28px;display:inline-flex;align-items:center;gap:10px;
    font-family:"IBM Plex Mono",monospace;font-size:.82rem;color:var(--on-bg-soft);
    border-top:1px solid var(--on-bg-line);padding-top:16px;
  }

  /* areas list */
  .areas-list{border-top:1px solid var(--on-bg-line);}
  .area-row{
    display:grid;grid-template-columns:40px 1fr;gap:20px;
    padding-block:26px;border-bottom:1px solid var(--on-bg-line);
  }
  .area-row .num{
    font-family:"IBM Plex Mono",monospace;font-weight:600;font-size:.92rem;
    color:var(--gold-dark);margin-top:2px;
  }
  :root[data-theme="dark"] .area-row .num{color:var(--gold);}
  @media (prefers-color-scheme:dark){
    :root:not([data-theme="light"]) .area-row .num{color:var(--gold);}
  }
  .area-row h3{font-size:1.15rem;font-weight:700;margin-bottom:6px;}
  .area-row p{color:var(--on-bg-soft);max-width:60ch;}

  /* brief / editorial */
  .brief{background:var(--surface);}
  .brief-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
  .post-list{display:flex;flex-direction:column;max-width:70ch;}
  .post{
    padding-block:20px;border-bottom:1px solid var(--on-bg-line);
  }
  .post:first-child{padding-top:0;}
  .post-tag{font-family:"IBM Plex Mono",monospace;font-size:.72rem;color:var(--gold-dark);letter-spacing:.04em;}
  :root[data-theme="dark"] .post-tag{color:var(--gold);}
  @media (prefers-color-scheme:dark){
    :root:not([data-theme="light"]) .post-tag{color:var(--gold);}
  }
  .post h3{font-size:1.06rem;font-weight:700;margin-top:6px;}
  .post p{color:var(--on-bg-soft);margin-top:6px;font-size:.94rem;}
  .post-meta{
    display:block;margin-top:10px;font-family:"IBM Plex Mono",monospace;
    font-size:.72rem;color:var(--on-bg-soft);letter-spacing:.02em;
  }

  .signup-card{
    background:var(--bg);border:1px solid var(--on-bg-line);border-radius:var(--radius);
    padding:32px;
  }
  .signup-card h3{font-size:1.3rem;margin-bottom:10px;}
  .signup-card p{color:var(--on-bg-soft);margin-bottom:22px;}
  .field-row{display:flex;gap:10px;flex-wrap:wrap;}
  input,textarea{
    font-family:"Archivo",sans-serif;font-size:.96rem;
    background:var(--bg);color:var(--on-bg);
    border:1px solid var(--on-bg-line);border-radius:var(--radius);
    padding:12px 14px;width:100%;
  }
  input::placeholder,textarea::placeholder{color:var(--on-bg-soft);}
  .field-row input{flex:1;min-width:180px;}

  /* contact */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
  .contact-form label{
    display:block;font-family:"IBM Plex Mono",monospace;font-size:.76rem;
    color:var(--on-bg-soft);margin-bottom:6px;letter-spacing:.02em;
  }
  .form-field{margin-bottom:18px;}
  textarea{min-height:120px;resize:vertical;}
  .form-status{
    margin-top:16px;padding:12px 14px;border-radius:var(--radius);
    font-size:.9rem;border:1px solid transparent;
  }
  .form-status--ok{background:rgba(180,150,110,.14);border-color:var(--gold);color:var(--on-bg);}
  .form-status--error{background:rgba(162,69,59,.1);border-color:var(--alert);color:var(--alert);}
  @media (prefers-reduced-motion:no-preference){
    .form-status{animation:status-in .25s ease both;}
  }
  @keyframes status-in{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}

  .direct-contact{
    background:var(--navy-950);color:#F0EDE4;border-radius:6px;padding:32px;
  }
  .direct-contact a.email-link{
    font-family:"IBM Plex Mono",monospace;font-size:1.05rem;color:var(--gold);
    text-decoration:none;border-bottom:1px solid var(--gold);
  }
  .disclaimer{
    margin-top:22px;font-family:"IBM Plex Mono",monospace;font-size:.76rem;
    color:#9AA3B2;
  }

  /* footer */
  footer{
    background:var(--navy-950);color:#D8DCE4;
    padding-block:52px 34px;
    padding-bottom:calc(34px + env(safe-area-inset-bottom,0px));
  }
  .footer-top{
    display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;
    border-bottom:1px solid rgba(240,237,228,.14);padding-bottom:36px;margin-bottom:24px;
  }
  .footer-brand{display:flex;align-items:center;gap:14px;}
  .footer-brand img{height:44px;width:44px;border-radius:4px;}
  .footer-brand .name{font-family:"Instrument Serif",serif;font-style:italic;font-size:1.4rem;color:#F5F3EE;}
  .footer-brand .tag{font-family:"IBM Plex Mono",monospace;font-size:.72rem;color:#9AA3B2;margin-top:2px;}
  .footer-nav{display:flex;gap:28px;flex-wrap:wrap;}
  .footer-nav a{font-size:.9rem;text-decoration:none;color:#D8DCE4;}
  .footer-nav a:hover{color:var(--gold);}
  .footer-bottom{
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
    font-family:"IBM Plex Mono",monospace;font-size:.76rem;color:#8892A0;
  }

  /* mobile nav panel */
  #site-nav{display:flex;}
  #site-nav.is-open{}
  @media (max-width: 860px){
    .menu-toggle{display:inline-flex;}
    nav.primary-nav{
      position:fixed;inset:72px 0 auto 0;
      background:var(--bg);border-bottom:1px solid var(--on-bg-line);
      flex-direction:column;gap:0;padding:8px 24px 20px;
      transform:translateY(-12px);opacity:0;pointer-events:none;
      transition:transform .2s ease, opacity .2s ease;
    }
    nav.primary-nav.is-open{transform:translateY(0);opacity:1;pointer-events:auto;}
    .primary-nav a{padding-block:14px;border-bottom:1px solid var(--on-bg-line);width:100%;}
    .header-actions .btn-primary{display:none;}
    nav.primary-nav .mobile-cta{display:block;margin-top:12px;}
  }
  @media (min-width: 861px){ .mobile-cta{display:none;} }

  @media (max-width: 860px){
    .hero .wrap{grid-template-columns:1fr;}
    .hero{padding-block:44px 56px;}
    .brief-grid{grid-template-columns:1fr;}
    .contact-grid{grid-template-columns:1fr;}
    section{padding-block:56px;}
  }

/* ---------- embed de beehiiv dentro de la tarjeta ---------- */
#beehiiv-embed iframe{width:100%;border:0;display:block;}
#beehiiv-embed .btn{width:100%;}
.post h3 a{color:inherit;text-decoration:none;}
.post h3 a:hover{color:var(--gold-dark);}
.analisis-empty{color:var(--on-bg-soft);}
.post-lang{
  display:inline-block;margin-left:8px;padding:1px 6px;
  border:1px solid var(--gold);border-radius:2px;
  font-family:"IBM Plex Mono",monospace;font-size:.66rem;font-weight:600;
  letter-spacing:.04em;color:var(--gold-dark);vertical-align:middle;
}
:root[data-theme="dark"] .post-lang{color:var(--gold);}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .post-lang{color:var(--gold);}
}

/* ---------- páginas legales ---------- */
.page-content{max-width:720px;margin:0 auto;padding-block:56px;font-size:1.02rem;line-height:1.7;}
.page-content h1{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:800;margin-bottom:.7em;}
.page-content h2{font-size:1.3rem;font-weight:700;margin:1.8em 0 .5em;}
.page-content p{margin-bottom:1.2em;color:var(--on-bg);}
.page-content .aviso{font-family:"IBM Plex Mono",monospace;font-size:.85rem;color:var(--alert);border:1px solid var(--alert);padding:14px 16px;border-radius:var(--radius);}
.page-content h3{font-size:1.05rem;font-weight:700;margin:1.4em 0 .4em;}
.page-content ul{margin:0 0 1.2em;padding-left:1.3em;color:var(--on-bg);}
.page-content li{margin-bottom:.5em;}
.page-content .meta-line{font-family:"IBM Plex Mono",monospace;font-size:.8rem;color:var(--on-bg-soft);border-top:1px solid var(--on-bg-line);padding-top:16px;margin-top:2.4em;}
.page-content table{width:100%;border-collapse:collapse;margin-bottom:1.4em;font-size:.94rem;}
.page-content th,.page-content td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--on-bg-line);vertical-align:top;}
.page-content th{font-family:"IBM Plex Mono",monospace;font-size:.76rem;letter-spacing:.03em;color:var(--on-bg-soft);font-weight:500;}
.page-content .completar{background:rgba(162,69,59,.08);border:1px solid var(--alert);color:var(--alert);padding:2px 7px;border-radius:2px;font-family:"IBM Plex Mono",monospace;font-size:.82rem;white-space:nowrap;}
.page-wrap{display:flex;flex-direction:column;min-height:100%;}
