html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #F4EFE4; }
img { max-width: 100%; }
a { color: #134F28; }
a:hover { color: #1E7A39; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #25A546; outline-offset: 2px; }
.lang-off { opacity: .55; cursor: not-allowed; }
.form-note { font-size: 15px; margin: 0; padding: 12px 16px; border-radius: 10px; }
.form-note.ok { color: #134F28; background: #E3F1E6; border: 1px solid #25A546; }
.form-note.err { color: #7A2E1A; background: #F8E6DE; border: 1px solid #C9775A; }
.hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
button[disabled] { opacity: .7; cursor: default; }
.hero figure { box-sizing: border-box; }
#dati .msg { margin: 0; color: #2F4237; } #dati .msg b { color: #134F28; }
.conf { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.conf .col { background: #F4EFE4; border-radius: 14px; padding: 16px 14px; } .conf .col.fine { background: #134F28; }
.conf .h { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #5B6B60; margin-bottom: 10px; line-height: 1.4; min-height: 2.8em; }
.conf .col.fine .h { color: #E2C27E; }
.conf .r { display: flex; align-items: baseline; gap: 6px; margin-bottom: 8px; } .conf .r:last-child { margin-bottom: 0; }
.conf .r .n { font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 22px; color: #134F28; line-height: 1.1; } .conf .col.fine .r .n { color: #FFFFFF; }
.conf .r .u { font-size: 12px; color: #5B6B60; } .conf .col.fine .r .u { color: #BFD6C4; }
.conf .r .l { font-size: 11px; color: #5B6B60; margin-left: auto; text-transform: uppercase; letter-spacing: .06em; } .conf .col.fine .r .l { color: #BFD6C4; }
.graf { margin-top: 18px; } .graf .t { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #8F6E2E; margin-bottom: 10px; }
.graf svg { width: 100%; height: auto; display: block; } .graf .cap { margin-top: 9px; font-size: 13px; color: #5B6B60; line-height: 1.45; }
@media (max-width: 420px) { .rfw-grid { grid-template-columns: 1fr !important; } }
@media (min-width: 1100px) { .hero { height: 825px; min-height: 0 !important; display: flex; align-items: flex-end; } .hero-inner { width: 100%; box-sizing: border-box; padding-top: 140px !important; } .hero-alto { padding-bottom: 200px !important; } }
@media (max-width: 760px) { .hero-veil { background: rgba(19, 79, 40, 0.8) !important; } }
