/* TI-SKIN — ti-skin.it · linea «Alluminio e Sale» · bozza di lavoro v2.0 — 12 settembre 2026 */
:root {
  --carbone:#2A2E35; --pietra:#6E7A83; --alluminio:#C9D2D8; --sale:#FAFAF8; --acciaio:#4A7A96;
  --acciaio-scuro:#3d657f; --testo:#333B37; --testo2:#4a534e; --linea:#E3E8EA; --notte:#1c2126;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Helvetica Neue', Helvetica, Arial, sans-serif; color:var(--testo); background:var(--sale); line-height:1.6; font-size:16px; }
h1,h2,h3,h4,.av { font-family:'Avenir Next','Avenir',Helvetica,Arial,sans-serif; color:var(--carbone); }
a { color:var(--acciaio); }
img { max-width:100%; display:block; }
.wrap { max-width:1180px; margin:0 auto; padding:0 42px; }
.label { font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--acciaio); font-weight:600; margin-bottom:10px; }
.sez { padding:72px 0; }
.sez.chiara { background:#fff; }
.sez.grigia { background:#EEF1F3; }
.sez h2 { font-size:30px; font-weight:600; line-height:1.2; }
.sez h2 + .sub, .sub { color:var(--pietra); font-size:15.5px; margin-top:8px; max-width:720px; }
.sez .centro { text-align:center; }
.sez .centro .sub { margin-left:auto; margin-right:auto; }
p.t { font-size:15.5px; line-height:1.8; color:var(--testo2); max-width:760px; }
p.t + p.t { margin-top:12px; }
p.t b, li b { color:var(--carbone); }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:36px; }
.grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:36px; }
.grid4 { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:36px; }
.card { background:#fff; border:1px solid var(--linea); border-top:3px solid var(--carbone); display:flex; flex-direction:column; }
.card img { width:100%; height:170px; object-fit:cover; }
.card .body { padding:20px 22px 24px; flex:1; }
.card h3 { font-size:17px; font-weight:600; }
.card p { font-size:13.5px; line-height:1.7; color:#5a6560; margin-top:8px; }
.card a.piu { display:inline-block; margin-top:12px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; text-decoration:none; }
.card a.piu:hover { color:var(--acciaio-scuro); }
a.card-link { text-decoration:none; color:inherit; }
.panel { background:#fff; border:1px solid var(--linea); border-top:3px solid var(--carbone); padding:22px 24px; }
.panel h3, .panel h4 { font-size:17px; font-weight:600; }
.panel p { font-size:14px; line-height:1.75; color:var(--testo2); margin-top:8px; }
.panel ul { margin-top:8px; }
.lista { list-style:none; font-size:14.5px; line-height:1.7; color:var(--testo2); }
.lista li { padding-left:22px; position:relative; margin-bottom:6px; }
.lista li::before { content:""; position:absolute; left:0; top:10px; width:10px; height:10px; background:var(--acciaio); clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:36px; counter-reset:step; }
.step { background:#fff; border:1px solid var(--linea); padding:26px 24px 28px; position:relative; }
.step::before { counter-increment:step; content:counter(step,decimal-leading-zero); font-family:'Avenir Next',Helvetica,sans-serif; font-size:40px; font-weight:700; color:var(--alluminio); line-height:1; display:block; margin-bottom:10px; }
.step h3 { font-size:18px; font-weight:600; }
.step p { font-size:14px; line-height:1.75; color:var(--testo2); margin-top:8px; }
.num { display:inline-block; min-width:30px; height:30px; line-height:30px; text-align:center; background:var(--carbone); color:var(--sale); font-weight:700; font-size:14px; border-radius:3px; margin-right:10px; font-family:'Avenir Next',Helvetica,sans-serif; }
.tag { display:inline-block; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:#fff; background:var(--acciaio); padding:3px 8px; border-radius:2px; font-weight:600; vertical-align:middle; }
.tag.g { background:var(--pietra); }
.nota-red { display:inline-block; font-size:11px; letter-spacing:.06em; color:#7a5a00; background:#FFF3C4; border:1px solid #F3DD8A; padding:3px 8px; border-radius:2px; font-weight:600; vertical-align:middle; }
.btn { display:inline-block; background:var(--acciaio); color:#fff; text-decoration:none; font-size:12.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; padding:15px 34px; border:0; cursor:pointer; font-family:'Helvetica Neue',Helvetica,Arial,sans-serif; }
.btn:hover { background:var(--acciaio-scuro); }
.btn.ghost { background:transparent; color:var(--carbone); border:1.5px solid var(--carbone); padding:13.5px 32px; }
.btn.ghost:hover { background:var(--carbone); color:#fff; }
.btn.chiaro { background:var(--sale); color:var(--carbone); }
.btn.chiaro:hover { background:#fff; }
.azioni { display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; }
table.dati { width:100%; border-collapse:collapse; font-size:14px; margin-top:24px; background:#fff; }
table.dati th { background:var(--alluminio); color:var(--carbone); text-align:left; padding:11px 14px; font-weight:600; font-family:'Avenir Next',Helvetica,sans-serif; }
table.dati td { padding:10px 14px; border-bottom:1px solid #E8ECEE; color:var(--testo2); vertical-align:top; line-height:1.55; }
table.dati td:first-child { color:var(--carbone); font-weight:600; }
table.dati tr.evid td { background:#EEF3F6; }
table.dati td.ok { color:#2f6b4f; font-weight:600; }
table.dati td.no { color:#8a4a3a; }
.scroll { overflow-x:auto; }
.kpi { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:36px; }
.kpi div { background:#fff; border:1px solid var(--linea); padding:22px 20px; text-align:center; }
.kpi b { display:block; font-family:'Avenir Next',Helvetica,sans-serif; font-size:34px; font-weight:700; color:var(--carbone); line-height:1.1; }
.kpi span { display:block; font-size:12.5px; color:var(--pietra); margin-top:8px; line-height:1.5; }
.due { display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; margin-top:36px; }
.due.inv { grid-template-columns:.9fr 1.1fr; }
.due img { width:100%; height:100%; max-height:460px; object-fit:cover; border:1px solid var(--linea); }
.fig { margin-top:24px; }
.fig img { border:1px solid var(--linea); background:#fff; }
.fig figcaption { font-size:12.5px; color:var(--pietra); margin-top:8px; }
.cita { font-family:'Avenir Next',Helvetica,sans-serif; font-size:22px; font-weight:500; color:var(--carbone); line-height:1.45; max-width:820px; }
.cita small { display:block; font-family:'Helvetica Neue',Helvetica,sans-serif; font-size:13px; color:var(--pietra); margin-top:10px; font-weight:400; }
/* nav */
nav.top { background:var(--carbone); position:sticky; top:0; z-index:20; }
nav.top .wrap { display:flex; justify-content:space-between; align-items:center; gap:28px; padding-top:12px; padding-bottom:12px; }
.brand { display:flex; flex-direction:column; align-items:flex-start; gap:5px; text-decoration:none; flex:none; }
.brand svg { width:64px; display:block; }
.brand .by { color:#9AA7AE; font-size:9px; letter-spacing:.18em; text-transform:uppercase; white-space:nowrap; }
.menu { display:flex; align-items:center; gap:18px; }
.menu a { color:var(--alluminio); text-decoration:none; font-size:11.5px; letter-spacing:.11em; text-transform:uppercase; font-weight:500; padding:6px 0; border-bottom:2px solid transparent; white-space:nowrap; }
.menu a:hover { color:#fff; }
.menu a.attiva { color:#fff; border-bottom-color:var(--acciaio); }
.menu a.cfg { background:var(--acciaio); color:#fff; padding:10px 16px; border-bottom:0; }
.menu a.cfg:hover { background:var(--acciaio-scuro); }
.burger { display:none; background:none; border:1.5px solid var(--alluminio); color:var(--alluminio); font-size:12px; letter-spacing:.14em; text-transform:uppercase; padding:8px 12px; cursor:pointer; }
/* hero home */
.hero { background:
    linear-gradient(120deg, rgba(42,46,53,.88) 0%, rgba(42,46,53,.6) 45%, rgba(110,122,131,.45) 100%),
    linear-gradient(160deg, #b9c2c9 0%, #e8edf0 18%, #8d99a2 34%, #dde4e8 52%, #75828c 70%, #cfd7dc 88%, #9aa5ad 100%);
  padding:118px 0 104px; text-align:center; color:#fff; }
.hero .kicker { font-size:12px; letter-spacing:.34em; text-transform:uppercase; color:var(--alluminio); }
.hero h1 { font-size:48px; font-weight:600; line-height:1.2; margin-top:18px; color:#fff; }
.hero h1 em { font-style:normal; color:var(--alluminio); }
.hero p { max-width:680px; margin:24px auto 0; font-size:17px; line-height:1.75; color:#e4e9ec; }
.hero .azioni { justify-content:center; margin-top:38px; }
/* testata pagine interne */
.testata { background:linear-gradient(120deg, #2A2E35 0%, #3a434c 60%, #4d5963 100%); color:#fff; padding:64px 0 56px; }
.testata .kicker { font-size:11.5px; letter-spacing:.32em; text-transform:uppercase; color:var(--alluminio); }
.testata h1 { font-size:40px; font-weight:600; line-height:1.18; margin-top:14px; color:#fff; max-width:820px; }
.testata p { max-width:720px; margin-top:16px; font-size:16.5px; line-height:1.7; color:#dfe5e9; }
.testata.foto { position:relative; overflow:hidden; }
.testata.foto img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.22; }
.testata.foto .wrap { position:relative; }
/* materia */
.materia { display:grid; grid-template-columns:1fr 1fr; }
.materia > div { padding:70px 56px; }
.materia .allu { background:linear-gradient(135deg,#d7dde1 0%, #b6c0c6 40%, #e6ebee 70%, #aab5bc 100%); }
.materia .salecell { background:#fff; }
.materia h2 { font-size:26px; font-weight:600; }
.materia p { margin-top:14px; font-size:15px; line-height:1.85; color:var(--testo2); max-width:480px; }
.materia .allu .label, .materia .allu p { color:#39424a; }
/* fasce scure */
.dark { background:var(--carbone); color:#c7ced4; padding:56px 0; }
.dark h2, .dark h3 { color:#fff; }
.dark p { color:#c7ced4; }
.partner { background:var(--carbone); color:#c7ced4; padding:52px 0; border-top:1px solid #3a434c; }
.partner .wrap { display:flex; align-items:center; gap:34px; justify-content:center; text-align:left; }
.partner img { width:84px; height:84px; flex:none; }
.partner .av { font-size:22px; color:#fff; font-weight:500; }
.partner .av b { color:var(--alluminio); font-weight:600; }
.partner p { font-size:14px; margin-top:8px; line-height:1.7; }
.partner a { color:var(--alluminio); text-decoration:none; }
.partner a:hover { color:#fff; }
/* chiusura */
.chiusura { background:#EEF1F3; border-top:1px solid var(--linea); padding:56px 0; }
.chiusura .wrap { display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:start; }
.chiusura h3 { font-size:18px; font-weight:600; margin-bottom:12px; }
.docs { list-style:none; }
.docs li { font-size:14px; padding:9px 0; border-bottom:1px solid #DCE2E6; display:flex; gap:12px; align-items:baseline; }
.docs li .n { font-family:'Avenir Next',Helvetica,sans-serif; font-weight:700; color:var(--acciaio); min-width:34px; }
.docs li a { text-decoration:none; color:var(--carbone); }
.docs li a:hover { color:var(--acciaio); }
.docs li .prep { color:var(--pietra); font-size:12px; margin-left:auto; white-space:nowrap; }
.chiusura .cta { background:var(--carbone); color:#c7ced4; padding:26px 28px; }
.chiusura .cta h3 { color:#fff; }
.chiusura .cta p { font-size:14px; line-height:1.7; }
.chiusura .cta .azioni { margin-top:18px; }
/* footer */
footer { background:var(--notte); color:#8f9aa2; font-size:13px; padding:48px 0 26px; }
footer .cols { display:grid; grid-template-columns:1.2fr 1.2fr 1.2fr .8fr; gap:34px; }
footer h4 { color:var(--alluminio); font-size:11px; letter-spacing:.22em; text-transform:uppercase; margin-bottom:12px; }
footer p { line-height:1.75; }
footer a { color:#c7ced4; text-decoration:none; }
footer a:hover { color:#fff; }
footer .brand svg { width:72px; } footer .brand { flex-direction:row; }
footer .po { display:flex; gap:14px; align-items:flex-start; }
footer .po img { width:52px; flex:none; }
footer ul { list-style:none; }
footer li { margin-bottom:6px; }
footer .bottom { border-top:1px solid #2f363d; margin-top:36px; padding-top:18px; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-size:12px; }
/* modulo */
form.modulo { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:24px; }
form.modulo label { display:block; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--pietra); font-weight:600; margin-bottom:6px; }
form.modulo input, form.modulo select, form.modulo textarea { width:100%; border:1px solid #C9D2D8; background:#fff; padding:12px 14px; font-family:inherit; font-size:15px; color:var(--testo); }
form.modulo textarea { min-height:140px; resize:vertical; }
form.modulo .full { grid-column:1 / -1; }
form.modulo .consenso { font-size:13px; color:var(--testo2); display:flex; gap:10px; align-items:flex-start; }
form.modulo .consenso input { width:auto; margin-top:4px; }
/* responsive */
@media (max-width:1120px) {
  .grid4 { grid-template-columns:1fr 1fr; }
  .kpi { grid-template-columns:1fr 1fr; }
  footer .cols { grid-template-columns:1fr 1fr; }
  .menu { display:none; position:absolute; top:100%; left:0; right:0; background:var(--carbone); flex-direction:column; align-items:stretch; gap:0; padding:10px 42px 20px; border-top:1px solid #3a434c; }
  .menu.aperto { display:flex; }
  .menu a { padding:12px 0; border-bottom:1px solid #3a434c; }
  .menu a.cfg { margin-top:12px; text-align:center; }
  .burger { display:block; }
}
@media (max-width:760px) {
  .wrap { padding:0 22px; }
  .sez { padding:52px 0; }
  .sez h2 { font-size:26px; }
  .hero { padding:80px 0 70px; }
  .hero h1 { font-size:32px; }
  .testata h1 { font-size:30px; }
  .grid2, .grid3, .grid4, .steps, .kpi, .due, .due.inv, .chiusura .wrap, footer .cols, form.modulo { grid-template-columns:1fr; }
  .materia { grid-template-columns:1fr; }
  .materia > div { padding:48px 26px; }
  .partner .wrap { flex-direction:column; text-align:center; }
  .due img { max-height:320px; }
}

/* linee prodotto — una sola riga, spessa, in acciaio */
.linee .card { border-top:8px solid var(--acciaio); }
.linee .card .body { display:flex; flex-direction:column; }
.linee .card img { height:160px; margin:10px 0 14px; filter:saturate(.35); }
.linee .card p { flex:1; }
.linee .card .btn { margin-top:16px; align-self:flex-start; padding:12px 22px; font-size:11.5px; }
.linee .card .label { margin-bottom:6px; color:var(--acciaio); }
/* sezione configuratore in home */
.cfg-home { background:#EEF1F3; }
.cfg-home .fig img { border:1px solid #d5dce0; }
.menu a.lingua { border:1px solid #556069; padding:7px 10px; color:#fff; font-weight:600; margin-left:2px; }
.menu a.lingua:hover { border-color:var(--alluminio); }

/* blocco in evidenza (home) */
.evidenza { display:grid; grid-template-columns:.9fr 1.1fr; align-items:stretch; }
.evidenza img { width:100%; height:100%; min-height:520px; object-fit:cover; filter:saturate(.75); }
.evidenza .testo { background:var(--carbone); color:#c7ced4; padding:64px 60px; }
.evidenza .testo .label { color:var(--alluminio); }
.evidenza h2 { color:#fff; font-size:36px; font-weight:600; line-height:1.15; }
.evidenza .sott { font-style:italic; color:var(--alluminio); margin-top:12px; font-size:16px; }
.evidenza .corpo { margin-top:18px; font-size:15.5px; line-height:1.8; }
.evidenza .numeri { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:30px; text-align:center; }
.evidenza .numeri b { display:block; color:#fff; font-size:34px; font-weight:600; font-family:'Avenir Next','Avenir',Helvetica,sans-serif; }
.evidenza .numeri span { display:block; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--alluminio); margin-top:4px; }
@media (max-width:900px) { .evidenza { grid-template-columns:1fr; } .evidenza img { min-height:260px; max-height:340px; } .evidenza .testo { padding:40px 26px; } .evidenza h2 { font-size:28px; } .evidenza .numeri { gap:10px; } .evidenza .numeri b { font-size:26px; } }

/* sportello dei dati (documenti) */
.gate-overlay { position:fixed; inset:0; background:rgba(42,46,53,.72); z-index:50; display:flex; align-items:center; justify-content:center; padding:20px; overflow:auto; }
.gate-box { background:#fff; width:100%; max-width:640px; padding:34px 36px 30px; position:relative; border-top:6px solid var(--acciaio); box-shadow:0 20px 60px rgba(0,0,0,.35); }
.gate-box h2 { font-size:24px; font-weight:600; }
.gate-box .g-sub { color:var(--testo2); font-size:14px; line-height:1.65; margin-top:8px; }
.gate-box form { display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; margin-top:18px; }
.gate-box .g-row { display:flex; flex-direction:column; }
.gate-box .g-row.full { grid-column:1 / -1; }
.gate-box label { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--pietra); font-weight:600; margin-bottom:5px; }
.gate-box input[type=text], .gate-box input[type=email], .gate-box input:not([type]) { border:1px solid #C9D2D8; padding:10px 12px; font-family:inherit; font-size:15px; color:var(--testo); background:#fff; }
.gate-box .g-cons { flex-direction:row; align-items:flex-start; gap:10px; }
.gate-box .g-cons label { text-transform:none; letter-spacing:0; font-weight:400; font-size:13px; color:var(--testo2); line-height:1.5; }
.gate-box .g-cons input { margin-top:3px; }
.gate-box .g-nota { grid-column:1 / -1; font-size:12px; color:var(--pietra); line-height:1.5; }
.gate-box .g-err { grid-column:1 / -1; background:#FFF3C4; border:1px solid #F3DD8A; color:#7a5a00; padding:8px 12px; font-size:13px; }
.gate-box .g-chiudi { position:absolute; top:10px; right:12px; background:none; border:0; font-size:26px; color:var(--pietra); cursor:pointer; line-height:1; }
@media (max-width:640px) { .gate-box { padding:26px 20px; } .gate-box form { grid-template-columns:1fr; } }
