:root{
  --navy:#0b2239;
  --navy-deep:#061725;
  --red:#df1820;
  --ink:#17212b;
  --muted:#64717d;
  --line:#dfe4e8;
  --soft:#f5f6f7;
  --white:#ffffff;
  --max:1320px;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:'Inter',Arial,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.5;
}

a{text-decoration:none;color:inherit}

img{display:block;width:100%}

.container{
  width:min(var(--max),calc(100% - 64px));
  margin:0 auto;
}


/* HEADER */

.site-header{
  background:var(--navy);
  border-bottom:4px solid var(--red);
  position:relative;
  z-index:50;
}

.header-inner{
  min-height:96px;
  display:flex;
  align-items:center;
  gap:34px;
}

.brand{
  display:flex;
  align-items:center;
  gap:14px;
  margin-right:auto;
}

.site-logo{
  width:66px;
  height:66px;
  object-fit:contain;
  flex:0 0 auto;
}

.brand-text{
  font-family:'Manrope',sans-serif;
  font-size:24px;
  font-weight:800;
  color:#fff;
  letter-spacing:-.8px;
  white-space:nowrap;
}

.main-nav{
  display:flex;
  align-items:center;
  gap:32px;
}

.main-nav a{
  color:#eef3f6;
  font-size:14px;
  font-weight:600;
}

.main-nav a:hover{color:#fff}

.header-cta{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 22px;
  background:var(--red);
  color:#fff;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
}

.header-cta:hover{background:#bd1118}

.menu-toggle{
  display:none;
  border:0;
  background:transparent;
  padding:8px;
}

.menu-toggle span{
  display:block;
  width:23px;
  height:2px;
  margin:5px 0;
  background:#fff;
}


/* HERO */

.hero-section{
  padding:34px 0 30px;
  background:#f4f7f9;
}

.hero-card{
  display:grid;
  grid-template-columns:47% 53%;
  min-height:525px;
  background:#fff;
  border:1px solid #e0e6eb;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(11,34,57,.08);
  overflow:hidden;
}

.hero-copy-wrap{
  display:flex;
  align-items:center;
  padding:54px 54px 54px 48px;
}

.hero-copy{
  width:100%;
  max-width:600px;
}

.eyebrow,
.section-label{
  margin:0 0 18px;
  color:var(--red);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:2px;
}

.hero-section .eyebrow{
  font-size:16px;
  line-height:1.35;
}

.hero-copy h1{
  margin:0;
  font-family:'Manrope',sans-serif;
  color:var(--navy);
  font-size:56px;
  line-height:1.06;
  font-weight:700;
  letter-spacing:-2.1px;
}

.hero-rule{
  width:58px;
  height:4px;
  margin:28px 0;
  background:var(--red);
  border-radius:999px;
}

.hero-lead{
  max-width:570px;
  margin:0 0 28px;
  color:#3f4b55;
  font-size:16px;
  line-height:1.72;
}

.hero-button{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:0 20px;
  background:var(--red);
  color:#fff;
  border-radius:4px;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
}

.hero-button:hover{
  background:#bd1118;
}

.hero-button span{
  font-size:18px;
}

.hero-visual{
  margin:10px 10px 10px 0;
  min-height:505px;
  overflow:hidden;
  border-radius:16px;
  background:#eef2f4;
}

.hero-visual img{
  width:100%;
  height:100%;
  min-height:505px;
  object-fit:cover;
  object-position:center;
  display:block;
}

@media(max-width:1100px){
  .hero-card{grid-template-columns:49% 51%}
  .hero-copy-wrap{padding:46px 38px}
  .hero-copy h1{font-size:46px}
  .hero-section .eyebrow{font-size:15px}
}

@media(max-width:820px){
  .hero-section{padding:22px 0 24px}
  .hero-card{grid-template-columns:1fr;min-height:0}
  .hero-copy-wrap{order:2;padding:42px 34px 46px}
  .hero-visual{order:1;margin:10px 10px 0;min-height:310px;border-radius:14px}
  .hero-visual img{min-height:310px;height:310px}
  .hero-copy h1{font-size:42px}
  .hero-section .eyebrow{font-size:14px}
}

@media(max-width:600px){
  .hero-card{border-radius:14px}
  .hero-copy-wrap{padding:34px 22px 38px}
  .hero-visual{margin:8px 8px 0;min-height:240px;border-radius:11px}
  .hero-visual img{min-height:240px;height:240px}
  .hero-copy h1{font-size:35px;letter-spacing:-1.3px}
  .hero-section .eyebrow{font-size:13px;letter-spacing:1.5px}
  .hero-lead{font-size:15px}
}


/* LIFECYCLE */

.lifecycle{
  background:#eef4f8;
  padding:30px 0 46px;
}

.lifecycle-panel{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:#fff;
  border:1px solid #d6dfe6;
  border-radius:12px;
  box-shadow:0 10px 26px rgba(11,34,57,.10);
  overflow:hidden;
}

.lifecycle-item{
  min-height:220px;
  display:grid;
  grid-template-columns:118px 1fr;
  gap:18px;
  align-items:center;
  padding:28px 24px;
  border-right:1px solid #d6dfe6;
}

.lifecycle-item:last-child{
  border-right:0;
}

.lifecycle-picture{
  width:112px;
  height:112px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.lifecycle-picture img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.lifecycle-copy span{
  display:block;
  margin-bottom:8px;
  color:var(--red);
  font-size:12px;
  font-weight:700;
}

.lifecycle-copy strong{
  display:block;
  margin-bottom:10px;
  color:var(--navy);
  font-family:'Manrope',sans-serif;
  font-size:18px;
}

.lifecycle-copy p{
  margin:0;
  color:#50606e;
  font-size:13px;
  line-height:1.65;
}


/* SECTIONS */

.section{
  padding:100px 0;
}

.section-intro{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:80px;
  align-items:end;
  margin-bottom:52px;
}

.section h2,
.project-cta h2{
  margin:0;
  max-width:760px;
  font-family:'Manrope',sans-serif;
  color:var(--navy);
  font-size:44px;
  line-height:1.12;
  font-weight:700;
  letter-spacing:-1.5px;
}

.section-summary{
  max-width:540px;
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.75;
}


/* SERVICES */

.services{
  background:#eef4f8;
}

.capability-panel{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:#fff;
  border:1px solid #d6dfe6;
  border-radius:12px;
  box-shadow:0 10px 26px rgba(11,34,57,.08);
  overflow:hidden;
}

.capability-item{
  min-height:250px;
  display:grid;
  grid-template-columns:150px 1fr;
  gap:22px;
  align-items:center;
  padding:30px 26px;
  border-right:1px solid #d6dfe6;
  background:#fff;
}

.capability-item:last-child{
  border-right:0;
}

.capability-picture{
  width:145px;
  height:145px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.capability-picture img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.capability-copy span{
  display:block;
  margin-bottom:9px;
  color:var(--red);
  font-size:12px;
  font-weight:700;
}

.capability-copy strong{
  display:block;
  margin-bottom:11px;
  color:var(--navy);
  font-family:'Manrope',sans-serif;
  font-size:19px;
  line-height:1.25;
}

.capability-copy p{
  margin:0;
  color:#50606e;
  font-size:13px;
  line-height:1.65;
}

/* WHY ULTIMATE */

.why-ultimate{
  background:#fff;
}

.why-heading{
  max-width:980px;
  margin:0 auto 42px;
  text-align:center;
}

.why-heading .section-label{
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:1.4px !important;
  text-transform:uppercase !important;
  color:var(--red) !important;
  margin-bottom:14px !important;
}

.why-heading h2{
  max-width:none;
  margin:0;
  color:var(--navy);
  font-family:'Manrope',sans-serif;
  font-size:38px;
  line-height:1.15;
  font-weight:700;
  letter-spacing:-1px;
}

.why-divider{
  width:72px;
  height:4px;
  margin:22px auto;
  background:var(--red);
}

.why-intro{
  max-width:900px;
  margin:0 auto;
  color:#50606e;
  font-size:15px;
  line-height:1.75;
}

.why-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:16px;
}

.why-card{
  min-height:315px;
  padding:28px 22px 30px;
  background:#fff;
  border:1px solid #d6dfe6;
  border-radius:12px;
  box-shadow:0 8px 22px rgba(11,34,57,.07);
  text-align:center;
}

.why-icon{
  width:58px;
  height:58px;
  margin:0 auto 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid var(--red);
  border-radius:50%;
  color:var(--red);
  background:#fff7f7;
  font-size:13px;
  font-weight:800;
}

.why-card h3{
  margin:0 0 16px;
  color:var(--navy);
  font-family:'Manrope',sans-serif;
  font-size:17px;
  line-height:1.3;
}

.why-card p{
  margin:0;
  color:#536371;
  font-size:12.5px;
  line-height:1.7;
}

.why-goal{
  margin-top:22px;
  padding:22px 26px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  background:#f7f9fb;
  border:1px solid #d6dfe6;
  border-radius:10px;
  color:#3f4c57;
  text-align:center;
  font-size:14px;
  line-height:1.6;
}

.why-goal strong{
  color:var(--navy);
}

.why-goal span{
  color:#4e5d69;
}

@media(max-width:1200px){
  .why-grid{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:820px){
  .why-grid{
    grid-template-columns:1fr 1fr;
  }

  .why-heading h2{
    font-size:32px;
  }
}

@media(max-width:600px){
  .why-grid{
    grid-template-columns:1fr;
  }

  .why-card{
    min-height:0;
  }

  .why-heading h2{
    font-size:28px;
  }

  .why-intro{
    font-size:14px;
  }
}


/* INDUSTRIES */

.industries{background:#f4f7f9}
.industries-intro{max-width:980px;margin-bottom:38px}
.industries-intro .section-label{
  font-size:18px!important;line-height:1.2!important;font-weight:700!important;
  letter-spacing:1.4px!important;text-transform:uppercase!important;
  color:var(--red)!important;margin-bottom:14px!important
}
.industries-intro h2{
  margin:0;max-width:1040px;color:var(--navy);font-family:'Manrope',sans-serif;
  font-size:38px;line-height:1.15;font-weight:700;letter-spacing:-1px
}
.industries-rule{width:58px;height:4px;margin:20px 0;background:var(--red);border-radius:999px}
.industries-summary{max-width:720px;margin:0;color:#536371;font-size:14px;line-height:1.7}
.industry-card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.industry-card{
  background:#fff;border:1px solid #d6dfe6;border-radius:12px;
  box-shadow:0 8px 22px rgba(11,34,57,.07);overflow:hidden
}
.industry-image-wrap{position:relative;padding:14px 14px 0}
.industry-image-wrap img{width:100%;height:180px;object-fit:cover;display:block;border-radius:9px}
.industry-badge{
  width:62px;height:62px;position:absolute;left:50%;bottom:-30px;transform:translateX(-50%);
  display:flex;align-items:center;justify-content:center;border-radius:50%;
  background:var(--red);color:#fff;border:4px solid #fff;
  box-shadow:0 4px 10px rgba(0,0,0,.12);font-size:24px;font-weight:700
}
.industry-card-body{padding:46px 22px 28px}
.industry-card h3{
  margin:0;color:var(--navy);font-family:'Manrope',sans-serif;
  font-size:18px;line-height:1.25
}
.industry-accent{width:34px;height:3px;margin:15px 0 16px;background:var(--red)}
.industry-card p{margin:0;color:#536371;font-size:12.5px;line-height:1.65}

@media(max-width:1200px){.industry-card-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){
  .industry-card-grid{grid-template-columns:1fr 1fr}
  .industries-intro h2{font-size:32px}
}
@media(max-width:600px){
  .industry-card-grid{grid-template-columns:1fr}
  .industries-intro h2{font-size:28px}
  .industry-image-wrap img{height:220px}
}

/* CTA */
/* Start a Project section removed in v18 */


/* FOOTER */

.site-footer{
  background:var(--red);
  color:#fff;
}

.footer-top{
  display:grid;
  grid-template-columns:2fr 1.15fr 1.25fr 1fr;
  gap:44px;
  padding:56px 0 42px;
}

.footer-brand-line{
  display:flex;
  align-items:flex-start;
  gap:18px;
}

.footer-logo{
  width:76px;
  height:76px;
  object-fit:contain;
  flex:0 0 auto;
  background:#fff;
  border-radius:10px;
  padding:5px;
}

.footer-brand-block strong{
  display:block;
  max-width:430px;
  color:#fff;
  font-family:'Manrope',sans-serif;
  font-size:20px;
  line-height:1.25;
  font-weight:800;
}

.footer-brand-block p{
  max-width:410px;
  margin:12px 0 0;
  color:rgba(255,255,255,.86);
  font-size:13px;
  line-height:1.7;
}

.footer-heading{
  display:block;
  margin-bottom:14px;
  color:#fff;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1.1px;
}

.footer-column a,
.footer-column span:not(.footer-heading){
  display:block;
  margin:8px 0;
  color:rgba(255,255,255,.86);
  font-size:13px;
  line-height:1.5;
}

.footer-column a:hover{
  color:#fff;
  text-decoration:underline;
}

.footer-bottom{
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-top:1px solid rgba(255,255,255,.26);
  color:rgba(255,255,255,.82);
  font-size:11px;
}

/* RESPONSIVE */

@media(max-width:1100px){

  .brand-text{font-size:18px}
  .main-nav{gap:20px}

  .hero{
    grid-template-columns:50% 50%;
  }

  .hero-copy-wrap{
    padding-right:38px;
  }

  .hero h1{
    font-size:48px;
  }

  .service-grid{
    grid-template-columns:repeat(3,1fr);
  }

  .section-intro,
  .about-grid,
  .project-cta-inner{
    grid-template-columns:1fr;
    gap:34px;
  }

  .industry-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:1100px){

  .hero .eyebrow{
    font-size:15px;
  }

}

@media(max-width:820px){

  .container{
    width:min(var(--max),calc(100% - 36px));
  }

  .header-inner{
    min-height:78px;
  }

  .header-cta{
    display:none;
  }

  .menu-toggle{
    display:block;
  }

  .main-nav{
    display:none;
    position:absolute;
    top:78px;
    left:0;
    right:0;
    padding:22px;
    background:#fff;
    border-top:1px solid var(--line);
    box-shadow:0 18px 30px rgba(0,0,0,.08);
  }

  .main-nav a{
    color:var(--navy);
  }

  .main-nav a:hover{
    color:var(--red);
  }

  .main-nav.open{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }

  .site-logo{
    width:56px;
    height:56px;
  }

  .brand-text{
    font-size:16px;
  }

  .hero{
    grid-template-columns:1fr;
  }

  .hero-copy-wrap{
    order:2;
    justify-content:flex-start;
    padding:48px 36px 54px;
  }

  .hero-copy{
    width:100%;
    max-width:none;
  }

  .hero-visual{
    order:1;
    min-height:330px;
  }

  .hero-visual img{
    min-height:330px;
    height:330px;
  }

  .hero h1{
    font-size:46px;
  }

  .lifecycle-grid{
    grid-template-columns:1fr 1fr;
  }

  .lifecycle-item{
    border-bottom:1px solid var(--line);
  }

  .section{
    padding:76px 0;
  }

  .section h2{
    font-size:36px;
  }

  .footer-top{
    grid-template-columns:1fr 1fr;
  }

  .footer-brand{
    grid-column:1 / -1;
  }
}

@media(max-width:820px){

  .hero .eyebrow{
    font-size:14px;
    letter-spacing:1.8px;
  }

}

@media(max-width:600px){

  .container{
    width:min(var(--max),calc(100% - 28px));
  }

  .site-logo{
    width:46px;
    height:46px;
  }

  .brand-text{
    font-size:13px;
  }

  .hero-copy-wrap{
    padding:42px 24px 48px;
  }

  .hero-visual,
  .hero-visual img{
    min-height:260px;
    height:260px;
  }

  .hero h1{
    font-size:38px;
  }

  .hero-lead{
    font-size:15px;
  }

  .lifecycle-grid{
    grid-template-columns:1fr;
  }

  .lifecycle-item{
    min-height:0;
    border-right:0;
  }

  .section{
    padding:62px 0;
  }

  .section h2,
  .project-cta h2{
    font-size:31px;
  }

  .service-grid{
    grid-template-columns:1fr;
  }

  .service-card img{
    height:220px;
  }

  .industry-grid{
    grid-template-columns:1fr 1fr;
  }

  .industry-grid div{
    min-height:92px;
    padding:14px;
    font-size:14px;
  }

  .footer-top{
    grid-template-columns:1fr;
  }

  .footer-brand{
    grid-column:auto;
  }

  .footer-bottom{
    align-items:flex-start;
    flex-direction:column;
    justify-content:center;
    gap:5px;
  }
}


/* V8 lifecycle illustration responsiveness */
@media(max-width:1100px){
  .lifecycle-item{
    grid-template-columns:82px 1fr;
    padding:22px 18px;
  }
  .lifecycle-picture{
    width:78px;
    height:78px;
  }
}

@media(max-width:820px){
  .lifecycle-item{
    min-height:170px;
    grid-template-columns:82px 1fr;
  }
  .lifecycle-picture{
    width:78px;
    height:78px;
  }
}

@media(max-width:600px){
  .lifecycle-item{
    grid-template-columns:90px 1fr;
    min-height:150px;
  }
  .lifecycle-picture{
    width:86px;
    height:86px;
  }
}


/* V9 visual tuning */
@media(max-width:1100px){
  .brand-text{font-size:20px}
  .site-logo{width:58px;height:58px}
  .hero h1{font-size:46px}
  .hero .eyebrow{font-size:15px}
  .lifecycle-item{
    grid-template-columns:88px 1fr;
    padding:22px 18px;
  }
  .lifecycle-picture{
    width:84px;
    height:84px;
  }
}

@media(max-width:820px){
  .site-header{border-bottom-width:3px}
  .header-inner{min-height:78px}
  .brand-text{font-size:16px}
  .site-logo{width:52px;height:52px}
  .hero{
    grid-template-columns:1fr;
  }
  .hero-copy-wrap{
    order:2;
    padding:46px 34px 50px;
  }
  .hero-visual{
    order:1;
    min-height:300px;
  }
  .hero-visual img{
    min-height:300px;
    height:300px;
  }
  .hero h1{font-size:43px}
  .hero .eyebrow{font-size:14px}
  .lifecycle-panel{
    grid-template-columns:1fr 1fr;
  }
  .lifecycle-item{
    border-bottom:1px solid #d6dfe6;
  }
}

@media(max-width:600px){
  .brand-text{font-size:13px}
  .site-logo{width:44px;height:44px}
  .hero-visual,
  .hero-visual img{
    min-height:240px;
    height:240px;
  }
  .hero-copy-wrap{
    padding:38px 22px 44px;
  }
  .hero h1{font-size:36px}
  .hero .eyebrow{font-size:13px}
  .hero-lead{font-size:15px}
  .lifecycle{
    padding:22px 0 34px;
  }
  .lifecycle-panel{
    grid-template-columns:1fr;
  }
  .lifecycle-item{
    min-height:160px;
    grid-template-columns:96px 1fr;
    border-right:0;
  }
  .lifecycle-picture{
    width:92px;
    height:92px;
  }
}


/* V10 capability panel responsiveness */
@media(max-width:980px){
  .capability-panel{
    grid-template-columns:1fr;
  }

  .capability-card{
    display:grid;
    grid-template-columns:42% 58%;
    border-right:0;
    border-bottom:1px solid #d6dfe6;
  }

  .capability-card:last-child{
    border-bottom:0;
  }

  .capability-image{
    height:100%;
    min-height:220px;
    border-bottom:0;
    border-right:1px solid #d6dfe6;
  }

  .capability-body{
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
}

@media(max-width:600px){
  .capability-card{
    grid-template-columns:1fr;
  }

  .capability-image{
    min-height:0;
    height:220px;
    border-right:0;
    border-bottom:1px solid #d6dfe6;
  }

  .capability-body{
    padding:22px 20px 26px;
  }

  .capability-body h3{
    font-size:18px;
  }
}

@media(max-width:1100px){
  .capability-item{grid-template-columns:112px 1fr;padding:24px 20px}
  .capability-picture{width:108px;height:108px}
  .capability-copy strong{font-size:17px}
}
@media(max-width:820px){
  .capability-panel{grid-template-columns:1fr}
  .capability-item{min-height:180px;grid-template-columns:130px 1fr;border-right:0;border-bottom:1px solid #d6dfe6}
  .capability-item:last-child{border-bottom:0}
  .capability-picture{width:124px;height:124px}
}
@media(max-width:600px){
  .capability-item{grid-template-columns:105px 1fr;gap:16px;padding:22px 18px}
  .capability-picture{width:100px;height:100px}
  .capability-copy strong{font-size:16px}
  .capability-copy p{font-size:12.5px}
}

/* V12 section naming */
.lifecycle-heading{
  padding:0 0 16px;
}
.lifecycle-heading .section-label{
  margin:0;
}


/* V13 market panel responsiveness */
@media(max-width:1100px){
  .market-panel{
    grid-template-columns:repeat(2,1fr);
  }

  .market-item{
    border-bottom:1px solid #d6dfe6;
  }

  .market-item:nth-child(4n){
    border-right:1px solid #d6dfe6;
  }

  .market-item:nth-child(2n){
    border-right:0;
  }

  .market-item:nth-child(n+7){
    border-bottom:0;
  }
}

@media(max-width:700px){
  .market-panel{
    grid-template-columns:1fr;
  }

  .market-item,
  .market-item:nth-child(2n),
  .market-item:nth-child(4n){
    border-right:0;
    border-bottom:1px solid #d6dfe6;
  }

  .market-item:last-child{
    border-bottom:0;
  }

  .market-item{
    grid-template-columns:105px 1fr;
    min-height:140px;
  }

  .market-picture{
    width:98px;
    height:88px;
  }
}


/* V15 unified major section headings */
.lifecycle-heading .section-label,
.services .section-intro .section-label,
.markets-heading .section-label{
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:1.4px !important;
  text-transform:uppercase !important;
  color:var(--red) !important;
  margin-bottom:16px !important;
}

@media(max-width:820px){
  .lifecycle-heading .section-label,
  .services .section-intro .section-label,
  .markets-heading .section-label{
    font-size:16px !important;
  }
}

@media(max-width:600px){
  .lifecycle-heading .section-label,
  .services .section-intro .section-label,
  .markets-heading .section-label{
    font-size:15px !important;
    letter-spacing:1.2px !important;
  }
}


/* V18 footer responsiveness */
@media(max-width:980px){
  .footer-top{
    grid-template-columns:1fr 1fr;
    gap:34px;
  }

  .footer-brand-block{
    grid-column:1 / -1;
  }
}

@media(max-width:600px){
  .footer-top{
    grid-template-columns:1fr;
    gap:26px;
    padding:42px 0 34px;
  }

  .footer-brand-block{
    grid-column:auto;
  }

  .footer-brand-line{
    align-items:center;
  }

  .footer-logo{
    width:62px;
    height:62px;
  }

  .footer-brand-block strong{
    font-size:17px;
  }

  .footer-bottom{
    min-height:78px;
    align-items:flex-start;
    justify-content:center;
    flex-direction:column;
    gap:5px;
  }
}


/* COMPLETED PROJECTS */

.projects{
  background:#fff;
}

.projects-heading{
  margin-bottom:28px;
}

.project-panel{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:#fff;
  border:1px solid #d6dfe6;
  border-radius:12px;
  box-shadow:0 10px 26px rgba(11,34,57,.08);
  overflow:hidden;
}

.project-card{
  background:#fff;
  border-right:1px solid #d6dfe6;
}

.project-card:last-child{
  border-right:0;
}

.project-image{
  height:230px;
  overflow:hidden;
  background:#eef2f4;
  border-bottom:1px solid #d6dfe6;
}

.project-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.project-body{
  padding:22px 24px 24px;
}

.project-body span{
  display:block;
  margin-bottom:8px;
  color:var(--red);
  font-size:12px;
  font-weight:700;
}

.project-body strong{
  display:block;
  color:var(--navy);
  font-family:'Manrope',sans-serif;
  font-size:20px;
  line-height:1.25;
}

.project-body p{
  margin:7px 0 0;
  color:#60707d;
  font-size:13px;
}

@media(max-width:820px){
  .project-panel{
    grid-template-columns:1fr;
  }

  .project-card{
    border-right:0;
    border-bottom:1px solid #d6dfe6;
  }

  .project-card:last-child{
    border-bottom:0;
  }

  .project-image{
    height:260px;
  }
}

@media(max-width:600px){
  .project-image{
    height:210px;
  }

  .project-body strong{
    font-size:18px;
  }
}

/* V22 longer Service 01 title */
.lifecycle-item:first-child .lifecycle-copy strong{
  font-size:14px;
  line-height:1.3;
}
.lifecycle-item:first-child .lifecycle-copy p{
  font-size:11.5px;
  line-height:1.55;
}


/* V23 HEADER CONTACT BAR */
.header-contact-bar{
  background:#071a2b;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.header-contact-inner{
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:28px;
}
.header-contact-inner a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#e8eef3;
  font-size:12px;
  font-weight:500;
}
.header-contact-inner a:hover{
  color:#fff;
}
.contact-symbol{
  color:#fff;
  font-size:14px;
}
.header-cta{
  background:var(--red) !important;
  color:#fff !important;
  border:0 !important;
  min-height:44px;
  padding:0 25px;
  text-transform:none;
  font-size:13px;
  border-radius:4px;
}

/* V23 CONTACT SECTION */
.contact-section{
  background:#eef4f8;
}
.contact-shell{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:70px;
  padding:52px;
  background:#fff;
  border:1px solid #d6dfe6;
  border-radius:16px;
  box-shadow:0 10px 28px rgba(11,34,57,.08);
}
.contact-intro h2{
  margin:0 0 18px;
  color:var(--navy);
  font-family:'Manrope',sans-serif;
  font-size:38px;
  line-height:1.15;
}
.contact-intro>p:not(.section-label){
  max-width:520px;
  margin:0 0 32px;
  color:#536371;
  font-size:14px;
  line-height:1.75;
}
.contact-details{
  display:grid;
  gap:0;
  border-top:1px solid #dfe5ea;
}
.contact-details>a,
.contact-details>div{
  padding:18px 0;
  border-bottom:1px solid #dfe5ea;
}
.contact-details span{
  display:block;
  margin-bottom:4px;
  color:var(--red);
  font-size:10px;
  font-weight:800;
  letter-spacing:1.2px;
}
.contact-details strong{
  color:var(--navy);
  font-size:14px;
  font-weight:700;
}
.contact-form{
  display:grid;
  gap:18px;
}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.contact-form label{
  display:grid;
  gap:7px;
}
.contact-form label>span{
  color:var(--navy);
  font-size:12px;
  font-weight:700;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  border:1px solid #cfd8df;
  border-radius:5px;
  background:#fff;
  color:#263746;
  font-family:'Inter',Arial,sans-serif;
  font-size:14px;
  outline:none;
}
.contact-form input,
.contact-form select{
  min-height:46px;
  padding:0 13px;
}
.contact-form textarea{
  padding:12px 13px;
  resize:vertical;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:var(--navy);
  box-shadow:0 0 0 2px rgba(11,34,57,.06);
}
.contact-submit{
  justify-self:start;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  gap:11px;
  padding:0 24px;
  border:0;
  border-radius:4px;
  background:var(--red);
  color:#fff;
  font-family:'Inter',Arial,sans-serif;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  cursor:pointer;
}
.contact-submit:hover{
  background:#bd1118;
}
.contact-submit span{
  font-size:18px;
}
.form-note{
  margin:0;
  color:#7a8790;
  font-size:11px;
}

@media(max-width:900px){
  .header-contact-inner{
    justify-content:center;
  }
  .contact-shell{
    grid-template-columns:1fr;
    gap:40px;
    padding:38px;
  }
}
@media(max-width:600px){
  .header-contact-inner{
    min-height:42px;
    flex-direction:column;
    gap:2px;
    padding:6px 0;
  }
  .header-contact-inner a{
    font-size:10px;
  }
  .contact-shell{
    padding:26px 20px;
  }
  .contact-intro h2{
    font-size:30px;
  }
  .form-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V25 CONSOLIDATED DESIGN OVERRIDES
   ========================================================= */

/* HERO */
.hero-copy h1{
  font-size:50px !important;
  line-height:1.06 !important;
  letter-spacing:-1.8px !important;
}
.hero-copy h1 span{
  color:var(--red);
}
.hero-lead{
  font-size:16px !important;
  line-height:1.68 !important;
}
@media(max-width:1100px){
  .hero-copy h1{font-size:44px !important}
}
@media(max-width:600px){
  .hero-copy h1{font-size:34px !important}
}

/* SERVICES */
.lifecycle{
  background:#eef4f8;
  padding:46px 0;
}
.lifecycle-heading{
  padding:0 0 22px;
}
.service-panel{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:#fff;
  border:1px solid #d6dfe6;
  border-radius:14px;
  box-shadow:0 10px 26px rgba(11,34,57,.08);
  overflow:hidden;
}
.service-card{
  min-height:470px;
  padding:38px 28px 32px;
  text-align:center;
  border-right:1px solid #d6dfe6;
}
.service-card:last-child{border-right:0}
.service-visual{
  width:185px;
  height:170px;
  margin:0 auto 24px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.service-visual img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.service-visual-design{
  width:220px;
  height:180px;
}
.service-card h3{
  margin:0 0 18px;
  color:var(--navy);
  font-family:'Manrope',sans-serif;
  font-size:21px;
  line-height:1.28;
}
.service-card p{
  max-width:270px;
  margin:0 auto;
  color:#536371;
  font-size:13.5px;
  line-height:1.7;
}
@media(max-width:980px){
  .service-panel{grid-template-columns:1fr 1fr}
  .service-card{border-bottom:1px solid #d6dfe6}
  .service-card:nth-child(2n){border-right:0}
}
@media(max-width:600px){
  .service-panel{grid-template-columns:1fr}
  .service-card{border-right:0}
}

/* EXPERTISE */
.capability-copy span{display:none !important}
.capability-accent{
  width:34px;
  height:3px;
  margin:12px 0 14px;
  background:var(--red);
}
.capability-copy strong{
  font-size:19px !important;
}

/* WHY ULTIMATE */
.why-heading .why-label{
  font-size:26px !important;
  line-height:1.2 !important;
  letter-spacing:1px !important;
  margin-bottom:16px !important;
}
.why-heading h2{
  font-size:34px !important;
  line-height:1.18 !important;
  letter-spacing:-.8px !important;
}
.why-intro{
  max-width:950px !important;
}
.why-grid{
  grid-template-columns:repeat(5,1fr) !important;
  gap:18px !important;
}
.why-card{
  min-height:390px !important;
  padding:30px 22px 28px !important;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.why-card-icon{
  width:118px;
  height:104px;
  object-fit:contain;
  margin:0 auto 20px;
}
.why-card h3{
  font-size:17px !important;
  line-height:1.3 !important;
  margin-bottom:0 !important;
}
.why-card-accent{
  width:38px;
  height:3px;
  margin:16px auto 18px;
  background:var(--red);
}
.why-card p{
  font-size:12.5px !important;
  line-height:1.65 !important;
}
.why-goal{display:none !important}
@media(max-width:1200px){
  .why-grid{grid-template-columns:repeat(3,1fr) !important}
}
@media(max-width:820px){
  .why-grid{grid-template-columns:1fr 1fr !important}
  .why-heading .why-label{font-size:22px !important}
  .why-heading h2{font-size:29px !important}
}
@media(max-width:600px){
  .why-grid{grid-template-columns:1fr !important}
  .why-heading .why-label{font-size:20px !important}
  .why-heading h2{font-size:26px !important}
}

/* PROJECTS */
.projects{
  background:#fff;
  padding-top:72px;
}
.projects-heading{
  margin-bottom:26px;
}
.project-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.project-card{
  border:1px solid #d6dfe6 !important;
  border-radius:12px !important;
  box-shadow:0 8px 22px rgba(11,34,57,.07);
  overflow:hidden;
  background:#fff;
}
.project-image{
  height:235px !important;
}
.project-body{
  padding:22px 22px 24px !important;
}
.project-body>span:not(.project-location){
  display:none !important;
}
.project-body strong{
  font-size:18px !important;
}
.project-accent{
  width:36px;
  height:3px;
  margin:12px 0 14px;
  background:var(--red);
}
.project-body p{
  margin:0 0 18px !important;
  color:#536371 !important;
  font-size:13px !important;
  line-height:1.6 !important;
}
.project-location{
  display:block;
  color:var(--navy);
  font-size:12.5px;
  font-weight:700;
}
.project-location::first-letter{
  color:var(--red);
}
@media(max-width:820px){
  .project-grid{grid-template-columns:1fr}
}

/* CONTACT */
.contact-details span{
  line-height:1.35;
}

/* Footer location consistency */


/* =========================================================
   V26 HEADER REFINEMENT
   Keep professional navy header with stronger fire-red accents
   ========================================================= */

.site-header,
.main-header,
header.site-header{
  background:#0b2942 !important;
  border-bottom:4px solid #e51b23 !important;
}

.site-header a,
.main-header a,
.site-header nav a,
.main-header nav a{
  color:#ffffff;
}

.site-header nav a:not(.contact-button):not(.nav-cta),
.main-header nav a:not(.contact-button):not(.nav-cta){
  position:relative;
  text-decoration:none;
}

.site-header nav a:not(.contact-button):not(.nav-cta)::after,
.main-header nav a:not(.contact-button):not(.nav-cta)::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  width:0;
  height:3px;
  margin:auto;
  background:#e51b23;
  border-radius:999px;
  transition:width .2s ease;
}

.site-header nav a:not(.contact-button):not(.nav-cta):hover::after,
.site-header nav a:not(.contact-button):not(.nav-cta):focus-visible::after,
.main-header nav a:not(.contact-button):not(.nav-cta):hover::after,
.main-header nav a:not(.contact-button):not(.nav-cta):focus-visible::after{
  width:100%;
}

/* Preserve Contact as the primary red action */
.site-header .contact-button,
.site-header .nav-cta,
.main-header .contact-button,
.main-header .nav-cta,
.site-header a[href="#contact"],
.main-header a[href="#contact"]{
  background:#e51b23 !important;
  color:#fff !important;
  border-radius:6px;
  padding:13px 20px;
  font-weight:700;
}

.site-header .contact-button:hover,
.site-header .nav-cta:hover,
.main-header .contact-button:hover,
.main-header .nav-cta:hover,
.site-header a[href="#contact"]:hover,
.main-header a[href="#contact"]:hover{
  background:#c9151c !important;
}

/* Mobile header/menu remains navy */
@media(max-width:900px){
  .site-header,
  .main-header,
  .site-header nav,
  .main-header nav{
    background:#0b2942 !important;
  }
}


/* =========================================================
   V27 UNIFIED SECTION TITLE TYPOGRAPHY
   Match all section titles to OUR SERVICES
   ========================================================= */

.section-label,
.lifecycle-heading .section-label,
.industries-intro .section-label,
.why-heading .why-label,
.projects-heading .section-label,
.contact-copy .section-label,
.section-intro .section-label{
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:1.4px !important;
  text-transform:uppercase !important;
  color:var(--red) !important;
}

/* Remove prior special larger Why Ultimate sizing */
.why-heading .why-label{
  font-size:18px !important;
  line-height:1.2 !important;
  letter-spacing:1.4px !important;
}

@media(max-width:820px){
  .section-label,
  .lifecycle-heading .section-label,
  .industries-intro .section-label,
  .why-heading .why-label,
  .projects-heading .section-label,
  .contact-copy .section-label,
  .section-intro .section-label{
    font-size:18px !important;
  }
}


/* =========================================================
   V28 HEADER LOGO REFINEMENT
   Match the rounded white logo treatment used in the footer
   ========================================================= */

.site-logo{
  width:66px !important;
  height:66px !important;
  object-fit:contain !important;
  flex:0 0 auto;
  background:#fff !important;
  border-radius:10px !important;
  padding:5px !important;
  box-sizing:border-box !important;
}

@media(max-width:600px){
  .site-logo{
    border-radius:9px !important;
  }
}


/* V30: center requested section titles */
.industries-intro .section-label,
.projects-heading .section-label {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* =========================================================
   V31 — CENTER MAJOR SECTION TITLES
   ========================================================= */

.lifecycle-heading,
.expertise-heading,
.industries-intro,
.projects-heading {
  text-align: center !important;
}

.lifecycle-heading .section-label,
.expertise-heading .section-label,
.industries-intro .section-label,
.projects-heading .section-label {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* =========================================================
   V33 — APPROVED CHANGES AFTER V31
   Last three proposed expertise-format changes discarded.
   ========================================================= */

/* Center the four approved major section titles */
.services .section-intro{
  text-align:center !important;
}
.services .section-intro .section-label,
.industries-intro .section-label,
.projects-heading .section-label{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Industries: center each card title, divider, and description */
.industry-card-body{
  text-align:center !important;
}
.industry-card h3,
.industry-card p{
  text-align:center !important;
}
.industry-accent{
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Completed Projects: approved centered format */
.projects-heading{
  text-align:center !important;
}
.project-body{
  text-align:center !important;
}
.project-body strong,
.project-body p,
.project-location{
  display:block !important;
  width:100% !important;
  text-align:center !important;
}
.project-accent{
  margin-left:auto !important;
  margin-right:auto !important;
}


/* =========================================================
   CURRENT WORKING UPDATE — OUR EXPERTISE CENTER ALIGNMENT
   Not yet packaged as a new numbered version.
   ========================================================= */

.services .section-intro,
.services .section-intro .section-label{
  width:100% !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.capability-item{
  text-align:center !important;
}

.capability-picture{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.capability-picture img{
  display:block !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.capability-copy{
  text-align:center !important;
}

.capability-copy strong,
.capability-copy p{
  display:block !important;
  width:100% !important;
  text-align:center !important;
}

.capability-accent{
  margin-left:auto !important;
  margin-right:auto !important;
}


/* =========================================================
   CURRENT WORKING UPDATE — INDUSTRIES CLEANUP
   Not packaged as a numbered version yet.
   ========================================================= */

/* Center Industries heading */
.industries-intro{
  max-width:none !important;
  width:100% !important;
  text-align:center !important;
  margin-bottom:38px !important;
}

.industries-intro .section-label{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Center all card content */
.industry-card{
  text-align:center !important;
}

.industry-image-wrap{
  text-align:center !important;
}

.industry-card-body{
  text-align:center !important;
}

.industry-card h3,
.industry-card p{
  width:100% !important;
  text-align:center !important;
}

.industry-accent{
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Remove red circular badge treatment, retain a clean red symbol only */
.industry-badge{
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:var(--red) !important;
  font-size:34px !important;
  font-weight:700 !important;
  line-height:1 !important;
  bottom:-18px !important;
}


/* =========================================================
   CURRENT WORKING UPDATE — HERO + HEADER REFINEMENTS
   Not yet packaged as a numbered version.
   ========================================================= */

/* Give the hero image more breathing room and softer corners */
.hero-card{
  column-gap:14px !important;
}

.hero-visual{
  margin:14px !important;
  min-height:505px !important;
  border-radius:24px !important;
  overflow:hidden !important;
}

.hero-visual img{
  width:100% !important;
  height:100% !important;
  min-height:505px !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:24px !important;
}

/* Improve spacing in company name across desktop/tablet/mobile */
.brand-text{
  letter-spacing:-0.15px !important;
  word-spacing:4px !important;
}

/* Tablet */
@media(max-width:900px){
  .brand-text{
    letter-spacing:0 !important;
    word-spacing:3px !important;
  }

  .hero-visual{
    margin:12px !important;
    border-radius:22px !important;
  }

  .hero-visual img{
    border-radius:22px !important;
  }
}

/* Mobile */
@media(max-width:600px){
  .brand-text{
    letter-spacing:0 !important;
    word-spacing:2.5px !important;
  }

  /* Make the email/envelope icon red for better visibility */
  .header-contact-inner a[href^="mailto:"] .contact-symbol{
    color:var(--red) !important;
  }

  .hero-visual{
    margin:10px !important;
    border-radius:20px !important;
  }

  .hero-visual img{
    border-radius:20px !important;
  }
}


/* Contact icon sizing refinement */
.header-contact-inner .contact-symbol{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:20px !important;
  min-width:20px !important;
  font-size:17px !important;
  line-height:1 !important;
}

/* Keep email and telephone symbols visually equivalent */
.header-contact-inner a[href^="mailto:"] .contact-symbol,
.header-contact-inner a[href^="tel:"] .contact-symbol{
  font-size:17px !important;
  width:20px !important;
  min-width:20px !important;
}

/* Mobile: slightly larger for visibility */
@media(max-width:600px){
  .header-contact-inner a[href^="mailto:"] .contact-symbol,
  .header-contact-inner a[href^="tel:"] .contact-symbol{
    font-size:19px !important;
    width:22px !important;
    min-width:22px !important;
  }
}


/* Hero image framing refinement — preserve full logo on right */
@media(min-width:901px){
  .hero-visual img{
    object-position:right center !important;
  }
}


/* Approved hero framing */
@media(min-width:901px){
  .hero-visual{
    margin:14px !important;
    border-radius:24px !important;
    overflow:hidden !important;
  }

  .hero-visual img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:right center !important;
    border-radius:24px !important;
  }
}


/* Center Our Expertise section title */
#expertise .section-label,
.expertise-section .section-label,
section#expertise > .container > .section-label{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}


/* Email icon visibility refinement */
.header-contact-inner a[href^="mailto:"] .contact-symbol{
  font-size:21px !important;
  width:24px !important;
  min-width:24px !important;
  transform:scale(1.08) !important;
}

@media(max-width:600px){
  .header-contact-inner a[href^="mailto:"] .contact-symbol{
    font-size:22px !important;
    width:25px !important;
    min-width:25px !important;
    transform:scale(1.1) !important;
  }
}


/* =========================================================
   V36 — EXACT USER-UPLOADED HERO IMAGE
   ========================================================= */

@media(min-width:901px){
  .hero-visual{
    margin:14px !important;
    border-radius:24px !important;
    overflow:hidden !important;
  }

  .hero-visual img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:right center !important;
    border-radius:24px !important;
  }
}


/* =========================================================
   V37 — CENTER OUR EXPERTISE TITLE
   ========================================================= */
#expertise .section-title,
.expertise-section .section-title,
#expertise .section-kicker,
.expertise-section .section-kicker {
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    display: block !important;
}


/* =========================================================
   V38 — FORCE "OUR EXPERTISE" TO TRUE PAGE CENTER
   ========================================================= */
#expertise,
.expertise-section {
    position: relative !important;
}

#expertise .section-title,
.expertise-section .section-title,
#expertise .section-kicker,
.expertise-section .section-kicker {
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    display: block !important;
}


/* =========================================================
   V39 — REMOVE RED CIRCULAR INDUSTRY ICON BADGES
   ========================================================= */
#industries .industry-icon,
#industries .industry-badge,
#industries .icon-badge,
.industries-section .industry-icon,
.industries-section .industry-badge,
.industries-section .icon-badge,
.industry-card .industry-icon,
.industry-card .industry-badge,
.industry-card .icon-badge {
    display: none !important;
}

/* Also suppress circular pseudo-element badges if used by the existing design */
#industries .industry-image::after,
.industries-section .industry-image::after,
.industry-card .industry-image::after,
#industries .industry-media::after,
.industries-section .industry-media::after,
.industry-card .industry-media::after {
    display: none !important;
    content: none !important;
}


/* =========================================================
   V40 — REMOVE BAKED-IN RED CIRCLES FROM INDUSTRY IMAGES
   ========================================================= */
#industries .industry-image,
#industries .industry-image-wrap,
#industries .industry-media,
.industries-section .industry-image,
.industries-section .industry-image-wrap,
.industries-section .industry-media,
.industry-card .industry-image,
.industry-card .industry-image-wrap,
.industry-card .industry-media {
    overflow: hidden !important;
}

#industries .industry-image img,
#industries .industry-image-wrap img,
#industries .industry-media img,
.industries-section .industry-image img,
.industries-section .industry-image-wrap img,
.industries-section .industry-media img,
.industry-card .industry-image img,
.industry-card .industry-image-wrap img,
.industry-card .industry-media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
}


/* =========================================================
   V42 — CLEAN INDUSTRIES WE SERVE IMAGES
   Full website package
   ========================================================= */

.industry-badge,
.industry-icon,
.icon-badge,
#industries .industry-badge,
#industries .industry-icon,
#industries .icon-badge,
.industry-card .industry-badge,
.industry-card .industry-icon,
.industry-card .icon-badge {
  display:none !important;
}

.industry-image-wrap,
.industry-image,
.industry-media {
  overflow:hidden !important;
}

.industry-image-wrap img,
.industry-image img,
.industry-media img {
  display:block !important;
  width:100% !important;
  height:180px !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:9px !important;
}


/* =========================================================
   V43 — ABOUT US PAGE
   ========================================================= */
.about-page{background:#fff;color:#173e57}
.about-page .container{max-width:1180px;margin:0 auto;padding-left:24px;padding-right:24px}
.about-hero{background:#f4f7f9;padding:72px 0;border-bottom:1px solid #e2e8ec}
.about-hero-inner{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}
.about-eyebrow{color:#d71920;font-size:15px;font-weight:800;letter-spacing:1.8px;margin-bottom:14px}
.about-hero h1{font-size:52px;line-height:1.05;margin:0 0 18px;color:#173e57}
.about-hero h1 span{color:#d71920}
.about-hero p{font-size:20px;line-height:1.55;color:#526672;max-width:680px;margin:0}
.about-license-card{background:#173e57;color:#fff;padding:28px 34px;border-radius:18px;box-shadow:0 12px 30px rgba(18,55,78,.13);min-width:285px}
.about-license-card strong,.about-license-card span{display:block}
.about-license-card strong{font-size:16px;line-height:1.4;margin-bottom:10px}
.about-license-card span{font-size:24px;font-weight:800;color:#fff}
.about-content-section{padding:78px 0}
.about-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,.8fr);gap:64px;align-items:start}
.about-main-copy h2,.about-team-section h2,.about-mission-card h2{font-size:36px;color:#173e57;margin:0 0 24px}
.about-main-copy h2:after{content:"";display:block;width:58px;height:4px;background:#d71920;border-radius:3px;margin-top:12px}
.about-main-copy p,.about-team-card p{font-size:17px;line-height:1.78;color:#526672;margin:0 0 22px}
.about-credentials{background:#f5f7f8;border-radius:18px;padding:32px;border:1px solid #e1e7eb}
.about-credentials h3{margin:0 0 22px;color:#173e57;font-size:22px}
.credential-item{padding:18px 0;border-top:1px solid #dce4e8}
.credential-item:first-of-type{border-top:0;padding-top:4px}
.credential-item strong,.credential-item span{display:block}
.credential-item strong{color:#d71920;font-size:19px;margin-bottom:4px}
.credential-item span{color:#60727d;font-size:14px;line-height:1.45}
.about-team-section{background:#f4f7f9;padding:76px 0}
.section-title-center{text-align:center}
.section-title-center h2{display:inline-block}
.section-title-center h2:after{content:"";display:block;width:58px;height:4px;background:#d71920;border-radius:3px;margin:13px auto 0}
.about-team-card{background:#fff;border-radius:20px;padding:42px 48px;box-shadow:0 10px 28px rgba(18,55,78,.07);max-width:980px;margin:0 auto}
.about-team-card p:last-child{margin-bottom:0}
.about-mission-section{padding:78px 0}
.about-mission-card{text-align:center;max-width:900px !important}
.about-mission-card p{font-size:18px;line-height:1.7;color:#526672;margin:0 auto 30px;max-width:820px}
.about-mission-card .btn{display:inline-block;text-decoration:none}
@media(max-width:800px){
  .about-hero{padding:52px 0}
  .about-hero-inner,.about-grid{grid-template-columns:1fr}
  .about-hero-inner{gap:28px}
  .about-hero h1{font-size:39px}
  .about-license-card{min-width:0}
  .about-grid{gap:34px}
  .about-content-section,.about-team-section,.about-mission-section{padding:54px 0}
  .about-team-card{padding:30px 25px}
}


/* V46 — About Us top navigation */
@media (min-width: 901px){
  .main-nav a[href="about.html"],
  nav a[href="about.html"]{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
  }
}


/* V47 — force About Us into visible desktop top navigation */
@media (min-width: 901px){
  .main-menu,
  .nav-links,
  .primary-menu{
    display:flex !important;
    align-items:center !important;
    gap:30px !important;
  }
  .main-menu a[href="about.html"],
  .nav-links a[href="about.html"],
  .primary-menu a[href="about.html"],
  header a[href="about.html"]{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    white-space:nowrap !important;
  }
}


/* =========================================================
   V48 — PRICING PAGE
   ========================================================= */

.pricing-page{background:#fff}
.pricing-hero{padding:72px 0 68px;background:linear-gradient(135deg,#f5f8fa 0%,#eef3f6 100%);border-bottom:1px solid #e0e7eb}
.pricing-hero-inner{text-align:center;max-width:920px}
.pricing-hero .section-label{display:block;text-align:center;margin-bottom:14px}
.pricing-hero h1{margin:0;color:var(--navy);font-family:'Manrope',sans-serif;font-size:52px;line-height:1.07;letter-spacing:-1.8px}
.pricing-hero h1 span{color:var(--red)}
.pricing-hero p:not(.section-label){max-width:760px;margin:20px auto 0;color:#536371;font-size:16px;line-height:1.7}
.pricing-hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.pricing-primary-btn,.pricing-secondary-btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:0 22px;border-radius:5px;font-size:12px;font-weight:800;text-transform:uppercase}
.pricing-primary-btn{background:var(--red);color:#fff}
.pricing-secondary-btn{background:#fff;color:var(--navy);border:1px solid #cfd9df}
.pricing-section{padding:70px 0}
.pricing-alt{background:#f4f7f9}
.pricing-section-heading{text-align:center;max-width:800px;margin:0 auto 36px}
.pricing-section-heading .section-label{display:block;text-align:center}
.pricing-section-heading h2{margin:0;color:var(--navy);font-family:'Manrope',sans-serif;font-size:34px;line-height:1.2}
.pricing-section-heading>p:not(.section-label){margin:14px auto 0;color:#60717c;font-size:14px;line-height:1.7}

.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.price-card{padding:26px 24px 28px;background:#fff;border:1px solid #d6dfe6;border-radius:13px;box-shadow:0 8px 22px rgba(11,34,57,.07);text-align:center}
.price-card.featured{border:2px solid var(--red);transform:translateY(-3px)}
.price-card.quote-card{background:#f8fafb}
.price-range{display:block;color:var(--red);font-size:10px;font-weight:800;letter-spacing:1.2px}
.price-card h3{margin:10px 0 12px;color:var(--navy);font-family:'Manrope',sans-serif;font-size:20px}
.price-amount{color:var(--red);font-family:'Manrope',sans-serif;font-size:32px;font-weight:800;line-height:1}
.price-amount.small-price{font-size:24px}
.price-card p{margin:15px 0 0;color:#60717c;font-size:12.5px;line-height:1.6}
.pricing-includes{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:26px;padding:22px;background:#f6f8fa;border:1px solid #dce4e9;border-radius:10px}
.pricing-includes strong{width:100%;text-align:center;color:var(--navy);font-size:13px;margin-bottom:3px}
.pricing-includes span{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #d9e1e6;color:#536371;font-size:11px}

.pricing-list{max-width:980px;margin:0 auto;background:#fff;border:1px solid #d6dfe6;border-radius:12px;overflow:hidden}
.pricing-row{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:18px 22px;border-bottom:1px solid #e0e6ea}
.pricing-row:last-child{border-bottom:0}
.pricing-row strong{display:block;color:var(--navy);font-size:15px;margin-bottom:4px}
.pricing-row p{margin:0;color:#667782;font-size:12.5px;line-height:1.55}
.pricing-row>span{min-width:100px;text-align:center;color:var(--red);font-size:16px;font-weight:800}

.industrial-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.industrial-pricing-grid article{padding:30px 26px;background:#fff;border:1px solid #d6dfe6;border-radius:13px;text-align:center;box-shadow:0 8px 22px rgba(11,34,57,.06)}
.industrial-icon{width:66px;height:66px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff1f1;color:var(--red);font-size:18px;font-weight:800;border:1px solid #f4cccc}
.industrial-pricing-grid h3{margin:0;color:var(--navy);font-size:18px;line-height:1.35}
.industrial-pricing-grid p{margin:14px 0 18px;color:#60717c;font-size:12.5px;line-height:1.65}
.industrial-pricing-grid strong{color:var(--red);font-size:14px}

.quote-section{padding:74px 0;background:#eef4f8}
.quote-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:58px;padding:48px;background:#fff;border:1px solid #d6dfe6;border-radius:16px;box-shadow:0 10px 28px rgba(11,34,57,.08)}
.quote-intro .section-label{display:block}
.quote-intro h2{margin:0 0 18px;color:var(--navy);font-family:'Manrope',sans-serif;font-size:36px;line-height:1.18}
.quote-intro>p:not(.section-label){color:#60717c;font-size:14px;line-height:1.75}
.quote-contact{margin-top:26px;border-top:1px solid #e0e6ea}
.quote-contact div{padding:16px 0;border-bottom:1px solid #e0e6ea}
.quote-contact span{display:block;color:var(--red);font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin-bottom:3px}
.quote-contact strong{color:var(--navy);font-size:13.5px}

.pricing-quote-form{display:grid;gap:17px}
.quote-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pricing-quote-form label{display:grid;gap:7px}
.pricing-quote-form label>span{color:var(--navy);font-size:12px;font-weight:700}
.pricing-quote-form input,.pricing-quote-form select,.pricing-quote-form textarea{width:100%;border:1px solid #cfd8df;border-radius:5px;background:#fff;color:#263746;font-family:'Inter',Arial,sans-serif;font-size:14px;outline:none}
.pricing-quote-form input,.pricing-quote-form select{min-height:46px;padding:0 13px}
.pricing-quote-form textarea{padding:12px 13px;resize:vertical}
.pricing-quote-form input:focus,.pricing-quote-form select:focus,.pricing-quote-form textarea:focus{border-color:var(--navy);box-shadow:0 0 0 2px rgba(11,34,57,.06)}
.file-upload-box{padding:16px;border:1px dashed #b8c6cf;border-radius:8px;background:#f8fafb}
.file-upload-box input{min-height:auto;padding:7px 0;border:0;background:transparent}
.file-upload-box small{color:#74828c;font-size:10.5px;line-height:1.4}
.pricing-submit{justify-self:start;min-height:48px;display:inline-flex;align-items:center;gap:10px;padding:0 24px;border:0;border-radius:4px;background:var(--red);color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;cursor:pointer}
.pricing-submit span{font-size:18px}
.pricing-disclaimer{padding:24px 0 36px;background:#fff}
.pricing-disclaimer p{max-width:1100px;margin:0 auto;color:#74828c;font-size:10.5px;line-height:1.6;text-align:center}

@media(max-width:980px){
  .pricing-grid{grid-template-columns:1fr 1fr}
  .industrial-pricing-grid{grid-template-columns:1fr}
  .quote-shell{grid-template-columns:1fr;gap:38px}
}
@media(max-width:650px){
  .pricing-hero{padding:52px 0 48px}
  .pricing-hero h1{font-size:36px}
  .pricing-grid{grid-template-columns:1fr}
  .price-card.featured{transform:none}
  .pricing-section{padding:52px 0}
  .pricing-row{grid-template-columns:1fr;gap:10px}
  .pricing-row>span{text-align:left}
  .quote-shell{padding:28px 20px}
  .quote-form-grid{grid-template-columns:1fr}
  .quote-intro h2{font-size:30px}
}


/* =========================================================
   V49 — EMBEDDED / DOWNLOADABLE PRICING PDF
   ========================================================= */

.pricing-document-section{
  padding:70px 0 74px;
  background:#fff;
}

.pricing-document-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin:-12px 0 26px;
}

.pricing-pdf-shell{
  max-width:1160px;
  margin:0 auto;
  padding:14px;
  background:#eef3f6;
  border:1px solid #d7e0e6;
  border-radius:14px;
  box-shadow:0 10px 28px rgba(11,34,57,.08);
}

.pricing-pdf-object{
  display:block;
  width:100%;
  height:760px;
  border:0;
  border-radius:8px;
  background:#fff;
}

.pricing-pdf-fallback{
  min-height:480px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  text-align:center;
  color:#60717c;
}

.pricing-mobile-download{
  display:none;
  text-align:center;
  margin-top:18px;
}

.pricing-mobile-download p{
  color:#60717c;
  font-size:12px;
  margin-bottom:12px;
}

@media(max-width:800px){
  .pricing-document-section{
    padding:52px 0;
  }

  .pricing-pdf-shell{
    padding:8px;
  }

  .pricing-pdf-object{
    height:560px;
  }

  .pricing-mobile-download{
    display:block;
  }
}

@media(max-width:520px){
  .pricing-pdf-object{
    height:430px;
  }

  .pricing-document-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .pricing-document-actions a{
    width:100%;
  }
}


/* =========================================================
   V52 — OPTIONAL FILE UPLOAD ON MAIN CONTACT FORM
   ========================================================= */
.contact-file-upload{
  display:grid;
  gap:7px;
  margin-top:2px;
}

.contact-file-upload>span{
  color:var(--navy);
  font-size:12px;
  font-weight:700;
}

.contact-file-upload>span small{
  font-weight:500;
  color:#7a8993;
}

.contact-file-upload input[type="file"]{
  width:100%;
  min-height:46px;
  padding:8px 10px;
  border:1px dashed #b9c7d0;
  border-radius:6px;
  background:#f8fafb;
  color:#536371;
  font-size:12px;
}

.contact-file-help{
  color:#7a8993;
  font-size:10.5px;
  line-height:1.45;
}


/* =========================================================
   V53 — FOUNDER PORTRAIT
   ========================================================= */
.founder-portrait-panel{
  width:min(330px,100%);
  margin:0 auto 28px;
  text-align:center;
}
.founder-portrait-frame{
  position:relative;
  padding:9px;
  background:#fff;
  border:1px solid #d6e0e6;
  border-radius:22px;
  box-shadow:0 14px 34px rgba(11,34,57,.12);
}
.founder-portrait-frame:after{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  bottom:-5px;
  height:5px;
  border-radius:999px;
  background:var(--red);
}
.founder-portrait-frame img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center 42%;
  border-radius:15px;
}
.founder-portrait-caption{
  padding-top:18px;
}
.founder-portrait-caption strong{
  display:block;
  color:var(--navy);
  font-family:'Manrope',sans-serif;
  font-size:20px;
  line-height:1.25;
}
.founder-portrait-caption span{
  display:block;
  margin-top:5px;
  color:var(--red);
  font-size:11px;
  line-height:1.4;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.65px;
}

/* If portrait is inside founder content, create balanced image/text presentation */
.founder-section .container,
.about-founder .container,
.founder .container{
  position:relative;
}

@media(min-width:850px){
  .founder-section .container:has(.founder-portrait-panel),
  .about-founder .container:has(.founder-portrait-panel),
  .founder .container:has(.founder-portrait-panel){
    display:grid;
    grid-template-columns:330px 1fr;
    column-gap:54px;
    align-items:center;
  }
  .founder-section .container:has(.founder-portrait-panel) .founder-portrait-panel,
  .about-founder .container:has(.founder-portrait-panel) .founder-portrait-panel,
  .founder .container:has(.founder-portrait-panel) .founder-portrait-panel{
    grid-column:1;
    grid-row:1 / span 8;
    margin:0;
  }
}


/* =========================================================
   V54 — CORRECT FOUNDER PORTRAIT PLACEMENT
   ========================================================= */
.founder-profile-grid{
  display:grid;
  grid-template-columns:minmax(250px,330px) minmax(0,1fr);
  gap:54px;
  align-items:center;
  width:100%;
}
.founder-profile-grid .founder-portrait-panel{
  width:100%;
  margin:0;
  align-self:center;
}
.founder-profile-copy{
  min-width:0;
}
@media(max-width:849px){
  .founder-profile-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .founder-profile-grid .founder-portrait-panel{
    max-width:330px;
    margin:0 auto;
  }
}


/* =========================================================
   V55 — REBALANCED ABOUT US PAGE
   ========================================================= */
.about-v55{background:#fff}
.about-v55-hero{padding:68px 0 72px;background:linear-gradient(135deg,#f7f9fa 0%,#eef3f6 100%)}
.about-v55-grid{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:66px;align-items:center}
.about-v55-visual{align-self:start;position:sticky;top:130px}
.about-v55-photo-wrap{position:relative;padding:10px;background:#fff;border:1px solid #d7e0e6;border-radius:28px;box-shadow:0 18px 40px rgba(11,34,57,.12)}
.about-v55-photo-wrap:before{content:"";position:absolute;left:-16px;bottom:26px;width:8px;height:55%;background:var(--red);border-radius:8px}
.about-v55-photo-wrap img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 42%;border-radius:20px}
.about-v55-photo-caption{text-align:center;padding-top:20px}
.about-v55-photo-caption strong{display:block;color:var(--navy);font-family:'Manrope',sans-serif;font-size:24px;line-height:1.25}
.about-v55-photo-caption span{display:block;margin-top:6px;color:var(--red);font-size:11px;font-weight:800;letter-spacing:.75px;text-transform:uppercase}

.about-v55-copy>.section-label{margin-bottom:10px}
.about-v55-copy h1{margin:0 0 24px;color:var(--navy);font-family:'Manrope',sans-serif;font-size:48px;line-height:1.08;letter-spacing:-1.5px}
.about-v55-copy h1 span{color:var(--red)}
.about-v55-lead{margin:0 0 24px;color:#506571;font-size:16px;line-height:1.72}
.about-v55-founder-card{padding:26px 28px;background:#fff;border:1px solid #d8e0e5;border-radius:16px;box-shadow:0 10px 26px rgba(11,34,57,.06)}
.about-v55-founder-card h2{margin:0 0 14px;color:var(--navy);font-family:'Manrope',sans-serif;font-size:23px}
.about-v55-founder-card p{margin:0 0 15px;color:#556a76;font-size:14.5px;line-height:1.7}
.about-v55-founder-card p:last-child{margin-bottom:0}

.about-v55-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
.about-v55-stats>div{padding:17px 18px;background:#12384f;border-radius:11px}
.about-v55-stats strong{display:block;color:#fff;font-family:'Manrope',sans-serif;font-size:19px}
.about-v55-stats span{display:block;margin-top:4px;color:#dce7ed;font-size:10.5px;line-height:1.4}

.about-v55-team{padding:72px 0;background:#fff}
.about-v55-team .section-title-center{margin-bottom:28px}
.about-v55-team-card{max-width:1080px;margin:0 auto;padding:36px 42px;border-radius:17px;background:#f5f8fa;border:1px solid #dce4e9}
.about-v55-team-card p{margin:0 0 17px;color:#526672;font-size:15px;line-height:1.75}
.about-v55-team-card p:last-child{margin-bottom:0}

.about-v55-mission{padding:72px 0;background:#f1f5f8}
.about-v55-mission-copy{max-width:930px;margin:0 auto 34px;text-align:center;color:#566a76;font-size:15.5px;line-height:1.75}
.about-v55-values{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.about-v55-values article{padding:24px 18px;text-align:center;background:#fff;border:1px solid #d9e2e7;border-radius:12px}
.about-v55-value-icon{width:48px;height:48px;margin:0 auto 13px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff0f0;color:var(--red);border:1px solid #f0caca;font-weight:900;font-size:20px}
.about-v55-values h3{margin:0;color:var(--navy);font-size:14px}
.about-v55-values p{margin:8px 0 0;color:#657680;font-size:11px;line-height:1.55}
.about-v55-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:32px}
.about-v55-secondary{background:#fff!important;color:var(--navy)!important;border:1px solid #cad5dc!important}

@media(max-width:980px){
  .about-v55-grid{grid-template-columns:320px 1fr;gap:38px}
  .about-v55-copy h1{font-size:40px}
  .about-v55-values{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .about-v55-hero{padding:50px 0}
  .about-v55-grid{grid-template-columns:1fr}
  .about-v55-visual{position:static;max-width:330px;margin:0 auto}
  .about-v55-copy{text-align:left}
  .about-v55-copy h1{font-size:34px;text-align:center}
  .about-v55-copy>.section-label{text-align:center;display:block}
  .about-v55-stats{grid-template-columns:1fr 1fr}
  .about-v55-values{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .about-v55-stats,.about-v55-values{grid-template-columns:1fr}
  .about-v55-team-card{padding:28px 22px}
}


/* =========================================================
   V56 — CLEANER ABOUT US LAYOUT
   ========================================================= */
.about-v56{background:#fff}
.about-v56-hero{padding:62px 0 70px;background:
  radial-gradient(circle at 11% 15%, rgba(221,228,234,.65), transparent 34%),
  linear-gradient(135deg,#f8fafb 0%,#eef3f6 100%)}
.about-v56-grid{
  display:grid;
  grid-template-columns:minmax(300px,390px) minmax(0,1fr);
  gap:58px;
  align-items:start;
}

.about-v56-portrait-column{padding-top:18px}
.about-v56-portrait-card{
  position:relative;
  max-width:390px;
  margin:0 auto;
  padding:10px;
  background:#fff;
  border:1px solid #d8e1e7;
  border-radius:24px;
  box-shadow:0 18px 38px rgba(11,34,57,.11)
}
.about-v56-portrait-accent{
  position:absolute;
  left:-17px;
  top:34%;
  width:7px;
  height:44%;
  background:var(--red);
  border-radius:999px
}
.about-v56-portrait-card img{
  display:block;
  width:100%;
  aspect-ratio:1/1.08;
  object-fit:cover;
  object-position:center 40%;
  border-radius:17px
}
.about-v56-portrait-caption{
  max-width:390px;
  margin:19px auto 0;
  text-align:center
}
.about-v56-portrait-caption strong{
  display:block;
  color:var(--navy);
  font-family:'Manrope',sans-serif;
  font-size:23px;
  line-height:1.25
}
.about-v56-portrait-caption span{
  display:block;
  margin-top:7px;
  color:var(--red);
  font-size:11px;
  line-height:1.4;
  font-weight:800;
  letter-spacing:.7px;
  text-transform:uppercase
}

.about-v56-content>.section-label{margin-bottom:8px}
.about-v56-content h1{
  margin:0;
  color:var(--navy);
  font-family:'Manrope',sans-serif;
  font-size:46px;
  line-height:1.08;
  letter-spacing:-1.3px
}
.about-v56-content h1 span{color:var(--red)}
.about-v56-redline{
  width:70px;
  height:4px;
  margin:18px 0 17px;
  background:var(--red);
  border-radius:999px
}
.about-v56-intro{
  margin:0 0 24px;
  color:#526672;
  font-size:15px;
  line-height:1.72
}

.about-v56-leadership-card{
  padding:28px 30px;
  background:#fff;
  border:1px solid #d9e2e7;
  border-radius:15px;
  box-shadow:0 10px 26px rgba(11,34,57,.055)
}
.about-v56-card-heading{
  display:flex;
  align-items:center;
  gap:14px;
  padding-bottom:14px;
  margin-bottom:15px;
  border-bottom:1px solid #dfe6ea
}
.about-v56-card-icon{
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  font-weight:900;
  font-size:18px
}
.about-v56-card-heading h2{
  margin:0;
  color:var(--navy);
  font-family:'Manrope',sans-serif;
  font-size:21px;
  line-height:1.3
}
.about-v56-leadership-card p{
  margin:0 0 14px;
  color:#536873;
  font-size:14px;
  line-height:1.7
}
.about-v56-leadership-card p:last-child{margin-bottom:0}

.about-v56-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:18px
}
.about-v56-stat{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:84px;
  padding:16px 18px;
  background:#12384f;
  border-radius:11px
}
.about-v56-stat-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--red);
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  font-size:12px;
  font-weight:900
}
.about-v56-stat strong{
  display:block;
  color:#fff;
  font-family:'Manrope',sans-serif;
  font-size:18px;
  line-height:1.15
}
.about-v56-stat span{
  display:block;
  margin-top:4px;
  color:#d9e5eb;
  font-size:10.5px;
  line-height:1.35
}

.about-v56-team{padding:70px 0;background:#fff}
.about-v56-team .section-title-center{margin-bottom:27px}
.about-v56-team-card{
  max-width:1060px;
  margin:0 auto;
  padding:34px 40px;
  background:#f6f8fa;
  border:1px solid #dce4e9;
  border-radius:16px
}
.about-v56-team-card p{
  margin:0 0 16px;
  color:#536873;
  font-size:14.5px;
  line-height:1.74
}
.about-v56-team-card p:last-child{margin-bottom:0}

.about-v56-mission{padding:70px 0;background:#f1f5f8}
.about-v56-mission-copy{
  max-width:920px;
  margin:0 auto 32px;
  text-align:center;
  color:#566a76;
  font-size:15px;
  line-height:1.72
}
.about-v56-values{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:13px
}
.about-v56-values article{
  padding:23px 16px;
  text-align:center;
  background:#fff;
  border:1px solid #d9e2e7;
  border-radius:12px
}
.about-v56-value-icon{
  width:46px;
  height:46px;
  margin:0 auto 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#fff0f0;
  border:1px solid #f0caca;
  color:var(--red);
  font-size:19px;
  font-weight:900
}
.about-v56-values h3{margin:0;color:var(--navy);font-size:14px}
.about-v56-values p{margin:8px 0 0;color:#657680;font-size:11px;line-height:1.52}
.about-v56-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:31px}
.about-v56-secondary{background:#fff!important;color:var(--navy)!important;border:1px solid #cad5dc!important}

@media(max-width:980px){
  .about-v56-grid{grid-template-columns:310px 1fr;gap:36px}
  .about-v56-content h1{font-size:38px}
  .about-v56-values{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .about-v56-hero{padding:48px 0}
  .about-v56-grid{grid-template-columns:1fr}
  .about-v56-portrait-column{padding-top:0}
  .about-v56-portrait-card{max-width:320px}
  .about-v56-portrait-caption{max-width:320px}
  .about-v56-content>.section-label{text-align:center;display:block}
  .about-v56-content h1{text-align:center;font-size:34px}
  .about-v56-redline{margin-left:auto;margin-right:auto}
  .about-v56-stats{grid-template-columns:1fr 1fr}
  .about-v56-values{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .about-v56-stats,.about-v56-values{grid-template-columns:1fr}
  .about-v56-team-card{padding:27px 21px}
  .about-v56-leadership-card{padding:24px 21px}
}


/* =========================================================
   V57 — ABOUT PAGE MATCHING APPROVED MOCKUP
   ========================================================= */

.about-v57{background:#fff}
.about-v57-hero{padding:0;background:#f7f9fb}
.about-v57-shell{
  display:grid;
  grid-template-columns:minmax(320px,430px) minmax(0,1fr);
  gap:0;
  max-width:1400px;
  padding:0!important;
  background:#fff;
  overflow:hidden;
}

.about-v57-founder-panel{
  position:relative;
  min-height:930px;
  padding:56px 34px 50px;
  background:linear-gradient(180deg,#0d3149 0%,#123d58 100%);
  overflow:hidden;
}
.about-v57-founder-panel:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(145deg,rgba(255,255,255,.06),transparent 38%),
    radial-gradient(circle at 15% 10%,rgba(255,255,255,.08),transparent 30%);
  pointer-events:none;
}
.about-v57-panel-decor{
  position:absolute;
  width:8px;
  background:var(--red);
  transform:rotate(34deg);
  border-radius:999px;
  opacity:.95
}
.about-v57-decor-top{right:22px;top:-50px;height:170px}
.about-v57-decor-bottom{left:22px;bottom:110px;height:180px}

.about-v57-photo-frame{
  position:relative;
  z-index:2;
  max-width:355px;
  margin:0 auto;
  padding:8px;
  background:#fff;
  border-radius:26px;
  box-shadow:0 18px 42px rgba(0,0,0,.2)
}
.about-v57-photo-frame img{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center 43%;
  border-radius:18px
}
.about-v57-shield-badge{
  position:relative;
  z-index:3;
  width:74px;
  height:74px;
  margin:-34px auto 0;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  border:6px solid #fff;
  background:var(--red);
  color:#fff;
  font-size:28px;
  box-shadow:0 10px 22px rgba(0,0,0,.16)
}
.about-v57-founder-name{
  position:relative;
  z-index:2;
  margin-top:20px;
  text-align:center
}
.about-v57-founder-name strong{
  display:block;
  color:#fff;
  font-family:'Manrope',sans-serif;
  font-size:24px;
  line-height:1.25
}
.about-v57-founder-name span{
  display:block;
  margin-top:8px;
  color:#ff393f;
  font-size:13px;
  line-height:1.45;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.7px
}
.about-v57-founder-divider{
  width:72px;
  height:3px;
  margin:24px auto;
  background:var(--red);
  border-radius:999px
}
.about-v57-founder-quote{
  position:relative;
  z-index:2;
  max-width:300px;
  margin:0 auto;
  text-align:center;
  color:#fff;
  font-size:15px;
  line-height:1.75;
  font-style:italic
}

.about-v57-content{
  padding:58px 54px 48px;
  background:
    radial-gradient(circle at 100% 0%,rgba(227,232,236,.55),transparent 28%),
    #fff
}
.about-v57-content>.section-label{margin-bottom:9px}
.about-v57-content h1{
  margin:0;
  color:var(--navy);
  font-family:'Manrope',sans-serif;
  font-size:52px;
  line-height:1.05;
  letter-spacing:-1.7px
}
.about-v57-content h1 span{color:var(--red)}
.about-v57-intro{
  margin:26px 0 26px;
  max-width:850px;
  color:#415967;
  font-size:15px;
  line-height:1.75
}

.about-v57-leadership-card{
  padding:26px 28px 28px;
  background:#fff;
  border:1px solid #d8e0e5;
  border-radius:16px;
  box-shadow:0 10px 28px rgba(11,34,57,.07)
}
.about-v57-card-title-row{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:16px
}
.about-v57-card-icon{
  width:56px;
  height:56px;
  flex:0 0 56px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  font-size:22px;
  font-weight:900
}
.about-v57-card-title-row h2{
  margin:0;
  color:var(--navy);
  font-family:'Manrope',sans-serif;
  font-size:23px;
  line-height:1.2
}
.about-v57-card-underline{
  width:88px;
  height:3px;
  margin-top:10px;
  background:var(--red);
  border-radius:999px
}
.about-v57-leadership-card p{
  margin:0 0 15px;
  color:#435968;
  font-size:14.5px;
  line-height:1.72
}
.about-v57-leadership-card p:last-child{margin-bottom:0}

.about-v57-credential-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:20px;
  border-top:1px solid #dce4e8
}
.about-v57-credential{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:96px;
  padding:18px 14px;
  border-right:1px solid #dce4e8
}
.about-v57-credential:last-child{border-right:0}
.about-v57-credential-icon{
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#12384f;
  color:#fff;
  font-size:12px;
  font-weight:900
}
.about-v57-credential strong{
  display:block;
  color:var(--red);
  font-family:'Manrope',sans-serif;
  font-size:20px;
  line-height:1.1
}
.about-v57-credential span{
  display:block;
  margin-top:5px;
  color:#536b78;
  font-size:10px;
  line-height:1.35
}

.about-v57-team{padding:68px 0;background:#fff}
.about-v57-team-card{
  max-width:1060px;
  margin:26px auto 0;
  padding:34px 40px;
  background:#f5f8fa;
  border:1px solid #dce4e9;
  border-radius:16px
}
.about-v57-team-card p{
  margin:0 0 16px;
  color:#526672;
  font-size:14.5px;
  line-height:1.74
}
.about-v57-team-card p:last-child{margin-bottom:0}

.about-v57-mission{padding:70px 0;background:#f1f5f8}
.about-v57-mission-copy{
  max-width:920px;
  margin:0 auto 32px;
  text-align:center;
  color:#566a76;
  font-size:15px;
  line-height:1.72
}
.about-v57-values{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.about-v57-values article{
  padding:23px 16px;
  text-align:center;
  background:#fff;
  border:1px solid #d9e2e7;
  border-radius:12px
}
.about-v57-value-icon{
  width:46px;height:46px;margin:0 auto 12px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:#fff0f0;border:1px solid #f0caca;
  color:var(--red);font-size:19px;font-weight:900
}
.about-v57-values h3{margin:0;color:var(--navy);font-size:14px}
.about-v57-values p{margin:8px 0 0;color:#657680;font-size:11px;line-height:1.52}
.about-v57-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:31px}
.about-v57-secondary{background:#fff!important;color:var(--navy)!important;border:1px solid #cad5dc!important}

@media(max-width:1050px){
  .about-v57-shell{grid-template-columns:360px 1fr}
  .about-v57-content{padding:50px 34px 42px}
  .about-v57-content h1{font-size:42px}
  .about-v57-credential-strip{grid-template-columns:1fr 1fr}
  .about-v57-credential:nth-child(2){border-right:0}
  .about-v57-credential:nth-child(-n+2){border-bottom:1px solid #dce4e8}
  .about-v57-values{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .about-v57-shell{grid-template-columns:1fr}
  .about-v57-founder-panel{min-height:auto;padding:42px 24px 40px}
  .about-v57-photo-frame{max-width:310px}
  .about-v57-content{padding:44px 22px 40px}
  .about-v57-content>.section-label{text-align:center;display:block}
  .about-v57-content h1{text-align:center;font-size:34px}
  .about-v57-credential-strip{grid-template-columns:1fr}
  .about-v57-credential{border-right:0;border-bottom:1px solid #dce4e8}
  .about-v57-credential:last-child{border-bottom:0}
  .about-v57-values{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .about-v57-values{grid-template-columns:1fr}
  .about-v57-team-card{padding:27px 21px}
}


/* =========================================================
   V58 — WHY ULTIMATE MERGED INTO ABOUT US
   ========================================================= */
.about-v58-why{
  padding:72px 0;
  background:#fff;
}
.about-v58-why .section-title-center{
  margin-bottom:18px;
}
.about-v58-why-intro{
  max-width:880px;
  margin:0 auto 34px;
  text-align:center;
  color:#566a76;
  font-size:15px;
  line-height:1.72;
}
.about-v58-why-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
}
.about-v58-why-grid article{
  padding:26px 19px 24px;
  text-align:center;
  background:#f7f9fa;
  border:1px solid #dbe4e9;
  border-radius:13px;
}
.about-v58-why-icon{
  width:50px;
  height:50px;
  margin:0 auto 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  font-size:17px;
  font-weight:900;
}
.about-v58-why-grid h3{
  margin:0;
  color:var(--navy);
  font-size:15px;
  line-height:1.35;
}
.about-v58-why-grid h3:after{
  content:"";
  display:block;
  width:42px;
  height:3px;
  margin:10px auto 0;
  background:var(--red);
  border-radius:999px;
}
.about-v58-why-grid p{
  margin:12px 0 0;
  color:#63757f;
  font-size:11.5px;
  line-height:1.58;
}
@media(max-width:1050px){
  .about-v58-why-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
  .about-v58-why-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .about-v58-why-grid{grid-template-columns:1fr}
}


/* =========================================================
   V59 — MOBILE HAMBURGER NAVIGATION
   ========================================================= */
.mobile-menu-toggle{
  display:none;
  width:46px;
  height:42px;
  padding:8px 7px;
  border:0;
  border-radius:7px;
  background:transparent;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  flex:0 0 auto;
}
.mobile-menu-toggle span{
  display:block;
  width:28px;
  height:3px;
  border-radius:999px;
  background:#fff;
  transition:transform .2s ease, opacity .2s ease;
}
.mobile-menu-toggle.is-open span:nth-child(1){
  transform:translateY(8px) rotate(45deg);
}
.mobile-menu-toggle.is-open span:nth-child(2){
  opacity:0;
}
.mobile-menu-toggle.is-open span:nth-child(3){
  transform:translateY(-8px) rotate(-45deg);
}

@media(max-width:900px){
  .header-main{
    position:relative;
  }

  .brand{
    min-width:0;
    flex:1 1 auto;
  }

  .brand-text{
    min-width:0;
  }

  .brand-name{
    font-size:clamp(17px,4.3vw,24px)!important;
    line-height:1.12!important;
    letter-spacing:.2px!important;
    white-space:normal!important;
  }

  .mobile-menu-toggle{
    display:flex!important;
    margin-left:auto;
    position:relative;
    z-index:1002;
  }

  .main-nav{
    display:none!important;
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    z-index:1000!important;
    padding:10px 16px 16px!important;
    background:#12384f!important;
    border-top:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 14px 30px rgba(0,0,0,.2)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
  }

  .main-nav.is-open{
    display:flex!important;
  }

  .main-nav a{
    display:flex!important;
    width:100%!important;
    min-height:48px!important;
    align-items:center!important;
    padding:0 12px!important;
    border-bottom:1px solid rgba(255,255,255,.11)!important;
    color:#fff!important;
    font-size:15px!important;
    font-weight:700!important;
    white-space:normal!important;
  }

  .main-nav a:last-child{
    border-bottom:0!important;
  }

  .main-nav .nav-cta{
    margin-top:8px!important;
    justify-content:center!important;
    border-radius:6px!important;
    background:var(--red)!important;
  }
}

@media(max-width:560px){
  .header-main{
    padding-left:14px!important;
    padding-right:14px!important;
  }

  .brand{
    gap:10px!important;
  }

  .brand-logo{
    width:64px!important;
    height:64px!important;
    flex:0 0 64px!important;
  }

  .brand-name{
    font-size:clamp(15px,4.1vw,20px)!important;
  }

  .mobile-menu-toggle{
    width:42px;
    height:40px;
  }

  .mobile-menu-toggle span{
    width:25px;
  }
}


/* =========================================================
   V62 — CACHE-BUST / WHY ULTIMATE STYLE HARDENING
   ========================================================= */

.about-v58-why .about-v58-why-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
}

.about-v58-why .about-v58-why-grid > article{
  display:block !important;
  padding:26px 19px 24px !important;
  text-align:center !important;
  background:#f7f9fa !important;
  border:1px solid #dbe4e9 !important;
  border-radius:13px !important;
  min-width:0 !important;
}

.about-v58-why .about-v58-why-icon{
  width:50px !important;
  height:50px !important;
  margin:0 auto 14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  background:var(--red) !important;
  color:#fff !important;
  font-size:17px !important;
  font-weight:900 !important;
  line-height:1 !important;
}

.about-v58-why .about-v58-why-grid h3{
  margin:0 !important;
  color:var(--navy) !important;
  font-size:15px !important;
  line-height:1.35 !important;
  text-align:center !important;
}

.about-v58-why .about-v58-why-grid p{
  margin:12px 0 0 !important;
  color:#63757f !important;
  font-size:11.5px !important;
  line-height:1.58 !important;
  text-align:center !important;
}

@media(max-width:1050px){
  .about-v58-why .about-v58-why-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:700px){
  .about-v58-why .about-v58-why-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:480px){
  .about-v58-why .about-v58-why-grid{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   V63 — SMALLER CIRCULAR FOUNDER PORTRAIT
   ========================================================= */

/* Keep founder panel balanced but reduce portrait dominance */
.about-v57-founder-panel{
  padding-top:68px !important;
}

/* Circular portrait window */
.about-v57-photo-frame{
  width:270px !important;
  height:270px !important;
  max-width:270px !important;
  margin:0 auto !important;
  padding:6px !important;
  border-radius:50% !important;
  background:#fff !important;
  box-shadow:0 14px 34px rgba(0,0,0,.16) !important;
  overflow:hidden !important;
}

.about-v57-photo-frame img{
  width:100% !important;
  height:100% !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
  object-position:center 37% !important;
  border-radius:50% !important;
}

/* Ensure the old red/fire badge never appears */
.about-v57-shield-badge{
  display:none !important;
}

/* Bring founder name naturally under circular portrait */
.about-v57-founder-name{
  margin-top:26px !important;
}

.about-v57-founder-divider{
  margin-top:22px !important;
  margin-bottom:22px !important;
}

@media(max-width:1050px){
  .about-v57-photo-frame{
    width:235px !important;
    height:235px !important;
    max-width:235px !important;
  }
}

@media(max-width:760px){
  .about-v57-founder-panel{
    padding-top:42px !important;
  }

  .about-v57-photo-frame{
    width:220px !important;
    height:220px !important;
    max-width:220px !important;
  }
}


/* =========================================================
   V64 — MOBILE HEADER LAYOUT: LOGO | WRAPPED NAME | MENU
   ========================================================= */

@media(max-width:900px){

  .header-main,
  .site-header .header-main,
  .main-header .header-main{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto !important;
    align-items:center !important;
    column-gap:14px !important;
    padding:14px 18px !important;
    min-height:118px !important;
    position:relative !important;
  }

  /* Brand becomes contents so logo and text occupy separate grid columns */
  .header-main .brand,
  .site-header .header-main .brand,
  .main-header .header-main .brand{
    display:contents !important;
  }

  .header-main .brand-logo,
  .site-header .header-main .brand-logo,
  .main-header .header-main .brand-logo{
    grid-column:1 !important;
    width:92px !important;
    height:92px !important;
    min-width:92px !important;
    max-width:92px !important;
    object-fit:contain !important;
    margin:0 !important;
  }

  .header-main .brand-text,
  .site-header .header-main .brand-text,
  .main-header .header-main .brand-text{
    grid-column:2 !important;
    min-width:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .header-main .brand-name,
  .site-header .header-main .brand-name,
  .main-header .header-main .brand-name{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    color:#fff !important;
    font-size:clamp(18px,4.6vw,26px) !important;
    line-height:1.16 !important;
    letter-spacing:.15px !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    text-align:left !important;
  }

  .mobile-menu-toggle{
    grid-column:3 !important;
    justify-self:end !important;
    align-self:center !important;
    width:52px !important;
    height:52px !important;
    margin:0 !important;
    padding:8px !important;
    position:relative !important;
    top:0 !important;
    right:0 !important;
    z-index:1002 !important;
    flex:0 0 52px !important;
  }

  .mobile-menu-toggle span{
    width:34px !important;
    height:4px !important;
    margin:0 !important;
  }

  .main-nav{
    grid-column:1 / -1 !important;
    top:100% !important;
  }
}

@media(max-width:620px){

  .header-main,
  .site-header .header-main,
  .main-header .header-main{
    grid-template-columns:116px minmax(0,1fr) 58px !important;
    column-gap:10px !important;
    padding:13px 14px !important;
    min-height:122px !important;
  }

  .header-main .brand-logo,
  .site-header .header-main .brand-logo,
  .main-header .header-main .brand-logo{
    width:96px !important;
    height:96px !important;
    min-width:96px !important;
    max-width:96px !important;
  }

  .header-main .brand-name,
  .site-header .header-main .brand-name,
  .main-header .header-main .brand-name{
    font-size:clamp(17px,4.35vw,22px) !important;
    line-height:1.18 !important;
    max-width:none !important;
  }

  .mobile-menu-toggle{
    width:50px !important;
    height:50px !important;
    flex-basis:50px !important;
  }

  .mobile-menu-toggle span{
    width:32px !important;
  }
}

@media(max-width:430px){

  .header-main,
  .site-header .header-main,
  .main-header .header-main{
    grid-template-columns:92px minmax(0,1fr) 48px !important;
    column-gap:8px !important;
    padding:11px 12px !important;
    min-height:108px !important;
  }

  .header-main .brand-logo,
  .site-header .header-main .brand-logo,
  .main-header .header-main .brand-logo{
    width:82px !important;
    height:82px !important;
    min-width:82px !important;
    max-width:82px !important;
  }

  .header-main .brand-name,
  .site-header .header-main .brand-name,
  .main-header .header-main .brand-name{
    font-size:clamp(15px,4.1vw,18px) !important;
    line-height:1.18 !important;
  }

  .mobile-menu-toggle{
    width:44px !important;
    height:44px !important;
    flex-basis:44px !important;
  }

  .mobile-menu-toggle span{
    width:29px !important;
    height:3px !important;
  }
}


/* =========================================================
   V65 — WHITE EMAIL + PHONE ICONS ON DESKTOP AND MOBILE
   ========================================================= */

/* Force all top-contact icons to white */
.topbar-icon,
.top-contact-icon,
.contact-icon,
.header-contact-icon,
.site-topbar svg,
.site-topbar i,
.site-topbar .icon,
.topbar svg,
.topbar i,
.topbar .icon,
.top-contact svg,
.top-contact i,
.top-contact .icon,
.header-contact svg,
.header-contact i,
.header-contact .icon{
  color:#fff !important;
  fill:#fff !important;
  stroke:#fff !important;
}

/* If icons are text/emoji characters inside the contact links */
.site-topbar a,
.topbar a,
.top-contact a,
.header-contact a{
  color:#fff !important;
}

/* Explicit icon spans often used for email / phone */
.email-icon,
.phone-icon,
.contact-email-icon,
.contact-phone-icon{
  color:#fff !important;
  fill:#fff !important;
  stroke:#fff !important;
}

/* Keep white on all responsive sizes */
@media(max-width:900px){
  .topbar-icon,
  .top-contact-icon,
  .contact-icon,
  .header-contact-icon,
  .site-topbar svg,
  .site-topbar i,
  .site-topbar .icon,
  .topbar svg,
  .topbar i,
  .topbar .icon,
  .top-contact svg,
  .top-contact i,
  .top-contact .icon,
  .header-contact svg,
  .header-contact i,
  .header-contact .icon,
  .email-icon,
  .phone-icon,
  .contact-email-icon,
  .contact-phone-icon{
    color:#fff !important;
    fill:#fff !important;
    stroke:#fff !important;
  }
}


/* =========================================================
   V66 — EXPLICIT TWO-LINE MOBILE COMPANY NAME
   ========================================================= */

/* Desktop remains one visual line */
.brand-text .brand-line-1,
.brand-text .brand-line-2{
  display:inline;
}

.brand-text .brand-line-1::after{
  content:" ";
}

@media(max-width:900px){
  /* The actual .brand-text element contains the company name */
  .header-main .brand-text,
  .site-header .header-main .brand-text,
  .main-header .header-main .brand-text{
    grid-column:2 !important;
    display:block !important;
    min-width:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    white-space:normal !important;
    color:#fff !important;
    font-weight:700 !important;
    font-size:clamp(17px,4.2vw,23px) !important;
    line-height:1.18 !important;
    letter-spacing:.1px !important;
    overflow:visible !important;
  }

  .brand-text .brand-line-1,
  .brand-text .brand-line-2{
    display:block !important;
    white-space:nowrap !important;
  }

  .brand-text .brand-line-1::after{
    content:"" !important;
  }

  .brand-text .brand-line-2{
    margin-top:4px !important;
  }

  /* Reserve an independent column for the hamburger */
  .header-main,
  .site-header .header-main,
  .main-header .header-main{
    grid-template-columns:auto minmax(0,1fr) 58px !important;
  }

  .mobile-menu-toggle{
    grid-column:3 !important;
    position:relative !important;
    justify-self:end !important;
    margin:0 !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
  }
}

@media(max-width:430px){
  .header-main .brand-text,
  .site-header .header-main .brand-text,
  .main-header .header-main .brand-text{
    font-size:15px !important;
    line-height:1.2 !important;
  }

  .brand-text .brand-line-2{
    margin-top:3px !important;
  }
}
