html,body{overflow-x:hidden !important;max-width:100vw} img{max-width:100%;height:auto} .rpx-price{display:block;overflow-x:auto} .site-content .ast-container{max-width:1240px;margin-left:auto;margin-right:auto;display:block} #primary{width:100% !important;float:none;margin:0 auto}

/* ===== rpx global polish ===== */
.rpx-wrap{max-width:1080px;margin-inline:auto}

/* --- Hero: premium look --- */
.rpx-wrap .rpx-hero{
  position:relative;overflow:hidden;
  border-radius:22px !important;
  padding:46px 40px !important;
  box-shadow:0 18px 44px -22px rgba(0,0,0,.55);
}
.rpx-wrap .rpx-hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(1100px 300px at 88% -30%,rgba(255,255,255,.20),transparent 60%),
    radial-gradient(700px 260px at 8% 120%,rgba(255,255,255,.10),transparent 60%);
  pointer-events:none;
}
.rpx-wrap .rpx-hero > *{position:relative;z-index:1}
.rpx-wrap .rpx-hero .rpx-h1{
  font-size:2.05em !important;line-height:1.45 !important;
  letter-spacing:-.2px;margin:0 0 14px !important;
  text-shadow:0 2px 14px rgba(0,0,0,.18);
}
.rpx-wrap .rpx-hero p{font-size:1.06em;line-height:1.9;opacity:.95;max-width:70ch;margin:0 0 18px}
.rpx-wrap .rpx-hero .rpx-call,
.rpx-wrap .rpx-hero .rpx-wa{
  border-radius:14px !important;padding:14px 26px !important;
  font-size:1.02em !important;letter-spacing:.2px;
  box-shadow:0 10px 24px -12px rgba(0,0,0,.6);
  transition:transform .18s ease, box-shadow .18s ease;
  margin:6px 10px 0 0;
}
.rpx-wrap .rpx-hero .rpx-call:hover,
.rpx-wrap .rpx-hero .rpx-wa:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(0,0,0,.65)}

/* --- Headings & body rhythm --- */
.rpx-wrap h2{letter-spacing:-.1px;border-inline-start-width:4px !important;line-height:1.5}
.rpx-wrap h3{margin-top:1.6em}
.rpx-wrap p{margin:0 0 1.05em}

/* --- TOC --- */
.rpx-wrap .rpx-toc{border:1px solid rgba(0,0,0,.07);border-radius:16px}
.rpx-wrap .rpx-toc a{text-decoration:none}
.rpx-wrap .rpx-toc a:hover{text-decoration:underline}

/* --- Tables & figures --- */
.rpx-wrap .rpx-price table{border-radius:12px;overflow:hidden}
.rpx-wrap .rpx-price th{letter-spacing:.2px}
.rpx-wrap .rpx-fig img{box-shadow:0 12px 30px -18px rgba(0,0,0,.5)}

/* --- Areas directory --- */
.rpx-dir .rpx-dir-head{border-radius:20px !important;padding:30px 28px !important;box-shadow:0 16px 40px -24px rgba(0,0,0,.5)}
.rpx-dir .rpx-dir-head h2{font-size:1.7em !important;line-height:1.5}
.rpx-dir .rpx-gov{box-shadow:0 6px 18px -14px rgba(0,0,0,.4)}

/* ===== FOOTER ===== */
.rpxf{max-width:1100px;margin-inline:auto;padding-inline:22px}
.rpxf-top{padding-block:10px 22px}
.rpxf h4{letter-spacing:-.1px}
.rpxf-btn{transition:transform .16s ease}
.rpxf-btn:hover{transform:translateY(-2px)}
.rpxf-chips a{transition:background .16s ease}

/* Astra footer rows: keep content centered in the column, not glued to the edge */
.ast-builder-grid-row-container .rpxf{width:100%}
.site-footer .widget_custom_html,
.site-footer .widget_text{width:100%}

/* ===== MOBILE ===== */
@media (max-width:782px){
  .rpx-wrap .rpx-hero{padding:28px 20px !important;border-radius:18px !important}
  .rpx-wrap .rpx-hero .rpx-h1{font-size:1.45em !important;line-height:1.55 !important}
  .rpx-wrap .rpx-hero p{font-size:1em}
  .rpx-wrap .rpx-hero .rpx-call,
  .rpx-wrap .rpx-hero .rpx-wa{display:block;text-align:center;margin:10px 0 0 !important;padding:14px 18px !important}
  .rpx-wrap h2{font-size:1.28em !important}
  .rpx-dir .rpx-dir-head{padding:22px 18px !important}
  .rpx-dir .rpx-dir-head h2{font-size:1.3em !important}

  /* footer: symmetric padding so it no longer hugs the right edge */
  .rpxf{padding-inline:18px !important;text-align:right}
  .rpxf-top{gap:24px}
  .rpxf h4{border-bottom-width:1px}
  .rpxf-govs{padding-top:18px}
  .site-footer .ast-builder-grid-row{padding-inline:0 !important}
  .site-footer .ast-builder-layout-element{padding-inline:0 !important}
}
@media (max-width:480px){
  .rpxf{padding-inline:16px !important}
  .rpxf-chips a{flex:1 1 100%;justify-content:flex-start;padding-inline:14px}
}

/* ===== mobile footer balance (v2) ===== */
@media (max-width:782px){
  .rpxf{padding-inline:22px !important;text-align:center !important}
  .rpxf-top{gap:26px;text-align:center}
  .rpxf h4{border-bottom:none;position:relative;padding-bottom:12px;margin-bottom:14px;font-size:1.08em}
  .rpxf h4::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);
    width:46px;height:2px;background:rgba(255,255,255,.35);border-radius:2px}
  .rpxf p{margin-inline:auto;max-width:44ch}
  .rpxf ul{text-align:center}
  .rpxf li a{padding:7px 0}
  .rpxf-cta{justify-content:center}
  .rpxf-govs{text-align:center;border-top:1px solid rgba(255,255,255,.16)}
  .rpxf-govs strong{text-align:center}
  .rpxf-chips{justify-content:center}
  .rpxf-chips a{justify-content:center}
  .site-footer .ast-builder-layout-element{justify-content:center}
}

/* ===== footer contrast fix for light footer (v3) ===== */
.rpxf h4{border-bottom:2px solid rgba(0,0,0,.10) !important}
.rpxf-govs{border-top:1px solid rgba(0,0,0,.10) !important}
.rpxf-chips a{
  background:rgba(0,0,0,.05) !important;
  border:1px solid rgba(0,0,0,.08);
  color:inherit !important;
  font-weight:600;
}
.rpxf-chips a:hover{background:rgba(0,0,0,.10) !important;border-color:rgba(0,0,0,.16)}
.rpxf p{opacity:.85}
.rpxf li a{opacity:1}
@media (max-width:782px){
  .rpxf h4{border-bottom:none !important}
  .rpxf h4::after{background:currentColor !important;opacity:.28}
  .rpxf-govs{border-top:1px solid rgba(0,0,0,.10) !important}
}

/* ===== footer full-width row (v4) ===== */
.site-primary-footer-wrap .ast-builder-grid-row{grid-template-columns:1fr !important}
.site-primary-footer-wrap .site-footer-section:not(.site-footer-primary-section-1){display:none !important}
.site-below-footer-wrap .ast-builder-grid-row{grid-template-columns:1fr !important}
.site-below-footer-wrap .site-footer-section:not(.site-footer-below-section-1){display:none !important}
.rpxf-btn{white-space:nowrap}

/* ===== elegant mobile drawer (v5) ===== */
#ast-mobile-popup .ast-mobile-popup-inner{background:#fff;box-shadow:0 0 50px rgba(0,0,0,.28)}
#ast-mobile-popup .ast-mobile-popup-header{border-bottom:1px solid rgba(0,0,0,.08);padding:8px 14px}
#ast-mobile-popup .ast-nav-menu>.menu-item>.menu-link{padding:14px 18px;font-size:15.5px;font-weight:700;border-bottom:1px solid rgba(0,0,0,.07)}
#ast-mobile-popup .ast-nav-menu>.menu-item.menu-item-has-children>.menu-link{border-right:3px solid rgba(0,0,0,.10)}
#ast-mobile-popup .ast-nav-menu .sub-menu{background:#f5f8fb}
#ast-mobile-popup .ast-nav-menu .sub-menu .menu-link{padding:11px 32px 11px 18px;font-size:14.5px;font-weight:500;border-bottom:1px solid rgba(0,0,0,.045)}
#ast-mobile-popup .ast-nav-menu .sub-menu .menu-link::before{content:"\2022";margin-left:9px;opacity:.4}
#ast-mobile-popup .ast-menu-toggle{padding:0 12px;opacity:.55}
#ast-mobile-popup .current-menu-item>.menu-link{background:rgba(0,0,0,.045)}
.rpxm-cta{display:flex;gap:10px;flex-wrap:wrap;padding:16px 16px 22px}
.rpxm-btn{flex:1 1 auto;text-align:center;border-radius:50px;padding:12px 14px;font-weight:800;font-size:15px;text-decoration:none;white-space:nowrap;box-shadow:0 6px 16px rgba(0,0,0,.14)}
.rpxm-tel{background:#ffc107;color:#111 !important}
.rpxm-wa{background:#25d366;color:#fff !important}
/* ===== mobile drawer cta width (v6) ===== */
#ast-mobile-popup .ast-header-html,#ast-mobile-popup .ast-builder-html-element,#ast-mobile-popup .ast-builder-layout-element{width:100%}

/* mobile side padding fix */
@media (max-width:782px){
.rpx-wrap,.rpxh,.rpxz,.rpxb,.rpxc,.rpxk{padding-right:14px !important;padding-left:14px !important;box-sizing:border-box !important}
.rpx-wrap .rpx-hero{border-radius:14px !important}
}