/*
Theme Name:  Seonsite Studio
Theme URI:   https://seonsitestudio.com
Author:      Hanna Sanchez & Maria Sanchez
Author URI:  https://seonsitestudio.com
Description: Tema professionale per agenzia SEO. Mobile-first, SEO-first, performance-first.
Version:     1.0.0
License:     Proprietario — Seonsite Studio
Text Domain: seonsite-studio
*/

/* FONT — temporaneo Google Fonts CDN (sostituire con font locali nella Fase Performance) */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@300;400;500;600;700;800&display=swap');

/* ============================================================
   RESET
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; overflow-x: hidden; }
body { font-family: 'Inter', sans-serif; font-size: 16px; line-height: 1.75; color: #1E1B4B; background: #fff; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; transition: color .2s; }
ul, ol { list-style: none; }
button, input, textarea, select { font-family: inherit; font-size: inherit; }
h1,h2,h3,h4,h5,h6 { font-family: 'Bebas Neue', sans-serif; font-weight: 400; line-height: .9; color: #3730A3; letter-spacing: .02em; }
p { font-size: 15px; line-height: 1.75; color: #6B7280; }

/* ============================================================
   VARIABILI
   ============================================================ */
:root {
  --ind:     #3730A3;
  --ind-m:   #4F46E5;
  --ind-s:   #818CF8;
  --vio:     #6D28D9;
  --sky:     #38BDF8;
  --wh:      #ffffff;
  --off:     #F8FAFF;
  --lav:     #F0F2FF;
  --lav-m:   #E0E4FF;
  --lav-d:   #C7D2FE;
  --tx:      #1E1B4B;
  --mu:      #6B7280;
  --br:      rgba(55,48,163,.10);
}

/* ============================================================
   SKIP LINK ACCESSIBILITÀ
   ============================================================ */
.skip-link { position:absolute; top:-100%; left:16px; z-index:9999; padding:10px 20px; background:#4F46E5; color:#fff; font-weight:700; font-size:14px; border-radius:0 0 4px 4px; transition:top .2s; }
.skip-link:focus { top:0; color:#fff; }

/* ============================================================
   PULSANTI
   ============================================================ */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 32px; font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; border:2px solid transparent; cursor:pointer; transition:all .25s; white-space:nowrap; }
.btn:focus-visible { outline:3px solid var(--ind-s); outline-offset:3px; }
.btn-primary { background:var(--ind-m); color:#fff !important; border-color:var(--ind-m); }
.btn-primary:hover { background:var(--ind); border-color:var(--ind); }
.btn-outline-white { background:transparent; color:#fff !important; border-color:rgba(255,255,255,.40); }
.btn-outline-white:hover { border-color:#fff; }
.btn-outline { background:transparent; color:var(--ind) !important; border-color:var(--ind-m); }
.btn-outline:hover { background:var(--ind-m); color:#fff !important; }

/* ============================================================
   NAVIGAZIONE
   ============================================================ */
.ssp-nav { position:sticky; top:0; z-index:999; width:100%; background:rgba(255,255,255,.97); border-bottom:1px solid var(--br); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.ssp-nav__inner { display:flex; align-items:center; justify-content:space-between; height:72px; padding:0 5%; }
.ssp-nav__logo { display:flex; align-items:center; gap:8px; text-decoration:none; flex-shrink:0; }
.ssp-nav__logo img { height:44px; width:auto; }
.ssp-nav__logo-text { font-family:'Bebas Neue',sans-serif; font-size:22px; letter-spacing:.25em; color:var(--ind); display:flex; align-items:center; gap:8px; }
.ssp-nav__logo-dot { width:8px; height:8px; border-radius:50%; background:var(--ind-m); flex-shrink:0; }
.ssp-nav__menu { display:flex; align-items:center; gap:28px; flex:1; justify-content:center; }
.ssp-nav__menu a { font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--mu); padding-bottom:2px; border-bottom:2px solid transparent; transition:all .2s; }
.ssp-nav__menu a:hover, .ssp-nav__menu .current-menu-item > a { color:var(--ind); border-bottom-color:var(--ind-m); }
.ssp-nav__cta { flex-shrink:0; }
.ssp-nav__toggle { display:none; background:none; border:none; cursor:pointer; padding:8px; flex-direction:column; gap:5px; }
.ssp-nav__toggle span { display:block; width:24px; height:2px; background:var(--ind); border-radius:2px; transition:all .3s; }
.ssp-nav.scrolled { box-shadow:0 2px 20px rgba(55,48,163,.10); }

/* ============================================================
   HERO — sfondo scuro + foto
   ============================================================ */
.ssp-hero { width:100%; min-height:92vh; position:relative; overflow:hidden; display:flex; align-items:flex-end; padding:0 5% 72px; }
.ssp-hero__bg { position:absolute; inset:0; z-index:0; background-size:cover; background-position:center 25%; background-repeat:no-repeat; }
.ssp-hero__bg--fallback { background:linear-gradient(160deg,#1E1B4B 0%,#3730A3 45%,#4C1D95 100%) !important; }
.ssp-hero__overlay { position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(30,27,75,.20) 0%,rgba(30,27,75,.38) 40%,rgba(30,27,75,.80) 68%,rgba(30,27,75,.96) 100%); }
.ssp-hero__content { position:relative; z-index:2; width:100%; max-width:840px; }
.ssp-hero__eyebrow { display:flex; align-items:center; gap:12px; font-size:12px; font-weight:700; letter-spacing:.25em; text-transform:uppercase; color:#C7D2FE; margin-bottom:16px; }
.ssp-hero__eyebrow::before { content:''; display:block; width:36px; height:2px; background:#818CF8; flex-shrink:0; }
.ssp-hero__title { font-family:'Bebas Neue',sans-serif; font-size:clamp(68px,9.5vw,138px); line-height:.88; color:#fff; text-shadow:0 2px 32px rgba(0,0,0,.40); }
.ssp-hero__title .accent { color:#818CF8; display:block; }
.ssp-hero__subtitle { font-size:17px; color:rgba(255,255,255,.82); line-height:1.68; max-width:560px; margin:18px 0 40px; text-shadow:0 1px 10px rgba(0,0,0,.50); }
.ssp-hero__btns { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.ssp-hero__scroll { position:absolute; right:5%; bottom:72px; z-index:2; display:flex; flex-direction:column; align-items:center; gap:7px; }
.ssp-hero__scroll-text { font-size:9.5px; color:rgba(255,255,255,.30); letter-spacing:.30em; text-transform:uppercase; writing-mode:vertical-rl; }
.ssp-hero__scroll-line { width:1px; height:48px; background:linear-gradient(180deg,#818CF8,transparent); }

/* ============================================================
   STATS BAR — sfondo indigo
   ============================================================ */
.ssp-statsbar { width:100%; background:var(--ind); display:grid; grid-template-columns:repeat(4,1fr); }
.ssp-statsbar__item { padding:18px 36px; display:flex; align-items:center; gap:14px; border-right:1px solid rgba(255,255,255,.12); transition:background .2s; }
.ssp-statsbar__item:hover { background:rgba(255,255,255,.08); }
.ssp-statsbar__item:last-child { border-right:none; }
.ssp-statsbar__icon { font-size:24px; flex-shrink:0; }
.ssp-statsbar__num { font-family:'Bebas Neue',sans-serif; font-size:20px; color:#fff; letter-spacing:.05em; display:block; line-height:1.1; }
.ssp-statsbar__label { font-size:11px; color:rgba(255,255,255,.60); text-transform:uppercase; letter-spacing:.05em; }

/* ============================================================
   SEZIONI — helpers
   ============================================================ */
.ssp-sec { width:100%; padding:72px 5%; }
.ssp-sec--white { background:#fff; }
.ssp-sec--lav { background:var(--lav); }
.ssp-sec--indigo { background:var(--ind); }
.ssp-sec__label { display:flex; align-items:center; gap:10px; font-size:11px; font-weight:700; letter-spacing:.35em; text-transform:uppercase; color:var(--ind-m); margin-bottom:8px; }
.ssp-sec__label::before { content:''; display:block; width:26px; height:2px; background:var(--ind-m); flex-shrink:0; }
.ssp-sec__label--white { color:rgba(255,255,255,.70); }
.ssp-sec__label--white::before { background:rgba(255,255,255,.50); }
.ssp-sec__h2 { font-family:'Bebas Neue',sans-serif; font-size:clamp(42px,5vw,72px); line-height:.9; color:var(--ind); margin-bottom:8px; }
.ssp-sec__h2--white { color:#fff; }
.ssp-sec__intro { font-size:17px; color:var(--mu); line-height:1.78; max-width:640px; margin-bottom:52px; }

/* ============================================================
   PROBLEMA / AGITAZIONE — cards sfondo bianco
   ============================================================ */
.ssp-problem__intro { font-size:17px; color:var(--mu); line-height:1.78; max-width:780px; margin-bottom:48px; }
.ssp-problem__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:48px; }
.ssp-problem__card { background:var(--lav); border:1px solid var(--br); border-radius:3px; padding:32px; transition:transform .2s,box-shadow .2s; }
.ssp-problem__card:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(55,48,163,.12); }
.ssp-problem__icon { font-size:40px; margin-bottom:16px; display:block; }
.ssp-problem__card h3 { font-family:'Inter',sans-serif; font-size:17px; font-weight:700; color:var(--ind); margin-bottom:10px; line-height:1.3; }
.ssp-problem__card p { font-size:14.5px; color:var(--mu); line-height:1.72; }
.ssp-problem__cta { text-align:center; padding-top:8px; }

/* ============================================================
   3 COLONNE PREVIEW
   ============================================================ */
.ssp-3col { width:100%; background:#fff; display:grid; grid-template-columns:1fr 1fr 1fr; border-top:1px solid var(--br); border-bottom:1px solid var(--br); }
.ssp-3col__col { padding:52px 36px; border-right:1px solid var(--br); }
.ssp-3col__col:last-child { border-right:none; }
.ssp-3col__label { font-size:10.5px; font-weight:700; letter-spacing:.30em; text-transform:uppercase; color:var(--ind-m); margin-bottom:6px; }
.ssp-3col__title { font-family:'Bebas Neue',sans-serif; font-size:42px; color:var(--ind); line-height:.9; margin-bottom:5px; }
.ssp-3col__sub { font-size:12px; color:var(--sky); font-weight:700; letter-spacing:.10em; text-transform:uppercase; margin-bottom:14px; }
.ssp-3col__divider { width:26px; height:2px; background:var(--ind-m); margin-bottom:24px; }
.ssp-3col__link { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700; color:var(--mu); text-transform:uppercase; letter-spacing:.10em; margin-top:18px; transition:color .2s; }
.ssp-3col__link:hover { color:var(--ind); }
.ssp-3col__link::after { content:'→'; color:var(--ind-m); }

/* Photo cards verticali */
.ssp-pcards { display:flex; flex-direction:column; gap:9px; }
.ssp-pcard { display:block; border-radius:3px; overflow:hidden; position:relative; cursor:pointer; transition:transform .3s,box-shadow .3s; text-decoration:none; }
.ssp-pcard:hover { transform:translateY(-3px); box-shadow:0 12px 32px rgba(55,48,163,.15); }
.ssp-pcard__img { width:100%; height:145px; position:relative; overflow:hidden; }
.ssp-pcard__img::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 20%,rgba(30,27,75,.72) 100%); }
.ssp-pcard--1 .ssp-pcard__img { background:linear-gradient(135deg,#1e3a8a,#312e81); }
.ssp-pcard--2 .ssp-pcard__img { background:linear-gradient(160deg,#1e40af,#4c1d95); }
.ssp-pcard--3 .ssp-pcard__img { background:linear-gradient(120deg,#2e1065,#1d4ed8); }
.ssp-pcard--4 .ssp-pcard__img { background:linear-gradient(150deg,#0c4a6e,#1e3a8a); }
.ssp-pcard--5 .ssp-pcard__img { background:linear-gradient(130deg,#4a1d96,#1d4ed8); }
.ssp-pcard__img::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 45% 35%,rgba(129,140,248,.45),transparent 65%); }
.ssp-pcard__icon { position:absolute; top:12px; right:12px; font-size:20px; z-index:2; }
.ssp-pcard__info { position:absolute; bottom:0; left:0; right:0; padding:11px 13px; z-index:2; }
.ssp-pcard__title { font-size:14px; font-weight:700; color:#fff; display:block; margin-bottom:1px; }
.ssp-pcard__desc { font-size:10.5px; color:rgba(255,255,255,.55); text-transform:uppercase; letter-spacing:.05em; }

/* Photo cards orizzontali */
.ssp-pcards-h { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.ssp-pcard-h { display:block; border-radius:3px; overflow:hidden; cursor:pointer; transition:transform .3s; text-decoration:none; }
.ssp-pcard-h:hover { transform:translateY(-2px); }
.ssp-pcard-h__img { height:120px; position:relative; overflow:hidden; }
.ssp-pcard-h--1 .ssp-pcard-h__img { background:linear-gradient(140deg,#1e3a8a,#312e81); }
.ssp-pcard-h--2 .ssp-pcard-h__img { background:linear-gradient(130deg,#1d4ed8,#4c1d95); }
.ssp-pcard-h--3 .ssp-pcard-h__img { background:linear-gradient(150deg,#0369a1,#1e3a8a); }
.ssp-pcard-h__img::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 40%,rgba(129,140,248,.50),transparent 65%); }
.ssp-pcard-h__img::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgba(30,27,75,.78) 100%); }
.ssp-pcard-h__date { position:absolute; top:10px; left:10px; z-index:2; }
.ssp-pcard-h__num { font-family:'Bebas Neue',sans-serif; font-size:28px; color:#fff; line-height:1; display:block; }
.ssp-pcard-h__unit { font-size:9px; color:rgba(255,255,255,.55); letter-spacing:.20em; text-transform:uppercase; display:block; }
.ssp-pcard-h__body { background:var(--lav); padding:10px 11px; border:1px solid var(--br); border-top:none; }
.ssp-pcard-h__title { font-size:12.5px; font-weight:700; color:var(--ind); display:block; margin-bottom:1px; }
.ssp-pcard-h__meta { font-size:10.5px; color:var(--mu); text-transform:uppercase; letter-spacing:.04em; }
.ssp-pcard-h__arrow { font-size:11px; color:var(--ind-m); font-weight:700; margin-top:6px; display:block; }

/* Team cards */
.ssp-tcards { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.ssp-tcard { display:block; cursor:pointer; transition:transform .3s; text-decoration:none; }
.ssp-tcard:hover { transform:translateY(-2px); }
.ssp-tcard__img { height:145px; position:relative; overflow:hidden; border-radius:3px; }
.ssp-tcard--1 .ssp-tcard__img { background:linear-gradient(150deg,#1e3a8a,#312e81,#0c0e28); }
.ssp-tcard--2 .ssp-tcard__img { background:linear-gradient(140deg,#1d4ed8,#4c1d95,#0c0c28); }
.ssp-tcard--3 .ssp-tcard__img { background:linear-gradient(130deg,#1e40af,#2e1065,#0a0e24); }
.ssp-tcard__img::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 30%,rgba(129,140,248,.45),transparent 60%); }
.ssp-tcard__img::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgba(30,27,75,.82) 100%); }
.ssp-tcard__sil { position:absolute; bottom:0; left:50%; transform:translateX(-50%); z-index:1; width:60px; height:80px; border-radius:50% 50% 0 0; background:#818CF8; opacity:.15; }
.ssp-tcard__info { padding:9px 2px 0; }
.ssp-tcard__name { font-size:13px; font-weight:700; color:var(--tx); margin-bottom:2px; display:block; }
.ssp-tcard__role { font-size:10px; color:var(--ind-m); text-transform:uppercase; letter-spacing:.05em; display:block; }

/* ============================================================
   TICKER
   ============================================================ */
.ssp-ticker { width:100%; background:var(--lav); border-top:1px solid var(--br); border-bottom:1px solid var(--br); padding:14px 0; overflow:hidden; }
.ssp-ticker__inner { display:flex; white-space:nowrap; animation:ssp-ticker 28s linear infinite; }
.ssp-ticker:hover .ssp-ticker__inner { animation-play-state:paused; }
.ssp-ticker__item { font-family:'Bebas Neue',sans-serif; font-size:16px; color:var(--ind); letter-spacing:.15em; padding:0 36px; }
.ssp-ticker__sep { color:var(--ind-s); }
@keyframes ssp-ticker { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ============================================================
   COSA COPRIAMO
   ============================================================ */
.ssp-coverage { display:grid; grid-template-columns:1fr 2fr; gap:64px; align-items:start; }
.ssp-coverage__left p { font-size:15px; color:var(--mu); line-height:1.78; margin-bottom:28px; }
.ssp-coverage__btns { display:flex; gap:12px; flex-wrap:wrap; }
.ssp-coverage__grid { display:grid; grid-template-columns:repeat(3,1fr); background:#fff; border:1px solid var(--br); }
.ssp-coverage__item { padding:24px; border-right:1px solid var(--br); border-bottom:1px solid var(--br); transition:background .2s; }
.ssp-coverage__item:hover { background:var(--lav); }
.ssp-coverage__item:nth-child(3n) { border-right:none; }
.ssp-coverage__item:nth-last-child(-n+3) { border-bottom:none; }
.ssp-coverage__icon { font-size:24px; margin-bottom:9px; display:block; }
.ssp-coverage__item h4 { font-family:'Inter',sans-serif; font-size:13px; font-weight:700; color:var(--ind); margin-bottom:4px; }
.ssp-coverage__item p { font-size:12px; color:var(--mu); line-height:1.6; }

/* ============================================================
   METODO 4 STEP
   ============================================================ */
.ssp-steps { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--br); margin-top:32px; }
.ssp-step { padding:32px 24px; border-right:1px solid var(--br); position:relative; transition:background .2s; }
.ssp-step:last-child { border-right:none; }
.ssp-step:hover { background:var(--lav); }
.ssp-step::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--ind-m); transform:scaleX(0); transform-origin:left; transition:transform .4s; }
.ssp-step:hover::before { transform:scaleX(1); }
.ssp-step__num { font-family:'Bebas Neue',sans-serif; font-size:80px; color:rgba(55,48,163,.06); line-height:1; position:absolute; top:12px; right:12px; }
.ssp-step__icon { font-size:28px; margin-bottom:12px; display:block; }
.ssp-step h3 { font-family:'Inter',sans-serif; font-size:15.5px; font-weight:700; color:var(--ind); margin-bottom:7px; line-height:1.3; }
.ssp-step p { font-size:12.5px; color:var(--mu); line-height:1.72; }
.ssp-step__tools { display:flex; flex-wrap:wrap; gap:5px; margin-top:12px; }
.ssp-step__tool { font-size:10px; font-weight:600; background:var(--lav-m); color:var(--ind-m); padding:3px 9px; border-radius:2px; }
.ssp-step__cta { text-align:center; margin-top:40px; }

/* ============================================================
   SERVIZI 6 CARD
   ============================================================ */
.ssp-services { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:48px; }
.ssp-service { background:#fff; border:1px solid var(--br); border-radius:3px; padding:32px; position:relative; overflow:hidden; transition:transform .2s,box-shadow .2s; }
.ssp-service:hover { transform:translateY(-4px); box-shadow:0 12px 36px rgba(55,48,163,.12); }
.ssp-service::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--ind-m),var(--vio)); }
.ssp-service__icon { font-size:36px; margin-bottom:16px; display:block; }
.ssp-service__tag { display:inline-block; font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ind-m); background:var(--lav); padding:4px 10px; border-radius:2px; margin-bottom:10px; }
.ssp-service h3 { font-family:'Bebas Neue',sans-serif; font-size:30px; color:var(--ind); margin-bottom:10px; line-height:1; }
.ssp-service__target { font-size:12.5px; color:var(--ind-m); font-weight:600; margin-bottom:8px; }
.ssp-service p { font-size:14px; color:var(--mu); line-height:1.72; }

/* ============================================================
   PERCHÉ NOI
   ============================================================ */
.ssp-why { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:48px; }
.ssp-why__card { background:var(--lav); border:1px solid var(--br); border-radius:3px; padding:32px; border-top:3px solid var(--ind-m); transition:transform .2s; }
.ssp-why__card:hover { transform:translateY(-3px); }
.ssp-why__icon { font-size:36px; margin-bottom:14px; display:block; }
.ssp-why__num { font-family:'Bebas Neue',sans-serif; font-size:48px; color:rgba(55,48,163,.15); line-height:1; margin-bottom:10px; display:block; }
.ssp-why__card h3 { font-family:'Inter',sans-serif; font-size:17px; font-weight:700; color:var(--ind); margin-bottom:10px; line-height:1.3; }
.ssp-why__card p { font-size:14.5px; color:var(--mu); line-height:1.72; }

/* ============================================================
   CASE STUDY
   ============================================================ */
.ssp-cases { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:48px; }
.ssp-case { background:#fff; border:1px solid var(--br); border-radius:3px; overflow:hidden; }
.ssp-case__head { background:var(--ind); padding:24px; display:flex; align-items:flex-start; gap:14px; }
.ssp-case__icon { font-size:40px; flex-shrink:0; }
.ssp-case__sector { font-size:10.5px; font-weight:700; color:var(--lav-d); text-transform:uppercase; letter-spacing:.08em; margin-bottom:4px; display:block; }
.ssp-case__head h3 { font-family:'Inter',sans-serif; font-size:16px; font-weight:700; color:#fff; line-height:1.35; }
.ssp-case__body { padding:24px; background:var(--lav); display:flex; flex-direction:column; gap:12px; }
.ssp-case__metric { background:#fff; border-radius:2px; padding:14px 16px; border-left:3px solid var(--ind-m); }
.ssp-case__num { font-family:'Bebas Neue',sans-serif; font-size:44px; color:var(--ind); line-height:1; display:block; }
.ssp-case__num em { font-style:normal; font-size:24px; color:var(--ind-m); }
.ssp-case__desc { font-size:11.5px; color:var(--mu); text-transform:uppercase; letter-spacing:.04em; display:block; margin-top:2px; }

/* ============================================================
   ULTIMI LAVORI
   ============================================================ */
.ssp-portfolio { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:48px; }
.ssp-work { background:var(--off); border:1px solid var(--br); padding:24px; transition:border-color .2s,background .2s; }
.ssp-work:hover { border-color:var(--ind-m); background:var(--lav); }
.ssp-work__sector { font-size:10.5px; font-weight:700; color:var(--ind-m); text-transform:uppercase; letter-spacing:.08em; margin-bottom:7px; display:block; }
.ssp-work h3 { font-family:'Inter',sans-serif; font-size:15px; font-weight:700; color:var(--ind); margin-bottom:3px; line-height:1.3; }
.ssp-work__type { font-size:11.5px; color:var(--mu); text-transform:uppercase; letter-spacing:.03em; margin-bottom:12px; display:block; }
.ssp-work__result { background:var(--lav-m); border-radius:2px; padding:9px 12px; font-size:13px; color:var(--ind); border-left:2px solid var(--ind-m); display:block; line-height:1.5; }

/* ============================================================
   PARTNER / LOGHI
   ============================================================ */
.ssp-partners__intro { font-size:16px; color:var(--mu); margin-bottom:40px; max-width:600px; }
.ssp-partners__logos { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.ssp-partner-logo { background:#fff; border:1px solid var(--br); border-radius:3px; padding:16px 28px; font-family:'Bebas Neue',sans-serif; font-size:17px; color:var(--ind); letter-spacing:.15em; transition:border-color .2s,background .2s; display:flex; align-items:center; gap:10px; }
.ssp-partner-logo:hover { border-color:var(--ind-m); background:var(--lav); }
.ssp-partner-logo img { height:28px; width:auto; }

/* ============================================================
   TEAM FONDATRICI
   ============================================================ */
.ssp-team { display:grid; grid-template-columns:1fr 2fr; gap:64px; align-items:start; }
.ssp-team__left p { font-size:15px; color:var(--mu); line-height:1.78; margin-bottom:28px; }
.ssp-team__grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.ssp-member { background:var(--off); border:1px solid var(--br); overflow:hidden; transition:border-color .3s,box-shadow .3s; }
.ssp-member:hover { border-color:var(--ind-m); box-shadow:0 8px 32px rgba(55,48,163,.10); }
.ssp-member__photo { height:200px; position:relative; overflow:hidden; }
.ssp-member__photo img { width:100%; height:100%; object-fit:cover; object-position:top center; }
.ssp-member--1 .ssp-member__photo { background:linear-gradient(150deg,#1e3a8a,#312e81,#0c0e28); }
.ssp-member--2 .ssp-member__photo { background:linear-gradient(140deg,#1d4ed8,#4c1d95,#0c0c28); }
.ssp-member__photo::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 35%,rgba(129,140,248,.45),transparent 60%); pointer-events:none; }
.ssp-member__photo::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(30,27,75,.82) 100%); pointer-events:none; }
.ssp-member__sil { position:absolute; bottom:0; left:50%; transform:translateX(-50%); z-index:1; width:80px; height:106px; border-radius:50% 50% 0 0; background:#818CF8; opacity:.13; }
.ssp-member__info { padding:20px; }
.ssp-member__initials { font-family:'Bebas Neue',sans-serif; font-size:15px; color:var(--ind-m); letter-spacing:.20em; margin-bottom:4px; display:block; }
.ssp-member h3 { font-family:'Inter',sans-serif; font-size:18px; font-weight:700; color:var(--ind); margin-bottom:2px; }
.ssp-member__role { font-size:11px; color:var(--ind-m); text-transform:uppercase; letter-spacing:.07em; margin-bottom:10px; display:block; }
.ssp-member__bio { font-size:13.5px; color:var(--mu); line-height:1.65; }

/* ============================================================
   QUOTE — sfondo indigo
   ============================================================ */
.ssp-quote { text-align:center; }
.ssp-quote__mark { font-family:'Bebas Neue',sans-serif; font-size:100px; color:rgba(255,255,255,.20); line-height:.7; display:block; }
.ssp-quote__text { font-family:'Bebas Neue',sans-serif; font-size:clamp(24px,3.5vw,46px); color:#fff; line-height:1.1; max-width:820px; margin:12px auto 20px; }
.ssp-quote__text strong { color:var(--ind-s); font-weight:400; }
.ssp-quote__author { font-size:12px; font-weight:600; color:rgba(255,255,255,.60); text-transform:uppercase; letter-spacing:.20em; display:block; }

/* ============================================================
   FAQ
   ============================================================ */
.ssp-faq__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:48px; }
.ssp-faq__item { background:#fff; border:1px solid var(--br); border-radius:3px; overflow:hidden; }
.ssp-faq__q { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; padding:20px; font-size:14.5px; font-weight:700; color:var(--ind); cursor:pointer; user-select:none; line-height:1.4; }
.ssp-faq__q::after { content:'+'; font-size:20px; color:var(--ind-m); flex-shrink:0; transition:transform .3s; line-height:1; }
.ssp-faq__item.is-open .ssp-faq__q::after { transform:rotate(45deg); }
.ssp-faq__a { height:0; overflow:hidden; transition:height 300ms ease; }
.ssp-faq__a-inner { padding:0 20px 20px; font-size:14px; color:var(--mu); line-height:1.72; }

/* ============================================================
   CTA FORM
   ============================================================ */
.ssp-cta { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.ssp-cta__left p { font-size:15px; color:var(--mu); line-height:1.78; margin-bottom:28px; }
.ssp-trust { display:flex; flex-direction:column; gap:12px; list-style:none; }
.ssp-trust li { display:flex; align-items:flex-start; gap:11px; font-size:14px; color:var(--mu); line-height:1.5; }
.ssp-trust__icon { font-size:18px; flex-shrink:0; }
.ssp-form { background:#fff; border:1px solid var(--br); padding:36px; box-shadow:0 4px 32px rgba(55,48,163,.08); }
.ssp-form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.ssp-form-group { display:flex; flex-direction:column; gap:5px; margin-bottom:12px; }
.ssp-form-group label { font-size:10.5px; font-weight:700; color:var(--ind); letter-spacing:.15em; text-transform:uppercase; }
.ssp-form-group input, .ssp-form-group textarea, .ssp-form-group select { background:var(--off); border:1.5px solid var(--lav-m); padding:11px 13px; font-size:14px; font-family:'Inter',sans-serif; color:var(--tx); outline:none; width:100%; transition:border-color .2s; border-radius:0; }
.ssp-form-group input:focus, .ssp-form-group textarea:focus { border-color:var(--ind-m); }
.ssp-form-group textarea { resize:none; height:96px; }
.ssp-form-submit { width:100%; background:var(--ind-m); color:#fff; padding:15px; border:2px solid var(--ind-m); font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:.15em; text-transform:uppercase; cursor:pointer; margin-top:6px; transition:all .2s; display:block; }
.ssp-form-submit:hover { background:var(--ind); border-color:var(--ind); }
.ssp-form-note { font-size:11px; color:#9CA3AF; margin-top:10px; line-height:1.5; }
/* Contact Form 7 override */
.wpcf7-form input, .wpcf7-form textarea { background:var(--off); border:1.5px solid var(--lav-m); padding:11px 13px; font-size:14px; font-family:'Inter',sans-serif; color:var(--tx); outline:none; width:100%; transition:border-color .2s; }
.wpcf7-form input:focus, .wpcf7-form textarea:focus { border-color:var(--ind-m); }
.wpcf7-form input[type="submit"] { width:100%; background:var(--ind-m); color:#fff; padding:15px; border:2px solid var(--ind-m); font-family:'Bebas Neue',sans-serif; font-size:20px; letter-spacing:.15em; text-transform:uppercase; cursor:pointer; transition:all .2s; }
.wpcf7-form input[type="submit"]:hover { background:var(--ind); border-color:var(--ind); }

/* ============================================================
   FOOTER
   ============================================================ */
.ssp-footer { background:var(--ind); }
.ssp-footer__inner { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:52px; padding:52px 5%; }
.ssp-footer__logo { margin-bottom:10px; }
.ssp-footer__logo img { height:40px; width:auto; }
.ssp-footer__logo-text { font-family:'Bebas Neue',sans-serif; font-size:22px; letter-spacing:.25em; color:#fff; display:flex; align-items:center; gap:8px; }
.ssp-footer__logo-dot { width:7px; height:7px; border-radius:50%; background:var(--ind-s); flex-shrink:0; }
.ssp-footer__tagline { font-size:11px; color:rgba(255,255,255,.50); letter-spacing:.10em; text-transform:uppercase; margin:8px 0 12px; display:block; }
.ssp-footer__desc { font-size:13px; color:rgba(255,255,255,.40); line-height:1.72; margin-bottom:20px; }
.ssp-footer__col-title { font-family:'Inter',sans-serif; font-size:10.5px; font-weight:700; color:var(--ind-s); letter-spacing:.20em; text-transform:uppercase; margin-bottom:14px; display:block; }
.ssp-footer__col ul { list-style:none; }
.ssp-footer__col li, .ssp-footer__col p { font-size:13px; color:rgba(255,255,255,.38); margin-bottom:7px; line-height:1.5; }
.ssp-footer__col a { font-size:13px; color:rgba(255,255,255,.38); display:block; margin-bottom:7px; transition:color .2s; text-decoration:none; }
.ssp-footer__col a:hover { color:#fff; }
.ssp-footer__bottom { display:flex; justify-content:space-between; align-items:center; padding:18px 5%; border-top:1px solid rgba(255,255,255,.07); gap:16px; flex-wrap:wrap; }
.ssp-footer__copy { font-size:11px; color:rgba(255,255,255,.22); }
.ssp-footer__legal { display:flex; gap:20px; }
.ssp-footer__legal a { font-size:11px; color:rgba(255,255,255,.22); text-decoration:none; transition:color .2s; }
.ssp-footer__legal a:hover { color:#fff; }
.ssp-footer__brand { font-family:'Bebas Neue',sans-serif; font-size:13px; color:rgba(255,255,255,.18); letter-spacing:.30em; }

/* ============================================================
   ANIMAZIONI
   ============================================================ */
[data-reveal] { opacity:0; transform:translateY(24px); transition:opacity .6s ease,transform .6s ease; }
[data-reveal].visible { opacity:1; transform:translateY(0); }
[data-reveal-delay="1"] { transition-delay:.1s; }
[data-reveal-delay="2"] { transition-delay:.2s; }
[data-reveal-delay="3"] { transition-delay:.3s; }

/* ============================================================
   RESPONSIVE TABLET (max 1024px)
   ============================================================ */
@media (max-width:1024px) {
  .ssp-3col { grid-template-columns:1fr; }
  .ssp-3col__col { border-right:none; border-bottom:1px solid var(--br); }
  .ssp-3col__col:last-child { border-bottom:none; }
  .ssp-steps { grid-template-columns:1fr 1fr; }
  .ssp-step:nth-child(2) { border-right:none; }
  .ssp-step:nth-child(3) { border-right:1px solid var(--br); }
  .ssp-cases, .ssp-services, .ssp-why { grid-template-columns:1fr 1fr; }
  .ssp-coverage, .ssp-team, .ssp-cta { grid-template-columns:1fr; }
  .ssp-statsbar { grid-template-columns:1fr 1fr; }
  .ssp-statsbar__item:nth-child(2) { border-right:none; }
  .ssp-footer__inner { grid-template-columns:1fr 1fr; gap:36px; }
  .ssp-problem__grid { grid-template-columns:1fr 1fr; }
}

/* ============================================================
   RESPONSIVE MOBILE (max 768px)
   ============================================================ */
@media (max-width:768px) {
  .ssp-nav__menu { display:none; position:absolute; top:72px; left:0; right:0; background:#fff; padding:20px 5%; flex-direction:column; align-items:flex-start; gap:16px; border-bottom:1px solid var(--br); box-shadow:0 8px 24px rgba(55,48,163,.10); z-index:998; }
  .ssp-nav__menu.open { display:flex; }
  .ssp-nav { position:relative; }
  .ssp-nav__toggle { display:flex; }
  .ssp-nav__inner { padding:0 4%; }
  .ssp-hero { padding:0 4% 60px; min-height:80vh; }
  .ssp-hero__title { font-size:clamp(52px,14vw,90px); }
  .ssp-hero__scroll { display:none; }
  .ssp-sec { padding:52px 4%; }
  .ssp-statsbar { grid-template-columns:1fr 1fr; }
  .ssp-statsbar__item { padding:14px 16px; }
  .ssp-problem__grid, .ssp-services, .ssp-why, .ssp-cases, .ssp-portfolio { grid-template-columns:1fr; }
  .ssp-pcards-h, .ssp-tcards { grid-template-columns:1fr; }
  .ssp-steps { grid-template-columns:1fr; }
  .ssp-step { border-right:none; border-bottom:1px solid var(--br); }
  .ssp-faq__grid { grid-template-columns:1fr; }
  .ssp-form-row { grid-template-columns:1fr; }
  .ssp-team__grid { grid-template-columns:1fr; }
  .ssp-footer__inner { grid-template-columns:1fr; gap:32px; padding-block:40px; }
  .ssp-footer__bottom { flex-direction:column; align-items:flex-start; gap:10px; }
}

/* ============================================================
   FOOTER — aggiornamenti
   ============================================================ */
.ssp-footer__brand {
	padding: 52px 5% 0;
}

.ssp-footer__social {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 16px;
}

.ssp-footer__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(255,255,255,.20);
	color: rgba(255,255,255,.60) !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	border-radius: 3px;
	transition: all .2s ease;
}

.ssp-footer__social-link:hover {
	border-color: #818CF8;
	color: #fff !important;
	background: rgba(129,140,248,.15);
}

.ssp-footer__nav {
	list-style: none;
}

.ssp-footer__nav li,
.ssp-footer__nav li a {
	font-size: 13px;
	color: rgba(255,255,255,.38);
	text-decoration: none;
	margin-bottom: 8px;
	display: block;
	transition: color .2s ease;
	line-height: 1.5;
}

.ssp-footer__nav li a:hover {
	color: #ffffff;
}

.ssp-footer__nav.menu { padding: 0; }
.ssp-footer__nav.menu li { list-style: none; }

/* ============================================================
   FOOTER FIX — testo leggibile, font corretto, icone SVG
   ============================================================ */

/* Forza Inter e no-uppercase su tutto il footer */
.ssp-footer,
.ssp-footer p,
.ssp-footer span,
.ssp-footer li,
.ssp-footer a {
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Eccezioni: titolo logo e titoli colonne restano Bebas */
.ssp-footer__logo-text,
.ssp-footer__brand-id {
  font-family: 'Bebas Neue', sans-serif !important;
  letter-spacing: 0.25em !important;
}

.ssp-footer__col-title {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.20em !important;
  text-transform: uppercase !important;
  color: #818CF8 !important;
  margin-bottom: 16px;
  display: block;
}

.ssp-footer__tagline {
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.10em !important;
  color: rgba(255,255,255,.55) !important;
  margin: 10px 0 14px;
  display: block;
  font-family: 'Inter', sans-serif !important;
}

/* Descrizione — testo normale leggibile */
.ssp-footer__desc {
  font-size: 13.5px !important;
  color: rgba(255,255,255,.55) !important;
  line-height: 1.72 !important;
  margin-bottom: 22px;
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
}

/* Nav link footer */
.ssp-footer__nav,
.ssp-footer__nav.menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ssp-footer__nav li,
.ssp-footer__nav li a,
.ssp-footer__nav .menu-item a {
  font-size: 13.5px !important;
  color: rgba(255,255,255,.45) !important;
  text-decoration: none;
  margin-bottom: 9px;
  display: block;
  transition: color .2s ease;
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
}

.ssp-footer__nav li a:hover,
.ssp-footer__nav .menu-item a:hover {
  color: #ffffff !important;
}

/* Icone Social SVG */
.ssp-footer__social {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.ssp-footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.60) !important;
  border-radius: 4px;
  text-decoration: none;
  transition: all .2s ease;
  flex-shrink: 0;
}

.ssp-footer__social-link:hover {
  border-color: #818CF8;
  color: #ffffff !important;
  background: rgba(129,140,248,.18);
}

.ssp-footer__social-link--placeholder {
  opacity: 0.45;
  cursor: default;
}

.ssp-footer__social-link svg {
  display: block;
  flex-shrink: 0;
}

/* Bottom bar */
.ssp-footer__copy {
  font-size: 11.5px !important;
  color: rgba(255,255,255,.30) !important;
  font-family: 'Inter', sans-serif !important;
  text-transform: none !important;
}

.ssp-footer__legal a {
  font-size: 11.5px !important;
  color: rgba(255,255,255,.30) !important;
  text-decoration: none;
  transition: color .2s;
  text-transform: none !important;
  font-family: 'Inter', sans-serif !important;
}

.ssp-footer__legal a:hover {
  color: #ffffff !important;
}