.site-header.is-scrolled{box-shadow:var(--shadow)}
.header-inner{position:relative}
.site-nav{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;margin-left:auto;min-width:0}
.site-nav ul{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;list-style:none;margin:0;padding:0;align-items:center;justify-content:flex-end}
.nav-actions{flex-wrap:nowrap}
.site-nav a{font-size:14px;white-space:nowrap}
.topbar{background:var(--navy);color:#fff;font-size:.84rem;font-weight:600}
.topbar-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem 1rem;min-height:2.15rem;padding:.3rem 0}
.topbar a{color:#fff;text-decoration:none}
.topbar a:hover,.topbar a:focus{color:var(--brand)}
.topbar-end{display:flex;align-items:center;gap:.65rem;margin-left:auto}
.topbar-social{display:flex;align-items:center;gap:.1rem}
.topbar-social a{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.4rem}
.topbar-social a:hover,.topbar-social a:focus{color:var(--brand);background:rgba(255,255,255,.12)}
.topbar-social .icon{width:1.05rem;height:1.05rem}
.nav-lead{color:var(--accent)!important;border:1.5px solid var(--accent);padding:.4rem .9rem !important;border-radius:2rem}
.site-nav a.nav-lead[aria-current="page"],.site-nav a.nav-lead:hover{background:rgba(26,111,163,.08);color:var(--navy)!important}
.site-nav a[aria-current="page"],.site-nav a:hover{color:var(--accent)}
.hero-net{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.45}
.hero-content{position:relative;z-index:1}
.section{padding:4.6rem 0}
.section h2{font-size:clamp(1.45rem,3vw,2.15rem);letter-spacing:-.03em;margin:0 0 .6rem;color:var(--navy)}
.section-head{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:flex-end;margin-bottom:.4rem}
.lead{color:var(--muted);max-width:46ch}
.cards{display:grid;gap:1.25rem;margin-top:2rem}
@media(min-width:768px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.cards.cols-3{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--bg2);border:0;border-radius:var(--radius);padding:2rem 1.4rem 1.6rem;display:flex;flex-direction:column;gap:.55rem;min-height:14.5rem;text-align:center;align-items:center;box-shadow:none;transition:transform .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow);background:#fff}
.card-icon{width:4.2rem;height:4.2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--navy);box-shadow:0 8px 24px rgba(11,61,102,.08)}
.card-icon .icon{width:2rem;height:2rem;color:var(--navy)}
.card h2,.card h3{margin:0;font-size:1.15rem;color:var(--navy)}
.card h3 a{color:inherit;text-decoration:none}
.card .province-links{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.35rem .75rem}
.card .province-links a{color:var(--navy);font-weight:700;text-decoration:none}
.region-pills{display:flex;flex-wrap:wrap;gap:.5rem .55rem;list-style:none;margin:1rem 0 0;padding:0}
.region-pills a{display:inline-flex;align-items:center;min-height:44px;padding:.35rem .9rem;border-radius:2rem;background:var(--bg2);color:var(--navy);font-weight:700;text-decoration:none}
.region-pills a:hover,.region-pills a:focus{background:#fff;box-shadow:var(--shadow)}
.place-links{display:flex;flex-wrap:wrap;gap:.45rem .9rem;list-style:none;margin:.4rem 0 0;padding:0}
.place-links a{font-weight:700;color:var(--navy);text-decoration:none}
.card p{margin:0;color:var(--muted);flex:1;max-width:28ch}
.card a.more{font-weight:700;color:var(--accent);text-decoration:none}
.kpi-band{background:var(--navy);color:#fff;padding:2.4rem 0}
.kpi-band h2,.kpi-band .lead{color:#fff}
.kpis{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:768px){.kpis{grid-template-columns:repeat(4,1fr)}}
.kpi{background:transparent;border:0;border-radius:0;padding:.4rem 0;text-align:center}
.kpi strong{display:block;font-size:2rem;color:var(--brand)}
.kpi span{color:rgba(255,255,255,.8);font-size:.92rem}
.split{display:grid;gap:2.2rem;align-items:center}
@media(min-width:1024px){.split{grid-template-columns:1.05fr .95fr}}
.split .card{text-align:left;align-items:flex-start;background:#fff;border:1px solid var(--line);min-height:0}
.list-check{list-style:none;padding:0;margin:1rem 0 0}
.list-check li{display:grid;grid-template-columns:auto 1fr;gap:.6rem;margin:0 0 .7rem}
.list-check .icon{width:1.2rem;height:1.2rem;color:var(--accent);margin-top:.15rem}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:1.1rem 0 0;margin:0;color:var(--muted);font-size:.88rem}
.breadcrumb li:not(:last-child)::after{content:"/";margin-left:.4rem;opacity:.5}
.breadcrumb a{color:var(--muted)}
.page-hero{padding:2.4rem 0 1.2rem;background:var(--bg2)}
.page-hero h1{font-size:clamp(1.6rem,3.4vw,2.5rem);margin:0 0 .8rem;max-width:22ch;letter-spacing:-.03em;color:var(--navy)}
.page-hero .lead{max-width:48ch}
.page-hero .cta-row{justify-content:flex-start}
.page-hero .hero-split{display:grid;gap:1.8rem;align-items:center}
@media(min-width:900px){.page-hero .hero-split{grid-template-columns:1.05fr .95fr}}
.service-visual{margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.service-visual img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.card-photo{padding:0 0 1.45rem;text-align:left;align-items:stretch;min-height:0;overflow:hidden}
.card-photo .card-visual{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius) var(--radius) 0 0}
.card-photo h3,.card-photo p,.card-photo a.more{padding-left:1.3rem;padding-right:1.3rem;max-width:none}
.card-photo h3{margin-top:1.05rem}
.card-photo p{margin-top:.15rem}
.faq-item{border-bottom:1px solid var(--line);padding:.95rem 0}
.faq-item summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:1rem;min-height:44px;align-items:center;color:var(--navy)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item p{color:var(--muted);margin:.4rem 0 0;max-width:52ch}
.cta-band{background:var(--navy);color:#fff}
.cta-band h2,.cta-band p{color:#fff}
.cta-inner{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;align-items:center}
.cta-row-left{justify-content:flex-start}
.cta-band .btn-ghost{color:#fff;border-color:rgba(255,255,255,.45)}
.site-footer{background:var(--navy);color:rgba(255,255,255,.86);padding:3.2rem 0 1.5rem;font-size:.95rem}
.footer-grid{display:grid;gap:1.5rem}
@media(min-width:768px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.footer-grid{grid-template-columns:1.35fr .9fr .9fr 1.05fr .8fr}}
.site-footer h2{font-size:.95rem;margin:0 0 .7rem;color:#fff}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:0 0 .45rem}
.site-footer a{color:#fff;text-decoration:none}
.site-footer a:hover{color:var(--brand)}
.footer-brand{font-weight:800;font-size:1.15rem;color:#fff;display:flex;align-items:center;gap:.55rem;margin:0 0 .6rem}
.footer-brand img{width:2.2rem;height:2.2rem;border-radius:.4rem}
.footer-addr{margin:.55rem 0}
.footer-addr strong{display:flex;align-items:center;gap:.4rem;color:#fff;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.15rem}
.footer-addr .icon{width:1.05rem;height:1.05rem;color:var(--brand)}
.footer-contact{display:flex;align-items:center;gap:.45rem;margin:.4rem 0}
.social{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin:1.1rem 0 0}
.social a{display:inline-flex;align-items:center;gap:.45rem;min-height:2.4rem;padding:.35rem .85rem .35rem .5rem;border:1px solid rgba(255,255,255,.22);border-radius:2rem;color:#fff}
.social a:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.social .icon{width:1.1rem;height:1.1rem}
.colophon{margin-top:2rem;color:rgba(255,255,255,.65);font-size:.85rem;border-top:1px solid rgba(255,255,255,.12);padding-top:1rem}
.form{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.35rem;box-shadow:var(--shadow)}
.field{margin-bottom:.9rem}
.field label{display:block;font-weight:700;margin-bottom:.3rem}
.field input:not([type="checkbox"]),.field textarea,.field select{width:100%;padding:.75rem .8rem;border-radius:.65rem;border:1px solid var(--line);background:var(--bg2);color:var(--ink);font:inherit;min-height:44px}
.field input:not([type="checkbox"]):focus,.field textarea:focus,.field select:focus{outline:2px solid var(--brand);background:#fff}
.field textarea{min-height:8rem;resize:vertical}
.field .err{color:#b42318;font-size:.85rem;margin:.25rem 0 0}
.field-privacy label{display:flex;align-items:flex-start;gap:.5rem;font-weight:500;font-size:.82rem;line-height:1.45;margin:0;cursor:pointer}
.field-privacy input[type="checkbox"]{appearance:auto;width:14px;height:14px;min-width:14px;min-height:0;margin:.22rem 0 0;padding:0;flex-shrink:0;accent-color:var(--accent);cursor:pointer}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.alert{padding:.9rem 1rem;border-radius:.6rem;margin-bottom:1rem}
.alert-ok{background:#e8f6ee;border:1px solid #67b38a}
.alert-err{background:#fdecec;border:1px solid #e08a8a}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;min-width:32rem}
th,td{border-bottom:1px solid var(--line);padding:.7rem;text-align:left}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
@media (max-width:1023px){
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
  .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:1rem;align-items:stretch;margin-left:0}
  .site-nav.is-open{display:flex}
  .site-nav ul{flex-direction:column;align-items:stretch;gap:.2rem}
  .site-nav a{width:100%;font-size:.95rem;min-height:44px}
  .site-nav a.nav-lead,.site-nav a.nav-cta{justify-content:center}
  body.nav-lock{overflow:hidden}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .card{transition:none}
}
.prose h2{margin:2rem 0 .6rem;color:var(--navy)}
.prose p,.prose li{color:var(--muted)}
.legal{max-width:48rem}
.plans{display:grid;gap:1.2rem;margin-top:1.6rem}
@media(min-width:768px){.plans{grid-template-columns:repeat(3,1fr)}}
.plan{background:var(--bg2);border:0;border-radius:var(--radius);padding:1.6rem 1.3rem;text-align:center}
.plan h3{color:var(--navy);margin:0}
.plan strong{display:block;font-size:1.5rem;color:var(--accent);margin:.35rem 0 1rem}
.quotes{display:grid;gap:1.2rem}
@media(min-width:768px){.quotes{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1440px){.quotes{grid-template-columns:repeat(3,1fr)}}
.quote{background:var(--bg2);border:0;border-radius:var(--radius);padding:1.3rem}
.quote p{margin:0 0 .7rem}
.quote cite{color:var(--muted);font-style:normal;font-size:.9rem}
.contact-grid{display:grid;gap:1.5rem}
.contact-line{display:flex;align-items:center;gap:.5rem}
@media(min-width:1024px){.contact-grid{grid-template-columns:1fr 1.1fr}}
.lead-band{background:var(--navy);color:#fff;scroll-margin-top:8rem}
.lead-band h2,.lead-band p,.lead-band li{color:#fff}
.lead-band .list-check .icon{color:var(--brand)}
.lead-phone{margin-top:1.2rem;font-weight:700}
.lead-phone a{color:#fff;text-decoration:underline}
.lead-grid{display:grid;gap:2rem;align-items:start}
@media(min-width:900px){.lead-grid{grid-template-columns:.9fr 1.1fr}}
.lead-band .btn-ghost{color:#fff;border-color:rgba(255,255,255,.45)}
.lead-band .form,.lead-band .form label,.lead-band .form .err{color:var(--ink)}
.lead-band .form a{color:var(--accent)}
.map-frame{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);background:var(--bg2)}
.map-frame iframe{display:block;width:100%;height:26rem;border:0}
.map-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.1rem}
.office-gallery{display:grid;gap:.85rem;grid-template-columns:repeat(2,1fr);margin:1.6rem 0 0;padding:0;list-style:none}
@media(min-width:768px){.office-gallery{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1100px){.office-gallery{grid-template-columns:repeat(4,1fr)}}
.office-gallery a{display:block;background:#fff;border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--navy);box-shadow:0 8px 24px rgba(11,61,102,.06)}
.office-gallery a:hover{box-shadow:var(--shadow)}
.office-gallery img{width:100%;aspect-ratio:3/4;object-fit:cover}
.office-gallery-wide{grid-column:span 2}
.office-gallery-wide img{aspect-ratio:4/3}
.office-gallery span{display:block;padding:.55rem .8rem .7rem;font-size:.88rem;font-weight:700}
.gallery-dialog{border:0;padding:2.6rem .2rem .2rem;background:transparent;max-width:min(94vw,56rem)}
.gallery-dialog::backdrop{background:rgba(11,61,102,.78)}
.gallery-dialog img{width:100%;height:auto;max-height:78vh;object-fit:contain;border-radius:.8rem;background:#0b3d66}
.gallery-dialog p{margin:.7rem 0 0;color:#fff;text-align:center;font-weight:700}
.gallery-close{position:absolute;top:.35rem;right:.35rem;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:var(--navy);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
#mappa,#uffici{scroll-margin-top:8rem}
.about-visual{margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.about-visual img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.about-mosaic{display:grid;gap:.85rem;margin-top:1.6rem}
@media(min-width:768px){.about-mosaic{grid-template-columns:repeat(3,1fr)}}
.about-mosaic figure{margin:0}
.about-mosaic img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius);box-shadow:0 8px 24px rgba(11,61,102,.06)}
.about-mosaic figcaption{margin-top:.45rem;font-size:.88rem;font-weight:700;color:var(--navy)}
.about-mosaic-link{margin-top:1.1rem}
html.has-cookie-choice .cookie-banner{display:none}
.cookie-banner[hidden]{display:none}
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:80;background:#fff;color:var(--ink);border-top:1px solid var(--line);box-shadow:0 -12px 40px rgba(11,61,102,.12);padding:1.1rem 0 1.2rem}
.cookie-banner-inner{display:grid;gap:1rem}
@media(min-width:900px){.cookie-banner-inner{grid-template-columns:1.4fr auto;align-items:center}}
.cookie-banner h2{margin:0 0 .35rem;font-size:1.05rem;color:var(--navy)}
.cookie-banner p{margin:0;color:var(--muted);font-size:.92rem;max-width:62ch}
.cookie-actions{display:flex;flex-wrap:wrap;gap:.55rem}
.cookie-prefs{grid-column:1/-1;display:grid;gap:.7rem;padding-top:.2rem}
.cookie-prefs[hidden]{display:none}
.cookie-prefs label{display:flex;align-items:flex-start;gap:.5rem;font-size:.92rem;font-weight:600;color:var(--navy)}
.cookie-prefs input{width:1rem;height:1rem;min-width:1rem;margin:.2rem 0 0;accent-color:var(--accent)}
.cookie-prefs .btn{justify-self:start}
body.cookie-open{padding-bottom:10rem}
.map-consent{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.9rem;min-height:16rem;padding:1.6rem;background:var(--bg2)}
.map-consent[hidden],.map-frame:has(iframe) .map-consent{display:none}
.map-consent p{margin:0;max-width:42ch;color:var(--muted)}
.plan-note{margin:1.2rem 0 .6rem;color:var(--muted);font-size:.92rem}
.speed-table{margin:0 0 1rem}
.speed-table caption{text-align:left;font-weight:700;color:var(--navy);margin:0 0 .5rem}
.post-meta{color:var(--muted);font-size:.9rem;margin:0 0 1rem}
.case-dl{display:grid;grid-template-columns:12rem 1fr;gap:.35rem 1rem;margin:0 0 1.6rem}
.case-dl dt{font-weight:700;color:var(--navy)}
.case-dl dd{margin:0;color:var(--muted)}
@media(max-width:700px){.case-dl{grid-template-columns:1fr}}
.card .post-meta{padding-left:1.3rem;padding-right:1.3rem}
.card.post-card{text-align:left;align-items:stretch;padding:0 0 1.4rem;overflow:hidden;min-height:0}
.card.post-card .post-thumb{width:100%;aspect-ratio:16/10;object-fit:cover}
.card.post-card h2,.card.post-card p,.card.post-card .post-meta,.card.post-card a.more{padding-left:1.3rem;padding-right:1.3rem}
.card.post-card h2{margin-top:.15rem}
.card.post-card .post-meta{margin:1rem 0 0}
.blog-cats{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem}
.blog-cats a{display:inline-flex;align-items:center;min-height:40px;padding:.35rem .9rem;border:1px solid var(--line);border-radius:2rem;text-decoration:none;font-weight:700;color:var(--navy);background:#fff}
.blog-cats a[aria-current="page"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.article-author{margin:1.5rem 0 .35rem;font-weight:700;color:var(--navy)}
.article-category{margin:0 0 1rem}
.article-body p{margin:0 0 1rem}
.article-body ul,.article-body ol{margin:0 0 1rem;padding-left:1.25rem}
.article-body li{margin:.25rem 0}
.prose strong{font-weight:700;color:var(--navy)}
.prose em{font-style:italic}
.prose u{text-decoration:underline}
.format-bar{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .45rem}
.format-bar button{min-height:40px;padding:.35rem .7rem;border:1px solid var(--line);background:#fff;border-radius:.55rem;font:inherit;font-weight:600;color:var(--navy);cursor:pointer}
.rich-editor{min-height:16rem;border:1px solid var(--line);border-radius:.7rem;padding:.85rem 1rem;background:#fff}
.rich-editor:focus{outline:2px solid var(--accent);outline-offset:1px}
textarea.rich-fallback{position:absolute;left:-999px;width:1px;height:1px;overflow:hidden}
.article-photos{display:grid;gap:.9rem;margin:0 0 1.4rem}
.article-photo{width:100%;border-radius:var(--radius)}
.admin-photos{display:grid;gap:.8rem;margin:0 0 1rem}
.admin-photos figure{margin:0}
.admin-photos img{width:min(100%,16rem);border-radius:.6rem}
.hint{color:var(--muted);font-size:.88rem;margin:.35rem 0 0}
@media(max-width:480px){.hero{padding:3.4rem 0 3rem}.section{padding:3.2rem 0}.card{min-height:0}}
.cov-layout{display:grid;gap:2rem;align-items:start}
@media(min-width:900px){.cov-layout{grid-template-columns:1.15fr .85fr}}
.cov-progress{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0 0 1.2rem;padding:0}
.cov-progress li{padding:.35rem .75rem;border-radius:2rem;border:1px solid var(--line);font-size:.82rem;font-weight:700;color:var(--muted)}
.cov-progress li.is-on{border-color:var(--accent);color:var(--navy);background:#fff}
.cov-step{display:none}
.cov-step.is-on{display:block}
.cov-combo{position:relative}
.cov-suggest{position:absolute;z-index:25;left:0;right:0;top:100%;margin:.25rem 0 0;padding:.35rem 0;list-style:none;background:#fff;border:1px solid var(--line);border-radius:.65rem;max-height:16rem;overflow:auto;box-shadow:var(--shadow)}
.cov-suggest[hidden]{display:none}
.cov-suggest button{display:block;width:100%;text-align:left;background:none;border:0;padding:.7rem 1rem;font:inherit;cursor:pointer;color:var(--ink)}
.cov-suggest button:hover,.cov-suggest button[aria-selected="true"]{background:var(--bg2)}
.cov-hint,.cov-legal{color:var(--muted);font-size:.88rem}
.cov-picked{font-weight:700;color:var(--navy);margin:0 0 .8rem}
.cov-techs{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.75rem}
.cov-tech{background:var(--bg2);border-radius:var(--radius);padding:1rem 1.1rem}
.cov-tech > strong{display:block;color:var(--navy);margin:0 0 .25rem}
.cov-area{display:inline-block;margin:.2rem 0 .4rem;font-size:.82rem;font-weight:700;color:var(--accent)}
.cov-tech p{margin:.25rem 0 0;color:var(--muted)}
.cov-offers{list-style:none;margin:.55rem 0 0;padding:0;display:grid;gap:.5rem}
.cov-offers li{display:grid;gap:.12rem}
.cov-offers strong{display:block;margin:0;font-size:.95rem}
.cov-offers span{color:var(--muted);font-size:.88rem;font-weight:500}
.cov-form .btn-ghost{margin-top:.4rem}
.sip-kicker{margin:0 0 .45rem;color:var(--accent);font-weight:700;font-size:.95rem}
.sip-hero h1{max-width:none}
.sip-hero .lead{max-width:40rem}
.btn-lg{min-height:52px;padding:.9rem 1.45rem;font-size:1.05rem}
.sip-guarantees{display:flex;flex-wrap:wrap;gap:.55rem 1.1rem;overflow:visible;list-style:none;margin:1.1rem 0 0;padding:0;min-width:0;max-width:100%}
.sip-guarantees li{display:inline-flex;align-items:center;gap:.35rem;flex:0 1 auto;max-width:100%;font-weight:600;font-size:.92rem;color:var(--navy)}
.sip-guarantees .icon{color:var(--accent)}
.page-hero .hero-split > *{min-width:0}
.sip-hero .cta-row{min-width:0}
.sip-hero .cta-row .btn{max-width:100%;white-space:normal;text-align:center}
.sip-visual{position:relative;margin:0;min-width:0;max-width:100%}
.sip-visual picture{display:block;max-width:100%}
.sip-visual img{width:100%;max-width:100%;height:auto;border-radius:var(--radius)}
.sip-toast{position:absolute;left:.8rem;bottom:.8rem;max-width:min(18rem,calc(100% - 1.6rem));margin:0;padding:.7rem .85rem;background:#fff;color:var(--navy);border-radius:.8rem;box-shadow:var(--shadow);font-weight:700;font-size:.88rem;line-height:1.35;animation:sip-toast .7s ease both}
@keyframes sip-toast{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.sip-page .card{text-align:left;align-items:flex-start;min-height:0}
.sip-page .card p{max-width:none}
.sip-page .card h3{font-size:1.05rem}
.sip-grid-4,.sip-grid-3,.sip-features,.sip-pairs,.sip-scenarios{display:grid;gap:1rem}
.sip-callout{margin:1.3rem 0 0;padding:1rem 1.15rem;background:#e8f3fb;border-radius:var(--radius);color:var(--navy);font-weight:700}
.sip-pair{display:grid;gap:.7rem;background:var(--bg2);border-radius:var(--radius);padding:1rem 1.1rem}
.sip-pair p{margin:0}
.sip-k{margin:0 0 .2rem;font-size:.78rem;font-weight:700;color:var(--accent)}
.sip-imagine{margin-top:1.3rem;padding:1.15rem;background:var(--bg2);border-radius:var(--radius)}
.sip-imagine h3,.sip-scenarios h3{margin:0 0 .35rem;color:var(--navy);font-size:1.02rem}
.sip-note{margin:.15rem 0 .8rem;color:var(--muted);font-size:.9rem}
.sip-scenarios p,.sip-feature li{color:var(--ink)}
.sip-feature{background:var(--bg2);border-radius:var(--radius);padding:1.15rem 1.15rem .4rem}
.sip-feature h3{margin:0 0 .55rem;color:var(--navy);font-size:1.12rem}
.sip-feature ul{margin:0;padding-left:1.1rem}
.sip-feature li{margin:0 0 .55rem}
.sip-links{margin:1rem 0 0;padding-left:1.1rem}
.sip-links li{margin:0 0 .7rem}
.sip-steps{display:flex;flex-direction:column;gap:.8rem;list-style:none;margin:1.2rem 0 0;padding:0;counter-reset:sipstep}
.sip-steps li{position:relative;background:var(--bg2);border-radius:var(--radius);padding:1rem 1rem 1rem 3.3rem;counter-increment:sipstep}
.sip-steps li::before{content:counter(sipstep);position:absolute;left:.85rem;top:.95rem;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;font-size:.85rem;line-height:1.7rem;text-align:center}
.sip-table-wrap{overflow-x:auto;margin-top:1rem;-webkit-overflow-scrolling:touch}
.sip-table-wrap table{width:100%;min-width:40rem;border-collapse:collapse}
.sip-table-wrap th,.sip-table-wrap td{text-align:left;vertical-align:top;padding:.75rem .8rem;border-bottom:1px solid var(--line)}
.sip-table-wrap thead th{color:var(--navy)}
.sip-table-wrap td:last-child{font-weight:700;color:var(--navy)}
.sip-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sip-sticky[hidden]{display:none}
@media(min-width:700px){.sip-grid-4{grid-template-columns:1fr 1fr}}
@media(min-width:800px){
  .sip-pair{grid-template-columns:1fr 1fr}
  .sip-grid-3,.sip-features,.sip-scenarios{grid-template-columns:1fr 1fr}
}
@media(min-width:1100px){
  .sip-grid-3{grid-template-columns:repeat(3,1fr)}
  .sip-steps{flex-direction:row;align-items:stretch}
  .sip-steps li{flex:1;padding:2.5rem .7rem .85rem}
  .sip-steps li::before{left:.7rem}
}
@media(max-width:1023px){
  .sip-sticky:not([hidden]){position:fixed;left:0;right:0;bottom:0;z-index:35;display:flex;gap:.6rem;padding:.7rem .8rem calc(.7rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(11,61,102,.12)}
  .sip-sticky .btn{flex:1}
  body.sip-sticky-on{padding-bottom:5.1rem}
  body.cookie-open .sip-sticky{display:none}
}
@media(prefers-reduced-motion:reduce){
  .sip-toast{animation:none}
  html.sip-motion .sip-reveal{opacity:1;transform:none;transition:none}
}
html.sip-motion .sip-reveal{opacity:0;transform:translateY(12px);transition:opacity .45s ease,transform .45s ease}
html.sip-motion .sip-reveal.is-in{opacity:1;transform:none}
.fiber-prices{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none}
.fiber-prices a{display:inline-flex;align-items:center;min-height:44px;padding:.35rem .9rem;border-radius:2rem;background:#fff;color:var(--navy);font-weight:700;text-decoration:none;border:1px solid var(--line)}
.fiber-prices a:hover,.fiber-prices a:focus{box-shadow:var(--shadow)}
.fiber-vat{margin:.45rem 0 0;color:var(--muted);font-size:.88rem}
.fiber-plans{display:grid;gap:1rem;margin-top:1.2rem}
.fiber-plan{background:var(--bg2);border-radius:var(--radius);padding:1.25rem 1.15rem 1.15rem;display:flex;flex-direction:column;gap:.4rem;min-width:0}
.fiber-plan h3{margin:0;color:var(--navy)}
.fiber-price{margin:0;font-size:1.35rem;font-weight:800;color:var(--accent)}
.fiber-plan ul{margin:.35rem 0 .15rem;padding-left:1.1rem}
.fiber-plan li{margin:0 0 .4rem}
.fiber-ideal{margin:.15rem 0 .7rem;color:var(--muted)}
.fiber-plan .btn{margin-top:auto;max-width:100%;white-space:normal;text-align:center}
.fiber-badge{align-self:flex-start;margin:0 0 .15rem;padding:.2rem .7rem;border-radius:2rem;background:var(--navy);color:#fff;font-size:.78rem;font-weight:700}
.fiber-plan-plus{box-shadow:inset 0 0 0 2px var(--accent)}
.fiber-speed th:last-child,.fiber-speed td:last-child{background:#e8f3fb}
#piani{scroll-margin-top:6rem}
@media(min-width:800px){.fiber-plans{grid-template-columns:repeat(3,1fr);align-items:stretch}}
.kv-search{position:relative;margin-top:1.1rem;max-width:28rem}
.kv-search label{display:block;font-weight:700;color:var(--navy);margin-bottom:.35rem}
.kv-search input,.kv-filter{width:100%;min-height:48px;padding:.6rem .9rem;border:1px solid var(--line);border-radius:.8rem;font:inherit;background:#fff}
.kv-suggest{position:absolute;z-index:5;left:0;right:0;margin:.25rem 0 0;padding:.3rem;list-style:none;background:#fff;border:1px solid var(--line);border-radius:.8rem;box-shadow:var(--shadow);max-height:16rem;overflow:auto}
.kv-suggest a{display:block;padding:.45rem .6rem;border-radius:.45rem;color:var(--ink);text-decoration:none}
.kv-suggest a:hover,.kv-suggest a:focus{background:var(--bg2)}
.kv-comuni{margin:.4rem 0 1rem;padding-left:1.1rem;columns:1}
.kv-comuni li{break-inside:avoid;margin:0 0 .2rem}
.kv-fold{margin:.4rem 0 1rem}
.kv-fold > summary{cursor:pointer;font-weight:700;color:var(--navy)}
.kv-tools{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:.2rem 0 .8rem}
.kv-tools label{font-weight:700;color:var(--navy)}
.kv-filter{max-width:28rem}
@media(min-width:700px){.kv-comuni{columns:2}}
@media(min-width:1100px){.kv-comuni{columns:3}}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:768px){.kpis.kpis-5{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1100px){.kpis.kpis-5{grid-template-columns:repeat(5,1fr)}}
.about-person,.about-address{background:var(--bg2);border-radius:var(--radius);padding:1.15rem 1.2rem}
.about-person{max-width:22rem}
.about-person img{display:block;width:100%;height:auto;margin:0 0 .85rem;border-radius:.7rem;object-fit:cover}
.about-person blockquote{margin:0 0 .85rem;padding:0;border:0}
.about-person blockquote p{margin:0;color:var(--navy);font-weight:600}
.about-person p,.about-address p{margin:0 0 .45rem}
@media(min-width:1024px){.split.about-founder{grid-template-columns:1.35fr .65fr;align-items:start}}
.about-person p:last-child,.about-address p:last-child{margin-bottom:0}
.about-timeline{list-style:none;margin:1.2rem 0 0;padding:0}
.about-timeline li{position:relative;margin:0;padding:0 0 1.15rem 1.35rem;border-left:2px solid var(--line)}
.about-timeline li:last-child{padding-bottom:0}
.about-timeline strong{color:var(--navy)}
.about-facts{display:grid;gap:1.2rem}
.about-facts p{margin:0 0 .85rem}
@media(min-width:800px){.about-facts{grid-template-columns:1fr 1fr;gap:2rem}}
.sip-steps.about-promises h3{margin:0 0 .25rem;color:var(--navy);font-size:1.12rem}
.sip-steps.about-promises p{margin:0}
@media(min-width:800px){.sip-steps.about-promises{display:grid;grid-template-columns:1fr 1fr}}
@media(min-width:1100px){
  .sip-steps.about-promises{flex-direction:column;grid-template-columns:1fr 1fr}
  .sip-steps.about-promises li{flex:none;padding:1rem 1rem 1rem 3.3rem}
  .sip-steps.about-promises li::before{left:.85rem;top:.95rem}
}
.sol-hero h1,.sol-hero .lead{max-width:38rem}
#configuratore,#settori,#preventivo{scroll-margin-top:6rem}
.sol-diagram{margin:1.2rem 0 0;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;color:var(--navy)}
.sol-diagram svg{display:block;width:100%;height:auto}
.sol-diagram-wide{display:none}
.sol-chain-label{margin:0 0 .7rem;font-weight:800;color:var(--navy)}
.cfg-fallback{margin-top:.4rem}
.cfg-progress{height:.45rem;border-radius:1rem;background:var(--line);margin:1rem 0 .35rem;overflow:hidden}
.cfg-progress span{display:block;height:100%;background:var(--accent);width:0}
.cfg-step-label{margin:0 0 .8rem;color:var(--muted);font-size:.88rem;font-weight:700}
.cfg-options{display:grid;gap:.65rem;margin:0}
.cfg-option{display:flex;align-items:center;gap:.75rem;width:100%;min-height:52px;padding:.8rem .95rem;border:0;border-radius:var(--radius);background:var(--bg2);color:var(--navy);font:inherit;font-weight:700;text-align:left;cursor:pointer;box-shadow:inset 0 0 0 1px transparent}
.cfg-option .icon{width:1.45rem;height:1.45rem;color:var(--accent)}
.cfg-option[aria-checked="true"],.cfg-option[aria-pressed="true"]{background:#fff;box-shadow:inset 0 0 0 2px var(--accent)}
.cfg-option:focus-visible,.sol-tablist button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.cfg-nav{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}
.cfg-nav .btn[disabled]{opacity:.45;cursor:not-allowed}
.cfg-cards{display:grid;gap:.8rem;margin:1rem 0}
.cfg-card{display:grid;grid-template-columns:4.5rem 1fr;gap:.8rem;align-items:center;background:var(--bg2);border-radius:var(--radius);padding:.8rem}
.cfg-card img{width:4.5rem;height:4.5rem;object-fit:cover;border-radius:.7rem}
.cfg-card h3{margin:0 0 .2rem}
.cfg-card p{margin:0 0 .35rem}
.cfg-card.is-featured{box-shadow:inset 0 0 0 2px var(--accent)}
.cfg-flag{display:inline-block;margin:0 0 .3rem;padding:.15rem .6rem;border-radius:2rem;background:var(--navy);color:#fff;font-size:.75rem;font-weight:700}
.cfg-note{color:var(--muted);font-size:.9rem}
.cfg-case{margin:.8rem 0}
.sol-sectors{display:grid;gap:.7rem;margin-top:1rem}
.sol-sector{background:var(--bg2);border-radius:var(--radius);padding:0}
.sol-sector summary{cursor:pointer;font-weight:800;color:var(--navy);padding:1rem 1.1rem}
.sol-sector-body{padding:0 1.1rem 1.1rem}
.sol-sector-body h3{margin:0 0 .2rem;color:var(--navy);font-size:1rem}
.sol-sector-body p{margin:0 0 .75rem}
.sol-tablist{display:none;flex-wrap:wrap;gap:.45rem;margin:1rem 0 .4rem}
.sol-tablist button{min-height:44px;padding:.4rem .85rem;border-radius:2rem;border:1px solid var(--line);background:#fff;color:var(--navy);font:inherit;font-weight:700;cursor:pointer}
.sol-tablist button[aria-selected="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.sol-sectors.is-tabs .sol-sector{background:transparent;padding:0}
.sol-sectors.is-tabs summary{display:none}
.sol-sectors.is-tabs .sol-sector:not([open]){display:none}
.sol-sectors.is-tabs .sol-sector[open]{display:block}
.sol-sectors.is-tabs .sol-sector-body{background:var(--bg2);border-radius:var(--radius);padding:1.1rem}
.sip-steps.sol-steps h3{margin:0 0 .25rem;color:var(--navy);font-size:1.05rem}
.sip-steps.sol-steps p{margin:0}
@media(min-width:700px){.cfg-options{grid-template-columns:1fr 1fr}}
@media(min-width:800px){
  .sol-diagram-wide{display:block}
  .sol-diagram-narrow{display:none}
  .sol-sectors.is-tabs .sol-tablist{display:flex}
  .sip-steps.sol-steps{display:grid;grid-template-columns:1fr 1fr}
}
@media(min-width:1100px){
  .sip-steps.sol-steps{flex-direction:column;grid-template-columns:1fr 1fr}
  .sip-steps.sol-steps li{flex:none;padding:1rem 1rem 1rem 3.3rem}
  .sip-steps.sol-steps li::before{left:.85rem;top:.95rem}
}
