/* Grafica condivisa. I temi e le skin ASP.NET esistenti restano disponibili. */
:root { --ink:#182b32; --muted:#53646b; --red:#b33137; --red-dark:#8e232a; --paper:#f7f7f2; --line:#dce1dc; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
.site-body { margin:0; background:var(--paper); background-image:none; color:var(--ink); font:16px/1.65 "Segoe UI",Arial,sans-serif; text-align:left; }
.site-body h1,.site-body h2,.site-body h3,.site-body h4 { position:static; width:auto; height:auto; margin:0 0 16px; color:var(--ink); font-family:inherit; line-height:1.2; }
.site-body h2 { font-size:clamp(25px,3vw,36px); letter-spacing:-1px; }
.site-body h3 { font-size:25px; letter-spacing:-.5px; }
.site-body h4 { font-size:19px; }
.site-body p { line-height:1.65; margin:0 0 20px; }
.site-body a { color:var(--red-dark); text-decoration:none; text-underline-offset:4px; }
.site-body a:visited { color:var(--red-dark); }
.site-body a:hover { text-decoration:underline; }
.site-body a:focus-visible,.site-body button:focus-visible,.site-body input:focus-visible,.site-body select:focus-visible,.site-body textarea:focus-visible,.site-body summary:focus-visible { outline:3px solid #126b85; outline-offset:4px; }
.site-body img { max-width:100%; height:auto; vertical-align:middle; }
.site-body hr { border:0; border-top:1px solid var(--line); margin:24px 0; }
.site-body ul { list-style:disc; list-style-image:none; margin:0 0 20px; padding-left:22px; line-height:1.65; }
.site-body table { font-size:inherit; }
.skip-link { position:absolute; top:-100px; left:16px; padding:12px; background:white; z-index:100; }
.skip-link:focus { top:12px; }
.site-header { border-top:4px solid var(--red); background:var(--paper); border-bottom:1px solid var(--line); }
.header-inner,.utility-inner,.breadcrumb-bar,.home-layout,.footer,.site-search { width:min(1180px,calc(100% - 80px)); margin:0 auto; }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:100px; }
.brand,.brand:visited { display:flex; align-items:center; gap:12px; color:var(--ink)!important; font-size:25px; font-weight:750; letter-spacing:-1px; line-height:1.1; text-decoration:none!important; }
.brand img { flex-shrink:0; }
.brand-dot { color:var(--red); }
.brand small { display:block; margin-top:8px; color:var(--muted); font-size:10px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; }
.primary-nav { display:flex; align-items:center; gap:26px; font-size:14px; font-weight:600; }
.primary-nav a,.primary-nav a:visited { color:var(--ink); }
.primary-nav .nav-contact { border:1px solid var(--ink); border-radius:4px; padding:11px 18px; }
.primary-nav .nav-contact span { margin-left:18px; color:var(--red); }
.utility-inner { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; border-top:1px solid var(--line); padding:10px 0; font-size:12px; }
.site-directory { max-width:68%; }
.site-directory summary { cursor:pointer; color:var(--muted); }
.account-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:20px; }
.menua,.menub { position:static!important; font-size:12px; text-transform:none; }
.menua { padding:14px 0; }
.menua ul,.menub ul { display:flex!important; flex-wrap:wrap; gap:8px 20px; position:static!important; list-style:none; list-style-image:none; padding:0; margin:0; }
.menua li,.menub li { float:none!important; position:static!important; }
.menua a,.menub a { padding:2px 0!important; white-space:normal!important; }
.breadcrumb-bar { padding:15px 0; font-size:12px; color:var(--muted); }
.breadcrumb-bar a { color:var(--muted); }
#main-content { min-height:50vh; outline:none; }
.home-hero { display:grid; grid-template-columns:1.12fr 1fr; align-items:center; gap:65px; padding:54px 0 66px; }
.eyebrow { display:block; margin:0 0 20px!important; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:1.8px; line-height:1.5!important; }
.eyebrow>span { display:inline-block; width:7px; height:7px; margin-right:8px; background:var(--red); border-radius:50%; }
.hero-copy h1 { margin:0 0 24px; font-size:clamp(45px,5.6vw,70px); font-weight:650; letter-spacing:-3.7px; line-height:1.04; }
.hero-copy h1 em { color:var(--red); font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-3px; }
.hero-description { max-width:480px; font-size:16px; color:var(--muted); }
.hero-actions { display:flex; flex-wrap:wrap; gap:18px 26px; align-items:center; margin:30px 0; }
.action-primary,.action-primary:visited { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; padding:14px 20px; border-radius:4px; background:var(--red); color:white!important; font-size:13px; font-weight:600; }
.action-primary:hover { background:var(--red-dark); text-decoration:none!important; }
.action-text { display:inline-flex; gap:16px; align-items:center; font-size:13px; font-weight:600; }
.hero-note { margin:22px 0 0!important; color:var(--muted); font-size:11px; letter-spacing:.5px; }
.solution-map { position:relative; min-height:415px; background:#e9ede7; border:1px solid #dbe1d7; border-radius:6px; overflow:hidden; }
.map-top,.map-bottom { display:flex; align-items:center; gap:8px; justify-content:space-between; padding:22px; color:#51625a; font-size:9px; font-weight:600; letter-spacing:1.2px; }
.map-top { border-bottom:1px solid #d3dccf; }
.map-top>span:last-child { margin-left:auto; opacity:.7; }
.map-marker { width:6px; height:6px; background:#687c62; border-radius:50%; }
.map-nodes { position:relative; height:266px; background-image:radial-gradient(#c8d2c3 .8px,transparent .8px); background-size:17px 17px; }
.map-node { position:absolute; z-index:2; width:170px; padding:16px; border-radius:5px; background:white; border:1px solid #d5ded1; box-shadow:0 7px 18px #182b3208; }
.map-node strong,.map-node small { display:block; }
.map-node strong { margin-top:9px; font-size:14px; }
.map-node small { margin-top:4px; color:var(--muted); font-size:10px; }
.node-data { left:7%; top:20px; }
.node-core { right:7%; top:89px; color:white; background:#263c35; border-color:#263c35; }
.node-core strong { color:white; }.node-core small { color:#c1cfc6; }
.node-team { left:7%; top:161px; }
.node-symbol { color:#637a5e; font-size:25px; line-height:1; }.core-mark { font-size:15px; font-weight:700; letter-spacing:-1px; color:#e8c7ad; }
.map-line { position:absolute; z-index:1; left:28%; width:47%; height:67px; border:1px solid #a6b79f; border-left:0; border-bottom:0; border-radius:0 18px 0 0; }.line-one { top:70px; }.line-two { top:184px; transform:scaleY(-1); }
.map-bottom { border-top:1px solid #d3dccf; letter-spacing:.3px; font-size:11px; }.map-bottom i { margin:0 10px; font-style:normal; color:#83927e; }.map-plus { font-size:24px; font-weight:300; }
.home-services { padding:42px 0 0; border-top:1px solid var(--line); }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:28px; }.section-heading h2 { margin:0; }.section-heading .eyebrow { margin-bottom:12px!important; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:5px; background:#fff9; }
.service-tile,.service-tile:visited { display:flex; flex-direction:column; padding:30px; color:var(--ink)!important; text-decoration:none!important; transition:background .15s ease; }.service-tile+.service-tile { border-left:1px solid var(--line); }.service-tile:hover { background:white; }
.service-number { font-size:9px; letter-spacing:1.5px; color:var(--muted); font-weight:600; }.service-symbol { margin:26px 0; color:var(--red); font-size:32px; line-height:1; }.service-tile h3 { font-size:23px; line-height:1.25; letter-spacing:-.7px; }.service-tile p { color:var(--muted); font-size:13px; }.service-link { display:flex; justify-content:space-between; padding-top:18px; margin-top:auto; border-top:1px solid var(--line); font-size:12px; font-weight:600; }.service-link span { color:var(--red); }
.specialist-strip { display:flex; flex-wrap:wrap; gap:14px 24px; padding:24px 0 38px; border-bottom:1px solid var(--line); font-size:11px; }.specialist-strip>span { color:var(--muted); }
.home-approach { display:grid; grid-template-columns:.65fr 1.6fr 1fr; gap:30px; padding:56px 0; }.home-approach h2 { font-size:30px; }.home-approach p:not(.eyebrow) { color:var(--muted); font-size:14px; }.booking-note { display:flex; flex-direction:column; align-self:start; gap:24px; padding:24px; border:1px solid var(--line); border-radius:5px; color:var(--ink)!important; }.booking-note .eyebrow { margin:0!important; }.booking-note strong { font-size:22px; font-weight:500; line-height:1.3; }.booking-note>span:last-child { font-size:12px; color:var(--red-dark); }
.home-sidebar { display:grid; grid-template-columns:1fr 1fr 1fr; gap:35px; padding:36px 0 55px; border-top:1px solid var(--line); font-size:13px; }.home-sidebar h4 { font-size:18px; }.home-sidebar table { width:100%; max-width:100%; }.home-sidebar td { padding:0; }.home-sidebar .login .textbox { width:100%; }.home-sidebar .login h4 { text-align:left!important; }.home-sidebar input[type="image"] { width:auto; }.home-sidebar .gallery-panel>table { max-width:230px; }.client-shortcuts { display:flex; flex-wrap:wrap; gap:10px 15px; margin-top:20px; }.site-stats { margin:24px 0; }.site-stats summary { cursor:pointer; }.site-stats table { margin-top:12px; }
/* Compatibilità con pagine e tabelle legacy, senza cambiare binding e ID. */
.site-body .shim { display:none; }
.site-body .page { width:min(1100px,calc(100% - 80px))!important; min-height:420px; margin:15px auto 55px; padding:36px!important; background:white; background-image:none!important; border:1px solid var(--line); border-radius:6px; display:flow-root; }
.site-body #sidebar { width:230px; height:auto; padding-right:20px; font-size:13px; }.site-body #content { margin-left:260px; min-width:0; }.site-body #content:first-child { margin-left:0; }.site-body #contentfull { margin:0; height:auto; }
.site-body #whatsnew { width:45%; }.site-body #coollinks { margin-left:50%; }
.site-body #resume h4,.site-body #links h4 { position:static; width:auto; margin:25px 0 16px; padding:16px 0 0; }.site-body #resume #photo { position:static; float:right; margin:0 0 24px 28px; width:auto; }
.site-body .view { width:100%; }.site-body .buttonbar { width:100%; height:auto; min-height:42px; background:#eef1ec; padding:8px; }.site-body .nullpanel { padding:40px 20px; }.site-body .item { padding:20px; }
.site-body input[type="text"],.site-body input[type="email"],.site-body input[type="password"],.site-body input[type="search"],.site-body textarea,.site-body select { max-width:100%; min-height:40px; border:1px solid #9ba9ac; border-radius:4px; padding:8px 10px; background:white; color:var(--ink); font:inherit; }
.site-body input[type="submit"],.site-body button { min-height:42px; padding:9px 18px; border:1px solid var(--red-dark); border-radius:4px; background:var(--red); color:white; cursor:pointer; font:600 13px/1.4 "Segoe UI",Arial,sans-serif; }.site-body input[type="submit"]:hover,.site-body button:hover { background:var(--red-dark); }.site-body input[type="submit"]+input[type="submit"] { margin-left:8px; }
.site-body textarea { resize:vertical; }.site-body td { overflow-wrap:anywhere; }.site-body #content>table { max-width:100%; }
.footerbg { width:100%; height:auto; background:var(--ink); color:#dee6e7; }
.site-body .footer { width:min(1180px,calc(100% - 80px)); height:auto; padding:38px 0 25px; background:none; font-size:12px; text-align:left; }.footer a,.footer a:visited { color:#e9eded!important; }.footer-intro { display:flex; justify-content:space-between; gap:24px; padding-bottom:26px; border-bottom:1px solid #ffffff25; }.footer-intro strong { color:white; font-size:22px; font-weight:500; }.footer-intro>a { align-self:center; }.footer .menub { margin:25px 0; font-size:11px; text-transform:none; }.footer-meta { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-top:16px; color:#afbec3; border-top:1px solid #ffffff25; font-size:10px; }
.site-search { padding:22px 0; }.site-search form { display:flex; align-items:center; gap:12px; justify-content:flex-end; }.site-search label { font-size:12px; color:var(--muted); }.site-search input[type="search"] { width:240px; font-size:13px; }
.booking-page iframe { width:100%; height:1100px; min-height:80vh; border:1px solid var(--line); border-radius:5px; background:white; }.booking-page .booking-fallback { margin:16px 0 0; font-size:13px; }
.archive-note { padding:12px 16px; border-left:3px solid var(--red); background:#f1f3ed; color:var(--muted); font-size:13px; }
@media(max-width:1000px) {
    .header-inner { flex-wrap:wrap; padding:24px 0; gap:22px; }.primary-nav { gap:22px; }.home-hero { gap:30px; }.hero-copy h1 { letter-spacing:-2px; }.solution-map { min-height:380px; }.map-node { width:145px; padding:12px; }.node-data,.node-team { left:5%; }.node-core { right:5%; }.home-approach { grid-template-columns:1.5fr 1fr; }.home-approach>.eyebrow { grid-column:1/-1; }.service-tile { padding:23px; }.home-sidebar { gap:24px; }
}
@media(max-width:760px) {
    .header-inner,.utility-inner,.breadcrumb-bar,.home-layout,.site-search { width:calc(100% - 36px); }.header-inner { gap:20px; }.brand { font-size:23px; }.primary-nav { width:100%; flex-wrap:wrap; gap:12px 20px; font-size:13px; }.primary-nav .nav-contact { padding:7px 12px; }.utility-inner { font-size:11px; }.account-links { gap:12px; }.site-directory { max-width:50%; }.breadcrumb-bar { padding:12px 0; }
    .home-hero { grid-template-columns:1fr; gap:32px; padding:24px 0 36px; }.hero-copy h1 { font-size:clamp(42px,8.5vw,54px); letter-spacing:-2.5px; }.hero-description { font-size:15px; }.hero-actions { margin:25px 0; }.solution-map { min-height:375px; }.map-node { width:42%; max-width:165px; }.node-data,.node-team { left:5%; }.node-core { right:5%; }.home-services { padding-top:30px; }.section-heading { align-items:flex-start; flex-direction:column; gap:15px; }.section-heading h2 { font-size:29px; }.service-grid { grid-template-columns:1fr; }.service-tile+.service-tile { border-left:0; border-top:1px solid var(--line); }.service-tile { padding:25px; }.service-symbol { margin:20px 0; }.service-tile h3 br { display:none; }.specialist-strip { padding-bottom:28px; gap:12px 18px; }.home-approach { grid-template-columns:1fr; padding:32px 0; gap:20px; }.booking-note { gap:18px; }.home-sidebar { grid-template-columns:1fr; padding:28px 0 40px; }.home-sidebar>div+div { border-top:1px solid var(--line); padding-top:26px; }.home-sidebar .client-panel>table { max-width:100%; }
    .site-body .page { width:calc(100% - 24px)!important; margin:10px auto 28px; padding:22px 16px!important; }.site-body #sidebar { float:none; width:100%; height:auto; padding:0 0 22px; }.site-body #content,.site-body #coollinks { margin-left:0; }.site-body #contentfull { overflow-x:auto; }.site-body #whatsnew { float:none; width:100%; }.site-body #content { overflow-x:auto; }.site-body #resume #photo { float:none; margin:0 0 22px; }.site-body #resume h4,.site-body #links h4 { position:static; }.site-body #content>table { width:100%!important; }.site-body #content input[type="text"],.site-body #content textarea,.site-body #content select { width:100%!important; }.site-body #content img { max-width:100%; }.site-body #content iframe { max-width:100%; }
    .site-body .footer { width:calc(100% - 36px); padding:30px 0 22px; }.footer-intro { flex-direction:column; gap:14px; }.footer-intro>a { align-self:flex-start; }.footer-intro strong { font-size:21px; }.footer-meta { flex-direction:column; gap:10px; }.site-search form { flex-wrap:wrap; justify-content:flex-start; }.site-search label { width:100%; }.site-search input[type="search"] { flex:1; min-width:0; }.booking-page iframe { height:1000px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.service-tile { transition:none; } }
@media print { .site-header,.site-search,.footerbg,.site-directory { display:none; }.site-body { background:white; color:black; }.site-body .page,.home-layout { width:100%!important; border:0; }.solution-map { break-inside:avoid; } }

/* Contenuti di contorno: colonna autonoma, separata dal racconto principale. */
.home-with-sidebar { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:40px; align-items:start; }
.home-primary { min-width:0; }
.home-primary .home-hero { gap:26px; grid-template-columns:1.1fr 1fr; }
.home-primary .hero-copy h1 { font-size:clamp(42px,4.4vw,58px); letter-spacing:-2.5px; }
.home-primary .hero-actions { gap:14px; }
.home-primary .map-node { width:43%; padding:12px; }
.home-primary .node-data,.home-primary .node-team { left:5%; }
.home-primary .node-core { right:5%; }
.home-primary .service-tile { padding:23px; }
.home-primary .service-tile h3 { font-size:21px; }
.home-primary .home-approach { grid-template-columns:1.4fr 1fr; gap:24px; }
.home-primary .home-approach>.eyebrow { grid-column:1/-1; }
.home-sidebar { display:block; padding:28px 0 35px 24px; margin:54px 0 35px; border-top:0; border-left:1px solid var(--line); font-size:12px; color:var(--muted); }
.home-sidebar-disclosure>summary { display:none; }
.home-sidebar-body>div+div { margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.home-sidebar h4 { font-size:16px; margin-bottom:12px; text-align:left!important; }
.home-sidebar .eyebrow { font-size:9px; letter-spacing:1.2px; }
.home-sidebar p { margin-bottom:12px; }
.home-sidebar .client-shortcuts { gap:8px 12px; }
.home-sidebar .gallery-panel>table { max-width:100%; }
.home-sidebar .photo-frame { margin:0; }
.home-sidebar .photo_198 { max-height:150px; object-fit:contain; }
.home-sidebar .site-stats { margin:18px 0; }
@media(max-width:1120px) and (min-width:901px) {
    .home-with-sidebar { gap:26px; grid-template-columns:minmax(0,1fr) 225px; }
    .home-primary .home-hero { grid-template-columns:1fr; }
    .home-primary .solution-map { display:none; }
    .home-primary .service-grid { grid-template-columns:1fr; }
    .home-primary .service-tile+.service-tile { border-left:0; border-top:1px solid var(--line); }
    .home-primary .service-symbol { margin:16px 0; }
    .home-primary .service-tile h3 br { display:none; }
}
@media(max-width:900px) {
    .home-with-sidebar { grid-template-columns:minmax(0,1fr); gap:0; }
    .home-sidebar { margin:0 0 32px; padding:0; border-left:0; border-top:1px solid var(--line); }
    .home-sidebar-disclosure>summary { display:list-item; padding:18px 0; cursor:pointer; color:var(--ink); font-weight:600; }
    .home-sidebar-body { max-width:360px; padding:8px 0 24px; }
    .home-primary .home-hero { grid-template-columns:1fr; }
    .home-primary .map-node { max-width:165px; }
    .home-primary .home-approach { grid-template-columns:1fr; }
}
@media print { .home-with-sidebar { display:block; }.home-sidebar { display:none; } }

.home-managed-content { padding:28px 0 40px; border-top:1px solid var(--line); font-size:14px; }
.home-managed-content table { max-width:100%; }
.home-sidebar input[type="text"],.home-sidebar input[type="password"] { width:100%; min-width:0; }

/* Azioni testuali coerenti con il resto del sito, anche nelle gallerie. */
.site-body .site-button { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:42px; padding:10px 18px; border:1px solid var(--red); border-radius:4px; background:var(--red); color:white!important; font:600 13px/1.4 "Segoe UI",Arial,sans-serif; text-align:center; text-decoration:none; cursor:pointer; }
.site-body .site-button:hover { background:var(--red-dark); border-color:var(--red-dark); text-decoration:none; }
.site-body .site-button-secondary { background:transparent; color:var(--red-dark)!important; border-color:#c7d0cd; }
.site-body .site-button-secondary:hover { background:#edf0e9; border-color:var(--red-dark); }
.home-sidebar .site-button { display:flex; width:100%; margin:10px 0; }
.home-primary .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.home-primary .service-tile:nth-child(odd) { border-left:0; }
.home-primary .service-tile:nth-child(n+3) { border-top:1px solid var(--line); }
.service-highlights { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:26px 0; }
.service-highlights a { display:block; padding:20px; border:1px solid var(--line); border-radius:5px; }
.service-highlights strong,.service-highlights span { display:block; }
.service-highlights span { margin-top:8px; color:var(--muted); font-size:14px; }
/* Consentire ai titoli di andare a capo: mai tagliare o sovrapporre il testo. */
.home-sidebar,.home-sidebar-body,.client-panel,.gallery-panel { min-width:0; }
.home-sidebar h2,.home-sidebar h3,.home-sidebar h4,.site-body #sidebar h2,.site-body #sidebar h3,.site-body #sidebar h4 { max-width:100%; white-space:normal; overflow-wrap:anywhere; hyphens:auto; line-height:1.35; }
.home-sidebar .client-panel>table { width:100%!important; table-layout:fixed; }
.home-sidebar .client-panel td { max-width:100%; white-space:normal!important; overflow-wrap:anywhere; }
.site-body #content dl { display:grid; grid-template-columns:minmax(0,170px) minmax(0,1fr); gap:14px 24px; position:static; }
.site-body #content dl>dt { position:static; width:auto; max-width:100%; margin:0; font-weight:600; white-space:normal; overflow-wrap:anywhere; hyphens:auto; }
.site-body #content dl>dd { margin:0; min-width:0; overflow-wrap:anywhere; }
.site-body #content dl>:not(dt):not(dd) { grid-column:1/-1; }
@media(max-width:1120px) and (min-width:901px) { .home-primary .service-grid { grid-template-columns:1fr; } }
@media(max-width:760px) {
    .home-primary .service-grid,.service-highlights,.site-body #content dl { grid-template-columns:minmax(0,1fr); }
    .home-primary .service-tile+.service-tile { border-left:0; border-top:1px solid var(--line); }
    .site-body #content dl { gap:8px; }
    .site-body #content dl>dd { margin-bottom:16px; }
}

/* Presentazione del nuovo servizio: nessuna immagine del prodotto desktop. */
.condominio-intro { max-width:900px; margin:0 auto; padding:38px 0; }
.condominio-intro h1 { font-size:clamp(32px,5vw,58px); line-height:1.12; margin:16px 0 24px; overflow-wrap:anywhere; }
.condominio-intro p { max-width:760px; line-height:1.8; }
.condominio-intro .condominio-lead { font-size:21px; color:var(--muted); }
.condominio-beta { margin:36px 0; padding:24px; background:#f2f4ed; border-left:4px solid var(--red); border-radius:4px; }
.condominio-beta h2 { margin-top:0; }
.condominio-intro .site-stats { margin-top:38px; }

.condominio-gallery { margin:44px 0; min-width:0; }
.condominio-gallery figure { margin:28px 0; }
.condominio-gallery figure>a { display:block; border:1px solid var(--line); border-radius:8px; overflow:hidden; background:#edf1f5; }
.condominio-gallery figure>a:focus-visible { outline:3px solid var(--red); outline-offset:4px; }
.condominio-gallery img { display:block; width:100%; max-width:100%; height:auto; }
.condominio-gallery figcaption { margin-top:12px; color:var(--muted); font-size:14px; line-height:1.6; }
.condominio-gallery figcaption strong { color:var(--ink); }

.software-integration { margin:32px 0; padding:24px; border:1px solid var(--line); border-radius:6px; scroll-margin-top:24px; }
.software-integration h2 { margin-top:0; overflow-wrap:anywhere; }

.platform-disclosure { font-size:14px; line-height:1.7; color:var(--muted); padding:16px 0; }

.home-about,.home-news { padding:32px 0; border-top:1px solid var(--line); }
.home-about p { max-width:720px; line-height:1.8; }
.home-news-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:24px; }
.home-news-card { min-width:0; padding:24px; border:1px solid var(--line); border-radius:6px; }
.home-news-card h3 { margin:14px 0; line-height:1.3; overflow-wrap:anywhere; }
.home-news-card p { line-height:1.75; }
.news-status { font-size:11px; font-weight:700; letter-spacing:.08em; color:var(--red-dark); }
.home-news-card .news-disclosure { font-size:13px; color:var(--muted); }
@media(max-width:760px) { .home-news-grid { grid-template-columns:minmax(0,1fr); } }

/* Presentazione professionale: termini separati e contatori fuori dal layout pubblico. */
.service-terms { margin:32px 0; padding:16px 20px; border:1px solid var(--line); border-radius:6px; font-size:14px; }
.service-terms summary { cursor:pointer; font-weight:600; line-height:1.5; }
.service-terms[open] summary { margin-bottom:20px; }
.legacy-page-stats { display:none; }

.site-body #content>h1 { font-size:clamp(28px,4vw,42px); line-height:1.18; overflow-wrap:anywhere; }
