/* Houston Network Services — new page-specific styles only.
   Inherits the site's shared layout, photo-hero__grid and responsive rules.
   DO NOT redefine .photo-hero, .photo-hero__grid, its media, or site navigation. */

.network-service-intro { max-width: 49rem; }
.network-service-intro h2 { max-width: 17ch; }
.network-service-lead { color: #c1d2e4; line-height: 1.8; }
.network-service-band { background: radial-gradient(circle at 53% 0%,rgba(37,129,248,.13),transparent 34rem),linear-gradient(180deg,#061423,#030a12); }
.network-service-eyebrow { display:block; margin-bottom:.6rem; font-size:.72rem; letter-spacing:.14em; font-weight:850; text-transform:uppercase; color:#83cfff; }
.network-service-link { display:inline-flex; align-items:center; gap:.4rem; color:#7bccff; font-size:.94rem; font-weight:800; text-decoration:underline; text-underline-offset:.25rem; }
.network-service-link:hover { color:#fff; }
.network-service-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.network-service-step { min-width:0; padding:1.55rem; border:1px solid rgba(92,160,220,.22); border-radius:1rem; background:linear-gradient(140deg,#10263d,#081625); }
.network-service-step__number { display:grid; place-items:center; width:2.25rem; height:2.25rem; margin-bottom:1.25rem; border-radius:.6rem; color:#fff; font-size:.86rem; font-weight:900; background:linear-gradient(130deg,#0c58ac,#1580ea); }
.network-service-step h3 { margin:0 0 .6rem; font-size:1.04rem; color:#fff; }
.network-service-step p { margin:0; color:#afc4d7; font-size:.88rem; line-height:1.65; }
.network-service-cta { display:flex; justify-content:space-between; align-items:center; gap:2.4rem; padding:clamp(1.5rem,4vw,3rem); border:1px solid rgba(75,155,235,.32); border-radius:1.25rem; background:linear-gradient(112deg,#0b2541,#06203a 58%,#103b68); box-shadow:0 1.2rem 2.8rem rgba(0,0,0,.18); }
.network-service-cta h2 { margin:.4rem 0 .8rem; color:#fff; font-size:clamp(1.65rem,3.5vw,2.5rem); }
.network-service-cta p { max-width:52rem; margin:0; color:#c4d8e8; }
.network-service-cta__actions { display:flex; flex-wrap:wrap; gap:.7rem; flex:0 0 auto; }
.network-service-cta .button { white-space:nowrap; }
.network-service-note { max-width:65rem; margin:1.6rem auto 0; color:#9ab2c7; font-size:.8rem; line-height:1.7; text-align:center; }
.network-service-note a { color:#83cfff; text-decoration:underline; }
.network-service-faq { max-width:72rem; }
.network-service-faq .faq-item__content a { color:#86d2ff; text-decoration:underline; }
.network-service-faq .faq-item__content p { line-height:1.8; }
.network-service-info { padding:1.35rem 1.6rem; border:1px solid rgba(100,169,222,.20); border-radius:.9rem; background:rgba(8,25,43,.58); }
.network-service-info h3 { margin:0 0 .5rem; font-size:1.13rem; }
.network-service-info p { margin:0; font-size:.9rem; line-height:1.78; }
.network-service-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.5rem; }
.network-service-detail-grid .network-service-info { height:100%; }
.network-service-aside { display:flex; flex-direction:column; gap:1rem; }
.network-service-aside .network-panel { min-height:25rem; }
.network-service-aside .network-panel__content { max-width:78%; }

/* White product plans match the existing VPS / dedicated / colocation card language. */
.network-transit-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; margin-top:2.3rem; align-items:stretch; }
.network-transit-plan { min-width:0; display:flex; flex-direction:column; position:relative; overflow:hidden; border:1px solid rgba(112,166,221,.50); border-radius:1.2rem; background:#f8fafc; color:#1a2d48; box-shadow:0 20px 50px rgba(0,0,0,.34),0 0 36px rgba(30,128,240,.08); transition:transform .2s ease,border-color .2s ease; }
.network-transit-plan:hover { transform:translateY(-4px); border-color:#469ee5; }
.network-transit-plan--featured { border:2px solid #3c93f5; }
.network-transit-plan__ribbon { padding:.7rem 1rem; text-align:center; background:linear-gradient(90deg,#11365e,#1269b9); color:#fff; font-size:.68rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.network-transit-plan--featured .network-transit-plan__ribbon { background:linear-gradient(90deg,#0a4c96,#1688e8); }
.network-transit-plan__body { display:flex; flex-direction:column; flex:1; padding:1.35rem; }
.network-transit-plan__eyebrow { color:#7187a0; font-size:.7rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.network-transit-plan h3 { margin:.45rem 0; color:#182b44; font-size:1.3rem; }
.network-transit-plan__summary { margin:.1rem 0 1rem; color:#5a718a; font-size:.83rem; min-height:2.6rem; }
.network-transit-plan__price { display:flex; align-items:baseline; gap:.3rem; padding:1.05rem; border:1px solid #d7e7f6; border-radius:.85rem; background:#eaf3fd; }
.network-transit-plan__amount { color:#133c68; font-size:clamp(2.1rem,3.4vw,2.8rem); font-weight:900; letter-spacing:-.05em; }
.network-transit-plan__term { font-size:.76rem; color:#4f6985; font-weight:700; }
.network-transit-plan__specs { display:grid; gap:0; margin:1.15rem 0 1.4rem; padding:0; list-style:none; }
.network-transit-plan__specs li { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.25rem .8rem; padding:.74rem 0; border-bottom:1px solid #e3eaf2; color:#496078; font-size:.82rem; }
.network-transit-plan__specs strong { color:#263a50; }
.network-transit-plan__action { display:flex; align-items:center; justify-content:center; min-height:3.1rem; margin-top:auto; padding:.65rem 1rem; border-radius:.65rem; background:#0e66c3; color:#fff; text-align:center; font-size:.83rem; font-weight:850; }
.network-transit-plan__action:hover { background:#07509d; color:#fff; }
.network-transit-plan__bottom { color:#677a90; text-align:center; margin:.8rem 0 0; font-size:.73rem; }
.network-service-location { margin-top:1.5rem; }
.network-service-location strong { color:#fff; }
.network-service-inline { padding:2rem 0; border-top:1px solid rgba(110,178,234,.15); border-bottom:1px solid rgba(110,178,234,.15); background:linear-gradient(90deg,rgba(9,39,70,.65),rgba(4,14,25,.8)); }
.network-service-inline__inner { display:flex; flex-wrap:wrap; gap:1.5rem; justify-content:space-between; align-items:center; }
.network-service-inline h2 { margin:0 0 .3rem; font-size:1.35rem; }
.network-service-inline p { margin:0; font-size:.9rem; }
.network-service-inline .button { flex:0 0 auto; }

@media (max-width:74rem) {
  .network-transit-plans { gap:.8rem; }
  .network-transit-plan__body { padding:1.1rem; }
}
@media (max-width:64rem) {
  .network-service-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .network-service-cta { align-items:flex-start; flex-direction:column; }
  .network-service-aside .network-panel__content { max-width:83%; }
}
@media (max-width:55rem) {
  .network-transit-plans { grid-template-columns:1fr; max-width:38rem; margin-inline:auto; }
  .network-transit-plan__summary { min-height:0; }
}
@media (max-width:46rem) {
  .network-service-steps,.network-service-detail-grid { grid-template-columns:1fr; }
  .network-service-cta__actions { width:100%; flex-direction:column; }
  .network-service-cta .button { white-space:normal; text-align:center; }
  .network-service-aside .network-panel__content { max-width:100%; }
  .network-service-inline__inner { align-items:flex-start; flex-direction:column; }
}

/* Four-item highlight row: same visual as current site, with four equal columns. */
.page--fiber-internet-houston .feature-strip,
.page--houston-ip-transit .feature-strip { grid-template-columns: repeat(4,minmax(0,1fr)); }
@media (max-width:64rem) {
 .page--fiber-internet-houston .feature-strip,
 .page--houston-ip-transit .feature-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:46rem) {
 .page--fiber-internet-houston .feature-strip,
 .page--houston-ip-transit .feature-strip { grid-template-columns: 1fr; }
}
