/*
Theme Name: Boomlab AI
Theme URI: https://www.boomlab.it/
Author: Boomlab
Author URI: https://www.boomlab.it/
Description: Tema custom per boomlab.it — consulenza e formazione AI per aziende, dal 2006.
Version: 1.0.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: boomlab-ai
*/

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600&display=swap');

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: #0A0A0A;
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
  color: #F5F5F5;
}

h1, h2, h3, .bl-display {
  font-family: 'Space Grotesk', system-ui, sans-serif;
  letter-spacing: -0.01em;
  margin: 0;
}

a { color: #E9404A; text-decoration: none; }
a:hover { color: #F5F5F5; }

img { max-width: 100%; display: block; }

.bl-container { width: 100%; }

/* Sfondi delle sezioni restano a piena larghezza; il contenuto dentro si ferma qui, centrato. */
.bl-inner { max-width: 1400px; margin: 0 auto; padding-left: 48px; padding-right: 48px; }

/* ---------- NAV ---------- */
.bl-nav {
  position: sticky;
  top: 0;
  z-index: 20;
  height: 88px;
  background: rgba(245,245,247,0.96);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(10,10,16,0.08);
}
.bl-nav::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, rgba(233,64,74,0) 0%, rgba(233,64,74,0.7) 25%, rgba(233,64,74,0.7) 75%, rgba(233,64,74,0) 100%);
}
.bl-nav .bl-inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.bl-nav-logo img { height: 30px; width: auto; }
.bl-nav-links { display: flex; align-items: center; gap: 28px; list-style: none; margin: 0; padding: 0; }
.bl-nav-links li { list-style: none; margin: 0; padding: 0; }
.bl-nav-links a {
  color: #3A3A46;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  transition: color 0.15s ease;
}
.bl-nav-links a:hover { color: #E9404A; }
.bl-nav-cta {
  background: linear-gradient(135deg,#E9404A,#B8222E);
  color: #F5F5F5 !important;
  font-size: 14px;
  font-weight: 600;
  padding: 12px 22px;
  border-radius: 100px;
  transition: opacity 0.15s ease;
}
.bl-nav-cta:hover { opacity: 0.88; color: #F5F5F5 !important; }

/* ---------- BUTTONS ---------- */
.bl-btn-primary {
  display: inline-block;
  background: linear-gradient(135deg,#E9404A,#B8222E);
  color: #F5F5F5;
  font-size: 15px;
  font-weight: 600;
  padding: 15px 26px;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  transition: opacity 0.15s ease;
}
.bl-btn-primary:hover { opacity: 0.88; color: #F5F5F5; }
.bl-btn-primary.bl-btn-light { background: #F5F5F5; color: #0A0A0A; }
.bl-btn-primary.bl-btn-light:hover { color: #0A0A0A; }
.bl-btn-ghost {
  display: inline-block;
  border: 1px solid rgba(255,255,255,0.2);
  color: #C7C7C7;
  font-size: 15px;
  font-weight: 600;
  padding: 15px 26px;
  border-radius: 100px;
  transition: border-color 0.15s ease, color 0.15s ease;
}
.bl-btn-ghost:hover { border-color: #F5F5F5; color: #F5F5F5; }

/* ---------- HERO SLIDER ---------- */
.bl-hero {
  position: relative;
  padding: 100px 0 40px 0;
  overflow: hidden;
  min-height: 620px;
}
.bl-hero-glow {
  position: absolute;
  top: 50%; left: 70%;
  transform: translate(-50%, -50%);
  width: 640px; height: 640px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(233,64,74,0.16), rgba(233,64,74,0.04) 45%, rgba(10,10,10,0) 72%);
  pointer-events: none;
}
.bl-hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  align-items: center;
  gap: 40px;
  min-height: 420px;
}
.bl-hero-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 26px; max-width: 620px; }

/* slide visibility toggles (driven by assets/js/main.js) */
.bl-eyebrow-item { display: none; }
.bl-eyebrow-item.is-active { display: inline; }
.bl-slide-text { display: none; flex-direction: column; align-items: flex-start; gap: 26px; }
.bl-slide-text.is-active { display: flex; }
.bl-visual-num { display: none; align-items: center; justify-content: center; width: 100%; }
.bl-visual-num.is-active { display: flex; }
.bl-eyebrow-pill {
  display: flex; align-items: center; gap: 10px;
  padding: 7px 14px 7px 10px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 100px;
}
.bl-eyebrow-pill .bl-dot { width: 6px; height: 6px; border-radius: 50%; background: #E9404A; animation: bl-pulse 2.4s ease-in-out infinite; }
.bl-eyebrow-pill span.bl-label { font-family: 'Space Grotesk', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.08em; color: #C7C7C7; }
@keyframes bl-pulse { 0%, 100% { opacity: 0.55; } 50% { opacity: 1; } }

.bl-hero-title { font-size: 52px; line-height: 1.08; font-weight: 700; color: #F5F5F5; }
.bl-hero-title .bl-grad-text {
  background: linear-gradient(135deg,#E9404A,#F5F5F5);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.bl-hero-title.bl-service-title { font-size: 48px; line-height: 1.1; }
.bl-hero-text { font-size: 17px; line-height: 1.6; color: #ADADB0; margin: 0; }
.bl-hero-actions { display: flex; align-items: center; gap: 16px; margin-top: 6px; flex-wrap: wrap; }

.bl-hero-visual { position: relative; display: flex; align-items: center; justify-content: center; min-height: 380px; }
.bl-hero-num-big {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 340px;
  font-weight: 700;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 2px rgba(255,255,255,0.14);
}

.bl-hero-dots { position: relative; display: flex; align-items: center; gap: 14px; margin-top: 56px; flex-wrap: wrap; }
.bl-hero-dots button {
  display: flex; align-items: center; gap: 8px;
  background: none; border: none; padding: 8px 4px; cursor: pointer;
  opacity: 0.6; transition: opacity 0.15s ease;
}
.bl-hero-dots button:hover { opacity: 1; }
.bl-hero-dots button.is-active { opacity: 1; }
.bl-hero-dots .bl-dot-num { font-family: 'Space Grotesk', sans-serif; font-size: 13px; font-weight: 700; color: #4A4A4A; }
.bl-hero-dots button.is-active .bl-dot-num { color: #E9404A; }
.bl-hero-dots .bl-dot-bar { width: 10px; height: 2px; background: #4A4A4A; display: block; transition: width 0.2s ease, background 0.2s ease; }
.bl-hero-dots button.is-active .bl-dot-bar { width: 28px; background: #E9404A; }

/* ---------- SECTIONS (generic) ---------- */
.bl-section { padding: 120px 0; }
.bl-section.bl-alt { background: #141414; border-top: 1px solid rgba(255,255,255,0.08); border-bottom: 1px solid rgba(255,255,255,0.08); }
.bl-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; color: #6B6B6B; text-transform: uppercase; margin-bottom: 14px; }
.bl-eyebrow.bl-eyebrow-accent { color: #E9404A; }
.bl-section-title { font-size: 34px; font-weight: 700; margin: 0 0 16px 0; color: #F5F5F5; }
.bl-section-intro { max-width: 640px; margin-bottom: 48px; }

/* ---------- CHI SIAMO ---------- */
.bl-chisiamo { padding: 100px 0 40px 0; }
.bl-chisiamo .bl-inner { display: grid; grid-template-columns: 180px 1fr; gap: 40px; align-items: start; }
.bl-chisiamo p { font-size: 20px; line-height: 1.6; color: #D6D6D6; max-width: 760px; margin: 0; font-weight: 400; }

/* ---------- AI CARDS ---------- */
.bl-ai-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.bl-card {
  background: #0A0A0A;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 20px;
  padding: 44px;
  display: flex; flex-direction: column; gap: 18px;
  transition: border-color 0.2s ease;
}
.bl-card:hover { border-color: rgba(233,64,74,0.5); }
.bl-card h3 { font-size: 24px; font-weight: 600; }
.bl-card p { font-size: 15.5px; line-height: 1.65; color: #ADADB0; margin: 0; }
.bl-card .bl-card-link { font-size: 14px; font-weight: 600; margin-top: 8px; color: #E9404A; cursor: pointer; }

/* ---------- SERVICES LIST ---------- */
.bl-services-list { display: flex; flex-direction: column; }
.bl-service-row {
  display: grid; grid-template-columns: 100px 320px 1fr;
  align-items: center; gap: 24px; padding: 40px 0;
  border-top: 1px solid rgba(255,255,255,0.1);
  transition: border-color 0.15s ease;
}
.bl-service-row:last-child { border-bottom: 1px solid rgba(255,255,255,0.1); }
.bl-service-row:hover { border-color: rgba(255,255,255,0.22); }
.bl-service-row .bl-row-num {
  font-family: 'Space Grotesk', sans-serif; font-size: 44px; font-weight: 700;
  color: #2A2A2A; line-height: 1; transition: color 0.15s ease;
}
.bl-service-row:hover .bl-row-num { color: #E9404A; }
.bl-service-row .bl-row-title { font-size: 22px; font-weight: 700; }
.bl-service-row .bl-row-text { font-size: 15px; color: #9A9A9A; }

/* ---------- STACK ---------- */
.bl-stack-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; }
.bl-stack-col { display: flex; flex-direction: column; gap: 18px; }
.bl-stack-label { font-size: 13px; font-weight: 600; color: #E9404A; text-transform: uppercase; letter-spacing: 0.06em; }
.bl-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.bl-chip { font-size: 13px; color: #D6D6D6; border: 1px solid rgba(255,255,255,0.14); border-radius: 100px; padding: 6px 14px; }

/* ---------- TEAM ---------- */
.bl-team-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin-bottom: 40px; }
.bl-team-card { display: flex; flex-direction: row; align-items: center; gap: 32px; padding: 56px; min-height: 260px; }
.bl-team-card img { width: 128px; height: 128px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.bl-team-card > div { display: flex; flex-direction: column; gap: 12px; }
.bl-team-name { font-size: 28px !important; }
.bl-team-role { font-size: 14px !important; }
.bl-team-name { font-size: 21px; font-weight: 700; }
.bl-team-role { font-size: 12px; font-weight: 600; color: #7C7C7C; text-transform: uppercase; letter-spacing: 0.06em; }
.bl-team-note { font-size: 15px; color: #9A9A9A; }

/* ---------- CLIENTI ---------- */
.bl-clienti-panel { border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; padding: 32px; background: #F5F5F5; }
.bl-clienti-panel img { border-radius: 6px; }

/* ---------- CONTATTI ---------- */
.bl-contatti-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.bl-contatti-copy { display: flex; flex-direction: column; gap: 24px; max-width: 460px; }
.bl-contatti-copy h2 { font-size: 38px; font-weight: 700; line-height: 1.15; }
.bl-contatti-copy p { font-size: 16px; line-height: 1.6; color: #ADADB0; margin: 0; }
.bl-contatti-direct { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.1); }
.bl-contatti-direct a { color: #F5F5F5; font-size: 15px; }

/* Card wrapper — shared by the static fallback form AND the embedded Gravity Forms form */
.bl-form { display: flex; flex-direction: column; gap: 18px; background: #0A0A0A; border: 1px solid rgba(255,255,255,0.1); border-radius: 20px; padding: 36px; }
.bl-form label { font-size: 12px; font-weight: 600; color: #7C7C7C; text-transform: uppercase; letter-spacing: 0.05em; display: block; margin-bottom: 8px; }
.bl-form input[type="text"],
.bl-form input[type="email"],
.bl-form textarea {
  width: 100%;
  padding: 0 16px;
  height: 48px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 10px;
  background: #141414;
  color: #F5F5F5;
  font-size: 14px;
  font-family: inherit;
}
.bl-form textarea { height: 90px; padding: 14px 16px; resize: vertical; }
.bl-form input::placeholder, .bl-form textarea::placeholder { color: #6B6B6B; }
.bl-form-checkbox { display: flex; align-items: center; gap: 10px; margin-top: 2px; font-size: 13px; color: #9A9A9A; }
.bl-form-checkbox input { width: 16px; height: 16px; }

/* ---------- Gravity Forms (tema "Orbital") — ricolorato con le sue CSS custom properties ---------- */
.bl-form .gform-theme {
  --gf-color-primary: #E9404A !important;
  --gf-color-primary-contrast: #ffffff !important;
  --gf-color-primary-darker: #B8222E !important;
  --gf-color-primary-lighter: #F0656D !important;
  --gf-color-secondary: #141414 !important;
  --gf-color-secondary-contrast: #F5F5F5 !important;
  --gf-color-in-ctrl: #141414 !important;
  --gf-color-in-ctrl-contrast: #F5F5F5 !important;
  --gf-color-in-ctrl-light: rgba(255,255,255,0.14) !important;
  --gf-color-in-ctrl-light-darker: rgba(255,255,255,0.28) !important;
  --gf-color-in-ctrl-light-lighter: #1A1A1A !important;
  --gf-color-in-ctrl-primary: #E9404A !important;
  --gf-color-in-ctrl-primary-contrast: #ffffff !important;
  --gf-color-out-ctrl-light: rgba(255,255,255,0.5) !important;
  --gf-color-out-ctrl-dark: #9A9A9A !important;
  --gf-color-out-ctrl-dark-lighter: #C7C7C7 !important;
  --gf-ctrl-border-color: rgba(255,255,255,0.14) !important;
  --gf-ctrl-label-color-primary: #7C7C7C !important;
  --gf-ctrl-label-color-secondary: #7C7C7C !important;
  --gf-radius: 10px !important;
}
.bl-form .gform_wrapper { width: 100%; margin: 0; font-family: inherit; }
.bl-form .gform_heading { display: none; } /* mostriamo gia' il nostro copy sopra il form */
.bl-form form.gform_form { margin: 0; }
.bl-form .gform_body, .bl-form .gform-body { margin: 0; }
.bl-form .gform_fields {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 18px;
}
.bl-form .gfield { margin: 0 !important; padding: 0; border: none; }
.bl-form .gfield_label,
.bl-form legend.gfield_label,
.bl-form .gform-field-label__text {
  font-size: 12px; font-weight: 600; color: #C7C7C7 !important;
  text-transform: uppercase; letter-spacing: 0.05em;
}
.bl-form .gfield_required_text { color: #E9404A; font-weight: 500; text-transform: none; letter-spacing: 0; font-size: 11px; }
.bl-form .gform-field-label--type-sub {
  font-size: 11px; font-weight: 500; color: #7C7C7C !important;
  text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 6px; display: block;
}
.bl-form .ginput_complex.gform-grid-row { display: flex; gap: 14px; flex-wrap: wrap; }
.bl-form .ginput_complex .gform-grid-col { flex: 1 1 160px; }
.bl-form .ginput_container input[type="text"],
.bl-form .ginput_container input[type="email"],
.bl-form .ginput_container input[type="tel"],
.bl-form .ginput_container input[type="number"],
.bl-form .ginput_container textarea,
.bl-form .ginput_container select {
  width: 100%; padding: 0 16px; height: 48px;
  border: 1px solid rgba(255,255,255,0.14); border-radius: 10px;
  background: #141414; color: #F5F5F5; font-size: 14px; font-family: inherit;
}
.bl-form .ginput_container_textarea textarea { height: 90px; padding: 14px 16px; }
.bl-form .gfield_description { font-size: 13px; color: #9A9A9A; margin: 4px 0 8px 0; }
.bl-form [data-text-counter-max] + *, .bl-form .gfield_description[id*="counter"] { font-size: 11px; color: #6B6B6B; }
.bl-form .ginput_container_consent { display: flex; align-items: center; gap: 10px; }
.bl-form .ginput_container_consent input[type="checkbox"] { width: 16px; height: 16px; accent-color: #E9404A; flex-shrink: 0; }
.bl-form .gform-field-label--type-inline { font-size: 13px; color: #9A9A9A; text-transform: none; letter-spacing: 0; font-weight: 400; }
.bl-form .gform-field-label--type-inline a { color: #E9404A; }
.bl-form .gform_footer, .bl-form .gform-footer,
.bl-form .gform_page_footer { margin: 6px 0 0 0; padding: 0; }
.bl-form .gform_button {
  background: #E9404A; color: #ffffff !important; font-size: 15px; font-weight: 600;
  padding: 15px 26px !important; border-radius: 100px !important; border: none !important; cursor: pointer;
  font-family: inherit; transition: opacity 0.15s ease;
}
.bl-form .gform_button:hover { opacity: 0.88; }
.bl-form .gform_validation_error .gfield_error input,
.bl-form .gform_validation_error .gfield_error textarea { border-color: #E9404A !important; }
.bl-form .validation_message { color: #E9404A; font-size: 12px; margin-top: 6px; }
.bl-form .gform_confirmation_message { color: #F5F5F5; font-size: 15px; line-height: 1.6; }

/* ---------- FOOTER ---------- */
.bl-footer {
  padding: 36px 0; border-top: 1px solid rgba(255,255,255,0.08);
}
.bl-footer .bl-inner {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 16px;
}
.bl-footer-brand { display: flex; align-items: center; gap: 20px; }
.bl-footer-brand img { height: 17px; width: auto; opacity: 0.9; }
.bl-footer-divider { width: 1px; height: 24px; background: rgba(255,255,255,0.12); }
.bl-footer-copy { font-size: 13px; color: #7C7C7C; }
.bl-footer-credit { font-size: 12px; color: #4E4E4E; }
.bl-footer-links { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.bl-footer-links li { list-style: none; margin: 0; padding: 0; }
.bl-footer-links a { font-size: 13px; color: #9A9A9A; }

/* ---------- PAGINE NORMALI (privacy, supporto, ecc. — non costruite con WPBakery) ---------- */
.bl-page-content { padding: 160px 0 120px 0; }
.bl-page-content .bl-inner > *:first-child { margin-top: 0; }
.bl-page-content h1, .bl-page-content h2, .bl-page-content h3, .bl-page-content h4 {
  font-family: 'Space Grotesk', system-ui, sans-serif;
  color: #F5F5F5; font-weight: 700; line-height: 1.25; margin: 40px 0 16px 0;
}
.bl-page-content h1 { font-size: 38px; }
.bl-page-content h2 { font-size: 28px; }
.bl-page-content h3 { font-size: 22px; }
.bl-page-content h4 { font-size: 18px; }
.bl-page-content p { font-size: 16px; line-height: 1.7; color: #ADADB0; margin: 0 0 16px 0; max-width: 820px; }
.bl-page-content ul, .bl-page-content ol { color: #ADADB0; font-size: 16px; line-height: 1.7; margin: 0 0 16px 0; padding-left: 24px; max-width: 820px; }
.bl-page-content li { margin-bottom: 8px; }
.bl-page-content a { color: #E9404A; }
.bl-page-content a:hover { color: #F5F5F5; }
.bl-page-content strong, .bl-page-content b { color: #F5F5F5; }
.bl-page-content table { border-collapse: collapse; margin: 0 0 16px 0; width: 100%; max-width: 820px; }
.bl-page-content table td, .bl-page-content table th { border: 1px solid rgba(255,255,255,0.14); padding: 10px 14px; font-size: 14px; color: #ADADB0; text-align: left; }

/* ---------- MENU A BURGER (mobile) ---------- */
.bl-nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 40px; height: 40px;
  background: none; border: none; padding: 0; cursor: pointer;
  flex-shrink: 0;
}
.bl-nav-toggle span { display: block; width: 22px; height: 2px; background: #3A3A46; border-radius: 2px; transition: transform 0.2s ease, opacity 0.2s ease; }
.bl-nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.bl-nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.bl-nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 960px) {
  .bl-inner { padding-left: 24px; padding-right: 24px; }

  .bl-nav-toggle { display: flex; }
  /* la sfocatura crea un contenitore per gli elementi fixed e schiacciava il pannello del menu */
  .bl-nav { backdrop-filter: none; -webkit-backdrop-filter: none; background: #F5F5F7; }
  .bl-nav-links {
    position: fixed; top: 88px; left: 0; right: 0; bottom: auto;
    height: calc(100vh - 88px); height: calc(100dvh - 88px);
    z-index: 30;
    flex-direction: column; align-items: stretch; gap: 0;
    background: #F5F5F7; padding: 8px 24px 32px 24px; overflow-y: auto;
    opacity: 0; transform: translateY(-8px); pointer-events: none;
    transition: opacity 0.18s ease, transform 0.18s ease;
  }
  .bl-nav-links.is-open { opacity: 1; transform: translateY(0); pointer-events: auto; }
  .bl-nav-links li { width: 100%; }
  .bl-nav-links a { display: block; padding: 18px 0; font-size: 15px; border-bottom: 1px solid rgba(10,10,16,0.08); }
  body.bl-menu-open { overflow: hidden; }
  .bl-nav-cta { padding: 10px 16px; font-size: 13px; }

  /* meno spazio verticale tra le sezioni su schermi piccoli */
  .bl-hero { padding: 64px 0 32px 0; min-height: 0; }
  .bl-chisiamo { padding: 64px 0 24px 0; }
  .bl-section { padding: 64px 0; }
  .bl-footer { padding: 28px 0; }

  .bl-hero-grid { grid-template-columns: 1fr; gap: 24px; }
  .bl-hero-visual { min-height: 160px; order: -1; }
  .bl-hero-num-big { font-size: 120px; }
  .bl-hero-title, .bl-hero-title.bl-service-title { font-size: 32px; }
  .bl-hero-dots { margin-top: 32px; }
  .bl-chisiamo .bl-inner { grid-template-columns: 1fr; }
  .bl-ai-grid, .bl-contatti-grid { grid-template-columns: 1fr; }
  .bl-service-row { grid-template-columns: 60px 1fr; padding: 28px 0; }
  .bl-service-row .bl-row-text { grid-column: 1 / -1; }
  .bl-stack-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .bl-team-grid { grid-template-columns: 1fr; }
  .bl-team-card { flex-direction: column; align-items: flex-start; padding: 36px; min-height: 0; }
  .bl-footer .bl-inner { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 560px) {
  .bl-hero-num-big { font-size: 84px; -webkit-text-stroke: 1.5px rgba(255,255,255,0.14); }
  .bl-hero-title, .bl-hero-title.bl-service-title { font-size: 28px; }
  .bl-section-title { font-size: 26px; }
  .bl-stack-grid { grid-template-columns: 1fr; }
  .bl-contatti-copy h2 { font-size: 28px; }
}
