/* Isolated Roodepoort surge redesign. Shared homepage files remain references. */
.page-surge-locality { --sr-lime:var(--lime,#b7ff18); background:#050706; color:#f5f6ef; font-family:Arial,Helvetica,sans-serif; }
.page-surge-locality .site-header { position:sticky; height:82px; background:rgba(5,7,6,.97); backdrop-filter:blur(18px); }
.page-surge-locality .desktop-nav { gap:clamp(.8rem,1.2vw,1.5rem); }
.page-surge-locality .desktop-nav a { letter-spacing:.045em; }
.page-surge-locality .brand { flex-shrink:0; }
.page-surge-locality .brand img,.page-surge-locality .footer-logo { height:auto; }
.page-surge-locality .mobile-menu { position:fixed; z-index:55; top:72px; background:#080d09; }
.page-surge-locality .mobile-menu[hidden] { display:none!important; }
.sr-wrap { width:min(1280px,calc(100% - 2 * clamp(20px,5vw,76px))); margin-inline:auto; }
.sr-kicker { margin:0 0 18px; color:var(--sr-lime); font-size:10px; font-weight:800; letter-spacing:.16em; line-height:1.65; }
.sr-hero { background:radial-gradient(ellipse at 92% 18%,rgba(183,255,24,.065),transparent 55%),#050706; border-bottom:1px solid rgba(255,255,255,.12); }
.sr-hero-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:clamp(30px,4vw,60px); align-items:start; padding-block:40px 64px; }
.sr-breadcrumb { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:34px; color:#a1a69d; font-size:11px; }
.sr-breadcrumb a:hover { color:var(--sr-lime); }
.sr-hero h1 { margin:0 0 28px; font:700 clamp(46px,5.1vw,76px)/.99 Arial,Helvetica,sans-serif; letter-spacing:-.055em; }
.sr-hero h1 span { display:block; color:var(--sr-lime); }
.sr-questions { display:grid; gap:12px; margin-bottom:24px; }
.sr-question { display:grid; grid-template-columns:25px 1fr; gap:10px; margin:0; padding:0 0 12px; border-bottom:1px solid rgba(255,255,255,.12); font-size:clamp(15px,1.17vw,17px); line-height:1.5; }
.sr-question span { color:var(--sr-lime); font:700 10px/2.25 Arial,sans-serif; }
.sr-question strong { font-weight:600; }
.sr-hero-copy>p:not(.sr-kicker) { font-size:15px; line-height:1.7; color:#c6ccc3; margin:0 0 15px; }
.sr-hero-copy>p strong { color:#f5f6ef; }
.sr-hero-copy .sr-problem { color:#fff!important; font-weight:700; }
.sr-hero-copy .sr-call-line { margin-top:22px!important; }
.sr-call-line a { color:var(--sr-lime); white-space:nowrap; }
.sr-cost-link { display:flex; justify-content:space-between; align-items:center; gap:18px; width:100%; min-height:56px; padding:14px 17px; margin-top:16px; background:rgba(183,255,24,.07); border:1px solid rgba(183,255,24,.42); border-radius:8px; color:var(--sr-lime); font-size:14px; font-weight:700; }
.sr-cost-link:hover { background:var(--sr-lime); color:#071006; }
.sr-hero-figure { position:sticky; top:112px; margin:45px 0 0; }
.sr-hero-figure img { width:100%; height:clamp(400px,38vw,580px); object-fit:cover; object-position:right center; border-radius:12px; }
.sr-hero-figure figcaption { color:#a8afa5; font-size:12px; line-height:1.6; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.sr-hero-note { display:flex; align-items:center; gap:14px; padding:22px 0; }
.sr-hero-note svg { width:32px; height:32px; color:var(--sr-lime); flex:0 0 32px; }
.sr-hero-note strong,.sr-hero-note span { display:block; font-size:13px; line-height:1.6; }
.sr-hero-note span { color:#a8afa5; font-size:11px; }
.sr-jump { display:flex; gap:12px; flex-wrap:wrap; padding-block:22px; border-bottom:1px solid rgba(255,255,255,.12); }
.sr-jump a { padding:8px 13px; border:1px solid rgba(255,255,255,.16); border-radius:99px; font-size:11px; color:#d4dbd0; }
.sr-jump a:hover { color:var(--sr-lime); border-color:var(--sr-lime); }
.sr-section { padding-block:80px; scroll-margin-top:105px; }
.sr-section-panel { background:#0a0f0b; border-block:1px solid rgba(255,255,255,.09); }
.sr-intro { display:grid; grid-template-columns:1.3fr 1fr; gap:70px; align-items:end; margin-bottom:35px; }
.sr-section h2 { font:650 clamp(30px,3.3vw,48px)/1.06 Arial,Helvetica,sans-serif; letter-spacing:-.045em; margin:0 0 22px; }
.sr-section h3 { font:650 23px/1.15 Arial,Helvetica,sans-serif; letter-spacing:-.025em; margin:0 0 17px; }
.sr-section p { font-size:15px; line-height:1.75; color:#b4bdb0; }
.sr-intro>p { margin:0 0 22px; }
.sr-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.sr-card { display:flex; flex-direction:column; padding:30px; border:1px solid rgba(255,255,255,.13); border-radius:10px; background:linear-gradient(140deg,rgba(183,255,24,.035),transparent 65%),#0c110d; }
.sr-card>svg { width:32px; height:32px; color:var(--sr-lime); margin-bottom:28px; }
.sr-card p.sr-card-number { font-size:9px; font-weight:700; letter-spacing:.13em; color:var(--sr-lime); margin:0 0 12px; }
.sr-card p { font-size:14px; margin:0 0 22px; }
.sr-card a { display:block; margin-top:auto; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); color:var(--sr-lime); font-size:12px; font-weight:700; }
.sr-split { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }
.sr-commercial { margin:0; }
.sr-commercial img { width:100%; height:auto; border-radius:10px; }
.sr-commercial figcaption { color:#939e90; font-size:11px; line-height:1.6; padding-top:13px; }
.sr-checks { list-style:none; padding:0; margin:25px 0; }
.sr-checks li { padding:12px 0 12px 27px; position:relative; border-bottom:1px solid rgba(255,255,255,.1); color:#e0e6dc; font-size:14px; line-height:1.5; }
.sr-checks li::before { content:'✓'; position:absolute; left:0; color:var(--sr-lime); }
.sr-text-link { display:inline-block; color:var(--sr-lime); font-size:13px; font-weight:700; line-height:1.55; padding-block:8px; }
.sr-section p.sr-small { font-size:12px; color:#98a193; }
.sr-process { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); padding:0; margin:0; border:1px solid rgba(255,255,255,.13); border-radius:10px; overflow:hidden; }
.sr-process li { padding:28px; border-right:1px solid rgba(255,255,255,.13); }
.sr-process li:last-child { border:0; }
.sr-process li>span { color:var(--sr-lime); font-size:12px; display:block; margin-bottom:25px; }
.sr-process h3 { font-size:20px; }
.sr-process p { font-size:13px; margin:0; }
.sr-cost-panel { display:grid; grid-template-columns:1.2fr 1fr; gap:80px; }
.sr-button { display:inline-flex; justify-content:space-between; align-items:center; gap:30px; padding:17px 22px; border-radius:6px; color:#071006; background:var(--sr-lime); font-size:13px; font-weight:750; line-height:1.45; }
.sr-button:hover { background:#d1ff6a; }
.sr-cost-factors { padding:30px; border-radius:10px; border:1px solid rgba(183,255,24,.3); background:rgba(183,255,24,.025); }
.sr-cost-factors h3 { font-size:20px; }
.sr-cost-factors dl { margin:0; }
.sr-cost-factors dl>div { padding:14px 0; border-top:1px solid rgba(255,255,255,.12); }
.sr-cost-factors dt { font-size:13px; color:#fff; font-weight:700; }
.sr-cost-factors dd { margin:6px 0 0; font-size:13px; line-height:1.5; color:#a7b0a2; }
.sr-types { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.sr-types article { border-top:2px solid var(--sr-lime); padding-top:22px; }
.sr-types article>span { display:block; color:var(--sr-lime); font-size:10px; margin-bottom:16px; }
.sr-types h3 { font-size:21px; }
.sr-types p { font-size:14px; }
.sr-technical { margin-top:30px; border:1px solid rgba(255,255,255,.16); border-radius:8px; }
.sr-technical summary { display:flex; justify-content:space-between; align-items:center; gap:20px; cursor:pointer; padding:20px; font-size:14px; font-weight:700; list-style:none; }
.sr-technical summary::-webkit-details-marker,.sr-faq summary::-webkit-details-marker { display:none; }
.sr-technical summary span { color:var(--sr-lime); font-size:22px; }
.sr-technical-body { padding:0 20px 25px; }
.sr-reference-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:20px; }
.sr-reference { padding:14px; border:1px solid rgba(255,255,255,.15); border-radius:5px; font-size:12px; line-height:1.5; color:#d6dfd1; }
.sr-reference:hover { border-color:var(--sr-lime); }
.sr-reference-images { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.sr-reference-images figure { margin:0; }
.sr-reference-images img { width:100%; height:auto; border-radius:6px; }
.sr-reference-images figcaption { color:#98a193; font-size:11px; line-height:1.6; padding-top:10px; }
.sr-insurance { display:grid; grid-template-columns:1fr 1.1fr; gap:80px; }
.sr-insurance svg { color:var(--sr-lime); width:40px; height:40px; margin-bottom:24px; }
.sr-insurance p { margin-top:0; }
.sr-areas { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:22px; }
.sr-area { padding:16px; border:1px solid rgba(255,255,255,.14); border-radius:6px; font-size:13px; }
.sr-area:hover { color:var(--sr-lime); border-color:var(--sr-lime); }
.sr-faq-layout { display:grid; grid-template-columns:1fr 1.3fr; gap:80px; align-items:start; }
.sr-faq { border-top:1px solid rgba(255,255,255,.14); }
.sr-faq details { border-bottom:1px solid rgba(255,255,255,.14); }
.sr-faq summary { display:flex; justify-content:space-between; align-items:center; cursor:pointer; list-style:none; gap:24px; font-size:15px; font-weight:650; line-height:1.5; padding:21px 0; }
.sr-faq summary span { display:grid; place-items:center; width:28px; height:28px; flex:0 0 28px; border:1px solid rgba(183,255,24,.4); border-radius:50%; color:var(--sr-lime); }
.sr-faq details[open] summary span { transform:rotate(45deg); }
.sr-answer { padding:0 0 20px; }
.sr-answer p { font-size:14px; margin:0; }
.sr-resources { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.sr-resources a { border:1px solid rgba(255,255,255,.14); border-radius:7px; padding:20px; font-size:13px; line-height:1.6; color:#e2e8dd; }
.sr-resources a:hover { color:var(--sr-lime); border-color:var(--sr-lime); }
.sr-final { background:radial-gradient(ellipse at 0 50%,rgba(183,255,24,.1),transparent 60%),#0a100b; border-block:1px solid rgba(183,255,24,.2); }
.sr-final-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:80px; }
.sr-final-phone { display:inline-block; color:var(--sr-lime); font-size:clamp(27px,3vw,40px); font-weight:700; margin-top:20px; }
.sr-brief { padding-left:35px; border-left:1px solid rgba(255,255,255,.16); }
.sr-brief h3 { font-size:20px; }
.sr-brief ul { padding-left:18px; font-size:14px; line-height:1.9; color:#c0cbb9; }
.sr-brief p { font-size:12px; }
.sr-final-actions { display:flex; flex-wrap:wrap; gap:17px; align-items:center; }
.page-surge-locality .site-footer { padding-bottom:140px; background:#030504; }
.page-surge-locality .footer-lead { display:none; }
.page-surge-locality .footer-grid { padding-top:30px; }
.page-surge-locality .footer-logo { width:160px; }
.page-surge-locality .footer-grid h3 { font-family:Arial,sans-serif; }
.sr-desktop-contact { position:fixed; z-index:75; left:50%; bottom:14px; transform:translateX(-50%); width:min(660px,calc(100% - 32px)); }
.sr-desktop-contact .hero-action-bar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding:5px; border:1px solid rgba(190,255,28,.5); border-radius:21px; background:linear-gradient(118deg,rgba(21,28,23,.97),rgba(3,7,5,.98)); box-shadow:0 20px 45px rgba(0,0,0,.48); }
.sr-desktop-contact .hero-action-signal { display:none; }
.sr-desktop-contact .hero-action-item { min-width:0; display:flex; align-items:center; gap:10px; min-height:65px; padding:12px; border:1px solid rgba(255,255,255,.09); border-radius:16px; }
.sr-desktop-contact .hero-action-item[data-active=true] { color:#071006; background:linear-gradient(135deg,#c8ff35,#91d500); }
.sr-desktop-contact .hero-action-icon { width:30px; height:30px; display:grid; place-items:center; border:1px solid var(--sr-lime); border-radius:50%; color:var(--sr-lime); flex-shrink:0; }
.sr-desktop-contact .hero-action-item[data-active=true] .hero-action-icon { color:#071006; border-color:#071006; }
.sr-desktop-contact strong,.sr-desktop-contact small { display:block; }
.sr-desktop-contact strong { font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.sr-desktop-contact small { font-size:9px; margin-top:4px; opacity:.65; }
.sr-desktop-contact .hero-action-arrow { margin-left:auto; }
@media(max-width:1100px) { .page-surge-locality .header-actions { display:none; } .sr-hero h1 { font-size:56px; } .sr-intro,.sr-cost-panel,.sr-insurance,.sr-faq-layout,.sr-final-grid { gap:40px; } .sr-process { grid-template-columns:1fr 1fr; } .sr-process li:nth-child(2) { border-right:0; } .sr-process li:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.13); } }
@media(max-width:900px) { .sr-hero-grid { grid-template-columns:1fr; } .sr-hero-figure { position:static; margin:0; } .sr-hero-figure img { height:auto; aspect-ratio:3/2; } .sr-hero h1 { font-size:clamp(44px,9vw,68px); } .sr-cards { grid-template-columns:1fr; } .sr-split { grid-template-columns:1fr; gap:35px; } .sr-card { padding:25px; } .sr-card>svg { margin-bottom:18px; } .sr-section { padding-block:55px; } .sr-intro { grid-template-columns:1fr; gap:0; } .sr-hero-copy>p:not(.sr-kicker) { font-size:15px; } .sr-insurance,.sr-cost-panel,.sr-faq-layout,.sr-final-grid { grid-template-columns:1fr; gap:30px; } .sr-areas { grid-template-columns:repeat(3,1fr); } .sr-brief { border-left:0; border-top:1px solid rgba(255,255,255,.16); padding:25px 0 0; } }
@media(max-width:760px) { .page-surge-locality .site-header { height:72px; } .sr-hero-grid { padding-top:25px; padding-bottom:30px; gap:32px; } .sr-breadcrumb { margin-bottom:28px; font-size:10px; } .sr-hero .sr-kicker { font-size:8px; letter-spacing:.1em; } .sr-question { font-size:15px; line-height:1.6; } .sr-cost-link { font-size:13px; } .sr-section h2 { font-size:34px; } .sr-section h3 { font-size:22px; } .sr-jump { gap:8px; padding-block:18px; } .sr-jump a { font-size:10px; padding:8px 10px; } .sr-types { grid-template-columns:1fr; gap:18px; } .sr-types article { padding-top:18px; } .sr-reference-grid,.sr-reference-images { grid-template-columns:1fr; } .sr-areas { grid-template-columns:1fr 1fr; } .sr-resources { grid-template-columns:1fr; } .sr-process { grid-template-columns:1fr; } .sr-process li { border-right:0; border-bottom:1px solid rgba(255,255,255,.13); padding:24px; } .sr-process li>span { margin-bottom:14px; } .sr-desktop-contact { display:none; } .page-surge-locality .site-footer { padding:35px 20px 25px; } .page-surge-locality .footer-grid { gap:24px; } .sr-faq summary { font-size:14px; gap:16px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }

.sr-local-context{border-top:1px solid rgba(190,255,28,.25)}.sr-local-context .sr-intro p{font-size:15px}.sr-directory-search{display:block;width:100%;max-width:640px;padding:16px;border:1px solid #567020;border-radius:8px;background:#10170f;color:#fff;font:inherit;margin:24px 0}.sr-directory-group{padding-block:25px}.sr-directory-group h2{font-size:32px}.sr-directory-group [hidden]{display:none!important}.sr-directory-count{color:#bdd5ac;font-size:14px}.sr-local-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
