:root{
  color-scheme:light;
  --blue:#0B2E59;
  --blue-2:#123F73;
  --blue-3:#EAF3FB;
  --red:#7A0F1A;
  --red-2:#A5162A;
  --cyan:#22A7D8;
  --brand:#7A0F1A;
  --brand-600:#651019;
  --brand-700:#4d0d14;
  --text:#142033;
  --ink:#142033;
  --muted:#617085;
  --line:rgba(11,46,89,.14);
  --soft:#F5F9FD;
  --white:#fff;
  --bg:#fff;
  --surface:#fff;
  --light:#F3F8FD;
  --border:rgba(11,46,89,.12);
  --shadow:0 28px 80px rgba(11,46,89,.13);
  --shadow-soft:0 18px 48px rgba(11,46,89,.08);
  --radius:22px;
  --radius-lg:32px;
  --app-vh:100vh;
  --d-bg:var(--soft);
  --d-ink:var(--text);
  --d-text:var(--text);
  --d-muted:var(--muted);
  --d-border:var(--border);
  --d-card:var(--surface);
  --d-pill:rgba(122,15,26,.08);
  --d-bordeaux:var(--brand);
  --d-bordeaux-600:var(--brand-600);
  --dacos-primary:var(--brand);
  --dacos-primary-600:var(--brand-600);
  --dacos-primary-700:var(--brand-700);
  --dacos-ink:var(--text);
  --bg-app:var(--soft);
  --panel:var(--surface);
  --txt:var(--text);
  --brandH:var(--brand-600);
  --ok:#198754;
  --warn:#ffc107;
  --bad:#dc3545;
  --okBg:#eaf6ee;
  --warnBg:#fff6d9;
  --badBg:#fdecee;
  --shadow-mini:0 8px 18px rgba(11,46,89,.08);
  --glow-border:linear-gradient(135deg, rgba(11,46,89,.2), rgba(122,15,26,.18));
  --hero-grad:
    radial-gradient(900px 520px at 10% 8%, rgba(11,46,89,.14), rgba(11,46,89,0) 60%),
    radial-gradient(760px 520px at 95% 15%, rgba(122,15,26,.1), rgba(122,15,26,0) 60%),
    linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,0)),
    linear-gradient(180deg, rgba(11,46,89,.04), rgba(11,46,89,0) 55%),
    var(--soft);
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 8% 12%, rgba(11,46,89,.05), transparent 28%),
    radial-gradient(circle at 92% 8%, rgba(122,15,26,.05), transparent 24%),
    linear-gradient(180deg,#fff 0%,#f7fbff 56%,#fff 100%);
  color:var(--text);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

img,
svg,
video,
iframe{
  max-width:100%;
  height:auto;
  display:block;
}

a{
  color:var(--brand);
  text-decoration:none;
}

a:hover{
  color:var(--brand-600);
}

h1,h2,h3,h4,h5,h6{
  color:var(--blue);
  font-weight:900;
  letter-spacing:-.03em;
}

.lead,
.subtitle,
.section-text,
.muted,
.text-muted,
.small-muted{
  color:var(--muted)!important;
}

.section{
  position:relative;
  padding:88px 0;
}

.section-sm{
  padding:56px 0;
}

.band,
.proof,
.cta,
.flow-section,
.section.alt{
  background:
    radial-gradient(circle at 14% 10%, rgba(11,46,89,.06), transparent 22%),
    linear-gradient(180deg,#f7fbff,#fff);
}

.bg-brand{
  background:linear-gradient(135deg,var(--blue),var(--red))!important;
}

.text-brand{
  color:var(--brand)!important;
}

.text-bordeaux{
  color:var(--brand)!important;
}

.badge-soft,
.brand-badge,
.pill,
.eyebrow,
.chip,
.tag,
.tagline{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.82);
  color:var(--blue);
  box-shadow:0 14px 36px rgba(11,46,89,.08);
}

.badge-soft,
.brand-badge,
.eyebrow,
.pill,
.tagline{
  padding:.5rem .9rem;
  font-weight:800;
}

.chip,
.tag{
  padding:.38rem .72rem;
  font-size:.92rem;
  font-weight:700;
}

.btn-brand,
.btn-dacos,
.btn-d{
  border:0;
  border-radius:999px;
  padding:.88rem 1.35rem;
  font-weight:900;
  color:#fff!important;
  background:linear-gradient(135deg,var(--red),var(--red-2));
  box-shadow:0 20px 48px rgba(122,15,26,.24);
}

.btn-brand:hover,
.btn-dacos:hover,
.btn-d:hover{
  transform:translateY(-2px);
  color:#fff!important;
  background:linear-gradient(135deg,var(--red-2),var(--red));
  box-shadow:0 28px 70px rgba(122,15,26,.32);
}

.btn-primary{
  --bs-btn-bg:var(--brand);
  --bs-btn-border-color:var(--brand);
  --bs-btn-hover-bg:var(--brand-600);
  --bs-btn-hover-border-color:var(--brand-600);
  --bs-btn-active-bg:var(--brand-700);
  --bs-btn-active-border-color:var(--brand-700);
}

.btn-soft,
.btn-ghost,
.btn-outline-brand,
.btn-outline-dacos,
.btn-ghost-bordeaux,
.btn-outline-bordeaux{
  border:1px solid var(--line);
  border-radius:999px;
  padding:.88rem 1.35rem;
  font-weight:850;
  color:var(--blue)!important;
  background:#fff;
  box-shadow:0 14px 36px rgba(11,46,89,.08);
}

.btn-soft:hover,
.btn-ghost:hover,
.btn-outline-brand:hover,
.btn-outline-dacos:hover,
.btn-ghost-bordeaux:hover,
.btn-outline-bordeaux:hover{
  color:var(--red)!important;
  border-color:rgba(122,15,26,.25);
  background:#fff4f6;
  transform:translateY(-2px);
}

.navbar,
.appbar,
.nav-pro{
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
  box-shadow:0 14px 40px rgba(11,46,89,.06);
}

.navbar .container,
.appbar .container{
  min-height:72px;
}

.navbar-brand,
.appbar .navbar-brand{
  display:flex;
  align-items:center;
  gap:.6rem;
}

.navbar-brand img,
.brand-logo,
.appbar img,
.nav-pro img,
.footer img{
  height:40px;
  width:auto;
  filter:drop-shadow(0 10px 20px rgba(11,46,89,.1));
}

body.dacos-has-global-nav .appbar,
body.dacos-has-global-nav .nav-pro,
body.dacos-has-global-nav .topbar,
body.dacos-has-global-nav nav.navbar:not(.dacos-global-nav){
  display:none!important;
}

body.dacos-has-global-nav .dacos-global-nav{
  display:block!important;
}

.nav-link{
  color:var(--muted)!important;
  font-weight:750;
}

.nav-link:hover,
.nav-link:focus,
.nav-link.active{
  color:var(--blue)!important;
}

.navbar-toggler{
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:none!important;
}

.hero,
.page-title{
  position:relative;
  overflow:hidden;
  padding:142px 0 84px;
  background:
    radial-gradient(circle at 8% 12%, rgba(11,46,89,.12), transparent 32%),
    radial-gradient(circle at 86% 8%, rgba(122,15,26,.13), transparent 31%),
    linear-gradient(180deg,#fff 0%,#F3F8FD 58%,#fff 100%);
}

.hero::before,
.page-title::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(11,46,89,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11,46,89,.045) 1px, transparent 1px);
  background-size:58px 58px;
  mask-image:linear-gradient(to bottom, black, transparent 82%);
  pointer-events:none;
}

.hero h1,
.page-title h1,
.section-title{
  font-size:clamp(2.4rem,5vw,5rem);
  line-height:.96;
  letter-spacing:-.065em;
  color:var(--blue);
}

.gradient-text,
.grad-text{
  background:linear-gradient(105deg,var(--blue) 0%,var(--blue-2) 42%,var(--red) 78%,var(--red-2) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
}

.hero-line{
  width:130px;
  height:7px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--red),var(--blue));
  margin:24px 0 0;
}

.hero .lead{
  max-width:760px;
  font-size:clamp(1.04rem,2vw,1.28rem);
  line-height:1.7;
}

.hero-panel,
.command-center,
.metric-box,
.status-card,
.k-card,
.callout,
.table-wrap,
.card-dacos,
.card-l,
.card-d,
.card-pro,
.feature-card,
.service-card,
.process-step,
.stroke-card,
.partner-card,
.rese-card,
.toc,
.sidebar > div,
.news-card,
.focus-card,
.card-lite,
.app-tabs,
.terminal,
.card{
  background:rgba(255,255,255,.84);
  border:1px solid rgba(11,46,89,.12);
  box-shadow:var(--shadow-soft);
  border-radius:var(--radius);
  backdrop-filter:blur(18px);
}

.hero-panel,
.stroke-card,
.status-card,
.metric-box,
.card-dacos,
.card-l,
.card-d,
.card-pro,
.feature-card,
.service-card,
.process-step,
.sidebar > div,
.news-card{
  overflow:hidden;
}

.feature-card,
.service-card,
.process-step,
.card-dacos,
.card-l,
.card-d,
.card-pro,
.news-card{
  height:100%;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.feature-card:hover,
.service-card:hover,
.process-step:hover,
.card-dacos:hover,
.card-l:hover,
.card-d:hover,
.card-pro:hover,
.news-card:hover{
  transform:translateY(-6px);
  box-shadow:0 34px 86px rgba(11,46,89,.15);
  border-color:rgba(11,46,89,.24);
}

.feature-card,
.service-card,
.process-step{
  padding:1.75rem;
  background:
    radial-gradient(circle at top right, rgba(11,46,89,.08), transparent 30%),
    linear-gradient(180deg,#fff,#F7FAFD);
}

.feature-card::after,
.service-card::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-75px;
  bottom:-90px;
  border-radius:50%;
  background:rgba(122,15,26,.08);
  transition:.25s ease;
}

.feature-card:hover::after,
.service-card:hover::after{
  transform:scale(1.4);
}

.icon,
.icon-badge,
.feature-icon,
.command-icon,
.step-number{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(122,15,26,.14),rgba(11,46,89,.14));
  color:var(--red);
  box-shadow:inset 0 0 0 1px rgba(11,46,89,.08);
}

.command-icon,
.step-number{
  color:#fff;
  background:linear-gradient(135deg,var(--blue),var(--red));
  box-shadow:0 16px 34px rgba(11,46,89,.18);
}

.step-number{
  border-radius:50%;
  font-weight:950;
}

.hero-panel{
  padding:1.2rem;
}

.command-center{
  position:relative;
  padding:1.35rem;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(247,250,253,.98));
}

.command-center::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(11,46,89,.05),transparent);
  transform:translateX(-100%);
  animation:professionalScan 5.8s ease-in-out infinite;
  pointer-events:none;
}

@keyframes professionalScan{
  0%{transform:translateX(-100%)}
  45%,100%{transform:translateX(100%)}
}

.command-top,
.score-row,
.mini-card .mini-head,
.status-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
}

.command-title{
  display:flex;
  align-items:center;
  gap:.7rem;
  font-weight:950;
}

.live-badge{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  border-radius:999px;
  padding:.43rem .7rem;
  background:rgba(25,196,124,.1);
  color:#11754E;
  font-weight:900;
  font-size:.78rem;
  border:1px solid rgba(25,196,124,.22);
}

.live-dot,
.status-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#19C47C;
}

.security-score,
.kpi,
.metric,
.mini-card,
.kpi-pill,
.stat{
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(11,46,89,.11);
  padding:1rem 1.15rem;
  box-shadow:0 12px 30px rgba(11,46,89,.055);
}

.score-number,
.metric strong,
.display-6.fw-bold.m-0.text-brand{
  font-size:clamp(2rem,4vw,3rem);
  line-height:1;
  letter-spacing:-.06em;
  font-weight:950;
  color:var(--blue);
}

.score-number span{
  color:var(--red);
}

.score-label{
  color:var(--muted);
  font-weight:800;
  font-size:.92rem;
}

.score-bar,
.kpi-bar{
  position:relative;
  height:12px;
  border-radius:999px;
  background:rgba(11,46,89,.09);
  overflow:hidden;
}

.score-bar span,
.kpi-bar span{
  position:absolute;
  inset:0 auto 0 0;
  display:block;
  border-radius:999px;
  background:linear-gradient(90deg,var(--blue),var(--red));
}

.mini-grid,
.tech-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.9rem;
}

.wrap{
  max-width:960px;
  margin:0 auto;
}

.event-line{
  margin-top:.9rem;
  border-radius:20px;
  background:rgba(11,46,89,.045);
  border:1px solid rgba(11,46,89,.08);
  padding:.95rem;
  display:flex;
  align-items:center;
  gap:.8rem;
  color:var(--muted);
  font-weight:760;
  font-size:.92rem;
}

.list-check{
  padding-left:0;
  list-style:none;
}

.list-check li{
  margin:.5rem 0;
}

.list-check i,
.bi-check2-circle{
  color:var(--red);
}

.metric-box{
  padding:0;
}

.metric{
  background:transparent;
  border:0;
  box-shadow:none;
  border-left:1px solid rgba(11,46,89,.12);
  border-radius:0;
}

.metric:first-child{
  border-left:0;
}

.callout,
.dell-banner{
  padding:1rem 1.15rem;
  border-left:4px solid var(--red);
  background:#fff7f8;
}

.table-wrap{
  padding:1rem;
}

.table,
.table-clean{
  --bs-table-bg:transparent;
}

.table thead th,
.table-clean th{
  background:rgba(11,46,89,.06);
  color:var(--blue);
  border-bottom:1px solid rgba(11,46,89,.16)!important;
}

.table td,
.table th{
  border-color:rgba(11,46,89,.08)!important;
  vertical-align:middle;
}

.table-responsive{
  border-radius:18px;
}

.news-card{
  background:
    radial-gradient(circle at top right, rgba(11,46,89,.06), transparent 34%),
    linear-gradient(180deg,#fff,#F7FAFD);
}

.news-hero,
.focus-hero{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  background:#eef4fa;
}

.news-title,
.focus-title{
  color:var(--blue);
}

.news-meta{
  color:var(--muted);
  font-size:.92rem;
}

.news-content a{
  color:var(--brand)!important;
  text-decoration:underline;
}

.news-content a:hover,
.news-content a:focus{
  color:var(--brand-600)!important;
  text-decoration:none;
}

.pagination .page-link{
  color:var(--brand);
  border-color:rgba(11,46,89,.12);
}

.pagination .page-item.active .page-link{
  background:var(--brand);
  border-color:var(--brand);
  color:#fff;
}

.pagination .page-link:hover{
  background:#fff4f6;
  color:var(--brand-600);
  border-color:var(--brand-600);
}

.focus-wrap{
  position:fixed;
  inset:0;
  z-index:1055;
  overflow:auto;
  padding:96px 20px 32px;
}

.focus-card{
  max-width:960px;
  margin:0 auto;
  overflow:hidden;
}

.focus-body,
.news-content{
  padding:1.4rem;
}

.focus-backdrop{
  position:fixed;
  inset:0;
  background:rgba(11,46,89,.46);
  z-index:1054;
  backdrop-filter:blur(10px);
}

.focus-close{
  position:fixed;
  top:18px;
  right:18px;
  z-index:1056;
}

.sidebar{
  position:sticky;
  top:96px;
}

.page-title{
  padding:120px 0 56px;
}

.stroke-card,
.rese-card{
  padding:1.4rem;
}

.toc{
  position:sticky;
  top:94px;
  padding:1rem;
}

.toc a{
  color:var(--muted);
}

.toc a:hover,
.toc a.active{
  color:var(--brand);
}

.link-bordeaux{
  color:var(--brand);
}

.link-bordeaux:hover{
  color:var(--brand-600);
}

.topbar{
  background:linear-gradient(90deg, rgba(11,46,89,.09), rgba(122,15,26,.05));
  border-bottom:1px solid var(--line);
}

.topbar .crumb{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:.9rem;
}

.topbar .crumb a{
  color:var(--brand);
  font-weight:700;
}

.topbar .crumb a:hover{
  color:var(--brand-600);
}

.topbar .sep{
  color:rgba(11,46,89,.35);
}

.brand{
  color:var(--brand);
}

.brand-pill{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.45rem .82rem;
  border-radius:999px;
  background:rgba(122,15,26,.15);
  border:1px solid rgba(122,15,26,.26);
  color:var(--brand);
  font-weight:700;
}

.dropzone{
  border:2px dashed rgba(122,15,26,.26);
  border-radius:22px;
  padding:24px;
  background:rgba(122,15,26,.04);
}

.badge-on,
.badge-off{
  display:inline-flex;
  align-items:center;
  gap:.75rem;
  border-radius:999px;
  padding:.6rem .95rem;
  border:1px solid rgba(11,46,89,.12);
  background:#fff;
  box-shadow:0 12px 28px rgba(11,46,89,.08);
}

.badge-on{
  background:linear-gradient(180deg,#eaf8f0,#fff);
  color:#0b6a45;
}

.badge-off{
  background:linear-gradient(180deg,#fff4d6,#fff1c2);
  color:var(--text);
}

.bo-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(122,15,26,.1);
}

.bo-mail{
  font-weight:700;
}

.u-chip{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.28rem .62rem;
  border-radius:999px;
  background:rgba(11,46,89,.08);
  color:var(--blue);
  font-size:.8rem;
  font-weight:800;
}

.sticky-actions{
  position:sticky;
  bottom:0;
  z-index:1030;
  background:rgba(255,255,255,.92);
  border-top:1px solid var(--line);
  backdrop-filter:blur(12px);
}

.app-container{
  max-width:1140px;
}

.result-banner{
  border-radius:20px;
  padding:18px;
  display:flex;
  align-items:center;
  gap:14px;
  border:1px solid;
}

.result-ok{background:#eaf6ee;border-color:rgba(25,135,84,.35)}
.result-warn{background:#fff6d9;border-color:rgba(255,193,7,.45)}
.result-bad{background:#fdecee;border-color:rgba(220,53,69,.4)}

.result-icon{
  font-size:1.6rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:50%;
}

.result-ok .result-icon{background:#DBF0E3;color:var(--ok)}
.result-warn .result-icon{background:#FFF0BF;color:#946200}
.result-bad .result-icon{background:#FBD0D6;color:var(--bad)}

.result-title{
  margin:0;
  font-weight:800;
  letter-spacing:.2px;
}

.pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.pill i{
  margin-right:6px;
}

.terminal{
  padding:1rem;
  font-family:ui-monospace,Menlo,Consolas,monospace;
  color:#ffdcdc;
  background:#160d17;
}

.terminal pre{
  white-space:pre-wrap;
  word-break:break-word;
  margin:0;
}

.footer,
footer{
  border-top:1px solid var(--line);
  padding:34px 0;
  color:var(--muted);
  background:#F7FAFD;
}

.footer a{
  color:inherit;
}

#toTop{
  position:fixed;
  right:16px;
  bottom:16px;
  width:48px;
  height:48px;
  border-radius:50%;
  display:none;
  place-items:center;
  z-index:1080;
}

.cc-banner{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:1080;
  display:none;
  background:#0b1220;
  color:#f2f6fb;
  border-top:2px solid var(--red);
}

.cc-container{
  max-width:1140px;
  margin:0 auto;
  padding:14px 16px;
  display:flex;
  gap:14px;
  align-items:center;
}

.cc-text{
  font-size:.95rem;
  line-height:1.4;
  flex:1;
}

.cc-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.cc-btn{
  border:1px solid rgba(255,255,255,.18);
  background:transparent;
  color:#f2f6fb;
  border-radius:10px;
  padding:8px 14px;
  font-weight:700;
}

.cc-btn:hover{
  background:#192235;
}

.cc-accept{
  background:linear-gradient(135deg,var(--red),var(--red-2));
  border-color:transparent;
}

.cc-drawer{
  position:fixed;
  right:16px;
  bottom:72px;
  z-index:1081;
  display:none;
  width:min(420px, calc(100% - 32px));
  background:#fff;
  color:var(--text);
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 24px 60px rgba(11,46,89,.2);
}

.cc-drawer header{
  padding:12px 14px;
  border-bottom:1px solid rgba(11,46,89,.08);
  font-weight:800;
}

.cc-drawer .cc-body{
  padding:14px;
}

.cc-drawer .cc-actions{
  padding:10px 14px;
  border-top:1px solid rgba(11,46,89,.08);
  justify-content:flex-end;
}

.banner-backdrop{
  position:fixed;
  inset:0;
  display:flex;
  justify-content:center;
  align-items:center;
  background:rgba(11,46,89,.5);
  z-index:9999;
}

.banner-modal{
  width:min(720px, 92%);
  background:#fff;
  border-radius:24px;
  padding:1.2rem 1.2rem 1.6rem;
  box-shadow:0 30px 80px rgba(11,46,89,.28);
}

.banner-title{
  font-size:1.55rem;
  font-weight:900;
  margin:0 2rem 1rem;
  color:var(--red);
  text-align:center;
}

.banner-text{
  color:var(--text);
  line-height:1.65;
  margin:0 .5rem 1.4rem;
}

.banner-btn{
  display:block;
  margin:0 auto;
  padding:.62rem 1.25rem;
  border-radius:999px;
  background:linear-gradient(135deg,var(--red),var(--red-2));
  border:0;
  color:#fff;
  font-weight:800;
}

.big404{
  font-size:clamp(72px,16vw,160px);
  line-height:.95;
  font-weight:900;
  letter-spacing:-2px;
}

.page{
  min-height:var(--app-vh);
}

.card-navy{
  background:rgba(20,12,17,.76);
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
}

.subtitle{
  font-size:clamp(16px,2.4vw,20px);
}

.grid{
  display:grid;
  gap:1.2rem;
  grid-template-columns:repeat(12,1fr);
}

.col-span-7{grid-column:span 7}
.col-span-5{grid-column:span 5}

.slide-fade{
  animation:slideFade .58s ease both;
}

@keyframes slideFade{
  0%{opacity:0;transform:translateY(16px);filter:blur(8px)}
  100%{opacity:1;transform:translateY(0);filter:blur(0)}
}

.slide-dots{
  display:flex;
  gap:.55rem;
  margin-top:1.4rem;
}

.slide-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  border:0;
  background:rgba(11,46,89,.2);
  padding:0;
}

.slide-dot.active{
  width:34px;
  background:linear-gradient(90deg,var(--red),var(--blue));
}

.glow{
  position:relative;
  padding:1px;
  border-radius:var(--radius);
  background:var(--glow-border);
  box-shadow:var(--shadow-soft);
}

.glow .inner{
  border-radius:calc(var(--radius) - 1px);
  background:rgba(255,255,255,.92);
}

.play-overlay{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  cursor:pointer;
  background:linear-gradient(0deg, rgba(11,46,89,.42), rgba(11,46,89,.18));
}

.play-btn{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  border:none;
  border-radius:999px;
  padding:.9rem 1.2rem;
  font-size:1.08rem;
  font-weight:800;
  color:#fff;
  background:rgba(11,46,89,.6);
  box-shadow:0 8px 30px rgba(11,46,89,.25);
}

.app-sidebar,
.app-topbar,
.app-main,
.app-shell{
  background:transparent;
}

.app-sidebar{
  width:300px;
  flex:0 0 300px;
  padding:18px;
  background:linear-gradient(180deg, rgba(11,46,89,.96), rgba(20,20,34,.98));
  color:#fff;
}

.app-sidebar-inner,
.app-sidebar-footer{
  border-radius:24px;
}

.app-nav-link{
  display:flex;
  align-items:center;
  gap:.65rem;
  color:rgba(255,255,255,.82);
  padding:.75rem .85rem;
  border-radius:14px;
}

.app-nav-link:hover,
.app-nav-link.active{
  color:#fff;
  background:rgba(255,255,255,.08);
}

.app-topbar{
  padding:16px 18px;
  background:rgba(255,255,255,.86);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(16px);
}

.nav-pills.app .nav-link{
  border:1px solid var(--line);
  color:var(--muted);
  border-radius:999px;
  background:#fff;
  font-weight:800;
}

.nav-pills.app .nav-link.active{
  background:linear-gradient(180deg,var(--brand),var(--brand-700));
  color:#fff;
  border-color:transparent;
}

.faq-wrap .accordion-item{
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  margin-bottom:12px;
  background:#fff;
}

.faq-wrap .accordion-button{
  background:#fff;
  color:var(--text);
  font-weight:800;
  box-shadow:none;
}

.faq-wrap .accordion-button:not(.collapsed){
  background:#fff5f6;
  color:var(--brand);
}

.faq-wrap .accordion-body{
  color:var(--muted);
}

.shadow-soft{
  box-shadow:var(--shadow-soft)!important;
}

.dacos-global-nav{
  z-index:1080;
}

.dacos-global-nav .navbar-brand img{
  height:38px;
}

.dacos-global-nav .navbar-nav{
  gap:.2rem;
}

.dacos-global-nav .nav-link{
  padding:.72rem .88rem!important;
  border-radius:999px;
}

.dacos-global-nav .nav-link:hover,
.dacos-global-nav .nav-link:focus,
.dacos-global-nav .nav-link.active{
  background:rgba(11,46,89,.06);
}

.dacos-global-nav .btn-brand{
  padding:.78rem 1.2rem;
}

body.dacos-has-global-nav > .hero,
body.dacos-has-global-nav > header.hero,
body.dacos-has-global-nav > .page-title,
body.dacos-has-global-nav > header.page-title{
  padding-top:154px;
}

.faq-shell{
  position:relative;
  padding:2.1rem;
  border:1px solid rgba(11,46,89,.12);
  border-radius:30px;
  background:
    radial-gradient(circle at 8% 10%, rgba(11,46,89,.08), transparent 26%),
    radial-gradient(circle at 92% 12%, rgba(122,15,26,.08), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.97), rgba(246,250,253,.98));
  box-shadow:var(--shadow);
}

.faq-shell-head{
  max-width:760px;
  margin:0 auto;
}

.faq-home .accordion-item,
.faq-home.faq-home--compact .accordion-item{
  border:1px solid rgba(11,46,89,.1);
  border-radius:22px;
  overflow:hidden;
  margin-bottom:14px;
  background:rgba(255,255,255,.96);
  box-shadow:0 12px 32px rgba(11,46,89,.06);
}

.faq-home .accordion-button,
.faq-home.faq-home--compact .accordion-button{
  padding:1.2rem 1.35rem;
  font-size:1.02rem;
  font-weight:850;
  color:var(--blue);
  background:#fff;
  box-shadow:none;
}

.faq-home .accordion-button:not(.collapsed),
.faq-home.faq-home--compact .accordion-button:not(.collapsed){
  color:var(--red);
  background:linear-gradient(180deg, rgba(122,15,26,.06), rgba(255,255,255,.98));
}

.faq-home .accordion-button:focus,
.faq-home.faq-home--compact .accordion-button:focus{
  box-shadow:none;
}

.faq-home .accordion-body,
.faq-home.faq-home--compact .accordion-body{
  padding:0 1.35rem 1.3rem;
  color:var(--muted);
  line-height:1.72;
}

.faq-note{
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1.2rem 1.3rem;
  border-radius:24px;
  border:1px solid rgba(11,46,89,.12);
  background:linear-gradient(135deg, rgba(11,46,89,.05), rgba(122,15,26,.06), #fff);
  box-shadow:0 16px 34px rgba(11,46,89,.07);
}

.faq-note-icon{
  width:52px;
  height:52px;
  flex:0 0 52px;
  display:grid;
  place-items:center;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(135deg, var(--blue), var(--red));
  box-shadow:0 18px 34px rgba(11,46,89,.18);
}

.section-news-home{
  background:
    radial-gradient(circle at 10% 10%, rgba(11,46,89,.07), transparent 25%),
    linear-gradient(180deg, #f7fbff, #fff 58%);
}

.news-grid-home{
  align-items:stretch;
}

.news-empty-state{
  border:1px dashed rgba(11,46,89,.16);
  border-radius:24px;
  background:rgba(255,255,255,.82);
  box-shadow:var(--shadow-soft);
}

.dacos-news-card{
  position:relative;
  display:flex;
  flex-direction:column;
  height:100%;
  padding:1.35rem;
  border-radius:28px;
  border:1px solid rgba(11,46,89,.12);
  background:
    radial-gradient(circle at top right, rgba(11,46,89,.08), transparent 32%),
    linear-gradient(180deg, #fff, #f7fbff);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.dacos-news-card::after{
  content:"";
  position:absolute;
  right:-52px;
  bottom:-64px;
  width:148px;
  height:148px;
  border-radius:50%;
  background:rgba(122,15,26,.08);
  transition:transform .24s ease;
}

.dacos-news-card:hover{
  transform:translateY(-6px);
  border-color:rgba(11,46,89,.24);
  box-shadow:0 30px 78px rgba(11,46,89,.14);
}

.dacos-news-card:hover::after{
  transform:scale(1.25);
}

.dacos-date-chip{
  display:inline-flex;
  align-items:center;
  padding:.42rem .75rem;
  border-radius:999px;
  color:var(--blue);
  background:rgba(11,46,89,.06);
  border:1px solid rgba(11,46,89,.08);
  font-size:.9rem;
  font-weight:800;
}

.news-home-tag{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.42rem .72rem;
  border-radius:999px;
  color:var(--red);
  background:rgba(122,15,26,.08);
  border:1px solid rgba(122,15,26,.12);
  font-size:.78rem;
  font-weight:900;
}

.dacos-news-body{
  position:relative;
  z-index:1;
  flex:1 1 auto;
}

.dacos-news-title{
  font-size:1.15rem;
  line-height:1.24;
}

.dacos-link{
  color:var(--blue)!important;
}

.dacos-link:hover,
.dacos-link:focus{
  color:var(--red)!important;
}

.news-home-link{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  padding-top:1rem;
  margin-top:auto;
  border-top:1px solid rgba(11,46,89,.1);
  color:var(--blue);
  font-weight:850;
}

.home-hero-copy{
  max-width:700px;
  min-height:530px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  transition:opacity .46s cubic-bezier(.22,1,.36,1);
  will-change:opacity;
}

.home-hero-copy h1{
  max-width:680px;
  min-height:3.05em;
}

.home-hero-copy .lead{
  min-height:6.2em;
}

.home-hero-actions .btn{
  min-width:220px;
}

.home-hero-dots{
  align-items:center;
}

.home-hero-panel{
  padding:1rem;
  border-radius:34px;
  box-shadow:0 28px 72px rgba(11,46,89,.12);
  min-height:640px;
}

.home-command-center{
  border-radius:30px;
  min-height:608px;
  transition:opacity .46s cubic-bezier(.22,1,.36,1);
  will-change:opacity;
}

.home-hero-copy.hero-swap-out,
.home-command-center.hero-swap-out{
  opacity:.08;
}

.home-panel-kicker{
  letter-spacing:.12em;
}

.home-panel-badge{
  align-self:flex-start;
  border-radius:999px;
  padding:.58rem .9rem;
}

.home-panel-rows{
  display:grid;
  gap:1rem;
}

.home-metric-row{
  padding-bottom:.2rem;
}

.home-metric-row small{
  min-height:2.7em;
}

.home-metric-row .kpi-bar{
  height:13px;
}

.home-kpi-pill{
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.home-event-line{
  min-height:84px;
}

.play-overlay{
  width:100%;
  border:0;
  padding:0;
}

.play-overlay.hidden{
  display:none;
}

.assist-surface{
  border:1px solid rgba(11,46,89,.12);
  background:#fff;
}

.assist-side{
  min-height:100%;
  color:#fff;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.14), transparent 24%),
    linear-gradient(160deg, var(--blue), var(--blue-2) 56%, var(--red));
}

.assist-side .acc-header{
  min-height:100%;
}

.assist-side h2,
.assist-mobile-head h2{
  color:inherit;
}

.assist-side small{
  color:rgba(255,255,255,.78)!important;
}

.assist-main{
  background:
    radial-gradient(circle at 100% 0%, rgba(122,15,26,.08), transparent 24%),
    linear-gradient(180deg, #fff, #f8fbff);
}

.assist-mobile-head{
  padding:1rem;
  border:1px solid rgba(11,46,89,.1);
  border-radius:22px;
  background:linear-gradient(135deg, rgba(11,46,89,.06), rgba(122,15,26,.06), #fff);
  text-align:center;
}

.assist-mobile-head .icon-badge{
  margin-left:auto;
  margin-right:auto;
}

.assist-phone{
  letter-spacing:-.05em;
  line-height:1;
}

.assist-mini-card{
  height:100%;
  padding:1.1rem;
  border-radius:22px;
  border:1px solid rgba(11,46,89,.1);
  background:rgba(255,255,255,.9);
  box-shadow:0 12px 28px rgba(11,46,89,.06);
}

.contact-card{
  position:relative;
  overflow:hidden;
  border-color:rgba(11,46,89,.12)!important;
  background:
    radial-gradient(circle at top right, rgba(11,46,89,.08), transparent 28%),
    linear-gradient(180deg, #fff, #f8fbff)!important;
}

.contact-card::after{
  content:"";
  position:absolute;
  width:160px;
  height:160px;
  right:-60px;
  bottom:-90px;
  border-radius:50%;
  background:rgba(122,15,26,.08);
}

.contact-card > *{
  position:relative;
  z-index:1;
}

.page-assistenza .assist-page-shell,
.page-attacchi .threats-page-shell{
  max-width:1180px;
}

.page-assistenza .assist-section-head{
  max-width:680px;
}

.page-assistenza .assist-kicker{
  color:var(--red);
  font-size:.9rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.page-assistenza .btn-primary,
.page-assistenza .btn-ghost-bordeaux,
.page-assistenza .btn-outline-bordeaux{
  min-height:52px;
  padding:.85rem 1.05rem;
  border-radius:14px;
  font-weight:800;
  box-shadow:none;
}

.page-assistenza .btn-primary{
  background:var(--red);
  border-color:var(--red);
}

.page-assistenza .btn-primary:hover,
.page-assistenza .btn-primary:focus{
  background:var(--brand-700);
  border-color:var(--brand-700);
}

.page-assistenza .btn-ghost-bordeaux,
.page-assistenza .btn-outline-bordeaux{
  background:#fff;
  color:var(--blue);
  border:1px solid rgba(11,46,89,.14);
}

.page-assistenza .btn-ghost-bordeaux:hover,
.page-assistenza .btn-ghost-bordeaux:focus,
.page-assistenza .btn-outline-bordeaux:hover,
.page-assistenza .btn-outline-bordeaux:focus{
  background:#f8fbff;
  color:var(--red);
  border-color:rgba(122,15,26,.2);
}

.page-assistenza .assist-hero{
  padding:2.1rem 2rem 1.35rem;
  border-radius:28px;
  background:
    radial-gradient(circle at 0% 0%, rgba(11,46,89,.05), transparent 20%),
    linear-gradient(180deg, #fff, #f8fbff);
  border:1px solid rgba(11,46,89,.08);
  box-shadow:0 18px 42px rgba(11,46,89,.06);
}

.page-assistenza .assist-hero h1{
  font-size:clamp(2.6rem, 5vw, 4rem);
  line-height:.96;
  letter-spacing:-.06em;
  max-width:500px;
}

.page-assistenza .assist-hero-copy{
  max-width:600px;
  font-size:clamp(1rem, 1.15vw, 1.18rem);
  line-height:1.58;
}

.page-assistenza .assist-hero-actions{
  margin-top:1.25rem;
}

.page-assistenza .assist-inline-note{
  color:var(--muted);
  font-size:.96rem;
}

.page-assistenza .assist-inline-note a{
  color:var(--blue);
  font-weight:700;
}

.page-assistenza .assist-hero-lower{
  padding-top:1rem;
  margin-top:1.1rem;
  border-top:1px solid rgba(11,46,89,.08);
}

.page-assistenza .badge-on,
.page-assistenza .badge-off{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  padding:.72rem .95rem;
  border-radius:16px;
  border-color:rgba(11,46,89,.1);
}

.page-assistenza .badge-on{
  background:linear-gradient(180deg, rgba(31,157,99,.14), rgba(255,255,255,.98));
  color:#136f48;
}

.page-assistenza .bo-icon{
  width:36px;
  height:36px;
  border-radius:12px;
  background:#fff;
  color:var(--red);
  box-shadow:0 8px 16px rgba(11,46,89,.06);
}

.page-assistenza .assist-kpi-row{
  --bs-gutter-x:1rem;
  --bs-gutter-y:1rem;
}

.page-assistenza .assist-kpi-tile{
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:.5rem;
  padding:.95rem;
  border:1px solid rgba(11,46,89,.08);
  border-radius:18px;
  background:#fff;
  box-shadow:none;
  text-align:left;
  min-height:118px;
}

.page-assistenza .assist-kpi-tile .kpi{
  font-size:clamp(1.7rem, 3vw, 2.2rem);
  line-height:1;
  color:var(--blue);
  letter-spacing:-.06em;
}

.page-assistenza .assist-kpi-tile .muted{
  font-size:.9rem;
  line-height:1.35;
  font-weight:700;
}

.page-assistenza .assist-schedule-card,
.page-assistenza .assist-contact-panel,
.page-assistenza .assist-entry-card,
.page-assistenza .assist-process-card,
.page-assistenza .assist-tip-card,
.page-assistenza .assist-utility-card,
.page-assistenza .assist-bottom-cta{
  border-radius:22px;
  border:1px solid rgba(11,46,89,.08);
  background:#fff;
  box-shadow:0 12px 28px rgba(11,46,89,.05);
}

.page-assistenza .assist-contact-head{
  padding-bottom:1rem;
  margin-bottom:1rem;
  border-bottom:1px solid rgba(11,46,89,.08);
}

.page-assistenza .assist-contact-list{
  display:grid;
  gap:.95rem;
}

.page-assistenza .assist-contact-item{
  display:grid;
  gap:.25rem;
}

.page-assistenza .assist-contact-label{
  color:var(--muted);
  font-size:.88rem;
  font-weight:700;
}

.page-assistenza .assist-contact-value{
  color:var(--blue);
  font-size:1rem;
  line-height:1.45;
  font-weight:800;
}

.page-assistenza .assist-reopen-note{
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid rgba(11,46,89,.08);
  color:var(--muted);
  font-size:.95rem;
}

.page-assistenza .assist-health{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem 1rem;
}

.page-assistenza .assist-health .badge{
  border-radius:999px;
  padding:.38rem .62rem;
}

.page-assistenza .assist-entry-card,
.page-assistenza .assist-utility-card{
  overflow:hidden;
}

.page-assistenza .assist-faq-wrap{
  padding:1.6rem;
  border-radius:22px;
  border:1px solid rgba(11,46,89,.08);
  background:#fff;
  box-shadow:0 12px 28px rgba(11,46,89,.05);
}

.page-assistenza .assist-bottom-cta{
  padding:1.6rem;
}

.page-assistenza pre{
  border-radius:18px!important;
  border-color:rgba(11,46,89,.1)!important;
  background:#f8fbff!important;
}

.page-attacchi #pageLoader{
  background:rgba(255,255,255,.9);
}

.page-attacchi .threats-topline{
  display:flex;
  justify-content:flex-start;
}

.page-attacchi .threats-hero{
  padding:3rem 2rem;
  border-radius:34px;
  background:
    linear-gradient(rgba(11,46,89,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11,46,89,.045) 1px, transparent 1px),
    radial-gradient(circle at 8% 10%, rgba(11,46,89,.09), transparent 28%),
    radial-gradient(circle at 92% 8%, rgba(122,15,26,.11), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,249,253,.98));
  background-size:74px 74px, 74px 74px, auto, auto, auto;
}

.page-attacchi .threats-hero h1{
  font-size:clamp(2.8rem, 6vw, 4.8rem);
  line-height:.94;
  letter-spacing:-.07em;
  max-width:720px;
}

.page-attacchi .threats-kpi-row{
  --bs-gutter-x:1rem;
}

.page-attacchi .threats-alert-shell{
  padding:1.7rem;
  border-radius:32px;
  border:1px solid rgba(11,46,89,.11);
  background:
    linear-gradient(rgba(11,46,89,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11,46,89,.04) 1px, transparent 1px),
    radial-gradient(circle at 10% 12%, rgba(11,46,89,.08), transparent 26%),
    radial-gradient(circle at 88% 12%, rgba(122,15,26,.1), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(245,249,253,.99));
  background-size:62px 62px, 62px 62px, auto, auto, auto;
  box-shadow:0 20px 48px rgba(11,46,89,.08);
}

.page-attacchi .threats-mini-stat{
  height:100%;
  padding:1rem;
  border-radius:22px;
  border:1px solid rgba(11,46,89,.1);
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 28px rgba(11,46,89,.05);
}

.page-attacchi .threats-mini-stat strong{
  display:block;
  margin-bottom:.3rem;
  font-size:clamp(1.1rem, 2vw, 1.5rem);
  line-height:1.1;
  color:var(--blue);
  letter-spacing:-.04em;
}

.page-attacchi .threats-mini-stat span{
  color:var(--muted);
  font-size:.88rem;
  font-weight:700;
}

.page-attacchi .threats-mini-note{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  padding:1rem 1.05rem;
  border-radius:22px;
  border:1px solid rgba(122,15,26,.14);
  background:#fff7f8;
  color:var(--blue);
  font-weight:700;
}

.page-attacchi .threats-mini-note i{
  color:var(--red);
  margin-top:.05rem;
}

.page-attacchi .threats-checklist{
  display:grid;
  gap:.8rem;
  max-width:720px;
}

.page-attacchi .threats-check-item,
.page-attacchi .threats-filter-note{
  display:flex;
  align-items:flex-start;
  gap:.7rem;
  color:var(--muted);
}

.page-attacchi .threats-check-item i,
.page-attacchi .threats-filter-note i{
  margin-top:.08rem;
  color:var(--red);
}

.page-attacchi .threats-kpi-tile{
  height:100%;
  display:flex;
  flex-direction:column;
  gap:.35rem;
  padding:1.1rem 1rem;
  border-radius:22px;
  border:1px solid rgba(11,46,89,.1);
  background:rgba(255,255,255,.9);
  box-shadow:0 12px 28px rgba(11,46,89,.06);
}

.page-attacchi .threats-kpi-tile strong{
  font-size:clamp(1.5rem, 3vw, 2rem);
  line-height:1;
  color:var(--blue);
  letter-spacing:-.04em;
}

.page-attacchi .threats-kpi-tile span{
  color:var(--muted);
  font-size:.92rem;
  font-weight:700;
}

.page-attacchi .threats-filter-card,
.page-attacchi .threats-table-card,
.page-attacchi .threats-sources-card,
.page-attacchi .threats-cta-card,
.page-attacchi .threats-focus-card{
  border-radius:28px;
  border-color:rgba(11,46,89,.11);
  background:
    radial-gradient(circle at top right, rgba(11,46,89,.07), transparent 30%),
    linear-gradient(180deg, #fff, #f8fbff);
}

.page-attacchi .threats-filter-card{
  box-shadow:0 22px 52px rgba(11,46,89,.1);
}

.page-attacchi .threats-filter-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.55rem .9rem;
  border-radius:999px;
  border:1px solid rgba(122,15,26,.18);
  background:#fff;
  color:var(--red);
  font-size:.84rem;
  font-weight:850;
  white-space:nowrap;
}

.page-attacchi .threats-filter-notes{
  display:grid;
  gap:.7rem;
  padding-top:1rem;
  margin-top:1rem;
  border-top:1px solid rgba(11,46,89,.08);
}

.page-attacchi .threats-table-card .table-responsive{
  border-radius:22px;
  overflow:hidden;
}

.page-attacchi .threats-table{
  margin-bottom:0;
}

.page-attacchi .threats-table thead th{
  background:rgba(11,46,89,.06)!important;
  color:var(--blue);
  font-weight:850;
}

.page-attacchi .threats-table tbody tr{
  transition:background .18s ease, transform .18s ease;
}

.page-attacchi .threats-table tbody tr:hover{
  background:rgba(11,46,89,.025);
}

.page-attacchi .note-tradotta,
.page-attacchi .note-originale{
  font-size:.98rem;
}

.page-attacchi .toggle-note{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.3rem 0;
  text-decoration:none;
}

.page-attacchi .btn-outline-secondary{
  border-color:rgba(11,46,89,.12);
  color:var(--blue);
  background:#fff;
  box-shadow:0 12px 24px rgba(11,46,89,.06);
}

.page-attacchi .btn-outline-secondary:hover,
.page-attacchi .btn-outline-secondary:focus{
  border-color:rgba(122,15,26,.24);
  color:var(--red);
  background:#fff4f6;
}

.page-attacchi .alert{
  border-radius:18px;
  border:1px solid rgba(11,46,89,.1);
}

.page-attacchi .threats-focus-card{
  position:relative;
  overflow:hidden;
  height:100%;
  padding:1.45rem;
  box-shadow:0 16px 36px rgba(11,46,89,.08);
}

.page-attacchi .threats-focus-card::after{
  content:"";
  position:absolute;
  width:160px;
  height:160px;
  right:-54px;
  bottom:-86px;
  border-radius:50%;
  background:rgba(122,15,26,.08);
}

.page-attacchi .threats-focus-card > *{
  position:relative;
  z-index:1;
}

.page-attacchi .threats-focus-card--accent{
  background:
    radial-gradient(circle at top right, rgba(122,15,26,.12), transparent 34%),
    linear-gradient(180deg, #fff, #fff6f8);
}

.page-attacchi .threats-focus-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  margin-bottom:1rem;
  border-radius:18px;
  background:linear-gradient(135deg, rgba(11,46,89,.12), rgba(122,15,26,.15));
  color:var(--red);
  font-size:1.35rem;
  box-shadow:inset 0 0 0 1px rgba(11,46,89,.08);
}

.page-attacchi .threats-cta-card{
  padding:1.6rem;
  box-shadow:0 24px 60px rgba(11,46,89,.1);
}

.page-hw .kpi-panel aside{
  animation:none!important;
}

.page-hw .hw-faq-stack{
  display:grid;
  gap:1rem;
}

.page-hw .hw-scenario-card{
  position:relative;
  overflow:hidden;
  padding:1.45rem;
  border-radius:28px;
  border:1px solid rgba(11,46,89,.1);
  background:
    radial-gradient(circle at top right, rgba(11,46,89,.08), transparent 30%),
    linear-gradient(180deg, #fff, #f8fbff);
  box-shadow:0 16px 38px rgba(11,46,89,.07);
}

.page-hw .hw-scenario-card::after{
  content:"";
  position:absolute;
  right:-56px;
  bottom:-84px;
  width:160px;
  height:160px;
  border-radius:50%;
  background:rgba(122,15,26,.08);
}

.page-hw .hw-scenario-card > *{
  position:relative;
  z-index:1;
}

.page-hw .hw-scenario-card--alert{
  background:
    radial-gradient(circle at top right, rgba(122,15,26,.12), transparent 34%),
    linear-gradient(180deg, #fff, #fff7f8);
}

.page-hw .hw-scenario-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}

.page-hw .hw-scenario-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.5rem .8rem;
  border-radius:999px;
  border:1px solid rgba(122,15,26,.16);
  background:#fff;
  color:var(--red);
  font-size:.82rem;
  font-weight:850;
}

.page-hw .hw-scenario-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(11,46,89,.12), rgba(122,15,26,.14));
  color:var(--red);
  font-size:1.2rem;
}

.page-hw .hw-scenario-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.85rem;
}

.page-hw .hw-scenario-pill{
  display:flex;
  flex-direction:column;
  gap:.15rem;
  padding:.9rem 1rem;
  border-radius:18px;
  border:1px solid rgba(11,46,89,.09);
  background:rgba(255,255,255,.92);
}

.page-hw .hw-scenario-pill strong{
  color:var(--blue);
  font-size:.98rem;
}

.page-hw .hw-scenario-pill span{
  color:var(--muted);
  font-size:.84rem;
}

.page-hw .hw-final-cta{
  background:
    radial-gradient(circle at 0% 0%, rgba(255,255,255,.12), transparent 22%),
    radial-gradient(circle at 100% 0%, rgba(255,255,255,.1), transparent 18%),
    linear-gradient(135deg, var(--red), var(--brand-700));
}

.page-hw .hw-final-cta-panel{
  padding:1.35rem;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  box-shadow:0 18px 40px rgba(0,0,0,.12);
}

.page-hw .hw-final-cta-points{
  display:grid;
  gap:.55rem;
  margin-bottom:1rem;
}

.page-hw .hw-final-cta-points span{
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  color:rgba(255,255,255,.94);
  font-weight:600;
}

.page-hw .hw-final-cta-points i{
  margin-top:.1rem;
}

.page-hw .terminal-dacos,
.page-hw .feature-card,
.page-hw .kpi-panel aside,
.page-hw .kpi-bar span{
  transition:none!important;
}

.page-hw .terminal-dacos-body{
  height:180px!important;
  min-height:180px!important;
}

.page-hw .feature-card:hover{
  transform:none;
  box-shadow:var(--shadow-soft);
}

.page-hw .terminal-cursor{
  display:none!important;
}

.sticky-cta{
  position:sticky;
  bottom:0;
  z-index:1030;
  border-top:1px solid var(--line);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
}

.anchor-offset{
  scroll-margin-top:90px;
}

.scanline::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  mix-blend-mode:soft-light;
  background:repeating-linear-gradient(0deg, rgba(255,255,255,.05) 0 1px, transparent 1px 3px);
  animation:scan 7s linear infinite;
}

@keyframes scan{
  0%{background-position:0 -200vh}
  100%{background-position:0 200vh}
}

.big404-wrap{
  position:relative;
  display:inline-block;
}

.orbit{
  position:absolute;
  top:.1em;
  left:100%;
  margin-left:.18em;
  width:1.35em;
  height:1.35em;
  border:1.5px dashed rgba(255,255,255,.35);
  border-radius:50%;
  transform-origin:50% 50%;
  animation:spin 6s linear infinite;
}

.orbit::after{
  content:"";
  position:absolute;
  top:-.18em;
  left:50%;
  transform:translateX(-50%);
  width:.32em;
  height:.32em;
  background:var(--brand);
  border-radius:50%;
}

.divider,
hr.soft,
hr.fancy,
hr.glow,
hr.bianco,
hr.grigio{
  border:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(11,46,89,.16),transparent);
  opacity:1;
}

.ticker{
  position:relative;
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, rgba(122,15,26,.03), rgba(11,46,89,.03));
}

.ticker-track{
  display:flex;
  gap:28px;
  white-space:nowrap;
  animation:marquee 18s linear infinite;
  padding:10px 0;
}

@keyframes marquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

.flowlines{
  position:relative;
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#fff 0%,#f6f8fc 100%);
}

.fl-grid{
  --g:24px;
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.35;
  background:
    repeating-linear-gradient(to right, rgba(11,46,89,.08) 0 1px, transparent 1px var(--g)),
    repeating-linear-gradient(to bottom, rgba(11,46,89,.06) 0 1px, transparent 1px var(--g));
}

.feature-chip{
  position:absolute;
  right:12px;
  top:12px;
  font-size:.75rem;
  font-weight:700;
  color:var(--brand-700);
  background:rgba(122,15,26,.08);
  border:1px solid rgba(122,15,26,.18);
  border-radius:999px;
  padding:.25rem .55rem;
}

.feature-title{
  font-weight:800;
  margin:0 0 .3rem 0;
  letter-spacing:.2px;
}

.tech-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:var(--shadow-soft);
  padding:1rem 1rem .9rem;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.tech-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow);
  border-color:rgba(122,15,26,.2);
}

.tag-list{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}

.tag.hot{
  border-color:rgba(122,15,26,.28);
  background:rgba(122,15,26,.06);
  color:var(--brand-700);
}

.icon-chip{
  width:46px;
  height:46px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,rgba(11,46,89,.14),rgba(122,15,26,.16));
  color:var(--brand);
  box-shadow:var(--shadow-mini);
}

.step-num{
  flex:0 0 38px;
  height:38px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-weight:800;
  color:#fff;
  background:var(--brand);
  box-shadow:0 6px 14px rgba(122,15,26,.18);
}

.bo-text{
  display:inline-flex;
  align-items:center;
}

.num{
  font-weight:900;
  font-size:1.7rem;
  line-height:1;
  color:var(--brand-700);
}

.lab{
  color:var(--muted);
  font-size:.92rem;
}

.cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}

.cta-row .btn{
  flex:1 1 260px;
}

.soft-hr{
  border:0;
  border-top:1px dashed rgba(11,46,89,.14);
}

.faq-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow-soft);
}

.flow-wrap{
  position:relative;
  max-width:980px;
  margin:auto;
}

svg.flow-circ{
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 10px 24px rgba(11,46,89,.06));
}

.metrics-grid{
  gap:12px;
}

.metodo-wrap{
  position:relative;
}

.spinner{
  width:42px;
  height:42px;
  border-radius:50%;
  border:6px solid #e5e7eb;
  border-top-color:var(--brand);
  animation:spin 1s linear infinite;
}

.chart-wrap{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:1rem;
}

.note-tradotta,
.note-originale{
  line-height:1.65;
}

.note-originale{
  display:none;
}

.toggle-note{
  font-weight:800;
}

.big-time{
  font-size:1rem;
  font-weight:800;
}

.print-header,
.ph-row,
.ph-logo,
.ph-title,
.ph-sub,
.ph-contacts,
.mobile-cta{
  display:none;
}

.hero-title{
  max-width:980px;
}

.label-short{
  display:none;
}

.terminal-dacos,
.terminal-dacos-body{
  background:#160d17;
  color:#ffdcdc;
  border-radius:16px;
}

#pageLoader{
  position:fixed;
  inset:0;
  z-index:2000;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(10px);
  transition:opacity .25s ease;
}

#pageLoader.hidden{
  opacity:0;
  pointer-events:none;
}

.terminal-dacos-header{
  display:flex;
  align-items:center;
  gap:.45rem;
}

.terminal-prompt{
  color:#fff;
  font-weight:800;
}

.term-dot,
.dot-red,
.dot-amber,
.dot-green{
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block;
}

.dot-red{background:#ef4444}
.dot-amber{background:#f59e0b}
.dot-green{background:#22c55e}

.terminal-ok{color:#22c55e}
.terminal-warn{color:#f59e0b}
.terminal-err{color:#ef4444}

.partner-card{
  background:#f7fbff;
  border:1px solid rgba(122,15,26,.22);
  border-radius:20px;
  padding:1.25rem;
}

.rounded-2xl{border-radius:20px}
.rounded-3xl{border-radius:28px}

.ok{background:#22c55e}
.warn{background:#f59e0b}
.err{background:#ef4444}

.layer-item{
  position:relative;
  display:flex;
  gap:.9rem;
  padding:1rem 1rem 1rem .25rem;
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:var(--shadow-soft);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.layer-item + .layer-item{
  margin-top:12px;
}

.layer-item:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow);
  border-color:rgba(122,15,26,.2);
}

.layer-rail{
  position:absolute;
  left:26px;
  top:0;
  bottom:0;
  width:2px;
  background:linear-gradient(180deg, rgba(11,46,89,.18), rgba(11,46,89,0));
}

.layer-dot{
  flex:0 0 52px;
  height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,var(--blue),var(--red));
  box-shadow:0 8px 18px rgba(11,46,89,.22);
}

.layer-body p,
.feature-text,
.step-desc{
  color:var(--muted);
  margin:0;
}

.stepper{
  position:relative;
  padding-left:6px;
}

.stepper::before{
  content:"";
  position:absolute;
  left:22px;
  top:4px;
  bottom:6px;
  width:2px;
  background:linear-gradient(180deg, var(--brand) 0%, rgba(122,15,26,.25) 60%, rgba(122,15,26,.08) 100%);
}

.step{
  position:relative;
  display:flex;
  gap:.9rem;
  padding:.85rem 1rem;
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:var(--shadow-soft);
}

.step + .step{
  margin-top:12px;
}

.step:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow);
}

.step-title{
  margin:0;
  font-weight:800;
}

.ring{
  fill:none;
  stroke:url(#strokeGrad);
  stroke-width:1.5;
  opacity:.8;
}

.core{
  fill:#fff;
  stroke:rgba(11,46,89,.12);
  stroke-width:1;
}

.coreText{
  fill:var(--text);
  font-weight:900;
  letter-spacing:.4px;
}

.node{
  fill:#fff;
  stroke:rgba(11,46,89,.18);
  stroke-width:1;
}

.nodeLabel{
  font-size:11px;
  font-weight:700;
  fill:var(--muted);
}

.rotate-slow{animation:spin 36s linear infinite;transform-origin:450px 220px}
.rotate-mid{animation:spin 24s linear infinite reverse;transform-origin:450px 220px}
.rotate-fast{animation:spin 16s linear infinite;transform-origin:450px 220px}

@keyframes spin{
  to{transform:rotate(360deg)}
}

.flow-path{
  fill:none;
  stroke:url(#flowGrad);
  stroke-width:2;
}

.flow-dash{
  stroke-dasharray:14 180;
  animation:dashMove 5.2s linear infinite;
}

.flow-dash2{
  stroke-dasharray:10 140;
  animation:dashMove 4.4s linear infinite reverse;
}

@keyframes dashMove{
  to{stroke-dashoffset:-800}
}

.tech-head{
  display:flex;
  align-items:center;
  gap:.6rem;
  margin-bottom:.65rem;
}

.tech-foot{
  margin-top:.75rem;
  border-top:1px dashed rgba(11,46,89,.12);
  padding-top:.6rem;
  color:var(--muted);
  font-size:.9rem;
}

.visually-hidden-focusable:not(:focus):not(:focus-within){
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.list-quick a{
  display:flex;
  align-items:center;
  gap:.6rem;
  padding:.55rem .8rem;
  border-radius:12px;
  color:inherit;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}

.list-quick a:hover{
  border-color:rgba(122,15,26,.4);
  color:#fff;
  background:rgba(122,15,26,.14);
}

.kbd,
code.inline{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
  padding:.1rem .35rem;
  border-radius:6px;
  color:#ffdcdc;
}

.footer-mini{
  color:#cdb8bf;
  font-size:.92rem;
}

.dot{
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block;
  margin-right:6px;
  opacity:.85;
}

.dot.red{background:#ef4444}
.dot.yellow{background:#facc15}
.dot.green{background:#22c55e}

@media (max-width: 1199px){
  .section{
    padding:74px 0;
  }

  .hero,
  .page-title{
    padding:128px 0 72px;
  }
}

@media (max-width: 991.98px){
  .dacos-global-nav .navbar-collapse{
    margin-top:.85rem;
    padding:1rem;
    border:1px solid rgba(11,46,89,.1);
    border-radius:22px;
    background:rgba(255,255,255,.98);
    box-shadow:var(--shadow-soft);
  }

  .dacos-global-nav .navbar-nav{
    gap:.45rem;
  }

  .dacos-global-nav .nav-link{
    padding:.82rem 1rem!important;
  }

  .hero,
  .page-title{
    padding:118px 0 62px;
  }

  body.dacos-has-global-nav > .hero,
  body.dacos-has-global-nav > header.hero,
  body.dacos-has-global-nav > .page-title,
  body.dacos-has-global-nav > header.page-title{
    padding-top:138px;
  }

  .hero h1,
  .page-title h1,
  .section-title{
    letter-spacing:-.05em;
  }

  .mini-grid,
  .tech-grid{
    grid-template-columns:1fr;
  }

  .metric{
    border-left:0;
    border-top:1px solid rgba(11,46,89,.12);
  }

  .metric:first-child{
    border-top:0;
  }

  .grid{
    grid-template-columns:1fr;
  }

  .col-span-7,
  .col-span-5{
    grid-column:1 / -1;
  }

  .sidebar,
  .toc{
    position:static;
    top:auto;
  }

  .app-shell{
    display:block;
  }

  .app-sidebar{
    width:100%;
    margin-bottom:16px;
  }

  .faq-note{
    flex-wrap:wrap;
  }

  .faq-note .btn{
    width:100%;
  }

  .page-assistenza .app-tabs{
    top:86px;
  }

  .page-assistenza .assist-hero,
  .page-attacchi .threats-hero{
    padding:2rem 1.4rem;
  }

  .home-hero-copy h1,
  .home-hero-copy .lead{
    min-height:auto;
  }

  .home-hero-copy{
    min-height:0;
  }

  .home-hero-panel,
  .home-command-center{
    min-height:0;
  }

  .page-attacchi .threats-cta-card{
    flex-direction:column;
    align-items:flex-start!important;
  }
}

@media (max-width: 767.98px){
  .section{
    padding:60px 0;
  }

  .hero,
  .page-title{
    padding:108px 0 54px;
  }

  .navbar .container,
  .appbar .container{
    min-height:64px;
  }

  .navbar-brand img,
  .brand-logo,
  .appbar img,
  .nav-pro img{
    height:34px;
  }

  body.dacos-has-global-nav > .hero,
  body.dacos-has-global-nav > header.hero,
  body.dacos-has-global-nav > .page-title,
  body.dacos-has-global-nav > header.page-title{
    padding-top:122px;
  }

  .feature-card,
  .service-card,
  .process-step,
  .stroke-card,
  .rese-card,
  .news-card,
  .focus-body,
  .hero-panel{
    padding:1.2rem;
  }

  .command-center{
    padding:1rem;
  }

  .cc-container{
    flex-direction:column;
    align-items:flex-start;
  }

  .label-full{
    display:none;
  }

  .label-short{
    display:inline;
  }

  .faq-shell{
    padding:1.35rem;
    border-radius:24px;
  }

  .faq-home .accordion-button,
  .faq-home.faq-home--compact .accordion-button{
    padding:1rem 1.05rem;
    font-size:.98rem;
  }

  .faq-home .accordion-body,
  .faq-home.faq-home--compact .accordion-body{
    padding:0 1.05rem 1.05rem;
  }

  .faq-note{
    padding:1rem;
  }

  .dacos-news-card{
    padding:1.15rem;
    border-radius:24px;
  }

  .assist-phone{
    font-size:clamp(2rem, 10vw, 2.6rem);
  }

  .page-assistenza .app-tabs{
    top:80px;
    border-radius:22px;
  }

  .page-assistenza .nav-pills.app{
    gap:.5rem;
  }

  .page-assistenza .nav-pills.app .nav-link{
    width:100%;
    justify-content:center;
  }

  .page-assistenza .assist-hero h1,
  .page-attacchi .threats-hero h1{
    font-size:clamp(2.4rem, 12vw, 3.9rem);
  }

  .home-hero-panel{
    border-radius:28px;
  }

  .home-command-center{
    border-radius:24px;
  }

  .home-hero-actions .btn{
    width:100%;
    min-width:0;
  }

  .page-assistenza .assist-kpi-tile,
  .page-attacchi .threats-kpi-tile{
    border-radius:20px;
  }

  .page-assistenza .assist-schedule-card,
  .page-assistenza .assist-contact-panel,
  .page-assistenza .assist-entry-card,
  .page-assistenza .assist-process-card,
  .page-assistenza .assist-tip-card,
  .page-assistenza .assist-utility-card,
  .page-assistenza .assist-bottom-cta,
  .page-attacchi .threats-filter-card,
  .page-attacchi .threats-table-card,
  .page-attacchi .threats-sources-card,
  .page-attacchi .threats-cta-card,
  .page-attacchi .threats-focus-card,
  .page-attacchi .threats-alert-shell,
  .page-hw .hw-scenario-card,
  .page-hw .hw-final-cta-panel{
    border-radius:24px;
  }
}

@media (max-width: 575.98px){
  body{
    background:
      radial-gradient(circle at 10% 10%, rgba(11,46,89,.06), transparent 20%),
      linear-gradient(180deg,#fff,#f8fbff 60%,#fff);
  }

  .hero h1,
  .page-title h1,
  .section-title{
    font-size:clamp(2rem,11vw,3rem);
  }

  .hero .lead{
    font-size:1rem;
  }

  .btn-brand,
  .btn-dacos,
  .btn-d,
  .btn-soft,
  .btn-ghost,
  .btn-outline-brand,
  .btn-outline-dacos{
    width:100%;
    justify-content:center;
  }

  .banner-title{
    font-size:1.3rem;
    margin:0 1rem .9rem;
  }

  .cc-drawer{
    right:12px;
    left:12px;
    width:auto;
  }

  .dacos-global-nav .navbar-brand img{
    height:32px;
  }

  .assist-mini-card,
  .contact-card{
    padding:1rem;
  }

  .news-home-tag,
  .dacos-date-chip{
    font-size:.75rem;
  }

  .page-assistenza .assist-hero,
  .page-attacchi .threats-hero{
    padding:1.45rem 1rem;
    border-radius:22px;
  }

  .page-assistenza .assist-hero-lower{
    margin-top:.9rem;
    padding-top:.9rem;
  }

  .home-panel-badge{
    margin-top:.15rem;
  }

  .home-event-line{
    min-height:auto;
  }

  .page-assistenza .assist-faq-wrap{
    padding:1rem;
    border-radius:22px;
  }

  .page-attacchi .chart-wrap{
    padding:.7rem;
  }

  .page-attacchi .threats-filter-chip{
    white-space:normal;
    text-align:center;
  }

  .page-hw .hw-scenario-meta{
    grid-template-columns:1fr;
  }
}

@media (min-width: 576px){
  .label-full{
    display:inline;
  }

  .label-short{
    display:none;
  }
}

@media print{
  .no-print,
  .cc-banner,
  .cc-drawer,
  .sticky-actions,
  #toTop{
    display:none!important;
  }

  body{
    background:#fff!important;
  }

  .scanline::before{
    display:none;
  }
}
