:root {
    --carta: #F7F9F8;
    --inchiostro: #1A2420;
    --secondario: #56655E;
    --verde: #0B8A5C;
    --verde-scuro: #086B48;
    --bordo: #DCE5E0;
    --terminale: #10201A;
    --terminale-testo: #C9D8D1;
    --mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    background: var(--carta); color: var(--inchiostro);
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    font-size: 1.0625rem; line-height: 1.65; text-align: left;
}
a { color: var(--verde-scuro); }
a:focus-visible { outline: 3px solid var(--verde); outline-offset: 2px; }
header.sito, main, footer .interno { max-width: 40rem; margin: 0 auto; padding: 0 1.25rem; }
header.sito { padding-top: 1.5rem; }
.marchio { font-family: var(--mono); font-size: 1.35rem; font-weight: 700; letter-spacing: -.02em; text-decoration: none; color: inherit; }
.marchio .tld { color: var(--verde); }

.hero { padding-top: 3rem; }
.hero h1 {
    font-family: var(--mono); font-weight: 700; letter-spacing: -.03em;
    font-size: clamp(1.6rem, 5vw, 2.3rem); line-height: 1.15; max-width: 22ch;
}
.hero h1 em { font-style: normal; color: var(--verde); }
.hero p.sottotitolo { margin-top: 1rem; color: var(--secondario); }
.etichetta {
    display: inline-block; margin-top: 1.25rem; padding: .15rem .6rem; border: 1px solid var(--verde);
    border-radius: 999px; font-family: var(--mono); font-size: .8rem; color: var(--verde-scuro);
}

.whois {
    margin-top: 2rem; background: var(--terminale); color: var(--terminale-testo);
    border-radius: 10px; padding: 1.35rem 1.5rem; font-family: var(--mono);
    font-size: .92rem; line-height: 1.9; overflow-x: auto;
    box-shadow: 0 12px 32px rgba(16, 32, 26, .18);
}
.whois div { white-space: pre; opacity: 0; animation: riga .35s ease-out forwards; }
.whois div:nth-child(1) { animation-delay: .15s; }
.whois div:nth-child(2) { animation-delay: .45s; }
.whois div:nth-child(3) { animation-delay: .60s; }
.whois .prompt { color: #6FA28C; }
.whois .chiave { color: #86A99A; display: inline-block; min-width: 9ch; }
.whois .ok { color: #4ADE9E; }
@keyframes riga { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .whois div { animation: none; opacity: 1; } }

.servizi { margin-top: 3rem; list-style: none; }
.servizi li { padding: 1rem 0; border-top: 1px solid var(--bordo); }
.servizi li:last-child { border-bottom: 1px solid var(--bordo); }
.servizi strong { display: block; font-family: var(--mono); font-size: .98rem; }
.servizi span { color: var(--secondario); }

/* Pagine legali */
.legale { padding-top: 2.5rem; }
.legale h1 { font-family: var(--mono); font-size: 1.5rem; letter-spacing: -.02em; margin-bottom: .5rem; }
.legale h2 { font-size: 1.05rem; margin: 1.75rem 0 .5rem; }
.legale p, .legale ul { margin: .6rem 0; }
.legale ul { padding-left: 1.25rem; }
.legale li { margin: .3rem 0; }
.aggiornata { font-size: .85rem; color: var(--secondario); }

footer {
    margin-top: 4rem; border-top: 1px solid var(--bordo);
    padding: 1.75rem 0 2.5rem; font-size: .84rem; color: var(--secondario);
}
footer p + p { margin-top: .5rem; }
footer nav { margin-top: .9rem; display: flex; flex-wrap: wrap; gap: .35rem 1.1rem; }
