/* ===========================
   VARIABILI & BASE
   =========================== */

:root {
  --brand: #0d3b66;
  --brand-2: #3b82f6;
  --accent: #00b894;
  --text: #0f172a;
  --muted: #475569;
  --bg-soft: #f8fafc;
  --radius: 12px;
}

html {
  scroll-behavior: smooth;
}

/* Override Font Awesome 4.7 per aggiungere font-display: swap */
@font-face {
  font-family: 'FontAwesome';
  src: url('../lib/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

body {
  font-family: Inter, "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  margin: 0;
}

/* Titoli */
h1, h2, h3, h4 {
  font-family: Poppins, Raleway, Inter, sans-serif;
}

/* Paragrafi giustificati nel contenuto principale */
main p {
  text-align: justify;
}

/* Link generici */
a {
  color: var(--brand);
  text-decoration: none;
}
a:hover {
  color: var(--brand-2);
  text-decoration: underline;
}

/* Utilità accessibilità */
.visually-hidden-focusable {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.visually-hidden-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  padding: .5rem 1rem;
  background: #000;
  color: #fff;
  z-index: 9999;
}

/* (Opzionale) Preloader – se non lo usi puoi nascondere via display:none */
#preloader {
  display: none;
}

/* ===========================
   HEADER & NAVBAR
   =========================== */

.header-area {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.navbar {
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
}

/* Brand */
.navbar-brand h2 {
  font-weight: 800;
  letter-spacing: .5px;
  font-size: 1.6rem;
  margin: 0;
  color: #fff;
}
.navbar-brand h2 span {
  color: #3EC1D5;
}

/* Link menu */
.main-menu .nav-link {
  color: #fff;
  font-size: 0.95rem;
  font-weight: 500;
  padding: 1.1rem 0.9rem;
  white-space: nowrap;
}
.main-menu .nav-link:hover,
.main-menu .nav-link:focus {
  color: #3EC1D5;
}

/* Dropdown standard Bootstrap 5 ma con qualche ritocco */
.navbar .dropdown-menu {
  border-radius: var(--radius);
  border: 0;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45);
  padding: 0.4rem 0;
  background: rgba(0, 0, 0, 0.85); /* nero con trasparenza */
  min-width: 230px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.navbar .dropdown-menu .dropdown-item {
  color: #fff;
  font-size: 0.95rem;
  padding: 0.35rem 1.3rem;
}
.navbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item:focus {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

/* Icona hamburger chiara */
.navbar-dark .navbar-toggler {
  border-color: rgba(255, 255, 255, 0.6);
}
.navbar-dark .navbar-toggler-icon {
  filter: invert(1);
}

/* Offset per il contenuto sotto header fisso */
.hero-modern,
.content-main-wrapper,
.section-hp-home,
.suscribe-area,
.footer-area {
  /* 72px circa altezza navbar */
  scroll-margin-top: 80px;
}


/* Offset contenuto SOLO per i tool con navbar fixed */
body.has-fixed-navbar.tool-layout {
  padding-top: 80px; /* valore base */
}

/* Mobile: navbar spesso più alta */
@media (max-width: 767.98px) {
  body.has-fixed-navbar.tool-layout {
    padding-top: 96px;
  }
}



/* ===========================
   HERO
   =========================== */

.hero-modern {
  position: relative;
  width: 100%;
  min-height: 420px;
  padding: 130px 0 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  background-color: #000; /* sfondo scuro di base per evitare flash bianco */
}

.hero-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-repeat: repeat;
  background-size: 125%;
}

.hero-bg img,
.hero-bg source {
  display: none;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .00);
  z-index: 2;
}

.hero-content {
  position: relative;
  z-index: 3;
  color: #fff;
}

.hero-content h1 {
  font-size: 2.7rem;
  font-weight: 800;
  margin-bottom: 0.5rem;
  text-shadow: 0 3px 12px rgba(0, 0, 0, .4);

  /* Animazione leggera */
  opacity: 0;
  transform: translateY(10px);
  animation: heroTitleIn 0.8s ease-out 0.1s forwards;
}

.hero-content h2 {
  font-size: 1.8rem;
  font-weight: 500;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .35);

  /* Animazione leggermente ritardata */
  opacity: 0;
  transform: translateY(10px);
  animation: heroSubtitleIn 0.9s ease-out 0.25s forwards;
}

/* ===========================
   BLOCCHI CENTRALI
   =========================== */

@keyframes heroTitleIn {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes heroSubtitleIn {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.content-main-wrapper {
  background-color: #ffffff;
}

.section-headline h2 {
  font-weight: 800;
  margin-bottom: 0.5rem;
}
.section-headline h3 {
  color: var(--muted);
  font-weight: 500;
}

/* Box testuali / immagini */
.single-well {
  background-color: #ffffff;
}

/* Linea nera decorativa solo sotto H2 principali (dopo hero) */
.section-headline h2::after {
  content: "";
  display: block;
  width: 320px;       /* lunghezza linea */
  height: 3px;
  background: #000;   /* nero elegante */
  margin: 20px auto 0;
  opacity: 0.85;
}

/* Spazio maggiore tra colonna sinistra e destra */
.content-main-wrapper .row {
  --bs-gutter-x: 3rem; /* aumenta lo spazio orizzontale */
}

/* Immagini morbide */
.single-well img {
  border-radius: 10px;
  max-width: 100%;
  height: auto;
}

/* Allinea verticalmente l'immagine della colonna sx al titolo della colonna dx */
.single-well > .mb-4:first-child {
  margin-top: 0.5rem;
}


/* Ricerca nel sito: bottone + input */
.search-btn-body {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
  font-weight: 600;
  text-transform: none;
}
.search-btn-body:hover {
  background: var(--brand-2);
  border-color: var(--brand-2);
}

/* Card colonna sinistra */
.sidebar-card {
  background-color: #ffffff;
  border-radius: 1.25rem;
  border: 1px solid #e5e7eb;
  padding: 1.5rem 1.5rem;
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.06);
}

.sidebar-image {
  border-radius: 1rem;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
  display: block;
  width: 100%;
  height: auto;
}

.sidebar-title {
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
  color: #0d3b66;
}

/* Lista indice pagina (sidebar) */
.sidebar-index {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.sidebar-index li {
  position: relative;
  padding-left: 1.25rem;
  margin-bottom: 0.35rem;
  font-size: 0.95rem;
  list-style: none;
}

.sidebar-index li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: #0d3b66;
}

.sidebar-index a {
  text-decoration: none;
  color: #1f2933;
}

.sidebar-index a:hover {
  color: #0d3b66;
  text-decoration: underline;
}


/* ===========================
   CTA RAPIDA (colonna sinistra)
   =========================== */

.sidebar-cta {
  /* niente di particolare qui per ora, ma lasciamo la classe
     per eventuali future personalizzazioni della card */
}

.sidebar-cta .btn-cta {
  display: inline-block;
  border-radius: 999px;
  background-color: #ffffff;
  color: var(--brand);
  border: 1px solid #dbe3f0;
  padding: 0.55rem 1rem;
  font-size: 0.92rem;
  font-weight: 600;
  text-align: center;
  text-transform: none;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
  transition: background-color .18s ease, color .18s ease,
              border-color .18s ease, transform .18s ease,
              box-shadow .18s ease;
}

/* Spaziatura verticale tra i pulsanti */
.sidebar-cta .btn-cta + .btn-cta {
  margin-top: 0.6rem;
}

/* Hover: da bianco a blu pieno */
.sidebar-cta .btn-cta:hover,
.sidebar-cta .btn-cta:focus {
  background-color: var(--brand);
  color: #ffffff;
  border-color: var(--brand);
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.18);
}



/* Box di ricerca (sidebar) */
.sidebar-search .input-group-text {
  border-radius: 999px 0 0 999px;
  border: 1px solid #e5e7eb;
  border-right: 0;
  background-color: #f9fafb;
}

.sidebar-search .form-control {
  border-radius: 0 999px 999px 0;
  border: 1px solid #e5e7eb;
  border-left: 0;
  box-shadow: none;
  font-size: 0.95rem;
}

.sidebar-search .form-control:focus {
  border-color: #0d3b66;
  box-shadow: 0 0 0 1px rgba(13, 59, 102, 0.15);
}

/* Loghi ISO + MEPA sotto la sidebar */
.sidebar-logos {
  justify-content: center;
}

/* Mobile */
@media (max-width: 767.98px) {
  .sidebar-card {
    padding: 1.25rem 1.25rem;
  }

  .sidebar-logos {
    justify-content: flex-start;
  }
}

/* Loghi ISO + MEPA in fondo alla colonna sinistra */
.footer-cert-logos .cert-logo {
  width: 150px;          /* dimensione ridotta e uniforme */
  height: auto;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.08));
  border-radius: 4px;
}



/* ===========================
   WHY ISY – VERSIONE COMPATTA
   =========================== */

/* WHY ISY – sfondo soft (consigliato) */
.why-isy-compact-card{
  background: #f8fafc; /* grigio chiarissimo */
  border: 1px solid rgba(13,59,102,.10);
  border-radius: 1.25rem;
  padding: 1.3rem 1.4rem;
  box-shadow: 0 6px 18px rgba(15,23,42,0.05);
}


.why-isy-compact-title{
  font-family: Poppins, Raleway, Inter, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 0 0 .8rem 0;
  color: var(--text);
}

/* Lista senza pallini, compatta e leggibile */
.why-isy-compact-list{
  list-style: none;
  padding-left: 0;
  margin: 0 0 1rem 0;
}

.why-isy-compact-list li{
  font-size: 1rem;
  font-weight: 600;
  color: var(--text);
  margin-bottom: .35rem;
  line-height: 1.35;
}

/* Spazio tra lista e CTA */
.why-isy-compact-cta{
  margin-top: .25rem;
}

/* CTA coerente con i tuoi bottoni pill */
.why-isy-compact-cta .btn-cta{
  border-radius: 999px;
}





/* ------------------------------------------------------------------
   BOX CONVENZIONE (stile card elegante)
------------------------------------------------------------------ */
.convenzione-box {
  background-color: #ffffff;
  border: 1px solid #dbe3f0;
  border-radius: 16px;
  padding: 2.2rem 2.3rem;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
  max-width: 900px;
  margin: 0 auto;
  transition: transform .2s ease, box-shadow .2s ease;
}

.convenzione-box:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
}

/* ------------------------------------------------------------------
   BADGE SOPRA IL TITOLO
------------------------------------------------------------------ */
.convenzione-badge {
  display: inline-block;
  background: rgba(13, 59, 102, 0.08);
  color: var(--brand);
  font-weight: 600;
  font-size: 0.78rem;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  letter-spacing: 0.02em;
  text-align: center;
  margin: 0 auto;
  display: block;
}

/* ------------------------------------------------------------------
   PULSANTI CONVENZIONE (stesso stile CTA colonna sinistra)
------------------------------------------------------------------ */
.btn-convenzione-main {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 1.7rem;
  font-size: 0.92rem;
  font-weight: 600;
  border-radius: 999px;
  background-color: #ffffff;
  border: 1px solid #dbe3f0;
  color: var(--brand);
  text-decoration: none;
  transition: all .18s ease;
  box-shadow: 0 2px 6px rgba(15,23,42,0.06);
}

.btn-convenzione-main:hover,
.btn-convenzione-main:focus {
  background-color: var(--brand);
  color: #ffffff;
  border-color: var(--brand);
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(15,23,42,0.14);
  text-decoration: none;
}

/* Variante outline (pulsante bianco con bordo blu al passaggio) */
.btn-convenzione-outline:hover,
.btn-convenzione-outline:focus {
  background-color: #ffffff;
  color: var(--brand);
  border-color: var(--brand);
  box-shadow: 0 8px 20px rgba(15,23,42,0.14);
}




/* === TITOLI SEZIONE DESTRA (sec-head) - STILE ELEGANTE E MARCATO === */
/* H2 elegante e marcato (colonna destra) */
.sec-head {
  font-family: Poppins, Raleway, Inter, sans-serif;
  font-size: 1.10rem;       /* leggermente più piccolo */
  font-weight: 650;         /* meno "cicciotto" */
  text-transform: uppercase;
  letter-spacing: 0.1px;    /* meno largo */
  color: var(--text);
  margin-top: 0.5rem;
  margin-bottom: 0.8rem;
  position: relative;       /* necessario per la linea */
  padding-bottom: 6px;      /* spazio per la linea */
}

/* H3 elegante ma meno marcato */
.sec-subhead {
  font-family: Poppins, Raleway, Inter, sans-serif;
  font-size: 0.98rem;
  font-weight: 600;           /* meno marcato dell’H2 */
  text-transform: uppercase;  /* stampatello */
  letter-spacing: 0.1px;
  color: var(--text);
  margin-top: 0.4rem;
  margin-bottom: 0.6rem;
}

/* H4 semplice, pulito */
.sec-minihead {
  font-family: Poppins, Raleway, Inter, sans-serif;
  font-size: 0.80rem;
  font-weight: 500;           /* leggero ma elegante */
  color: var(--text);
  text-transform: none;       /* non in stampatello */
  letter-spacing: 0.3px;
  margin-top: 0.3rem;
  margin-bottom: 0.4rem;
}




/* ===========================
   SERVIZI (CARDS) - MODERN
   (sostituisce il blocco precedente)
   =========================== */

.section-hp-home {
  background: #f6f7fb;
  padding: 48px 0 58px;
}

.services-contents .col-12,
.services-contents .col-sm-6,
.services-contents .col-md-4 {
  display: flex;
}

.single-services {
  width: 100%;
  border-radius: 16px;
  background: #fff;
  padding: 22px 18px 22px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.10);
  transition: transform .14s ease, box-shadow .18s ease, border-color .18s ease;
  text-align: center;
  position: relative;
  cursor: pointer;
}

.single-services:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.16);
  border-color: rgba(13, 59, 102, 0.22);
}

/* Icona in "soft box" (più moderna della pill gradient) */
.services-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: rgba(13, 59, 102, 0.08);
  color: var(--brand);
  font-size: 1.15rem;
  margin: 0 auto 10px;
  transition: transform .14s ease, background .18s ease, color .18s ease;
}

.single-services:hover .services-icon {
  transform: translateY(-1px);
  background: rgba(13, 59, 102, 0.12);
}

/* Titolo del servizio */
.single-services h4 {
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  margin-top: 6px;
  margin-bottom: 8px;
}

.single-services h4 a {
  color: var(--text);
  text-decoration: none;
}

.single-services h4 a:hover {
  color: var(--brand);
}

/* Descrizione */
.single-services p {
  font-size: 0.92rem;
  color: #475569; /* più moderno rispetto a --muted */
  margin: 0;
  text-align: center !important;
  line-height: 1.45;
}

/* Rende cliccabile tutta la card (manteniamo la tua logica) */
.single-services a.services-icon::after,
.single-services h4 a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
}

/* Contenuto sopra al layer cliccabile */
.single-services * {
  position: relative;
  z-index: 10;
}



/* ===========================
   SUSCRIBE AREA (PREVENTIVO)
   =========================== */

.suscribe-area {
  background: #3EC1D5;
  padding: 30px 0;
}

.suscribe-text h3 {
  color: #fff;
  font-size: 1.1rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 0.7rem;
}

.sus-btn {
  display: inline-block;
  border-radius: var(--radius);
  padding: 12px 22px;
  font-weight: 600;
  text-transform: none;
  background: #fff;
  color: #3EC1D5 !important;
  box-shadow: 0 8px 20px rgba(2, 6, 23, .15);
  border: 0;
}
.sus-btn:hover {
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(2, 6, 23, .2);
}

/* ===========================
   FOOTER
   =========================== */

.footer-area {
  padding: 40px 0 30px;
  background: #ffffff;
}

.footer-logo h2 {
  color: #222;
  font-size: 1.8rem;
  font-weight: 800;
  margin: 0;
}
.footer-logo h2 span {
  color: #3EC1D5;
}

.footer-head h4 {
  color: #444;
  font-size: 1rem;
  letter-spacing: 1px;
  margin-bottom: 0.75rem;
  text-transform: uppercase;
}

.footer-contacts p {
  margin-bottom: 0.4rem;
  font-size: 0.95rem;
}

/* Icone social */
.footer-icons ul {
  padding-left: 0;
  margin: 0;
}
.footer-icons ul li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #444;
  color: #444;
  width: 37px;
  height: 37px;
  border-radius: 50%;
  font-size: 1rem;
}
.footer-icons ul li a:hover {
  background: #3EC1D5;
  border-color: #3EC1D5;
  color: #fff;
}

/* Righe finali */
.footer {
  width: 100%;
  background-color: #45526e;
  text-align: center;
  padding: 10px;
}
.footer p {
  color: #fff;
  font-size: 0.8rem;
  margin: 0;
}

/* Immagine ISO nel footer */
.footer-area .footer-content img {
  max-width: 160px;
  height: auto !important;
  object-fit: contain;
  display: block;
}

@media (max-width: 767px) {
  .footer-area .footer-content img {
    max-width: 120px;
  }
}

/* ===========================
   COOKIE BANNER
   =========================== */

.footer-cookies {
  width: 100%;
  background-color: #a1acc4;
  position: fixed;
  bottom: 0;
  left: 0;
  padding: 8px 12px;
  z-index: 9999;
}
.footer-cookies-inner {
  max-width: 980px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.footer-cookies p {
  color: #fff;
  font-size: 0.85rem;
  margin: 0;
}
.footer-cookies a {
  color: #fff;
  text-decoration: underline;
}
#button-cookies {
  background-color: #3EC1D5;
  border: 1px solid #fff;
  border-radius: 30px;
  color: #fff;
  cursor: pointer;
  padding: 4px 14px;
  font-size: 0.8rem;
}

/* Nasconde il banner cookie via JS (UX) */
.footer-cookies.is-hidden {
  display: none !important;
}


/* ===========================
   TABELLE EVIDENZIATE (.table-contrast)
   =========================== */

.table-contrast thead th {
  background-color: #0056b3 !important; /* blu intestazione */
  color: #ffffff !important;
  font-weight: 700 !important;
}

.table-contrast tbody td {
  background-color: #f1f1f1 !important; /* grigio chiaro righe */
  font-weight: 700 !important;
}

.table-contrast td:first-child,
.table-contrast th:first-child {
  text-align: center;
}




/* ===========================
   DOC ACCORDION (check-list documenti)
   =========================== */

.doc-accordion-wrapper {
  margin-top: 20px;
}

.doc-accordion-title {
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 10px;
  color: var(--text);
}

.doc-accordion .panel {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #dbe3f0;
  margin-bottom: 8px;
  background: #ffffff;
}

.doc-accordion .panel-heading {
  background: #f8fafc;
  padding: 0 14px;
}

/* Titolo tendina: dimensione più sobria */
.doc-accordion .panel-title {
  margin: 0;
  font-size: 0.96rem;
  font-weight: 600;
}

.doc-accordion .panel-title a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 10px 0;
  font-size: inherit;
  color: var(--text);
  text-decoration: none;
}

.doc-accordion .panel-title a:hover {
  color: var(--brand);
}

.doc-accordion .panel-title .chevron {
  font-size: 12px;
  color: #64748b;
}

/* Corpo del pannello */
.doc-accordion .panel-body {
  padding: 12px 16px;
}

/* Link documenti dentro i pannelli */
.doc-accordion .panel-body .doc-link {
  display: flex !important;
  width: 100% !important;
  gap: 10px;
  align-items: center;
  padding: 12px 16px;
  border-radius: 10px;
  background: #ffffff;
  color: #0f172a !important;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none !important;
  border: 1px solid #dbe3f0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
  transition: all .18s ease;
  margin-bottom: 8px;
}

.doc-accordion .panel-body .doc-link i {
  font-size: 18px;
  color: #0d47a1;
}

.doc-accordion .panel-body .doc-link:hover {
  background: #f1f6ff;
  border-color: #b3c7e6;
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

@media (max-width: 767px) {
  .doc-accordion-wrapper {
    max-width: 100%;
  }
}

/* ===========================
   SEZIONE FAQ / APPROFONDIMENTI
   =========================== */

.about-area {
  background-color: #ffffff;
  padding: 30px 0 40px;
}

/* Card FAQ */
.faq-details .panel {
  border-radius: 10px;
  border: 1px solid #dbe3f0;
  margin-bottom: 12px;
  background: #ffffff;
  box-shadow: 0 1px 4px rgba(15, 23, 42, .06);
}

.faq-details .panel-heading {
  background: #f8fafc;
  padding: 0 14px;
}

/* Titolo domanda */
.faq-details .check-title {
  margin: 0;
}

.faq-details .check-title a {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--text);
  text-decoration: none;
}

.faq-details .check-title a:hover {
  color: var(--brand);
}

/* Icona freccetta a sinistra */
.faq-details .check-title .acc-icons {
  display: inline-flex;
  width: 16px;
  justify-content: center;
}

.faq-details .check-title .acc-icons::before {
  content: "\f105"; /* FontAwesome caret-right */
  font-family: FontAwesome;
  font-size: 1.05rem;
  color: #64748b;
  transition: transform .18s ease;
}

/* Ruota la freccia quando il pannello è aperto (Bootstrap 5 usa .collapsed) */
.faq-details .check-title a:not(.collapsed) .acc-icons::before {
  transform: rotate(90deg);
}

/* Corpo FAQ */
.faq-details .panel-body {
  padding: 12px 16px;
  font-size: 0.93rem;
}

/* ===========================
   SEZIONE "ATTIVA UNA CONVENZIONE"
   =========================== */

.section-hp {
  background-color: #ffffff;
  padding: 30px 0;
}

/* Pulsanti convenzione: blu pieno come le tabelle */
.btn-convenzione {
  border: 0;
  display: inline-block;
  border-radius: var(--radius);
  padding: 12px 22px;
  font-weight: 600;
  letter-spacing: .2px;
  background: #0056b3;          /* blu tabella */
  color: #fff !important;
  box-shadow: none;
  text-decoration: none;
  transition: background-color .15s ease, transform .15s ease;
}

.btn-convenzione:hover,
.btn-convenzione:focus {
  background: #003f80;
  transform: translateY(-1px);
  text-decoration: none;
  color: #fff !important;
}

/* === Tipografia globale per tutte le pagine === */
.single-well p {
  font-size: 1.1rem;      /* dimensione testo */
  font-weight: 400;       /* spessore normale */
  line-height: 1.55;      /* spazio tra le righe */
  color: black;           /* colore coerente con il tema */
}

/* ===========================
   RESPONSIVE
   =========================== */

@media (max-width: 767.98px) {
  .hero-modern {
    min-height: 260px;
    padding: 110px 0 40px;
    align-items: flex-start;
  }

  .hero-content h1 {
    font-size: 1.8rem;
    margin-bottom: 0.35rem;
  }
  .hero-content h2 {
    font-size: 1.05rem;
  }

  .navbar-brand h2 {
    font-size: 1.25rem;
    margin-top: 0.2rem;
  }

  .section-headline h2 {
    font-size: 1.15rem;
  }

  .footer-cookies-inner {
    justify-content: center;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* ==========================================
   RESTORE BULLETS IN RIGHT COLUMN CONTENT
   ========================================== */

/* Ripristina i pallini nelle liste del contenuto principale (colonna destra) */
.single-well ul {
  list-style: disc;
  padding-left: 20px;
  margin-bottom: 1rem;
}

.single-well ol {
  list-style: decimal;
  padding-left: 22px;
  margin-bottom: 1rem;
}

/* Pallini dei sottolivelli */
.single-well ul ul {
  list-style: circle;
}

/* ==========================================
   TOC (In this page) – un solo pallino per voce
   ========================================== */

.toc ul {
  list-style: disc;
  padding-left: 20px;
}

.toc ul li {
  margin-bottom: 6px;
}

/* Togliamo eventuali bullet doppi davanti al link */
.toc ul li a::before {
  content: none;
}


/* Icona hamburger completamente bianca */
.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-width='3' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
  filter: none !important; /* rimuove invert() */
}


/* CTA mobile intelligente – base (default) */
.cta-fissa {
  position: static;
  z-index: 20;
}

.cta-fissa-placeholder {
  display: none;
}

@media (min-width: 992px) {
  .cta-fissa-placeholder.is-active {
    display: block;
  }

  .cta-fissa.is-floating,
  .cta-fissa.is-at-end {
    z-index: 90;
    margin-bottom: 0 !important;
  }

  .cta-fissa.is-floating {
    position: fixed !important;
  }

  .cta-fissa.is-at-end {
    position: absolute !important;
  }
}

/* ===========================
   GOOGLE REVIEWS – FOOTER
   =========================== */

.footer-review-line {
  font-size: 0.78rem;
  line-height: 1.35;
  color: #6b7280;
  margin-top: 0.6rem;
}

.footer-review-label {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.footer-review-rating strong {
  font-weight: 600;
  color: #374151;
}

.footer-review-note {
  font-style: italic;
}

.footer-review-sep {
  margin: 0 0.25rem;
  opacity: 0.6;
}

.footer-review-link {
  color: inherit;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 2px;
}

.footer-review-link:hover {
  color: #374151;
  text-decoration-style: solid;
}

/* Footer solo per stampa / PDF */
.print-footer {
  display: none;
  font-size: 10px;
  color: #6b7280;
  text-align: center;
  margin-top: 30px;
}

@media print {
  .print-footer {
    display: block;
    position: fixed;
    bottom: 15px;
    left: 0;
    right: 0;
  }
}



/* ===========================
   SOLO PER VISTO SCRITTA SOTTO H2
   =========================== */

.hero-modern .hero-trust-badge{
  display:inline-flex;
  align-items:flex-start;
  gap:.35rem;
  margin-top:14px;
  padding:10px 14px;
  border-radius:999px;
  max-width:900px;
  background: rgba(0,0,0,.45);
  color:#fff;
  border: 1px solid rgba(255,255,255,.25);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  font-size: .95rem;
  line-height: 1.35;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}

@media (max-width: 767px){
  .hero-modern .hero-trust-badge{
    border-radius: 16px;
    padding: 10px 12px;
    font-size: .92rem;
  }
}

/* ===========================
   RELATED INSIGHTS FROM ISY BLOG
   =========================== */

.related-insights {
  background: #f8fafc;
  padding: 50px 0 55px;
}

.related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 22px;
  margin-top: 28px;
}

.related-card {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  padding: 22px 20px;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.related-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.12);
  border-color: rgba(13, 59, 102, 0.16);
}

.related-card h3 {
  font-family: Poppins, Raleway, Inter, sans-serif;
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.45;
  margin-bottom: 0.75rem;
}

.related-card h3 a {
  color: var(--text);
  text-decoration: none;
}

.related-card h3 a:hover {
  color: var(--brand);
}

.related-card p {
  font-size: 0.93rem;
  line-height: 1.55;
  color: var(--muted);
  margin-bottom: 1rem;
  flex-grow: 1;
  text-align: left !important;
}

.related-card > a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--brand);
  text-decoration: none;
  margin-top: auto;
}

.related-card > a:hover {
  color: var(--brand-2);
  text-decoration: none;
}

/* Mobile */
@media (max-width: 767.98px) {
  .related-insights {
    padding: 38px 0 42px;
  }

  .related-grid {
    gap: 16px;
  }

  .related-card {
    padding: 18px 16px;
  }

  .related-card h3 {
    font-size: 0.98rem;
  }
}

/* =========================================================
   ISY.tax — Executive visual system additions
   Added for shared use across all pages without inline styles
   ========================================================= */

:root{
  --isy-navy:#071321;
  --isy-deep:#040c18;
  --isy-blue:#0d3b66;
  --isy-light:#f6f8fb;
  --isy-gold:#d8b56d;
  --isy-muted:#b9c6d6;
}

body{
  background:#fff;
  color:#172033;
  font-family:'Inter',Arial,sans-serif;
}

/* Executive / dark header */
.header-area{
  background:rgba(4,12,24,.25);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.header-area .navbar{
  padding:16px 0;
}

.header-area .navbar-dark .navbar-nav .nav-link{
  color:rgba(255,255,255,.86)!important;
  font-weight:600;
  font-size:.94rem;
  letter-spacing:.01em;
}

.header-area .navbar-dark .navbar-nav .nav-link:hover,
.header-area .navbar-dark .navbar-nav .active>.nav-link{
  color:#fff!important;
}

.header-area .dropdown-menu{
  border:0;
  border-radius:16px;
  padding:10px;
  box-shadow:0 18px 45px rgba(0,0,0,.18);
  background:rgba(4,12,24,.94);
}

.header-area .dropdown-item{
  border-radius:10px;
  padding:9px 12px;
  font-weight:500;
  color:#fff;
}

.header-area .dropdown-item:hover,
.header-area .dropdown-item:focus{
  background:rgba(255,255,255,.10);
  color:#fff;
}

/* Executive hero */
.hero-executive{
  position:relative;
  min-height:92vh;
  padding:150px 0 92px;
  overflow:hidden;
  color:#fff;
  display:flex;
  align-items:center;
  isolation:isolate;
}

.hero-executive .hero-bg{
  position:absolute;
  inset:0;
  z-index:-3;
}

.hero-executive .hero-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 35%;
  filter:saturate(.82) contrast(1.04) brightness(.62);
  transform:none;
}

.hero-executive::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:rgba(4,14,28,.88);
}


.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);
  gap:52px;
  align-items:center;
}

.hero-copy{
  text-align:left;
}

.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  color:#dce8f5;
  font-size:.76rem;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:800;
  margin-bottom:24px;
}

.hero-badge::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#d8b56d;
  box-shadow:0 0 18px rgba(216,181,109,.85);
}

.hero-executive h1{
  font-family:'Poppins','Inter',Arial,sans-serif;
  font-size:clamp(2.9rem,4.4vw,4.2rem);
  line-height:1.3;
  font-weight:700;
  letter-spacing:-.045em;
  margin:0 0 24px;
  color:#fff;
  max-width:920px;
 text-shadow: 0 0 20px rgba(0,0,0,.8);
}


.hero-executive .lead{
  color:rgba(236,244,252,.92);
  font-size:clamp(1.16rem,1.55vw,1.42rem);
  line-height:1.62;
  font-weight:500;
  max-width:760px;
  margin:0;
  text-align:left!important;
}

.hero-actions-modern{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:34px;
}

.hero-actions-modern a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:14px 24px;
  font-weight:800;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;
}

.hero-actions-modern a:hover{
  transform:translateY(-2px);
  text-decoration:none;
}

.hero-actions-modern .primary{
  background:#fff;
  color:#071321;
  box-shadow:0 14px 36px rgba(255,255,255,.16);
}

.hero-actions-modern .secondary{
  color:#fff;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.hero-actions-modern .secondary:hover{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.38);
}

.hero-trust-inline{
  display:flex;
  flex-wrap:wrap;
  gap:12px 20px;
  margin-top:30px;
  color:rgba(226,237,249,.88);
  font-size:.95rem;
}

.hero-trust-inline span{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.hero-trust-inline span::before{
  content:"✓";
  color:#d8b56d;
  font-weight:900;
}

.hero-panel-wrap{
  position:relative;
}

.hero-panel-wrap::before{
  content:"";
  position:absolute;
  inset:22px -18px -18px 26px;
  border-radius:32px;
  background:rgba(216,181,109,.10);
  filter:blur(18px);
  z-index:-1;
}

.hero-glass-card{
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.06));
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.16);
  border-radius:30px;
  padding:30px;
  box-shadow:0 34px 90px rgba(0,0,0,.34);
}

.hero-card-kicker{
  color:#d8b56d;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  font-size:.76rem;
  margin-bottom:10px;
}

.hero-glass-card h2{
  font-family:'Poppins','Inter',Arial,sans-serif;
  color:#fff;
  font-size:1.65rem;
  line-height:1.2;
  margin:0 0 20px;
  font-weight:800;
}

.hero-checklist{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}

.hero-checklist li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:rgba(246,250,255,.90);
  line-height:1.45;
  font-weight:600;
}

.hero-checklist li::before{
  content:"✓";
  flex:0 0 24px;
  width:24px;
  height:24px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(216,181,109,.15);
  color:#f4d68e;
  font-weight:900;
  font-size:.85rem;
}

.hero-proof-block{
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:24px;
  padding-top:22px;
}

.hero-proof-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:18px;
}

.hero-proof-item{
  min-height:112px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.075);
  border-radius:20px;
  padding:18px 14px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.hero-proof-item strong{
  display:block;
  color:#fff;
  font-family:'Poppins','Inter',Arial,sans-serif;
  font-size:clamp(1.35rem,2vw,1.9rem);
  line-height:1;
  font-weight:800;
  letter-spacing:-.03em;
  margin-bottom:12px;
}

.hero-proof-item span{
  display:block;
  color:rgba(226,237,249,.82);
  font-size:.86rem;
  line-height:1.35;
  font-weight:650;
}

.hero-proof-block p{
  margin:0;
  color:rgba(236,244,252,.84);
  font-size:.95rem;
  line-height:1.65;
  text-align:left!important;
}

.hero-stats-strip{
  background:#071321;
  color:#fff;
  padding:22px 0;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.hero-stat{
  padding:12px 4px;
  text-align:center;
}

.hero-stat strong{
  display:block;
  color:#fff;
  font-size:1.02rem;
  margin-bottom:4px;
  font-weight:800;
}

.hero-stat span{
  color:rgba(226,237,249,.72);
  font-size:.92rem;
}

/* Shared premium cards and sections */
.content-main-wrapper{
  background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%);
}

.section-headline h2,
.sec-head{
  font-family:'Poppins','Inter',Arial,sans-serif;
  letter-spacing:-.02em;
  color:#071321;
}

.home-card,
.trust-box,
.cooperation-card{
  border:1px solid rgba(13,59,102,.08)!important;
  border-radius:22px!important;
  box-shadow:0 18px 44px rgba(15,23,42,.07)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.home-card:hover,
.trust-box:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 56px rgba(15,23,42,.11)!important;
  border-color:rgba(13,59,102,.18)!important;
}

.process-note{
  background:#eef5fb!important;
  border-left:4px solid #d8b56d!important;
}

.home-table th{
  background:#071321!important;
}

#why-isy{
  background:#071321!important;
  color:#fff;
  position:relative;
  overflow:hidden;
}

#why-isy::before{
  content:"";
  position:absolute;
  inset:auto -200px -260px auto;
  width:520px;
  height:520px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(13,59,102,.5),transparent 65%);
}

#why-isy .container{
  position:relative;
}

#why-isy .section-headline h2,
#why-isy .section-headline h3{
  color:#fff!important;
}

#why-isy .trust-box{
  background:rgba(255,255,255,.08)!important;
  color:rgba(246,250,255,.90);
  border:1px solid rgba(255,255,255,.12)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

#why-isy .trust-box strong{
  color:#fff;
}

.section-hp-home .single-services{
  border-radius:24px!important;
  border:1px solid rgba(13,59,102,.08);
  box-shadow:0 18px 48px rgba(15,23,42,.07);
  transition:transform .22s ease,box-shadow .22s ease;
}

.section-hp-home .single-services:hover{
  transform:translateY(-5px);
  box-shadow:0 28px 70px rgba(15,23,42,.13);
}

#tools{
  background:linear-gradient(135deg,#071321 0%,#0d3b66 100%)!important;
  color:#fff;
  position:relative;
  overflow:hidden;
}

#tools::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:44px 44px;
  opacity:.35;
}

#tools .container{
  position:relative;
}

#tools .section-headline h2,
#tools .section-headline h3{
  color:#fff!important;
}

#tools .home-card{
  background:rgba(255,255,255,.09)!important;
  border:1px solid rgba(255,255,255,.13)!important;
  color:#eaf3fb;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

#tools .home-card h3,
#tools .home-card h3 a{
  color:#fff!important;
}

.suscribe-area{
  background:#071321!important;
}

.modern-faq{
  background:linear-gradient(180deg,#f6f8fb 0%,#fff 100%)!important;
}

.modern-faq .accordion-item{
  border-radius:18px!important;
  box-shadow:0 16px 42px rgba(15,23,42,.08)!important;
}

.modern-faq .accordion-button{
  color:#071321!important;
}

.modern-faq .accordion-button:not(.collapsed){
  background:#071321!important;
  color:#fff!important;
}

.footer-area,
.footer{
  background:#040c18!important;
  color:rgba(255,255,255,.78)!important;
}

.footer-area h2,
.footer-area h4,
.footer-area strong,
.footer-logo span{
  color:#fff!important;
}

.footer-area a,
.footer a{
  color:#dce8f5!important;
}

.footer{
  border-top:1px solid rgba(255,255,255,.08);
}

/* Footer ISO image: works with class or existing image path */
.footer-iso-img,
.footer-area .footer-content img[src*="iso.png"]{
  border-radius:18px;
  box-shadow:0 12px 30px rgba(0,0,0,.18);
  overflow:hidden;
}

hr{
  display:none;
}

.cookie-banner{
  background:#071321!important;
}

@media (max-width:991px){
  .hero-executive{
    min-height:auto;
    padding:132px 0 70px;
  }

  .hero-grid{
    grid-template-columns:1fr;
    gap:38px;
  }

  .hero-panel-wrap{
    max-width:620px;
  }
}

@media (max-width:767px){
  .hero-executive{
    padding:118px 0 58px;
  }

  .hero-executive h1{
  font-size:clamp(2.05rem,9vw,2.8rem);
}

  .hero-actions-modern a{
    width:100%;
  }

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

  .hero-proof-item{
    min-height:auto;
  }

  .hero-glass-card{
    padding:24px;
    border-radius:24px;
  }
}

/* =========================================================
   ISY.tax — Shared homepage components moved from inline CSS
   ========================================================= */

/* Logo helper used by header image */
.site-logo{
  max-height:48px;
  width:auto;
}

/* Generic homepage cards */
.trust-box{
  background:#fff;
  padding:18px;
  border-radius:14px;
  box-shadow:0 2px 12px rgba(15,23,42,.07);
  height:100%;
  font-size:.95rem;
}

.home-card{
  background:#fff;
  border:1px solid #e8edf3;
  border-radius:16px;
  padding:22px;
  height:100%;
  box-shadow:0 4px 18px rgba(15,23,42,.05);
}

.home-card h3{
  font-size:1.08rem;
  margin-bottom:10px;
  font-weight:700;
  color:#0d3b66;
}

.home-card p{
  margin-bottom:0;
}

.process-note{
  background:#f8fafc;
  border-left:4px solid #0d3b66;
  padding:18px 20px;
  border-radius:12px;
  margin:18px 0;
}

/* Homepage workflow table */
.home-table{
  width:100%;
  border-collapse:collapse;
  margin-top:14px;
  font-size:.94rem;
}

.home-table th,
.home-table td{
  border:1px solid #d9e2ec;
  padding:12px;
  vertical-align:top;
}

.home-table th{
  background:#0d3b66;
  color:#fff;
  font-weight:700;
}

.home-table tr:nth-child(even) td{
  background:#f8fafc;
}

.table-caption-left{
  caption-side:top;
  text-align:left;
  font-weight:600;
  margin-bottom:.5rem;
}

/* Reusable text/image helpers formerly inline */
.section-intro{
  max-width:900px;
  margin:0 auto;
  text-align:center!important;
}

.content-justify{
  text-align:justify;
}

.sidebar-main-img{
  border-radius:10px;
  box-shadow:none;
}

/* Cooperation section helpers */
.cooperation-section{
  padding:42px 0;
  background:#f8fafc;
}

.cooperation-card{
  background:#fff;
  border-radius:18px;
  padding:30px 24px;
  box-shadow:0 4px 20px rgba(15,23,42,.08);
  max-width:960px;
  margin:0 auto;
}

.cooperation-title{
  margin-bottom:16px;
}

.cooperation-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-top:10px;
}

/* Legacy centred hero helpers, kept for pages still using hero-modern */
.hero-modern{
  min-height:auto!important;
  padding:96px 0 72px!important;
}

.hero-modern .hero-content{
  padding:0!important;
}

.hero-modern h1{
  margin-bottom:12px!important;
}

.hero-modern h2{
  margin-bottom:0!important;
}

.hero-content p{
  color:#fff;
  text-align:center;
  max-width:960px;
  margin:18px auto 0 auto;
  font-size:1.15rem;
  line-height:1.8;
}

.hero-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:20px;
}

.hero-actions a{
  border-radius:999px;
  padding:12px 22px;
  font-weight:700;
  text-decoration:none;
}

.hero-primary{
  background:#fff;
  color:#0d3b66;
}

.hero-secondary{
  background:transparent;
  color:#fff;
  border:1px solid rgba(255,255,255,.75);
}


/* Homepage tools spacing */
#tools{
  padding:55px 0;
}

/* Modern FAQ */
.modern-faq{
  background:linear-gradient(180deg,#f7f9fc 0%,#fff 100%);
  padding:55px 0;
}

.modern-faq .accordion-item{
  border:0;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 4px 18px rgba(15,23,42,.06);
  margin-bottom:14px;
}

.modern-faq .accordion-button{
  font-weight:700;
  background:#fff;
  color:#0d3b66;
  padding:18px 20px;
}

.modern-faq .accordion-button:not(.collapsed){
  background:#0d3b66;
  color:#fff;
  box-shadow:none;
}

.modern-faq .accordion-button:focus{
  box-shadow:none;
  border-color:transparent;
}

.modern-faq .accordion-body{
  background:#fff;
  line-height:1.75;
}

/* Cookie banner used on current ISY pages */
.cookie-banner{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:9999;
  background:#0d3b66;
  color:#fff;
  padding:18px 16px;
  box-shadow:0 -4px 18px rgba(0,0,0,.22);
}

.cookie-banner.is-hidden{
  display:none;
}

.cookie-banner-inner{
  max-width:1180px;
  margin:0 auto;
  display:flex;
  gap:20px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}

.cookie-banner-title{
  font-weight:700;
  margin:0 0 4px;
}

.cookie-banner-text{
  margin:0;
  line-height:1.6;
  font-size:.94rem;
}

.cookie-banner a{
  color:#fff;
  text-decoration:underline;
}

.cookie-banner-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.cookie-btn{
  border:0;
  padding:9px 18px;
  border-radius:999px;
  font-weight:700;
  cursor:pointer;
}

.cookie-btn-accept{
  background:#fff;
  color:#0d3b66;
}

.cookie-btn-reject{
  background:transparent;
  color:#fff;
  border:1px solid rgba(255,255,255,.75);
}

@media (max-width:767px){
  .hero-modern{
    padding:78px 0 56px!important;
  }

  .cookie-banner-inner{
    display:block;
  }

  .cookie-banner-actions{
    margin-top:14px;
  }

  .hero-actions a{
    width:100%;
    text-align:center;
  }
}



/* =========================================================
   ISY.tax — Executive homepage corrective overrides
   Fixes: compact header, equal cards, tools typography
   ========================================================= */

/* The executive homepage header must overlay the hero, not remain as a large fixed bar while scrolling. */
body.executive-home .header-area{
  position:absolute;
  top:0;
  left:0;
  right:0;
  width:100%;
  z-index:50;
  min-height:0;
  background:rgba(4,12,24,.25);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08);
}

body.executive-home .header-area .navbar{
  padding:10px 0;
  min-height:0;
}

body.executive-home .main-menu .nav-link,
body.executive-home .header-area .navbar-dark .navbar-nav .nav-link{
  padding:.72rem .62rem;
  font-size:.92rem;
  line-height:1.2;
}

body.executive-home .site-logo{
  max-height:44px;
  width:auto;
}

body.executive-home .navbar .dropdown-menu,
body.executive-home .header-area .dropdown-menu{
  max-height:75vh;
  overflow-y:auto;
}

@media (max-width:767.98px){
  body.executive-home .header-area .navbar{
    padding:8px 0;
  }

  body.executive-home .navbar-collapse{
    margin-top:10px;
    padding:10px 12px 12px;
    border-radius:16px;
    background:rgba(4,12,24,.94);
    max-height:72vh;
    overflow-y:auto;
  }

  body.executive-home .main-menu .nav-link,
  body.executive-home .header-area .navbar-dark .navbar-nav .nav-link{
    padding:.55rem .65rem;
  }

  body.executive-home .site-logo{
    max-height:40px;
  }
}

/* Equal-height cards in Why ISY. */
#why-isy .row > [class*="col-"]{
  display:flex;
}

#why-isy .trust-box{
  width:100%;
  min-height:154px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  line-height:1.55;
}

#why-isy .trust-box strong{
  display:block;
  margin-bottom:.35rem;
}

/* Keep Free Business Tools cards readable and compact. */
#tools .home-card{
  padding:22px 20px!important;
}

#tools .home-card h3,
#tools .home-card h3 a{
  font-size:1.03rem!important;
  line-height:1.35!important;
  margin-bottom:.55rem!important;
}

#tools .home-card p{
  font-size:.93rem!important;
  line-height:1.55!important;
  font-weight:400!important;
  text-align:left!important;
  color:rgba(234,243,251,.86)!important;
}

/* Keep standard home cards from inheriting oversized paragraph rules in any section. */
.home-card p,
.trust-box,
.hero-stat span{
  font-size:.95rem;
  line-height:1.55;
}

/* =========================================================
   TOOLS SECTION — TEXT CONTRAST FIX
   ========================================================= */

#tools .section-headline h2{
  color:#ffffff !important;
}

#tools .section-headline h3,
#tools .section-headline p{
  color:rgba(255,255,255,.82) !important;
}

/* =========================================================
   ISY.tax — Homepage visual refinement · July 2026
   ========================================================= */

/* Hero: clearer hierarchy and a more visible photographic background. */
body.executive-home .hero-executive{
  min-height:min(920px,94vh);
  padding:146px 0 132px;
}

body.executive-home .hero-executive .hero-bg img{
  object-position:center 40%;
  filter:saturate(.82) contrast(1.08) brightness(.74);
}

body.executive-home .hero-executive::before{
  background:
    linear-gradient(90deg,rgba(3,12,24,.98) 0%,rgba(3,12,24,.94) 38%,rgba(3,12,24,.78) 66%,rgba(3,12,24,.54) 100%),
    linear-gradient(180deg,rgba(3,12,24,.08) 0%,rgba(3,12,24,.62) 100%);
}

body.executive-home .hero-executive::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:34%;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 0%,rgba(3,12,24,.58) 100%);
}

body.executive-home .hero-orb{
  display:none;
  position:absolute;
  top:14%;
  right:2%;
  z-index:-1;
  width:520px;
  height:520px;
  border-radius:50%;
  pointer-events:none;
  background:
    radial-gradient(circle at 42% 42%,rgba(62,193,213,.22),transparent 44%),
    radial-gradient(circle at 68% 62%,rgba(216,181,109,.16),transparent 48%);
  filter:blur(18px);
}

body.executive-home .hero-grid{
  grid-template-columns:minmax(0,1.16fr) minmax(350px,.72fr);
  gap:clamp(46px,6vw,92px);
}

body.executive-home .hero-copy{
  padding-right:1vw;
}

body.executive-home .hero-executive h1{
  max-width:850px;
  font-size:clamp(3.05rem,4.9vw,4.7rem);
  line-height:1.08;
  letter-spacing:-.05em;
  margin-bottom:26px;
  text-wrap:balance;
}

.hero-title-accent{
  display:inline;
}

body.executive-home .hero-executive .lead{
  max-width:720px;
  font-weight:400;
  line-height:1.58;
}

body.executive-home .hero-actions-modern{
  margin-top:36px;
}

body.executive-home .hero-actions-modern a{
  min-height:52px;
  padding:14px 26px;
}

body.executive-home .hero-actions-modern .primary{
  background:linear-gradient(135deg,#ffffff 0%,#e7f8fa 100%);
  box-shadow:0 18px 46px rgba(0,0,0,.24);
}

body.executive-home .hero-actions-modern .primary:hover{
  box-shadow:0 22px 54px rgba(0,0,0,.3);
}

body.executive-home .hero-trust-inline{
  max-width:760px;
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.12);
}

body.executive-home .hero-panel-wrap{
  transform:translateY(8px);
}

body.executive-home .hero-panel-wrap::before{
  display:none;
  inset:30px -22px -22px 34px;
  background:linear-gradient(145deg,rgba(62,193,213,.14),rgba(216,181,109,.12));
  filter:blur(24px);
}

body.executive-home .hero-glass-card{
  padding:32px;
  background:linear-gradient(145deg,rgba(7,25,45,.50),rgba(7,19,35,.30));
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 40px 100px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06);
}

body.executive-home .hero-glass-card h2{
  max-width:430px;
  font-size:1.58rem;
  line-height:1.24;
}

body.executive-home .hero-proof-grid{
  gap:0;
  margin-bottom:16px;
}

body.executive-home .hero-proof-item{
  min-height:0;
  padding:4px 14px;
  border:0;
  border-right:1px solid rgba(255,255,255,.13);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  justify-content:flex-start;
}

body.executive-home .hero-proof-item:first-child{
  padding-left:0;
}

body.executive-home .hero-proof-item:last-child{
  padding-right:0;
  border-right:0;
}

body.executive-home .hero-proof-item strong{
  color:#f1d08a;
  font-size:1.38rem;
  margin-bottom:8px;
}

body.executive-home .hero-proof-item span{
  font-size:.78rem;
}

body.executive-home .hero-proof-block p{
  font-size:.88rem;
  line-height:1.55;
}

/* The trust indicators become a visual bridge between hero and content. */
body.executive-home .hero-stats-strip{
  position:relative;
  z-index:8;
  margin-top:-16px;
  padding:0 0 34px;
  border:0;
  background:transparent;
}

body.executive-home .hero-stats-strip .container{
  padding:14px 22px;
  border:1px solid rgba(13,59,102,.1);
  border-radius:24px;
  background:rgba(255,255,255,.97);
  box-shadow:0 24px 60px rgba(15,23,42,.16);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

body.executive-home .hero-stats-strip .row > [class*="col-"]{
  position:relative;
}

body.executive-home .hero-stats-strip .row > [class*="col-"]:not(:last-child)::after{
  content:"";
  position:absolute;
  top:18%;
  right:0;
  width:1px;
  height:64%;
  background:rgba(13,59,102,.12);
}

body.executive-home .hero-stat{
  padding:10px 8px;
}

body.executive-home .hero-stat strong{
  color:#092b55;
}

body.executive-home .hero-stat span{
  color:#66758a;
}

/* Footer: fewer links, better balance and a cleaner final impression. */
body.executive-home .footer-area{
  position:relative;
  padding:64px 0 48px;
  background:linear-gradient(145deg,#040c18 0%,#07182b 100%)!important;
}

body.executive-home .footer-area::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:min(1120px,calc(100% - 32px));
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(62,193,213,.48),transparent);
}

body.executive-home .footer-column-brand .footer-head > p{
  max-width:390px;
  color:rgba(226,237,249,.76);
  line-height:1.65;
}

body.executive-home .footer-head h4{
  margin-bottom:1.1rem;
  color:#7fd3de!important;
  font-size:.78rem;
  letter-spacing:.13em;
}

body.executive-home .footer-nav-minimal{
  display:grid;
  gap:0;
  max-width:250px;
}

body.executive-home .footer-nav-minimal p{
  margin:0;
}

body.executive-home .footer-nav-minimal a{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
  color:rgba(236,244,252,.88)!important;
  font-weight:600;
  transition:color .2s ease,padding-left .2s ease,border-color .2s ease;
}

body.executive-home .footer-nav-minimal a::after{
  content:"→";
  margin-left:auto;
  color:#3ec1d5;
  opacity:.75;
  transition:transform .2s ease;
}

body.executive-home .footer-nav-minimal a:hover,
body.executive-home .footer-nav-minimal a:focus{
  padding-left:5px;
  border-color:rgba(62,193,213,.35);
  color:#fff!important;
  text-decoration:none;
}

body.executive-home .footer-nav-minimal a:hover::after,
body.executive-home .footer-nav-minimal a:focus::after{
  transform:translateX(4px);
}

body.executive-home .footer-column-info .footer-contacts p{
  margin-bottom:1rem;
  color:rgba(226,237,249,.76);
  line-height:1.65;
}

body.executive-home .footer-column-info .footer-contacts span{
  color:#fff;
  font-weight:700;
}

body.executive-home .footer{
  padding:16px 12px;
  background:#020812!important;
}

@media (max-width:991.98px){
  body.executive-home .hero-executive{
    min-height:auto;
    padding:132px 0 116px;
  }

  body.executive-home .hero-grid{
    grid-template-columns:1fr;
    gap:42px;
  }

  body.executive-home .hero-copy{
    padding-right:0;
  }

  body.executive-home .hero-panel-wrap{
    width:100%;
    max-width:680px;
    transform:none;
  }
}

@media (max-width:767.98px){
  body.executive-home .hero-executive{
    padding:112px 0 88px;
  }

  body.executive-home .hero-executive::before{
    background:linear-gradient(180deg,rgba(3,12,24,.96) 0%,rgba(3,12,24,.88) 100%);
  }

  body.executive-home .hero-executive h1{
    font-size:clamp(2.25rem,10vw,3rem);
    line-height:1.1;
    letter-spacing:-.04em;
  }

  .hero-title-accent{
    display:inline;
  }

  body.executive-home .hero-trust-inline{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  body.executive-home .hero-glass-card{
    padding:24px;
  }

  body.executive-home .hero-proof-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  body.executive-home .hero-proof-item,
  body.executive-home .hero-proof-item:first-child,
  body.executive-home .hero-proof-item:last-child{
    padding:0 0 12px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12);
  }

  body.executive-home .hero-proof-item:last-child{
    border-bottom:0;
    padding-bottom:0;
  }

  body.executive-home .hero-stats-strip{
    margin-top:-30px;
    padding-bottom:24px;
  }

  body.executive-home .hero-stats-strip .container{
    width:calc(100% - 24px);
    padding:12px 14px;
    border-radius:20px;
  }

  body.executive-home .hero-stats-strip .row > [class*="col-"]:not(:last-child)::after{
    display:none;
  }

  body.executive-home .hero-stat{
    min-height:82px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  body.executive-home .footer-area{
    padding:52px 0 38px;
  }

  body.executive-home .footer-nav-minimal{
    max-width:none;
  }
}

@media (prefers-reduced-motion:reduce){
  body.executive-home .hero-actions-modern a,
  body.executive-home .footer-nav-minimal a,
  body.executive-home .footer-nav-minimal a::after{
    transition:none;
  }
}

/* =========================================================
   ISY.tax — Tools hub
   ========================================================= */

body.tools-hub-page{
  color:#172235;
  background:#fff;
}

body.tools-hub-page main{
  overflow:hidden;
}

.tools-hero{
  position:relative;
  min-height:660px;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:170px 0 116px;
  color:#fff;
  background:#051426;
}

.tools-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(3,13,26,.97) 0%,rgba(3,13,26,.91) 46%,rgba(3,13,26,.66) 76%,rgba(3,13,26,.52) 100%),
    linear-gradient(180deg,rgba(3,13,26,.12),rgba(3,13,26,.64));
}

.tools-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:1;
  height:140px;
  background:linear-gradient(180deg,transparent,rgba(3,13,26,.7));
}

.tools-hero-bg,
.tools-hero-bg img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.tools-hero-bg img{
  object-fit:cover;
  object-position:center 42%;
  filter:saturate(.78) contrast(1.08) brightness(.78);
}

.tools-hero-glow{
  position:absolute;
  top:4%;
  right:2%;
  z-index:2;
  width:min(46vw,620px);
  aspect-ratio:1;
  border-radius:50%;
  pointer-events:none;
  background:
    radial-gradient(circle at 38% 40%,rgba(62,193,213,.22),transparent 44%),
    radial-gradient(circle at 67% 66%,rgba(216,181,109,.15),transparent 48%);
  filter:blur(18px);
}

.tools-hero .container{
  position:relative;
  z-index:3;
}

.tools-hero-content{
  max-width:900px;
}

.tools-eyebrow,
.tools-section-label{
  margin:0 0 18px;
  color:#3ec1d5;
  font-size:.77rem;
  font-weight:800;
  letter-spacing:.15em;
  line-height:1.3;
  text-transform:uppercase;
}

.tools-eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:7px 13px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  color:#bdebf1;
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.tools-hero h1{
  max-width:880px;
  margin:0 0 25px;
  color:#fff;
  font-family:"Poppins",sans-serif;
  font-size:clamp(3rem,5.2vw,4.9rem);
  font-weight:700;
  letter-spacing:-.05em;
  line-height:1.06;
  text-wrap:balance;
}

.tools-hero-lead{
  max-width:760px;
  margin:0;
  color:rgba(239,247,255,.83);
  font-size:clamp(1.08rem,1.6vw,1.28rem);
  line-height:1.65;
}

.tools-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:13px;
  margin-top:34px;
}

.tools-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 25px;
  border:1px solid transparent;
  border-radius:12px;
  font-weight:750;
  line-height:1.2;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;
}

.tools-btn:hover{
  transform:translateY(-2px);
  text-decoration:none;
}

.tools-btn-primary{
  color:#082a4f;
  background:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.23);
}

.tools-btn-primary:hover{
  color:#082a4f;
  background:#eaf9fb;
  box-shadow:0 22px 50px rgba(0,0,0,.29);
}

.tools-btn-secondary{
  border-color:rgba(255,255,255,.29);
  color:#fff;
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.tools-btn-secondary:hover{
  border-color:rgba(255,255,255,.48);
  color:#fff;
  background:rgba(255,255,255,.12);
}

.tools-hero-trust{
  display:flex;
  flex-wrap:wrap;
  gap:11px 24px;
  max-width:780px;
  margin-top:29px;
  padding-top:23px;
  border-top:1px solid rgba(255,255,255,.13);
}

.tools-hero-trust span{
  position:relative;
  padding-left:17px;
  color:rgba(235,245,255,.75);
  font-size:.86rem;
  font-weight:600;
}

.tools-hero-trust span::before{
  content:"";
  position:absolute;
  top:.45em;
  left:0;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#3ec1d5;
  box-shadow:0 0 0 4px rgba(62,193,213,.1);
}

.tools-intro{
  padding:86px 0 78px;
  background:#fff;
}

.tools-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(330px,.75fr);
  gap:clamp(44px,8vw,120px);
  align-items:end;
}

.tools-intro h2,
.tools-directory h2,
.tools-process h2{
  margin:0;
  color:#092b55;
  font-family:"Poppins",sans-serif;
  font-size:clamp(2rem,3.3vw,3.1rem);
  font-weight:700;
  letter-spacing:-.04em;
  line-height:1.16;
  text-wrap:balance;
}

.tools-intro-copy p{
  margin:0 0 18px;
  color:#5f6d7e;
  font-size:1.04rem;
  line-height:1.72;
}

.tools-intro-copy a{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#0d6681;
  font-weight:750;
  text-decoration:none;
}

.tools-intro-copy a span{
  transition:transform .2s ease;
}

.tools-intro-copy a:hover span{
  transform:translateX(4px);
}

.tools-directory{
  padding:82px 0 96px;
  background:linear-gradient(180deg,#f4f7fa 0%,#f8fafc 100%);
}

.tools-directory-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:40px;
  margin-bottom:42px;
}

.tools-directory-heading > p{
  max-width:460px;
  margin:0;
  color:#657386;
  line-height:1.65;
}

.tools-card-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:22px;
}

.isy-tool-card{
  grid-column:span 2;
  min-height:390px;
  display:flex;
  flex-direction:column;
  padding:29px;
  border:1px solid rgba(13,59,102,.1);
  border-radius:22px;
  background:#fff;
  box-shadow:0 16px 42px rgba(16,24,40,.07);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}

.isy-tool-card:nth-child(4){
  grid-column:2 / span 2;
}

.isy-tool-card:nth-child(5){
  grid-column:4 / span 2;
}

.isy-tool-card:hover{
  transform:translateY(-5px);
  border-color:rgba(62,193,213,.38);
  box-shadow:0 24px 58px rgba(16,24,40,.12);
}

.tool-card-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:25px;
}

.tool-card-icon{
  width:48px;
  height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 48px;
  border-radius:14px;
  color:#0c6b83;
  font-size:1.25rem;
  background:#e9f7f9;
}

.tool-card-category{
  color:#738094;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.11em;
  text-align:right;
  text-transform:uppercase;
}

.isy-tool-card h3{
  margin:0 0 15px;
  color:#0a315d;
  font-family:"Poppins",sans-serif;
  font-size:clamp(1.3rem,1.8vw,1.7rem);
  font-weight:700;
  letter-spacing:-.025em;
  line-height:1.24;
}

.isy-tool-card h3 a{
  color:inherit;
  text-decoration:none;
}

.isy-tool-card > p{
  margin:0 0 22px;
  color:#667486;
  line-height:1.65;
}

.tool-card-features{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 25px;
  padding:0;
  list-style:none;
}

.tool-card-features li{
  padding:7px 10px;
  border:1px solid rgba(13,59,102,.1);
  border-radius:999px;
  color:#5d6b7c;
  font-size:.74rem;
  font-weight:700;
  background:#f7f9fb;
}

.tool-card-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  align-self:flex-start;
  margin-top:auto;
  color:#0c6680;
  font-weight:800;
  text-decoration:none;
}

.tool-card-link span{
  transition:transform .2s ease;
}

.tool-card-link:hover{
  color:#084d65;
  text-decoration:none;
}

.tool-card-link:hover span{
  transform:translateX(5px);
}

.tools-process{
  padding:94px 0;
  background:#fff;
}

.tools-process-shell{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(420px,.72fr);
  gap:clamp(50px,8vw,112px);
  padding:clamp(36px,5vw,68px);
  border-radius:28px;
  color:#fff;
  background:
    radial-gradient(circle at 8% 0%,rgba(62,193,213,.16),transparent 36%),
    linear-gradient(145deg,#082d55,#051426);
  box-shadow:0 28px 76px rgba(7,31,57,.2);
}

.tools-process h2{
  color:#fff;
}

.tools-process-copy > p:not(.tools-section-label){
  margin:22px 0 29px;
  color:rgba(226,240,250,.75);
  line-height:1.7;
}

.tools-btn-dark{
  color:#082a4f;
  background:#fff;
  box-shadow:0 16px 40px rgba(0,0,0,.2);
}

.tools-btn-dark:hover{
  color:#082a4f;
  background:#eaf9fb;
}

.tools-process-steps{
  display:grid;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
}

.tools-process-steps li{
  display:grid;
  grid-template-columns:46px 1fr;
  gap:17px;
  padding:21px 0;
  border-bottom:1px solid rgba(255,255,255,.11);
}

.tools-process-steps li:first-child{
  padding-top:0;
}

.tools-process-steps li:last-child{
  padding-bottom:0;
  border-bottom:0;
}

.tools-process-steps > li > span{
  color:#67d0de;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
}

.tools-process-steps strong{
  display:block;
  margin-bottom:6px;
  color:#fff;
  font-size:1.04rem;
}

.tools-process-steps p{
  margin:0;
  color:rgba(226,240,250,.68);
  font-size:.9rem;
  line-height:1.55;
}

.tools-note{
  padding:0 0 88px;
  background:#fff;
}

.tools-note-inner{
  display:grid;
  grid-template-columns:30px 1fr;
  gap:16px;
  align-items:start;
  padding:22px 24px;
  border:1px solid rgba(13,59,102,.1);
  border-radius:18px;
  color:#637184;
  background:#f6f8fa;
}

.tools-note-inner i{
  padding-top:2px;
  color:#0d6981;
  font-size:1.25rem;
}

.tools-note-inner p{
  margin:0;
  line-height:1.65;
}

body.tools-hub-page .footer-nav-minimal a[aria-current="page"]{
  color:#7fd3de!important;
}

@media (max-width:991.98px){
  .tools-hero{
    min-height:610px;
    padding:150px 0 100px;
  }

  .tools-intro-grid,
  .tools-process-shell{
    grid-template-columns:1fr;
  }

  .tools-intro-grid{
    gap:28px;
  }

  .tools-directory-heading{
    align-items:start;
    flex-direction:column;
    gap:18px;
  }

  .tools-card-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .isy-tool-card,
  .isy-tool-card:nth-child(4){
    grid-column:span 2;
  }

  .isy-tool-card:nth-child(5){
    grid-column:2 / span 2;
  }

  .tools-process-shell{
    gap:48px;
  }
}

@media (max-width:767.98px){
  .tools-hero{
    min-height:0;
    padding:126px 0 82px;
  }

  .tools-hero::before{
    background:linear-gradient(180deg,rgba(3,13,26,.96),rgba(3,13,26,.87));
  }

  .tools-hero h1{
    font-size:clamp(2.45rem,11vw,3.3rem);
    line-height:1.08;
  }

  .tools-hero-actions,
  .tools-btn{
    width:100%;
  }

  .tools-hero-trust{
    display:grid;
    grid-template-columns:1fr;
  }

  .tools-intro,
  .tools-directory,
  .tools-process{
    padding-top:68px;
    padding-bottom:68px;
  }

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

  .isy-tool-card,
  .isy-tool-card:nth-child(4),
  .isy-tool-card:nth-child(5){
    grid-column:auto;
    min-height:0;
    padding:25px;
  }

  .tools-process-shell{
    padding:30px 24px;
    border-radius:22px;
  }

  .tools-note{
    padding-bottom:68px;
  }
}

@media (prefers-reduced-motion:reduce){
  .tools-btn,
  .isy-tool-card,
  .tool-card-link span,
  .tools-intro-copy a span{
    transition:none;
  }
}

/* Liste di controllo nelle sezioni di contenuto su sfondo chiaro.
   La variante base .hero-checklist resta bianca nella hero scura. */
.single-well .hero-checklist.content-checklist li{
  color:#1f2937;
  font-weight:400;
}

.single-well .hero-checklist.content-checklist li::before{
  background:rgba(13,59,102,.10);
  color:#0d3b66;
}

/* =========================================================
   ISY Property Care – Home Watch in Rome
   Dedicated page and real-estate pillar bridge
   ========================================================= */
.pillar-property-care{
  position:relative;
  overflow:hidden;
  margin:26px 0;
  padding:26px;
  border:1px solid #d8e3ee;
  border-radius:22px;
  background:linear-gradient(135deg,#f7fafc 0%,#edf4f8 100%);
  box-shadow:0 12px 34px rgba(15,23,42,.07);
}

.pillar-property-care::after{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  right:-86px;
  bottom:-112px;
  border-radius:50%;
  background:rgba(216,181,109,.18);
}

.pillar-property-care > *{
  position:relative;
  z-index:1;
}

.pillar-property-care .pillar-kicker,
.pc-kicker{
  display:block;
  margin-bottom:8px;
  color:#8a6424;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.pillar-property-care h3{
  margin:0 0 12px;
  color:#0d3b66;
  font-family:'Poppins','Inter',Arial,sans-serif;
  font-size:clamp(1.35rem,2.2vw,1.75rem);
  line-height:1.25;
}

.pillar-property-care p{
  margin-bottom:12px;
}

.pillar-property-care .pc-inline-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:16px 0 20px;
  padding:0;
  list-style:none;
}

.pillar-property-care .pc-inline-list li{
  padding:7px 11px;
  border:1px solid #d6e2ec;
  border-radius:999px;
  background:#fff;
  color:#334155;
  font-size:.87rem;
  font-weight:700;
}

.pc-text-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#0d3b66;
  font-weight:800;
  text-decoration:none;
}

.pc-text-link::after{
  content:"→";
  transition:transform .2s ease;
}

.pc-text-link:hover::after{
  transform:translateX(4px);
}

body.property-care-page .hero-executive{
  min-height:90vh;
}

body.property-care-page .hero-executive .hero-bg img{
  object-position:center 48%;
  filter:saturate(.78) contrast(1.05) brightness(.58);
}

body.property-care-page .hero-executive::before{
  background:linear-gradient(90deg,rgba(3,12,24,.94) 0%,rgba(3,14,28,.84) 47%,rgba(5,21,36,.62) 100%);
}

body.property-care-page .hero-executive::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(1,9,18,.34) 100%);
  pointer-events:none;
}

.pc-intro{
  max-width:920px;
  margin:0 auto;
  color:#334155;
  font-size:1.08rem;
  line-height:1.8;
  text-align:center;
}

.pc-section{
  padding:68px 0;
}

.pc-section-soft{
  background:linear-gradient(180deg,#f7f9fc 0%,#eef3f7 100%);
}

.pc-section-dark{
  background:#071321;
  color:#e5eef6;
}

.pc-section-dark h2,
.pc-section-dark h3{
  color:#fff;
}

.pc-section-dark p{
  color:rgba(229,238,246,.84);
}

.pc-section-head{
  max-width:850px;
  margin:0 auto 34px;
  text-align:center;
}

.pc-section-head h2{
  margin:0 0 14px;
  color:#0d3b66;
  font-family:'Poppins','Inter',Arial,sans-serif;
  font-size:clamp(1.85rem,3vw,2.65rem);
  line-height:1.2;
  font-weight:800;
}

.pc-section-head p{
  margin:0;
  color:#526273;
  font-size:1.05rem;
  line-height:1.75;
}

.pc-service-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.pc-service-card{
  position:relative;
  height:100%;
  padding:25px;
  border:1px solid #e1e8ef;
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 32px rgba(15,23,42,.065);
}

.pc-service-icon{
  width:48px;
  height:48px;
  margin-bottom:18px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#0d3b66;
  color:#fff;
  font-size:1.2rem;
  box-shadow:0 10px 24px rgba(13,59,102,.20);
}

.pc-service-card h3{
  margin:0 0 10px;
  color:#132033;
  font-size:1.13rem;
  line-height:1.35;
  font-weight:800;
}

.pc-service-card p{
  margin:0;
  color:#526273;
  line-height:1.7;
  text-align:left!important;
}

.pc-scope-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}

.pc-scope-panel{
  height:100%;
  padding:28px;
  border-radius:24px;
  background:#fff;
  border:1px solid #e1e8ef;
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}

.pc-scope-panel h3{
  margin:0 0 16px;
  color:#0d3b66;
  font-size:1.3rem;
  font-weight:800;
}

.pc-check-list{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}

.pc-check-list li{
  position:relative;
  padding-left:32px;
  color:#334155;
  line-height:1.62;
}

.pc-check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:1px;
  width:22px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#eaf1f7;
  color:#0d3b66;
  font-size:.78rem;
  font-weight:900;
}

.pc-process-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  counter-reset:pc-step;
}

.pc-process-step{
  position:relative;
  min-height:230px;
  padding:26px 22px 22px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:rgba(255,255,255,.06);
  counter-increment:pc-step;
}

.pc-process-step::before{
  content:"0" counter(pc-step);
  display:block;
  margin-bottom:24px;
  color:#d8b56d;
  font-family:'Poppins','Inter',Arial,sans-serif;
  font-size:1.4rem;
  font-weight:800;
}

.pc-process-step h3{
  margin:0 0 10px;
  font-size:1.08rem;
  font-weight:800;
}

.pc-process-step p{
  margin:0;
  line-height:1.65;
  text-align:left!important;
}

.pc-boundary{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);
  gap:26px;
  align-items:stretch;
}

.pc-boundary-main,
.pc-boundary-note{
  padding:30px;
  border-radius:24px;
}

.pc-boundary-main{
  border:1px solid #dce6ee;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}

.pc-boundary-note{
  background:#0d3b66;
  color:#eef5fb;
}

.pc-boundary h2,
.pc-boundary h3{
  margin:0 0 14px;
  font-family:'Poppins','Inter',Arial,sans-serif;
  font-weight:800;
}

.pc-boundary-main h2{
  color:#0d3b66;
  font-size:clamp(1.65rem,2.5vw,2.2rem);
}

.pc-boundary-note h3{
  color:#fff;
  font-size:1.25rem;
}

.pc-boundary p{
  margin-bottom:12px;
  line-height:1.75;
  text-align:left!important;
}

.pc-boundary-note p{
  color:rgba(238,245,251,.88);
}

.pc-limit-note{
  margin-top:20px;
  padding:17px 18px;
  border-left:4px solid #d8b56d;
  border-radius:12px;
  background:#fbf7ee;
  color:#4b5563;
  line-height:1.65;
}

.pc-area-strip{
  padding:26px;
  border:1px solid #dce6ee;
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 30px rgba(15,23,42,.055);
  text-align:center;
}

.pc-area-strip strong{
  display:block;
  margin-bottom:8px;
  color:#0d3b66;
  font-family:'Poppins','Inter',Arial,sans-serif;
  font-size:1.22rem;
}

.pc-area-strip p{
  max-width:820px;
  margin:0 auto;
  color:#526273;
  line-height:1.7;
}

.pc-cta-band{
  background:linear-gradient(135deg,#0d3b66 0%,#071321 100%);
  color:#fff;
  padding:58px 0;
}

.pc-cta-inner{
  display:flex;
  gap:28px;
  align-items:center;
  justify-content:space-between;
}

.pc-cta-copy{
  max-width:760px;
}

.pc-cta-copy h2{
  margin:0 0 10px;
  color:#fff;
  font-family:'Poppins','Inter',Arial,sans-serif;
  font-size:clamp(1.8rem,3vw,2.55rem);
  font-weight:800;
}

.pc-cta-copy p{
  margin:0;
  color:rgba(255,255,255,.82);
  line-height:1.7;
}

.pc-cta-button{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 24px;
  border-radius:999px;
  background:#fff;
  color:#071321;
  font-weight:800;
  text-decoration:none;
}

@media(max-width:991px){
  .pc-service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .pc-process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

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

@media(max-width:767px){
  body.property-care-page .hero-executive{
    min-height:auto;
  }

  body.property-care-page .hero-executive .hero-bg img{
    object-position:58% center;
  }

  .pillar-property-care{
    padding:21px;
  }

  .pc-section{
    padding:52px 0;
  }

  .pc-service-grid,
  .pc-scope-grid,
  .pc-process-grid{
    grid-template-columns:1fr;
  }

  .pc-process-step{
    min-height:0;
  }

  .pc-cta-inner{
    display:block;
    text-align:center;
  }

  .pc-cta-button{
    width:100%;
    margin-top:22px;
  }
}

/* =========================================================
   HERO EXECUTIVE — SFONDO STANDARD GLOBALE
   =========================================================
   Tutte le pagine che usano:
   <section class="hero-executive">
     <picture class="hero-bg">...</picture>
   </section>
   condividono ora ESATTAMENTE la stessa resa dello sfondo.
   Per ogni pagina cambia soltanto il file immagine nell'HTML.
*/

.hero-executive {
  min-height: 90vh !important;
}

.hero-executive .hero-bg {
  position: absolute;
  inset: 0;
  z-index: -3;
  overflow: hidden;
}

.hero-executive .hero-bg img {
  display: block !important;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48% !important;
  filter: saturate(0.9) contrast(1.05) brightness(0.80) !important;
  transform: none;
}

/* Stesso overlay leggero usato nella pagina Property Care */
.hero-executive::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(
    90deg,
    rgba(3,12,24,0.60) 0%,
    rgba(3,14,28,0.35) 50%,
    rgba(5,21,36,0.10) 100%
  ) !important;
}

.hero-executive::after {
  content: "";
  position: absolute;
  inset: 0 !important;
  height: auto !important;
  z-index: -1;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.08) 0%,
    rgba(1,9,18,0.34) 100%
  ) !important;
  pointer-events: none;
}

@media (max-width: 767px) {
  .hero-executive {
    min-height: auto !important;
  }

  .hero-executive .hero-bg img {
    object-position: 58% center !important;
  }
}


/* Hero interna: contenuto più alto */
.hero-executive .hero-copy {
  transform: translateY(-95px);
}

/* Tutte le pagine executive mantengono la posizione naturale */
body.executive-home .hero-executive .hero-copy {
  transform: none;
}


/* Hero più scura per migliorare il contrasto del testo */
.hero-executive::before {
  background:linear-gradient(
    90deg,
    rgba(3, 12, 24, 0.76) 0%,
    rgba(3, 14, 28, 0.66) 52%,
    rgba(5, 21, 36, 0.55) 100%
  ) !important;
}



/* Su mobile mantiene la posizione naturale */
@media (max-width: 767.98px) {
  .hero-executive .hero-copy {
    transform: none;
  }
}

/* =========================================================
   PAGINE EXECUTIVE — HERO VINCOLATA AL FORMATO 2:1
   =========================================================
   Da 1200 px in su, la hero mantiene esattamente lo stesso
   rapporto dell'immagine index (1774 × 887): niente fasce
   sopra o sotto e nessun ritaglio significativo.
*/
@media (min-width: 1200px) {
  body.executive-home .hero-executive {
    --hero-image-offset: clamp(38px, 3vw, 54px);
    box-sizing: border-box;
    height: 50vw;
    min-height: 0 !important;
    padding: clamp(92px, 6.5vw, 124px) 0 clamp(38px, 3.5vw, 68px);
    background: #071321;
  }

  /* Sposta in basso soltanto l'immagine, senza cambiare
     l'altezza della hero e senza creare una fascia al fondo. */
  body.executive-home .hero-executive .hero-bg {
    top: var(--hero-image-offset);
    bottom: calc(0px - var(--hero-image-offset));
  }

  body.executive-home .hero-executive .hero-bg img {
    object-fit: cover;
    object-position: center center !important;
  }

  body.executive-home .hero-grid {
    gap: clamp(30px, 4vw, 72px);
  }

  body.executive-home .hero-badge {
    margin-bottom: clamp(14px, 1.25vw, 22px);
  }

  body.executive-home .hero-executive h1 {
    font-size: clamp(2.65rem, 3.55vw, 4.5rem);
    margin-bottom: clamp(14px, 1.25vw, 22px);
  }

  body.executive-home .hero-executive .lead {
    font-size: clamp(1rem, 1.15vw, 1.3rem);
    line-height: 1.5;
  }

  body.executive-home .hero-actions-modern {
    margin-top: clamp(20px, 1.7vw, 30px);
  }

  body.executive-home .hero-actions-modern a {
    min-height: 48px;
    padding: 12px 22px;
  }

  body.executive-home .hero-trust-inline {
    gap: 9px 17px;
    margin-top: clamp(16px, 1.4vw, 24px);
    padding-top: clamp(14px, 1.2vw, 20px);
    font-size: clamp(.82rem, .78vw, .94rem);
  }

  body.executive-home .hero-glass-card {
    padding: clamp(22px, 1.8vw, 30px);
  }

  body.executive-home .hero-glass-card h2 {
    font-size: clamp(1.3rem, 1.32vw, 1.58rem);
    margin-bottom: 14px;
  }

  body.executive-home .hero-checklist {
    gap: 8px;
  }

  body.executive-home .hero-checklist li {
    font-size: clamp(.84rem, .78vw, .95rem);
    line-height: 1.32;
  }

  body.executive-home .hero-checklist li::before {
    flex-basis: 21px;
    width: 21px;
    height: 21px;
  }

  body.executive-home .hero-proof-block {
    margin-top: 17px;
    padding-top: 16px;
  }

  body.executive-home .hero-proof-grid {
    margin-bottom: 12px;
  }

  body.executive-home .hero-proof-block p {
    font-size: clamp(.76rem, .72vw, .86rem);
    line-height: 1.45;
  }
}

/* =========================================================
   HOMEPAGE — MENU IN VETRO SOPRA LA HERO
   =========================================================
   Evita la fascia scura netta che interrompe visivamente
   la parte alta dell'immagine, mantenendo leggibili i link.
*/
body.executive-home .header-area {
  background: linear-gradient(
    180deg,
    rgba(4, 12, 24, .24) 0%,
    rgba(4, 12, 24, .12) 62%,
    rgba(4, 12, 24, .02) 100%
  );
  backdrop-filter: blur(10px) saturate(115%);
  -webkit-backdrop-filter: blur(10px) saturate(115%);
  border-bottom: 0;
  box-shadow: none;
}

/* Il pannello del menu aperto su mobile rimane scuro e leggibile. */
@media (max-width: 767.98px) {
  body.executive-home .navbar-collapse {
    background: rgba(4, 12, 24, .94);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }
}

/* =========================================================
   MOBILE — HERO SENZA IMMAGINI
   =========================================================
   Su smartphone tutte le hero executive usano un fondo blu
   scuro uniforme: nessuna vecchia immagine e testo più pulito.
*/
@media (max-width: 767.98px) {
  .hero-executive {
    background: #071321 !important;
  }

  .hero-executive .hero-bg {
    display: none !important;
  }

  .hero-executive .hero-orb {
    display: none !important;
  }

  .hero-executive::before {
    background: linear-gradient(
      180deg,
      #071321 0%,
      #0a2038 58%,
      #071321 100%
    ) !important;
  }

  .hero-executive::after {
    background: none !important;
  }
}
