/* InterActive Technology - theme refresh */
:root {
 --id-bg:#f6f8fb; --id-dark:#0f172a; --id-primary:#2563eb;
 --id-primary-dark:#1d4ed8; --id-accent:#22d3ee; --id-text:#1f2937;
 --id-muted:#64748b; --id-border:rgba(15,23,42,.1);
 --id-radius:18px; --id-shadow:0 20px 50px rgba(15,23,42,.1);
}
body {margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--id-text);background:var(--id-bg);line-height:1.7;}
*,*::before,*::after {box-sizing:border-box;}
a {text-decoration:none;transition:color .2s ease;}
a:focus-visible,button:focus-visible,.btn:focus-visible {outline:3px solid var(--id-primary);outline-offset:4px;box-shadow:0 0 0 3px #fff!important;}
.visually-hidden-focusable:not(:focus):not(:focus-within) {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.visually-hidden-focusable:focus {display:block;padding:12px;background:#fff;color:var(--id-primary);}
.site-header {background:#fff;box-shadow:0 1px 0 var(--id-border);}
.topbar {padding:.8rem 0;border-bottom:1px solid var(--id-border);}
.topbar-links {display:flex;gap:1.4rem;align-items:center;}
.topbar-links a {color:var(--id-muted);font-size:.85rem;}
.topbar-links a:hover {color:var(--id-primary);}
.topbar-links .dot {display:inline-block;width:8px;height:8px;border-radius:50%;background:#94a3b8;margin-right:.4rem;}
.brand {display:inline-flex;align-items:center;gap:.65rem;color:var(--id-dark);font-weight:600;}
.brand:hover {color:var(--id-primary);}
.brand-mark {display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--id-primary),#0891b2);color:#fff;font-weight:800;font-size:.95rem;flex-shrink:0;}
.mainbar {background:var(--id-dark);padding:.35rem 0;}
.mainbar .navbar-brand {color:#fff;font-weight:700;}
.mainbar .navbar-nav {margin-left:auto;}
.mainbar .navbar-nav .nav-link {color:#cbd5e1;font-weight:500;padding:.85rem 1rem;}
.mainbar .navbar-nav .nav-link:hover,.mainbar .navbar-nav .nav-link.active {color:#fff;}
.mainbar .navbar-nav .nav-link.active {box-shadow:inset 0 -2px 0 var(--id-accent);}
.hero {position:relative;padding:6rem 0 5rem;background:radial-gradient(1000px 500px at 85% 10%,rgba(37,99,235,.16),transparent),linear-gradient(180deg,#fff,var(--id-bg));}
.eyebrow {display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--id-primary);margin-bottom:1rem;}
.hero-title {font-size:clamp(28px,2.8vw,40px);font-weight:800;line-height:1.12;color:var(--id-dark);margin:0 0 1.4rem;}
.text-gradient {background:linear-gradient(90deg,var(--id-primary),#087f9b);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero-lead {max-width:34rem;color:var(--id-muted);font-size:1.08rem;}
.hero-actions {display:flex;flex-wrap:wrap;gap:.8rem;margin:1.8rem 0 2.2rem;}
.hero-actions .btn,.section-dark .btn {border-radius:10px;font-weight:600;padding:.85rem 1.35rem;}
.hero .btn-primary {background:var(--id-primary);border-color:var(--id-primary);color:#fff;}
.hero .btn-primary:hover {background:var(--id-primary-dark);border-color:var(--id-primary-dark);}
.hero .btn-outline-light {background:transparent;color:var(--id-dark);border-color:#94a3b8;}
.hero .btn-outline-light:hover {background:var(--id-dark);border-color:var(--id-dark);color:#fff;}
.hero-meta {display:flex;flex-wrap:wrap;gap:2rem;}
.hero-meta div {display:grid;}
.hero-meta strong {color:var(--id-dark);}
.hero-meta span {color:var(--id-muted);font-size:.88rem;}
.hero-card {background:#fff;border:1px solid var(--id-border);border-radius:var(--id-radius);padding:1.6rem;box-shadow:var(--id-shadow);}
.hero-card-header {display:flex;align-items:center;gap:.55rem;font-weight:700;color:var(--id-dark);margin-bottom:.8rem;}
.status-dot {width:10px;height:10px;border-radius:50%;background:var(--id-primary);box-shadow:0 0 0 4px rgba(37,99,235,.14);flex-shrink:0;}
.hero-card p {color:var(--id-muted);}
.service-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;}
.service-tile {display:grid;gap:.15rem;padding:1rem;border:1px solid var(--id-border);border-radius:14px;color:var(--id-dark);font-weight:600;background:#fbfdff;transition:transform .2s ease,border-color .2s ease;}
.service-tile small {color:var(--id-muted);font-weight:400;}
.service-tile:hover {color:var(--id-primary);border-color:var(--id-primary);transform:translateY(-2px);}
.section {padding:5rem 0;}
.section-head {max-width:42rem;margin-bottom:2.5rem;}
.section-head h2 {font-size:clamp(1.8rem,3vw,2.4rem);font-weight:800;color:var(--id-dark);line-height:1.2;}
.section-head p {color:var(--id-muted);}
.project-card {display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--id-border);border-radius:var(--id-radius);padding:1.8rem;box-shadow:0 10px 30px rgba(15,23,42,.05);transition:transform .25s ease,box-shadow .25s ease;overflow-wrap:anywhere;}
.project-card:hover {transform:translateY(-4px);box-shadow:var(--id-shadow);}
.project-icon {width:46px;height:46px;display:grid;place-items:center;border-radius:14px;margin-bottom:1.1rem;background:rgba(37,99,235,.1);color:var(--id-primary);font-weight:800;}
.project-card h3 {font-size:1.18rem;font-weight:700;color:var(--id-dark);}
.project-card p {color:var(--id-muted);}
.project-card .card-link {margin-top:auto;color:var(--id-primary);font-weight:600;}
.project-card .card-link:hover {color:var(--id-primary-dark);}
.section-dark {background:var(--id-dark);color:#cbd5e1;}
.section-dark h2 {color:#fff;font-size:2rem;font-weight:700;line-height:1.25;}
.section-dark .eyebrow {color:#67e8f9;}
.section-dark .btn-light {background:#fff;color:var(--id-dark);border-color:#fff;}
.access-panel {background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--id-radius);padding:1.4rem;}
.access-row {display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.1);}
.access-row:last-child {border-bottom:0;}
.access-row span {color:#cbd5e1;}
.access-row strong {color:#fff;text-align:right;}
.site-footer {background:#0b1120;color:#aab6c7;padding:4rem 0 2rem;}
.site-footer .footer-brand {color:#fff;margin-bottom:1rem;}
.footer-text {max-width:24rem;}
.site-footer .footer-title {color:#fff;font-size:1rem;font-weight:700;margin-bottom:1rem;}
.site-footer .footer-links {list-style:none;padding:0;margin:0;display:grid;gap:.55rem;}
.site-footer .footer-links li {margin:0;}
.site-footer .footer-links a {color:#cbd5e1;overflow-wrap:anywhere;}
.site-footer .footer-links a:hover {color:#fff;}
.footer-bottom {display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;margin-top:3rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.1);font-size:.88rem;}
/* Local spacing helpers also work with the existing Bootstrap grid. */
.row.g-4 {row-gap:1.5rem;}
.row.g-5 {row-gap:3rem;}
@media (min-width:992px) { .row.g-5 {margin-left:-24px;margin-right:-24px;} .row.g-5 > [class*="col-"] {padding-left:24px;padding-right:24px;} }
@media (max-width:991.98px) {
 .hero {padding:3.5rem 0;}
 .section {padding:3.5rem 0;}
 .hero-actions .btn {width:100%;}
 .mainbar .navbar-nav .nav-link {padding:.8rem 0;}
 .hero-card {margin-top:1rem;}
}
@media (max-width:575.98px) {
 .service-grid {grid-template-columns:1fr;}
 .hero-meta {gap:1.2rem;}
 .access-row {align-items:flex-start;flex-wrap:wrap;}
 .brand {font-size:.9rem;}
 .project-card {padding:1.4rem;}
}
@media (prefers-reduced-motion:reduce) {
 *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
 [data-aos] {opacity:1!important;transform:none!important;}
}

/* Carattere del titolo principale della homepage */
.hero-title,
.hero-title span {
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 600;
    letter-spacing: -0.02em;
}
