/* ============================================================
   Bloque de estilos 1 extraído de index.html
   ============================================================ */
:root{
    /* Paleta oscura fija · negros y grises */
    --bg:#0A0A0B;
    --bg-alt:#111113;
    --paper:#141416;
    --ink:#F4F4F2;
    --ink-soft:#C6C6C2;
    --muted:#8C8C89;
    --steel:#5E5E63;
    --line:#26262A;
    --line-strong:#3A3A3F;
    --dark-bg:#060607;
    --dark-paper:#151517;
    --dark-line:#2A2A2E;
    --on-dark:#F4F4F2;
    --on-dark-muted:#8C8C89;
    --radius:2px;
    color-scheme:dark;
    box-sizing:border-box;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-padding-top:calc(84px + env(safe-area-inset-top,0px));}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:'IBM Plex Sans',ui-sans-serif,system-ui,sans-serif;
    font-size:16px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  .mono{font-family:'IBM Plex Mono',ui-monospace,monospace;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
  section{position:relative;}
  .overflow-guard{overflow-x:auto;}

  /* La navegación está en assets/css/nav.css y las secciones nuevas en assets/css/galaxia.css */

  /* ---------- SECTION HEADERS ---------- */
  .section-pad{padding:104px 0;}
  .section-head{max-width:640px;margin-bottom:60px;}
  .section-head .tag{font-family:'IBM Plex Mono';font-size:13px;color:var(--muted);}
  .section-head h2{
    font-family:'IBM Plex Mono';font-weight:600;font-size:clamp(26px,3.4vw,38px);
    margin-top:10px;line-height:1.2;letter-spacing:-0.01em;
  }
  .section-head p{margin-top:16px;color:var(--muted);font-size:16px;max-width:56ch;}

  /* ---------- CONTACTO ---------- */
  .contacto{background:transparent;}
  .contacto .section-head .tag{color:var(--muted);}
  .contacto .section-head p{color:var(--muted);}
  .contact-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:64px;}
  form.contact-form{display:flex;flex-direction:column;gap:20px;}
  .field{display:flex;flex-direction:column;gap:8px;}
  .field label{font-family:'IBM Plex Mono';font-size:12.5px;color:var(--muted);}
  .field input, .field textarea{
    background:transparent;border:none;border-bottom:1px solid var(--line);
    color:var(--ink);font-family:'IBM Plex Sans';font-size:15.5px;padding:10px 2px;
    outline:none;resize:vertical;
  }
  .field input:focus, .field textarea:focus{border-bottom-color:var(--ink);}
  .field textarea{min-height:110px;}
  .form-note{font-size:12.5px;color:var(--muted);margin-top:-4px;}
  .send-row{display:flex;align-items:center;gap:16px;margin-top:6px;flex-wrap:wrap;}
  .send-row button{
    font-family:'IBM Plex Mono';font-size:14px;font-weight:500;
    background:var(--ink);color:var(--bg);border:1px solid var(--ink);
    padding:13px 26px;cursor:pointer;transition:opacity .15s ease;
  }
  .send-row button:hover{opacity:.85;}
  .form-status{font-family:'IBM Plex Mono';font-size:12.5px;color:var(--muted);}

  .direct-contact{display:flex;flex-direction:column;gap:14px;}
  .contact-tile{
    border:1px solid var(--line);padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;
    transition:border-color .15s ease, background .15s ease;
  }
  .contact-tile:hover{border-color:var(--ink-soft);background:rgba(255,255,255,0.03);}
  .contact-tile .ct-label{font-family:'IBM Plex Mono';font-size:11.5px;color:var(--muted);}
  .contact-tile .ct-value{font-size:15.5px;margin-top:4px;color:var(--ink);}
  .contact-tile svg{width:19px;height:19px;flex-shrink:0;color:var(--muted);}
  @media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:44px;}}

  /* ---------- FOOTER ---------- */
  footer{background:var(--paper);color:var(--muted);border-top:1px solid var(--line);}
  .footer-inner{padding:44px 0 calc(34px + env(safe-area-inset-bottom,0px));display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
  .footer-brand{display:flex;align-items:center;gap:10px;font-family:'IBM Plex Mono';font-size:15px;color:var(--ink);}
  .footer-brand svg{width:22px;height:22px;}
  .footer-links{display:flex;flex-wrap:wrap;gap:12px 26px;font-size:13.5px;}
  .footer-links a:hover{color:var(--ink);}
  .footer-copy{font-family:'IBM Plex Mono';font-size:12px;}
  .footer-top-line{border-bottom:none;}
  .footer-tagline{padding:38px 0 0;font-family:'IBM Plex Mono';font-size:13px;color:var(--muted);}


  /* ---------- LOGO · banda de Möbius detrás de A²WD ---------- */
  .mobius-logo{position:relative;display:inline-flex;align-items:center;justify-content:center;width:154px;height:56px;flex-shrink:0;}
  .mobius-logo canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
  .mobius-txt{position:relative;z-index:1;font-family:'IBM Plex Mono',ui-monospace,monospace;font-weight:600;font-size:21px;letter-spacing:.02em;color:var(--ink);
    text-shadow:0 0 6px rgba(10,10,11,.95),0 0 14px rgba(10,10,11,.85),0 1px 1px rgba(0,0,0,.9);}
  .mobius-logo.pequeno{width:104px;height:38px;}
  .mobius-logo.pequeno .mobius-txt{font-size:15px;}
  @media (max-width:520px){.brand-mark{width:32px;height:32px}.brand-word{font-size:17px;}.mobius-logo.pequeno{width:96px;height:36px;}}

  /* ---------- AMBIENTE OSCURO ---------- */
  /* El fondo espacial lo pinta assets/js/cosmos.js: las secciones son transparentes. */
  footer{background:rgba(4,4,8,.82);}
  .field input, .field textarea{color-scheme:dark;}
  ::selection{background:var(--ink);color:var(--bg);}
  :focus-visible{outline:2px solid var(--ink);outline-offset:2px;}
  .footer-legal{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;}
  .footer-legal a{color:var(--muted);text-decoration:none;}
  .footer-legal a:hover{color:var(--ink);text-decoration:underline;}
  .form-legal{font-size:12.5px;color:var(--muted);margin:14px 0 0;line-height:1.5;}
  .form-legal a{color:var(--ink-soft);}

/* ============================================================
   Bloque de estilos 2 extraído de index.html
   ============================================================ */
.rod-fab{position:fixed;right:20px;bottom:20px;z-index:120;display:flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:14px;font-weight:500;background:var(--ink);color:var(--bg);border:none;padding:13px 18px;cursor:pointer;box-shadow:0 8px 28px rgba(0,0,0,.6);transition:transform .15s;}
  .rod-fab:hover{transform:translateY(-2px);}
  .rod-panel{position:fixed;right:20px;bottom:80px;z-index:121;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100dvh - 120px));display:flex;flex-direction:column;background:var(--bg);color:var(--ink);border:1px solid var(--line);box-shadow:0 16px 48px rgba(0,0,0,.6);font-family:'IBM Plex Sans',ui-sans-serif,system-ui,sans-serif;}
  .rod-panel[hidden]{display:none;}
  .rod-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line);}
  .rod-cab strong{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:15px;}
  .rod-cab p{font-size:12px;color:var(--muted);margin-top:2px;}
  .rod-x{background:none;border:none;color:var(--muted);font-size:24px;line-height:1;cursor:pointer;}
  .rod-msgs{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px;}
  .rod-msg{max-width:88%;padding:10px 12px;font-size:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;border:1px solid var(--line);}
  .rod-msg.bot{align-self:flex-start;background:var(--paper);}
  .rod-msg.yo{align-self:flex-end;background:var(--ink);color:var(--bg);border-color:var(--ink);}
  .rod-msg.pensando{color:var(--muted);letter-spacing:.25em;}
  .rod-acc{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;}
  .rod-acc a{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;border:1px solid var(--ink);padding:6px 10px;color:var(--ink);background:var(--bg);}
  .rod-acc a:hover{background:var(--ink);color:var(--bg);}
  .rod-sug{display:flex;gap:6px;flex-wrap:wrap;padding:0 16px 10px;}
  .rod-sug button{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;border:1px solid var(--line);background:none;color:var(--ink-soft);padding:6px 10px;cursor:pointer;text-align:left;}
  .rod-sug button:hover{border-color:var(--ink);color:var(--ink);}
  .rod-form{display:flex;gap:8px;padding:12px 16px 8px;border-top:1px solid var(--line);}
  .rod-form input{flex:1;min-width:0;font:inherit;font-size:14px;color:var(--ink);background:var(--bg);border:1px solid var(--line);padding:10px 12px;}
  .rod-form input:focus{outline:none;border-color:var(--ink);}
  .rod-form button{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:13px;background:var(--ink);color:var(--bg);border:none;padding:0 14px;cursor:pointer;}
  .rod-form button:disabled{opacity:.5;cursor:wait;}
  .rod-aviso{font-size:11px;color:var(--muted);padding:0 16px 10px;}
  @media (max-width:520px){.rod-panel{right:8px;left:8px;width:auto;bottom:76px;}.rod-fab{right:14px;bottom:14px;}}

