.company-punctuality{margin:0 0 20px;border:1px solid #c5e8f1;border-radius:21px;background:#e5faff;box-shadow:0 8px 23px rgba(6,53,92,.10);overflow:hidden}
.company-punctuality-hero{position:relative;min-height:124px;padding:20px 26px 16px;overflow:hidden;background:linear-gradient(160deg,#d5f4ff 0%,#effcff 53%,#b8edff 100%)}
.company-punctuality-hero:after{position:absolute;right:-5%;bottom:-18px;left:-5%;height:48px;border-radius:50% 50% 0 0;background:#34c9eb;content:"";opacity:.65}
.company-punctuality-hero h2{position:relative;z-index:2;max-width:800px;margin:0 0 8px;color:#082f63;font:900 clamp(23px,3.3vw,38px)/1.05 "Lilita One",Impact,sans-serif;letter-spacing:-.025em}
.company-punctuality-hero h2:after{display:block;width:180px;max-width:45%;height:5px;margin:4px 0 0 45%;border-radius:50%;background:#ffd400;transform:rotate(2deg);content:""}
.company-punctuality-hero p{position:relative;z-index:2;margin:0;color:#104465;font-size:14px;font-weight:800}
.company-punctuality-boat{position:absolute;z-index:1;right:26px;bottom:4px;width:230px;max-width:24%;height:auto}
.company-punctuality-content{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 207px;gap:11px;padding:13px;background:linear-gradient(#9beafa,#d9faff)}
.company-punctuality-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0}
.company-card{--company-color:#ffd400;--company-ink:#073b61;position:relative;display:flex;flex-direction:column;min-width:0;padding:13px 8px 7px;border-radius:16px;background:var(--company-color);color:var(--company-ink);box-shadow:0 4px 0 rgba(3,57,91,.13),0 7px 13px rgba(3,57,91,.12)}
.company-card.company-corsica-linea{--company-color:#f75160;--company-ink:#fff}.company-card.company-la-meridionale{--company-color:#39cfdc;--company-ink:#073b61}.company-card.company-moby{--company-color:#1778dd;--company-ink:#fff}
.company-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:4px;min-height:40px;padding:0 5px}.company-card-top h3{margin:0;font-size:clamp(12px,1.35vw,17px);font-weight:950;line-height:1.08}.company-card-top span{max-width:62px;text-align:right;font-size:10px;font-weight:900;line-height:1.2}
.company-card-ferry{height:34px;padding-left:6px;color:#073b61}.company-card-ferry svg{display:block;width:62px;height:31px}.company-moby .company-card-ferry{color:#fff}
.company-card-paper{display:flex;flex:1;flex-direction:column;min-height:166px;padding:13px 10px 10px;border:2px solid rgba(255,255,255,.86);border-radius:13px;background:#fffdf6;color:#083659}
.company-card-bar{height:15px;border-radius:99px;background:#ffd4d8;overflow:hidden}.company-card-bar span{display:block;height:100%;border-radius:99px 0 0 99px;background:#073b61}
.company-card-split{display:flex;justify-content:space-between;gap:5px;margin-top:8px}.company-card-split strong{font-size:23px;line-height:1}.company-card-split span{text-align:right;font-size:13px;font-weight:900}.company-card-split small{display:block;margin-top:3px;font-size:11px;font-weight:700}
.company-card-no-data{min-height:60px;margin:10px 0;color:#647f90;font-size:12px;font-weight:800}
.company-card-bottom{display:flex;align-items:center;gap:5px;margin-top:auto;padding-top:11px;border-top:1px dashed #b9d9e6;font-size:10px;font-weight:750;line-height:1.25}.company-card-bottom>span:nth-child(2){flex:1}.company-card-clock{font-size:25px;line-height:1}.company-card-bottom small{display:block;margin-top:3px;color:#5b7c8f;font-size:9px}.company-card-bottom strong{font-size:17px;white-space:nowrap}
.company-punctuality-comparison{min-width:0;padding:15px 12px;border-radius:15px;background:#fff;box-shadow:0 4px 11px rgba(3,57,91,.12)}.company-punctuality-comparison h3{margin:0;color:#073b61;font-size:14px;line-height:1.2}.company-punctuality-comparison>p{margin:6px 0 15px;color:#51768c;font-size:11px;font-weight:750}.company-compare-row{--compare:#ffd400;margin:13px 0}.company-compare-row.company-corsica-linea{--compare:#f75160}.company-compare-row.company-la-meridionale{--compare:#39cfdc}.company-compare-row.company-moby{--compare:#1778dd}.company-compare-row>div:first-child{display:flex;justify-content:space-between;gap:5px;color:#073b61;font-size:10px;font-weight:800}.company-compare-row strong{white-space:nowrap}.company-compare-track{height:10px;margin-top:5px;border-radius:99px;background:#e9f0f3;overflow:hidden}.company-compare-track span{display:block;height:100%;border-radius:99px;background:var(--compare)}.company-punctuality-comparison .company-compare-empty{margin-top:18px;line-height:1.5}
.company-punctuality-footer{display:flex;align-items:center;flex-wrap:wrap;gap:7px 16px;padding:10px 14px;background:#fff;color:#164763;font-size:10px;font-weight:800}.company-punctuality-footer p{margin:0}.company-punctuality-footer p:nth-child(2){flex:1;color:#607e90;font-weight:650}.company-dot{display:inline-block;width:10px;height:10px;margin:0 3px 0 7px;border-radius:50%;background:#073b61}.company-dot.is-delayed{background:#f49aa1}.company-punctuality-footer a{padding:7px 10px;border:1px solid #5583a0;border-radius:8px;color:#073b61;text-decoration:none;white-space:nowrap}.company-punctuality-footer a:hover{background:#e7f6fd}.company-punctuality-empty{grid-column:1/-1;align-self:center;margin:20px;color:#164763;font-weight:800}
@media(max-width:1180px){.company-punctuality-content{grid-template-columns:1fr}.company-punctuality-comparison{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px 13px}.company-punctuality-comparison h3,.company-punctuality-comparison>p{grid-column:1/-1}.company-compare-row{margin:2px 0 8px}}
@media(max-width:750px){.company-punctuality-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.company-punctuality-comparison{grid-template-columns:repeat(2,minmax(0,1fr))}.company-punctuality-boat{right:4px;opacity:.48}.company-punctuality-hero h2{max-width:100%}}
@media(max-width:430px){.company-punctuality-hero{padding:17px 14px;min-height:114px}.company-punctuality-hero p{font-size:11px;max-width:240px}.company-punctuality-content{padding:8px;gap:8px}.company-punctuality-cards{gap:8px}.company-card{padding:10px 5px 5px}.company-card-paper{padding:9px 6px}.company-card-top{padding:0 3px}.company-card-top h3{font-size:12px}.company-card-bottom{flex-wrap:wrap}.company-card-bottom strong{margin-left:auto;font-size:15px}.company-card-split strong{font-size:19px}.company-punctuality-footer{font-size:9px}}
