/* FoxProFlow Visual Rescue v1 */
:root{--fpf-bg:#f6f8fb;--fpf-surface:#fff;--fpf-surface-soft:#eef4ff;--fpf-dark:#0b1220;--fpf-dark-2:#111c31;--fpf-text:#101828;--fpf-muted:#475467;--fpf-soft:#667085;--fpf-line:#e5e7eb;--fpf-blue:#2563eb;--fpf-cyan:#06b6d4;--fpf-orange:#ff8a00;--fpf-green:#16a34a;--fpf-shadow:0 24px 70px rgba(15,23,42,.10);--fpf-card-shadow:0 18px 45px rgba(15,23,42,.075);--fpf-font:Manrope,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--fpf-font);color:var(--fpf-text);background:radial-gradient(circle at 14% 2%,rgba(37,99,235,.10),transparent 26rem),radial-gradient(circle at 86% 12%,rgba(6,182,212,.13),transparent 28rem),linear-gradient(180deg,#fbfdff 0%,var(--fpf-bg) 56%,#eef4ff 100%);line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.fpf-page{min-height:100vh;overflow-x:hidden}.fpf-container{width:min(1180px,calc(100% - 32px));margin:0 auto}.fpf-top{padding:24px 0 0}.fpf-top-row{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start}.fpf-logo-dock{width:148px;height:148px;border-radius:38px;background:radial-gradient(circle at 30% 18%,rgba(6,182,212,.35),transparent 35%),linear-gradient(145deg,#06111f,#0b1220 70%);border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 80px rgba(15,23,42,.28),inset 0 1px 0 rgba(255,255,255,.18);overflow:hidden;position:relative;flex:0 0 auto}.fpf-logo-dock::before{content:"";position:absolute;inset:12px;background:url("/assets/brand/foxproflow-logo.png") center 17%/132% auto no-repeat;filter:drop-shadow(0 18px 30px rgba(0,0,0,.20))}.fpf-logo-dock.is-inner{width:86px;height:86px;border-radius:24px}.fpf-logo-dock.is-inner::before{inset:8px;background-size:134% auto;background-position:center 16%}.fpf-nav-shell{min-height:66px;border-radius:32px;background:rgba(255,255,255,.84);border:1px solid rgba(226,232,240,.94);box-shadow:0 20px 55px rgba(15,23,42,.09);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px 12px 22px}.fpf-brand-text strong{display:block;font-size:18px;letter-spacing:-.02em}.fpf-brand-text span{display:block;color:var(--fpf-muted);font-size:13px;margin-top:1px}.fpf-nav-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;align-items:center}.fpf-nav-links a{color:var(--fpf-muted);font-size:14px;font-weight:700;padding:9px 11px;border-radius:999px}.fpf-nav-links a:hover{color:var(--fpf-text);background:#eef4ff}.fpf-btn{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:0 20px;font-weight:800;font-size:15px;border:1px solid transparent;white-space:nowrap}.fpf-btn-primary{background:linear-gradient(135deg,var(--fpf-blue),var(--fpf-cyan));color:#fff;box-shadow:0 16px 34px rgba(37,99,235,.24)}.fpf-btn-secondary{background:#fff;color:var(--fpf-text);border-color:#dbe3ef}.fpf-btn-dark{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.18)}.fpf-hero{padding:72px 0 78px}.fpf-hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(360px,.87fr);gap:54px;align-items:center}.fpf-eyebrow{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 13px;background:#dbeafe;border:1px solid #bfdbfe;color:#1d4ed8;font-size:13px;font-weight:850}.fpf-h1{margin:20px 0;font-size:clamp(38px,5.3vw,58px);line-height:1.05;letter-spacing:-.055em;max-width:860px}.fpf-h2{margin:0 0 14px;font-size:clamp(28px,3.4vw,40px);line-height:1.12;letter-spacing:-.035em}.fpf-h3{margin:0 0 10px;font-size:20px;line-height:1.25;letter-spacing:-.015em}.fpf-lead{margin:0;color:var(--fpf-muted);font-size:clamp(17px,1.5vw,21px);max-width:820px}.fpf-hero .fpf-lead{max-width:720px}.fpf-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.fpf-trust-line{margin-top:18px;color:var(--fpf-soft);font-size:15px}.fpf-flowmap{position:relative;min-height:430px;border-radius:36px;padding:30px;overflow:hidden;background:radial-gradient(circle at 15% 15%,rgba(6,182,212,.30),transparent 28%),radial-gradient(circle at 92% 84%,rgba(255,138,0,.25),transparent 28%),linear-gradient(145deg,#071120,#111c31);color:#fff;box-shadow:0 34px 90px rgba(15,23,42,.28)}.fpf-flowmap::before,.fpf-flowmap::after{content:"";position:absolute;inset:28px;border:1px solid rgba(255,255,255,.08);border-radius:28px}.fpf-flow-title{position:relative;z-index:2;font-size:14px;color:#a7f3d0;font-weight:800;margin-bottom:30px}.fpf-flow-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:22px 18px;align-items:center}.fpf-node{position:relative;z-index:2;width:max-content;max-width:170px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.10);font-size:14px;font-weight:800}.fpf-node span{display:block;margin-top:3px;color:#cbd5e1;font-size:12px;font-weight:600}.fpf-node:nth-child(2){transform:translateY(28px)}.fpf-node:nth-child(3){transform:translateY(-8px)}.fpf-node:nth-child(4){transform:translate(46px,8px)}.fpf-node:nth-child(5){transform:translate(8px,24px)}.fpf-flow-caption{position:absolute;left:30px;right:30px;bottom:26px;z-index:2;padding-top:18px;color:#dbeafe;border-top:1px solid rgba(255,255,255,.12);font-size:13px}.fpf-section{padding:74px 0}.fpf-section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}.fpf-section-head .fpf-lead{max-width:620px;font-size:17px}.fpf-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.fpf-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.fpf-card{background:var(--fpf-surface);border:1px solid var(--fpf-line);border-radius:24px;padding:24px;box-shadow:var(--fpf-card-shadow)}.fpf-card p,.fpf-muted{color:var(--fpf-muted);margin:0}.fpf-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:#eff6ff;color:var(--fpf-blue);margin-bottom:16px;font-size:22px;font-weight:900}.fpf-card-link{display:inline-flex;margin-top:16px;color:var(--fpf-blue);font-weight:800;font-size:14px}.fpf-feature-band{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;border-radius:34px;padding:36px;background:#fff;border:1px solid var(--fpf-line);box-shadow:var(--fpf-shadow)}.fpf-mini-flow{display:grid;gap:12px}.fpf-mini-flow div{padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,#eff6ff,#fff7ed);border:1px solid #dbeafe;font-weight:800}.fpf-process{counter-reset:step}.fpf-step::before{counter-increment:step;content:"0" counter(step);display:inline-flex;margin-bottom:18px;color:var(--fpf-blue);font-weight:900;font-size:28px;letter-spacing:-.05em}.fpf-dark-band{border-radius:36px;padding:40px;color:#fff;background:radial-gradient(circle at 10% 20%,rgba(6,182,212,.20),transparent 28%),radial-gradient(circle at 90% 80%,rgba(255,138,0,.18),transparent 30%),var(--fpf-dark);box-shadow:0 34px 90px rgba(15,23,42,.22)}.fpf-dark-band .fpf-lead,.fpf-dark-band .fpf-muted{color:#cbd5e1}.fpf-dark-band .fpf-card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.13);box-shadow:none}.fpf-cta{border-radius:34px;padding:36px;background:linear-gradient(135deg,#eaf2ff,#fff);border:1px solid #dbeafe;display:flex;align-items:center;justify-content:space-between;gap:24px}.fpf-footer{margin-top:70px;padding:46px 0 34px;background:radial-gradient(circle at 16% 14%,rgba(6,182,212,.18),transparent 28rem),var(--fpf-dark);color:#fff}.fpf-footer-grid{display:grid;grid-template-columns:1.1fr .9fr .7fr;gap:32px}.fpf-footer p,.fpf-footer a{color:#cbd5e1}.fpf-footer h3{margin:0 0 12px}.fpf-footer-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.fpf-footer-bottom{margin-top:32px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);color:#94a3b8;font-size:14px}.fpf-service-hero,.fpf-inner-hero{padding:64px 0 52px}.fpf-anchor-row{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0}.fpf-chip{padding:10px 13px;border-radius:999px;background:#fff;border:1px solid var(--fpf-line);color:var(--fpf-muted);font-size:14px;font-weight:800}.fpf-contact-value{font-size:clamp(20px,3vw,34px);line-height:1.18;letter-spacing:-.03em;font-weight:850;word-break:break-word}.fpf-form-mock{display:grid;gap:12px}.fpf-field{min-height:52px;border-radius:18px;background:#fff;border:1px solid #dbe3ef;color:var(--fpf-muted);padding:16px 18px}@media(max-width:980px){.fpf-top-row{grid-template-columns:auto 1fr;gap:12px}.fpf-logo-dock{width:84px;height:84px;border-radius:24px}.fpf-logo-dock::before{inset:7px}.fpf-logo-dock.is-inner{width:66px;height:66px;border-radius:20px}.fpf-nav-shell{min-height:58px;border-radius:24px;padding:10px}.fpf-brand-text span,.fpf-nav-links a:not(.fpf-mobile-keep){display:none}.fpf-brand-text strong{font-size:16px}.fpf-nav-links{margin-left:auto}.fpf-hero{padding:46px 0 56px}.fpf-hero-grid,.fpf-feature-band,.fpf-footer-grid{grid-template-columns:1fr}.fpf-flowmap{min-height:360px}.fpf-grid-4,.fpf-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.fpf-section-head,.fpf-cta{display:block}.fpf-cta .fpf-actions{margin-top:22px}}@media(max-width:640px){.fpf-container{width:min(100% - 24px,1180px)}.fpf-top{padding-top:14px}.fpf-logo-dock{width:72px;height:72px;border-radius:21px}.fpf-nav-shell{border-radius:22px}.fpf-nav-links .fpf-btn{min-height:42px;padding:0 14px;font-size:14px}.fpf-h1{font-size:clamp(32px,11vw,38px)}.fpf-lead{font-size:16px}.fpf-actions,.fpf-footer-actions{display:grid}.fpf-btn{width:100%}.fpf-grid-4,.fpf-grid-3{grid-template-columns:1fr}.fpf-section{padding:52px 0}.fpf-card,.fpf-feature-band,.fpf-dark-band,.fpf-cta{padding:22px;border-radius:24px}.fpf-flowmap{min-height:330px;padding:20px;border-radius:26px}.fpf-flow-grid{grid-template-columns:1fr 1fr;gap:12px}.fpf-node{max-width:none;width:100%;padding:10px 11px}.fpf-flow-caption{position:relative;left:auto;right:auto;bottom:auto;margin-top:20px}}

/* COMM_SITE_VISUAL_RESCUE_MARKERS_AND_ICONS_REPAIR_V2 */
.fpf-logo-dock{display:block}
.fpf-logo-img{
  position:absolute;
  inset:12px;
  width:calc(100% - 24px);
  height:calc(100% - 24px);
  object-fit:cover;
  object-position:center 14%;
  transform:scale(1.18);
  filter:drop-shadow(0 18px 30px rgba(0,0,0,.22));
  pointer-events:none;
}
.fpf-logo-dock.is-inner .fpf-logo-img{
  inset:8px;
  width:calc(100% - 16px);
  height:calc(100% - 16px);
  transform:scale(1.2);
}
.fpf-svg-icon{
  width:1.15em;
  height:1.15em;
  display:block;
}
.fpf-icon .fpf-svg-icon{
  width:24px;
  height:24px;
}
.fpf-mini-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:rgba(96,165,250,.14);
  color:#93c5fd;
}
.fpf-mini-icon .fpf-svg-icon{
  width:18px;
  height:18px;
}
.fpf-contact-line{
  display:flex;
  align-items:center;
  gap:10px;
  margin:10px 0;
}
.fpf-floating-badges{
  position:relative;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
}
.fpf-floating-badges span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  color:#dbeafe;
  font-size:13px;
  font-weight:850;
}
.fpf-floating-badges .fpf-svg-icon{
  width:16px;
  height:16px;
  color:#67e8f9;
}
@media(max-width:640px){
  .fpf-logo-img{inset:7px;width:calc(100% - 14px);height:calc(100% - 14px)}
  .fpf-floating-badges{gap:8px}
  .fpf-floating-badges span{font-size:12px}
}

/* COMM_SITE_VISUAL_RESCUE_CSS_BRAND_DOCK_MARKER_REPAIR_V1
   Readback marker + semantic alias for the Apple-like logo dock. */
.brand-dock {
  isolation: isolate;
}

/* COMM_SITE_VISUAL_RESCUE_LOGO_SYSTEM_REPAIR_V1
   Logo system: full logo only in hero brand card; dock uses fox mark only. */
.fpf-logo-dock::before {
  content: none !important;
  display: none !important;
  background: none !important;
}
.fpf-logo-dock .fpf-logo-img,
.fpf-logo-dock .fpf-logo-mark-img {
  position: absolute;
  inset: 12px;
  width: calc(100% - 24px);
  height: calc(100% - 24px);
  object-fit: contain;
  object-position: center center;
  transform: none;
  filter: drop-shadow(0 18px 30px rgba(0,0,0,.22));
  pointer-events: none;
}
.fpf-logo-dock.is-inner .fpf-logo-img,
.fpf-logo-dock.is-inner .fpf-logo-mark-img {
  inset: 8px;
  width: calc(100% - 16px);
  height: calc(100% - 16px);
  transform: none;
}
.fpf-hero-brand-card {
  width: min(278px, 76vw);
  margin: 0 0 24px;
  padding: 16px 18px 18px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 24% 18%, rgba(6,182,212,.30), transparent 34%),
    radial-gradient(circle at 88% 72%, rgba(255,138,0,.22), transparent 32%),
    linear-gradient(145deg, #06111f, #0b1220 72%);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 28px 76px rgba(15,23,42,.24), inset 0 1px 0 rgba(255,255,255,.14);
}
.fpf-full-logo {
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 16px 30px rgba(0,0,0,.25));
}
.fpf-icon {
  width: 50px;
  height: 50px;
  border-radius: 18px;
  background: linear-gradient(135deg, #eff6ff, #eefbff);
  border: 1px solid #dbeafe;
  color: #1d4ed8;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 12px 26px rgba(37,99,235,.10);
}
.fpf-dark-band .fpf-icon {
  background: rgba(255,255,255,.11);
  border-color: rgba(255,255,255,.16);
  color: #67e8f9;
}
.fpf-contact-line a {
  font-weight: 850;
}
@media(max-width:980px) {
  .fpf-hero-brand-card { width: min(220px, 72vw); border-radius: 26px; }
  .fpf-logo-dock .fpf-logo-img,
  .fpf-logo-dock .fpf-logo-mark-img { inset: 7px; width: calc(100% - 14px); height: calc(100% - 14px); }
}
@media(max-width:640px) {
  .fpf-hero-brand-card { width: min(190px, 78vw); margin-bottom: 18px; padding: 13px 15px 15px; }
  .fpf-icon { width: 46px; height: 46px; }
}

/* COMM_SITE_VISUAL_RESCUE_SINGLE_LOGO_LAYOUT_REPAIR_V1
   Single-logo system: one full FoxProFlow logo in the same left position.
   Home logo is larger; inner pages use the same position with smaller size.
   The navigation capsule is shifted right with a larger visual gap. */
.fpf-hero-brand-card { display: none !important; }
.fpf-top-row { grid-template-columns: 176px minmax(0, 1fr); gap: 46px; align-items: start; }
.fpf-logo-dock { width: 176px; height: 206px; border-radius: 40px; }
.fpf-logo-dock.is-inner { width: 96px; height: 112px; border-radius: 28px; }
.fpf-logo-dock::before { content: none !important; display: none !important; background: none !important; }
.fpf-logo-dock .fpf-logo-img {
  position: absolute; inset: 10px; width: calc(100% - 20px); height: calc(100% - 20px);
  object-fit: contain; object-position: center center; transform: none !important;
  filter: drop-shadow(0 18px 30px rgba(0,0,0,.24)); pointer-events: none;
}
.fpf-logo-dock.is-inner .fpf-logo-img { inset: 7px; width: calc(100% - 14px); height: calc(100% - 14px); }
.fpf-nav-shell { margin-top: 10px; }
@media(max-width: 980px) {
  .fpf-top-row { grid-template-columns: 112px minmax(0, 1fr); gap: 22px; }
  .fpf-logo-dock { width: 112px; height: 132px; border-radius: 30px; }
  .fpf-logo-dock.is-inner { width: 78px; height: 92px; border-radius: 24px; }
}
@media(max-width: 720px) {
  .fpf-top-row { grid-template-columns: 86px 1fr; gap: 14px; }
  .fpf-logo-dock, .fpf-logo-dock.is-inner { width: 76px; height: 90px; border-radius: 22px; }
  .fpf-logo-dock .fpf-logo-img, .fpf-logo-dock.is-inner .fpf-logo-img { inset: 6px; width: calc(100% - 12px); height: calc(100% - 12px); }
  .fpf-nav-shell { margin-top: 4px; }
}

/* COMM_SITE_VISUAL_RESCUE_MOBILE_NAV_FLOWMAP_REPAIR_V1
   Mobile repair: preserve navigation with a compact menu and make the FlowMap a stable mobile timeline. */
.fpf-mobile-menu { display:none; position:relative; flex:0 0 auto; }
.fpf-mobile-menu summary {
  list-style:none; cursor:pointer; user-select:none; display:inline-flex; align-items:center; justify-content:center;
  min-height:42px; padding:0 15px; border-radius:999px; font-weight:850; font-size:14px;
  color:#0f172a; background:#fff; border:1px solid #dbe3ef; box-shadow:0 10px 26px rgba(15,23,42,.06);
}
.fpf-mobile-menu summary::-webkit-details-marker { display:none; }
.fpf-mobile-menu summary::after { content:"☰"; font-size:17px; margin-left:8px; line-height:1; }
.fpf-mobile-menu[open] summary::after { content:"×"; font-size:20px; }
.fpf-mobile-menu-panel {
  position:absolute; z-index:40; top:calc(100% + 10px); right:0; min-width:220px; padding:10px;
  border-radius:22px; background:rgba(255,255,255,.98); border:1px solid #dbe3ef;
  box-shadow:0 24px 60px rgba(15,23,42,.18); backdrop-filter:blur(18px);
}
.fpf-mobile-menu-panel a {
  display:flex; align-items:center; min-height:42px; padding:0 13px; border-radius:14px;
  color:#101828; font-weight:800; font-size:14px;
}
.fpf-mobile-menu-panel a:hover { background:#eef4ff; color:#1d4ed8; }
@media(max-width:980px) {
  .fpf-nav-shell { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:10px; overflow:visible; }
  .fpf-brand-text { min-width:0; overflow:hidden; }
  .fpf-brand-text strong { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .fpf-nav-links { display:none !important; }
  .fpf-mobile-menu { display:block; }
  .fpf-flow-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .fpf-node, .fpf-node:nth-child(2), .fpf-node:nth-child(3), .fpf-node:nth-child(4), .fpf-node:nth-child(5), .fpf-node:nth-child(6) {
    transform:none!important; width:100%; max-width:none;
  }
}
@media(max-width:720px) {
  .fpf-top-row { grid-template-columns:76px minmax(0,1fr)!important; gap:12px!important; align-items:start; }
  .fpf-nav-shell { min-height:58px; border-radius:24px; padding:8px 9px 8px 13px; }
  .fpf-brand-text span { display:none!important; }
  .fpf-brand-text strong { font-size:15px!important; }
  .fpf-mobile-menu summary { min-height:40px; padding:0 12px; font-size:13px; }
  .fpf-mobile-menu-panel { right:-2px; min-width:min(72vw,260px); }
  .fpf-hero-grid { grid-template-columns:1fr!important; gap:28px!important; }
  .fpf-flowmap { min-height:auto!important; padding:18px!important; border-radius:24px!important; overflow:hidden!important; }
  .fpf-flowmap::before,.fpf-flowmap::after { inset:14px!important; border-radius:20px!important; }
  .fpf-flow-title { margin-bottom:16px!important; }
  .fpf-flow-grid { display:grid!important; grid-template-columns:1fr!important; gap:10px!important; }
  .fpf-node, .fpf-node:nth-child(2), .fpf-node:nth-child(3), .fpf-node:nth-child(4), .fpf-node:nth-child(5), .fpf-node:nth-child(6) {
    transform:none!important; width:100%!important; max-width:none!important; padding:12px 14px!important; border-radius:16px!important;
  }
  .fpf-floating-badges { position:relative!important; margin-top:14px!important; padding-top:14px!important; gap:8px!important; }
  .fpf-floating-badges span { min-height:32px!important; padding:6px 10px!important; font-size:12px!important; }
  .fpf-flow-caption { position:relative!important; left:auto!important; right:auto!important; bottom:auto!important; margin-top:12px!important; padding-top:12px!important; }
}
@media(max-width:420px) {
  .fpf-top-row { grid-template-columns:70px minmax(0,1fr)!important; gap:10px!important; }
  .fpf-nav-shell { padding-left:11px; padding-right:8px; }
  .fpf-mobile-menu summary { width:42px; padding:0; font-size:0; }
  .fpf-mobile-menu summary::after { margin-left:0; font-size:18px; }
}

/* COMM_SITE_MOBILE_STICKY_HEADER_AUTOCLOSE_FLOWMAP_PATCH_V1
   Mobile UX repair: compact sticky header, no empty mobile toolbar, stable dropdown and mobile FlowMap. */
@media (max-width: 980px) {
  .fpf-top {
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 10px 0 8px;
    background:
      linear-gradient(180deg, rgba(246,248,251,.96), rgba(246,248,251,.78));
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(226,232,240,.72);
  }
  .fpf-mobile-menu[open] .fpf-mobile-menu-panel {
    max-height: calc(100vh - 96px);
    overflow: auto;
    overscroll-behavior: contain;
  }
}

@media (max-width: 720px) {
  .fpf-top {
    padding: 8px 0 7px !important;
  }
  .fpf-top-row {
    width: min(1180px, calc(100% - 24px)) !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }
  .fpf-logo-dock,
  .fpf-logo-dock.is-inner {
    width: 68px !important;
    height: 80px !important;
    border-radius: 21px !important;
  }
  .fpf-logo-dock .fpf-logo-img,
  .fpf-logo-dock.is-inner .fpf-logo-img {
    inset: 5px !important;
    width: calc(100% - 10px) !important;
    height: calc(100% - 10px) !important;
  }
  .fpf-nav-shell {
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin-top: 9px !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }
  .fpf-brand-text {
    display: none !important;
  }
  .fpf-mobile-menu {
    display: block !important;
  }
  .fpf-mobile-menu summary {
    width: auto !important;
    min-width: 92px !important;
    min-height: 44px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.94) !important;
    border: 1px solid rgba(219,227,239,.98) !important;
    box-shadow: 0 12px 30px rgba(15,23,42,.12) !important;
  }
  .fpf-mobile-menu summary::after {
    margin-left: 8px !important;
    font-size: 18px !important;
  }
  .fpf-mobile-menu-panel {
    position: fixed !important;
    top: 92px !important;
    left: 12px !important;
    right: 12px !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    padding: 10px !important;
    border-radius: 22px !important;
    z-index: 1002 !important;
  }
  .fpf-mobile-menu-panel a {
    min-height: 46px !important;
    font-size: 15px !important;
  }
  .fpf-flowmap {
    min-height: auto !important;
    padding: 18px !important;
    border-radius: 24px !important;
  }
  .fpf-flow-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .fpf-node,
  .fpf-node:nth-child(2),
  .fpf-node:nth-child(3),
  .fpf-node:nth-child(4),
  .fpf-node:nth-child(5),
  .fpf-node:nth-child(6) {
    transform: none !important;
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 420px) {
  .fpf-top-row {
    width: min(1180px, calc(100% - 20px)) !important;
    gap: 10px !important;
  }
  .fpf-logo-dock,
  .fpf-logo-dock.is-inner {
    width: 64px !important;
    height: 76px !important;
    border-radius: 20px !important;
  }
  .fpf-mobile-menu summary {
    min-width: 86px !important;
    font-size: 13px !important;
    padding: 0 12px !important;
  }
  .fpf-mobile-menu-panel {
    top: 88px !important;
    left: 10px !important;
    right: 10px !important;
  }
}

/* COMM_SITE_GLOBAL_STICKY_HEADER_CACHEFIX_V1
   Global fixed header for desktop and mobile, plus cache-visible layout offset.
   Reason: sticky did not remain visible during scroll in visual review. */
:root {
  --fpf-fixed-header-space-home: 188px;
  --fpf-fixed-header-space-inner: 126px;
  --fpf-fixed-header-space-mobile-home: 120px;
  --fpf-fixed-header-space-mobile-inner: 104px;
}
html {
  scroll-padding-top: var(--fpf-fixed-header-space-home);
}
.fpf-page.visual-shell,
.fpf-page {
  padding-top: var(--fpf-fixed-header-space-home) !important;
}
@supports selector(.fpf-page:has(.fpf-logo-dock.is-inner)) {
  .fpf-page:has(.fpf-logo-dock.is-inner) {
    padding-top: var(--fpf-fixed-header-space-inner) !important;
  }
}
.fpf-top {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 5000 !important;
  padding: 18px 0 12px !important;
  background:
    radial-gradient(circle at 8% 8%, rgba(37,99,235,.10), transparent 18rem),
    linear-gradient(180deg, rgba(246,248,251,.97), rgba(246,248,251,.84)) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  border-bottom: 1px solid rgba(226,232,240,.76) !important;
  box-shadow: 0 12px 36px rgba(15,23,42,.08) !important;
}
.fpf-top-row {
  align-items: flex-start !important;
  gap: clamp(26px, 5vw, 88px) !important;
}
.fpf-nav-shell {
  margin-top: 10px !important;
}
.fpf-logo-dock.is-inner + .fpf-nav-shell {
  margin-top: 4px !important;
}
.fpf-mobile-menu-panel {
  z-index: 5010 !important;
}
@media (max-width: 980px) {
  html {
    scroll-padding-top: var(--fpf-fixed-header-space-mobile-home) !important;
  }
  .fpf-page.visual-shell,
  .fpf-page {
    padding-top: var(--fpf-fixed-header-space-mobile-home) !important;
  }
  @supports selector(.fpf-page:has(.fpf-logo-dock.is-inner)) {
    .fpf-page:has(.fpf-logo-dock.is-inner) {
      padding-top: var(--fpf-fixed-header-space-mobile-inner) !important;
    }
  }
  .fpf-top {
    position: fixed !important;
    padding: 8px 0 7px !important;
  }
  .fpf-top-row {
    gap: 12px !important;
  }
  .fpf-nav-shell {
    margin-top: 9px !important;
  }
  .fpf-logo-dock.is-inner + .fpf-nav-shell {
    margin-top: 6px !important;
  }
  .fpf-mobile-menu-panel {
    position: fixed !important;
    top: 92px !important;
  }
}
@media (max-width: 420px) {
  :root {
    --fpf-fixed-header-space-mobile-home: 112px;
    --fpf-fixed-header-space-mobile-inner: 98px;
  }
  .fpf-mobile-menu-panel {
    top: 86px !important;
  }
}

/* COMM_SITE_TRANSPARENT_FIXED_HEADER_OVERLAY_V1
   Transparent global fixed overlay: the wide header strip must not be visible.
   Visible UI elements are only the logo dock and the compact navigation/menu capsule. */
:root {
  --fpf-fixed-header-space-home: clamp(132px, 13vw, 188px);
  --fpf-fixed-header-space-inner: clamp(94px, 9vw, 126px);
  --fpf-fixed-header-space-mobile-home: 104px;
  --fpf-fixed-header-space-mobile-inner: 92px;
}
html {
  scroll-padding-top: var(--fpf-fixed-header-space-home) !important;
}
.fpf-page.visual-shell,
.fpf-page {
  padding-top: var(--fpf-fixed-header-space-home) !important;
}
@supports selector(.fpf-page:has(.fpf-logo-dock.is-inner)) {
  .fpf-page:has(.fpf-logo-dock.is-inner) {
    padding-top: var(--fpf-fixed-header-space-inner) !important;
  }
}
.fpf-top {
  position: fixed !important;
  top: 14px !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 5000 !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: none !important;
}
.fpf-top::before,
.fpf-top::after {
  display: none !important;
  content: none !important;
}
.fpf-top-row {
  width: min(1180px, calc(100% - 32px)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  gap: clamp(32px, 6vw, 96px) !important;
  align-items: flex-start !important;
  pointer-events: none !important;
}
.fpf-logo-dock,
.fpf-nav-shell,
.fpf-mobile-menu,
.fpf-mobile-menu-panel,
.fpf-mobile-menu summary {
  pointer-events: auto !important;
}
.fpf-logo-dock {
  box-shadow: 0 18px 44px rgba(15, 23, 42, .18), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.fpf-nav-shell {
  margin-top: 12px !important;
  box-shadow: 0 14px 42px rgba(15,23,42,.12) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}
.fpf-logo-dock.is-inner + .fpf-nav-shell {
  margin-top: 6px !important;
}
.fpf-mobile-menu-panel {
  z-index: 5010 !important;
}
@media (max-width: 980px) {
  html {
    scroll-padding-top: var(--fpf-fixed-header-space-mobile-home) !important;
  }
  .fpf-page.visual-shell,
  .fpf-page {
    padding-top: var(--fpf-fixed-header-space-mobile-home) !important;
  }
  @supports selector(.fpf-page:has(.fpf-logo-dock.is-inner)) {
    .fpf-page:has(.fpf-logo-dock.is-inner) {
      padding-top: var(--fpf-fixed-header-space-mobile-inner) !important;
    }
  }
  .fpf-top {
    top: 8px !important;
  }
  .fpf-top-row {
    width: min(100%, calc(100% - 20px)) !important;
    gap: 10px !important;
    align-items: flex-start !important;
  }
  .fpf-nav-shell {
    margin-top: 7px !important;
    min-height: 48px !important;
  }
  .fpf-logo-dock {
    width: 76px !important;
    height: 76px !important;
    border-radius: 22px !important;
  }
  .fpf-logo-dock.is-inner {
    width: 62px !important;
    height: 62px !important;
    border-radius: 18px !important;
  }
  .fpf-mobile-menu-panel {
    position: fixed !important;
    top: 78px !important;
    left: 10px !important;
    right: 10px !important;
    max-width: none !important;
  }
}
@media (max-width: 420px) {
  :root {
    --fpf-fixed-header-space-mobile-home: 98px;
    --fpf-fixed-header-space-mobile-inner: 88px;
  }
  .fpf-mobile-menu-panel {
    top: 72px !important;
  }
}

/* COMM_SITE_SCROLL_SHRINK_LOGO_AND_MOBILE_MENU_TEXTFIX_V1
   Final visual polish before commit:
   - home logo is large only at top of the page;
   - after scroll it shrinks to the same navigation-scale logic as inner pages;
   - mobile dropdown panel receives a real full-width sheet, so menu text does not collapse/wrap into a narrow column. */
.fpf-logo-dock {
  transition: width .26s ease, height .26s ease, border-radius .26s ease, transform .26s ease, box-shadow .26s ease !important;
  will-change: width, height, transform;
}
.fpf-top-row {
  transition: gap .26s ease, width .26s ease !important;
}
body.fpf-header-compact .fpf-logo-dock:not(.is-inner) {
  width: clamp(82px, 7vw, 98px) !important;
  height: clamp(82px, 7vw, 98px) !important;
  border-radius: 26px !important;
  transform: translateZ(0) scale(.98) !important;
  box-shadow: 0 14px 36px rgba(15, 23, 42, .16), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
body.fpf-header-compact .fpf-logo-dock:not(.is-inner) .fpf-logo-img {
  inset: 8px !important;
  width: calc(100% - 16px) !important;
  height: calc(100% - 16px) !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}
body.fpf-header-compact .fpf-top-row {
  gap: clamp(26px, 5vw, 72px) !important;
}
body.fpf-header-compact .fpf-nav-shell {
  margin-top: 5px !important;
}
@media (max-width: 980px) {
  body.fpf-header-compact .fpf-logo-dock:not(.is-inner) {
    width: 62px !important;
    height: 62px !important;
    border-radius: 18px !important;
  }
  body.fpf-header-compact .fpf-logo-dock:not(.is-inner) .fpf-logo-img {
    inset: 5px !important;
    width: calc(100% - 10px) !important;
    height: calc(100% - 10px) !important;
  }
  body.fpf-header-compact .fpf-nav-shell {
    margin-top: 4px !important;
  }
}
@media (max-width: 720px) {
  .fpf-mobile-menu summary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    overflow: visible !important;
    text-align: center !important;
  }
  .fpf-mobile-menu summary::marker {
    content: "" !important;
  }
  .fpf-mobile-menu summary::-webkit-details-marker {
    display: none !important;
  }
  .fpf-mobile-menu[open] .fpf-mobile-menu-panel {
    position: fixed !important;
    top: 86px !important;
    left: max(12px, env(safe-area-inset-left)) !important;
    right: max(12px, env(safe-area-inset-right)) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }
  .fpf-mobile-menu-panel a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    line-height: 1.2 !important;
    min-height: 46px !important;
    padding: 12px 14px !important;
  }
}
@media (max-width: 420px) {
  .fpf-mobile-menu[open] .fpf-mobile-menu-panel {
    top: 78px !important;
    left: max(10px, env(safe-area-inset-left)) !important;
    right: max(10px, env(safe-area-inset-right)) !important;
  }
  .fpf-mobile-menu-panel a {
    font-size: 15px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .fpf-logo-dock,
  .fpf-top-row {
    transition: none !important;
  }
}

/* COMM_SITE_MOBILE_MENU_FULLWIDTH_PANEL_FIX_V1
   Mobile dropdown panel repair:
   - full-width readable panel;
   - no narrow clipped right column;
   - keep transparent fixed header model;
   - clickable only logo/menu/panel, wide invisible overlay stays non-blocking. */
@media (max-width: 760px) {
  .fpf-top,
  .fpf-header,
  .visual-shell .fpf-top {
    pointer-events: none;
  }

  .fpf-top .brand-dock,
  .fpf-top .fpf-logo-dock,
  .fpf-top .fpf-mobile-menu-toggle,
  .fpf-top [data-fpf-mobile-menu-toggle="true"],
  .fpf-top button[aria-expanded],
  .fpf-top .fpf-mobile-menu-panel {
    pointer-events: auto;
  }

  .fpf-top .fpf-mobile-menu-panel,
  .fpf-top nav.fpf-mobile-menu-panel,
  .fpf-top .fpf-navlinks.fpf-mobile-menu-panel,
  .fpf-top .fpf-nav-links.fpf-mobile-menu-panel,
  .fpf-top .fpf-menu-panel.fpf-mobile-menu-panel {
    position: fixed !important;
    top: 82px !important;
    left: 14px !important;
    right: 14px !important;
    width: calc(100vw - 28px) !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: min(72vh, 520px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
    padding: 12px !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, .94) !important;
    -webkit-backdrop-filter: blur(18px) saturate(150%);
    backdrop-filter: blur(18px) saturate(150%);
    border: 1px solid rgba(148, 163, 184, .26) !important;
    box-shadow: 0 24px 58px rgba(15, 23, 42, .18) !important;
    z-index: 10050 !important;
    transform: none !important;
    translate: none !important;
  }

  .fpf-top .fpf-mobile-menu-panel:not([data-mobile-menu-open="true"]) {
    display: none !important;
  }

  .fpf-top .fpf-mobile-menu-panel[data-mobile-menu-open="true"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    gap: 8px !important;
  }

  .fpf-top .fpf-mobile-menu-panel a,
  .fpf-top .fpf-mobile-menu-panel .fpf-nav-link,
  .fpf-top .fpf-mobile-menu-panel button:not(.fpf-mobile-menu-toggle) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    min-height: 46px !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    text-align: left !important;
    font-size: 15px !important;
    line-height: 1.22 !important;
    font-weight: 850 !important;
    letter-spacing: -.01em !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    hyphens: none !important;
  }

  .fpf-top .fpf-mobile-menu-panel a:hover,
  .fpf-top .fpf-mobile-menu-panel a:focus-visible {
    background: rgba(37, 99, 235, .09) !important;
    outline: none !important;
  }

  .fpf-top .fpf-mobile-menu-panel a[aria-current="page"],
  .fpf-top .fpf-mobile-menu-panel a.is-active {
    background: rgba(37, 99, 235, .12) !important;
    color: #1d4ed8 !important;
  }
}

@media (max-width: 420px) {
  .fpf-top .fpf-mobile-menu-panel {
    top: 78px !important;
    left: 10px !important;
    right: 10px !important;
    width: calc(100vw - 20px) !important;
    border-radius: 22px !important;
  }

  .fpf-top .fpf-mobile-menu-panel a,
  .fpf-top .fpf-mobile-menu-panel .fpf-nav-link {
    font-size: 14px !important;
    min-height: 44px !important;
    padding: 11px 13px !important;
  }
}

/* COMM_SITE_MOBILE_MENU_PORTAL_PANEL_FIX_V2
   Final mobile menu repair: real dropdown portal panel, not narrow hidden legacy nav. */
@media (max-width: 760px) {
  .fpf-top {
    overflow: visible !important;
  }

  .fpf-top .fpf-mobile-legacy-nav-link {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .fpf-mobile-dropdown-panel {
    position: fixed !important;
    top: 86px;
    left: 16px !important;
    right: 16px !important;
    width: calc(100vw - 32px) !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    z-index: 2147483000 !important;
    display: none !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 14px !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, 0.97) !important;
    border: 1px solid rgba(148, 163, 184, 0.34) !important;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.22), 0 0 0 1px rgba(255, 255, 255, 0.85) inset !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    transform: translateY(-8px) scale(0.985) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    overflow: hidden !important;
  }

  .fpf-mobile-dropdown-panel.is-open {
    display: flex !important;
    transform: translateY(0) scale(1) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .fpf-mobile-dropdown-panel a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 46px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    background: rgba(239, 246, 255, 0.78) !important;
    border: 1px solid rgba(191, 219, 254, 0.86) !important;
    color: #0f172a !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    line-height: 1.22 !important;
    text-decoration: none !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    letter-spacing: -0.01em !important;
  }

  .fpf-mobile-dropdown-panel a::after {
    content: '›';
    flex: 0 0 auto;
    margin-left: 12px;
    color: #2563eb;
    font-size: 22px;
    line-height: 1;
  }

  .fpf-mobile-dropdown-panel a:hover,
  .fpf-mobile-dropdown-panel a:focus-visible {
    background: rgba(219, 234, 254, 0.96) !important;
    border-color: rgba(96, 165, 250, 0.72) !important;
    outline: none !important;
  }

  body.fpf-mobile-menu-portal-open {
    overflow-x: hidden !important;
  }
}

@media (min-width: 761px) {
  .fpf-mobile-dropdown-panel {
    display: none !important;
  }
}
/* COMM_SITE_MOBILE_MENU_DETAILS_AUTHORITY_REPAIR_V1
   One authoritative mobile menu stack:
   native details/summary fallback + JS-controlled data-mobile-menu-open.
   This overrides previous fullwidth/portal experiments without touching the logo/header effects. */

@media (max-width: 900px) {
  .fpf-top .fpf-mobile-menu {
    position: relative !important;
    display: block !important;
    isolation: isolate !important;
    z-index: 2147483000 !important;
  }

  .fpf-top .fpf-mobile-menu > summary {
    cursor: pointer !important;
    list-style: none !important;
    user-select: none !important;
    -webkit-user-select: none !important;
  }

  .fpf-top .fpf-mobile-menu > summary::-webkit-details-marker {
    display: none !important;
  }

  .fpf-top .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu .fpf-mobile-menu-panel {
    position: fixed !important;
    top: calc(78px + env(safe-area-inset-top, 0px)) !important;
    left: max(14px, env(safe-area-inset-left, 0px)) !important;
    right: max(14px, env(safe-area-inset-right, 0px)) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    display: none !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 14px !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid rgba(148, 163, 184, 0.28) !important;
    box-shadow: 0 28px 90px rgba(15, 23, 42, 0.26) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    z-index: 2147483001 !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    overflow: visible !important;
    max-height: calc(100dvh - 110px) !important;
  }

  .fpf-top .fpf-mobile-menu[open] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu-panel[data-mobile-menu-open="true"] {
    display: grid !important;
  }

  .fpf-top .fpf-mobile-menu-panel a,
  .fpf-top .fpf-mobile-menu-panel .fpf-menu-link {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: 46px !important;
    width: 100% !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    text-align: left !important;
    line-height: 1.22 !important;
    font-size: 15px !important;
    font-weight: 850 !important;
  }

  .fpf-mobile-dropdown-panel,
  .fpf-mobile-menu-portal,
  .fpf-mobile-panel {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
  }
}

/* COMM_SITE_MOBILE_MENU_FINAL_SHRINK_NARROW_REPAIR_V1
   Final mobile menu + home-logo scroll shrink repair.
   Wide invisible header stays transparent; only logo and menu capsule are visible. */

/* Scroll shrink: class is controlled by JS on html/body. */
html.fpf-scroll-shrink-active .fpf-page--home .fpf-top .brand-dock,
html.fpf-scroll-shrink-active .fpf-page--home .fpf-top .fpf-logo-dock,
body.fpf-scroll-shrink-active .fpf-page--home .fpf-top .brand-dock,
body.fpf-scroll-shrink-active .fpf-page--home .fpf-top .fpf-logo-dock {
  width: 88px !important;
  height: 88px !important;
  min-width: 88px !important;
  min-height: 88px !important;
  transform: translateZ(0) !important;
}

html:not(.fpf-scroll-shrink-active) .fpf-page--home .fpf-top .brand-dock,
html:not(.fpf-scroll-shrink-active) .fpf-page--home .fpf-top .fpf-logo-dock {
  transition: width .24s ease, height .24s ease, min-width .24s ease, min-height .24s ease, transform .24s ease, filter .24s ease !important;
}

@media (max-width: 760px) {
  html.fpf-scroll-shrink-active .fpf-page--home .fpf-top .brand-dock,
  html.fpf-scroll-shrink-active .fpf-page--home .fpf-top .fpf-logo-dock,
  body.fpf-scroll-shrink-active .fpf-page--home .fpf-top .brand-dock,
  body.fpf-scroll-shrink-active .fpf-page--home .fpf-top .fpf-logo-dock {
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    min-height: 72px !important;
  }
}

/* One authoritative mobile menu: details/summary + one panel.
   Old portal/dropdown overlays are disabled so they cannot compete. */
.fpf-mobile-dropdown-panel,
.fpf-mobile-menu-portal,
.fpf-mobile-panel {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 860px) {
  .fpf-top .fpf-mobile-menu {
    position: relative !important;
    z-index: 2147483000 !important;
  }

  .fpf-top .fpf-mobile-menu > summary {
    list-style: none !important;
    cursor: pointer !important;
    user-select: none !important;
  }

  .fpf-top .fpf-mobile-menu > summary::-webkit-details-marker {
    display: none !important;
  }

  .fpf-top .fpf-mobile-menu:not([open]) .fpf-mobile-menu-panel:not([data-mobile-menu-open="true"]) {
    display: none !important;
  }

  .fpf-top .fpf-mobile-menu[open] .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu .fpf-mobile-menu-panel[data-mobile-menu-open="true"] {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: fixed !important;
    top: clamp(86px, 15vw, 116px) !important;
    left: max(10px, env(safe-area-inset-left)) !important;
    right: max(10px, env(safe-area-inset-right)) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    max-height: min(72vh, 560px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 18px !important;
    border-radius: 26px !important;
    background: rgba(255,255,255,.94) !important;
    border: 1px solid rgba(148,163,184,.26) !important;
    box-shadow: 0 22px 65px rgba(15,23,42,.20) !important;
    backdrop-filter: blur(18px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.12) !important;
    z-index: 2147483001 !important;
    transform: translateZ(0) !important;
    box-sizing: border-box !important;
  }

  .fpf-top .fpf-mobile-menu-panel a,
  .fpf-top .fpf-mobile-menu-panel .fpf-nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-align: left !important;
    line-height: 1.18 !important;
    font-size: 16px !important;
    letter-spacing: 0 !important;
  }
}

@media (max-width: 390px) {
  .fpf-top .fpf-mobile-menu[open] .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu .fpf-mobile-menu-panel[data-mobile-menu-open="true"] {
    top: 84px !important;
    left: 8px !important;
    right: 8px !important;
    padding: 14px !important;
    border-radius: 22px !important;
    gap: 7px !important;
  }

  .fpf-top .fpf-mobile-menu-panel a,
  .fpf-top .fpf-mobile-menu-panel .fpf-nav-link {
    min-height: 46px !important;
    padding: 11px 12px !important;
    font-size: 15px !important;
  }
}

/* COMM_SITE_MOBILE_MENU_FINAL_MARKER_CLOSURE_V1
   Marker closure for readback + explicit details[open] selector alias.
   Does not add a new menu system. It keeps the authoritative details/summary menu. */
@media (max-width: 860px) {
  .fpf-top details[open].fpf-mobile-menu > .fpf-mobile-menu-panel,
  .fpf-top details.fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: fixed !important;
    top: calc(78px + env(safe-area-inset-top, 0px)) !important;
    left: max(12px, env(safe-area-inset-left)) !important;
    right: max(12px, env(safe-area-inset-right)) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 24px) !important;
    box-sizing: border-box !important;
    z-index: 2147483001 !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  .fpf-top details[open].fpf-mobile-menu > .fpf-mobile-menu-panel a,
  .fpf-top details.fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel a {
    width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 390px) {
  .fpf-top details[open].fpf-mobile-menu > .fpf-mobile-menu-panel,
  .fpf-top details.fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel {
    top: calc(74px + env(safe-area-inset-top, 0px)) !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    max-width: calc(100vw - 16px) !important;
    padding: 10px !important;
  }
}
/* COMM_SITE_VISUAL_FINAL_CLEANUP_V1
   Final authoritative visual cleanup.
   This block intentionally wins over older visual-rescue experiments without adding new menu systems. */
.fpf-page--home .fpf-logo-dock:not(.is-inner),
.fpf-page--home .brand-dock:not(.is-inner) {
  transition: width .24s ease, height .24s ease, min-width .24s ease, min-height .24s ease, border-radius .24s ease, transform .24s ease, box-shadow .24s ease !important;
  will-change: width, height, transform !important;
}

html.fpf-scroll-shrink-active .fpf-page--home .fpf-top .fpf-logo-dock:not(.is-inner),
html.fpf-scroll-shrink-active .fpf-page--home .fpf-top .brand-dock:not(.is-inner),
body.fpf-scroll-shrink-active .fpf-page--home .fpf-top .fpf-logo-dock:not(.is-inner),
body.fpf-scroll-shrink-active .fpf-page--home .fpf-top .brand-dock:not(.is-inner),
body.fpf-header-compact .fpf-page--home .fpf-top .fpf-logo-dock:not(.is-inner),
body.fpf-header-compact .fpf-page--home .fpf-top .brand-dock:not(.is-inner) {
  width: clamp(76px, 6.4vw, 92px) !important;
  height: clamp(76px, 6.4vw, 92px) !important;
  min-width: clamp(76px, 6.4vw, 92px) !important;
  min-height: clamp(76px, 6.4vw, 92px) !important;
  border-radius: 24px !important;
  transform: translateZ(0) scale(.985) !important;
  box-shadow: 0 14px 36px rgba(15, 23, 42, .16), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

html.fpf-scroll-shrink-active .fpf-page--home .fpf-top .fpf-logo-img,
body.fpf-scroll-shrink-active .fpf-page--home .fpf-top .fpf-logo-img,
body.fpf-header-compact .fpf-page--home .fpf-top .fpf-logo-img {
  inset: 7px !important;
  width: calc(100% - 14px) !important;
  height: calc(100% - 14px) !important;
  object-fit: contain !important;
  object-position: center !important;
}

@media (max-width: 760px) {
  html.fpf-scroll-shrink-active .fpf-page--home .fpf-top .fpf-logo-dock:not(.is-inner),
  html.fpf-scroll-shrink-active .fpf-page--home .fpf-top .brand-dock:not(.is-inner),
  body.fpf-scroll-shrink-active .fpf-page--home .fpf-top .fpf-logo-dock:not(.is-inner),
  body.fpf-scroll-shrink-active .fpf-page--home .fpf-top .brand-dock:not(.is-inner),
  body.fpf-header-compact .fpf-page--home .fpf-top .fpf-logo-dock:not(.is-inner),
  body.fpf-header-compact .fpf-page--home .fpf-top .brand-dock:not(.is-inner) {
    width: 68px !important;
    height: 68px !important;
    min-width: 68px !important;
    min-height: 68px !important;
    border-radius: 19px !important;
  }
}

.fpf-mobile-dropdown-panel,
.fpf-mobile-menu-portal,
.fpf-mobile-panel {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 900px) {
  .fpf-top { overflow: visible !important; }

  .fpf-top .fpf-mobile-menu {
    display: block !important;
    position: static !important;
    z-index: 2147483000 !important;
  }

  .fpf-top .fpf-mobile-menu > summary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 92px !important;
    min-height: 44px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    list-style: none !important;
    user-select: none !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(219,227,239,.96) !important;
    box-shadow: 0 12px 30px rgba(15,23,42,.12) !important;
  }

  .fpf-top .fpf-mobile-menu > summary::-webkit-details-marker,
  .fpf-top .fpf-mobile-menu > summary::marker {
    display: none !important;
    content: "" !important;
  }

  .fpf-top .fpf-mobile-menu > summary::after {
    margin-left: 8px !important;
    font-size: 18px !important;
    line-height: 1 !important;
  }

  .fpf-top .fpf-mobile-menu:not([open]):not([data-mobile-menu-open="true"]) > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu:not([open]) > .fpf-mobile-menu-panel:not([data-mobile-menu-open="true"]) {
    display: none !important;
  }

  .fpf-top .fpf-mobile-menu[open] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"] {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: fixed !important;
    top: calc(78px + env(safe-area-inset-top, 0px)) !important;
    left: max(12px, env(safe-area-inset-left)) !important;
    right: max(12px, env(safe-area-inset-right)) !important;
    width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 24px) !important;
    height: auto !important;
    max-height: min(72vh, 560px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 14px !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.97) !important;
    border: 1px solid rgba(148,163,184,.26) !important;
    box-shadow: 0 24px 72px rgba(15,23,42,.22) !important;
    backdrop-filter: blur(18px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.12) !important;
    z-index: 2147483001 !important;
    transform: translateZ(0) !important;
  }

  .fpf-top .fpf-mobile-menu-panel a,
  .fpf-top .fpf-mobile-menu-panel .fpf-nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 46px !important;
    padding: 11px 12px !important;
    border-radius: 15px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-align: left !important;
    line-height: 1.18 !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
    background: rgba(239,246,255,.78) !important;
    border: 1px solid rgba(191,219,254,.68) !important;
    color: #0f172a !important;
    text-decoration: none !important;
  }
}

@media (max-width: 390px) {
  .fpf-top .fpf-mobile-menu > summary {
    min-width: 84px !important;
    min-height: 42px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
  }

  .fpf-top .fpf-mobile-menu[open] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"] {
    top: calc(72px + env(safe-area-inset-top, 0px)) !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    padding: 10px !important;
    border-radius: 21px !important;
    gap: 7px !important;
  }

  .fpf-top .fpf-mobile-menu-panel a,
  .fpf-top .fpf-mobile-menu-panel .fpf-nav-link {
    min-height: 44px !important;
    padding: 10px 11px !important;
    font-size: 14px !important;
  }
}

/* COMM_SITE_NARROW_MOBILE_MENU_640_TARGETED_REPAIR_V1
   Minimal CSS-only repair for broken narrow mobile menu.
   Facts:
   - broken at innerWidth=518
   - normal at innerWidth=723
   Scope:
   - only <=640px
   - no JS changes
   - no logo/shrink changes
   - no new menu system */
@media (max-width: 640px) {
  .fpf-top .fpf-mobile-menu[open] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"] {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;

    position: fixed !important;
    top: calc(76px + env(safe-area-inset-top, 0px)) !important;
    left: max(10px, env(safe-area-inset-left)) !important;
    right: max(10px, env(safe-area-inset-right)) !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    box-sizing: border-box !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;

    gap: 8px !important;
    padding: 12px !important;
    border-radius: 22px !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;
    max-height: min(72vh, 520px) !important;

    z-index: 2147483001 !important;
    transform: translateZ(0) !important;
  }

  .fpf-top .fpf-mobile-menu[open] > .fpf-mobile-menu-panel > a,
  .fpf-top .fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel > a,
  .fpf-top .fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"] > a,
  .fpf-top .fpf-mobile-menu-panel .fpf-nav-link {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;

    align-items: center !important;
    justify-content: flex-start !important;

    min-height: 44px !important;
    padding: 10px 12px !important;
    border-radius: 15px !important;

    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-align: left !important;

    font-size: 14px !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
  }
}

@media (max-width: 390px) {
  .fpf-top .fpf-mobile-menu[open] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"] {
    top: calc(72px + env(safe-area-inset-top, 0px)) !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    padding: 10px !important;
    gap: 7px !important;
  }
}

/* COMM_SITE_NARROW_MOBILE_MENU_722_TARGETED_REPAIR_V1
   Final minimal CSS-only repair for the actual broken range.
   Browser facts:
   - CSS marker is visible in fetched CSS;
   - at broken viewport, panel computes to ~78px and links to ~48px;
   - normal viewport is about 723px;
   - broken range starts below about 722px.
   Scope:
   - only <=722px;
   - no JS changes;
   - no HTML changes;
   - no logo/shrink changes;
   - no new menu system. */
@media (max-width: 722px) {
  .fpf-top details.fpf-mobile-menu[open] > .fpf-mobile-menu-panel,
  .fpf-top details.fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel,
  .fpf-top details.fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"],
  .fpf-top .fpf-mobile-menu[open] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"] {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;

    position: fixed !important;
    top: calc(76px + env(safe-area-inset-top, 0px)) !important;
    left: max(10px, env(safe-area-inset-left)) !important;
    right: max(10px, env(safe-area-inset-right)) !important;

    width: calc(100vw - 20px) !important;
    min-width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: min(72vh, 520px) !important;

    margin: 0 !important;
    padding: 12px !important;
    box-sizing: border-box !important;

    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 8px !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    border-radius: 22px !important;
    z-index: 2147483001 !important;
    transform: translateZ(0) !important;
  }

  .fpf-top details.fpf-mobile-menu[open] > .fpf-mobile-menu-panel > a,
  .fpf-top details.fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel > a,
  .fpf-top details.fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"] > a,
  .fpf-top .fpf-mobile-menu[open] > .fpf-mobile-menu-panel > a,
  .fpf-top .fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel > a,
  .fpf-top .fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"] > a,
  .fpf-top .fpf-mobile-menu-panel .fpf-nav-link {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;

    align-items: center !important;
    justify-content: flex-start !important;

    min-height: 44px !important;
    padding: 10px 12px !important;
    border-radius: 15px !important;

    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-align: left !important;

    font-size: 14px !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
  }
}

/* COMM_SITE_MOBILE_MENU_BUTTON_NO_SHRINK_FINAL_REPAIR_V1
   Minimal permanent fix based on runtime Test A.
   Cause: below ~722px the mobile menu details/summary capsule shrinks too much,
   and the dropdown panel becomes tied to that narrow capsule.
   Scope: CSS only. No JS, no HTML, no logo/shrink changes. */
@media (max-width: 722px) {
  .fpf-top details.fpf-mobile-menu,
  .fpf-top .fpf-mobile-menu {
    min-width: 132px !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
  }

  .fpf-top details.fpf-mobile-menu > summary,
  .fpf-top .fpf-mobile-menu > summary {
    min-width: 132px !important;
    width: auto !important;
    max-width: none !important;
    white-space: nowrap !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 390px) {
  .fpf-top details.fpf-mobile-menu,
  .fpf-top .fpf-mobile-menu {
    min-width: 118px !important;
  }

  .fpf-top details.fpf-mobile-menu > summary,
  .fpf-top .fpf-mobile-menu > summary {
    min-width: 118px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* COMM_SITE_MOBILE_MENU_PANEL_LEFT_PIN_FINAL_REPAIR_V1
   Minimal final repair.
   Browser facts show the panel is already wide, but its rect is shifted right.
   Scope: pin the open mobile menu panel to viewport left under <=722px.
   No JS, no HTML, no logo/shrink changes. */
@media (max-width: 722px) {
  .fpf-top details.fpf-mobile-menu[open] > .fpf-mobile-menu-panel,
  .fpf-top details.fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel,
  .fpf-top details.fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"],
  .fpf-top .fpf-mobile-menu[open] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"] {
    position: fixed !important;
    inset-inline-start: 10px !important;
    inset-inline-end: auto !important;
    left: 10px !important;
    right: auto !important;
    width: calc(100vw - 20px) !important;
    min-width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }
}

@media (max-width: 390px) {
  .fpf-top details.fpf-mobile-menu[open] > .fpf-mobile-menu-panel,
  .fpf-top details.fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel,
  .fpf-top details.fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"],
  .fpf-top .fpf-mobile-menu[open] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"] {
    inset-inline-start: 8px !important;
    left: 8px !important;
    width: calc(100vw - 16px) !important;
    min-width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }
}

/* COMM_SITE_MOBILE_MENU_722_HEADER_LAYOUT_FINAL_REPAIR_V1
   Final CSS-only repair for the <=722px header/menu breakpoint.
   Diagnosis:
   - the dropdown panel is not fundamentally too narrow;
   - the header/nav parent layout collapses at about 720px;
   - runtime test worked when header/nav layout was kept wider;
   - this final block keeps nav usable without enlarging the logo.
   Scope:
   - CSS only;
   - no JS changes;
   - no HTML changes;
   - no desktop logo/shrink rewrite;
   - no new menu system. */
@media (max-width: 722px) {
  .fpf-top {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    pointer-events: none !important;
  }

  .fpf-top-row {
    display: grid !important;
    grid-template-columns: 84px minmax(0, 1fr) !important;
    align-items: start !important;
    justify-content: initial !important;
    gap: 14px !important;
    width: min(1180px, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    pointer-events: none !important;
  }

  .fpf-logo-dock,
  .fpf-logo-dock.is-inner,
  .brand-dock {
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    border-radius: 22px !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  .fpf-logo-dock img,
  .brand-dock img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  .fpf-nav-shell {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 54px !important;
    margin-top: 4px !important;
    padding: 7px 8px 7px 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    border-radius: 28px !important;
    background: rgba(255,255,255,.76) !important;
    border: 1px solid rgba(226,232,240,.86) !important;
    box-shadow: 0 14px 38px rgba(15,23,42,.08) !important;
    backdrop-filter: blur(18px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.08) !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }

  .fpf-brand-text {
    display: none !important;
  }

  .fpf-nav {
    display: none !important;
  }

  .fpf-mobile-menu {
    display: block !important;
    position: static !important;
    width: auto !important;
    min-width: 124px !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    pointer-events: auto !important;
    overflow: visible !important;
    z-index: 2147483000 !important;
  }

  .fpf-mobile-menu > summary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 124px !important;
    max-width: none !important;
    min-height: 42px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
    list-style: none !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(219,227,239,.96) !important;
    box-shadow: 0 12px 30px rgba(15,23,42,.12) !important;
    box-sizing: border-box !important;
  }

  .fpf-mobile-menu > summary::-webkit-details-marker,
  .fpf-mobile-menu > summary::marker {
    display: none !important;
    content: "" !important;
  }

  .fpf-mobile-menu:not([open]):not([data-mobile-menu-open="true"]) > .fpf-mobile-menu-panel,
  .fpf-mobile-menu:not([open]) > .fpf-mobile-menu-panel:not([data-mobile-menu-open="true"]) {
    display: none !important;
  }

  .fpf-top details.fpf-mobile-menu[open] > .fpf-mobile-menu-panel,
  .fpf-top details.fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel,
  .fpf-top details.fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"],
  .fpf-top .fpf-mobile-menu[open] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"] {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;

    position: fixed !important;
    top: calc(82px + env(safe-area-inset-top, 0px)) !important;
    left: 10px !important;
    right: auto !important;
    inset-inline-start: 10px !important;
    inset-inline-end: auto !important;

    width: calc(100vw - 20px) !important;
    min-width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: min(72vh, 520px) !important;
    margin: 0 !important;
    padding: 12px !important;
    box-sizing: border-box !important;

    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 8px !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    border-radius: 22px !important;
    background: rgba(255,255,255,.97) !important;
    border: 1px solid rgba(148,163,184,.26) !important;
    box-shadow: 0 24px 72px rgba(15,23,42,.22) !important;
    backdrop-filter: blur(18px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.12) !important;

    z-index: 2147483001 !important;
    transform: none !important;
  }

  .fpf-top details.fpf-mobile-menu[open] > .fpf-mobile-menu-panel > a,
  .fpf-top details.fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel > a,
  .fpf-top details.fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"] > a,
  .fpf-top .fpf-mobile-menu[open] > .fpf-mobile-menu-panel > a,
  .fpf-top .fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel > a,
  .fpf-top .fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"] > a,
  .fpf-top .fpf-mobile-menu-panel .fpf-nav-link {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;

    align-items: center !important;
    justify-content: flex-start !important;

    min-height: 44px !important;
    padding: 10px 12px !important;
    border-radius: 15px !important;

    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-align: left !important;

    font-size: 14px !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
    font-weight: 850 !important;
  }
}

@media (max-width: 390px) {
  .fpf-top-row {
    grid-template-columns: 70px minmax(0, 1fr) !important;
    gap: 10px !important;
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }

  .fpf-logo-dock,
  .fpf-logo-dock.is-inner,
  .brand-dock {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    border-radius: 19px !important;
  }

  .fpf-nav-shell {
    min-height: 48px !important;
    margin-top: 3px !important;
    padding: 6px 7px !important;
    border-radius: 24px !important;
  }

  .fpf-mobile-menu {
    min-width: 108px !important;
  }

  .fpf-mobile-menu > summary {
    min-width: 108px !important;
    min-height: 40px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
  }

  .fpf-top details.fpf-mobile-menu[open] > .fpf-mobile-menu-panel,
  .fpf-top details.fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel,
  .fpf-top details.fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"],
  .fpf-top .fpf-mobile-menu[open] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"] {
    top: calc(72px + env(safe-area-inset-top, 0px)) !important;
    left: 8px !important;
    inset-inline-start: 8px !important;
    width: calc(100vw - 16px) !important;
    min-width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    padding: 10px !important;
    border-radius: 20px !important;
    gap: 7px !important;
  }
}

/* COMM_SITE_MOBILE_MENU_COMPACT_RIGHT_DROPDOWN_FINAL_REPAIR_V1
   Final CSS-only repair based on successful runtime compact-right-dropdown test.
   Result:
   - dropdown opens as a neat right-side panel;
   - not visually clipped;
   - not full-screen heavy;
   - logo/shrink/JS/HTML untouched. */
@media (max-width: 722px) {
  .fpf-top details.fpf-mobile-menu[open] > .fpf-mobile-menu-panel,
  .fpf-top details.fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel,
  .fpf-top details.fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"],
  .fpf-top .fpf-mobile-menu[open] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"] {
    position: fixed !important;
    top: calc(82px + env(safe-area-inset-top, 0px)) !important;
    left: auto !important;
    right: 10px !important;
    inset-inline-start: auto !important;
    inset-inline-end: 10px !important;

    width: min(360px, calc(100vw - 20px)) !important;
    min-width: min(320px, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;

    padding: 12px !important;
    border-radius: 22px !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  .fpf-top details.fpf-mobile-menu[open] > .fpf-mobile-menu-panel > a,
  .fpf-top details.fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel > a,
  .fpf-top details.fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"] > a,
  .fpf-top .fpf-mobile-menu[open] > .fpf-mobile-menu-panel > a,
  .fpf-top .fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel > a,
  .fpf-top .fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"] > a,
  .fpf-top .fpf-mobile-menu-panel .fpf-nav-link {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

@media (max-width: 390px) {
  .fpf-top details.fpf-mobile-menu[open] > .fpf-mobile-menu-panel,
  .fpf-top details.fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel,
  .fpf-top details.fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"],
  .fpf-top .fpf-mobile-menu[open] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu[data-mobile-menu-open="true"] > .fpf-mobile-menu-panel,
  .fpf-top .fpf-mobile-menu > .fpf-mobile-menu-panel[data-mobile-menu-open="true"] {
    right: 8px !important;
    inset-inline-end: 8px !important;
    width: calc(100vw - 16px) !important;
    min-width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }
}

/* COMM_SITE_LOW_MOBILE_NAV_SHELL_WORDMARK_V1
   Adds FoxProFlow wordmark into the low-mobile header bar.
   Scope: CSS only. No JS, no HTML, no logo/shrink/menu mechanics changes. */
@media (max-width: 722px) {
  .fpf-top .fpf-nav-shell {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-left: 18px !important;
    overflow: visible !important;
  }

  .fpf-top .fpf-nav-shell::before {
    content: "FoxProFlow" !important;
    display: block !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 138px) !important;
    font-weight: 900 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    letter-spacing: -0.03em !important;
    color: #0f172a !important;
    opacity: .92 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    pointer-events: none !important;
  }

  .fpf-top .fpf-mobile-menu {
    margin-left: auto !important;
  }
}

@media (max-width: 390px) {
  .fpf-top .fpf-nav-shell {
    padding-left: 13px !important;
  }

  .fpf-top .fpf-nav-shell::before {
    font-size: 15px !important;
    max-width: calc(100% - 118px) !important;
  }
}

/* COMM_SITE_FLOWMAP_STABLE_GRID_FINAL_REPAIR_V1
   Stabilizes only the "Карта решения задачи" visual map.
   Scope: CSS only. No logo/header/menu/hero/JS/HTML changes. */
.fpf-flowmap.flow-map {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.fpf-flowmap.flow-map .fpf-flow-title {
  width: 100% !important;
  max-width: 100% !important;
}

.fpf-flowmap.flow-map .fpf-flow-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: none !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  gap: 14px !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  overflow: visible !important;
}

.fpf-flowmap.flow-map .fpf-flow-grid .fpf-node {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;

  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 74px !important;

  justify-self: stretch !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
}

.fpf-flowmap.flow-map .fpf-flow-grid .fpf-node span {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.fpf-flowmap.flow-map .fpf-floating-badges {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 18px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(148, 163, 184, .20) !important;
  overflow: visible !important;
}

.fpf-flowmap.flow-map .fpf-flow-caption {
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin-top: 14px !important;
  padding-top: 0 !important;
  overflow: visible !important;
}

@media (max-width: 760px) {
  .fpf-flowmap.flow-map .fpf-flow-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .fpf-flowmap.flow-map .fpf-flow-grid .fpf-node {
    min-height: 70px !important;
  }
}

@media (max-width: 520px) {
  .fpf-flowmap.flow-map .fpf-flow-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .fpf-flowmap.flow-map .fpf-flow-grid .fpf-node {
    min-height: 66px !important;
  }

  .fpf-flowmap.flow-map .fpf-floating-badges {
    margin-top: 14px !important;
    padding-top: 12px !important;
  }
}

/* COMM_SITE_NAV_CONTACTS_FINISH_PATCH_V1
   Final UX finish: navigation clarity + contact typography.
   Scope: CSS only for nav/contact polish. No logo/shrink/menu mechanics/flowmap changes. */
.fpf-top .fpf-nav-links {
  align-items: center !important;
  gap: clamp(10px, 1.25vw, 20px) !important;
}

.fpf-top .fpf-nav-links > a:not(.fpf-btn) {
  white-space: nowrap !important;
}

.fpf-contact-value {
  font-size: clamp(18px, 2.05vw, 24px) !important;
  line-height: 1.18 !important;
  font-weight: 850 !important;
  letter-spacing: -0.025em !important;
  max-width: 100% !important;
}

.fpf-contact-value a {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  text-decoration-thickness: .08em !important;
  text-underline-offset: .16em !important;
}

.fpf-card .fpf-contact-value {
  margin-top: 10px !important;
}

@media (max-width: 980px) {
  .fpf-contact-value {
    font-size: clamp(17px, 4vw, 22px) !important;
  }
}

@media (max-width: 520px) {
  .fpf-contact-value {
    font-size: 17px !important;
    line-height: 1.22 !important;
    letter-spacing: -0.015em !important;
  }
}

/* COMM_SITE_DESKTOP_NAV_ONE_LINE_CONTACTS_REPAIR_V1
   Fixes desktop header after adding Главная/Контакты.
   Scope: desktop nav layout only. Mobile menu, logo, shrink and flowmap untouched. */
@media (min-width: 981px) {
  .fpf-top .fpf-nav-shell {
    display: grid !important;
    grid-template-columns: minmax(150px, .72fr) minmax(430px, 1.45fr) auto !important;
    align-items: center !important;
    column-gap: clamp(10px, 1.05vw, 16px) !important;
    row-gap: 0 !important;

    min-height: 66px !important;
    height: auto !important;
    padding: 10px 14px 10px 20px !important;
    overflow: visible !important;
  }

  .fpf-top .fpf-brand-text {
    min-width: 0 !important;
    max-width: 190px !important;
  }

  .fpf-top .fpf-brand-text strong {
    font-size: clamp(17px, 1.35vw, 20px) !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
  }

  .fpf-top .fpf-brand-text span {
    font-size: clamp(12px, .95vw, 14px) !important;
    line-height: 1.25 !important;
    max-width: 190px !important;
  }

  .fpf-top .fpf-nav-links {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: clamp(8px, .9vw, 14px) !important;

    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .fpf-top .fpf-nav-links > a:not(.fpf-btn) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    white-space: nowrap !important;
    flex: 0 0 auto !important;

    font-size: clamp(12px, .92vw, 14px) !important;
    line-height: 1 !important;
    letter-spacing: -0.01em !important;
  }

  .fpf-top .fpf-nav-shell > .fpf-btn,
  .fpf-top .fpf-nav-shell > .fpf-btn-primary,
  .fpf-top .fpf-nav-shell > .fpf-mobile-keep {
    grid-column: 3 !important;
    grid-row: 1 !important;

    align-self: center !important;
    justify-self: end !important;

    flex: 0 0 auto !important;
    white-space: nowrap !important;

    min-height: 48px !important;
    padding-left: clamp(16px, 1.35vw, 24px) !important;
    padding-right: clamp(16px, 1.35vw, 24px) !important;
    font-size: clamp(12px, .95vw, 14px) !important;
  }
}

@media (min-width: 981px) and (max-width: 1240px) {
  .fpf-top .fpf-top-row {
    grid-template-columns: clamp(132px, 13vw, 176px) minmax(0, 1fr) !important;
    gap: clamp(26px, 3.4vw, 52px) !important;
  }

  .fpf-top .fpf-nav-shell {
    grid-template-columns: minmax(135px, .58fr) minmax(440px, 1.65fr) auto !important;
    column-gap: 10px !important;
    padding-left: 18px !important;
    padding-right: 12px !important;
  }

  .fpf-top .fpf-brand-text {
    max-width: 160px !important;
  }

  .fpf-top .fpf-brand-text span {
    max-width: 150px !important;
  }

  .fpf-top .fpf-nav-links {
    gap: 10px !important;
  }

  .fpf-top .fpf-nav-links > a:not(.fpf-btn) {
    font-size: 12px !important;
  }
}

/* COMM_SITE_DESKTOP_TOPBAR_BRAND_NAV_POLISH_V1
   Desktop topbar polish.
   Goal:
   - brand in 2 lines;
   - subtitle in 1 line;
   - navigation larger and more confident;
   - no CTA button in desktop topbar;
   - mobile menu/logo/shrink/flowmap untouched. */
@media (min-width: 981px) {
  .fpf-top .fpf-nav-shell {
    display: grid !important;
    grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr) !important;
    align-items: center !important;
    column-gap: clamp(18px, 2vw, 34px) !important;
    row-gap: 0 !important;

    min-height: 74px !important;
    padding: 12px 22px 12px 24px !important;
    overflow: visible !important;
  }

  .fpf-top .fpf-brand-text {
    display: block !important;
    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;
  }

  .fpf-top .fpf-brand-text strong {
    display: block !important;
    font-size: clamp(20px, 1.55vw, 23px) !important;
    font-weight: 950 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.04em !important;
    white-space: nowrap !important;
  }

  .fpf-top .fpf-brand-text span {
    display: block !important;
    margin-top: 5px !important;
    max-width: none !important;
    font-size: clamp(14px, 1.02vw, 15.5px) !important;
    font-weight: 720 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.018em !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  .fpf-top .fpf-nav-links {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    gap: clamp(14px, 1.45vw, 24px) !important;
    overflow: visible !important;
  }

  .fpf-top .fpf-nav-links > a:not(.fpf-btn) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 auto !important;
    white-space: nowrap !important;

    font-size: clamp(14px, 1.06vw, 16px) !important;
    font-weight: 820 !important;
    line-height: 1 !important;
    letter-spacing: -0.018em !important;
  }

  .fpf-top .fpf-nav-shell > .fpf-btn,
  .fpf-top .fpf-nav-shell > .fpf-btn-primary,
  .fpf-top .fpf-nav-shell > .fpf-mobile-keep {
    display: none !important;
  }
}

@media (min-width: 981px) and (max-width: 1240px) {
  .fpf-top .fpf-top-row {
    grid-template-columns: clamp(132px, 13vw, 176px) minmax(0, 1fr) !important;
    gap: clamp(24px, 3.4vw, 48px) !important;
  }

  .fpf-top .fpf-nav-shell {
    grid-template-columns: minmax(245px, .72fr) minmax(0, 1.28fr) !important;
    column-gap: clamp(12px, 1.4vw, 20px) !important;
    min-height: 72px !important;
    padding: 11px 18px 11px 22px !important;
  }

  .fpf-top .fpf-brand-text strong {
    font-size: clamp(19px, 1.5vw, 21px) !important;
  }

  .fpf-top .fpf-brand-text span {
    font-size: clamp(13.2px, 1vw, 14.5px) !important;
  }

  .fpf-top .fpf-nav-links {
    gap: clamp(10px, 1.05vw, 16px) !important;
  }

  .fpf-top .fpf-nav-links > a:not(.fpf-btn) {
    font-size: clamp(13.2px, 1vw, 14.5px) !important;
  }
}

/* COMM_SITE_DESKTOP_TOPBAR_NAV_ONLY_FINAL_POLISH_V1
   Final desktop topbar polish.
   UX decision:
   - logo already carries FoxProFlow brand;
   - duplicate brand text inside desktop nav makes the bar heavy;
   - desktop topbar should be a clean navigation pill only.
   Scope:
   - desktop only;
   - mobile wordmark/menu untouched;
   - logo/shrink/hero/flowmap/contacts untouched. */
@media (min-width: 981px) {
  .fpf-top .fpf-top-row {
    grid-template-columns: clamp(132px, 13vw, 176px) minmax(0, 1fr) !important;
    gap: clamp(42px, 7vw, 128px) !important;
    align-items: start !important;
  }

  .fpf-top .fpf-nav-shell {
    justify-self: end !important;
    align-self: start !important;

    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 340px) !important;

    min-height: 58px !important;
    height: auto !important;
    padding: 0 28px !important;

    align-items: center !important;
    justify-content: center !important;

    border-radius: 999px !important;
    background: rgba(255, 255, 255, .86) !important;
    border: 1px solid rgba(226, 232, 240, .92) !important;
    box-shadow: 0 18px 52px rgba(15, 23, 42, .085) !important;
    backdrop-filter: blur(18px) saturate(1.08) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.08) !important;

    overflow: visible !important;
  }

  .fpf-top .fpf-brand-text {
    display: none !important;
  }

  .fpf-top .fpf-nav-links {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;

    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;

    gap: clamp(18px, 1.7vw, 30px) !important;
    overflow: visible !important;
  }

  .fpf-top .fpf-nav-links > a:not(.fpf-btn) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 auto !important;
    white-space: nowrap !important;

    font-size: clamp(14px, 1.04vw, 15.5px) !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    letter-spacing: -0.018em !important;
    color: rgba(15, 23, 42, .82) !important;
  }

  .fpf-top .fpf-nav-links > a:not(.fpf-btn):hover {
    color: rgba(37, 99, 235, .98) !important;
  }

  .fpf-top .fpf-nav-shell > .fpf-btn,
  .fpf-top .fpf-nav-shell > .fpf-btn-primary,
  .fpf-top .fpf-nav-shell > .fpf-mobile-keep {
    display: none !important;
  }
}

@media (min-width: 981px) and (max-width: 1240px) {
  .fpf-top .fpf-top-row {
    grid-template-columns: clamp(132px, 13vw, 176px) minmax(0, 1fr) !important;
    gap: clamp(28px, 4.2vw, 64px) !important;
  }

  .fpf-top .fpf-nav-shell {
    max-width: calc(100vw - 300px) !important;
    min-height: 56px !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  .fpf-top .fpf-nav-links {
    gap: clamp(12px, 1.25vw, 18px) !important;
  }

  .fpf-top .fpf-nav-links > a:not(.fpf-btn) {
    font-size: clamp(13px, 1vw, 14px) !important;
    letter-spacing: -0.02em !important;
  }
}
