.wifi-page .wifi-hero { grid-template-columns:1.04fr .96fr; gap:58px; }
.wifi-page .hero-copy > p { max-width:690px; }
.customer-meta { display:grid; grid-template-columns:minmax(190px,.72fr) minmax(280px,1.28fr); gap:12px; margin-top:32px; }
.meta-item { display:flex; align-items:center; gap:12px; min-width:0; padding:14px 15px; border:1px solid rgba(117,190,255,.18); border-radius:15px; background:rgba(10,28,63,.72); box-shadow:inset 0 1px rgba(255,255,255,.03); }
.meta-icon { display:grid; place-items:center; flex:0 0 auto; width:36px; height:36px; border-radius:11px; color:#7bc4ff; background:#102b50; }
.meta-icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.meta-item > span:last-child { min-width:0; }
.meta-item small,.meta-item strong { display:block; }
.meta-item small { margin-bottom:4px; color:#7f91ad; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.meta-item strong { overflow-wrap:anywhere; color:#e9f2ff; font-size:11px; line-height:1.45; }

.wifi-visual { position:relative; align-self:center; min-height:350px; overflow:hidden; border:1px solid rgba(117,190,255,.18); border-radius:30px; background:linear-gradient(145deg,rgba(117,190,255,.1),rgba(6,16,44,.15)); box-shadow:inset 0 1px rgba(255,255,255,.04),0 25px 80px rgba(0,0,0,.2); }
.wifi-visual > svg { display:block; width:100%; min-height:350px; }
.wifi-status { position:absolute; z-index:5; top:17px; right:17px; display:flex; align-items:center; gap:8px; padding:9px 13px; border:1px solid rgba(255,255,255,.12); border-radius:99px; color:#d9eaff; background:rgba(5,17,47,.78); backdrop-filter:blur(10px); font-size:9px; font-weight:700; }
.wifi-status i { width:7px; height:7px; border-radius:50%; background:#42ce8c; box-shadow:0 0 12px #42ce8c; animation:statusPulse 2s ease-in-out infinite; }
.visual-legend { position:absolute; z-index:5; left:18px; bottom:15px; display:flex; gap:15px; padding:8px 11px; border:1px solid rgba(255,255,255,.11); border-radius:11px; color:#bcd0e9; background:rgba(4,14,35,.78); backdrop-filter:blur(9px); font-size:8px; }
.visual-legend span { display:flex; align-items:center; gap:6px; }
.visual-legend i { width:7px; height:7px; border-radius:50%; box-shadow:0 0 8px currentColor; }
.legend-home { color:#75beff; background:#75beff; }.legend-garden{color:#42d5e8;background:#42d5e8}
.coverage { transform-box:fill-box; transform-origin:center; animation:coveragePulse 3.8s ease-in-out infinite; }
.coverage-two { animation-delay:1.3s; }
.router { transform-box:fill-box; transform-origin:center bottom; animation:routerFloat 5s ease-in-out infinite; }
.router-home { animation-delay:.8s; }.router-garden{animation-delay:1.7s}
.wifi-rings { transform-box:fill-box; transform-origin:center bottom; animation:ringPulse 2.8s ease-in-out infinite; }
.garden-rings { animation-delay:1s; }
.packet { filter:drop-shadow(0 0 7px #75beff); opacity:0; }
.packet-a { animation:packetHome 3.6s linear infinite; }.packet-b{animation:packetGarden 4.2s 1.2s linear infinite}
@keyframes coveragePulse { 0%,100%{opacity:.38;transform:scale(.92)} 50%{opacity:1;transform:scale(1.06)} }
@keyframes routerFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} }
@keyframes ringPulse { 0%,100%{opacity:.28;transform:scale(.94)} 50%{opacity:1;transform:scale(1.06)} }
@keyframes packetHome { 0%{opacity:0;transform:translate(0,0)} 15%,75%{opacity:1} 100%{opacity:0;transform:translate(78px,-102px)} }
@keyframes packetGarden { 0%{opacity:0;transform:translate(0,0)} 15%,75%{opacity:1} 100%{opacity:0;transform:translate(222px,-9px)} }

.wifi-progress .is-done { color:#c8d5e6; }.wifi-progress .is-done > span{color:#071332;background:#42ce8c}.wifi-progress .is-done small{color:#42ce8c}
.wifi-offer-layout { grid-template-columns:minmax(0,1fr) 350px; }
.optional-note { display:flex; align-items:center; gap:13px; padding:15px 18px; margin-bottom:18px; border:1px solid #215b58; border-radius:15px; background:linear-gradient(135deg,#0a2a32,#09213c); }
.optional-note > span { display:grid; place-items:center; flex:0 0 auto; width:34px; height:34px; border-radius:50%; color:#06192a; background:#4fd29a; font-weight:900; }
.optional-note strong,.optional-note small { display:block; }.optional-note strong{margin-bottom:3px;font-size:12px}.optional-note small{color:#9eb7c6;font-size:10px;line-height:1.5}
.wifi-option-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.wifi-option-card { position:relative; display:flex; flex-direction:column; min-height:580px; padding:20px; border:2px solid #1d3155; border-radius:22px; color:#eef4ff; background:#09162f; cursor:pointer; transition:border-color .18s,transform .18s,box-shadow .18s,background .18s; }
.wifi-option-card:hover { transform:translateY(-2px); border-color:#426d98; box-shadow:0 16px 36px rgba(0,0,0,.24); }
.wifi-option-card:focus-within { outline:3px solid rgba(83,168,255,.25); outline-offset:2px; }
.wifi-option-card.is-checked { border-color:#4ca4ef; background:#0b1c3a; box-shadow:0 18px 50px rgba(30,113,186,.18); }
.wifi-option-card input { position:absolute; opacity:0; pointer-events:none; }
.wifi-check { position:absolute; z-index:4; right:18px; top:18px; display:grid; place-items:center; width:27px; height:27px; border:1px solid #49617e; border-radius:9px; color:#91a4bf; background:#0a1b37; font-size:17px; font-weight:700; transition:.18s; }
.wifi-option-card.is-checked .wifi-check { color:#06162b; border-color:#68baff; background:#68baff; }
.wifi-card-visual { position:relative; height:205px; margin-bottom:20px; overflow:hidden; border:1px solid rgba(117,190,255,.15); border-radius:17px; background:linear-gradient(145deg,#102b50,#061229); }
.wifi-card-visual::before { content:""; position:absolute; inset:0; opacity:.18; background-image:radial-gradient(#75beff .7px,transparent .7px); background-size:16px 16px; mask-image:linear-gradient(#000,transparent 85%); }
.wifi-card-visual b { position:absolute; z-index:5; left:12px; bottom:11px; padding:6px 9px; border:1px solid rgba(255,255,255,.12); border-radius:99px; color:#cfe3fa; background:rgba(3,12,30,.78); backdrop-filter:blur(8px); font-size:7.5px; letter-spacing:.01em; }
.mini-room { position:absolute; bottom:43px; height:81px; border:1px solid #31577e; background:rgba(16,42,78,.7); }.room-one{left:22px;width:29%}.room-two{left:35%;width:29%}.room-three{right:22px;width:29%}
.mini-router { position:absolute; z-index:3; bottom:61px; width:29px; height:48px; border-radius:10px; background:linear-gradient(#fff,#d6e3ee); box-shadow:0 9px 20px rgba(0,0,0,.26); animation:routerFloat 4.5s ease-in-out infinite; }.mini-router i{position:absolute;left:50%;bottom:7px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:#48c990;box-shadow:0 0 9px #48c990}.router-one{left:13%}.router-two{left:46%;animation-delay:.8s}.router-three{right:13%;animation-delay:1.5s}
.mini-wave { position:absolute; z-index:2; top:37px; width:130px; height:130px; border:2px solid rgba(83,168,255,.5); border-radius:50%; animation:coveragePulse 3.5s ease-in-out infinite; }.wave-one{left:42px}.wave-two{right:42px;animation-delay:1.2s}
.garden-card-visual { background:linear-gradient(160deg,#102e53,#082638); }
.garden-plan > svg { position:absolute; inset:0; z-index:1; width:100%; height:100%; }
.garden-plan::before { z-index:2; pointer-events:none; }
.garden-plan b { z-index:6; }
.garden-coverage-fill { transform-box:fill-box; transform-origin:center; animation:gardenCoverageBreathe 4s ease-in-out infinite; }
.garden-wave { transform-box:fill-box; transform-origin:center; opacity:.16; animation:gardenWaveFill 4.8s ease-out infinite; }
.garden-wave-a-one{animation-delay:0s}.garden-wave-a-two{animation-delay:.7s}.garden-wave-a-three{animation-delay:1.4s}.garden-wave-b-one{animation-delay:.95s}.garden-wave-b-two{animation-delay:1.65s}.garden-wave-b-three{animation-delay:2.35s}
.garden-access-point-plan { transform-box:fill-box; transform-origin:center; animation:accessPointFloat 4s ease-in-out infinite; }
.garden-access-point-b{animation-delay:1.1s}.garden-packet { filter:drop-shadow(0 0 7px #79e9ff); opacity:0; }.packet-garden-a{animation:gardenPacketTop 4s linear infinite}.packet-garden-b{animation:gardenPacketBottom 4s 1.25s linear infinite}
@keyframes gardenCoverageBreathe { 0%,100%{opacity:.55;transform:scale(.96)} 50%{opacity:1;transform:scale(1.04)} }
@keyframes gardenWaveFill { 0%{opacity:0;transform:scale(.65)} 24%{opacity:.8} 75%{opacity:.28} 100%{opacity:0;transform:scale(1.08)} }
@keyframes accessPointFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-3px)} }
@keyframes gardenPacketTop { 0%{opacity:0;transform:translate(0,0)} 15%,72%{opacity:1} 100%{opacity:0;transform:translate(150px,30px)} }
@keyframes gardenPacketBottom { 0%{opacity:0;transform:translate(0,0)} 15%,72%{opacity:1} 100%{opacity:0;transform:translate(150px,-31px)} }
.rack-card-visual > svg { position:absolute; inset:0; z-index:1; width:100%; height:100%; }
.rack-card-visual::before { z-index:2; pointer-events:none; }.rack-card-visual b{z-index:4}
.rack-led { animation:rackLedPulse 1.8s ease-in-out infinite; }.rack-led.led-two{animation-delay:.35s}.rack-led.led-three{animation-delay:.7s}
.rack-packet { opacity:0; filter:drop-shadow(0 0 7px #75d9ff); animation:rackDataFlow 3.4s linear infinite; }.rack-packet-two{animation-delay:1.7s}
@keyframes rackLedPulse { 0%,100%{opacity:.28} 50%{opacity:1} }
@keyframes rackDataFlow { 0%{opacity:0;transform:translateX(0) scale(.7)} 18%,76%{opacity:1} 100%{opacity:0;transform:translateX(104px) scale(1)} }
.cable-card-visual > svg { position:absolute; inset:0; z-index:1; width:100%; height:100%; }
.cable-card-visual::before { z-index:2; pointer-events:none; }.cable-card-visual b{z-index:4}
.cable-route { fill:none; stroke-linecap:round; stroke-linejoin:round; }.cable-route-base{stroke:#274e70;stroke-width:8}.cable-route-live{stroke:#8fddff;stroke-width:2.2;stroke-dasharray:7 8;animation:cableRouteFlow 2.2s linear infinite}
.cable-dish { transform-box:fill-box; transform-origin:center bottom; animation:routerFloat 4.8s ease-in-out infinite; }
.cable-house-section{transform-origin:center bottom;animation:cableHouseBreathe 5.5s ease-in-out infinite}.cable-service-shaft{animation:cableShaftPulse 2.7s ease-in-out infinite}.cable-room-lights rect{animation:cableRoomPulse 4.8s ease-in-out infinite}.cable-room-lights rect:nth-child(2){animation-delay:.6s}.cable-room-lights rect:nth-child(3){animation-delay:1.2s}.cable-room-lights rect:nth-child(4){animation-delay:1.8s}.cable-signal-dot{filter:drop-shadow(0 0 7px #75d9ff)}.cable-endpoint{animation:routerFloat 4.2s 1.1s ease-in-out infinite}
@keyframes cableRouteFlow { to{stroke-dashoffset:-30} }
@keyframes cableHouseBreathe { 0%,100%{opacity:.94} 50%{opacity:1} }
@keyframes cableShaftPulse { 0%,100%{opacity:.72} 50%{opacity:1} }
@keyframes cableRoomPulse { 0%,100%{fill:#0a203d} 50%{fill:#0d294b} }
.wifi-card-topline { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }.wifi-card-topline span{color:#7e91ac;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.wifi-card-topline strong{font-size:13px}
.wifi-option-card h3 { margin:0 0 10px; font-size:22px; letter-spacing:-.025em; }
.wifi-option-card > p { min-height:65px; margin:0 0 15px; color:#98a9c4; font-size:12px; line-height:1.65; }
.wifi-option-card ul { display:grid; gap:7px; padding:0; margin:0 0 15px; color:#c2cee0; list-style:none; font-size:11px; }.wifi-option-card li::before{content:"✓";margin-right:8px;color:#41c88a;font-weight:800}
.wifi-product-link { position:relative; z-index:5; margin:0 0 13px; color:#72bdff; }
.wifi-select-label { display:grid; place-items:center; min-height:44px; margin-top:auto; border:1px solid #30476a; border-radius:11px; color:#dce7f8; background:#0c1c38; font-size:10px; font-weight:800; transition:.18s; pointer-events:none; }
.wifi-option-card.is-checked .wifi-select-label { color:#06162b; border-color:#68baff; background:#68baff; }
.no-pressure-note { display:flex; align-items:center; gap:11px; margin-top:18px; padding:14px 16px; border:1px solid #1d3155; border-radius:14px; color:#8fa1bc; background:#07142c; }
.no-pressure-note > span { display:grid; place-items:center; flex:0 0 auto; width:27px; height:27px; border:1px solid #365477; border-radius:50%; color:#74beff; font-size:11px; font-weight:800; }
.no-pressure-note p { margin:0; font-size:10px; line-height:1.55; }.no-pressure-note strong{color:#dce7f8}
.extra-offers { margin-top:18px; overflow:hidden; border:1px solid #1d3155; border-radius:17px; background:#07142c; }
.extra-offers summary { display:grid; grid-template-columns:38px minmax(0,1fr) auto 22px; align-items:center; gap:13px; padding:17px 18px; color:#dce7f8; cursor:pointer; list-style:none; transition:background .18s; }
.extra-offers summary::-webkit-details-marker { display:none; }.extra-offers summary:hover{background:#0a1a35}
.extra-offers-icon { display:grid; place-items:center; width:36px; height:36px; border:1px solid #365477; border-radius:11px; color:#74beff; background:#0b203e; font-size:18px; font-weight:700; transition:transform .2s,background .2s; }
.extra-offers-copy { min-width:0; }.extra-offers-copy strong,.extra-offers-copy small{display:block}.extra-offers-copy strong{margin-bottom:4px;font-size:12px}.extra-offers-copy small{color:#889bb7;font-size:9.5px;line-height:1.45}
.extra-offers-count { padding:6px 9px; border:1px solid #294667; border-radius:99px; color:#8fb6d9; background:#0b1d39; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.extra-offers summary > svg { width:18px; fill:none; stroke:#7c91ad; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s; }
.extra-offers[open] summary { border-bottom:1px solid #1d3155; background:#0a1a35; }.extra-offers[open] .extra-offers-icon{transform:rotate(45deg);background:#102b50}.extra-offers[open] summary>svg{transform:rotate(180deg)}
.extra-offers-panel { padding:18px; }.extra-offers-intro{margin:0 0 14px;color:#8395af;font-size:9.5px;line-height:1.55}
.extra-offers-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.extra-offer-card { display:grid; grid-template-columns:52px minmax(0,1fr) auto; align-items:center; gap:12px; min-width:0; padding:13px; border:1px solid #203858; border-radius:14px; color:#dce7f8; background:#091831; text-decoration:none; transition:transform .18s,border-color .18s,background .18s; }
.extra-offer-card:hover { transform:translateY(-2px); border-color:#416d98; background:#0b1c38; }
.extra-offer-visual { display:grid; place-items:center; width:50px; height:50px; border-radius:13px; background:linear-gradient(145deg,#12345d,#0a203e); }.extra-offer-visual svg{width:34px;height:34px;fill:none;stroke:#79c6ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.energy-visual svg{stroke:#70d7bb}.camera-visual svg{stroke:#75beff}.ev-visual svg{stroke:#93c8ff}.solar-visual svg{stroke:#f0c873}
.extra-offer-copy { min-width:0; }.extra-offer-copy small,.extra-offer-copy strong,.extra-offer-copy span{display:block}.extra-offer-copy small{margin-bottom:3px;color:#6f86a5;font-size:7px;font-weight:800;letter-spacing:.06em}.extra-offer-copy strong{margin-bottom:4px;font-size:10.5px}.extra-offer-copy span{color:#8194b0;font-size:8.5px;line-height:1.45}
.extra-offer-meta { display:flex; flex-direction:column; align-items:flex-end; gap:8px; padding-left:8px; text-align:right; }.extra-offer-meta b{font-size:10.5px;white-space:nowrap}.extra-offer-meta em{color:#70baff;font-size:8px;font-style:normal;font-weight:800;white-space:nowrap}
.wifi-next { margin-bottom:0; }
.summary-context { display:flex; justify-content:space-between; gap:12px; margin-bottom:14px; padding:12px 0; border-top:1px solid rgba(255,255,255,.09); color:#b2bdd1; font-size:10.5px; }.summary-context strong{color:#4fd29a}
.wifi-summary .summary-lines { min-height:92px; border-top:0; }
.summary-empty { display:flex; flex-direction:column; justify-content:center; min-height:70px; text-align:center; }.summary-empty strong{margin-bottom:5px;color:#d7e1f0;font-size:10px}.summary-empty span{color:#7f8da5;font-size:8.5px}
.legal-footer { padding:46px 0 30px; border-top:1px solid rgba(117,190,255,.12); }
.legal-footer .legal-footer-grid { display:grid; grid-template-columns:1.25fr .9fr 1.15fr; align-items:start; gap:54px; }
.legal-footer-brand,.legal-footer-column,.legal-footer-column nav { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.legal-footer-brand { color:#94a3bf; }
.legal-footer-brand .footer-logo { width:153px; margin-bottom:4px; }
.legal-footer-brand span { max-width:320px; line-height:1.55; }
.legal-footer a { color:#afbdd3; transition:color .18s; }.legal-footer a:hover{color:#75beff}
.legal-footer-column > strong { margin-bottom:5px; color:#e2ebf8; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.legal-footer-company span { color:#94a3bf; line-height:1.45; }
.legal-footer-bottom { display:flex; align-items:flex-start; justify-content:space-between; gap:30px; padding-top:24px; margin-top:30px; border-top:1px solid rgba(255,255,255,.08); }
.legal-footer-bottom p { max-width:850px; margin:0; color:#71829f; font-size:8.5px; line-height:1.65; }
.legal-footer-bottom > span { flex:0 0 auto; color:#7f90ab; white-space:nowrap; }

@media (max-width:980px) {
  .wifi-page .wifi-hero { grid-template-columns:1fr; }
  .wifi-visual { width:min(620px,100%); margin:0 auto; }
  .wifi-offer-layout { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .customer-meta { grid-template-columns:1fr; }
  .wifi-visual { display:block; min-height:265px; border-radius:22px; }
  .wifi-visual > svg { min-height:265px; }
  .wifi-status { top:12px; right:12px; padding:7px 10px; font-size:8px; }
  .visual-legend { left:11px; right:11px; bottom:10px; justify-content:center; }
  .wifi-option-grid { grid-template-columns:1fr; }
  .wifi-option-card { min-height:0; }.wifi-option-card>p{min-height:0}
  .wifi-card-visual { height:180px; }
  .extra-offers summary { grid-template-columns:34px minmax(0,1fr) 18px; padding:14px; }.extra-offers-icon{width:32px;height:32px}.extra-offers-count{display:none}.extra-offers-panel{padding:13px}.extra-offers-grid{grid-template-columns:1fr}.extra-offer-card{grid-template-columns:46px minmax(0,1fr);}.extra-offer-visual{width:44px;height:44px}.extra-offer-meta{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;padding:0;text-align:left}
  .wifi-mobile-checkout a { min-width:122px; }
  .legal-footer .legal-footer-grid { grid-template-columns:1fr; gap:26px; }
  .legal-footer-bottom { flex-direction:column; gap:13px; margin-top:25px; }
}
