/* Sari Platform v4.5.0 — Modern visual refinement.
 * Purely presentational, fully scoped, and based only on the approved Sari palette.
 */
:root{
  --fap-brand-navy:#11406C;
  --fap-brand-copper:#D99443;
  --fap-brand-navy-rgb:17,64,108;
  --fap-brand-copper-rgb:217,148,67;
  --fap-modern-surface:#FFFFFF;
  --fap-modern-soft:#F7F9FC;
  --fap-modern-radius:30px;
  --fap-modern-shadow:0 24px 70px rgba(var(--fap-brand-navy-rgb),.12);
}

body.fap-theme-chrome-enabled .fap-theme-topbar{
  background:
    radial-gradient(circle at 15% 50%,rgba(var(--fap-brand-copper-rgb),.22),transparent 25%),
    linear-gradient(135deg,#0B3158,var(--fap-brand-navy)) !important;
  border-bottom:1px solid rgba(255,255,255,.12);
}
body.fap-theme-chrome-enabled .fap-theme-header__main{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.94)) !important;
  border-bottom:1px solid rgba(var(--fap-brand-navy-rgb),.10) !important;
  box-shadow:0 18px 54px rgba(var(--fap-brand-navy-rgb),.10) !important;
}
body.fap-theme-chrome-enabled .fap-theme-menu>li>a{
  border:1px solid transparent !important;
}
body.fap-theme-chrome-enabled .fap-theme-menu>li>a:hover,
body.fap-theme-chrome-enabled .fap-theme-menu>li>a:focus-visible,
body.fap-theme-chrome-enabled .fap-theme-menu>li.current-menu-item>a,
body.fap-theme-chrome-enabled .fap-theme-menu>li.current-menu-ancestor>a{
  border-color:rgba(var(--fap-brand-copper-rgb),.28) !important;
  background:linear-gradient(135deg,rgba(var(--fap-brand-copper-rgb),.15),rgba(var(--fap-brand-navy-rgb),.06)) !important;
  color:var(--fap-brand-navy) !important;
  box-shadow:0 12px 28px rgba(var(--fap-brand-navy-rgb),.08) !important;
}
body.fap-theme-chrome-enabled .fap-theme-menu .sub-menu{
  padding:12px !important;
  border:1px solid rgba(var(--fap-brand-navy-rgb),.12) !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.98) !important;
  box-shadow:0 28px 70px rgba(var(--fap-brand-navy-rgb),.18) !important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
body.fap-theme-chrome-enabled .fap-theme-menu .sub-menu a{
  border-radius:14px !important;
}

.fap .fap-hero,
.fap .fap-page-hero,
.fap .fap-service-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 10% 15%,rgba(var(--fap-brand-copper-rgb),.18),transparent 28%),
    radial-gradient(circle at 92% 8%,rgba(var(--fap-brand-navy-rgb),.10),transparent 30%),
    linear-gradient(180deg,#FFFFFF,var(--fap-modern-soft)) !important;
}
.fap .fap-hero__grid,
.fap .fap-page-hero__grid,
.fap .fap-service-hero__grid{
  position:relative;
  border:1px solid rgba(var(--fap-brand-navy-rgb),.10);
  border-radius:clamp(26px,3vw,44px);
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,255,255,.82));
  box-shadow:var(--fap-modern-shadow);
  overflow:hidden;
}
.fap .fap-hero__visual img,
.fap .fap-page-hero__grid>img,
.fap .fap-service-hero__grid>img{
  border-radius:clamp(22px,2.4vw,34px) !important;
  box-shadow:0 24px 64px rgba(var(--fap-brand-navy-rgb),.18) !important;
}

.fap .fap-card,
.fap .fap-service-card,
.fap .fap-article-card,
.fap .fap-hub-card,
.fap .fap-feature-card,
.fap .fap-dynamic-card{
  overflow:hidden;
  border-color:rgba(var(--fap-brand-navy-rgb),.10) !important;
  background:linear-gradient(180deg,#FFFFFF,#FBFCFE) !important;
  box-shadow:0 18px 48px rgba(var(--fap-brand-navy-rgb),.09) !important;
}
.fap .fap-card:hover,
.fap .fap-service-card:hover,
.fap .fap-article-card:hover,
.fap .fap-hub-card:hover,
.fap .fap-feature-card:hover,
.fap .fap-dynamic-card:hover{
  transform:translateY(-8px) !important;
  border-color:rgba(var(--fap-brand-copper-rgb),.42) !important;
  box-shadow:0 30px 76px rgba(var(--fap-brand-navy-rgb),.16) !important;
}
.fap .fap-card img,
.fap .fap-service-card img,
.fap .fap-article-card img,
.fap .fap-hub-card img,
.fap .fap-feature-card img,
.fap .fap-dynamic-card img{
  transition:transform .65s cubic-bezier(.22,1,.36,1),filter .35s ease !important;
}
.fap .fap-card:hover img,
.fap .fap-service-card:hover img,
.fap .fap-article-card:hover img,
.fap .fap-hub-card:hover img,
.fap .fap-feature-card:hover img,
.fap .fap-dynamic-card:hover img{
  transform:scale(1.045) !important;
  filter:saturate(1.04) contrast(1.02);
}

.fap .fap-btn,
.fap .fap-theme-btn,
.fap .fap-form button,
.fap-theme-chrome .fap-theme-btn{
  border-radius:999px !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
}
.fap .fap-btn--primary,
.fap-theme-chrome .fap-theme-btn--phone{
  background:linear-gradient(135deg,var(--fap-brand-copper),#C88132) !important;
  box-shadow:0 16px 36px rgba(var(--fap-brand-copper-rgb),.24) !important;
}
.fap .fap-btn--ghost{
  border-color:rgba(var(--fap-brand-navy-rgb),.18) !important;
  background:rgba(255,255,255,.92) !important;
}

.fap .fap-section-title h2,
.fap .fap-section__head h2,
.fap .fap-service-benefits__head h2{
  text-wrap:balance;
}
.fap .fap-section-title p,
.fap .fap-section__head p,
.fap .fap-service-benefits__head p{
  text-wrap:pretty;
}
.fap .fap-final-cta__box{
  border:1px solid rgba(255,255,255,.18) !important;
  background:
    radial-gradient(circle at 12% 20%,rgba(var(--fap-brand-copper-rgb),.28),transparent 32%),
    linear-gradient(135deg,#0B3158,var(--fap-brand-navy)) !important;
  box-shadow:0 34px 90px rgba(var(--fap-brand-navy-rgb),.25) !important;
}





/* Native logo parity for the schema-rendered header/footer fallback. */
.fap .fap-header .fap-brand--native{
  width:192px !important;
  min-width:192px !important;
  max-width:192px !important;
  display:flex !important;
  align-items:center !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  padding:0 !important;
}
.fap .fap-header .fap-brand--native .fap-brand__logo{
  display:block !important;
  width:192px !important;
  max-width:192px !important;
  height:auto !important;
  object-fit:contain !important;
}
.fap .fap-footer__native-logo{
  display:inline-flex;
  width:170px;
  max-width:100%;
  margin-bottom:18px;
}
.fap .fap-footer__logo-image{
  display:block;
  width:170px;
  max-width:100%;
  height:auto;
  object-fit:contain;
}
