:root{
  --sa-fire-navy:#0d2b3e;
  --sa-fire-navy-2:#12384f;
  --sa-fire-blue:#3f83aa;
  --sa-fire-blue-2:#6aa8c8;
  --sa-fire-ice:#eef5f8;
  --sa-fire-line:#d6e2e9;
  --sa-fire-ink:#173f56;
  --sa-fire-muted:#627c8b;
  --sa-fire-sand:#d1b78e;
  --sa-fire-white:#fff;
  --sa-fire-shadow:0 24px 70px rgba(8,38,55,.12);
  --sa-fire-ease:cubic-bezier(.2,.8,.2,1);
}

/* =========================================================
   GLOBAL / OVERFLOW SAFETY
   ========================================================= */
.sa-fire-v10-page,
.sa-fire-v10-page *{box-sizing:border-box;min-width:0}
.sa-fire-v10-page{
  width:100%!important;
  max-width:100%!important;
  overflow-x:clip!important;
  color:var(--sa-fire-ink);
  font-family:"Barlow",Arial,sans-serif;
  background:#fff;
}
.sa-fire-v10-page>.e-con,
.sa-fire-v10-page .e-con,
.sa-fire-v10-page .elementor-element{max-width:100%}
.sa-fire-v10-page img{display:block;max-width:100%}
.sa-fire-v10-page h1,
.sa-fire-v10-page h2,
.sa-fire-v10-page h3,
.sa-fire-v10-page .elementor-heading-title{font-family:"Barlow Condensed",Arial,sans-serif}
.sa-fire-v10-page p{margin:0;line-height:1.58}
.sa-fire-v10-page .elementor-widget{margin:0}
.sa-fire-v10-page a{text-decoration:none}

.sa-fire-v10-shell{
  width:100%!important;
  max-width:1280px!important;
  margin:0 auto!important;
  padding-left:42px!important;
  padding-right:42px!important;
}
.sa-fire-v10-eyebrow .elementor-heading-title{
  font-size:11px!important;
  line-height:1!important;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#668598!important;
  font-weight:700!important;
}
.sa-fire-v10-eyebrow .elementor-heading-title:before{
  content:"";
  display:inline-block;
  width:28px;
  height:1px;
  background:#87a4b5;
  margin:0 12px 4px 0;
  transform-origin:left center;
  transition:transform .45s var(--sa-fire-ease),width .45s var(--sa-fire-ease);
}
.sa-fire-v10-eyebrow.is-light .elementor-heading-title{color:rgba(255,255,255,.7)!important}
.sa-fire-v10-eyebrow.is-light .elementor-heading-title:before{background:rgba(255,255,255,.6)}
.sa-fire-v10-section-title .elementor-heading-title{
  font-size:clamp(48px,4.8vw,72px)!important;
  line-height:.92!important;
  letter-spacing:-.028em;
  color:var(--sa-fire-navy)!important;
  font-weight:700!important;
}
.sa-fire-v10-section-title.is-light .elementor-heading-title{color:#fff!important}
.sa-fire-v10-lead{max-width:720px;margin-top:20px!important}
.sa-fire-v10-lead p{font-size:16px;color:var(--sa-fire-muted)}
.sa-fire-v10-lead.is-light p{color:rgba(255,255,255,.78)}

/* =========================================================
   HERO
   ========================================================= */
.sa-fire-v10-hero{
  position:relative!important;
  width:100%!important;
  min-height:650px!important;
  overflow:hidden!important;
  background:var(--sa-fire-navy);
  isolation:isolate;
}
.sa-fire-v10-hero-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:0!important;
  overflow:hidden!important;
}
.sa-fire-v10-hero-img>.elementor-widget-container{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
}
.sa-fire-v10-hero-img img{
  width:100%!important;
  height:116%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center 50%!important;
  filter:saturate(.82) contrast(1.08) brightness(.9)!important;
  transform:translate3d(0,var(--sa-fire-hero-y,0px),0) scale(1.055);
  transition:transform .2s linear;
  will-change:transform;
}
.sa-fire-v10-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(5,24,35,.94) 0%,rgba(5,24,35,.83) 36%,rgba(5,24,35,.46) 70%,rgba(5,24,35,.30) 100%),
    linear-gradient(0deg,rgba(5,24,35,.66) 0%,rgba(5,24,35,0) 47%);
  pointer-events:none;
}
.sa-fire-v10-hero:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:1px;
  background:rgba(255,255,255,.18);
  z-index:2;
}
.sa-fire-v10-hero-shell{
  position:relative!important;
  z-index:3!important;
  min-height:650px!important;
  display:flex!important;
  justify-content:flex-end!important;
  padding-bottom:90px!important;
}
.sa-fire-v10-hero-copy{max-width:900px!important}
.sa-fire-v10-hero-title{
  opacity:0;
  transform:translateY(34px);
}
.sa-fire-v10-ready .sa-fire-v10-hero-title{
  opacity:1;
  transform:none;
  transition:opacity .85s var(--sa-fire-ease) .12s,transform .85s var(--sa-fire-ease) .12s;
}
.sa-fire-v10-hero-title .elementor-heading-title{
  margin:0!important;
  font-size:clamp(72px,8.1vw,118px)!important;
  line-height:.84!important;
  letter-spacing:-.045em;
  color:#fff!important;
  font-weight:700!important;
  text-shadow:0 12px 34px rgba(0,0,0,.32);
}
.sa-fire-v10-hero-title .elementor-heading-title span{
  display:inline-block;
  color:#fff!important;
  font-weight:500!important;
  font-style:italic;
  opacity:.94;
  transform:translateX(4px);
}
.sa-fire-v10-hero-rule{
  width:0!important;
  height:3px!important;
  margin-top:30px!important;
  background:linear-gradient(90deg,var(--sa-fire-sand),rgba(209,183,142,0));
  overflow:hidden;
}
.sa-fire-v10-ready .sa-fire-v10-hero-rule{
  width:240px!important;
  transition:width .9s var(--sa-fire-ease) .42s;
}

/* =========================================================
   TOP VALUE STRIP
   ========================================================= */
.sa-fire-v10-assurance{position:relative;z-index:5;background:#fff;padding:0 0 34px}
.sa-fire-v10-assurance-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0!important;
  margin-top:-58px!important;
  padding:0!important;
  background:#fff;
  border:1px solid rgba(205,220,228,.95);
  box-shadow:0 26px 70px rgba(10,41,58,.14);
  overflow:hidden;
}
.sa-fire-v10-assurance-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:50px minmax(0,1fr) 22px;
  gap:18px;
  align-items:start!important;
  padding:30px 28px 28px;
  border-right:1px solid var(--sa-fire-line);
  background:#fff;
  overflow:hidden;
  transition:transform .35s var(--sa-fire-ease),background .35s var(--sa-fire-ease),box-shadow .35s var(--sa-fire-ease);
}
.sa-fire-v10-assurance-card:last-child{border-right:0}
.sa-fire-v10-assurance-card:before{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:3px;
  background:linear-gradient(90deg,var(--sa-fire-blue),var(--sa-fire-blue-2));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .42s var(--sa-fire-ease);
}
.sa-fire-v10-assurance-card:hover{
  z-index:2;
  transform:translateY(-8px);
  background:#f9fcfd;
  box-shadow:0 20px 44px rgba(10,41,58,.12);
}
.sa-fire-v10-assurance-card:hover:before{transform:scaleX(1)}
.sa-fire-v10-assurance-num .elementor-heading-title{font-size:11px!important;letter-spacing:.14em;color:#8ca6b5!important;padding-top:5px}
.sa-fire-v10-assurance-title .elementor-heading-title{font-size:25px!important;line-height:1!important;color:var(--sa-fire-navy)!important;margin-bottom:9px!important}
.sa-fire-v10-assurance-copy p{font-size:13px;color:#69818f;line-height:1.5}
.sa-fire-v10-assurance-arrow .elementor-heading-title{font-size:17px!important;color:#96acb8!important;transition:transform .3s var(--sa-fire-ease),color .3s ease}
.sa-fire-v10-assurance-card:hover .sa-fire-v10-assurance-arrow .elementor-heading-title{transform:translate(4px,-4px);color:var(--sa-fire-blue)!important}

/* =========================================================
   FIVE-STEP REBUILD SEQUENCE — UNIFORM DESIGN
   ========================================================= */
.sa-fire-v10-roadmap{padding:108px 0 112px;background:#fff}
.sa-fire-v10-roadmap-inner{position:relative}
.sa-fire-v10-roadmap-heading{max-width:700px}
.sa-fire-v10-roadmap-grid{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px!important;
  margin-top:50px!important;
}
.sa-fire-v10-roadmap-grid:before{
  content:"";
  position:absolute;
  top:29px;
  left:4%;right:4%;
  height:1px;
  background:linear-gradient(90deg,rgba(63,131,170,.18),rgba(63,131,170,.55),rgba(63,131,170,.18));
  z-index:0;
}
.sa-fire-v10-step-card{
  --mx:50%;--my:50%;
  position:relative!important;
  z-index:1;
  min-height:370px!important;
  padding:26px 23px 28px!important;
  background:#fff;
  border:1px solid var(--sa-fire-line);
  overflow:hidden!important;
  isolation:isolate;
  transition:transform .4s var(--sa-fire-ease),box-shadow .4s var(--sa-fire-ease),border-color .35s ease,background .35s ease;
}
.sa-fire-v10-step-card:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,var(--sa-fire-blue),var(--sa-fire-blue-2));
  transform:scaleX(.18);
  transform-origin:left;
  transition:transform .45s var(--sa-fire-ease);
  z-index:-1;
}
.sa-fire-v10-step-card:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:radial-gradient(320px circle at var(--mx) var(--my),rgba(80,151,190,.16),transparent 46%);
  opacity:0;
  transition:opacity .35s ease;
}
.sa-fire-v10-step-card:hover{
  transform:translateY(-10px);
  border-color:#9dbdcc;
  box-shadow:0 24px 54px rgba(13,53,75,.13);
}
.sa-fire-v10-step-card:hover:before{transform:scaleX(1)}
.sa-fire-v10-step-card:hover:after{opacity:1}
.sa-fire-v10-step-meta{align-items:center!important;justify-content:space-between!important;margin-bottom:54px!important}
.sa-fire-v10-step-num .elementor-heading-title{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:52px;height:52px;
  border-radius:50%;
  background:var(--sa-fire-navy);
  border:1px solid var(--sa-fire-navy);
  font-size:15px!important;
  color:#fff!important;
  box-shadow:0 0 0 8px #fff;
  transition:transform .35s var(--sa-fire-ease),background .35s ease;
}
.sa-fire-v10-step-card:hover .sa-fire-v10-step-num .elementor-heading-title{transform:scale(1.08);background:var(--sa-fire-blue);border-color:var(--sa-fire-blue)}
.sa-fire-v10-step-role .elementor-heading-title{
  font-size:9px!important;
  line-height:1.2!important;
  letter-spacing:.12em;
  color:#7593a4!important;
  text-transform:uppercase;
  text-align:right;
  font-weight:700!important;
}
.sa-fire-v10-step-title .elementor-heading-title{font-size:30px!important;line-height:.98!important;color:var(--sa-fire-navy)!important;margin-bottom:16px!important}
.sa-fire-v10-step-copy p{font-size:13px;color:#617b8a;line-height:1.58}
.sa-fire-v10-step-arrow{position:absolute!important;left:23px;bottom:22px;opacity:.28;transform:translateX(-6px)}
.sa-fire-v10-step-arrow .elementor-heading-title{font-size:25px!important;color:var(--sa-fire-blue)!important}
.sa-fire-v10-step-card:hover .sa-fire-v10-step-arrow{opacity:1;transform:none;transition:opacity .35s ease,transform .35s var(--sa-fire-ease)}

/* =========================================================
   ARCHITECTURAL SERVICES — 2 x 3 FEATURE GRID
   ========================================================= */
.sa-fire-v10-services{padding:112px 0 118px;background:linear-gradient(180deg,#eef5f8 0%,#e9f2f6 100%)}
.sa-fire-v10-services-heading{
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:84px!important;
  align-items:end!important;
  margin-bottom:52px!important;
}
.sa-fire-v10-services-title-wrap{max-width:660px}
.sa-fire-v10-services-heading .sa-fire-v10-lead{margin-top:0!important;max-width:600px}
.sa-fire-v10-services-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px!important}
.sa-fire-v10-service-card{
  --mx:50%;--my:50%;
  position:relative!important;
  display:grid!important;
  grid-template-columns:92px minmax(0,1fr);
  gap:28px!important;
  min-height:250px!important;
  padding:36px 36px 34px!important;
  background:#fff;
  border:1px solid #d3e1e8;
  overflow:hidden!important;
  isolation:isolate;
  box-shadow:0 8px 24px rgba(22,64,86,.035);
  transition:transform .42s var(--sa-fire-ease),box-shadow .42s var(--sa-fire-ease),border-color .35s ease,color .35s ease;
}
.sa-fire-v10-service-card:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(135deg,var(--sa-fire-navy) 0%,#174c68 100%);
  transform:translateY(102%);
  transition:transform .48s var(--sa-fire-ease);
}
.sa-fire-v10-service-card:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(360px circle at var(--mx) var(--my),rgba(255,255,255,.14),transparent 48%);
  opacity:0;
  transition:opacity .35s ease;
}
.sa-fire-v10-service-card:hover{
  transform:translateY(-9px);
  border-color:transparent;
  box-shadow:0 28px 64px rgba(12,48,67,.18);
}
.sa-fire-v10-service-card:hover:before{transform:translateY(0)}
.sa-fire-v10-service-card:hover:after{opacity:1}
.sa-fire-v10-service-num .elementor-heading-title{
  font-size:58px!important;
  line-height:.8!important;
  color:#bfd3de!important;
  font-weight:300!important;
  letter-spacing:-.04em;
  transition:color .35s ease,transform .4s var(--sa-fire-ease);
}
.sa-fire-v10-service-card:hover .sa-fire-v10-service-num .elementor-heading-title{color:rgba(255,255,255,.28)!important;transform:translateY(-4px)}
.sa-fire-v10-service-title .elementor-heading-title{font-size:34px!important;line-height:.98!important;color:var(--sa-fire-navy)!important;margin-bottom:14px!important;transition:color .35s ease,transform .4s var(--sa-fire-ease)}
.sa-fire-v10-service-copy p{font-size:14px;color:#607a89;line-height:1.58;transition:color .35s ease}
.sa-fire-v10-service-link{margin-top:26px!important}
.sa-fire-v10-service-link .elementor-heading-title{font-size:10px!important;letter-spacing:.14em;color:#7895a6!important;font-weight:700!important;transition:color .35s ease,letter-spacing .35s var(--sa-fire-ease)}
.sa-fire-v10-service-link .elementor-heading-title span{font-size:14px;margin-left:7px}
.sa-fire-v10-service-card:hover .sa-fire-v10-service-title .elementor-heading-title,
.sa-fire-v10-service-card:hover .sa-fire-v10-service-copy p,
.sa-fire-v10-service-card:hover .sa-fire-v10-service-link .elementor-heading-title{color:#fff!important}
.sa-fire-v10-service-card:hover .sa-fire-v10-service-title .elementor-heading-title{transform:translateX(5px)}
.sa-fire-v10-service-card:hover .sa-fire-v10-service-link .elementor-heading-title{letter-spacing:.18em}

/* =========================================================
   KEY REQUIREMENTS — DARK IMAGE / GLASS PANEL
   ========================================================= */
.sa-fire-v10-requirements{
  position:relative!important;
  min-height:720px!important;
  padding:118px 0!important;
  background-position:center!important;
  background-size:cover!important;
  background-attachment:fixed!important;
  overflow:hidden!important;
  isolation:isolate;
}
.sa-fire-v10-requirements:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(5,25,37,.96) 0%,rgba(5,25,37,.91) 45%,rgba(5,25,37,.82) 100%),
    linear-gradient(0deg,rgba(5,25,37,.76),rgba(5,25,37,.34));
  pointer-events:none;
}
.sa-fire-v10-requirements:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:radial-gradient(700px circle at 82% 32%,rgba(78,145,180,.18),transparent 62%);
  pointer-events:none;
}
.sa-fire-v10-requirements-inner{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:86px!important;
  align-items:center!important;
}
.sa-fire-v10-requirements-copy{max-width:520px}
.sa-fire-v10-requirements-copy .sa-fire-v10-section-title{margin-top:18px!important}
.sa-fire-v10-requirements-panel{
  background:rgba(7,35,50,.64)!important;
  border:1px solid rgba(255,255,255,.2)!important;
  box-shadow:0 30px 80px rgba(0,0,0,.3)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  padding:10px 30px!important;
  overflow:hidden!important;
}
.sa-fire-v10-requirement-item{
  position:relative!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) 22px;
  gap:20px!important;
  align-items:start!important;
  padding:27px 0!important;
  border-bottom:1px solid rgba(255,255,255,.15)!important;
  transition:transform .35s var(--sa-fire-ease),background .35s ease,padding .35s var(--sa-fire-ease);
}
.sa-fire-v10-requirement-item:last-child{border-bottom:0!important}
.sa-fire-v10-requirement-item:before{
  content:"";
  position:absolute;
  left:-30px;right:-30px;top:0;bottom:0;
  background:linear-gradient(90deg,rgba(255,255,255,.08),transparent);
  opacity:0;
  transition:opacity .35s ease;
  z-index:-1;
}
.sa-fire-v10-requirement-item:hover{transform:translateX(6px);padding-left:8px!important;padding-right:8px!important}
.sa-fire-v10-requirement-item:hover:before{opacity:1}
.sa-fire-v10-requirement-num .elementor-heading-title{font-size:11px!important;letter-spacing:.13em;color:rgba(255,255,255,.46)!important;padding-top:3px}
.sa-fire-v10-requirement-row p{font-size:14px;color:rgba(255,255,255,.76)!important;line-height:1.58}
.sa-fire-v10-requirement-row strong{display:block;color:#fff!important;font-family:"Barlow Condensed",Arial,sans-serif;font-size:22px;line-height:1.05;margin-bottom:7px}
.sa-fire-v10-requirement-arrow .elementor-heading-title{font-size:19px!important;color:rgba(255,255,255,.42)!important;transition:transform .35s var(--sa-fire-ease),color .35s ease}
.sa-fire-v10-requirement-item:hover .sa-fire-v10-requirement-arrow .elementor-heading-title{transform:translateX(4px);color:#fff!important}

/* =========================================================
   WHY SA DESIGNS
   ========================================================= */
.sa-fire-v10-proof{padding:112px 0 116px;background:linear-gradient(135deg,#0c293b 0%,#0e3348 100%);overflow:hidden!important}
.sa-fire-v10-proof-inner{display:grid!important;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:90px!important;align-items:start!important}
.sa-fire-v10-proof-title .elementor-heading-title{font-size:clamp(52px,5vw,76px)!important;line-height:.91!important;letter-spacing:-.03em;color:#fff!important;margin-top:16px!important}
.sa-fire-v10-stats-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important;margin-top:42px!important}
.sa-fire-v10-stat-card{
  position:relative!important;
  min-height:130px!important;
  padding:25px 26px!important;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.12);
  overflow:hidden!important;
  transition:transform .35s var(--sa-fire-ease),background .35s ease,border-color .35s ease;
}
.sa-fire-v10-stat-card:after{content:"";position:absolute;left:0;bottom:0;width:0;height:3px;background:var(--sa-fire-sand);transition:width .4s var(--sa-fire-ease)}
.sa-fire-v10-stat-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.22)}
.sa-fire-v10-stat-card:hover:after{width:100%}
.sa-fire-v10-stat-number .elementor-heading-title{font-size:42px!important;line-height:.9!important;color:#fff!important;margin-bottom:10px!important}
.sa-fire-v10-stat-label p{font-size:12px;color:rgba(255,255,255,.62);line-height:1.4}
.sa-fire-v10-proof-list{border-top:1px solid rgba(255,255,255,.16)}
.sa-fire-v10-proof-row{
  position:relative!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr);
  gap:14px!important;
  align-items:start!important;
  padding:18px 10px 18px 0!important;
  border-bottom:1px solid rgba(255,255,255,.13)!important;
  transition:transform .32s var(--sa-fire-ease),background .32s ease,padding .32s var(--sa-fire-ease);
}
.sa-fire-v10-proof-row:hover{transform:translateX(7px);background:rgba(255,255,255,.035);padding-left:10px!important}
.sa-fire-v10-proof-num .elementor-heading-title{font-size:10px!important;letter-spacing:.12em;color:#7698aa!important;padding-top:3px}
.sa-fire-v10-proof-point p{font-size:14px;color:rgba(255,255,255,.83);line-height:1.55}

/* =========================================================
   OFFICIAL RESOURCES — REAL CLICKABLE LINKS
   ========================================================= */
.sa-fire-v10-resources{padding:112px 0 122px;background:#f7fafc}
.sa-fire-v10-resources-inner{display:grid!important;grid-template-columns:minmax(0,.66fr) minmax(0,1.34fr);gap:84px!important;align-items:start!important}
.sa-fire-v10-resources-heading{position:sticky!important;top:110px}
.sa-fire-v10-resources-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important}
.sa-fire-v10-resource-card{
  --mx:50%;--my:50%;
  position:relative!important;
  min-height:265px!important;
  padding:28px 28px 26px!important;
  background:#fff;
  border:1px solid #d5e2e9;
  overflow:hidden!important;
  isolation:isolate;
  transition:transform .4s var(--sa-fire-ease),box-shadow .4s var(--sa-fire-ease),border-color .35s ease;
}
.sa-fire-v10-resource-card:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(145deg,#12384f 0%,#0e2d40 100%);
  transform:scale(.96);
  opacity:0;
  transition:transform .42s var(--sa-fire-ease),opacity .35s ease;
}
.sa-fire-v10-resource-card:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(340px circle at var(--mx) var(--my),rgba(255,255,255,.12),transparent 48%);
  opacity:0;
  transition:opacity .35s ease;
}
.sa-fire-v10-resource-card:hover{transform:translateY(-8px);border-color:transparent;box-shadow:0 26px 60px rgba(17,58,79,.15)}
.sa-fire-v10-resource-card:hover:before{transform:scale(1);opacity:1}
.sa-fire-v10-resource-card:hover:after{opacity:1}
.sa-fire-v10-resource-num .elementor-heading-title{font-size:11px!important;letter-spacing:.14em;color:#94aeba!important;margin-bottom:34px!important;transition:color .35s ease}
.sa-fire-v10-resource-title .elementor-heading-title{font-size:29px!important;line-height:1!important;color:var(--sa-fire-navy)!important;margin-bottom:12px!important;transition:color .35s ease,transform .4s var(--sa-fire-ease)}
.sa-fire-v10-resource-copy p{font-size:13px;color:#657f8e;line-height:1.55;transition:color .35s ease}
.sa-fire-v10-resource-button{margin-top:27px!important}
.sa-fire-v10-resource-button .elementor-button{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:38px!important;
  padding:10px 14px!important;
  border:1px solid #b9ccd7!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--sa-fire-navy)!important;
  font-family:"Barlow Condensed",Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
  transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s var(--sa-fire-ease)!important;
}
.sa-fire-v10-resource-button .elementor-button:hover{background:var(--sa-fire-blue)!important;border-color:var(--sa-fire-blue)!important;color:#fff!important;transform:translateY(-2px)!important}
.sa-fire-v10-resource-card:hover .sa-fire-v10-resource-num .elementor-heading-title{color:rgba(255,255,255,.45)!important}
.sa-fire-v10-resource-card:hover .sa-fire-v10-resource-title .elementor-heading-title{color:#fff!important;transform:translateX(4px)}
.sa-fire-v10-resource-card:hover .sa-fire-v10-resource-copy p{color:rgba(255,255,255,.74)!important}
.sa-fire-v10-resource-card:hover .sa-fire-v10-resource-button .elementor-button{border-color:rgba(255,255,255,.32)!important;color:#fff!important}

/* =========================================================
   REVEALS / MOTION
   ========================================================= */
.sa-fire-v10-reveal{
  opacity:0;
  transform:translateY(28px) scale(.985);
  filter:blur(2px);
  transition:
    opacity .7s var(--sa-fire-ease) var(--sa-delay,0ms),
    transform .7s var(--sa-fire-ease) var(--sa-delay,0ms),
    filter .7s var(--sa-fire-ease) var(--sa-delay,0ms);
}
.sa-fire-v10-reveal.is-visible{opacity:1;transform:none;filter:none}
.sa-fire-v10-page .sa-fire-v10-section-title,
.sa-fire-v10-page .sa-fire-v10-eyebrow{transition:transform .4s var(--sa-fire-ease)}
.sa-fire-v10-page section:hover .sa-fire-v10-eyebrow .elementor-heading-title:before,
.sa-fire-v10-roadmap:hover .sa-fire-v10-eyebrow .elementor-heading-title:before,
.sa-fire-v10-services:hover .sa-fire-v10-eyebrow .elementor-heading-title:before,
.sa-fire-v10-proof:hover .sa-fire-v10-eyebrow .elementor-heading-title:before,
.sa-fire-v10-resources:hover .sa-fire-v10-eyebrow .elementor-heading-title:before{transform:scaleX(1.45)}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:1180px){
  .sa-fire-v10-shell{padding-left:30px!important;padding-right:30px!important}
  .sa-fire-v10-roadmap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sa-fire-v10-roadmap-grid:before{display:none}
  .sa-fire-v10-step-card{min-height:300px!important}
  .sa-fire-v10-services-heading,.sa-fire-v10-requirements-inner,.sa-fire-v10-proof-inner,.sa-fire-v10-resources-inner{grid-template-columns:1fr;gap:46px!important}
  .sa-fire-v10-services-heading .sa-fire-v10-lead{max-width:760px}
  .sa-fire-v10-resources-heading{position:static!important;max-width:680px}
}

@media(max-width:860px){
  .sa-fire-v10-hero,.sa-fire-v10-hero-shell{min-height:560px!important}
  .sa-fire-v10-hero-shell{padding-bottom:70px!important}
  .sa-fire-v10-assurance-grid{grid-template-columns:1fr;margin-top:-34px!important}
  .sa-fire-v10-assurance-card{border-right:0;border-bottom:1px solid var(--sa-fire-line)}
  .sa-fire-v10-assurance-card:last-child{border-bottom:0}
  .sa-fire-v10-services-grid,.sa-fire-v10-resources-grid{grid-template-columns:1fr}
  .sa-fire-v10-service-card{grid-template-columns:74px minmax(0,1fr)}
  .sa-fire-v10-requirements{background-attachment:scroll!important}
}

@media(max-width:767px){
  .sa-fire-v10-shell{padding-left:18px!important;padding-right:18px!important}
  .sa-fire-v10-hero,.sa-fire-v10-hero-shell{min-height:520px!important}
  .sa-fire-v10-hero-img img{height:108%!important;object-position:58% 50%!important}
  .sa-fire-v10-hero-shell{padding-bottom:58px!important}
  .sa-fire-v10-hero-title .elementor-heading-title{font-size:clamp(54px,16vw,76px)!important;line-height:.86!important}
  .sa-fire-v10-hero-rule{margin-top:22px!important}
  .sa-fire-v10-roadmap,.sa-fire-v10-services,.sa-fire-v10-proof,.sa-fire-v10-resources{padding:78px 0 84px}
  .sa-fire-v10-requirements{padding:84px 0!important;min-height:auto!important}
  .sa-fire-v10-roadmap-grid{grid-template-columns:1fr}
  .sa-fire-v10-step-card{min-height:auto!important;padding-bottom:66px!important}
  .sa-fire-v10-step-meta{margin-bottom:34px!important}
  .sa-fire-v10-services-heading{gap:28px!important;margin-bottom:38px!important}
  .sa-fire-v10-service-card{grid-template-columns:56px minmax(0,1fr);gap:18px!important;padding:28px 22px!important;min-height:auto!important}
  .sa-fire-v10-service-num .elementor-heading-title{font-size:42px!important}
  .sa-fire-v10-service-title .elementor-heading-title{font-size:29px!important}
  .sa-fire-v10-requirements-inner{gap:34px!important}
  .sa-fire-v10-requirements-panel{padding:4px 18px!important}
  .sa-fire-v10-requirement-item{grid-template-columns:30px minmax(0,1fr) 18px;gap:10px!important;padding:22px 0!important}
  .sa-fire-v10-proof-inner{gap:42px!important}
  .sa-fire-v10-stats-grid{grid-template-columns:1fr 1fr}
  .sa-fire-v10-resources-inner{gap:38px!important}
  .sa-fire-v10-resource-card{min-height:auto!important;padding:25px 22px!important}
  .sa-fire-v10-section-title .elementor-heading-title{font-size:clamp(42px,12vw,58px)!important}
}

@media(max-width:460px){
  .sa-fire-v10-stats-grid{grid-template-columns:1fr}
  .sa-fire-v10-assurance-card{grid-template-columns:38px minmax(0,1fr) 18px;padding:22px 18px}
}

@media(prefers-reduced-motion:reduce){
  .sa-fire-v10-page *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .sa-fire-v10-reveal{opacity:1!important;transform:none!important;filter:none!important}
  .sa-fire-v10-hero-title{opacity:1!important;transform:none!important}
  .sa-fire-v10-hero-rule{width:240px!important}
  .sa-fire-v10-hero-img img{transform:scale(1.03)!important}
}
body.elementor-editor-active .sa-fire-v10-reveal,
body.elementor-editor-preview .sa-fire-v10-reveal{opacity:1!important;transform:none!important;filter:none!important}
body.elementor-editor-active .sa-fire-v10-hero-title,
body.elementor-editor-preview .sa-fire-v10-hero-title{opacity:1!important;transform:none!important}
body.elementor-editor-active .sa-fire-v10-hero-rule,
body.elementor-editor-preview .sa-fire-v10-hero-rule{width:240px!important}


/* =========================================================
   v10.3 CORRECTIONS — explicit overlays + readable hovers
   ========================================================= */

/* Hero: explicit overlay element instead of relying on Elementor pseudo layers. */
.sa-fire-v10-hero{
  min-height:720px!important;
  height:min(78vh,820px)!important;
  max-height:820px!important;
  background:#071e2c!important;
}
.sa-fire-v10-hero-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(4,18,28,.94) 0%,rgba(4,18,28,.86) 36%,rgba(4,18,28,.57) 68%,rgba(4,18,28,.32) 100%),
    linear-gradient(180deg,rgba(4,18,28,.12) 0%,rgba(4,18,28,.28) 100%)!important;
}
.sa-fire-v10-hero:before{display:none!important}
.sa-fire-v10-hero-img img{
  height:100%!important;
  filter:saturate(.78) contrast(1.08) brightness(.78)!important;
  transform:scale(1.035)!important;
  object-position:center 48%!important;
}
.sa-fire-v10-hero-shell{
  z-index:4!important;
  min-height:720px!important;
  height:100%!important;
  justify-content:center!important;
  padding-top:72px!important;
  padding-bottom:72px!important;
}
.sa-fire-v10-hero-copy{
  max-width:760px!important;
  padding:0!important;
}
.sa-fire-v10-hero-title{
  opacity:1!important;
  transform:none!important;
  animation:saFireHeroIn .8s var(--sa-fire-ease) both;
}
.sa-fire-v10-hero-title .elementor-heading-title{
  font-size:clamp(70px,7.1vw,108px)!important;
  line-height:.88!important;
  letter-spacing:-.035em!important;
  color:#fff!important;
  text-shadow:0 8px 26px rgba(0,0,0,.35)!important;
  max-width:760px!important;
}
.sa-fire-v10-hero-title .elementor-heading-title span{
  color:var(--sa-fire-sand)!important;
  font-style:normal!important;
  font-weight:600!important;
  opacity:1!important;
  transform:none!important;
}
.sa-fire-v10-hero-rule{
  width:190px!important;
  height:2px!important;
  margin-top:34px!important;
  background:linear-gradient(90deg,var(--sa-fire-sand),rgba(209,183,142,0))!important;
}
@keyframes saFireHeroIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* Rebuild sequence: one visual language for all five cards, no arrow decoration. */
.sa-fire-v10-roadmap-grid{align-items:stretch!important}
.sa-fire-v10-step-card{
  min-height:350px!important;
  padding:26px 23px 30px!important;
  background:#fff!important;
  border:1px solid #cfdee6!important;
  box-shadow:0 8px 24px rgba(18,61,84,.035)!important;
}
.sa-fire-v10-step-card:hover{
  background:#f5f9fb!important;
  border-color:#9dbdce!important;
  transform:translateY(-7px)!important;
  box-shadow:0 22px 50px rgba(13,53,75,.11)!important;
}
.sa-fire-v10-step-card:before{
  height:3px!important;
  transform:scaleX(.24)!important;
}
.sa-fire-v10-step-card:hover:before{transform:scaleX(1)!important}
.sa-fire-v10-step-card:after{opacity:0!important}
.sa-fire-v10-step-card:hover:after{opacity:0!important}
.sa-fire-v10-step-num .elementor-heading-title{
  background:#fff!important;
  color:var(--sa-fire-navy)!important;
  border:1px solid #b8ccd7!important;
  box-shadow:0 0 0 7px #fff!important;
}
.sa-fire-v10-step-card:hover .sa-fire-v10-step-num .elementor-heading-title{
  background:var(--sa-fire-navy)!important;
  border-color:var(--sa-fire-navy)!important;
  color:#fff!important;
}
.sa-fire-v10-step-title .elementor-heading-title,
.sa-fire-v10-step-card:hover .sa-fire-v10-step-title .elementor-heading-title{color:var(--sa-fire-navy)!important}
.sa-fire-v10-step-copy p,
.sa-fire-v10-step-card:hover .sa-fire-v10-step-copy p{color:#617b8a!important}
.sa-fire-v10-step-role .elementor-heading-title,
.sa-fire-v10-step-card:hover .sa-fire-v10-step-role .elementor-heading-title{color:#7593a4!important}
.sa-fire-v10-step-arrow{display:none!important}

/* Services: retain light card backgrounds on hover so text can never become white-on-white. */
.sa-fire-v10-service-card{
  background:#fff!important;
  border-color:#d1e0e7!important;
}
.sa-fire-v10-service-card:before{
  z-index:0!important;
  inset:auto 0 0 0!important;
  height:4px!important;
  transform:scaleX(0)!important;
  transform-origin:left!important;
  background:linear-gradient(90deg,var(--sa-fire-blue),var(--sa-fire-blue-2))!important;
}
.sa-fire-v10-service-card:after{
  z-index:0!important;
  background:radial-gradient(420px circle at var(--mx) var(--my),rgba(63,131,170,.11),transparent 52%)!important;
}
.sa-fire-v10-service-card:hover{
  background:#f9fcfd!important;
  border-color:#a8c5d3!important;
  transform:translateY(-8px)!important;
  box-shadow:0 26px 58px rgba(12,48,67,.12)!important;
}
.sa-fire-v10-service-card:hover:before{transform:scaleX(1)!important}
.sa-fire-v10-service-card:hover:after{opacity:1!important}
.sa-fire-v10-service-card>.e-con,
.sa-fire-v10-service-card>.elementor-element{position:relative!important;z-index:2!important}
.sa-fire-v10-service-card:hover .sa-fire-v10-service-num .elementor-heading-title{color:#8eb1c3!important}
.sa-fire-v10-service-card:hover .sa-fire-v10-service-title .elementor-heading-title{color:var(--sa-fire-navy)!important;transform:translateX(5px)!important}
.sa-fire-v10-service-card:hover .sa-fire-v10-service-copy p{color:#557180!important}
.sa-fire-v10-service-card:hover .sa-fire-v10-service-link .elementor-heading-title{color:var(--sa-fire-blue)!important}

/* Key requirements: guaranteed explicit dark overlay above the background image. */
.sa-fire-v10-requirements{isolation:isolate!important;background-color:#0a2738!important}
.sa-fire-v10-requirements:before,.sa-fire-v10-requirements:after{display:none!important}
.sa-fire-v10-requirements-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(4,20,30,.95) 0%,rgba(4,20,30,.90) 42%,rgba(4,20,30,.78) 100%),
    linear-gradient(0deg,rgba(4,20,30,.72),rgba(4,20,30,.18))!important;
}
.sa-fire-v10-requirements-inner{z-index:3!important}
.sa-fire-v10-requirements-copy .elementor-heading-title,
.sa-fire-v10-requirements-copy p{color:#fff!important}
.sa-fire-v10-requirements-copy .sa-fire-v10-lead p{color:rgba(255,255,255,.82)!important}

/* Resources: exact client resource set, light hover, always-readable text. */
.sa-fire-v10-resources-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.sa-fire-v10-resource-card{
  min-height:235px!important;
  background:#fff!important;
  border-color:#d5e2e9!important;
  box-shadow:0 7px 22px rgba(17,58,79,.035)!important;
}
.sa-fire-v10-resource-card:before{
  z-index:0!important;
  inset:auto 0 0 0!important;
  height:4px!important;
  opacity:1!important;
  transform:scaleX(0)!important;
  transform-origin:left!important;
  background:linear-gradient(90deg,var(--sa-fire-blue),var(--sa-fire-blue-2))!important;
}
.sa-fire-v10-resource-card:after{
  z-index:0!important;
  background:radial-gradient(380px circle at var(--mx) var(--my),rgba(63,131,170,.10),transparent 52%)!important;
}
.sa-fire-v10-resource-card:hover{
  background:#f8fbfd!important;
  border-color:#a9c5d2!important;
  transform:translateY(-7px)!important;
  box-shadow:0 24px 54px rgba(17,58,79,.12)!important;
}
.sa-fire-v10-resource-card:hover:before{transform:scaleX(1)!important}
.sa-fire-v10-resource-card:hover:after{opacity:1!important}
.sa-fire-v10-resource-card>.e-con,
.sa-fire-v10-resource-card>.elementor-element{position:relative!important;z-index:2!important}
.sa-fire-v10-resource-card:hover .sa-fire-v10-resource-num .elementor-heading-title{color:#7f9eae!important}
.sa-fire-v10-resource-card:hover .sa-fire-v10-resource-title .elementor-heading-title{color:var(--sa-fire-navy)!important;transform:translateX(4px)!important}
.sa-fire-v10-resource-card:hover .sa-fire-v10-resource-copy p{color:#617b8a!important}
.sa-fire-v10-resource-card:hover .sa-fire-v10-resource-button .elementor-button{
  background:var(--sa-fire-navy)!important;
  border-color:var(--sa-fire-navy)!important;
  color:#fff!important;
}
.sa-fire-v10-resource-button .elementor-button:after{
  content:'↗';
  font-size:13px;
  margin-left:2px;
  transition:transform .3s var(--sa-fire-ease);
}
.sa-fire-v10-resource-button .elementor-button:hover:after{transform:translate(2px,-2px)}

@media(max-width:860px){
  .sa-fire-v10-hero{height:auto!important;min-height:620px!important;max-height:none!important}
  .sa-fire-v10-hero-shell{min-height:620px!important}
}
@media(max-width:767px){
  .sa-fire-v10-hero{min-height:570px!important}
  .sa-fire-v10-hero-shell{min-height:570px!important;padding-top:54px!important;padding-bottom:54px!important}
  .sa-fire-v10-hero-title .elementor-heading-title{font-size:clamp(56px,16vw,78px)!important}
  .sa-fire-v10-resources-grid{grid-template-columns:1fr!important}
}
