@font-face{font-family:Brand;src:url(font.woff2) format('woff2');font-display:swap;font-weight:100 900}
:root{color-scheme:light;--bg:#fff;--ink:#17191c;--muted:#52565d;--surface:#f3f4f5;--edge:#c7cbd0;--accent:#285f45;--on-accent:#fff;--radius:24px;--width:1160px}
:root[data-theme=dark]{color-scheme:dark;--bg:#111214;--ink:#f3f4f5;--muted:#b6bbc3;--surface:#202226;--edge:#606670;--on-accent:#111214}
:root[data-theme=dark] body{--accent:var(--dark-accent)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 Brand,Arial,sans-serif}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent)}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button,a{transition:background-color .15s,color .15s,transform .15s}button:active,.button:active{transform:translateY(1px)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button{cursor:pointer}button:disabled{cursor:default}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--accent);color:var(--on-accent);border:0;border-radius:999px;padding:12px 23px;min-height:48px;font-weight:650;text-decoration:none}button:hover,.button:hover{background:var(--ink);color:var(--bg)}button.secondary{background:var(--surface);color:var(--ink)}.wrap{width:min(var(--width),calc(100% - 48px));margin-inline:auto}.skip{position:absolute;left:20px;top:-100px;background:var(--ink);color:var(--bg);padding:10px;z-index:5}.skip:focus{top:10px}
header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:26px}.brand{display:flex;align-items:center;gap:10px;font-size:22px;letter-spacing:-.045em;font-weight:700;text-decoration:none}.brand svg{width:35px;height:35px;color:var(--accent);flex:none}nav{display:flex;align-items:center;gap:24px;font-size:17px}nav a{text-decoration:none}nav a[aria-current=page]{color:var(--accent);text-decoration:underline}#theme{background:var(--surface);color:var(--ink);padding:8px 14px;min-height:40px;font-size:14px}.hero{padding-block:64px 36px}h1{font-size:clamp(43px,5.7vw,78px);line-height:1.04;letter-spacing:-.055em;font-weight:650;margin:0;max-width:22ch;text-wrap:balance}h2{font-size:34px;line-height:1.2;letter-spacing:-.035em;font-weight:600;margin:0 0 24px;text-wrap:balance}h3{font-size:22px;line-height:1.3;letter-spacing:-.025em;margin:0 0 12px}p{margin:0 0 22px;max-width:72ch}.lead{font-size:22px;line-height:1.5;max-width:62ch;margin:30px 0}.meta,.note{font-size:14px;line-height:1.6;color:var(--muted)}.meta{margin-block:14px}.note{margin:14px 0 0}.section{margin-block:88px}.section.compact{margin-block:42px}.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}.panel{background:var(--surface);padding:30px;border-radius:var(--radius)}.panel h2{font-size:34px}.searchbar{display:flex;align-items:end;gap:14px}.searchbar label{flex:1}.searchbar button{flex:none}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}label{display:block;font-size:17px;font-weight:550}input,select{display:block;width:100%;min-width:0;min-height:48px;padding:10px 14px;background:var(--bg);border:1px solid var(--edge);border-radius:12px;color:var(--ink);margin-top:7px}input::placeholder{color:var(--muted)}input[type=checkbox]{display:inline-block;width:20px;height:20px;min-height:0;margin:0 12px 0 0;vertical-align:middle;accent-color:var(--accent)}fieldset{border:0;padding:0;margin:0}legend{font-size:22px;font-weight:600;margin:0 0 20px}.actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:24px}.result{margin-top:26px}.result:empty{display:none}.error{color:var(--ink);background:var(--surface);padding:16px;border-radius:12px}.output-value{font-size:34px;line-height:1.1;letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:16px 0}.numbers{font-variant-numeric:tabular-nums}.scroll-table{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;text-align:left;font-size:17px}caption{text-align:left;font-size:22px;font-weight:600;padding-bottom:18px}th,td{padding:13px 8px;vertical-align:top}th{font-size:14px;font-weight:500;color:var(--muted)}td{border-top:1px solid var(--edge)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tall-table{max-height:480px}.host{overflow-wrap:anywhere;word-break:break-word}.data-row{padding-block:22px}.data-row+.data-row{margin-top:8px}.data-row summary{display:flex;align-items:baseline;justify-content:space-between;gap:24px;cursor:pointer;font-size:22px;font-weight:600}.data-row summary::marker{color:var(--accent)}.data-row summary span{font-size:14px;font-weight:450;color:var(--muted)}.data-row[open]{padding:24px;background:var(--surface);border-radius:20px}.record-grid{display:grid;grid-template-columns:180px 1fr;gap:10px 22px;margin:24px 0;font-size:17px}.record-grid dt{color:var(--muted)}.record-grid dd{margin:0;overflow-wrap:anywhere}.record-grid dd p{margin:0}.reading{max-width:800px;margin:55px auto 90px}.reading h1{font-size:clamp(38px,4.4vw,58px);margin-bottom:30px}.reading h2{font-size:34px;margin-top:48px}.reading li{margin:12px 0}.plain-list{list-style:none;padding:0;margin:0}.plain-list li{padding:18px 0}.plain-list a{font-size:22px;letter-spacing:-.025em}.text-link{font-weight:600}.faq details{padding-block:18px}.faq summary{cursor:pointer;font-size:22px;font-weight:600}.faq details p{margin:18px 0 0}.coverage{padding:24px;background:var(--surface);border-radius:20px}.checklist{list-style:none;margin:24px 0;padding:0}.checklist li{padding:14px 0;display:flex;align-items:start;gap:12px}.checklist label{font-size:17px;font-weight:400}.checklist input{flex:none;margin-top:4px}.route-line{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:24px 0;font-size:22px}.route-line span{overflow-wrap:anywhere}.route-line svg{width:70px;min-width:45px;color:var(--accent)}.stat-line{display:flex;gap:50px;flex-wrap:wrap;padding:26px 0}.stat-line strong{font-size:34px;line-height:1.2;display:block;letter-spacing:-.04em;font-weight:550}.stat-line span{font-size:14px;color:var(--muted)}footer{margin-top:100px;background:var(--surface);padding:48px 0 28px}footer .brand{font-size:34px;margin-bottom:24px}.footer-links{display:flex;gap:18px 28px;flex-wrap:wrap;margin:28px 0;font-size:17px}.footer-bottom{display:flex;justify-content:space-between;gap:24px;align-items:start;font-size:14px;color:var(--muted)}.footer-bottom p{max-width:76ch}.page-source{font-size:14px;color:var(--muted);overflow-wrap:anywhere}
body.costi{--width:820px;--accent:#286044;--dark-accent:#a2cfb3;--radius:28px}body.costi .hero{padding-top:62px}body.costi h1{font-size:clamp(44px,6vw,70px);max-width:20ch}body.costi .cost-layout{display:grid;grid-template-columns:1fr;gap:24px}body.costi .result{background:var(--surface);padding:28px;border-radius:28px}body.costi .panel{background:var(--bg);padding:0}body.costi .field-grid{gap:20px 28px}body.costi .cost-total{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
body.vedetta{--accent:#633c78;--dark-accent:#d1b5e2;--radius:24px}body.vedetta .hero{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;padding-bottom:40px}body.vedetta .hero .lead{font-size:22px}body.vedetta h1{max-width:15ch}body.vedetta .notice-search{background:var(--ink);color:var(--bg);padding:34px;border-radius:24px}body.vedetta .notice-search label,body.vedetta .notice-search .note{color:var(--bg)}body.vedetta .notice-search input{background:var(--bg);color:var(--ink)}body.vedetta .notice-search button{background:var(--bg);color:var(--ink)}body.vedetta .result{grid-column:1/-1;margin:0}
body.sposta{--accent:#985027;--dark-accent:#e2b48a;--radius:24px}body.sposta .hero{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start}body.sposta h1{max-width:15ch}body.sposta .planner{margin-top:5px}body.sposta .planner h2{font-size:34px}body.sposta .result{grid-column:1/-1}.plan-sheet{max-width:850px;margin-inline:auto}.plan-sheet h2{font-size:34px}.plan-sheet .output-value{font-size:34px}
body.stato{--accent:#2c569b;--dark-accent:#aac2f2;--radius:16px}body.stato .hero{padding-block:60px 24px}body.stato h1{max-width:23ch;font-size:clamp(45px,7vw,92px)}body.stato .directory-layout{display:grid;grid-template-columns:270px 1fr;gap:70px;align-items:start}body.stato .directory-aside{position:sticky;top:30px}body.stato .directory-aside h2{font-size:34px}.directory-records{min-width:0}body.stato .lead{max-width:58ch}
.note{max-width:60ch}body.stato .directory-aside h2{font-size:22px}
[hidden]{display:none!important}@media(max-width:850px){nav{gap:16px}.split{gap:32px}body.stato .directory-layout{grid-template-columns:1fr;gap:24px}body.stato .directory-aside{position:static}body.vedetta .hero,body.sposta .hero{grid-template-columns:1fr;gap:28px}.hero{padding-top:42px}body.sposta .planner{margin-top:0}body.stato .hero{padding-top:38px}body.vedetta h1,body.sposta h1{max-width:22ch}.reading{margin-top:36px}}
@media(max-width:580px){body{font-size:17px}.wrap{width:calc(100% - 36px)}header{flex-wrap:wrap;padding-block:20px;gap:18px}.brand{font-size:22px}nav{width:100%;justify-content:space-between;gap:12px;font-size:14px}nav a{padding-block:6px}#theme{font-size:14px;min-height:38px}.hero{padding-block:34px 24px}h1{font-size:43px}h2{font-size:34px}.lead{font-size:22px;margin:24px 0}.split,.field-grid{grid-template-columns:1fr;gap:18px}.panel{padding:22px}.searchbar{align-items:stretch;flex-direction:column}.searchbar button{align-self:start}.section{margin-block:60px}.section.compact{margin-block:34px}body.vedetta .notice-search{padding:24px}body.costi .cost-total{display:block}body.costi .result{padding:22px}body.stato h1{font-size:43px}.data-row summary{font-size:17px;align-items:start;flex-direction:column;gap:4px}.record-grid{grid-template-columns:1fr;gap:4px}.record-grid dd{margin-bottom:13px}.data-row[open]{padding:20px}.footer-bottom{display:block}.footer-links{gap:16px 22px}.stat-line{gap:28px}.stat-line strong{font-size:34px}.output-value{font-size:34px}.route-line{font-size:22px}.reading h1{font-size:37px}th,td{padding:12px 8px}.reading{margin-bottom:60px}.reading h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{header,footer,.actions,.planner,form,nav{display:none!important}body{background:#fff!important;color:#111!important;font-size:12pt}.wrap{width:100%}.hero,.section{margin:0;padding:10px 0;display:block!important}.result{display:block!important}.plan-sheet{max-width:none}.checklist li{break-inside:avoid}.panel{background:#fff!important}a{color:#111!important}}
