/* ============================================================   IGOR Comunicazione — foglio di stile principale   Palette: crema #f6f1e7 · inchiostro #1b1b18            teal #0d9488 · arancio #f0941f   ============================================================ */:root{  --nero:#1b1b18;  --crema:#f6f1e7;  --crema-scuro:#ece5d6;  --riga:#dcd3c0;  --grigio:#6f6a5e;  --teal:#0d9488;  --teal-scuro:#0a6f66;  --arancio:#f0941f;}*,*::before,*::after{ box-sizing:border-box; }html{ scroll-behavior:smooth; }html,body{ overflow-x:hidden; }body{  margin:0;  background:var(--crema);  color:var(--nero);  font-family:'Raleway',sans-serif;  font-size:16px;  line-height:1.65;  -webkit-font-smoothing:antialiased;}h1,h2,h3{ font-family:'Fraunces',Georgia,serif; font-weight:500; letter-spacing:-0.01em; }section h1{ font-size:clamp(38px,5vw,64px); line-height:1.12; max-width:900px; margin:0; }section h1 em, .hero h1 em{ font-style:italic; color:var(--teal); }a{ color:inherit; }::selection{ background:var(--teal); color:var(--crema); }.wrap{ max-width:1160px; margin:0 auto; padding:0 40px; width:100%; }/* ---------- kicker ---------- */.kicker{  display:flex; align-items:center; gap:12px;  font-size:12px; font-weight:700; letter-spacing:.16em;  text-transform:uppercase; color:var(--arancio);  margin-bottom:22px;}.kicker::before{ content:""; width:28px; height:1.5px; background:var(--arancio); flex:0 0 auto; }/* ---------- header ---------- */header{  position:fixed; top:0; left:0; right:0; z-index:50;  background:rgba(246,241,231,.9);  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);  border-bottom:1px solid var(--riga);}header .wrap{ display:flex; align-items:center; justify-content:space-between; min-height:72px; gap:20px; flex-wrap:wrap; }.logo img{ height:44px; width:auto; display:block; }nav ul{ list-style:none; display:flex; gap:30px; margin:0; padding:0; }nav a{  font-size:13px; font-weight:500; letter-spacing:.1em; text-transform:uppercase;  color:var(--grigio); text-decoration:none; position:relative; padding:6px 0;  transition:color .25s ease;}nav a:hover{ color:var(--nero); }nav a.attiva{ color:var(--nero); }nav a.attiva::after{  content:""; position:absolute; left:0; right:0; bottom:0;  height:2px; background:var(--arancio); border-radius:2px;}/* ---------- contatore sezioni ---------- */.section-counter{  position:fixed; left:28px; bottom:24px; z-index:40;  display:flex; align-items:center; gap:10px;  font-size:11px; letter-spacing:.12em; color:var(--grigio);}.num-attuale{ font-family:'Fraunces',serif; font-style:italic; font-size:20px; color:var(--nero); }.barra{ width:90px; height:1.5px; background:var(--riga); position:relative; overflow:hidden; }.barra::after{ content:""; position:absolute; top:0; left:0; bottom:0; width:var(--pct,12%); background:var(--arancio); }/* ---------- sezioni ---------- */.screen{  min-height:100vh; min-height:100svh;  padding:150px 0 90px;  display:flex; flex-direction:column; justify-content:center;}.page-hero{ min-height:78vh; min-height:78svh; }.lead{ font-size:17px; color:var(--grigio); max-width:560px; margin-top:26px; line-height:1.7; }/* ---------- bottoni e link ---------- */.btn{  display:inline-flex; align-items:center; gap:10px;  padding:15px 32px; border-radius:999px;  border:1.5px solid var(--nero); background:transparent;  font-family:'Raleway',sans-serif; font-size:12.5px; font-weight:700;  letter-spacing:.12em; text-transform:uppercase;  color:var(--nero); text-decoration:none; cursor:pointer;  transition:background .25s ease, color .25s ease, border-color .25s ease;}.btn:hover{ background:var(--nero); color:var(--crema); }.link-arrow{  font-size:14px; color:var(--nero); text-decoration:none;  border-bottom:1px solid var(--arancio); padding-bottom:2px;}.link-arrow .arr{ display:inline-block; transition:transform .25s ease; }.link-arrow:hover .arr{ transform:translateY(4px); }/* ---------- citazione ---------- */.citazione blockquote{ margin:0; }/* ---------- casi: feed orizzontale ---------- */.casi-head{ display:flex; justify-content:space-between; align-items:flex-end; }.casi-count b{ font-weight:600; }.feed-viewport,.team-feed-viewport{ width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }.feed,.team-feed{  display:flex; cursor:grab;  padding:8px max(40px, calc((100vw - 1160px)/2)) 16px;  scrollbar-width:none;}.feed::-webkit-scrollbar,.team-feed::-webkit-scrollbar{ display:none; }.trascinando{ cursor:grabbing; scroll-snap-type:none !important; user-select:none; }.feed{ gap:28px; scroll-snap-type:x mandatory; }.feed .card{  flex:0 0 auto; width:min(440px,82vw); scroll-snap-align:start;  background:var(--crema); border:1px solid var(--riga); border-radius:16px; overflow:hidden;  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;}.feed .card:hover{ transform:translateY(-4px); box-shadow:0 24px 48px -24px rgba(27,27,24,.28); }.card.active{ border-color:var(--teal); }.card-media{  position:relative; height:170px; padding:20px 22px;  display:flex; align-items:flex-start;  background:linear-gradient(135deg, var(--teal) 0%, var(--teal-scuro) 100%);}.card:nth-child(even) .card-media{ background:linear-gradient(135deg,#26231d,#4a463c); }.tag{  position:relative; z-index:1;  background:rgba(246,241,231,.94); color:var(--nero);  font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;  padding:6px 12px; border-radius:999px;}.card-media .num{  position:absolute; right:18px; bottom:2px;  font-family:'Fraunces',serif; font-style:italic; font-size:72px; line-height:1;  color:rgba(246,241,231,.25);}.card-body{ padding:26px 26px 24px; }.card-body h3{ font-size:21px; margin:0 0 10px; }.card-body p{ font-size:15px; color:var(--grigio); margin:0 0 18px; }.card .meta{  border-top:1px solid var(--riga); padding-top:14px;  font-size:11.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;  color:var(--teal);}.feed-progress{ height:2px; background:var(--riga); margin-top:10px; }.feed-progress-bar{ height:100%; width:0; background:var(--arancio); transition:width .25s ease-out; }/* casi.html: griglia */.casi-griglia .card-media{ height:130px; }/* ---------- servizi ---------- */.servizi-list{ border-top:1px solid var(--riga); }.servizio-riga{  display:grid; grid-template-columns:80px 1fr auto; align-items:center; gap:18px;  padding:30px 0; border-bottom:1px solid var(--riga);}.servizio-riga .n{ font-family:'Fraunces',serif; font-style:italic; font-size:20px; color:var(--grigio); }.servizio-riga h3{ font-size:clamp(20px,2.4vw,27px); margin:0; }.scopri{  font-size:12.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;  color:var(--nero); text-decoration:none; white-space:nowrap;  transition:color .25s ease;}.scopri:hover{ color:var(--arancio); }/* ---------- team ---------- */.team-feed{ gap:32px; scroll-snap-type:x mandatory; }.team-feed .persona,.soci-griglia .persona{ flex:0 0 auto; width:236px; scroll-snap-align:start; }.ritratto{  aspect-ratio:3/4; border:1px solid var(--riga); border-radius:14px;  background:var(--crema-scuro);  display:flex; align-items:center; justify-content:center;}.iniziali{ font-family:'Fraunces',serif; font-style:italic; font-size:46px; color:var(--teal); }.persona .nome{ font-family:'Fraunces',serif; font-size:19px; margin-top:14px; }.persona .ruolo{ font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--grigio); margin-top:4px; }.team-feed-hint{ font-size:13px; color:var(--grigio); margin-top:18px; }/* ---------- clienti / marquee ---------- */.marquee{ overflow:hidden; border-top:1px solid var(--riga); border-bottom:1px solid var(--riga); padding:26px 0; }.marquee-track{ display:flex; gap:64px; width:max-content; animation:marquee 30s linear infinite; }.marquee-item{  font-family:'Fraunces',serif; font-style:italic; font-size:23px;  white-space:nowrap; color:var(--nero); opacity:.85;}@keyframes marquee{ to{ transform:translateX(-50%); } }/* ---------- cta finale ---------- */.cta-finale{ background:var(--nero); text-align:center; }.cta-finale h2{ color:var(--crema); font-size:clamp(28px,3.6vw,44px); line-height:1.25; max-width:820px; margin:0 auto 36px; }.cta-finale .btn{ border-color:var(--crema); color:var(--crema); }.cta-finale .btn:hover{ background:var(--crema); color:var(--nero); }/* ---------- footer ---------- */footer{ border-top:1px solid var(--riga); padding:40px 0 60px; }footer .wrap{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:13px; color:var(--grigio); }footer a{ color:var(--grigio); }footer a:hover{ color:var(--nero); }/* ---------- contatti ---------- */.email-grande{ word-break:break-word; }/* ---------- reveal (attivato da site.js) ---------- */.reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); }.reveal.r1{ transition-delay:.1s; } .reveal.r2{ transition-delay:.2s; }.reveal.r3{ transition-delay:.3s; } .reveal.r4{ transition-delay:.4s; } .reveal.r5{ transition-delay:.5s; }.reveal.visibile{ opacity:1; transform:none; }/* ---------- responsive ---------- */@media (max-width:900px){  .section-counter{ display:none; }}@media (max-width:720px){  .wrap{ padding:0 22px; }  .screen{ padding:120px 0 70px; }  .logo img{ height:34px; }  nav ul{ gap:18px; overflow-x:auto; max-width:100%; }  nav a{ font-size:12px; }  .servizio-riga{ grid-template-columns:44px 1fr; }  .servizio-riga .scopri{ grid-column:2; justify-self:start; }  footer .wrap{ flex-direction:column; }}