/* Residential tariff pages. Static content; no JavaScript dependency. */
.tp-page { --tp-ink:#071b4b; --tp-copy:#53647e; --tp-line:#dae4f4; --tp-surface:#fff; --tp-soft:#eef4ff; padding:3.5rem 0 4.5rem; color:var(--tp-copy); }
.dark-mode .tp-page { --tp-ink:#f5f8ff; --tp-copy:#bbc8de; --tp-line:#364760; --tp-surface:#1d293d; --tp-soft:#23334f; }
.tp-page h1,.tp-page h2,.tp-page h3 { color:var(--tp-ink); }
.tp-hero { max-width:900px; margin:0 auto; text-align:center; }
.tp-eyebrow { color:#2e63ce; font-size:.8rem; font-weight:700; letter-spacing:.12em; margin-bottom:1.5rem; }
.dark-mode .tp-eyebrow { color:#adc8ff; }
.tp-switch { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; margin-bottom:2rem; }
.tp-switch a { padding:.65rem 1.25rem; border:1px solid var(--tp-line); border-radius:2rem; color:var(--tp-ink); font-weight:600; text-decoration:none; background:var(--tp-surface); }
.tp-switch a[aria-current="page"] { background:#2e63ce; border-color:#2e63ce; color:#fff; }
.tp-page a:focus-visible,.tp-page summary:focus-visible { outline:3px solid #edaa4e; outline-offset:4px; }
.tp-hero h1 { font-size:clamp(2.2rem,4.3vw,3.5rem); line-height:1.14; letter-spacing:-.035em; margin-bottom:1.25rem; }
.tp-lead { max-width:680px; margin:0 auto 1.75rem; font-size:1.125rem; line-height:1.7; }
.tp-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem; }
.tp-page .btn { min-height:48px; white-space:normal; }
.tp-page .btn-primary { background:#2860d4; border-color:#2860d4; color:#fff!important; }
.tp-page .btn-primary:hover { background:#194cae; border-color:#194cae; }
.tp-page .btn-outline-primary { color:#2358bf; border-color:#779cec; background:transparent; }
.dark-mode .tp-page .btn-outline-primary { color:#b9d0ff; border-color:#678ac8; }
.tp-page .btn-outline-primary:hover { background:#2860d4; border-color:#2860d4; color:#fff!important; }
.tp-block { margin-top:4.5rem; scroll-margin-top:110px; }
.tp-section-heading { max-width:760px; margin-bottom:1.75rem; }
.tp-page h2 { font-size:clamp(1.6rem,2.7vw,2.15rem); letter-spacing:-.02em; }
.tp-section-heading p { margin-bottom:0; line-height:1.7; }
.tp-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.tp-plan { display:flex; flex-direction:column; min-width:0; padding:1.75rem; border:1px solid var(--tp-line); border-radius:1.25rem; background:var(--tp-surface); box-shadow:0 8px 28px rgba(16,39,84,.035); }
.tp-plan-popular { border-color:#5f89e6; box-shadow:0 8px 32px rgba(46,99,206,.10); }
.tp-plan h3 { font-size:1.4rem; margin-bottom:.65rem; }
.tp-tag { display:inline-block; background:var(--tp-soft); color:#315b9e; border-radius:2rem; padding:.3rem .75rem; font-size:.8rem; font-weight:600; }
.dark-mode .tp-tag { color:#b9d0ff; }
.tp-speed { margin:1.25rem 0 .25rem; font-weight:700; font-size:1.125rem; color:var(--tp-ink); }
.tp-price { min-height:66px; display:flex; align-items:baseline; flex-wrap:wrap; gap:.4rem; margin:0 0 1rem; font-weight:700; color:var(--tp-ink); font-size:2.65rem; line-height:1.3; letter-spacing:-.04em; }
.tp-price span { font-size:.875rem; font-weight:400; color:var(--tp-copy); letter-spacing:0; }
.tp-price-ask { align-items:center; font-size:1.45rem; letter-spacing:-.02em; }
.tp-use { flex:1; line-height:1.65; margin-bottom:1.25rem; }
.tp-benefits { padding:1rem 0 0; border-top:1px solid var(--tp-line); list-style:none; margin:0 0 1rem; font-size:.875rem; }
.tp-benefits li { position:relative; padding-left:1.3rem; margin-bottom:.5rem; }
.tp-benefits li::before { content:'✓'; position:absolute; left:0; color:#21845f; font-weight:700; }
.dark-mode .tp-benefits li::before { color:#69d6a8; }
.tp-plan-action { padding-top:2.25rem; position:relative; }
.tp-plan-action .btn { width:100%; }
.tp-popular { position:absolute; bottom:calc(100% - 1.5rem); left:0; max-width:100%; padding:.25rem .6rem; border-radius:.5rem; background:#ffda85; color:#14233e; font-size:.8rem; line-height:1.3; font-weight:700; }
.tp-note { margin:1.5rem 0 .75rem; font-size:.9rem; line-height:1.7; }
.tp-business { color:#2358bf; font-size:.9rem; font-weight:600; text-underline-offset:3px; }
.dark-mode .tp-business { color:#b9d0ff; }
.tp-included { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; margin-bottom:1.75rem; }
.tp-included article { padding:1.5rem; background:var(--tp-soft); border-radius:1rem; }
.tp-included span { color:#315b9e; font-weight:700; font-size:.85rem; display:block; margin-bottom:.75rem; }
.dark-mode .tp-included span { color:#b9d0ff; }
.tp-included h3,.tp-connection h3 { font-size:1.1rem; }
.tp-included p { line-height:1.7; font-size:.95rem; margin:0; }
.tp-connections { border:1px solid var(--tp-line); border-radius:1rem; overflow:hidden; background:var(--tp-surface); }
.tp-connection { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(130px,.6fr) minmax(0,1fr); gap:1.5rem; align-items:center; padding:1.5rem; }
.tp-connection + .tp-connection { border-top:1px solid var(--tp-line); }
.tp-connection p { margin:0; font-size:.9rem; line-height:1.65; }
.tp-connection h3 { margin:0 0 .4rem; }
.tp-connection-price { font-size:1.2rem; color:var(--tp-ink); }
.tp-power { margin-top:2rem; padding:2rem; display:flex; align-items:center; gap:2rem; background:var(--tp-soft); border:1px solid var(--tp-line); border-radius:1.25rem; }
.tp-power h2 { font-size:1.4rem; }
.tp-power p { margin-bottom:0; line-height:1.7; }
.tp-power .btn { flex:0 0 auto; }
.tp-faq { max-width:900px; }
.tp-faq h2 { margin-bottom:1.5rem; }
.tp-faq details { border-bottom:1px solid var(--tp-line); }
.tp-faq summary { padding:1.25rem 0; font-weight:600; color:var(--tp-ink); cursor:pointer; }
.tp-faq details p { padding:0 0 1rem; margin:0; line-height:1.75; }
.tp-final { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:2.25rem; margin-top:3.5rem; border:1px solid var(--tp-line); border-radius:1.25rem; background:var(--tp-surface); }
.tp-final p { margin:0; }
.tp-final .btn { flex:0 0 auto; }
.tp-services .card { height:100%; border:1px solid rgba(184,206,247,.2); border-radius:1rem; }
.tp-services .row { row-gap:1.25rem; }
.tp-services .card .opacity-0 { opacity:1!important; }
.tp-services .card-text { line-height:1.7; }
@media(max-width:991.98px) {
 .tp-plans { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .tp-included { grid-template-columns:1fr; gap:.75rem; }
 .tp-power { flex-direction:column; align-items:flex-start; }
}
@media(max-width:575.98px) {
 .tp-page { padding:2rem 0 3rem; }
 .tp-eyebrow { font-size:.7rem; }
 .tp-switch { gap:.4rem; margin-bottom:1.5rem; }
 .tp-switch a { padding:.65rem .85rem; font-size:.9rem; }
 .tp-hero h1 { font-size:2.2rem; }
 .tp-lead { font-size:1rem; }
 .tp-actions .btn { flex:1 1 100%; }
 .tp-block { margin-top:3rem; }
 .tp-plans { grid-template-columns:1fr; }
 .tp-plan { padding:1.5rem; }
 .tp-connection { grid-template-columns:1fr; gap:.75rem; }
 .tp-power,.tp-final { padding:1.5rem; gap:1.25rem; }
 .tp-final { flex-direction:column; align-items:stretch; }
}
