
  :root{
    --navy:#0B3D82; --navy-dark:#082C61; --orange:#F26522;
    --bg:#F4F6F8; --text:#1A1A1A; --muted:#5B6470; --border:#E1E6ED; --card:#ffffff;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;background:#ffffff;color:var(--text);font-family:'Work Sans',-apple-system,sans-serif;
    padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);}
  h1,h2,h3,.disp{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:0.02em;margin:0;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .btn{display:inline-flex;align-items:center;gap:8px;padding:15px 28px;border-radius:4px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.02em;border:none;cursor:pointer;white-space:nowrap;flex-shrink:0;}
  .btn-accent{background:var(--orange);color:#fff;}
  .btn-accent:hover{background:#D9550F;}
  .btn-navy{background:var(--navy);color:#fff;}
  .btn-navy:hover{background:var(--navy-dark);}
  .btn-outline{background:transparent;border:2px solid #fff;color:#fff;}
  .wrap{max-width:1200px;margin:0 auto;padding:0 24px;}
  @media (max-width:900px){ .wrap{padding:0 16px;} }

  /* HEADER */
  .topbar{background:var(--navy-dark);color:#CBD7EA;font-size:13px;padding:8px 0;text-align:right;}
  .topbar .wrap{display:flex;justify-content:flex-end;gap:24px;flex-wrap:wrap;}
  header.main{background:#fff;border-bottom:1px solid #ECEEF1;position:sticky;top:0;z-index:100;}
  header.main .wrap{display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:14px 0;gap:20px;flex-wrap:wrap;}
  header.main img.logo{height:29px;width:auto;object-fit:contain;flex-shrink:0;}
  nav.mainnav{display:flex;align-items:center;gap:22px;flex-wrap:wrap;flex-grow:1;justify-content:center;}
  nav.mainnav a{background:none;border:none;font-family:'Work Sans',sans-serif;font-size:14px;font-weight:600;color:var(--text);cursor:pointer;padding:6px 0;border-bottom:2px solid transparent;white-space:nowrap;}
  nav.mainnav a:hover{color:var(--orange);}
  nav.mainnav a.active{color:var(--orange);border-bottom-color:var(--orange);}
  @media (max-width:1000px){ nav.mainnav{display:none;} }

  /* SECTIONS */
  section.page{display:none;}
  section.page.active{display:block;}
  .section{padding:64px 0;}
  .section.tight{padding:44px 0;}
  .section-bg-grey{background:var(--bg);}
  .eyebrow{font-size:12.5px;font-weight:700;color:var(--orange);letter-spacing:0.1em;text-transform:uppercase;}
  .h2title{font-size:32px;color:var(--navy);margin-top:8px;}
  .lead{font-size:16px;line-height:1.6;color:var(--muted);max-width:600px;}

  /* HERO */
  .hero{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden;color:#fff;}
  .hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
  .hero .overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,44,97,.94) 0%,rgba(8,44,97,.7) 45%,rgba(8,44,97,.2) 80%);z-index:1;}
  .hero .content{position:relative;z-index:2;max-width:620px;display:flex;flex-direction:column;gap:18px;padding:60px 0;}
  .hero h1{font-size:46px;line-height:1.08;}
  @media (max-width:700px){ .hero h1{font-size:32px;} .hero{min-height:420px;} }
  .diag{position:relative;overflow:hidden;}
  .diag .band{position:absolute;inset:0;}
  .diag .content{position:relative;z-index:1;}
  .stripes{background-image:repeating-linear-gradient(118deg, rgba(255,255,255,.045) 0 2px, transparent 2px 34px);}

  /* GRIDS */
  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .grid5{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
  @media (max-width:900px){ .grid2,.grid3,.grid5{grid-template-columns:1fr 1fr;} }
  @media (max-width:600px){ .grid2,.grid3,.grid5{grid-template-columns:1fr;} }

  .card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 16px rgba(11,61,130,.08);}
  .card .imgwrap{height:240px;background:#fff;display:flex;align-items:center;justify-content:center;}
  .card .imgwrap img{max-height:100%;max-width:100%;object-fit:contain;padding:16px;}
  .card .body{padding:22px;display:flex;flex-direction:column;gap:8px;}
  .card h3{font-size:19px;color:var(--text);}
  .card p{font-size:14px;color:var(--muted);margin:0;}
  .tag{font-size:11.5px;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:.05em;}

  .logo-box{border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;padding:18px;height:92px;background:#fff;}
  .logo-box img{max-height:38px;max-width:100%;object-fit:contain;}
  .brand-featured{background:var(--navy);border-radius:10px;padding:28px;display:flex;flex-direction:column;justify-content:center;gap:12px;position:relative;overflow:hidden;}
  .brand-featured .badge{font-size:12px;font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:.08em;}
  .brand-featured .logowrap{background:#fff;border-radius:6px;padding:14px 20px;display:inline-flex;align-items:center;height:68px;}
  .brand-featured .logowrap img{height:38px;width:auto;object-fit:contain;}

  .diffgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
  @media (max-width:800px){ .diffgrid{grid-template-columns:1fr 1fr;} }
  .diffitem{display:flex;flex-direction:column;gap:10px;}
  .diffitem span{font-size:14.5px;font-weight:700;}

  .testi{background:var(--bg);border-radius:10px;padding:26px;display:flex;flex-direction:column;gap:14px;}
  .testi p{font-size:14px;line-height:1.6;color:#3A4250;margin:0;}
  .testi .who{font-size:13.5px;font-weight:700;color:var(--navy);}

  footer.site{background:#0A0F1A;color:#8A93A3;padding:56px 0 28px;}
  footer.site .grid4{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;}
  @media (max-width:800px){ footer.site .grid4{grid-template-columns:1fr 1fr;} }
  footer.site h4{font-size:12.5px;color:#fff;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;}
  footer.site a,footer.site span.line{display:block;font-size:14px;color:#8A93A3;margin-bottom:8px;}
  footer.site .bottom{border-top:1px solid #1E2534;margin-top:36px;padding-top:20px;font-size:12.5px;}

  /* FLOATING BUTTON */
  .float-btn{position:fixed;bottom:24px;right:24px;z-index:9999;background:var(--orange);color:#fff;padding:15px 20px;border-radius:50px;
    display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700;text-transform:uppercase;box-shadow:0 10px 26px rgba(0,0,0,.28);white-space:nowrap;}
  @media (max-width:600px){ .float-btn span.txt{display:none;} .float-btn{padding:15px;border-radius:50%;} }

  /* FORM ELEMENTS */
  .field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
  .field label{font-size:13px;font-weight:700;}
  .field input,.field select,.field textarea{border:1px solid var(--border);border-radius:6px;padding:12px 14px;font-size:14px;font-family:'Work Sans',sans-serif;width:100%;background:#fff;color:var(--text);}
  .field input[disabled]{background:var(--bg);color:var(--muted);cursor:not-allowed;}

  /* COTIZADOR */
  .cotiz-hero{background:linear-gradient(135deg,var(--navy),var(--navy-dark));border-radius:12px;padding:28px;color:#fff;margin-bottom:20px;}
  .cotiz-hero .label{font-size:12px;font-weight:700;color:#A9C2E8;text-transform:uppercase;letter-spacing:.08em;}
  .cotiz-hero .value{font-family:'Oswald',sans-serif;font-size:40px;font-weight:700;}
  .cotiz-hero .sub{font-size:13px;color:#C6D2E6;}
  .summary-row{display:flex;justify-content:space-between;font-size:14px;padding:9px 0;border-bottom:1px solid var(--border);}
  .summary-row:last-child{border-bottom:none;}
  .summary-row .k{color:var(--muted);}
  .summary-row .v{font-weight:700;}
  .summary-row .v.accent{color:var(--orange);}
  table.sched{width:100%;border-collapse:collapse;font-size:12.5px;min-width:620px;}
  table.sched th{text-align:right;font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;padding:8px;border-bottom:2px solid var(--border);white-space:nowrap;}
  table.sched th:first-child,table.sched td:first-child{text-align:left;}
  table.sched td{text-align:right;padding:8px;border-bottom:1px solid var(--border);white-space:nowrap;}
  .scrollx{overflow-x:auto;}
  .error-msg{background:#FBEAE5;color:#B3401E;border-radius:8px;padding:10px 14px;font-size:13px;margin-bottom:14px;}
