/* Owner-supplied cinematic footage. The homepage uses a dark, left-aligned
   editorial treatment while every interior page retains its own navigation. */
.page-home .site-header{
  position:fixed;
  inset:0 0 auto;
  z-index:100;
  padding-top:27px;
  min-height:0;
  background:transparent;
  transition:background-color .26s ease,padding-top .26s ease,box-shadow .26s ease;
}
.page-home .utility-line{display:none}
.page-home .site-header .nav-shell{
  width:min(calc(100% - 44px),1180px);
  min-height:67px;
  margin-inline:auto;
  padding:0 10px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transition:min-height .26s ease;
}
.page-home .site-header .brand-word strong{color:#fff}
.page-home .site-header .brand-word small{color:#f2f0ed}
.page-home .site-header .nav-trigger{color:#fff}
.page-home .site-header .nav-trigger:hover,
.page-home .site-header .nav-trigger[aria-expanded=true]{color:#fff;border-bottom-color:#fff}
.page-home .site-header .search-trigger{display:none}
.page-home .site-header .nav-cta{background:#fff;color:#32131d}
.page-home .site-header .nav-cta:hover{background:#f1efeb;color:#32131d}
.page-home .site-header .mobile-toggle span{background:#fff}
.page-home .site-header.is-scrolled{
  padding-top:0;
  background:rgba(255,255,255,.985);
  box-shadow:0 8px 26px rgba(27,17,21,.1);
  border-bottom:1px solid #e9dfdc;
}
.page-home .site-header.is-scrolled .nav-shell{min-height:74px}
.page-home .site-header.is-scrolled .brand-word strong{color:#15131b}
.page-home .site-header.is-scrolled .brand-word small{color:#5e141b}
.page-home .site-header.is-scrolled .nav-trigger{color:#19171e}
.page-home .site-header.is-scrolled .nav-trigger:hover,
.page-home .site-header.is-scrolled .nav-trigger[aria-expanded=true]{color:#721b27;border-bottom-color:#721b27}
.page-home .site-header.is-scrolled .nav-cta{background:#5e141b;color:#fff}
.page-home .site-header.is-scrolled .nav-cta:hover{background:#81202c;color:#fff}
.page-home .site-header.is-scrolled .search-trigger{color:#17151c}
.page-home .site-header.is-scrolled .mobile-toggle span{background:#17151c}
.page-home .site-header.is-scrolled .brand:focus-visible,
.page-home .site-header.is-scrolled .nav-trigger:focus-visible,
.page-home .site-header.is-scrolled .nav-cta:focus-visible{outline-color:#792333}
.page-home .home-hero--video-ready{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  isolation:isolate;
  min-height:100vh;
  min-height:max(720px,100svh);
  min-height:max(720px,100dvh);
  overflow:hidden;
  background:#171c26;
}
.page-home .home-hero-media,
.page-home .home-hero-veil{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.page-home .home-hero-media{
  z-index:0;
  background:#171c26;
}
.page-home .home-hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 46%;
  filter:saturate(.73) contrast(1.08);
}
.page-home .home-hero-veil{
  z-index:1;
  background:
    linear-gradient(90deg,rgba(16,20,29,.95) 0%,rgba(19,21,30,.92) 31%,rgba(26,24,33,.82) 58%,rgba(25,27,37,.56) 80%,rgba(24,29,39,.38) 100%),
    linear-gradient(180deg,rgba(16,18,27,.33),transparent 38%,rgba(19,20,30,.3));
}
.page-home .home-hero--video-ready .home-hero-inner{
  position:relative;
  z-index:2;
  width:min(calc(100% - 80px),1180px);
  padding:130px 0 48px;
  text-align:left;
}
.page-home .home-hero--video-ready .overline{justify-content:flex-start;color:#f2f0ed;font-size:11px;letter-spacing:.16em}
.page-home .home-hero--video-ready .overline-line{width:36px;background:#f2f0ed}
.page-home .home-hero--video-ready h1{
  max-width:1040px;
  margin:25px 0 28px;
  color:#fff;
  font-size:clamp(54px,5.45vw,96px);
  line-height:1.06;
  letter-spacing:-.064em;
}
.page-home .home-hero--video-ready h1 em{color:#fff}
.page-home .home-hero--video-ready .home-hero-inner>p{
  max-width:725px;
  margin:0;
  color:#f0eaed;
  font-size:clamp(17px,1.3vw,20px);
  line-height:1.64;
}
.page-home .home-hero--video-ready .hero-buttons{
  position:relative;
  z-index:2;
  justify-content:flex-start;
  gap:17px;
  margin-top:29px;
}
.page-home .home-hero--video-ready .button--primary{
  background:#fff;
  color:#391520;
  border-color:#fff;
  box-shadow:0 7px 20px rgba(10,12,20,.13);
}
.page-home .home-hero--video-ready .button--primary:hover{background:#f1efeb;border-color:#f1efeb}
.page-home .home-hero--video-ready .button--secondary{
  background:transparent;
  color:#fff;
  border-color:transparent;
  padding-inline:12px;
}
.page-home .home-hero--video-ready .button--secondary:hover{background:rgba(255,255,255,.09);color:#fff}
.page-home .home-hero--video-ready .button--secondary:focus-visible{outline:2px solid #fff;outline-offset:3px}
.page-home .home-hero--video-ready .button--primary:focus-visible{outline:3px solid #fff;outline-offset:3px}
.page-home .site-header .brand:focus-visible,
.page-home .site-header .nav-trigger:focus-visible,
.page-home .site-header .nav-cta:focus-visible{outline:2px solid #fff;outline-offset:4px}
.page-home .home-capability-map{
  position:relative;
  padding:clamp(62px,7vw,105px) 0 clamp(58px,6vw,94px);
  background:#fff;
  border-top:1px solid #ebe1db;
}
.page-home .home-capability-map-inner{max-width:1440px}
.page-home .home-capability-map-label{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-bottom:32px;
  color:#681924;
  font-size:11px;
  font-weight:800;
  letter-spacing:.19em;
  line-height:1.5;
  text-align:center;
}
.page-home .home-capability-map-label span{color:#5e141b}
.page-home .home-capability-map .reference-home-diagram{margin:0 auto}
/* The source artwork has a warm off-white canvas. Feather only its blank
   perimeter into the section's true white, without softening the lettering,
   thin connector lines, or the separately rendered interactive brand mark. */
.page-home .home-capability-map .reference-home-diagram::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,#fff 0%,transparent 4%,transparent 96%,#fff 100%),
    linear-gradient(180deg,#fff 0%,transparent 7%,transparent 93%,#fff 100%);
}
.page-home .home-capability-map .reference-mobile-capabilities{margin-inline:auto}
.page-home .home-video-toggle{
  position:absolute;
  right:max(24px,4vw);
  bottom:24px;
  z-index:3;
  min-height:42px;
  padding:9px 18px;
  border:1px solid rgba(255,255,255,.56);
  border-radius:999px;
  background:rgba(17,20,29,.52);
  color:#fff;
  font-size:12px;
  font-weight:800;
  box-shadow:0 3px 14px rgba(10,13,20,.14);
}
.page-home .home-video-toggle:hover{background:rgba(17,20,29,.79)}
.page-home .home-video-toggle:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:1200px){
  .page-home .site-header{padding-top:16px}
  .page-home .site-header .nav-shell{min-height:70px}
  .page-home .site-header .mobile-panel{top:92px}
  .page-home .site-header .search-trigger{display:inline-flex;color:#fff}
}
@media(min-width:681px) and (max-width:1050px){
  .page-home .home-hero--video-ready .home-hero-inner{width:calc(100% - 84px);padding:120px 0 54px}
  .page-home .home-hero--video-ready h1{font-size:clamp(54px,6.3vw,76px)}
  .page-home .home-hero-veil{background:linear-gradient(90deg,rgba(16,20,29,.93),rgba(19,21,30,.83) 54%,rgba(25,27,37,.5))}
}
@media(max-width:680px){
  .page-home .site-header{padding-top:0}
  .page-home .site-header .nav-shell{width:100%;min-height:76px;border-radius:0;border:0;background:transparent;padding-inline:17px}
  .page-home .site-header.is-scrolled .nav-shell{min-height:76px;background:transparent}
  .page-home .site-header .mobile-panel{top:76px}
  .page-home .home-hero--video-ready{min-height:max(720px,100svh);min-height:max(720px,100dvh)}
  .page-home .home-hero--video-ready .home-hero-inner{width:calc(100% - 42px);padding:106px 0 55px}
  .page-home .home-hero--video-ready h1{font-size:clamp(38px,9.5vw,56px);line-height:1.08;letter-spacing:-.057em;margin:23px 0 24px}
  .page-home .home-hero--video-ready .overline{font-size:9px;letter-spacing:.12em}
  .page-home .home-hero--video-ready .home-hero-inner>p{font-size:15px;line-height:1.65;max-width:530px}
  .page-home .home-hero--video-ready .hero-buttons{gap:10px;flex-wrap:wrap;margin-top:23px}
  .page-home .home-hero--video-ready .button--primary{padding-inline:18px}
  .page-home .home-hero-video{object-position:53% 50%}
  .page-home .home-hero-veil{background:linear-gradient(90deg,rgba(15,20,30,.91) 0%,rgba(19,23,34,.84) 57%,rgba(24,28,40,.66) 100%)}
  .page-home .home-capability-map{padding:48px 0 61px}
  .page-home .home-capability-map-label{font-size:9px;letter-spacing:.12em;gap:8px;margin-bottom:10px}
  .page-home .home-video-toggle{right:17px;bottom:14px}
}
@media(prefers-reduced-motion:reduce){
  .page-home .home-hero-video{filter:none}
  .page-home .site-header,.page-home .site-header .nav-shell{transition:none}
}
