/* TOWRO · stile delle pagine del sito rifatte nel 2026 (home, servizi).
   Tono istituzionale: tipografia e griglia fanno il lavoro, il movimento accompagna e non decora.
   3 colori (ink, paper, teal) + il teal scuro solo per testo piccolo su paper (contrasto AA).
   Nav, footer, CTA finale e banner cookie restano quelli condivisi di 00_Sistema. */

:root{
  --ink:#191919;--paper:#F7F6F3;--teal:#32b3a4;--teal-t:#177A6D;
  --ink-2:#212121;--line-d:rgba(247,246,243,.12);--line-l:rgba(25,25,25,.10);
  --mut-d:rgba(247,246,243,.68);--mut-l:rgba(25,25,25,.66);
  --geo:"Jost",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
  --wrap:1200px;--gut:clamp(20px,4vw,40px);
  --sec:clamp(72px,10vw,128px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--geo);font-weight:300;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.5}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:12px;top:-60px;z-index:2147483647;background:var(--teal);color:var(--ink);padding:10px 16px;border-radius:10px;font-weight:500;text-decoration:none}
.skip:focus{top:12px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.sec{padding:var(--sec) 0;position:relative}
.dark{background:var(--ink);color:var(--paper)}
.dotted{background-image:radial-gradient(rgba(25,25,25,.07) 1px,transparent 1px);background-size:14px 14px}
.dark.dotted{background-image:radial-gradient(rgba(247,246,243,.07) 1px,transparent 1px)}

/* tipografia */
.eb{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11.5px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-t)}
.dark .eb{color:var(--teal)}
.eb:before{content:"";width:18px;height:1px;background:currentColor}
.h1{font-weight:700;font-size:clamp(40px,6.4vw,84px);line-height:1.02;letter-spacing:-.035em}
.h2{font-weight:700;font-size:clamp(30px,4.2vw,52px);line-height:1.06;letter-spacing:-.03em}
.h3{font-weight:500;font-size:clamp(20px,2vw,24px);line-height:1.2;letter-spacing:-.015em}
.lead{font-size:clamp(17px,1.6vw,20px);line-height:1.55;color:var(--mut-l);max-width:58ch}
.dark .lead{color:var(--mut-d)}
.em{color:var(--teal)}
.head{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:clamp(36px,5vw,56px)}
@media(min-width:900px){.head.split{grid-template-columns:1.1fr .9fr;align-items:end;gap:48px}}

/* bottoni: uno primario per schermata, gli altri secondari */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 24px;border-radius:999px;font-family:var(--geo);font-weight:500;font-size:15.5px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s}
.btn svg{width:18px;height:18px;transition:transform .2s var(--ease)}
.btn.pri{background:var(--teal);color:var(--ink)}
.btn.pri:hover{box-shadow:0 10px 28px rgba(50,179,164,.35)}
.btn.sec{border-color:var(--line-l);color:var(--ink)}
.btn.sec:hover{border-color:var(--ink)}
.dark .btn.sec{border-color:rgba(247,246,243,.28);color:var(--paper)}
.dark .btn.sec:hover{border-color:var(--paper)}
@media(hover:hover){.btn:hover svg{transform:translateX(3px)}}
.lnk{display:inline-flex;align-items:center;gap:8px;font-weight:500;text-decoration:none;color:var(--teal-t);border-bottom:1px solid transparent;transition:border-color .18s}
.dark .lnk{color:var(--teal)}
.lnk:hover{border-color:currentColor}
.acts{display:flex;flex-wrap:wrap;gap:12px}

/* ingresso allo scroll: breve, una volta sola, mai su chi chiede meno movimento */
.rv{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.06s}.rv.d2{transition-delay:.12s}.rv.d3{transition-delay:.18s}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* CTA fissa in basso sul telefono: compare dopo il primo schermo, sparisce sulla CTA finale e col banner cookie aperto */
.mcta{position:fixed;left:12px;right:12px;bottom:12px;z-index:2147482000;display:none}
.mcta a{width:100%;height:54px;box-shadow:0 12px 32px rgba(0,0,0,.35)}
@media(max-width:760px){
  .mcta{display:block;transform:translateY(140%);transition:transform .25s var(--ease)}
  .mcta.on{transform:none}
  html.tw-cc-open .mcta{transform:translateY(140%)}
  html.mcta-on:not(.tw-cc-open) #twa-fab{bottom:80px!important;transition:bottom .25s var(--ease)}
}
