/* Plan cards only. Keep commercial content and native carousel behavior intact. */
.plans-grid { gap:20px;align-items:stretch;grid-template-columns:repeat(4,minmax(0,1fr)); }
.plans-grid .plan-card {
  --plan-ink:#f4faff;--plan-muted:#bfd1e2;--plan-panel:#112d47;
  --plan-accent:#76d5ff;--plan-line:#254762;--plan-header:#102940;
  --plan-padding:22px;
  position:relative;display:flex;flex-direction:column;min-width:0;
  container-type:inline-size;padding:0 var(--plan-padding) var(--plan-padding);
  background:#091c30;color:var(--plan-ink);border:1px solid var(--plan-line);
  border-radius:24px;overflow:hidden;transform:none;
  box-shadow:0 12px 32px rgba(2,14,26,.18);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.plans-grid .plan-card::before {
  content:'';position:absolute;inset:48px 0 auto;width:auto;height:3px;
  border:0;border-radius:0;filter:none;box-shadow:none;
  background:linear-gradient(90deg,#087fc7,#1faef5,#2a9bd7);opacity:.75;pointer-events:none;
}
.plans-grid .plan-card.featured { background:#091c30;border-color:#1faef5;transform:none;box-shadow:0 0 0 1px #1faef5,0 14px 36px rgba(8,127,199,.18); }
.plans-grid .plan-top {
  order:0;display:flex;align-items:center;min-height:48px;max-width:none;
  margin:0 calc(-1 * var(--plan-padding)) 20px;padding:12px var(--plan-padding);
  background:var(--plan-header);border-bottom:1px solid var(--plan-line);
  color:var(--plan-accent);font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;
}
.plans-grid .plan-top i { display:none; }
.plans-grid .featured .plan-top { background:linear-gradient(115deg,#087fc7,#08649e);color:transparent; }
.plans-grid .popular {
  position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:center;
  height:48px;padding:0 16px;border-radius:0;background:transparent;color:#fff;
  font-size:11px;font-weight:800;letter-spacing:1.6px;z-index:1;text-transform:uppercase;
}
.plans-grid .plan-fiber { order:1;display:flex;align-items:center;gap:8px;margin:0;color:var(--plan-muted);font-size:11px;font-weight:600;line-height:1.5; }
.plans-grid .plan-fiber i { color:var(--plan-accent);font-size:17px; }
.plans-grid .plan-card h3 {
  order:2;display:flex;align-items:center;justify-content:flex-start;gap:10px;
  min-width:0;margin:12px 0 10px;line-height:1.1;font-weight:800;
  font-size:clamp(44px,4vw,60px) !important;font-size:clamp(44px,22cqi,64px) !important;
  letter-spacing:-.055em;color:var(--plan-accent);white-space:nowrap;
}
.plans-grid [data-speed] { min-width:0;letter-spacing:inherit;font-variant-numeric:tabular-nums; }
.plans-grid h3 small { flex:0 0 auto;padding:7px 8px;border-radius:8px;background:var(--plan-panel);color:var(--plan-accent);font:700 12px/1.2 Inter,system-ui,sans-serif;letter-spacing:0; }
.plans-grid .plan-desc { order:3;min-height:3.2em;margin:0 0 16px;color:var(--plan-muted);font-size:13px !important;line-height:1.6; }
.plans-grid .plan-card ul { order:4;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-height:0;margin:0 0 22px;padding:18px 0 0;border-top:1px solid var(--plan-line); }
.plans-grid .plan-card li { display:flex;align-items:flex-start;gap:10px;min-width:0;margin:0;color:var(--plan-muted);font-size:12px !important;line-height:1.6; }
.plans-grid .plan-card li span { min-width:0;overflow-wrap:anywhere; }
.plans-grid .plan-card li strong { color:var(--plan-ink);font-weight:700; }
.plans-grid .plan-card li i { display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;margin:0;border-radius:8px;background:var(--plan-panel);color:var(--plan-accent);font-size:16px;line-height:1; }
.plans-grid .price {
  order:5;display:flex;align-items:baseline;gap:6px;min-width:0;margin:auto 0 12px;
  padding:15px 14px;border:1px solid var(--plan-line);border-radius:16px;
  background:var(--plan-panel);color:var(--plan-ink);font-size:40px !important;font-weight:800;
  line-height:1.15;letter-spacing:-1.5px;font-variant-numeric:tabular-nums;
}
.plans-grid .price small { flex:0 0 auto;margin:0;vertical-align:baseline;color:var(--plan-accent);font-size:17px;font-weight:700;letter-spacing:0; }
.plans-grid .price span { flex:0 0 auto;float:none;margin:0 0 0 auto;color:var(--plan-muted);font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;white-space:nowrap; }
.plans-grid .plan-btn,.plans-grid .featured .plan-btn {
  order:6;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;
  margin:0;padding:13px 16px;border:1px solid #087fc7;border-radius:13px;
  background:linear-gradient(110deg,#0872b4,#076296);color:#fff;font:800 14px/1.4 Inter,system-ui,sans-serif;
  box-shadow:0 6px 16px rgba(8,127,199,.17);transition:background .2s ease,box-shadow .2s ease,transform .2s ease;
}
.plans-grid .plan-btn:focus-visible { outline:3px solid var(--plan-accent);outline-offset:3px;box-shadow:0 0 0 6px var(--plan-panel); }
html[data-theme="light"] .plans-grid .plan-card {
  --plan-ink:#091c30;--plan-muted:#50677b;--plan-panel:#edf7fd;
  --plan-accent:#087fc7;--plan-line:#d4e7f3;--plan-header:#f2f9fd;
  background:#fff;color:var(--plan-ink);border-color:var(--plan-line);box-shadow:0 10px 30px rgba(9,55,88,.07);
}
html[data-theme="light"] .plans-grid .plan-card.featured { background:#fff;border-color:#1faef5;box-shadow:0 0 0 1px #1faef5,0 14px 36px rgba(8,127,199,.12); }
html[data-theme="light"] .plans-grid .plan-card h3 { color:var(--plan-accent); }
html[data-theme="light"] .plans-grid .price { color:var(--plan-ink); }
html[data-theme="light"] .plans-grid .plan-card li i,html[data-theme="light"] .plans-grid h3 small { color:var(--plan-accent); }
html[data-theme="light"] .plans-grid .plan-top,html[data-theme="light"] .plans-grid h3 small,html[data-theme="light"] .plans-grid .price small { color:#076296; }
html[data-theme="light"] .plans-grid .featured .plan-top { background:linear-gradient(115deg,#087fc7,#08649e);color:transparent; }
html[data-theme="light"] .plans-grid .popular { background:transparent;color:#fff; }
html[data-theme="light"] .plans-grid .plan-btn,html[data-theme="light"] .plans-grid .featured .plan-btn { background:linear-gradient(110deg,#0872b4,#076296);border:1px solid #087fc7;color:#fff; }
@media (hover:hover) and (pointer:fine) {
  .plans-grid .plan-card:hover,.plans-grid .plan-card.featured:hover { transform:translateY(-4px);border-color:#1faef5;box-shadow:0 18px 36px rgba(8,127,199,.16); }
  html[data-theme] .plans-grid .plan-btn:hover { background:linear-gradient(110deg,#08639e,#054b78);color:#fff;transform:translateY(-1px);box-shadow:0 8px 18px rgba(8,127,199,.24); }
}
@media (min-width:768px) and (max-width:1100px) { .plans-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) {
  .plans-grid { gap:14px; }
  .plans-grid .plan-card,.plans-grid .plan-card.featured,.plans-grid .plan-card:hover,.plans-grid .plan-card.featured:hover { --plan-padding:18px;padding:0 var(--plan-padding) var(--plan-padding);transform:none; }
  .plans-grid .plan-top { order:0;max-width:none;margin:0 calc(-1 * var(--plan-padding)) 18px; }
  .plans-grid .plan-card h3 { margin:12px 0 10px; }
  .plans-grid .plan-desc { min-height:3.2em;font-size:13px !important;margin-bottom:14px; }
  .plans-grid .plan-card ul { min-height:0;padding-top:16px;gap:10px;margin-bottom:18px; }
  .plans-grid .price { margin:auto 0 12px;padding:14px; }
  .plans-grid .plan-btn { min-height:52px; }
  /* Preserve the existing shared carousel indicators, including promotions. */
  .mobile-carousel-dot[aria-current] { background:transparent; }
  html[data-theme] .mobile-carousel-dot[aria-current="true"] { color:#1faef5; }
  .mobile-carousel-dot[aria-current="false"] { color:#c9dce8; }
}
@media (prefers-reduced-motion:reduce) {
  .plans-grid .plan-card,.plans-grid .plan-btn { transition:none; }
  .plans-grid .plan-card:hover,.plans-grid .plan-card.featured:hover,html[data-theme] .plans-grid .plan-btn:hover { transform:none; }
}
/* V48: approved reference composition, shared across public plan pages. */
.plans-grid { padding-top:18px; }
@media(min-width:1200px) { .plans-section > .container { width:min(calc(100% - 72px),1360px); } }
html[data-theme] .plans-grid .plan-card {
  overflow:visible;--plan-line:#264b6b;--plan-accent:#65ccff;
  box-shadow:0 12px 30px rgba(8,127,199,.12);
}
html[data-theme="light"] .plans-grid .plan-card {
  --plan-line:#c6e5f8;--plan-panel:#e8f6ff;--plan-muted:#425e78;
  --plan-accent:#087fc7;--plan-ink:#05437c;
  background:#fff;border-color:transparent;
}
html[data-theme] .plans-grid .plan-card::before { display:none; }
html[data-theme] .plans-grid .plan-top {
  position:relative;overflow:hidden;min-height:56px;gap:14px;justify-content:flex-start;
  padding-block:14px;border:0;border-radius:23px 23px 0 0;
  background:linear-gradient(120deg,#087fc7,#1faef5);color:#fff;
  font-size:14px;letter-spacing:.6px;
}
.plans-grid .plan-top::after {
  content:'';position:absolute;right:-35px;top:24px;width:100px;height:100px;
  border:8px solid rgba(255,255,255,.1);border-radius:50%;
  box-shadow:0 0 0 10px rgba(255,255,255,.07),0 0 0 23px rgba(255,255,255,.05);
  pointer-events:none;
}
.plans-grid .plan-top span { position:relative;z-index:1; }
.plans-grid .plan-heading-icon { order:-1;flex:0 0 26px;width:26px;height:26px;color:#fff;position:relative;z-index:1; }
html[data-theme] .plans-grid .featured .plan-top { background:linear-gradient(120deg,#05437c,#087fc7);color:#fff;padding-right:66px; }
.plans-grid .plan-crown { position:absolute;right:17px;top:20px;width:36px;height:28px;z-index:1; }
html[data-theme] .plans-grid .popular {
  inset:-17px auto auto 50%;transform:translateX(-50%);gap:7px;
  width:max-content;max-width:calc(100% - 28px);height:31px;padding:0 17px;
  background:#ffd43b;color:#05437c;border-radius:13px;font-size:11px;letter-spacing:.5px;
  box-shadow:0 4px 14px rgba(255,212,59,.3);z-index:3;
}
.plans-grid .popular svg { width:14px;height:14px;flex-shrink:0; }
html[data-theme] .plans-grid .plan-card.featured {
  border-color:#1faef5;box-shadow:0 0 0 1px #1faef5,0 12px 30px rgba(31,174,245,.22);
}
html[data-theme] .plans-grid .plan-fiber { font-size:12px; }
html[data-theme] .plans-grid .plan-card h3 {
  font-size:clamp(46px,4.3vw,70px) !important;font-size:clamp(46px,24cqi,72px) !important;
  color:#087fc7;
}
html[data-theme="dark"] .plans-grid .plan-card h3 { color:#65ccff; }
html[data-theme] .plans-grid h3 small { background:#d5f0ff;color:#05437c; }
html[data-theme="dark"] .plans-grid h3 small { background:#164568;color:#a1e0ff; }
html[data-theme] .plans-grid .plan-card li { font-size:13px !important; }
html[data-theme] .plans-grid .plan-card li i { background:transparent;color:#1faef5;font-size:22px;border-radius:0; }
html[data-theme="light"] .plans-grid .plan-card li strong { color:#091c30; }
html[data-theme] .plans-grid .price {
  background:var(--plan-panel);color:var(--plan-ink);border-color:transparent;
  font-size:46px !important;box-shadow:none;
}
html[data-theme] .plans-grid .price small { color:inherit;background:transparent;box-shadow:none;border-radius:0;font-size:20px; }
html[data-theme] .plans-grid .price span { color:inherit;background:transparent;box-shadow:none;border-radius:0; }
html[data-theme] .plans-grid .featured .price { background:linear-gradient(120deg,#087fc7,#1faef5);color:#fff; }
html[data-theme] .plans-grid .featured .price span { background:#05437c;box-shadow:0 0 0 3px #05437c;border-radius:3px; }
html[data-theme] .plans-grid .plan-btn,html[data-theme] .plans-grid .featured .plan-btn {
  background:linear-gradient(120deg,#087fc7,#1faef5);color:#fff;
  border-color:transparent;border-radius:22px;
  box-shadow:0 6px 16px rgba(31,174,245,.24);cursor:pointer;
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
  text-shadow:0 1px 2px #05437c;
}
.plans-grid .plan-btn i { transition:transform .22s ease; }
html[data-theme] .plans-grid .plan-btn:focus-visible { outline:3px solid #05437c;outline-offset:3px;box-shadow:0 0 0 6px #1faef5; }
html[data-theme="dark"] .plans-grid .plan-btn:focus-visible { outline-color:#a1e0ff; }
@media (hover:hover) and (pointer:fine) {
  html[data-theme] .plans-grid .plan-card:hover { transform:translateY(-4px);box-shadow:0 16px 32px rgba(8,127,199,.18); }
  html[data-theme] .plans-grid .plan-card.featured:hover { box-shadow:0 0 0 1px #1faef5,0 18px 34px rgba(31,174,245,.3); }
  html[data-theme] .plans-grid .plan-btn:hover { background:linear-gradient(120deg,#087fc7,#1faef5);filter:brightness(1.06);transform:translateY(-3px);box-shadow:0 10px 22px rgba(31,174,245,.34); }
  .plans-grid .plan-btn:hover i { transform:translateX(4px); }
}
html[data-theme] .plans-grid .plan-btn:active { transform:scale(.98); }
@media(max-width:767px) {
  .plans-grid { padding-top:24px; }
  html[data-theme] .plans-grid .plan-card:hover { transform:none; }
}
@media(prefers-reduced-motion:reduce) {
  html[data-theme] .plans-grid .plan-card,html[data-theme] .plans-grid .plan-btn,.plans-grid .plan-btn i { transition:none; }
  html[data-theme] .plans-grid .plan-card:hover,html[data-theme] .plans-grid .plan-btn:hover,html[data-theme] .plans-grid .plan-btn:active,.plans-grid .plan-btn:hover i { transform:none; }
}

/* Local line icons keep the component readable when the existing CDN is unavailable. */
:is(.plans-grid,.promo-v10-grid) .bi::before { content:'';display:inline-block;width:1em;height:1em;vertical-align:middle;background:currentColor;mask:var(--plan-icon) center / contain no-repeat;-webkit-mask:var(--plan-icon) center / contain no-repeat; }
.plans-grid .plan-btn {font-family:Inter,system-ui,sans-serif;} 
:is(.plans-grid,.promo-v10-grid) .bi-headset { --plan-icon:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2014v-3a8%208%200%200%201%2016%200v3M20%2017v2a3%203%200%200%201-3%203h-4%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%2211%22%20width%3D%224%22%20height%3D%227%22%20rx%3D%222%22%2F%3E%3Crect%20x%3D%2218%22%20y%3D%2211%22%20width%3D%224%22%20height%3D%227%22%20rx%3D%222%22%2F%3E%3C%2Fsvg%3E'); }
:is(.plans-grid,.promo-v10-grid) .bi-tv { --plan-icon:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%226%22%20width%3D%2218%22%20height%3D%2213%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22m8%202%204%204%204-4M8%2022h8%22%2F%3E%3C%2Fsvg%3E'); }
:is(.plans-grid,.promo-v10-grid) .bi-router { --plan-icon:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%2213%22%20width%3D%2218%22%20height%3D%227%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M7%2013V5m10%208V5M7%2017h.01M11%2017h.01M14%207a4%204%200%200%200-4%200M16%204a8%208%200%200%200-8%200%22%2F%3E%3C%2Fsvg%3E'); }
:is(.plans-grid,.promo-v10-grid) .bi-broadcast { --plan-icon:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%222%22%2F%3E%3Cpath%20d%3D%22M7%207a7%207%200%200%200%200%2010m10-10a7%207%200%200%201%200%2010M4%204a11%2011%200%200%200%200%2016M20%204a11%2011%200%200%201%200%2016%22%2F%3E%3C%2Fsvg%3E'); }
:is(.plans-grid,.promo-v10-grid) .bi-arrow-right { --plan-icon:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2012h16m-6-6%206%206-6%206%22%2F%3E%3C%2Fsvg%3E'); }
:is(.plans-grid,.promo-v10-grid) .bi-tools { --plan-icon:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m14%206%204-4a6%206%200%200%201-7%208L4%2021l-3-3%2011-7a6%206%200%200%201%208-7l-4%204Z%22%2F%3E%3C%2Fsvg%3E'); }
