:root{--wgseo-red:#e21b23;--wgseo-red-dark:#b90f16;--wgseo-black:#08090b;--wgseo-panel:#111318;--wgseo-soft:#f5f5f6;--wgseo-text:#15171b;--wgseo-muted:#656a73;--wgseo-white:#fff}.wgseo-page{background:var(--wgseo-white);color:var(--wgseo-text);font-family:inherit}.wgseo-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}.wgseo-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 20%,rgba(226,27,35,.24),transparent 34%),linear-gradient(135deg,#07080a 0%,#15171b 58%,#08090b 100%);color:#fff;padding:38px 0 90px}.wgseo-hero:after{content:"WG";position:absolute;right:-25px;bottom:-155px;font-size:min(36vw,480px);line-height:1;font-weight:900;letter-spacing:-.1em;color:rgba(255,255,255,.025);pointer-events:none}.wgseo-hero-compact{padding-bottom:64px}.wgseo-breadcrumbs{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:13px;color:#aeb2b8;margin-bottom:64px}.wgseo-breadcrumbs a{color:#d7d9dd;text-decoration:none}.wgseo-eyebrow,.wgseo-kicker{font-size:12px;letter-spacing:.18em;font-weight:800;color:var(--wgseo-red);text-transform:uppercase}.wgseo-hero h1{font-size:clamp(42px,7vw,84px);line-height:.98;letter-spacing:-.045em;max-width:960px;margin:14px 0 24px;color:#fff}.wgseo-hero-copy{font-size:clamp(18px,2vw,23px);line-height:1.6;color:#d6d8dd;max-width:780px}.wgseo-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.wgseo-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:7px;text-decoration:none!important;font-weight:800;transition:transform .18s ease,background .18s ease}.wgseo-btn:hover{transform:translateY(-2px)}.wgseo-btn-primary{background:var(--wgseo-red);color:#fff!important}.wgseo-btn-primary:hover{background:var(--wgseo-red-dark)}.wgseo-btn-ghost{border:1px solid #444851;color:#fff!important;background:rgba(255,255,255,.025)}.wgseo-btn-light{background:#fff;color:#111!important}.wgseo-hero-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:48px;color:#9da2aa;font-size:13px}.wgseo-hero-meta span{padding-left:14px;border-left:2px solid #34363c}.wgseo-hero-meta strong{color:#fff}.wgseo-section{padding:82px 0}.wgseo-section-heading{max-width:720px;margin-bottom:34px}.wgseo-section-heading h2,.wgseo-two-col h2,.wgseo-final-cta h2{font-size:clamp(32px,4.2vw,54px);line-height:1.05;letter-spacing:-.035em;margin:10px 0 16px}.wgseo-section-heading p{font-size:18px;color:var(--wgseo-muted);line-height:1.65}.wgseo-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.wgseo-service-grid article{border:1px solid #e1e2e5;border-radius:12px;padding:28px;background:#fff}.wgseo-service-grid article>span{color:var(--wgseo-red);font-weight:900;font-size:12px}.wgseo-service-grid h3{font-size:22px;margin:20px 0 10px}.wgseo-service-grid p{color:var(--wgseo-muted);line-height:1.65}.wgseo-section-dark{background:var(--wgseo-black);color:#fff}.wgseo-two-col{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:60px;align-items:center}.wgseo-two-col p{color:#c2c6cc;font-size:17px;line-height:1.75}.wgseo-small{font-size:13px!important;color:#858b94!important}.wgseo-price-card{background:linear-gradient(145deg,#17191e,#0e1013);border:1px solid #292c32;border-radius:14px;padding:34px}.wgseo-price-card h3{font-size:29px;margin:10px 0}.wgseo-price{font-size:18px!important}.wgseo-price strong{font-size:32px;color:#fff}.wgseo-custom-content{background:#fff}.wgseo-content-width{max-width:860px}.wgseo-custom-content,.wgseo-custom-content p,.wgseo-custom-content li{font-size:17px;line-height:1.8}.wgseo-custom-content h2{font-size:34px;margin-top:42px}.wgseo-local-note{border-left:4px solid var(--wgseo-red);background:#fafafa;padding:18px 22px;margin-bottom:36px}.wgseo-process{background:var(--wgseo-soft)}.wgseo-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.wgseo-process-grid>div{background:#fff;border-radius:12px;padding:28px}.wgseo-process-grid strong{font-size:13px;color:var(--wgseo-red)}.wgseo-process-grid h3{font-size:22px;margin:18px 0 9px}.wgseo-process-grid p{color:var(--wgseo-muted);line-height:1.6}.wgseo-location-links{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.wgseo-location-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e1e2e5;border-radius:8px;padding:15px 17px;color:var(--wgseo-text);text-decoration:none!important;font-weight:750;background:#fff}.wgseo-location-links a:hover{border-color:var(--wgseo-red);color:var(--wgseo-red)}.wgseo-location-links-large a{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto}.wgseo-location-links-large a small{grid-column:1;color:#7a7f87;font-weight:400}.wgseo-location-links-large a b{grid-column:2;grid-row:1/3;align-self:center}.wgseo-faq details{border-top:1px solid #ddd;padding:18px 0}.wgseo-faq details:last-child{border-bottom:1px solid #ddd}.wgseo-faq summary{cursor:pointer;font-weight:800;font-size:18px}.wgseo-faq details p{color:var(--wgseo-muted);line-height:1.7;max-width:760px}.wgseo-final-cta{background:var(--wgseo-red);color:#fff;padding:58px 0}.wgseo-final-cta .wgseo-shell{display:flex;justify-content:space-between;align-items:center;gap:30px}.wgseo-final-cta .wgseo-kicker{color:#fff;opacity:.75}.wgseo-final-cta h2{max-width:780px;margin-bottom:0}.wgseo-pagination{margin-top:34px}.wgseo-pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}.wgseo-pagination a,.wgseo-pagination span{padding:9px 13px;border:1px solid #ddd;border-radius:6px;text-decoration:none}@media(max-width:980px){.wgseo-service-grid{grid-template-columns:1fr 1fr}.wgseo-two-col{grid-template-columns:1fr}.wgseo-location-links{grid-template-columns:1fr 1fr}}@media(max-width:640px){.wgseo-shell{width:min(100% - 28px,1180px)}.wgseo-hero{padding-top:26px;padding-bottom:64px}.wgseo-breadcrumbs{margin-bottom:42px}.wgseo-section{padding:58px 0}.wgseo-service-grid,.wgseo-process-grid,.wgseo-location-links{grid-template-columns:1fr}.wgseo-final-cta .wgseo-shell{align-items:flex-start;flex-direction:column}.wgseo-btn{width:100%}}

/* v1.1 local enrichment */
.wgseo-local-section{background:linear-gradient(180deg,#f6f7f8 0%,#fff 100%)}
.wgseo-local-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:18px;align-items:stretch}.wgseo-local-layout-no-weather{grid-template-columns:1fr}.wgseo-fact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.wgseo-fact-grid article{background:#fff;border:1px solid #e2e4e7;border-radius:12px;padding:22px;min-height:112px;display:flex;flex-direction:column;justify-content:space-between}.wgseo-fact-grid article span{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#777d86;font-weight:800}.wgseo-fact-grid article strong{display:block;font-size:19px;line-height:1.3;margin-top:14px}.wgseo-weather-card{border-radius:14px;padding:26px;background:linear-gradient(150deg,#111318,#07080a);color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.12)}.wgseo-weather-top{display:flex;align-items:center;gap:18px}.wgseo-weather-icon{font-size:46px;line-height:1}.wgseo-weather-top div>span{display:block;color:#aeb3bb;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.wgseo-weather-top strong{display:block;font-size:46px;line-height:1.1;margin-top:4px}.wgseo-weather-card>p{font-size:16px;color:#d4d7dc;margin:22px 0 12px}.wgseo-weather-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.wgseo-weather-meta span{font-size:12px;padding:7px 10px;border:1px solid #30343a;border-radius:999px;color:#d8dbe0}.wgseo-weather-card small{display:block;color:#858b94;font-size:11px}.wgseo-weather-card small a{color:#b8bcc3}.wgseo-explore-panel{margin-top:18px;border:1px solid #e2e4e7;border-radius:14px;padding:28px;background:#fff;display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:28px;align-items:center}.wgseo-explore-panel h3{font-size:29px;letter-spacing:-.025em;margin:8px 0}.wgseo-explore-panel p{color:var(--wgseo-muted);margin:0;line-height:1.65}.wgseo-explore-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wgseo-explore-links a{display:flex;align-items:center;gap:10px;padding:16px;border-radius:9px;background:#f5f5f6;color:#16181c;text-decoration:none!important;font-weight:800;border:1px solid #ececef}.wgseo-explore-links a:hover{background:#fff;border-color:var(--wgseo-red);color:var(--wgseo-red)}.wgseo-explore-links a span{font-size:20px}.wgseo-nearby-places{margin-top:40px}.wgseo-nearby-places>h3{font-size:26px;margin-bottom:18px}.wgseo-nearby-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.wgseo-nearby-grid article{border:1px solid #e2e4e7;border-radius:12px;padding:21px;background:#fff}.wgseo-nearby-grid h4{font-size:18px;margin:0 0 10px}.wgseo-nearby-grid p{font-size:14px;color:var(--wgseo-muted);line-height:1.55}.wgseo-nearby-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:11px;margin-top:18px}.wgseo-nearby-meta span{color:#858a91}.wgseo-nearby-meta a{font-weight:800;color:var(--wgseo-red);text-decoration:none}.wgseo-attribution{font-size:11px!important;color:#8b9098!important;margin:14px 0 0!important}.wgseo-attribution a{color:inherit}

/* South Africa map landing page */
.wgseo-map-section{background:#f6f7f8}.wgseo-sa-map-wrap{max-width:880px;margin:0 auto 38px;background:radial-gradient(circle at 55% 35%,rgba(226,27,35,.08),transparent 35%),#0b0c0f;border:1px solid #25282e;border-radius:22px;padding:24px;box-shadow:0 20px 65px rgba(0,0,0,.12)}.wgseo-sa-map{display:block;width:100%;height:auto;overflow:visible}.wgseo-sa-map a{text-decoration:none}.wgseo-map-province{fill:#24272d;stroke:#52565e;stroke-width:3;transition:fill .2s ease,transform .2s ease;transform-box:fill-box;transform-origin:center;cursor:pointer}.wgseo-sa-map a:hover .wgseo-map-province,.wgseo-sa-map a:focus .wgseo-map-province{fill:var(--wgseo-red);transform:translateY(-3px)}.wgseo-sa-map text{fill:#fff;font-size:16px;font-weight:800;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#111318;stroke-width:4px;stroke-linejoin:round}.wgseo-sa-map .wgseo-map-small+text{font-size:13px}.wgseo-map-lesotho{fill:#090a0c;stroke:#737780;stroke-width:2;pointer-events:none}.wgseo-province-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.wgseo-province-card{display:flex;flex-direction:column;gap:8px;padding:22px;background:#fff;border:1px solid #e0e2e5;border-radius:12px;text-decoration:none!important;color:#111318;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.wgseo-province-card:hover{transform:translateY(-3px);border-color:var(--wgseo-red);box-shadow:0 12px 30px rgba(0,0,0,.07)}.wgseo-province-card strong{font-size:20px}.wgseo-province-card span{display:flex;justify-content:space-between;color:#71767e;font-size:13px}.wgseo-province-card b{color:var(--wgseo-red)}

@media(max-width:980px){.wgseo-local-layout,.wgseo-explore-panel{grid-template-columns:1fr}.wgseo-nearby-grid{grid-template-columns:1fr 1fr}.wgseo-province-grid{grid-template-columns:1fr 1fr}.wgseo-sa-map text{font-size:14px}}
@media(max-width:640px){.wgseo-fact-grid,.wgseo-explore-links,.wgseo-nearby-grid,.wgseo-province-grid{grid-template-columns:1fr}.wgseo-weather-card{padding:22px}.wgseo-sa-map-wrap{padding:8px;border-radius:14px}.wgseo-sa-map text{font-size:12px}.wgseo-sa-map .wgseo-map-small+text{font-size:10px}.wgseo-explore-panel{padding:22px}}

/* v1.2 international map hub */
.wgseo-world-hero{padding-bottom:72px}.wgseo-country-jump-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:38px}.wgseo-country-jump-grid a{display:flex;flex-direction:column;gap:7px;padding:20px;border:1px solid #32363d;border-radius:12px;color:#fff;text-decoration:none!important;background:rgba(255,255,255,.035)}.wgseo-country-jump-grid a:hover{border-color:var(--wgseo-red);background:rgba(226,27,35,.08)}.wgseo-country-jump-grid strong{font-size:18px}.wgseo-country-jump-grid span{color:#9da3ad;font-size:12px}.wgseo-world-maps{display:grid;gap:34px}.wgseo-country-map-section{border:1px solid #e1e3e6;border-radius:20px;background:#f7f8f9;padding:28px}.wgseo-map-section-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:24px}.wgseo-map-section-head h2{font-size:clamp(28px,3.5vw,44px);letter-spacing:-.035em;margin:8px 0}.wgseo-map-section-head p{margin:0;color:var(--wgseo-muted)}.wgseo-map-section-head .wgseo-btn-ghost{color:#111!important;border-color:#d6d8dc;background:#fff;white-space:nowrap}.wgseo-map-section-head .wgseo-btn-ghost:hover{border-color:var(--wgseo-red);color:var(--wgseo-red)!important}.wgseo-region-inactive{opacity:.52}.wgseo-empty-region{padding:28px;border:1px dashed #ced1d6;border-radius:12px;background:#f8f8f9}.wgseo-empty-region h3{margin-top:0}.wgseo-map-note{text-align:center;color:#8b9098;font-size:12px;margin:10px 0 0}

.wgseo-us-map-wrap,.wgseo-uk-map-wrap,.wgseo-nz-map-wrap{max-width:900px;margin:0 auto 30px;background:radial-gradient(circle at 55% 35%,rgba(226,27,35,.08),transparent 36%),#0b0c0f;border:1px solid #25282e;border-radius:22px;padding:22px;box-shadow:0 20px 65px rgba(0,0,0,.1)}.wgseo-us-map,.wgseo-uk-map,.wgseo-nz-map{display:block;width:100%;height:auto;overflow:visible}.wgseo-us-map a,.wgseo-uk-map a,.wgseo-nz-map a{text-decoration:none}.wgseo-us-state{fill:#292c32;stroke:#545962;stroke-width:1.5;transition:fill .18s ease,transform .18s ease;transform-box:fill-box;transform-origin:center}.wgseo-us-map a:hover .wgseo-us-state,.wgseo-us-map a:focus .wgseo-us-state{fill:var(--wgseo-red);transform:translateY(-2px)}.wgseo-us-map text{fill:#fff;text-anchor:middle;font-size:12px;font-weight:900;pointer-events:none}.wgseo-map-disabled{opacity:.33}.wgseo-uk-map .wgseo-map-province{stroke-width:4}.wgseo-uk-map text{fill:#fff;font-size:20px;font-weight:900;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#111318;stroke-width:5px}.wgseo-nz-island{fill:#15171b;stroke:#454951;stroke-width:4}.wgseo-nz-region{fill:var(--wgseo-red);stroke:#fff;stroke-width:2;transition:transform .18s ease;transform-box:fill-box;transform-origin:center}.wgseo-nz-map a:hover .wgseo-nz-region{transform:scale(1.2)}.wgseo-nz-map text{fill:#fff;font-size:12px;font-weight:800;pointer-events:none;paint-order:stroke;stroke:#101216;stroke-width:4px}

@media(max-width:980px){.wgseo-country-jump-grid{grid-template-columns:1fr 1fr}.wgseo-map-section-head{align-items:flex-start;flex-direction:column}.wgseo-map-section-head .wgseo-btn{width:auto}.wgseo-country-map-section{padding:20px}}
@media(max-width:640px){.wgseo-country-jump-grid{grid-template-columns:1fr}.wgseo-country-map-section{padding:14px;border-radius:14px}.wgseo-us-map-wrap,.wgseo-uk-map-wrap,.wgseo-nz-map-wrap{padding:8px;border-radius:14px;overflow-x:auto}.wgseo-us-map{min-width:700px}.wgseo-nz-map text{font-size:10px}.wgseo-map-section-head .wgseo-btn{width:100%}}


/* v1.2.1 responsive map hardening */
.wgseo-page,.wgseo-map-page{width:100%;max-width:100%;overflow-x:clip}
.wgseo-page *,.wgseo-page *:before,.wgseo-page *:after{box-sizing:border-box}
.wgseo-shell,.wgseo-world-maps,.wgseo-country-map-section,.wgseo-map-section-head,.wgseo-map-section-head>div,.wgseo-sa-map-wrap,.wgseo-us-map-wrap,.wgseo-uk-map-wrap,.wgseo-nz-map-wrap{min-width:0;max-width:100%}
.wgseo-sa-map-wrap,.wgseo-us-map-wrap,.wgseo-uk-map-wrap,.wgseo-nz-map-wrap{overflow:hidden}
.wgseo-sa-map,.wgseo-us-map,.wgseo-uk-map,.wgseo-nz-map{width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;overflow:hidden}
.wgseo-mobile-map-nav{display:none}

@media(max-width:640px){
  .wgseo-page,.wgseo-map-page{overflow-x:hidden}
  .wgseo-shell{width:calc(100% - 24px);max-width:100%;padding-left:0;padding-right:0}
  .wgseo-country-map-section{width:100%;max-width:100%;padding:12px;border-radius:14px;overflow:hidden}
  .wgseo-map-section-head{width:100%;max-width:100%;gap:14px;margin-bottom:16px}
  .wgseo-map-section-head h2{font-size:clamp(25px,8vw,34px);overflow-wrap:anywhere}
  .wgseo-map-section-head p{overflow-wrap:anywhere}
  .wgseo-sa-map-wrap,.wgseo-us-map-wrap,.wgseo-uk-map-wrap,.wgseo-nz-map-wrap{width:100%;max-width:100%;padding:6px;margin-bottom:14px;overflow:hidden;border-radius:12px}
  .wgseo-us-map{min-width:0!important}
  .wgseo-us-map text{font-size:15px}
  .wgseo-uk-map text{font-size:18px}
  .wgseo-nz-map text{font-size:14px}
  .wgseo-map-note{padding:0 8px;line-height:1.45}
  .wgseo-mobile-map-nav{display:block;margin-top:12px}
  .wgseo-mobile-map-nav-title{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:900;color:#6f747c;margin:0 0 9px}
  .wgseo-mobile-map-nav-grid{display:grid;grid-template-columns:1fr;gap:8px}
  .wgseo-mobile-map-nav-grid a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:14px 15px;background:#fff;border:1px solid #e0e2e5;border-radius:9px;text-decoration:none!important;color:#111318;font-weight:800}
  .wgseo-mobile-map-nav-grid a span{min-width:0;overflow-wrap:anywhere}
  .wgseo-mobile-map-nav-grid a b{flex:0 0 auto;color:var(--wgseo-red);font-size:12px}
  .wgseo-country-jump-grid a{min-width:0;overflow:hidden}
  .wgseo-country-jump-grid strong,.wgseo-country-jump-grid span{overflow-wrap:anywhere}
}

/* v1.2.2 province town finder */
.wgseo-location-search{margin:0 0 26px;padding:22px;border:1px solid #e1e2e5;border-radius:14px;background:#fafafa}.wgseo-location-search label{display:block;font-weight:800;font-size:14px;margin:0 0 9px}.wgseo-location-search-field{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #cfd2d7;border-radius:10px;padding:0 12px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.wgseo-location-search-field:focus-within{border-color:var(--wgseo-red);box-shadow:0 0 0 3px rgba(226,27,35,.1)}.wgseo-location-search-field>span{font-size:22px;color:#777}.wgseo-location-search-field input{width:100%;min-width:0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:14px 0!important;font:inherit}.wgseo-location-search-field button{border:0;background:transparent;color:var(--wgseo-red);font-weight:800;cursor:pointer;opacity:0;pointer-events:none;padding:10px 4px}.wgseo-location-search-field button.is-visible{opacity:1;pointer-events:auto}.wgseo-location-search-meta{margin:10px 0 0;color:var(--wgseo-muted);font-size:13px}.wgseo-location-empty{margin-top:18px;padding:28px;border:1px dashed #cfd2d7;border-radius:12px;text-align:center;background:#fafafa}.wgseo-location-empty strong,.wgseo-location-empty span{display:block}.wgseo-location-empty span{margin-top:6px;color:var(--wgseo-muted)}[data-wgseo-location-item][hidden]{display:none!important}@media(max-width:600px){.wgseo-location-search{padding:16px}.wgseo-location-search-field{padding:0 10px}}
