.carrier-footprint-form { margin-bottom: 14px; }
.carrier-footprint-form input { margin-right: 8px; }
.carrier-summary { margin: 10px 0 14px 0; }
.carrier-summary td { padding: 3px 10px 3px 0; }
.carrier-map-wrap { max-width: 960px; margin: 12px 0 18px 0; }
.carrier-map-svg { width: 100%; height: auto; display: block; background: #f7fbff; border: 1px solid #b8c3cf; }
.carrier-map-state { stroke: #fff; stroke-width: 0.8; }
.carrier-map-label { font-family: Arial, Helvetica, sans-serif; font-weight: bold; fill: #111; text-anchor: middle; pointer-events: none; paint-order: stroke; stroke: rgba(255,255,255,0.85); stroke-width: 2px; }
.carrier-map-label .abbr { font-size: 10px; }
.carrier-map-label .count { font-size: 9px; }
.carrier-map-note { font-size: 11px; color: #444; margin-top: 4px; }
.shade-0 { fill: #eceff1; color: #777; }
.shade-1 { fill: #d9eadf; }
.shade-2 { fill: #a9d5b8; }
.shade-3 { fill: #70b884; }
.shade-4 { fill: #348f50; }
.shade-5 { fill: #0d5d2a; }
.carrier-table { border-collapse: collapse; margin: 12px 0 18px 0; width: 100%; }
.carrier-table th, .carrier-table td { border: 1px solid #bbb; padding: 4px 6px; vertical-align: top; }
.carrier-table th { background: #e9e9e9; text-align: left; }
.carrier-note { max-width: 860px; }
.carrier-map-data { display: none; }
.carrier-build-notice { border: 1px solid #b8c7d3; background: #f4f8fb; padding: 12px; margin: 12px 0; max-width: 860px; }
.carrier-build-notice h3 { margin-top: 0; }
.carrier-build-animation { position: relative; width: 250px; height: 92px; margin: 8px 0 12px 0; overflow: hidden; }
.carrier-tabletop { position: absolute; left: 8px; right: 8px; bottom: 9px; height: 7px; background: #6b4f3f; border-radius: 4px; box-shadow: 0 3px 0 rgba(0,0,0,0.16); }
.carrier-clock { position: absolute; left: 26px; bottom: 18px; width: 50px; height: 50px; border: 4px solid #455a64; border-radius: 50%; background: #fffdf5; box-shadow: 0 2px 4px rgba(0,0,0,0.18); }
.carrier-clock:before { content: ""; position: absolute; left: 20px; top: -10px; width: 10px; height: 8px; background: #455a64; border-radius: 5px 5px 0 0; }
.carrier-clock-hand { position: absolute; left: 23px; top: 23px; width: 3px; height: 18px; background: #263238; border-radius: 2px; transform-origin: 50% 2px; }
.carrier-clock-hour { height: 13px; animation: carrier-clock-spin 8s linear infinite; }
.carrier-clock-minute { height: 19px; background: #0b6b3a; animation: carrier-clock-spin 1.35s linear infinite; }
.carrier-clock-center { position: absolute; left: 20px; top: 20px; width: 10px; height: 10px; background: #263238; border-radius: 50%; }
.carrier-desk-phone { position: absolute; left: 104px; bottom: 16px; width: 118px; height: 58px; animation: carrier-phone-wiggle 2.1s ease-in-out infinite; transform-origin: 50% 100%; }
.carrier-phone-base { position: absolute; left: 13px; bottom: 0; width: 92px; height: 35px; background: #2f6f8f; border-radius: 42px 42px 10px 10px; box-shadow: inset 0 -7px 0 rgba(0,0,0,0.14), 0 2px 5px rgba(0,0,0,0.22); }
.carrier-phone-handset { position: absolute; left: 0; top: 0; width: 118px; height: 24px; background: #1f4f68; border-radius: 30px 30px 16px 16px; transform: rotate(-3deg); box-shadow: inset 0 -5px 0 rgba(0,0,0,0.16); }
.carrier-phone-handset:before, .carrier-phone-handset:after { content: ""; position: absolute; top: 6px; width: 25px; height: 14px; background: #173d52; border-radius: 12px; }
.carrier-phone-handset:before { left: 8px; }
.carrier-phone-handset:after { right: 8px; }
.carrier-phone-dial { position: absolute; left: 43px; bottom: 7px; width: 32px; height: 22px; border: 3px dotted rgba(255,255,255,0.82); border-radius: 50%; background: rgba(255,255,255,0.16); }
.carrier-phone-cord { position: absolute; left: -28px; bottom: 4px; width: 45px; height: 24px; border-bottom: 3px solid #263238; border-radius: 0 0 50% 50%; animation: carrier-cord-sway 1.6s ease-in-out infinite; }
@keyframes carrier-clock-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes carrier-phone-wiggle { 0%, 100% { transform: rotate(0deg); } 20% { transform: rotate(-2deg); } 40% { transform: rotate(2deg); } 60% { transform: rotate(-1deg); } 80% { transform: rotate(1deg); } }
@keyframes carrier-cord-sway { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(3px); } }
@media (max-width: 420px) { .carrier-build-animation { width: 220px; } .carrier-desk-phone { left: 90px; } }

.carrier-ownership-disclaimer {
  color: #666;
  font-size: 11px;
  line-height: 1.35;
  margin: -4px 0 8px 0;
}
