/**
 * GATTOBRACCO – Pagina Servizi alle imprese v1.0
 *
 * Skill brand v2.2 modulazione b/c — accento CORTEN.
 * Anti-hype, severo, dicotomico.
 *
 * Classi prefisso .si- per non collidere con home/abitare.
 */

/* ───────── UTILITY ───────── */
.si-wrap        { max-width: 1240px; margin: 0 auto; padding: 0 56px; }
.si-wrap-narrow { max-width: 820px;  margin: 0 auto; padding: 0 56px; }

.si-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; font-weight: 500;
  color: var(--rust);
  letter-spacing: 3.5px; text-transform: uppercase;
  margin-bottom: 28px;
}
.si-eyebrow span { margin: 0 8px; color: rgba(189,106,52,0.45); }
.si-eyebrow-light { color: var(--corten-light); }

.si-h2 {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 300;
  font-size: clamp(34px, 4.5vw, 54px);
  line-height: 1.08; letter-spacing: -0.028em;
  color: var(--ink);
  font-variation-settings: "opsz" 144, "SOFT" 50;
  margin-bottom: 32px;
}
.si-h2 em {
  font-style: italic;
  color: var(--rust);
  font-variation-settings: "opsz" 144, "SOFT" 80;
}
.si-h2-light { color: var(--paper); }
.si-h2-light em { color: var(--corten-light); }

.si-lede {
  font-family: 'Source Serif 4', serif;
  font-size: 21px; line-height: 1.55;
  color: var(--ink);
  margin-bottom: 24px;
  font-weight: 400;
}

/* ───────── BUTTONS ───────── */
.si-btn-primary,
.si-btn-secondary {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; font-weight: 600;
  letter-spacing: 2.5px; text-transform: uppercase;
  padding: 16px 26px;
  border-radius: 2px;
  text-decoration: none;
  transition: all 0.2s ease;
}
.si-btn-primary {
  background: var(--rust);
  color: var(--paper);
  border: 1px solid var(--rust);
}
.si-btn-primary:hover { background: var(--rust-deep); border-color: var(--rust-deep); color: var(--paper); }
.si-btn-secondary {
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--ink);
}
.si-btn-secondary:hover { background: var(--ink); color: var(--paper); }
.si-btn-primary span,
.si-btn-secondary span { font-family: 'Source Serif 4', serif; font-size: 14px; }

/* ───────── HERO ───────── */
.si-hero {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  display: flex; align-items: center;
  background: var(--ink);
}
.si-hero-bg {
  position: absolute; inset: 0;
  background-image: url("/wp-content/uploads/2026/05/foto-saldatore-scaled.jpg");
  background-size: cover;
  background-position: center center;
  filter: saturate(0.9) contrast(1.05) brightness(0.7);
  z-index: 0;
}
.si-hero-bg::before {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(180deg,
      rgba(15,12,10,0.65) 0%,
      rgba(15,12,10,0.55) 50%,
      rgba(15,12,10,0.92) 100%),
    linear-gradient(90deg,
      rgba(15,12,10,0.55) 0%,
      rgba(15,12,10,0.10) 60%);
  z-index: 1;
}
.si-hero-content-wrapper {
  position: relative; z-index: 3;
  max-width: 1240px;
  margin: 0 auto;
  padding: 180px 56px 90px;
  width: 100%;
}
.si-hero-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; font-weight: 500;
  color: var(--corten-light);
  letter-spacing: 3.5px; text-transform: uppercase;
  margin-bottom: 32px;
  text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}
.si-hero-eyebrow span { margin: 0 10px; color: rgba(214,136,86,0.55); }
.si-hero-headline {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 300;
  font-size: clamp(44px, 6.5vw, 84px);
  line-height: 1.02; letter-spacing: -0.04em;
  color: var(--paper);
  font-variation-settings: "opsz" 144, "SOFT" 50;
  margin-bottom: 32px;
  text-shadow: 0 2px 16px rgba(0,0,0,0.5);
  max-width: 18ch;
}
.si-hero-headline em {
  font-style: italic;
  color: var(--corten-light);
  font-variation-settings: "opsz" 144, "SOFT" 80;
  text-shadow: 0 2px 18px rgba(0,0,0,0.6);
}
.si-hero-lede {
  font-family: 'Source Serif 4', serif;
  font-size: 21px; line-height: 1.55;
  color: var(--paper);
  max-width: 680px;
  margin-bottom: 48px;
  text-shadow: 0 2px 12px rgba(0,0,0,0.4);
}
.si-hero-cta-row { display: flex; gap: 16px; flex-wrap: wrap; }
.si-hero-cta-row .si-btn-secondary {
  color: var(--paper);
  border-color: rgba(250,246,238,0.5);
}
.si-hero-cta-row .si-btn-secondary:hover {
  background: var(--paper);
  color: var(--ink);
  border-color: var(--paper);
}

/* ───────── MANIFESTO ───────── */
.si-manifesto {
  background: var(--paper);
  padding: 140px 0;
  border-top: 1px solid var(--paper-edge);
}
.si-manifesto p {
  font-family: 'Source Serif 4', serif;
  font-size: 18px; line-height: 1.75;
  color: var(--ink-2);
  margin-bottom: 20px;
}
.si-manifesto p:last-child { margin-bottom: 0; }

/* ───────── SEI SERVIZI ───────── */
.si-services {
  background: var(--paper-warm);
  padding: 140px 0;
  border-top: 1px solid var(--paper-edge);
}
.si-section-header { max-width: 720px; margin-bottom: 80px; }

.si-services-list {
  list-style: none;
  padding: 0; margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid var(--paper-edge);
}
.si-services-list li {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 32px;
  padding: 36px 0;
  border-bottom: 1px solid var(--paper-edge);
  align-items: start;
}
.si-roman {
  font-family: 'Fraunces', Georgia, serif;
  font-style: italic;
  font-weight: 300;
  font-size: 36px;
  line-height: 1;
  color: var(--rust);
  font-variation-settings: "opsz" 144, "SOFT" 80;
  padding-top: 4px;
}
.si-service-body h3 {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 400;
  font-size: 24px; line-height: 1.2;
  color: var(--ink);
  font-variation-settings: "opsz" 96, "SOFT" 50;
  margin-bottom: 12px;
  letter-spacing: -0.012em;
}
.si-service-body p {
  font-family: 'Source Serif 4', serif;
  font-size: 16px; line-height: 1.7;
  color: var(--ink-2);
  max-width: 65ch;
}

/* ───────── COME LAVORIAMO (ink) ───────── */
.si-process {
  background: var(--ink-deep);
  color: var(--paper);
  padding: 140px 0;
  position: relative;
  overflow: hidden;
}
.si-process::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(900px 600px at 85% 20%, rgba(189,106,52,0.32) 0%, transparent 60%),
    radial-gradient(700px 500px at 5% 85%, rgba(184,148,90,0.14) 0%, transparent 60%);
  pointer-events: none;
}
.si-process > .si-wrap-narrow { position: relative; z-index: 1; }
.si-process .si-h2-light { margin-bottom: 64px; }

.si-steps {
  list-style: none; padding: 0; margin: 0;
}
.si-steps li {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 36px;
  padding: 32px 0;
  border-bottom: 1px solid rgba(245,239,228,0.15);
  align-items: start;
}
.si-steps li:last-child { border-bottom: none; }
.si-step-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 14px; font-weight: 600;
  letter-spacing: 2.5px;
  color: var(--corten-light);
  padding-top: 6px;
}
.si-step-body h4 {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 400;
  font-size: 24px; line-height: 1.2;
  color: var(--paper);
  font-variation-settings: "opsz" 96, "SOFT" 50;
  margin-bottom: 10px;
  letter-spacing: -0.012em;
}
.si-step-body p {
  font-family: 'Source Serif 4', serif;
  font-size: 16px; line-height: 1.65;
  color: rgba(245,239,228,0.7);
}

/* ───────── CTA FINALE ───────── */
.si-cta-final {
  background: var(--paper);
  padding: 140px 0 120px;
  text-align: left;
}
.si-cta-final p {
  font-family: 'Source Serif 4', serif;
  font-size: 18px; line-height: 1.7;
  color: var(--ink-2);
  max-width: 640px;
  margin-bottom: 48px;
}
.si-cta-row {
  display: flex; flex-wrap: wrap; gap: 16px;
  align-items: center;
}
.si-cta-row .si-btn-secondary:last-child {
  font-family: 'JetBrains Mono', monospace;
  text-transform: none;
  letter-spacing: 1px;
}

/* ───────── RESPONSIVE ───────── */
@media (max-width: 960px) {
  .si-wrap, .si-wrap-narrow { padding: 0 24px; }
  .si-hero-content-wrapper { padding: 140px 24px 80px; }
  .si-hero-headline { font-size: 40px; max-width: 100%; }
  .si-manifesto, .si-services, .si-process, .si-cta-final { padding: 80px 0; }
  .si-services-list li,
  .si-steps li {
    grid-template-columns: 60px 1fr;
    gap: 20px;
    padding: 28px 0;
  }
  .si-roman { font-size: 28px; }
  .si-step-num { font-size: 12px; }
  .si-service-body h3,
  .si-step-body h4 { font-size: 20px; }
}
@media (max-width: 600px) {
  .si-services-list li,
  .si-steps li {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .si-roman { font-size: 24px; margin-bottom: 4px; }
  .si-hero-cta-row { flex-direction: column; align-items: flex-start; }
  .si-hero-cta-row a { width: 100%; justify-content: center; }
}


/* ─────────────────────────────────────────────────────────
   AGGIUNTE 20 maggio 2026: foto Unsplash industriali
───────────────────────────────────────────────────────── */

/* Manifesto: layout 2-col testo + foto pezzi tecnici */
.si-manifesto-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
  gap: 72px;
  align-items: center;
}
.si-manifesto-image {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border: 1px solid var(--paper-edge);
  box-shadow: 0 18px 38px -16px rgba(26,22,18,0.25);
}
.si-manifesto-image img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.92);
}

/* Image strip full-width tra servizi e processo */
.si-image-strip {
  position: relative;
  height: clamp(280px, 40vw, 480px);
  overflow: hidden;
  background: var(--ink);
}
.si-image-strip img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.95) contrast(1.02);
}
.si-image-strip::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(180deg,
      rgba(15,12,10,0.15) 0%,
      rgba(15,12,10,0) 40%,
      rgba(15,12,10,0.55) 100%);
  pointer-events: none;
}

/* Come lavoriamo: layout 2-col foto workshop + steps */
.si-process-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
  gap: 72px;
  align-items: center;
}
.si-process-image {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border: 1px solid rgba(245,239,228,0.15);
  box-shadow: 0 24px 48px -16px rgba(0,0,0,0.4);
}
.si-process-image img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.92);
}

/* Responsive: collassa a 1-col sotto 880px */
@media (max-width: 880px) {
  .si-manifesto-grid,
  .si-process-grid {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }
  .si-manifesto-image,
  .si-process-image {
    aspect-ratio: 3 / 2;
  }
  .si-image-strip {
    height: clamp(220px, 50vw, 360px);
  }
}

/* PROOF — cliente principale Bianchi Industrial.
   Inserito dopo MANIFESTO, prima dei 6 servizi.
   S3 — 21 mag 2026 */
.si-proof {
  background: var(--paper);
  padding: 70px 0;
  border-top: 1px solid rgba(26,22,18,0.06);
}
.si-proof .si-eyebrow { margin-bottom: 14px; }
.si-proof .si-h2 { margin-bottom: 0; }
.si-proof-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 56px;
  align-items: center;
  max-width: 920px;
  margin: 40px 0 0;
}
.si-proof-logo { display: flex; align-items: center; }
.si-proof-logo img {
  display: block;
  width: 100%;
  max-width: 340px;
  height: auto;
}
.si-proof-text p {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 18px;
  line-height: 1.6;
  color: var(--ink);
  margin: 0;
  max-width: 50ch;
}
@media (max-width: 720px) {
  .si-proof { padding: 50px 0; }
  .si-proof-grid {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 28px;
  }
  .si-proof-logo img { max-width: 260px; }
  .si-proof-text p { font-size: 17px; }
}

/* FAQ — domande frequenti
   T1 — 21 mag 2026 (solo /servizi-imprese/) */
.si-faq {
  background: var(--paper);
  padding: 90px 0 100px;
  border-top: 1px solid rgba(26,22,18,0.06);
}
.si-faq .si-section-header { margin-bottom: 48px; }

.si-faq-list { max-width: 800px; }

.si-faq-item {
  border-bottom: 1px solid rgba(26,22,18,0.12);
  padding: 0;
}
.si-faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 26px 48px 26px 0;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--ink);
  position: relative;
  transition: color 0.2s ease;
}
.si-faq-item summary::-webkit-details-marker { display: none; }
.si-faq-item summary::after {
  content: '+';
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 26px;
  font-weight: 400;
  color: var(--corten);
  line-height: 1;
  transition: transform 0.2s ease;
}
.si-faq-item[open] summary::after {
  content: '\2013'; /* en dash */
}
.si-faq-item summary:hover { color: var(--corten); }
.si-faq-item p {
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 17px;
  line-height: 1.65;
  color: var(--ink);
  margin: 0 0 28px;
  max-width: 70ch;
}

@media (max-width: 720px) {
  .si-faq { padding: 60px 0 70px; }
  .si-faq .si-section-header { margin-bottom: 32px; }
  .si-faq-item summary {
    font-size: 18px;
    padding: 22px 40px 22px 0;
  }
  .si-faq-item summary::after { font-size: 24px; }
  .si-faq-item p { font-size: 16px; }
}
