
  :root{
    --ink:#0e2a52;--navy:#123a73;--paper:#ffffff;--paper-deep:#eef3fa;
    --accent:#c8102e;--accent-deep:#9c0c23;--blue:#1d4e9c;--muted:#5c6b82;
    --line:rgba(14,42,82,.14);
    --display:"Fraunces",Georgia,serif;--body:"Newsreader",Georgia,serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
  .wrap{max-width:1180px;margin:0 auto;padding:0 40px;position:relative;z-index:2}

  .flagstrip{height:4px;background:linear-gradient(90deg,var(--accent) 0 38%,#fff 38% 62%,var(--blue) 62% 100%)}
  header.topbar{border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px)}
  .topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:78px}
  .brand{display:flex;align-items:baseline;gap:10px;font-family:var(--display);font-weight:600;font-size:1.4rem;letter-spacing:-.01em;text-decoration:none;color:var(--ink)}
  .brand .full{color:var(--muted);font-weight:400;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
  nav.main ul{display:flex;gap:4px;list-style:none;align-items:center}
  
  nav.main a:hover{color:var(--accent)}
  nav.main li.active a{color:var(--accent)}
  @media(max-width:1080px){nav.main{display:none}}

  /* ---------- hero ---------- */
  .hero{padding:64px 0 54px;border-bottom:1px solid var(--line);background:
    radial-gradient(120% 90% at 88% -20%,rgba(200,16,46,.07),transparent 55%),
    radial-gradient(90% 80% at 5% 120%,rgba(29,78,156,.06),transparent 60%)}
  .crumb{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
  .crumb a{color:var(--muted);text-decoration:none}.crumb a:hover{color:var(--accent)}
  .kicker{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:500;margin-bottom:18px;display:flex;align-items:center;gap:14px}
  .kicker::before{content:"";width:42px;height:3px;background:linear-gradient(90deg,var(--accent) 0 50%,var(--blue) 50% 100%)}
  .hero h1{font-family:var(--display);font-weight:500;font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.02;letter-spacing:-.025em;max-width:20ch}
  .hero h1 em{font-style:italic;color:var(--accent)}
  .hero .sub{margin-top:20px;max-width:60ch;font-size:1.2rem;color:#2a3b54;font-weight:300}

  /* ---------- layout dos columnas: info + formulario ---------- */
  .main-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;padding:64px 0 90px;align-items:start}
  @media(max-width:920px){.main-grid{grid-template-columns:1fr;gap:48px}}

  /* columna informativa */
  .info h2{font-family:var(--display);font-weight:600;font-size:1.7rem;line-height:1.12;letter-spacing:-.015em;margin-bottom:20px}
  .info p{color:#34465e;font-size:1.05rem;margin-bottom:16px}
  .info p strong{color:var(--ink)}
  .info .secure{margin-top:28px;border:1px solid var(--line);border-radius:12px;padding:22px 24px;background:var(--paper-deep)}
  .info .secure .sh{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:600;font-size:1.05rem;margin-bottom:10px}
  .info .secure .sh svg{color:var(--accent)}
  .info .secure ul{list-style:none;display:flex;flex-direction:column;gap:9px}
  .info .secure li{display:flex;gap:11px;align-items:flex-start;font-size:.95rem;color:#34465e}
  .info .secure li .tick{color:var(--blue);flex-shrink:0;margin-top:.25em}

  /* tarjeta del formulario */
  .form-card{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 30px 70px -34px rgba(14,42,82,.5);overflow:hidden}
  .form-top{background:var(--ink);color:#fff;padding:26px 34px}
  .form-top h3{font-family:var(--display);font-weight:500;font-size:1.5rem;letter-spacing:-.01em}
  .form-top p{font-size:.9rem;color:rgba(255,255,255,.7);margin-top:4px}
  form{padding:34px}
  .row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  @media(max-width:520px){.row{grid-template-columns:1fr}}
  .field{margin-bottom:20px;display:flex;flex-direction:column}
  .field.full{grid-column:1 / -1}
  label{font-size:.82rem;letter-spacing:.03em;color:var(--ink);font-weight:500;margin-bottom:8px}
  label .req{color:var(--accent);margin-left:3px}
  .form-card .control{font-family:var(--body);font-size:1rem;color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:13px 15px;background:#fff;transition:border-color .2s,box-shadow .2s;width:100%}
  .form-card .control::placeholder{color:#9aa6b8}
  .form-card .control:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(29,78,156,.12)}
  .form-card textarea.control{resize:vertical;min-height:130px;line-height:1.6}
  .with-icon{position:relative}
  .with-icon .ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);display:flex}
  .form-card .with-icon .control{padding-left:42px}
  .phone-wrap{display:flex;gap:10px}
  .phone-prefix{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:9px;padding:0 13px;background:#fff;font-size:.95rem;color:var(--ink);white-space:nowrap}
  .phone-prefix .flag{width:22px;height:15px;border-radius:2px;background:linear-gradient(180deg,#0038a8 0 20%,#fff 20% 40%,#0038a8 40% 60%,#fff 60% 80%,#0038a8 80% 100%);position:relative;overflow:hidden;flex-shrink:0}
  .phone-prefix .flag::before{content:"";position:absolute;left:0;top:0;border-style:solid;border-width:7.5px 0 7.5px 13px;border-color:transparent transparent transparent #cf142b}
  .phone-prefix .flag::after{content:"";position:absolute;left:3px;top:5px;width:5px;height:5px;background:#fff;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}

  /* zona de carga */
  .dropzone{border:2px dashed rgba(29,78,156,.4);border-radius:12px;padding:30px 20px;text-align:center;color:var(--muted);cursor:pointer;transition:.25s;background:rgba(29,78,156,.03)}
  .dropzone:hover{border-color:var(--accent);background:rgba(200,16,46,.04);color:var(--ink)}
  .dropzone svg{color:var(--blue);margin-bottom:8px}
  .dropzone b{color:var(--blue);text-decoration:underline;cursor:pointer}
  .dropzone .hint{display:block;font-size:.78rem;margin-top:6px;color:#9aa6b8}
  .dropzone input{display:none}

  .privacy-note{font-size:.82rem;color:var(--muted);margin:4px 0 22px;display:flex;gap:9px;align-items:flex-start}
  .privacy-note svg{color:var(--blue);flex-shrink:0;margin-top:.15em}
  .privacy-note a{color:var(--blue)}

  .submit{width:100%;font-family:var(--body);font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:#fff;border:none;padding:17px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 14px 30px -14px rgba(200,16,46,.7);transition:.22s}
  .submit:hover{transform:translateY(-2px);box-shadow:0 20px 38px -14px rgba(200,16,46,.8)}

  footer{background:var(--paper-deep);border-top:1px solid var(--line);padding:46px 0}
  footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px}
  footer .brand{font-size:1.1rem}
  .motto{font-family:var(--display);font-style:italic;color:var(--accent);font-size:1rem}
  footer small{color:var(--muted);font-size:.8rem}

/* Forminator form padding */
.forminator-ui { padding: 20px !important; }
.forminator-custom-form { padding: 24px !important; }

/* Margen superior del formulario */
.form-card { padding-top: 40px !important; }

/* Fix buscador del header */
.iclep-search { max-width: 280px !important; }
.iclep-search input { padding: 9px 14px !important; font-size: 13px !important; height: auto !important; }
.iclep-search button { padding: 9px 14px !important; height: auto !important; }

/* Fix buscador header en página denuncia */
.iclep-topbar .iclep-search input {
  padding: 9px 14px !important;
  font-size: 13px !important;
  border: none !important;
  border-radius: 0 !important;
  width: auto !important;
}
.iclep-topbar .iclep-search button {
  padding: 9px 14px !important;
  border-radius: 0 !important;
}

/* Fix form buscador header */
form.iclep-search { padding: 0 !important; }
