.carrier-market-note { max-width: 860px; }
.carrier-market-form { margin: 12px 0 16px 0; }
.market-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); gap: 8px; max-width: 980px; margin: 12px 0 18px 0; }
.market-stats div { border: 1px solid #b8c3cf; background: #f8fafc; padding: 8px; min-height: 46px; }
.market-stats b { display: block; font-size: 18px; }
.market-stats span { display: block; font-size: 11px; color: #333; }
.market-pies { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 16px; max-width: 1100px; align-items: start; }
.market-pie-block { border: 1px solid #b8c3cf; background: #fff; padding: 8px; }
.market-pie-block h3 { margin: 4px 0 8px 0; }
.market-pie { width: 250px; height: 250px; float: left; margin-right: 10px; }
.market-legend { border-collapse: collapse; font-size: 11px; }
.market-legend td { padding: 2px 4px; vertical-align: top; }
.market-legend span { display: inline-block; width: 12px; height: 12px; border: 1px solid #777; }
.carrier-market-table { border-collapse: collapse; width: 100%; margin: 12px 0 18px 0; }
.carrier-market-table th, .carrier-market-table td { border: 1px solid #bbb; padding: 4px 6px; vertical-align: top; }
.carrier-market-table th { background: #e9e9e9; text-align: left; }
.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; } }
