:root{
    --bg:#f2f1ec;
    --panel:#ffffff;
    --ink:#0f0f0f;
    --soft:#575752;
    --line:#0f0f0f;
    --hair:#c3c2ba;
    --hazard:#f2c230;
    --signal:#d93a12;
    --sans:"Archivo",system-ui,sans-serif;
    --heavy:"Archivo Black","Archivo",system-ui,sans-serif;
    --mono:"IBM Plex Mono",ui-monospace,monospace;
  }
  *{box-sizing:border-box}
  body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16.5px;line-height:1.5}
  .sheet{max-width:1180px;margin:0 auto;background:var(--panel);border-left:1px solid var(--line);border-right:1px solid var(--line)}
  .pad{padding:0 46px}
  .label{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
  a{color:inherit}

  /* top strip */
  .strip{background:var(--ink);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 46px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}
  .strip b{color:var(--hazard);font-weight:500}

  header.head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:26px 46px 20px;border-bottom:2px solid var(--line)}
  .brand{font-family:var(--heavy);font-size:21px;letter-spacing:-.02em;text-decoration:none;line-height:1}
  .brand span{color:var(--signal)}
  nav{display:flex;align-items:center;gap:22px}
  nav a{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--soft)}
  nav a:hover{color:var(--signal)}
  nav a.tel{color:var(--ink);background:var(--hazard);padding:6px 10px}

  /* hero */
  .hero{padding:64px 46px 56px;border-bottom:2px solid var(--line);display:grid;grid-template-columns:1fr 268px;gap:48px;align-items:start}
  h1{font-family:var(--heavy);font-weight:400;font-size:clamp(34px,4.4vw,58px);line-height:.98;letter-spacing:-.025em;margin:0 0 22px;max-width:19ch}
  h1 mark{background:var(--hazard);color:var(--ink);padding:0 .06em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
  .lead{font-size:18px;color:var(--soft);max-width:54ch;margin:0 0 30px}
  .lead strong{color:var(--ink)}
  .cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
  .btn{display:inline-block;text-decoration:none;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:#fff;padding:14px 20px;border:2px solid var(--ink)}
  .btn:hover{background:var(--signal);border-color:var(--signal)}
  .btn.ghost{background:transparent;color:var(--ink)}
  .btn.ghost:hover{background:var(--ink);color:#fff}
  .spec{border:2px solid var(--line);padding:0}
  .spec h4{margin:0;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;background:var(--ink);color:#fff;padding:7px 12px;font-weight:500}
  .spec dl{margin:0;padding:4px 12px 12px}
  .spec dt{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-top:11px}
  .spec dd{margin:2px 0 0;font-size:14.5px;font-weight:500}
  .spec dd small{display:block;font-weight:400;font-size:12px;color:var(--soft);margin-top:2px}

  /* section frame */
  section{border-bottom:1px solid var(--line)}
  .sec-top{display:flex;align-items:baseline;gap:16px;padding:14px 46px;border-bottom:1px solid var(--hair);background:#faf9f5}
  .sec-top .n{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--signal)}
  .sec-top .t{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
  .body{padding:40px 46px 46px}
  h2{font-family:var(--heavy);font-weight:400;font-size:clamp(24px,2.8vw,34px);line-height:1.02;letter-spacing:-.02em;margin:0 0 10px}
  .sub{margin:0 0 32px;color:var(--soft);max-width:62ch;font-size:16px}

  /* pains as a table of symptoms */
  .sym{width:100%;border-collapse:collapse}
  .sym td{border-top:1px solid var(--hair);padding:16px 0;vertical-align:top;font-size:16.5px}
  .sym td:first-child{width:120px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--signal);padding-top:20px}
  .sym tr:last-child td{border-bottom:1px solid var(--hair)}

  /* steps as numbered blocks */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--hair)}
  .steps div{padding:20px 18px 24px;border-right:1px solid var(--hair)}
  .steps div:last-child{border-right:0}
  .steps .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);display:flex;justify-content:space-between}
  .steps .k b{color:var(--signal);font-weight:600}
  .steps h3{font-family:var(--sans);font-weight:600;font-size:16px;margin:14px 0 8px;letter-spacing:-.01em}
  .steps p{margin:0;font-size:14px;color:var(--soft)}

  /* modules grid with codes */
  .mods{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--hair);border-left:1px solid var(--hair)}
  .mod{border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:18px 18px 22px}
  .mod .code{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--soft);display:block;margin-bottom:10px}
  .mod h3{font-size:15.5px;font-weight:600;margin:0 0 6px}
  .mod p{margin:0;font-size:14px;color:var(--soft)}

  /* pricing as spec sheet */
  table.price{width:100%;border-collapse:collapse;border:2px solid var(--line)}
  table.price th{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;text-align:left;padding:9px 14px;border-bottom:2px solid var(--line);background:var(--ink);color:#fff}
  table.price td{padding:16px 14px;border-bottom:1px solid var(--hair);vertical-align:top}
  table.price tr:last-child td{border-bottom:0}
  table.price .code{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--soft);display:block;margin-bottom:4px}
  table.price .name{font-family:var(--heavy);font-size:18px;letter-spacing:-.01em}
  table.price .desc{display:block;font-size:14px;color:var(--soft);margin-top:4px;max-width:40ch}
  table.price td.m{white-space:nowrap;font-family:var(--mono);font-size:17px;font-weight:500;text-align:right}
  table.price td.m small{display:block;font-size:10.5px;letter-spacing:.1em;color:var(--soft);font-weight:400;margin-top:3px}
  table.price tr.pick td{background:#fffdf2}
  table.price tr.pick td:first-child{box-shadow:inset 4px 0 0 var(--hazard)}
  .rec{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;background:var(--hazard);padding:3px 7px;margin-left:8px;display:inline-block;vertical-align:2px}
  .notes{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:18px 40px}
  .notes p{margin:0;font-size:14px;color:var(--soft);padding-left:12px;border-left:2px solid var(--hair)}
  .notes b{color:var(--ink);font-weight:600}

  /* demo bar */
  .demo{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;border:2px dashed var(--line);padding:22px 24px;background:#faf9f5}
  .demo h3{font-family:var(--heavy);font-size:20px;margin:0 0 4px;letter-spacing:-.01em}
  .demo p{margin:0;font-size:14.5px;color:var(--soft)}

  /* fit */
  .fit{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--hair)}
  .fit > div{padding:20px 22px 24px}
  .fit > div+div{border-left:1px solid var(--hair)}
  .fit h3{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px;color:var(--soft);font-weight:500}
  .fit ul{list-style:none;margin:0;padding:0}
  .fit li{padding:7px 0;font-size:15px;display:flex;gap:9px;border-bottom:1px dotted var(--hair)}
  .fit li:last-child{border-bottom:0}
  .fit li span{font-family:var(--mono);font-size:12px;color:var(--signal);padding-top:2px}
  .fit .no li span{color:var(--soft)}

  /* about */
  .about{display:grid;grid-template-columns:210px 1fr;gap:40px;align-items:start}
  .about .card{border:2px solid var(--line);padding:16px 16px 18px;background:#faf9f5}
  .about .card .label{display:block;margin-bottom:10px}
  .about .card strong{font-family:var(--heavy);font-weight:400;font-size:16px;display:block;letter-spacing:-.01em}
  .about .card span.role{font-family:var(--mono);font-size:11px;color:var(--soft);display:block;margin-top:4px;line-height:1.5}
  .about p{margin:0 0 12px;max-width:62ch}
  .about p:last-child{margin-bottom:0}

  /* final */
  .final{background:var(--ink);color:#fff;padding:56px 46px 60px}
  .final h2{color:#fff;max-width:22ch;font-size:clamp(26px,3.4vw,42px)}
  .final p{color:#c9c8c2;max-width:52ch;margin:0 0 26px}
  .final .btn{background:var(--hazard);border-color:var(--hazard);color:var(--ink)}
  .final .btn:hover{background:#fff;border-color:#fff}
  .final .btn.ghost{background:transparent;border-color:#5a5a55;color:#fff}
  .final .btn.ghost:hover{background:#fff;color:var(--ink);border-color:#fff}

  footer{padding:18px 46px 30px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}
  footer a{text-decoration:none;border-bottom:1px solid var(--hair)}

  @media (max-width:900px){
    .sheet{border:0}
    .pad,.strip,header.head,.hero,section .body,.sec-top,.final,footer{padding-left:20px;padding-right:20px}
    .strip{font-size:9.5px;letter-spacing:.1em}
    .hero{grid-template-columns:1fr;gap:30px;padding-top:40px;padding-bottom:38px}
    header.head{flex-wrap:wrap;gap:14px;align-items:flex-start}
    nav a:not(.tel){display:none}
    .steps{grid-template-columns:1fr 1fr}
    .steps div:nth-child(2){border-right:0}
    .steps div:nth-child(1),.steps div:nth-child(2){border-bottom:1px solid var(--hair)}
    .mods{grid-template-columns:1fr 1fr}
    table.price th:nth-child(2),table.price td:nth-child(2){display:none}
    table.price td.m{font-size:15px}
    .notes,.fit,.about{grid-template-columns:1fr}
    .fit > div+div{border-left:0;border-top:1px solid var(--hair)}
    .demo{grid-template-columns:1fr}
    h1{max-width:100%}
  }

  /* --- aviso de privacidad --- */
  .prose{padding:48px 46px 64px}
  .prose h1{font-family:var(--heavy);font-weight:400;font-size:clamp(28px,3.6vw,40px);letter-spacing:-.02em;margin:0 0 8px;line-height:1.02}
  .prose .upd{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin:0 0 34px}
  .prose h2{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);font-weight:500;margin:34px 0 8px;padding-top:18px;border-top:1px solid var(--hair)}
  .prose p,.prose li{font-size:16px;max-width:68ch;margin:0 0 12px}
  .prose ul{margin:0 0 12px;padding-left:20px}
  .prose a{text-decoration:none;border-bottom:1px solid var(--hair)}
  .prose a:hover{border-color:var(--signal)}
  @media (max-width:900px){ .prose{padding:32px 20px 48px} }
