/* ============================================
     1) EDITÁ ACÁ LOS COLORES Y NOMBRE DE LA MARCA
     ============================================ */
  :root{
    --bg:#0A0B0D;
    --panel:#16181C;
    --panel-2:#1D2024;
    --steel:#8A9099;
    --border:#2A2D33;
    --ink:#F2F3F5;
    --muted:#9AA0A8;
    --amber:#F5B301;
    --amber-dark:#D89A00;
    --amber-ink:#231800;
    --radius:2px;
    --shadow: 0 1px 2px rgba(0,0,0,.4), 0 10px 24px -10px rgba(0,0,0,.65);
    --shadow-lg: 0 6px 12px rgba(0,0,0,.5), 0 28px 56px -18px rgba(0,0,0,.75);
  }

  *{ box-sizing:border-box; margin:0; padding:0; }
  html{ scroll-behavior:smooth; }
  body{
    background:
      radial-gradient(ellipse 900px 500px at 50% -10%, rgba(245,179,1,.08), transparent 60%),
      var(--bg);
    color:var(--ink);
    font-family:'Inter', sans-serif;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{ font-family:'Oswald', sans-serif; text-transform:uppercase; letter-spacing:.01em; }
  .mono{ font-family:'JetBrains Mono', monospace; }
  a{ color:inherit; text-decoration:none; }
  img,svg{ display:block; max-width:100%; }
  section{ scroll-margin-top:88px; }
  .wrap{ max-width:1160px; margin:0 auto; padding:0 24px; }

  /* franja de peligro / acento industrial — motivo recurrente del diseño */
  .hazard-bar{ height:9px; background:repeating-linear-gradient(135deg, var(--amber) 0 16px, #0E0F11 16px 32px);
    background-size:64px 64px; }
  @media (prefers-reduced-motion: no-preference){
    .hazard-bar.animated{ animation:stripe-move 3.5s linear infinite; }
  }
  @keyframes stripe-move{ from{ background-position:0 0; } to{ background-position:64px 0; } }

  .dot{ width:7px; height:7px; border-radius:50%; background:var(--amber); flex:none;
    box-shadow:0 0 0 0 rgba(245,179,1,.55); animation:pulse 2.2s infinite; }
  @keyframes pulse{
    0%{ box-shadow:0 0 0 0 rgba(245,179,1,.5); }
    70%{ box-shadow:0 0 0 7px rgba(245,179,1,0); }
    100%{ box-shadow:0 0 0 0 rgba(245,179,1,0); }
  }
  @media (prefers-reduced-motion: reduce){ .dot{ animation:none; } html{ scroll-behavior:auto; } }

  /* header */
  header{ position:sticky; top:0; z-index:50; background:rgba(10,11,13,.88); backdrop-filter:blur(8px);
    border-bottom:1px solid var(--border); }
  .nav{ display:flex; align-items:center; justify-content:space-between; height:72px; }
  .brand{ display:flex; align-items:center; gap:10px; font-family:'Oswald',sans-serif; font-weight:600;
    font-size:1.2rem; letter-spacing:.04em; color:var(--ink); }
  .brand svg{ width:22px; height:22px; color:var(--amber); }
  .nav-links{ display:flex; align-items:center; gap:32px; font-size:.92rem; font-weight:500; }
  .nav-links a:hover{ color:var(--amber); }
  .btn{ display:inline-flex; align-items:center; gap:8px; padding:12px 22px; font-weight:600; font-size:.88rem;
    letter-spacing:.03em; text-transform:uppercase; background:var(--amber); color:var(--amber-ink); border:none;
    cursor:pointer; box-shadow:var(--shadow); transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
  .btn:hover{ background:var(--amber-dark); transform:translateY(-2px); box-shadow:var(--shadow-lg); }
  .btn-ghost{ background:transparent; border:1px solid var(--steel); color:var(--ink); box-shadow:none; }
  .btn-ghost:hover{ background:var(--ink); color:var(--bg); border-color:var(--ink); }
  #menu-toggle{ display:none; }
  .burger{ display:none; cursor:pointer; color:var(--ink); }

  /* hero */
  .hero{ padding:104px 0 56px; position:relative; overflow:hidden; background:var(--bg); }
  .hero-kicker{ display:inline-flex; align-items:center; gap:12px; font-family:'JetBrains Mono', monospace;
    font-size:.82rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--ink);
    background:rgba(245,179,1,.08); border-left:3px solid var(--amber); padding:10px 18px; margin-bottom:30px; }
  h1.hero-title{ font-size:clamp(2.4rem, 6vw, 4.4rem); font-weight:700; max-width:900px; line-height:1.03; }
  h1.hero-title .accent{ color:var(--amber); }
  .hero p.lead{ margin-top:24px; max-width:600px; color:var(--muted); font-size:1.08rem; }
  .hero-ctas{ display:flex; gap:14px; margin-top:36px; flex-wrap:wrap; }
  .trust-badges{ display:flex; align-items:center; gap:20px; margin-top:44px; flex-wrap:wrap; }
  .trust-badges span{ font-family:'JetBrains Mono', monospace; font-size:.76rem; letter-spacing:.06em;
    text-transform:uppercase; color:var(--steel); display:flex; align-items:center; gap:8px; }
  .trust-badges span::before{ content:""; width:5px; height:5px; background:var(--amber); flex:none; }
  .hero-bottom-space{ height:56px; }

  /* services */
  .services{ padding:80px 0 90px; }
  .section-head{ max-width:680px; margin-bottom:52px; }
  .eyebrow{ font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--amber); font-weight:500;
    display:flex; align-items:center; gap:10px; margin-bottom:18px; font-family:'JetBrains Mono', monospace; }
  .eyebrow::before{ content:""; width:28px; height:1px; background:var(--amber); }
  .section-head h2{ font-size:clamp(1.8rem, 3.4vw, 2.6rem); }
  .section-head p{ color:var(--muted); margin-top:14px; font-size:1.02rem; }

  .service-grid3{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .service-card{ background:var(--panel); border:1px solid var(--border); border-top:4px solid var(--amber);
    padding:34px 28px; display:flex; flex-direction:column; box-shadow:var(--shadow);
    transition:transform .15s ease, box-shadow .15s ease; }
  .service-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); }
  .service-card .n{ font-family:'JetBrains Mono', monospace; color:var(--steel); font-size:.8rem; margin-bottom:18px; }
  .service-card svg{ width:56px; height:56px; margin-bottom:20px; }
  .service-card h3{ font-size:1.25rem; margin-bottom:14px; letter-spacing:.02em; }
  .service-card .desc{ color:var(--muted); font-size:.96rem; margin-bottom:22px; flex:1; }
  .sub-services{ display:flex; flex-direction:column; gap:11px; margin-bottom:24px; }
  .sub-service{ display:flex; align-items:center; gap:11px; font-size:.86rem; color:var(--steel); }
  .sub-service svg{ width:22px; height:22px; flex:none; }
  .service-cta{ font-size:.86rem; font-weight:600; letter-spacing:.02em; text-transform:uppercase;
    color:var(--amber); border-bottom:2px solid var(--amber); padding-bottom:3px; cursor:pointer;
    display:inline-block; width:fit-content; }

  /* contact */
  .contact{ padding:90px 0; border-top:1px solid var(--border); }
  .contact-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:56px; }
  .field{ display:grid; gap:6px; margin-bottom:18px; }
  label{ font-size:.8rem; font-weight:500; color:var(--steel); text-transform:uppercase; letter-spacing:.04em; }
  input,select,textarea{ font-family:'Inter',sans-serif; font-size:.95rem; padding:12px 14px; border:1px solid var(--border);
    background:var(--panel); color:var(--ink); }
  textarea{ resize:vertical; min-height:110px; }
  input:focus,select:focus,textarea:focus{ outline:2px solid var(--amber); outline-offset:1px; }
  .info-panel{ background:var(--panel-2); border:1px solid var(--border); border-left:4px solid var(--amber);
    color:var(--ink); padding:40px; box-shadow:var(--shadow); }
  .info-panel .mono{ color:var(--amber); font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:22px; display:block; }
  .info-row{ margin-bottom:20px; }
  .info-row .k{ font-size:.76rem; color:var(--steel); margin-bottom:4px; text-transform:uppercase; letter-spacing:.03em; }
  .info-row .v{ font-size:1rem; font-weight:500; }
  #form-msg{ margin-top:14px; font-size:.9rem; display:none; }

  footer{ border-top:1px solid var(--border); padding:32px 0; }
  .foot-grid{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
  .foot-copy{ font-size:.82rem; color:var(--steel); }
  .foot-brand{ font-family:'Oswald',sans-serif; font-weight:600; letter-spacing:.04em; color:var(--ink); }

  /* botón flotante de WhatsApp */
  .whatsapp-float{ position:fixed; right:24px; bottom:24px; z-index:60; width:58px; height:58px; border-radius:50%;
    background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-lg);
    transition:transform .15s ease; }
  .whatsapp-float:hover{ transform:translateY(-3px) scale(1.05); }
  .whatsapp-float svg{ width:30px; height:30px; }
  .whatsapp-float::before{ content:""; position:absolute; inset:-6px; border-radius:50%;
    border:2px solid rgba(37,211,102,.5); animation:wa-pulse 2.4s infinite; }
  @keyframes wa-pulse{ 0%{ transform:scale(.9); opacity:.8; } 70%{ transform:scale(1.25); opacity:0; } 100%{ opacity:0; } }
  @media (prefers-reduced-motion: reduce){ .whatsapp-float::before{ animation:none; } }
  @media (max-width:600px){ .whatsapp-float{ right:16px; bottom:16px; width:52px; height:52px; } .whatsapp-float svg{ width:26px; height:26px; } }

  @media (max-width:900px){
    .service-grid3{ grid-template-columns:1fr; }
    .contact-grid{ grid-template-columns:1fr; }
  }
  @media (max-width:860px){
    .nav-links{ position:fixed; top:72px; left:0; right:0; background:var(--bg); border-bottom:1px solid var(--border);
      flex-direction:column; align-items:flex-start; padding:20px 24px; gap:18px; display:none; }
    #menu-toggle:checked ~ .nav-links{ display:flex; }
    .burger{ display:block; font-size:1.4rem; }
  }

/* ===== páginas de detalle de servicio ===== */
.breadcrumb{ font-family:'JetBrains Mono', monospace; font-size:.78rem; color:var(--steel);
  display:flex; align-items:center; gap:8px; margin-bottom:26px; text-transform:uppercase; letter-spacing:.04em; }
.breadcrumb a:hover{ color:var(--amber); }

.detail-hero{ padding:56px 0 48px; background:var(--panel);
  background-image:radial-gradient(ellipse 800px 400px at 15% 0%, rgba(245,179,1,.08), transparent 60%);
  border-bottom:1px solid var(--border); }
.detail-hero h1{ font-size:clamp(2rem, 4.6vw, 3.2rem); max-width:760px; }
.detail-hero .lead{ margin-top:20px; max-width:680px; color:var(--muted); font-size:1.05rem; }

.norm-box{ margin-top:30px; max-width:680px; background:var(--panel-2); border-left:4px solid var(--amber);
  padding:20px 24px; font-size:.92rem; color:var(--steel); }
.norm-box strong{ color:var(--ink); }

.detail-list{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; padding:72px 0; }
.detail-item{ background:var(--panel); border:1px solid var(--border); border-top:4px solid var(--amber);
  padding:28px 26px; box-shadow:var(--shadow); }
.detail-item svg{ width:40px; height:40px; margin-bottom:16px; }
.detail-item h3{ font-size:1.05rem; margin-bottom:10px; letter-spacing:.02em; }
.detail-item p{ color:var(--muted); font-size:.92rem; }

.cta-banner{ background:var(--panel-2); border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:56px 0; text-align:center; }
.cta-banner h2{ font-size:clamp(1.5rem,3vw,2rem); margin-bottom:14px; }
.cta-banner p{ color:var(--muted); margin-bottom:26px; max-width:520px; margin-left:auto; margin-right:auto; }

@media (max-width:760px){
  .detail-list{ grid-template-columns:1fr; }
}
