@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{
  --theme-font-family:'Manrope',system-ui,sans-serif;
  --theme-copy-size:14px;
  --theme-section-max:46px;
  --theme-brand-blue:#054dae;
  --theme-heading-color:#0b1530;
  --theme-text-color:#5d6a80;
  --theme-button-start:#054dae;
  --theme-button-end:#1688e5;
  --blue:var(--theme-brand-blue);
  --banner-blue:var(--theme-brand-blue);
}

body{font-family:var(--theme-font-family)!important}

/* Rankupar logo blue is the single public-site accent. */
.dark-kicker,.service-no,.detail-grid b,.process-section b,.related-section a,.service-card a,.work-all-link,.article-content a:not(.button),.sidebar-label,.content-label,.post-category{color:var(--theme-brand-blue)!important}
.icon-box{color:var(--theme-brand-blue)!important;background:color-mix(in srgb,var(--theme-brand-blue) 10%,#fff)!important}
.division-tabs button.active,.pagination div a.active{background:linear-gradient(135deg,var(--theme-button-start),var(--theme-button-end))!important;border-color:transparent!important;color:#fff!important}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus,.service-contact input:focus,.service-contact textarea:focus,.audit-form input:focus{border-color:var(--theme-brand-blue)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-brand-blue) 13%,transparent)!important}
.score-ring{border-color:var(--theme-brand-blue)!important}
.hero-glow{background:var(--theme-brand-blue)!important}
.chart i{background:linear-gradient(#5ad9ff,var(--theme-brand-blue))!important}
.float-card strong{background:var(--theme-brand-blue)!important}

/* Primary and secondary CTAs share one editable logo-blue gradient. */
.button,.button.white,.wa-hero,.wa-outline,.lead-form button[type="submit"],.service-contact form button[type="submit"],.audit-form button[type="submit"],.public-empty .button{
  border-color:transparent!important;
  background:linear-gradient(135deg,var(--theme-button-start),var(--theme-button-end))!important;
  color:#fff!important;
  box-shadow:0 15px 34px color-mix(in srgb,var(--theme-button-start) 28%,transparent)!important;
}
.button:hover,.button.white:hover,.wa-hero:hover,.wa-outline:hover{box-shadow:0 19px 44px color-mix(in srgb,var(--theme-button-end) 35%,transparent)!important}
.button:disabled,.lead-form button:disabled,.service-contact button:disabled,.audit-form button:disabled{opacity:.68!important;cursor:wait!important;transform:none!important;box-shadow:none!important}

/* Large blue sections now use the logo blue instead of the previous electric blue. */
.service-contact,.audit-band,.full-report-cta,.article-cta{background:linear-gradient(125deg,#033b87,var(--theme-brand-blue) 52%,#0b68c7)!important}
.service-hero{background:radial-gradient(circle at 78% 35%,color-mix(in srgb,var(--theme-brand-blue) 65%,#07132c),#07132c 46%)!important}
.audit-hero{background:radial-gradient(circle at 20% 60%,color-mix(in srgb,var(--theme-brand-blue) 70%,#07132c),#07132c 49%)!important}
.blog-hero,.legal-hero{background:radial-gradient(circle at 76% 24%,color-mix(in srgb,var(--theme-brand-blue) 58%,#07132c),#07132c 49%)!important}

/* Dashboard-controlled typography affects useful public copy without disturbing dark hero display text. */
.client-section h2,#services .section-heading h2,#process .section-heading h2,.contact-copy h2,.service-overview h2,.service-deep-dive h2,.detail-section h2,.process-section h2,.service-assurance h2,.faq-section h2,.related-section h2,.blog-main-column h2,.legal-content h2,.article-content h2,.article-content h3,.audit-form h2,.audit-results h2{color:var(--theme-heading-color)!important}
.client-intro h2,.section-heading h2,.about-copy h2,.contact-copy h2,.service-overview h2,.detail-heading h2,.included-section h2,.process-section h2,.faq-section h2,.related-section h2,.service-deep-dive h2,.service-assurance h2{font-size:clamp(30px,3.15vw,var(--theme-section-max))!important}
.client-intro p,.section-heading>p,.about-copy p,.contact-copy>p,.service-deep-copy p,.included-section>div>p,.audit-hero>div>p{font-size:var(--theme-copy-size)!important}
.client-intro p,.section-heading>p,.contact-copy>p,.service-deep-copy p{color:var(--theme-text-color)!important}

/* Official WhatsApp green remains untouched; it is hidden in the hero where WhatsApp already has a full CTA. */
.official-wa{transition:opacity .22s,transform .22s}
.home-page.hero-in-view .official-wa{opacity:0;transform:translateY(10px);pointer-events:none}

/* One centralized footer is rendered by every public route. */
.site-footer{position:relative!important;margin:0!important;padding:64px max(6vw,28px) 22px!important;background:#050d20!important;color:#fff!important}
.site-footer-grid{display:grid;grid-template-columns:minmax(250px,1.45fr) repeat(3,minmax(145px,1fr));gap:48px;max-width:1500px;margin:0 auto;padding-bottom:48px}
.site-footer-brand{display:block!important}
.site-footer-logo{box-sizing:border-box;width:218px;height:auto;aspect-ratio:328/177;padding:10px 14px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;border-radius:14px}
.site-footer-logo img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;flex:none}
.site-footer-brand>p{max-width:360px;margin:18px 0;color:#8795ad!important;font-size:12px!important;line-height:1.75}
.site-footer-column{display:flex!important;flex-direction:column;align-items:flex-start;gap:11px}
.site-footer-column h3{margin:4px 0 10px;color:#fff!important;font-size:12px;letter-spacing:.1px}
.site-footer-column a,.site-footer-column span{color:#8f9db4!important;font-size:10px;line-height:1.55;transition:color .2s}
.site-footer-column a:hover{color:#fff!important}
.site-footer-contact span{max-width:220px}
.site-footer .footer-socials{display:flex!important;gap:8px;margin-top:16px}
.site-footer .footer-socials a{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.11);border-radius:9px;background:#0e1c35;color:#fff;transition:transform .2s,background .2s}
.site-footer .footer-socials a:hover{transform:translateY(-2px);background:var(--theme-brand-blue)}
.site-footer .footer-socials svg{width:17px;height:17px}
.site-footer .footer-socials span{display:none}
.footer-full-map{position:relative;display:block;width:100%;height:clamp(340px,32vw,520px);margin:0 auto 34px;overflow:hidden;background:#dfe6ed;box-shadow:0 18px 45px rgba(0,0,0,.16)}
.footer-full-map iframe{display:block;width:100%!important;height:100%!important;min-height:100%;margin:0;border:0!important;pointer-events:none}
.footer-map-link{position:absolute;right:18px;top:18px;z-index:2;display:inline-flex;align-items:center;min-height:42px;padding:11px 15px;border-radius:10px;background:#fff;color:#0b1a38!important;box-shadow:0 10px 28px rgba(8,24,52,.18);font-size:11px;font-weight:800}
.site-footer-bottom{max-width:1500px;margin:0 auto;padding-top:21px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:20px;color:#64738d;font-size:9px}
.site-footer-bottom a{color:#7e8ca5}

.scroll-top{position:fixed;right:22px;bottom:84px;z-index:39;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--theme-button-start),var(--theme-button-end));color:#fff;box-shadow:0 13px 30px rgba(0,0,0,.2);opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none;cursor:pointer;transition:opacity .22s,visibility .22s,transform .22s}
.scroll-top.visible{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.scroll-top:hover{transform:translateY(-2px)}
.scroll-top svg{width:21px;height:21px}

@media(max-width:760px){
  .official-wa{width:41px!important;height:41px!important;right:10px!important;bottom:calc(14px + env(safe-area-inset-bottom))!important}
  .official-wa svg{width:22px!important;height:22px!important}
  .site-footer{padding:50px 22px 20px!important}
  .site-footer-grid{grid-template-columns:1fr 1fr;gap:34px 24px;padding-bottom:38px}
  .site-footer-brand{grid-column:1/-1}
  .site-footer-logo{width:198px;height:auto}
  .footer-full-map{height:360px;margin-bottom:28px}
  .footer-map-link{right:12px;top:12px;min-height:39px;padding:9px 12px;font-size:10px}
  .site-footer-bottom{display:block;line-height:2}
  .scroll-top{width:41px;height:41px;right:10px;bottom:calc(67px + env(safe-area-inset-bottom))}
}
@media(max-width:480px){.site-footer-grid{grid-template-columns:1fr}.site-footer-brand{grid-column:auto}.site-footer-logo{width:188px;height:auto}.footer-full-map{height:310px}}

@media(prefers-reduced-motion:reduce){.official-wa,.scroll-top{transition:none}}

/* V18 motion performance: no fixed noise repaint and no off-screen animation work. */
.noise{display:none!important}
.logo-viewport:not(.motion-in-view) .logo-track{animation-play-state:paused!important}
body.home-page:not(.hero-in-view) .hero .flow-ribbon:before,
body.home-page:not(.hero-in-view) .hero .flow-ribbon:after,
body.home-page:not(.hero-in-view) .hero .flow-spark,
body.home-page:not(.hero-in-view) .hero .float-card,
body.home-page:not(.hero-in-view) .hero .chart i{animation-play-state:paused!important}
@media(max-width:900px){.reveal{opacity:1!important;transform:none!important;transition:none!important}.delay{transition-delay:0!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important;transition:none!important}}
