/* Homepage hero only. The header now lives in the shared nav.css. */

.home-hero{
  padding:0;
  min-height:770px;
  overflow:hidden;
  background:#062c56;
}
.home-hero-layout{
  min-height:770px;
  display:grid;
  grid-template-columns:51.5% 48.5%;
}
.home-hero-copy{
  position:relative;
  z-index:2;
  isolation:isolate;
  display:flex;
  align-items:center;
  width:calc(100% + 164px);
  color:#fff;
  background:
    radial-gradient(circle at 1px 1px, rgba(109,164,215,.18) 1.1px, transparent 1.25px) 0 0/20px 20px,
    linear-gradient(135deg,#062a51 0%,#073766 100%);
  clip-path:polygon(0 0,100% 0,calc(100% - 164px) 100%,0 100%);
}
.home-hero-copy::before{display:none}
.home-hero-copy::after{
  content:"";
  position:absolute;
  z-index:3;
  top:0;
  right:0;
  width:2px;
  height:104%;
  background:linear-gradient(to bottom,transparent 9%,rgba(216,169,42,.52) 32%,rgba(216,169,42,.22) 78%,transparent 96%);
  transform:rotate(13deg);
  transform-origin:top;
  pointer-events:none;
}
.home-hero-copy-inner{
  width:min(690px, calc(100% - 72px));
  margin-left:max(58px, calc((100vw - 1460px)/2));
  padding:64px 0 52px;
  position:relative;
  z-index:2;
}
.home-hero-eyebrow{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:25px;
  color:#f3b52a;
  font-family:'Space Mono',monospace;
  font-size:12px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.home-hero-eyebrow span{width:31px;height:2px;background:#eab01e;display:block}
.home-hero h1{
  color:#fff;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(50px,4.55vw,74px);
  line-height:1.055;
  letter-spacing:-.035em;
  margin:0 0 31px;
  max-width:690px;
  font-weight:700;
}
.home-hero h1 span{color:#f4b329}
.home-hero-copy-inner > p{
  max-width:640px;
  color:#f2f6fb;
  font-size:18px;
  line-height:1.62;
  margin:0 0 30px;
}
.home-hero-actions{
  display:flex;
  gap:18px;
  align-items:center;
  flex-wrap:wrap;
  margin-bottom:31px;
}
.home-primary-cta,
.home-secondary-cta{
  border-radius:5px;
  min-height:61px;
  padding:16px 30px;
  font-size:15px;
  font-weight:700;
}
.home-primary-cta{
  background:var(--seal);
  box-shadow:none;
  min-width:275px;
}
.home-primary-cta:hover{box-shadow:0 10px 24px -14px rgba(200,55,45,.85)}
.home-secondary-cta{
  min-width:306px;
  color:#fff;
  border:2px solid rgba(255,255,255,.78);
  background:rgba(5,31,60,.18);
}
.home-secondary-cta:hover{background:#fff;color:#082d57}
.home-hero-stats{
  border-top:1px solid rgba(180,205,230,.25);
  padding-top:20px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  max-width:620px;
}
.home-stat{min-width:0}
.home-stat strong{
  display:block;
  margin-bottom:5px;
  color:#f5b82f;
  font-family:var(--font-head);
  font-size:27px;
  line-height:1;
}
.home-stat span{
  display:block;
  color:#e2ebf5;
  font-family:'Space Mono',monospace;
  font-size:10.5px;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.home-hero-photo{
  position:relative;
  z-index:1;
  min-width:0;
  background-image:url('images/hero-document-consultation.jpg');
  background-size:cover;
  background-position:61% 78%;
  background-repeat:no-repeat;
}
.home-hero-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(5,36,69,.11),transparent 18%);
  pointer-events:none;
}

@media (max-width:1240px){
  /* nav-link step-down removed: below 1240px the desktop nav is replaced by the
     mobile menu, so a smaller desktop nav size can no longer be reached. Keeping
     it would let the nav render at two different sizes depending on the page. */
  .home-hero-copy-inner{margin-left:44px;width:calc(100% - 112px)}
  .home-hero h1{font-size:clamp(47px,4.6vw,64px)}
}

@media (max-width:980px){
  .home-hero,.home-hero-layout{min-height:0}
  .home-hero-layout{grid-template-columns:1fr}
  .home-hero-copy{min-height:650px;width:100%;clip-path:none}
  .home-hero-copy::before{display:none}
  .home-hero-copy::after{display:none}
  .home-hero-copy-inner{width:auto;margin:0;padding:64px 36px 52px}
  .home-hero-photo{min-height:520px;background-position:54% 82%}
}

@media (max-width:620px){
  .home-hero-copy{min-height:auto}
  .home-hero-copy-inner{padding:50px 21px 42px}
  .home-hero-eyebrow{font-size:9.5px;letter-spacing:.09em;gap:9px;margin-bottom:20px}
  .home-hero-eyebrow span{width:22px}
  .home-hero h1{font-size:clamp(40px,12vw,52px);margin-bottom:25px}
  .home-hero-copy-inner > p{font-size:16px;line-height:1.6}
  .home-hero-actions{display:grid;grid-template-columns:1fr;gap:12px}
  .home-primary-cta,.home-secondary-cta{width:100%;min-width:0;min-height:56px;padding:14px 18px}
  .home-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .home-stat strong{font-size:22px}
  .home-stat span{font-size:8.5px;line-height:1.4}
  .home-hero-photo{min-height:430px;background-position:58% 86%}
}

@media (max-width:390px){
  .home-hero h1{font-size:39px}
  .home-hero-stats{grid-template-columns:1fr 1fr}
}
