:root{--navy:#081e42;--blue:#0d3568;--gold:#d8a341;--ivory:#fbf8f2;--muted:#68748a;--line:#e8e8eb;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.6 system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--navy);background:var(--ivory)}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}header{background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.nav{max-width:1180px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 24px}.brand{font-family:Georgia,serif;font-size:25px;font-weight:700;line-height:1.07;white-space:nowrap}.brand span{color:#bc852c}.brand small{display:block;font:11px system-ui;letter-spacing:.12em;text-transform:uppercase;color:#455878;margin-top:4px}.links{display:flex;gap:24px;align-items:center;font-size:14px;font-weight:600}.links a:hover,.minor a:hover{color:#ba8026}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 23px;border-radius:7px;background:var(--gold);color:#101b30;font-weight:750;border:0;cursor:pointer;text-align:center}.btn:hover{background:#edbc62}.btn.outline{background:transparent;border:1px solid #aabbce;color:var(--navy)}.top{color:#fff;background:var(--navy);text-align:center;font-size:12px;letter-spacing:.09em;padding:7px 16px}.container{max-width:1180px;margin:auto;padding:0 24px}.hero{background:radial-gradient(ellipse at 85% 20%,#285282 0%,transparent 43%),linear-gradient(120deg,#081e42,#0b2d56);color:#fff;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;width:330px;height:330px;border-radius:50%;border:45px solid rgba(216,163,65,.12);right:-110px;bottom:-190px}.hero-grid{min-height:550px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:36px;padding:75px 24px}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:750}h1,h2,h3{font-family:Georgia,serif;line-height:1.15}h1{font-size:clamp(40px,5vw,64px);margin:18px 0 20px;letter-spacing:-.03em}h2{font-size:clamp(30px,3.2vw,43px);margin:12px 0 18px}h3{font-size:23px;margin:0 0 12px}p{margin:0 0 17px}.lede{font-size:19px;color:#dce5ef;max-width:640px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:31px}.hero .outline{border-color:#8299b5;color:#fff}.hero-side{background:#fff;color:var(--navy);border-radius:18px;padding:36px;box-shadow:0 22px 55px #0003;position:relative;z-index:1}.hero-side .line{height:4px;width:65px;background:var(--gold);margin:0 0 28px}.hero-side ul{margin:0;padding-left:20px}.hero-side li{margin:12px 0}.hero-side strong{color:#0b376e}.section{padding:85px 0}.section.white{background:#fff}.section .intro{color:var(--muted);font-size:18px;max-width:790px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:35px}.card{padding:30px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 18px #0d356809}.card a{display:inline-block;color:#956014;font-weight:750;margin-top:7px}.card .symbol{font-size:27px;background:#f7efe0;display:grid;place-items:center;width:52px;height:52px;border-radius:12px;margin-bottom:19px}.card p{color:#5e6c7f}.card.feature{background:#0e315e;color:#fff;border:0}.card.feature p{color:#dce4f1}.card.feature a{color:#ffd384}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:35px}.step{border-top:3px solid var(--gold);padding-top:20px}.step em{font:700 32px Georgia,serif;color:var(--gold);display:block;margin-bottom:12px}.step p{color:var(--muted)}.band{background:#0b2852;color:#fff;padding:55px 0}.band-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}.band h2{margin:0 0 10px}.band p{color:#cfdceb;margin:0}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.panel{padding:34px;background:#fff;border-radius:14px;border:1px solid var(--line)}.panel p,.panel li{color:#5b6879}.contact-method{padding:13px 0;border-bottom:1px solid var(--line)}.contact-method strong{display:block}.contact-method a{color:#0a4787}.form label{display:block;font-size:13px;font-weight:750;margin:15px 0 6px}.form input,.form select,.form textarea{width:100%;padding:12px;border:1px solid #bdc7d2;border-radius:7px;background:#fff;color:#132946}.form textarea{min-height:110px;resize:vertical}.small{font-size:12px;color:#68748a}.form .alert{padding:12px;background:#fff3da;border:1px solid #e6c47d;border-radius:8px;margin-top:15px;color:#553d13}.pill{display:inline-block;border:1px solid #d3ae60;border-radius:99px;padding:5px 12px;color:#946319;background:#fff8e8;font-size:12px;font-weight:750}footer{background:#071934;color:#d3dfed;padding:40px 0;font-size:14px}footer .foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}footer a{color:#eec57b}footer .brand{color:#fff}.legal{font-size:12px;color:#b7c2d0;margin-top:22px}.minor{background:#f1f4f8;padding:26px 0}.minor .container{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.minor a{font-weight:700;color:#17446c}.accordion{margin-top:20px}.accordion details{background:white;margin:10px 0;border:1px solid var(--line);border-radius:8px;padding:17px 20px}.accordion summary{cursor:pointer;font-weight:700}.accordion details p{margin:14px 0 2px;color:#657182}.menu-toggle{display:none}.notice{background:#fff9e8;border-left:4px solid var(--gold);padding:18px 22px;margin-top:24px;font-size:14px;color:#554932}@media(max-width:860px){.hero-grid{grid-template-columns:1fr;padding-top:58px;padding-bottom:58px}.hero-side{max-width:650px}.cards{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.info-grid{grid-template-columns:1fr}.links{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:25px;flex-direction:column;align-items:stretch;box-shadow:0 10px 20px #0002}.links.open{display:flex}.menu-toggle{display:block;border:1px solid #ccd5e0;border-radius:7px;background:#fff;padding:7px 12px}.band-inner{display:block}.band .btn{margin-top:20px}}@media(max-width:560px){h1{font-size:38px}.hero-side{padding:24px}.section{padding:55px 0}.cards,.steps{grid-template-columns:1fr}.brand{font-size:22px}.nav{padding:12px 17px}.container{padding:0 18px}}

/* RomaNetwork V2 additions */
.page-heading{font-size:clamp(34px,5vw,58px);line-height:1.08;color:#081e42;max-width:850px;margin:12px 0 20px}.locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:22px 0}.location-card{background:#fff;border:1px solid #e0e4eb;border-top:4px solid #c9a65c;padding:25px;border-radius:9px;box-shadow:0 7px 22px rgba(15,25,52,.045)}.location-card h3{color:#0c234b;margin:8px 0}.location-card p{min-height:46px}.location-overline{text-transform:uppercase;font-size:11px;letter-spacing:1.7px;color:#8b7442;font-weight:700}.status-chip{background:#f3efe4;color:#56451e;border-radius:30px;padding:5px 10px;font-size:12px;display:inline-block;margin:12px 0}.location-email a{font-size:13px;word-break:break-word;color:#183b6b}.space-top{margin-top:42px}.contact-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0 48px}.contact-bar div{background:#0b2349;color:#fff;padding:19px;border-radius:8px;display:grid;gap:8px}.contact-bar a{color:#f2cb7f;word-break:break-word}.contact-bar strong{font-size:13px}.form-check{display:flex!important;gap:12px;align-items:flex-start;font-weight:400!important;margin:18px 0!important}.form-check input{width:auto!important;margin-top:6px!important}.how-list{padding-left:22px;line-height:1.9}.outline-dark{color:#102c54!important;border:1px solid #c3a15e!important;background:transparent!important}.foot{grid-template-columns:repeat(4,minmax(0,1fr))!important}.legal{line-height:1.8}#appointment-fields:not([hidden]),#business-fields:not([hidden]){display:block}[hidden]{display:none!important}@media(max-width:740px){.locations,.contact-bar{grid-template-columns:1fr}.foot{grid-template-columns:1fr 1fr!important}}@media(max-width:460px){.foot{grid-template-columns:1fr!important}}

/* Logo originale RomaNetwork, senza modifiche al disegno */
.brand-logo{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:184px;height:92px;overflow:hidden;background:#fff}
.brand-logo img{display:block;width:100%;height:100%;object-fit:contain}
.footer-logo{width:190px;max-width:100%;background:#fff;border-radius:5px;padding:4px}
.footer-logo img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:860px){.brand-logo{width:150px;height:76px}.links{top:96px}}
@media(max-width:560px){.brand-logo{width:116px;height:66px}.links{top:85px}}

/* Intestazione aziendale: marchio originale + nome e promessa istituzionale */
.top{display:none!important}
header .nav{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0;padding:8px 24px 0}
.brand-identity{grid-column:1;display:flex;align-items:center;gap:clamp(14px,2.2vw,30px);min-width:0}
.brand-identity .brand-logo{width:185px;height:106px;flex:0 0 185px}
.brand-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;gap:5px}
.brand-name{display:block;font:700 clamp(23px,2.6vw,33px)/1.18 Georgia,serif;color:#081e42;letter-spacing:-.02em}
.brand-tagline{display:block;font-size:clamp(13px,1.3vw,17px);font-weight:500;color:#526078;letter-spacing:.012em;line-height:1.4}
header .links{grid-column:1/-1;display:flex;position:static;justify-content:center;flex-wrap:wrap;gap:clamp(12px,2vw,27px);width:100%;margin-top:5px;padding:12px 0;border-top:1px solid #e9edf3;box-shadow:none;background:#fff}
header .menu-toggle{grid-column:2}
@media(max-width:860px){
 header .nav{padding:8px 18px 9px}
 .brand-identity .brand-logo{width:142px;height:88px;flex-basis:142px}
 .brand-name{font-size:clamp(21px,3.5vw,27px)}
 header .links{display:none;position:absolute;top:100%;left:0;right:0;grid-column:auto;margin:0;padding:18px 24px 24px;flex-direction:column;align-items:stretch;border-top:1px solid #e9edf3;box-shadow:0 10px 20px #0002}
 header .links.open{display:flex}
}
@media(max-width:560px){
 header .nav{padding:7px 12px 8px}
 .brand-identity{gap:8px}
 .brand-identity .brand-logo{width:82px;height:66px;flex-basis:82px}
 .brand-copy{gap:2px}
 .brand-name{font-size:clamp(17px,4.2vw,21px);line-height:1.13}
 .brand-tagline{font-size:11px;line-height:1.24}
 header .menu-toggle{font-size:12px;padding:7px 8px;white-space:nowrap}
}
