/* WIRD — restyling "ibrido": hero scuro con rete di punti, titoli in Manrope, sezioni numerate.
   Caricato dopo style.min.css (Tailwind precompilato): qui solo componenti e override mirati. */

@font-face{font-family:Manrope;font-style:normal;font-weight:500 800;font-display:swap;src:url(/assets/fonts/manrope-latin.woff2) format("woff2")}

:root{
  --ink:#0E0D12; --ink-2:#18171F; --ink-line:rgba(255,255,255,.09);
  --paper:#FFFFFF; --paper-2:#F4F4F7; --line:#E4E2EA;
  --text:#1C1B1F; --muted:#55525C; --muted-dark:#B4B0BE;
  --blue:#005AC1; --blue-bright:#7AA7FF; --violet:#8B5CF6; --violet-bright:#B79CFF;
  --grad:linear-gradient(90deg,var(--blue-bright),var(--violet-bright));
  --display:Manrope,Roboto,ui-sans-serif,system-ui,sans-serif;
}

body{background:var(--paper)}
h1,h2{font-family:var(--display);font-weight:800;letter-spacing:-.025em}

/* ---------------------------------------------------------------- Header */
.wird-header{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(14,13,18,.82);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--ink-line)}
.wird-header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.9rem;padding-bottom:.9rem}
.wird-logo{display:flex;align-items:center;gap:.7rem;color:#fff;font-weight:700;font-size:1.45rem;letter-spacing:-.02em}
.wird-logo svg{width:40px;height:40px;transition:transform .3s}
.wird-logo:hover svg{transform:scale(1.06)}
.wird-dot{color:var(--blue-bright)}
.wird-nav{display:none;gap:.25rem;font-size:.9rem;font-weight:500}
.wird-nav a{color:var(--muted-dark);padding:.5rem .9rem;border-radius:999px;transition:color .15s,background-color .15s}
.wird-nav a:hover,.wird-nav a:focus-visible{color:#fff;background:rgba(255,255,255,.07)}
@media (min-width:768px){.wird-nav{display:flex}}
.wird-actions{display:flex;align-items:center;gap:.5rem}
.wird-lang{color:var(--muted-dark);font-size:.875rem;font-weight:500;padding:.5rem .75rem;border-radius:999px}
.wird-lang:hover{color:#fff;background:rgba(255,255,255,.07)}
.wird-cta{display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:var(--ink);font-size:.875rem;font-weight:600;
  padding:.6rem 1.15rem;border-radius:999px;transition:box-shadow .2s,transform .2s}
.wird-cta:hover{transform:translateY(-1px);box-shadow:0 0 0 4px rgba(122,167,255,.25)}
.wird-cta svg{width:16px;height:16px}
.wird-header .wird-mnav{color:var(--muted-dark)}
.wird-header .wird-mnav a:hover,.wird-header .wird-mnav a:focus-visible{background:rgba(255,255,255,.08);color:#fff}

/* ---------------------------------------------------------------- Hero */
.wird-hx{position:relative;overflow:hidden;background:
  radial-gradient(60rem 40rem at 85% 20%,rgba(139,92,246,.20),transparent 60%),
  radial-gradient(50rem 35rem at 10% 90%,rgba(0,90,193,.25),transparent 60%),var(--ink);
  color:#fff;padding:10rem 0 6rem}
@media (max-width:767px){.wird-hx{padding:11.5rem 0 4.5rem}}
.wird-net{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:.9;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.45) 40%,#000 75%);
          mask-image:linear-gradient(90deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.45) 40%,#000 75%)}
@media (max-width:767px){.wird-net{opacity:.55;-webkit-mask-image:none;mask-image:none}}
.wird-hx-inner{position:relative}
.wird-hx-text{max-width:46rem}
.wird-badge{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--display);font-weight:700;font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted-dark);border:1px solid var(--ink-line);border-radius:999px;padding:.45rem .9rem;
  background:rgba(255,255,255,.03)}
.wird-badge i{width:6px;height:6px;border-radius:50%;background:#4ADE80;box-shadow:0 0 0 4px rgba(74,222,128,.15)}
.wird-title{margin-top:1.75rem;font-size:clamp(2.5rem,5.6vw,5.1rem);line-height:1.04;color:#fff;font-weight:800}
.wird-title em{display:block;font-style:normal;font-weight:800;background:var(--grad);-webkit-background-clip:text;
  background-clip:text;color:transparent;padding-bottom:.08em}
.wird-lead{margin-top:1.75rem;max-width:38rem;font-size:1.18rem;line-height:1.65;color:var(--muted-dark)}
.wird-ctas{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:.9rem}
.wird-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:1rem 1.6rem;border-radius:999px;
  font-weight:600;font-size:1rem;background:#fff;color:var(--ink);transition:transform .2s,box-shadow .2s,background-color .2s}
.wird-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(122,167,255,.25)}
.wird-btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.25)}
.wird-btn-ghost:hover{background:rgba(255,255,255,.06);box-shadow:none}
@media (max-width:639px){.wird-btn{width:100%}}

/* ---------------------------------------------------------------- Sezioni: kicker numerato e titoli */
.wird-kicker{display:flex;align-items:center;gap:.75rem;font-family:var(--display);font-weight:700;font-size:.75rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--blue);margin-bottom:1rem}
.wird-kicker-n{color:var(--muted)}
.wird-kicker::after{content:"";flex:0 0 3rem;height:1px;background:currentColor;opacity:.4}
.wird-on-dark .wird-kicker{color:var(--blue-bright)}
.wird-on-dark .wird-kicker-n{color:var(--muted-dark)}
.wird-sechead{text-align:left;margin-bottom:3.5rem;max-width:48rem}
.wird-sechead h2{font-size:clamp(2rem,3.6vw,3rem) !important;line-height:1.1;font-weight:800 !important;margin-bottom:1rem}
.wird-sechead p{margin-left:0 !important;margin-right:0 !important;font-size:1.05rem;line-height:1.65}
.bg-md-container\/30{background-color:var(--paper-2)}

/* ---------------------------------------------------------------- Card servizi */
.md3-card{position:relative;border-radius:20px !important;border:1px solid var(--line) !important;background:#fff;
  transition:transform .25s,box-shadow .25s,border-color .25s;overflow:hidden}
.md3-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--grad);opacity:0;transition:opacity .25s}
.md3-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(28,27,31,.08);border-color:transparent !important}
.md3-card:hover::before{opacity:1}
.md3-card.bg-md-container{background:var(--ink) !important;border-color:var(--ink) !important}
.md3-card.bg-md-container::before{opacity:1}
.md3-card.bg-md-container h3{color:#fff !important}
.md3-card.bg-md-container p{color:var(--muted-dark) !important}

/* ---------------------------------------------------------------- Registro dei rischi (metodo) */
.wird-register{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.wird-register thead th{font-family:var(--display);font-weight:700;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
  text-align:left;padding:1rem 1.5rem;background:var(--paper-2);border-bottom:1px solid var(--line)}
.wird-register tbody th,.wird-register td{padding:1.4rem 1.5rem;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.wird-register tbody tr:last-child th,.wird-register tbody tr:last-child td{border-bottom:0}
.wird-register tbody th{font-family:var(--display);font-weight:800;font-size:1.15rem;letter-spacing:-.01em;color:var(--text);white-space:nowrap}
.wird-register td{color:var(--muted);line-height:1.6}
.wird-register tbody tr{transition:background-color .15s}
.wird-register tbody tr:hover{background:#FAFAFC}
.wird-status{display:inline-block;font-family:var(--display);font-weight:700;font-size:.72rem;letter-spacing:.04em;white-space:nowrap;
  padding:.35rem .7rem;border-radius:999px;background:#EEF3FF;color:var(--blue)}
.wird-status.is-next{background:#F3EEFF;color:#6D28D9}
@media (max-width:767px){
  .wird-register thead{display:none}
  .wird-register,.wird-register tbody,.wird-register tr,.wird-register th,.wird-register td{display:block;width:100%}
  .wird-register tbody tr{padding:1.25rem 1.25rem;border-bottom:1px solid var(--line)}
  .wird-register tbody tr:last-child{border-bottom:0}
  .wird-register tbody th,.wird-register td{padding:0;border:0}
  .wird-register td{margin-top:.5rem}
}

/* ---------------------------------------------------------------- Bio */
.wird-portrait{border-radius:20px !important;box-shadow:14px 14px 0 rgba(139,92,246,.16) !important}

/* ---------------------------------------------------------------- FAQ come elenco numerato */
.wird-faq{counter-reset:faq}
.wird-faq details{border:0 !important;border-bottom:1px solid var(--line) !important;border-radius:0 !important;background:transparent !important;
  padding:1.4rem 0 !important}
.wird-faq details:first-child{border-top:1px solid var(--line) !important}
.wird-faq summary{gap:1rem}
.wird-faq summary::before{counter-increment:faq;content:counter(faq,decimal-leading-zero);font-family:var(--display);font-weight:800;font-size:.8rem;
  color:var(--blue);flex:none;width:2rem}
.wird-faq details[open] summary{color:var(--blue)}
.wird-faq details p{padding-left:3rem}
@media (max-width:639px){.wird-faq details p{padding-left:0}}

@media (prefers-reduced-motion:reduce){
  .md3-card,.wird-btn,.wird-cta,.wird-logo svg{transition:none}
  .md3-card:hover,.wird-btn:hover,.wird-cta:hover{transform:none}
}

/* ---------------------------------------------------------------- Ritocchi */
.wird-hx-text{max-width:62rem}
.wird-title{font-size:clamp(2.5rem,5.2vw,4.7rem)}
.wird-lead,.wird-ctas{max-width:40rem}
.wird-faq summary{justify-content:flex-start !important;text-align:left}
.wird-faq summary>span{margin-left:auto;flex:none}
.wird-on-dark .text-md-primary{color:var(--blue-bright) !important}
