
/* === Polices locales ===
   Déposez les fichiers .woff2 dans assets/fonts/ en suivant docs/INSTALLATION.md.
   Aucun fichier de police n'est distribué dans ce pack. */
@font-face{font-family:'Inter';src:url('../fonts/Inter-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Inter';src:url('../fonts/Inter-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Inter';src:url('../fonts/Inter-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Inter';src:url('../fonts/Inter-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Inter';src:url('../fonts/Inter-ExtraBold.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap;}
@font-face{font-family:'Tektur';src:url('../fonts/Tektur-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Tektur';src:url('../fonts/Tektur-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Tektur';src:url('../fonts/Tektur-ExtraBold.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap;}

:root{
    --navy:#0a0e1a;
    --panel:#10162a;
    --panel2:#141c37;
    --line:#26304f;
    --line2:#334072;
    --ink:#eef0f8;
    --muted:#93a0c4;
    --muted2:#5f6a93;
    --indigo:#454AE0;
    --magenta:#E841E8;
    --red:#F32436;
    --cyan:#29d3e0;
    --green:#2fbf80;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
.netcyber-curative-page{background:#0a0e1a;}
  .netcyber-curative-page{
    margin:0;background:var(--navy);color:var(--ink);
    font-family:'Inter',system-ui,sans-serif;font-size:15.5px;line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.disp{font-family:'Tektur',system-ui,sans-serif;letter-spacing:.01em;}
  a{color:var(--cyan);}
  .wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
  img,svg{display:block;}
  button,input,select,textarea{font-family:inherit;}
  ::selection{background:var(--red);color:#fff;}

  /* -------- topbar -------- */
  .topbar{
    position:sticky;top:0;z-index:40;background:rgba(10,14,26,.92);backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }
  .topbar-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:16px;}
  .logo{display:flex;align-items:center;gap:10px;flex:none;}
  .logo .mark{width:34px;height:34px;flex:none;}
  .logo .name{font-family:'Tektur';font-size:14px;letter-spacing:.04em;line-height:1.15;}
  .logo .name b{display:block;color:var(--ink);}
  .logo .name span{display:block;color:var(--muted2);font-size:10.5px;font-family:'Inter';font-weight:600;letter-spacing:.08em;}
  nav{display:flex;gap:22px;flex:1;justify-content:center;}
  nav a{color:var(--muted);text-decoration:none;font-size:13.5px;font-weight:600;}
  nav a:hover{color:var(--ink);}
  .topbar-cta{display:flex;align-items:center;gap:14px;flex:none;}
  .topbar-cta .phone{color:var(--muted);font-size:12.5px;text-align:right;line-height:1.3;display:none;}
  @media(min-width:920px){.topbar-cta .phone{display:block;}}
  .btn{
    display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line2);background:var(--panel2);color:var(--ink);
    padding:11px 18px;font-size:13.5px;font-weight:700;text-decoration:none;cursor:pointer;
    transition:border-color .15s,background .15s,transform .1s;
  }
  .btn:hover{border-color:var(--cyan);}
  .btn.alert{background:var(--red);border-color:var(--red);color:#fff;}
  .btn.alert:hover{background:#ff3b4e;transform:translateY(-1px);}
  .btn.ghost{background:transparent;}
  .btn.primary{background:var(--indigo);border-color:var(--indigo);color:#fff;}
  .btn.primary:hover{background:#5a5ff5;}
  @media(max-width:760px){nav{display:none;}}

  /* -------- hero -------- */
  .hero{position:relative;overflow:hidden;padding:76px 0 60px;border-bottom:1px solid var(--line);}
  .hero-bg{position:absolute;inset:0;z-index:0;opacity:.55;}
  .hero-content{position:relative;z-index:1;max-width:720px;}
  .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--red);font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
  .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--red);animation:pulse 1.8s infinite;}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(243,36,54,.55);}70%{box-shadow:0 0 0 9px rgba(243,36,54,0);}100%{box-shadow:0 0 0 0 rgba(243,36,54,0);}}
  .hero h1{font-size:clamp(30px,4.4vw,46px);line-height:1.12;margin:18px 0 18px;font-weight:700;}
  .hero p.lead{color:var(--muted);font-size:16.5px;max-width:600px;margin:0 0 30px;}
  .hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px;}
  .stat-row{display:flex;gap:34px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;}
  .stat-row .item .n{font-family:'Tektur';font-size:22px;color:var(--cyan);}
  .stat-row .item .l{color:var(--muted2);font-size:12px;margin-top:2px;}

  /* -------- section shell -------- */
  .netcyber-curative-root section{padding:64px 0;border-bottom:1px solid var(--line);}
  .kicker{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
  .kicker .bar{width:22px;height:3px;background:var(--red);}
  .kicker span{color:var(--red);font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
  .netcyber-curative-root section h2{font-size:clamp(22px,2.6vw,30px);margin:0 0 14px;font-weight:700;max-width:640px;}
  .netcyber-curative-root section .desc{color:var(--muted);max-width:620px;margin:0 0 36px;font-size:15px;}

  /* -------- distinction cards -------- */
  .cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  @media(max-width:860px){.cards3{grid-template-columns:1fr;}}
  .dcard{background:var(--panel);border:1px solid var(--line);padding:22px;}
  .dcard .ic{width:36px;height:36px;margin-bottom:16px;}
  .dcard h3{font-size:16px;margin:0 0 8px;font-weight:700;font-family:'Inter';}
  .dcard p{color:var(--muted);font-size:13.8px;margin:0;}

  /* -------- methodology stepper -------- */
  .steps{display:flex;flex-direction:column;gap:0;border-left:2px solid var(--line2);margin-left:18px;}
  .step{position:relative;padding:0 0 34px 34px;}
  .step:last-child{padding-bottom:0;}
  .step::before{
    content:attr(data-n);position:absolute;left:-19px;top:0;width:36px;height:36px;border-radius:50%;
    background:var(--panel2);border:2px solid var(--indigo);display:flex;align-items:center;justify-content:center;
    font-family:'Tektur';font-size:13px;color:var(--cyan);
  }
  .step h3{font-size:16.5px;margin:2px 0 8px;font-weight:700;font-family:'Inter';}
  .step p{color:var(--muted);font-size:14px;margin:0;max-width:640px;}

  /* -------- incident types grid -------- */
  .cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
  @media(max-width:920px){.cards4{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:520px){.cards4{grid-template-columns:1fr;}}
  .icard{background:var(--panel);border:1px solid var(--line);padding:18px;display:flex;flex-direction:column;gap:10px;}
  .icard .ic{width:28px;height:28px;color:var(--magenta);}
  .icard h4{margin:0;font-size:14.5px;font-weight:700;}
  .icard p{margin:0;color:var(--muted2);font-size:12.6px;line-height:1.45;}

  /* -------- engagements -------- */
  .engage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
  @media(max-width:920px){.engage-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:520px){.engage-grid{grid-template-columns:1fr;}}
  .engage{background:var(--panel);border-top:3px solid var(--cyan);padding:20px 18px;}
  .engage .n{font-family:'Tektur';font-size:24px;color:var(--ink);}
  .engage .l{color:var(--muted);font-size:12.8px;margin-top:6px;}
  .editable{color:var(--red);}
  .note-edit{color:var(--muted2);font-size:12px;margin-top:26px;}

  /* -------- trust strip -------- */
  .trust{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
  .trust .chip{border:1px solid var(--line);padding:10px 18px;color:var(--muted);font-size:13.5px;font-weight:600;background:var(--panel);}

  /* -------- signalement -------- */
  #signalement{background:var(--panel);}
  .sig-grid{display:grid;grid-template-columns:320px 1fr;gap:30px;align-items:start;}
  @media(max-width:900px){.sig-grid{grid-template-columns:1fr;}}
  .emergency-box{background:var(--navy);border:1px solid var(--red);padding:22px;position:sticky;top:88px;}
  .emergency-box h3{margin:0 0 10px;font-size:16px;color:var(--red);}
  .emergency-box p{color:var(--muted);font-size:13.5px;margin:0 0 16px;}
  .emergency-box .line{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:13.5px;}
  .emergency-box .line:first-of-type{border-top:none;}
  .emergency-box .line .ic{width:18px;height:18px;color:var(--cyan);flex:none;}
  .emergency-box .line b{color:var(--ink);}

  .formcard{background:var(--panel2);border:1px solid var(--line);padding:28px;}
  fieldset{border:none;padding:0;margin:0 0 26px;}
  fieldset legend{font-family:'Tektur';font-size:14px;color:var(--cyan);letter-spacing:.03em;margin-bottom:14px;padding:0;}
  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  @media(max-width:600px){.grid2{grid-template-columns:1fr;}}
  .field{margin-bottom:14px;}
  .field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px;font-weight:600;}
  .field label .req{color:var(--red);}
  .field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=datetime-local],
  .field select,.field textarea{
    width:100%;background:var(--navy);border:1px solid var(--line);color:var(--ink);padding:10px 12px;font-size:14px;
  }
  .field textarea{resize:vertical;min-height:80px;}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cyan);}
  .radio-row{display:flex;gap:10px;flex-wrap:wrap;}
  .radio-opt{flex:1;min-width:110px;}
  .radio-opt input{display:none;}
  .radio-opt label{
    display:block;text-align:center;border:1px solid var(--line);padding:10px 8px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;
  }
  .radio-opt input:checked + label{border-color:var(--red);color:var(--red);background:rgba(243,36,54,.08);}
  .checkline{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);margin-top:4px;}
  .checkline input{margin-top:3px;flex:none;}
  .form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;}
  .form-note{color:var(--muted2);font-size:12px;margin-top:14px;}
  #copy-feedback{color:var(--green);font-size:13px;margin-top:10px;display:none;}
  #summary-fallback{display:none;margin-top:14px;}
  #summary-fallback textarea{width:100%;min-height:180px;background:var(--navy);border:1px solid var(--line);color:var(--ink);padding:10px;font-size:12.5px;font-family:monospace;}

  /* -------- footer -------- */
  footer{padding:40px 0;}
  .foot-grid{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;}
  .foot-brand .name{font-family:'Tektur';font-size:15px;}
  .foot-brand p{color:var(--muted2);font-size:12.5px;margin:8px 0 0;max-width:320px;}
  .foot-contact{color:var(--muted2);font-size:12.5px;line-height:2;}
  .foot-contact b{color:var(--muted);}
  @media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important;}}

/* ===== Elementor / WordPress normalisation ===== */
.netcyber-curative-page{margin:0!important;}
.netcyber-curative-page #content.netcyber-curative-root{min-height:100vh;overflow:visible;}
.netcyber-curative-page .elementor{background:var(--navy);}
.netcyber-curative-page .elementor-widget-html>.elementor-widget-container{width:100%;}
.netcyber-curative-page .elementor-widget-shortcode>.elementor-widget-container{width:100%;}
.netcyber-curative-page .elementor-element.signalement-section{display:block!important;background:var(--panel);padding:64px 0;border-bottom:1px solid var(--line);}
.netcyber-curative-page .elementor-element.signalement-wrap{display:block!important;max-width:1120px;margin:0 auto;padding:0 24px;}
.netcyber-curative-page .elementor-element.signalement-grid{display:grid!important;grid-template-columns:320px 1fr;gap:30px;align-items:start;}
.netcyber-curative-page .elementor-element.signalement-grid>.e-con-inner{display:contents;}
.netcyber-curative-page .elementor-element.emergency-col,
.netcyber-curative-page .elementor-element.form-col{display:block!important;min-width:0;}
.netcyber-curative-page .elementor-element.emergency-col>.e-con-inner,
.netcyber-curative-page .elementor-element.form-col>.e-con-inner{display:block;}
.netcyber-curative-page .elementor-element.form-col{background:var(--panel2);border:1px solid var(--line);padding:28px;}

/* ===== Contact Form 7 ===== */
.netcyber-curative-page .wpcf7{margin:0;}
.netcyber-curative-page .wpcf7 form{margin:0;}
.netcyber-curative-page .wpcf7 fieldset{border:none;padding:0;margin:0 0 26px;}
.netcyber-curative-page .wpcf7 fieldset legend{font-family:'Tektur',system-ui,sans-serif;font-size:14px;color:var(--cyan);letter-spacing:.03em;margin-bottom:14px;padding:0;}
.netcyber-curative-page .wpcf7 .grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.netcyber-curative-page .wpcf7 .field{margin-bottom:14px;}
.netcyber-curative-page .wpcf7 .field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px;font-weight:600;}
.netcyber-curative-page .wpcf7 .req{color:var(--red);}
.netcyber-curative-page .wpcf7 input[type=text],
.netcyber-curative-page .wpcf7 input[type=email],
.netcyber-curative-page .wpcf7 input[type=tel],
.netcyber-curative-page .wpcf7 input[type=datetime-local],
.netcyber-curative-page .wpcf7 select,
.netcyber-curative-page .wpcf7 textarea{width:100%;background:var(--navy);border:1px solid var(--line);color:var(--ink);padding:10px 12px;font-size:14px;border-radius:0;box-shadow:none;}
.netcyber-curative-page .wpcf7 textarea{resize:vertical;min-height:80px;}
.netcyber-curative-page .wpcf7 input:focus,
.netcyber-curative-page .wpcf7 select:focus,
.netcyber-curative-page .wpcf7 textarea:focus{outline:none;border-color:var(--cyan);}
.netcyber-curative-page .wpcf7 .radio-row{display:flex;gap:10px;flex-wrap:wrap;}
.netcyber-curative-page .wpcf7 .wpcf7-radio{display:flex;gap:10px;flex-wrap:wrap;width:100%;}
.netcyber-curative-page .wpcf7 .wpcf7-list-item{margin:0;flex:1;min-width:110px;}
.netcyber-curative-page .wpcf7 .wpcf7-radio input{position:absolute;opacity:0;pointer-events:none;}
.netcyber-curative-page .wpcf7 .wpcf7-radio .wpcf7-list-item-label{display:block;text-align:center;border:1px solid var(--line);padding:10px 8px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;}
.netcyber-curative-page .wpcf7 .wpcf7-list-item:has(input:checked) .wpcf7-list-item-label{border-color:var(--red);color:var(--red);background:rgba(243,36,54,.08);}
.netcyber-curative-page .wpcf7 .checkline{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);margin-top:4px;}
.netcyber-curative-page .wpcf7 .checkline .wpcf7-list-item{margin:0;}
.netcyber-curative-page .wpcf7 .checkline input{margin-top:3px;}
.netcyber-curative-page .wpcf7 .form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;}
.netcyber-curative-page .wpcf7 input[type=submit]{display:inline-flex;align-items:center;border:1px solid var(--red);background:var(--red);color:#fff;padding:11px 18px;font-size:13.5px;font-weight:700;cursor:pointer;border-radius:0;}
.netcyber-curative-page .wpcf7 input[type=submit]:hover{background:#ff3b4e;}
.netcyber-curative-page .wpcf7 .copy-summary-btn{display:inline-flex;align-items:center;border:1px solid var(--line2);background:transparent;color:var(--ink);padding:11px 18px;font-size:13.5px;font-weight:700;cursor:pointer;border-radius:0;}
.netcyber-curative-page .wpcf7 .copy-summary-btn:hover{border-color:var(--cyan);}
.netcyber-curative-page .wpcf7 .copy-feedback{color:var(--green);font-size:13px;margin-top:10px;display:none;}
.netcyber-curative-page .wpcf7 .summary-fallback{display:none;margin-top:14px;}
.netcyber-curative-page .wpcf7 .summary-fallback textarea{width:100%;min-height:180px;background:var(--navy);border:1px solid var(--line);color:var(--ink);padding:10px;font-size:12.5px;font-family:monospace;}
.netcyber-curative-page .wpcf7 .form-note{color:var(--muted2);font-size:12px;margin-top:14px;}
.netcyber-curative-page .wpcf7 .wpcf7-not-valid-tip{color:#ff7b86;font-size:12px;margin-top:4px;}
.netcyber-curative-page .wpcf7 form .wpcf7-response-output{margin:18px 0 0;padding:12px 14px;border:1px solid var(--line2);color:var(--ink);}
.netcyber-curative-page .wpcf7 form.sent .wpcf7-response-output{border-color:var(--green);}
.netcyber-curative-page .wpcf7 form.invalid .wpcf7-response-output{border-color:var(--red);}

@media(max-width:900px){
  .netcyber-curative-page .elementor-element.signalement-grid{grid-template-columns:1fr;}
  .netcyber-curative-page .emergency-box{position:static;}
}
@media(max-width:600px){
  .netcyber-curative-page .wpcf7 .grid2{grid-template-columns:1fr;}
  .netcyber-curative-page .elementor-element.form-col{padding:20px;}
}
