
:root{
  --navy:#0a1728;
  --blue:#075ba9;
  --blue-dark:#064c8e;
  --text:#172235;
  --muted:#5d6979;
  --line:#dbe1e8;
  --soft:#f7f9fc;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.site-shell{width:min(1460px,calc(100% - 60px));margin:auto}

/* Header */
.site-header{height:74px;background:#fff;border-bottom:1px solid #e6ebf1;position:sticky;top:0;z-index:50}
.nav-row{height:74px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;width:112px;height:64px}
.brand img{width:104px;height:60px;object-fit:contain}
.desktop-nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:700}
.desktop-nav a{padding:28px 0;position:relative}
.desktop-nav a.active,.desktop-nav a:hover{color:var(--blue)}
.nav-actions{display:flex;align-items:center}
.menu-toggle,.mobile-nav{display:none}
.menu-toggle{background:none;border:0;padding:8px}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--navy);margin:4px 0}

/* Buttons */
.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 26px;border-radius:5px;font-weight:800;font-size:14px;transition:.2s}
.primary-button{background:var(--blue);color:#fff;box-shadow:0 5px 14px rgba(7,91,169,.18)}
.primary-button:hover{background:var(--blue-dark);transform:translateY(-1px)}
.secondary-button{background:#fff;color:var(--blue);border:1px solid var(--blue)}
.nav-button{height:40px;padding:0 22px}

/* Home */
.home-hero{background:#fff}
.home-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;min-height:560px}
.home-copy{padding:70px 34px 54px 0;display:flex;flex-direction:column;justify-content:center}
.home-copy h1{font-size:clamp(48px,5.15vw,76px);line-height:1.05;letter-spacing:-.045em;color:var(--navy);margin:0 0 18px}
.home-copy h1 span{color:var(--blue)}
.small-blue-line{width:48px;height:3px;background:var(--blue);margin:2px 0 18px}
.home-tagline{font-size:18px;color:#303b4c;margin:0 0 20px}
.home-description{max-width:610px;font-size:15px;line-height:1.62;color:var(--muted);margin:0}
.home-actions{display:flex;gap:16px;margin-top:30px}
.home-image{overflow:hidden;position:relative;background:#eef4fa}
.home-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.home-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.64),rgba(255,255,255,.12) 32%,transparent 58%)}

.benefit-band{background:linear-gradient(135deg,#041d3d,#063462);color:#fff}
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);min-height:210px}
.benefit-grid article{text-align:center;padding:30px 30px;border-right:1px solid rgba(255,255,255,.11)}
.benefit-grid article:last-child{border-right:0}
.benefit-icon{height:46px;font-size:34px;display:flex;align-items:center;justify-content:center}
.code-icon{font-family:monospace;font-weight:900}
.benefit-grid h3{font-size:17px;margin:11px 0 7px}
.benefit-grid p{font-size:13px;line-height:1.55;color:#d6e2ee;max-width:230px;margin:0 auto}

/* About */
.about-page{padding:58px 0 68px}
.about-top{display:grid;grid-template-columns:1.06fr .94fr;gap:58px;align-items:start}
.about-copy h1{font-size:52px;letter-spacing:-.035em;line-height:1;margin:14px 0 22px;color:var(--navy)}
.about-copy h2{font-size:23px;line-height:1.35;color:var(--blue);margin:0 0 28px}
.about-copy p{font-size:15px;line-height:1.68;color:#354154;margin:0 0 18px;max-width:760px}
.about-hero-image{height:360px;border-radius:7px;overflow:hidden}
.about-hero-image img{width:100%;height:100%;object-fit:cover}
.about-industry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}
.industry-card{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fff}
.industry-card img{width:100%;height:178px;object-fit:cover}
.industry-card>div{padding:17px 18px 21px}
.industry-card h3{font-size:18px;margin:0 0 10px;color:var(--navy)}
.industry-card p{font-size:13px;line-height:1.55;color:#4e5b6d;margin:0}
.industries-page-grid{margin-top:42px}

/* Shared interior */
.services-page,.contact-page{padding:58px 0 70px}
.center-heading,.contact-heading{text-align:center;max-width:940px;margin:0 auto 46px}
.center-heading h1,.contact-heading h1{font-size:48px;letter-spacing:-.035em;margin:8px 0 10px;color:var(--navy)}
.center-heading h2,.contact-heading h2{font-size:21px;color:var(--blue);margin:0 0 8px}
.center-heading p,.contact-heading p{font-size:17px;color:#455166;margin:0}
.center-line{width:50px;height:3px;background:var(--blue);margin:18px auto 0}

/* Services */
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.service-card{border:1px solid var(--line);border-radius:7px;padding:31px 24px;text-align:center;min-height:292px;background:#fff}
.service-icon{font-size:46px;height:62px;color:var(--blue)}
.service-card h3{font-size:18px;line-height:1.28;margin:16px 0 14px;color:var(--navy)}
.service-card p{font-size:13px;line-height:1.58;color:#526075;margin:0}
.services-cta{margin-top:32px;background:linear-gradient(90deg,#f0f6ff,#eaf2fb);border:1px solid #d7e2ef;border-radius:8px;padding:23px 28px;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center}
.cta-icon{font-size:40px;color:var(--blue)}
.services-cta h3{margin:0 0 4px;color:#0c2a4d}
.services-cta p{margin:0;color:#5b6677;font-size:14px}

/* Why */
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.why-grid article{border:1px solid var(--line);border-radius:8px;padding:30px}
.why-grid span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#eaf3fd;color:var(--blue);font-weight:900}
.why-grid h3{font-size:21px;margin:19px 0 8px;color:var(--navy)}
.why-grid p{margin:0;color:var(--muted);font-size:14px}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:50px;align-items:start}
.message-card,.sales-card{border:1px solid var(--line);border-radius:8px;background:#fff;padding:30px}
.message-card h3,.sales-card h3{font-size:22px;margin:0 0 8px;color:var(--navy)}
.message-card>p{font-size:14px;color:var(--muted);margin:0 0 23px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid label{display:grid;gap:7px;font-size:12px;font-weight:700;color:var(--navy)}
.form-grid label.full{grid-column:1/-1}
input,select,textarea{width:100%;border:1px solid #ccd6e1;border-radius:4px;padding:11px 12px;outline:none;background:#fff}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(7,91,169,.1)}
textarea{min-height:128px;resize:vertical}
.submit-button{margin-top:20px}
.form-status{min-height:22px;margin-top:10px;font-size:13px;font-weight:700}
.form-status.success{color:#19733d}.form-status.error{color:#b42318}
.honeypot{position:absolute!important;left:-9999px!important}
.sales-card strong{display:block;font-size:17px;margin-top:18px;color:var(--navy)}
.sales-card>span{display:block;color:#5d6878;margin-top:2px;font-size:14px}
.sales-item{margin-top:26px}
.sales-item b{display:block;font-size:12px;margin-bottom:7px;color:var(--navy)}
.sales-item a{display:block;color:var(--blue);font-weight:700;font-size:13px;overflow-wrap:anywhere}
.sales-card>p{margin-top:30px;color:#526075;font-size:14px;line-height:1.62}

/* Footer */
.site-footer{border-top:1px solid var(--line);padding:24px 0;background:#fff}
.footer-row{display:flex;justify-content:space-between;gap:20px;color:#7a8797;font-size:13px}
.footer-links{display:flex;gap:18px}

/* Responsive */
@media(max-width:1000px){
  .desktop-nav{display:none}
  .menu-toggle{display:block}
  .mobile-nav{position:absolute;left:20px;right:20px;top:74px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 42px rgba(16,44,78,.12);padding:18px;display:none;flex-direction:column;gap:12px}
  .mobile-nav.open{display:flex}
  .home-hero-grid,.about-top,.contact-grid{grid-template-columns:1fr}
  .home-image{min-height:400px}
  .benefit-grid,.service-grid,.about-industry-grid{grid-template-columns:repeat(2,1fr)}
  .footer-row{flex-direction:column}
}

@media(max-width:640px){
  .site-shell{width:min(100% - 24px,1460px)}
  .site-header,.nav-row{height:68px}
  .brand{width:94px;height:58px}
  .brand img{width:90px;height:54px}
  .mobile-nav{top:68px}
  .nav-actions>.primary-button{display:none}
  .home-copy{padding:48px 0 38px}
  .home-copy h1{font-size:44px}
  .home-actions{flex-direction:column}
  .home-actions a{width:100%}
  .home-image{min-height:280px}
  .benefit-grid,.service-grid,.about-industry-grid,.why-grid,.form-grid{grid-template-columns:1fr}
  .benefit-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.11)}
  .about-copy h1,.center-heading h1,.contact-heading h1{font-size:40px}
  .about-hero-image{height:260px}
  .industry-card img{height:205px}
  .services-cta{grid-template-columns:1fr;text-align:center}
  .services-cta .primary-button{width:100%}
}


/* =========================================================
   INTERIOR PAGE FIRST-SCREEN + STRICT SCROLL REVEAL
   Homepage intentionally excluded.
   ========================================================= */

.interior-page .site-footer{
  margin-top:0;
}

.interior-hero{
  min-height:calc(100vh - 74px);
  display:flex;
  align-items:center;
  background:#fff;
  border-bottom:1px solid var(--line);
}

.interior-hero .center-heading,
.interior-hero .contact-heading{
  margin-bottom:0;
}

.about-hero-only{
  min-height:calc(100vh - 74px);
  display:flex;
  align-items:center;
  background:#fff;
  border-bottom:1px solid var(--line);
}

.about-hero-centered{
  width:min(1000px,calc(100% - 60px));
  margin:auto;
  text-align:center;
}

.about-hero-centered .about-copy h1{
  font-size:clamp(48px,6vw,76px);
  margin-top:0;
}

.about-hero-centered .about-copy h2{
  margin-left:auto;
  margin-right:auto;
  max-width:820px;
}

.about-hero-centered .about-copy p{
  margin-left:auto;
  margin-right:auto;
  max-width:900px;
}

.about-lower-layout{
  display:block;
}

.about-lower-layout .about-hero-image{
  max-width:900px;
  margin:0 auto;
}

/* Lower content starts hidden and reveals only after real scrolling. */
.scroll-reveal{
  opacity:0;
  transform:translateY(48px);
  transition:
    opacity .8s cubic-bezier(.22,1,.36,1),
    transform .8s cubic-bezier(.22,1,.36,1);
  will-change:opacity,transform;
}

.scroll-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* A subtle inner stagger after the section reveals. */
.scroll-reveal .service-grid,
.scroll-reveal .about-industry-grid,
.scroll-reveal .why-grid,
.scroll-reveal .contact-grid,
.scroll-reveal .services-cta,
.scroll-reveal .about-hero-image{
  opacity:0;
  transform:translateY(24px);
  transition:
    opacity .65s cubic-bezier(.22,1,.36,1),
    transform .65s cubic-bezier(.22,1,.36,1);
}

.scroll-reveal.is-visible .service-grid,
.scroll-reveal.is-visible .about-industry-grid,
.scroll-reveal.is-visible .why-grid,
.scroll-reveal.is-visible .contact-grid,
.scroll-reveal.is-visible .services-cta,
.scroll-reveal.is-visible .about-hero-image{
  opacity:1;
  transform:translateY(0);
  transition-delay:.12s;
}

@media(max-width:640px){
  .interior-hero,
  .about-hero-only{
    min-height:calc(100vh - 68px);
  }

  .about-hero-centered{
    width:min(100% - 24px,1000px);
  }
}

@media(prefers-reduced-motion:reduce){
  .scroll-reveal,
  .scroll-reveal .service-grid,
  .scroll-reveal .about-industry-grid,
  .scroll-reveal .why-grid,
  .scroll-reveal .contact-grid,
  .scroll-reveal .services-cta,
  .scroll-reveal .about-hero-image{
    opacity:1;
    transform:none;
    transition:none;
  }
}


/* About copy moved below industry images */
.about-below-copy{
  max-width:1050px;
  margin:44px auto 0;
  text-align:center;
}
.about-below-copy p{
  margin:0 auto 22px;
  color:#354154;
  font-size:16px;
  line-height:1.75;
}
.about-below-copy p:last-child{
  margin-bottom:0;
}
.scroll-reveal .about-below-copy{
  opacity:0;
  transform:translateY(24px);
  transition:
    opacity .65s cubic-bezier(.22,1,.36,1),
    transform .65s cubic-bezier(.22,1,.36,1);
}
.scroll-reveal.is-visible .about-below-copy{
  opacity:1;
  transform:translateY(0);
  transition-delay:.2s;
}


/* =========================================================
   FINAL HOMEPAGE BACKGROUND + ABOUT/INDUSTRIES CLEANUP
   ========================================================= */

/* Full-bleed homepage hero background */
.home-hero-background{
  position:relative;
  min-height:560px;
  display:flex;
  align-items:center;
  background:
    url("assets/homepage-background.jpg")
    center 48% / cover no-repeat;
  overflow:hidden;
}

.home-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.97) 0%,
      rgba(255,255,255,.94) 28%,
      rgba(255,255,255,.74) 48%,
      rgba(255,255,255,.22) 72%,
      rgba(255,255,255,.06) 100%
    ),
    linear-gradient(
      180deg,
      rgba(255,255,255,.08),
      rgba(255,255,255,.16)
    );
  pointer-events:none;
}

.home-hero-content{
  position:relative;
  z-index:1;
  width:100%;
}

.home-copy-compact{
  max-width:620px;
  padding:70px 0 66px;
  justify-content:center;
}

.home-copy-compact h1{
  font-size:clamp(42px,4.7vw,67px);
  line-height:1.03;
  max-width:620px;
  margin-bottom:16px;
  text-shadow:0 1px 0 rgba(255,255,255,.45);
}

.home-copy-compact .home-tagline{
  font-size:17px;
  max-width:560px;
}

.home-copy-compact .home-description{
  max-width:545px;
  font-size:14px;
  line-height:1.6;
}

.home-copy-compact .home-actions{
  margin-top:25px;
}

.home-copy-compact .primary-button,
.home-copy-compact .secondary-button{
  min-width:126px;
}

/* Remove styles associated with the deleted split hero image. */
.home-hero-grid,
.home-image{
  display:initial;
}

.home-image{
  display:none !important;
}

/* About page now moves directly from title screen to industry cards. */
.about-lower-layout{
  display:block;
}

.about-page.scroll-reveal{
  padding-top:64px;
}

.about-page.scroll-reveal .about-industry-grid{
  margin-top:0;
}

/* The deleted large About image should never reserve space. */
.about-hero-image{
  display:none !important;
}

/* Balanced navigation after removing Industries. */
.desktop-nav{
  gap:40px;
}

@media(max-width:1000px){
  .home-hero-background{
    min-height:540px;
    background-position:58% center;
  }

  .home-hero-overlay{
    background:
      linear-gradient(
        90deg,
        rgba(255,255,255,.98) 0%,
        rgba(255,255,255,.94) 44%,
        rgba(255,255,255,.52) 72%,
        rgba(255,255,255,.18) 100%
      );
  }
}

@media(max-width:640px){
  .home-hero-background{
    min-height:610px;
    align-items:flex-end;
    background-position:56% center;
  }

  .home-hero-overlay{
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.20) 0%,
        rgba(255,255,255,.62) 42%,
        rgba(255,255,255,.96) 70%,
        rgba(255,255,255,.99) 100%
      );
  }

  .home-copy-compact{
    max-width:none;
    padding:210px 0 40px;
  }

  .home-copy-compact h1{
    font-size:43px;
  }

  .home-copy-compact .home-actions{
    flex-direction:column;
  }

  .home-copy-compact .home-actions a{
    width:100%;
  }
}


/* =========================================================
   HIGH-RES HOMEPAGE HERO FIX
   Replaces the stretched 612px source with a 2600px production image.
   ========================================================= */
.home-hero-background{
  min-height:610px !important;
  background-image:url("assets/homepage-background-hd.jpg") !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center center !important;
  background-color:#eef5fb !important;
}

.home-hero-overlay{
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.99) 0%,
      rgba(255,255,255,.97) 25%,
      rgba(255,255,255,.88) 39%,
      rgba(255,255,255,.48) 56%,
      rgba(255,255,255,.10) 74%,
      rgba(255,255,255,0) 100%
    ) !important;
}

.home-copy-compact{
  max-width:570px !important;
  padding:72px 0 70px !important;
}

.home-copy-compact h1{
  font-size:clamp(42px,4.1vw,62px) !important;
  line-height:1.04 !important;
  max-width:560px !important;
}

.home-copy-compact .home-tagline{
  font-size:17px !important;
}

.home-copy-compact .home-description{
  max-width:520px !important;
  font-size:14px !important;
}

@media(min-width:1500px){
  .home-hero-background{
    min-height:650px !important;
    background-position:center 46% !important;
  }

  .home-copy-compact{
    max-width:600px !important;
  }
}

@media(max-width:1000px){
  .home-hero-background{
    min-height:560px !important;
    background-position:60% center !important;
  }

  .home-hero-overlay{
    background:
      linear-gradient(
        90deg,
        rgba(255,255,255,.99) 0%,
        rgba(255,255,255,.96) 45%,
        rgba(255,255,255,.65) 70%,
        rgba(255,255,255,.18) 100%
      ) !important;
  }
}

@media(max-width:640px){
  .home-hero-background{
    min-height:620px !important;
    background-position:63% center !important;
  }

  .home-hero-overlay{
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.12) 0%,
        rgba(255,255,255,.40) 34%,
        rgba(255,255,255,.91) 66%,
        rgba(255,255,255,.99) 100%
      ) !important;
  }
}


/* =========================================================
   HIGH-RES HOMEPAGE HERO — FINAL
   ========================================================= */
.home-hero-background{
  min-height:610px !important;
  background-image:url("assets/homepage-background-hd.jpg") !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center center !important;
  background-color:#eef5fb !important;
}

.home-hero-overlay{
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.99) 0%,
      rgba(255,255,255,.97) 25%,
      rgba(255,255,255,.88) 39%,
      rgba(255,255,255,.48) 56%,
      rgba(255,255,255,.10) 74%,
      rgba(255,255,255,0) 100%
    ) !important;
}

.home-copy-compact{
  max-width:570px !important;
  padding:72px 0 70px !important;
}

.home-copy-compact h1{
  font-size:clamp(42px,4.1vw,62px) !important;
  line-height:1.04 !important;
  max-width:560px !important;
}

.home-copy-compact .home-tagline{
  font-size:17px !important;
}

.home-copy-compact .home-description{
  max-width:520px !important;
  font-size:14px !important;
}

@media(min-width:1500px){
  .home-hero-background{
    min-height:650px !important;
    background-position:center 46% !important;
  }
}

@media(max-width:1000px){
  .home-hero-background{
    min-height:560px !important;
    background-position:60% center !important;
  }
  .home-hero-overlay{
    background:
      linear-gradient(
        90deg,
        rgba(255,255,255,.99) 0%,
        rgba(255,255,255,.96) 45%,
        rgba(255,255,255,.65) 70%,
        rgba(255,255,255,.18) 100%
      ) !important;
  }
}

@media(max-width:640px){
  .home-hero-background{
    min-height:620px !important;
    background-position:63% center !important;
  }
  .home-hero-overlay{
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.12) 0%,
        rgba(255,255,255,.40) 34%,
        rgba(255,255,255,.91) 66%,
        rgba(255,255,255,.99) 100%
      ) !important;
  }
}


/* =========================================================
   LAPTOP-SAFE HOMEPAGE + CLEAN LOGO
   ========================================================= */

html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
}

.site-shell{
  width:min(1280px,calc(100% - 40px)) !important;
}

.brand{
  width:108px !important;
  min-width:108px !important;
  height:64px !important;
  overflow:visible !important;
}

.brand img{
  width:104px !important;
  height:58px !important;
  object-fit:contain !important;
  object-position:center !important;
  max-width:none !important;
}

.home-hero-background{
  min-height:500px !important;
}

.home-copy-compact{
  max-width:760px !important;
  padding:48px 0 46px !important;
}

.home-copy-compact h1{
  font-size:clamp(36px,3.55vw,54px) !important;
  line-height:1.03 !important;
  letter-spacing:-.045em !important;
  max-width:760px !important;
  margin:0 0 14px !important;
  text-wrap:balance;
}

.home-copy-compact .small-blue-line{
  margin-bottom:16px !important;
}

.home-copy-compact .home-tagline{
  font-size:15px !important;
  max-width:650px !important;
}

.home-copy-compact .home-description{
  max-width:600px !important;
  font-size:13px !important;
  line-height:1.55 !important;
}

.home-copy-compact .home-actions{
  margin-top:20px !important;
}

.home-copy-compact .primary-button,
.home-copy-compact .secondary-button{
  height:42px !important;
  min-width:128px !important;
  padding:0 20px !important;
}

.benefit-grid{
  width:100% !important;
  max-width:100% !important;
}

@media (min-width:1181px) and (max-width:1500px){
  .site-shell{
    width:min(1160px,calc(100% - 32px)) !important;
  }

  .home-hero-background{
    min-height:470px !important;
    background-position:60% center !important;
  }

  .home-copy-compact{
    max-width:690px !important;
    padding:42px 0 40px !important;
  }

  .home-copy-compact h1{
    font-size:clamp(38px,3.7vw,50px) !important;
    max-width:690px !important;
  }
}

@media (min-width:901px) and (max-width:1180px){
  .site-shell{
    width:min(1040px,calc(100% - 28px)) !important;
  }

  .home-hero-background{
    min-height:450px !important;
    background-position:64% center !important;
  }

  .home-hero-overlay{
    background:
      linear-gradient(
        90deg,
        rgba(255,255,255,.99) 0%,
        rgba(255,255,255,.97) 39%,
        rgba(255,255,255,.76) 60%,
        rgba(255,255,255,.16) 100%
      ) !important;
  }

  .home-copy-compact{
    max-width:620px !important;
    padding:38px 0 36px !important;
  }

  .home-copy-compact h1{
    font-size:clamp(34px,4.15vw,44px) !important;
    max-width:620px !important;
  }
}

@media (max-width:900px){
  .site-shell{
    width:min(100% - 24px,1280px) !important;
  }

  .home-copy-compact h1{
    font-size:clamp(34px,8vw,44px) !important;
    max-width:100% !important;
  }
}


/* Homepage feature bar intentionally removed */
.home-hero-background{margin-bottom:0 !important;}


/* =========================================================
   HOMEPAGE FOOTER AND INTERIOR PAGE SCROLL ARROWS
   ========================================================= */

/* Full homepage footer from the approved reference */
.home-footer{
  margin-top:0 !important;
  padding:46px 0 20px !important;
  background:linear-gradient(135deg,#123552 0%,#071d31 100%) !important;
  color:#fff !important;
  border-top:0 !important;
}

.home-footer-grid{
  display:grid;
  grid-template-columns:1.45fr .75fr 1.1fr 1.25fr;
  gap:54px;
  align-items:start;
}

.home-footer-brand{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:24px;
  align-items:start;
}

.home-footer-brand img{
  width:104px !important;
  height:70px !important;
  object-fit:contain !important;
  filter:brightness(0) invert(1);
}

.home-footer h2{
  margin:0 0 13px;
  color:#fff;
  font-size:18px;
  line-height:1.2;
}

.home-footer-brand p{
  max-width:300px;
  margin:0;
  color:#fff;
  font-size:14px;
  line-height:1.55;
}

.home-footer-column{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
}

.home-footer-column a{
  color:#fff;
  font-size:14px;
  line-height:1.45;
  overflow-wrap:anywhere;
}

.home-footer-column a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

.home-footer-bottom{
  margin-top:36px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.18);
  color:#e4edf5;
  font-size:13px;
}

/* Clickable arrow below each interior title block */
.interior-hero,
.about-hero-only{
  position:relative;
}

.page-scroll-arrow{
  position:absolute;
  left:50%;
  bottom:24px;
  z-index:5;
  width:42px;
  height:42px;
  transform:translateX(-50%);
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#075ba9;
  color:#fff;
  border:2px solid #fff;
  box-shadow:0 8px 20px rgba(7,91,169,.25);
  font-size:25px;
  font-weight:700;
  line-height:1;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
  animation:pageArrowBounce 1.8s ease-in-out infinite;
}

.page-scroll-arrow:hover,
.page-scroll-arrow:focus-visible{
  background:#064c8e;
  transform:translateX(-50%) translateY(3px);
  box-shadow:0 10px 24px rgba(7,91,169,.34);
  outline:none;
}

@keyframes pageArrowBounce{
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(7px)}
}

/* Leave enough room so the arrow does not overlap title copy. */
.interior-hero .site-shell,
.about-hero-only .about-hero-centered{
  padding-bottom:70px;
}

@media(max-width:1000px){
  .home-footer-grid{
    grid-template-columns:1fr 1fr;
    gap:36px 48px;
  }
}

@media(max-width:640px){
  .home-footer{
    padding-top:36px !important;
  }

  .home-footer-grid{
    grid-template-columns:1fr;
    gap:30px;
  }

  .home-footer-brand{
    grid-template-columns:88px 1fr;
    gap:18px;
  }

  .home-footer-brand img{
    width:84px !important;
    height:58px !important;
  }

  .page-scroll-arrow{
    bottom:18px;
    width:40px;
    height:40px;
  }

  .interior-hero .site-shell,
  .about-hero-only .about-hero-centered{
    padding-bottom:62px;
  }
}

@media(prefers-reduced-motion:reduce){
  .page-scroll-arrow{
    animation:none;
  }
}


/* =========================================================
   MODERN VIEWPORT + INTERIOR HERO REFINEMENTS
   ========================================================= */

/* Keep the homepage footer completely below the first viewport. */
body{
  min-height:100%;
}

body:has(.home-hero),
body:has(.home-hero-background){
  display:flex;
  min-height:100vh;
  flex-direction:column;
}

body:has(.home-hero) main,
body:has(.home-hero-background) main{
  flex:1 0 auto;
}

/* The first homepage section fills the usable screen beneath the header. */
.home-hero,
.home-hero-background{
  min-height:calc(100vh - 76px) !important;
  padding-bottom:0 !important;
  display:flex !important;
  align-items:center !important;
}

.home-hero-content,
.home-content{
  width:100%;
}

.site-footer{
  flex-shrink:0;
}

/* Interior title blocks are intentionally shorter and more visual. */
.interior-hero,
.page-hero,
.about-hero-only{
  min-height:0 !important;
  height:auto !important;
  padding:72px 0 62px !important;
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
  background:
    linear-gradient(135deg, rgba(247,250,253,.98), rgba(237,245,252,.92)) !important;
  border-bottom:1px solid var(--line, #dce3eb) !important;
}

.interior-hero .center-heading,
.interior-hero .contact-heading,
.page-hero-copy,
.about-hero-centered{
  max-width:820px !important;
  margin:0 auto !important;
  padding:0 24px !important;
  text-align:center !important;
}

.interior-hero h1,
.page-hero h1,
.about-hero-centered h1{
  font-size:clamp(40px,4.4vw,58px) !important;
  line-height:1.02 !important;
  letter-spacing:-.045em !important;
  margin:0 0 12px !important;
}

.interior-hero h2,
.page-hero h2,
.about-hero-centered h2{
  font-size:clamp(18px,2vw,24px) !important;
  line-height:1.35 !important;
  margin:0 !important;
}

.interior-hero p,
.page-hero p,
.about-hero-centered p{
  font-size:16px !important;
  line-height:1.55 !important;
  margin:10px auto 0 !important;
  max-width:690px !important;
}

/* Minimal scroll arrow: no bulky blue circle. */
.scroll-arrow,
.down-arrow,
.page-arrow{
  display:none !important;
}

.modern-scroll-arrow{
  position:absolute !important;
  left:50% !important;
  bottom:-17px !important;
  transform:translateX(-50%) !important;
  width:34px !important;
  height:34px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  background:#fff !important;
  border:1px solid rgba(7,94,175,.28) !important;
  box-shadow:0 8px 22px rgba(16,48,82,.10) !important;
  z-index:5 !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.modern-scroll-arrow:hover{
  transform:translateX(-50%) translateY(2px) !important;
  border-color:rgba(7,94,175,.65) !important;
  box-shadow:0 10px 24px rgba(16,48,82,.14) !important;
}

.modern-scroll-arrow span{
  width:9px !important;
  height:9px !important;
  border-right:2px solid #075eaf !important;
  border-bottom:2px solid #075eaf !important;
  transform:rotate(45deg) translateY(-2px) !important;
}

/* Give revealed content breathing room beneath the compact title block. */
.reveal-section,
.scroll-reveal,
.content-section{
  scroll-margin-top:92px !important;
}

@media(max-width:900px){
  .home-hero,
  .home-hero-background{
    min-height:calc(100vh - 68px) !important;
  }

  .interior-hero,
  .page-hero,
  .about-hero-only{
    padding:58px 0 54px !important;
  }
}

@media(max-width:640px){
  .interior-hero h1,
  .page-hero h1,
  .about-hero-centered h1{
    font-size:40px !important;
  }

  .interior-hero,
  .page-hero,
  .about-hero-only{
    padding:50px 0 50px !important;
  }
}
