/* v0.6.07 — one identical top strip + navigation header on every page */
.top-strip{
  box-sizing:border-box !important;
  min-height:40px !important;
  height:40px !important;
  width:100% !important;
  margin:0 !important;
  background:#101714 !important;
  color:#f7f5ef !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  padding:0 clamp(18px,3vw,42px) !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.12em !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  overflow:hidden !important;
  white-space:nowrap !important;
}
.top-strip span{
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:18px !important;
  min-height:18px !important;
  padding:0 clamp(22px,3.1vw,44px) !important;
  line-height:18px !important;
  white-space:nowrap !important;
}
.top-strip span + span{border-left:1px solid rgba(255,255,255,.24) !important;}

.site-header.editorial-header{
  box-sizing:border-box !important;
  position:relative !important;
  z-index:30 !important;
  width:100% !important;
  max-width:100vw !important;
  min-height:98px !important;
  margin:0 !important;
  padding:16px clamp(22px,4vw,64px) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:28px !important;
  background:#fffdf8 !important;
  border-bottom:1px solid rgba(18,52,43,.12) !important;
  backdrop-filter:none !important;
}
.site-header.editorial-header .brand,
.site-header.editorial-header .brand.brand-lockup{
  min-width:330px !important;
  margin-right:auto !important;
  display:flex !important;
  align-items:center !important;
  gap:0 !important;
}
.site-header.editorial-header .brand img,
.site-header.editorial-header .brand.brand-lockup img{
  width:320px !important;
  height:66px !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:left center !important;
  border-radius:0 !important;
  background:transparent !important;
}
.site-header.editorial-header .site-nav{
  min-width:0 !important;
  margin-left:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:28px !important;
  flex-wrap:nowrap !important;
}
.site-header.editorial-header .site-nav > a:not(.nav-cta):not(.nav-login){
  padding:10px 0 !important;
  border-radius:0 !important;
  border-bottom:2px solid transparent !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#243a33 !important;
  font-size:15px !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}
.site-header.editorial-header .site-nav > a:not(.nav-cta):not(.nav-login):hover{
  color:#183f35 !important;
  border-bottom-color:rgba(33,75,58,.35) !important;
}
.site-header.editorial-header .site-nav > a.active:not(.nav-cta):not(.nav-login){
  color:#183f35 !important;
  border-bottom-color:#183f35 !important;
}
.site-header.editorial-header .nav-cta{
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:176px !important;
  padding:13px 22px !important;
  border:1px solid #a96f4d !important;
  border-radius:8px !important;
  background:#a96f4d !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:15px !important;
  font-weight:800 !important;
  white-space:nowrap !important;
  box-shadow:none !important;
}
.site-header.editorial-header .nav-login{
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:88px !important;
  padding:13px 18px !important;
  border:1px solid #d9e6d4 !important;
  border-radius:8px !important;
  background:#fffdf8 !important;
  color:#1c473b !important;
  font-size:15px !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}

@media (min-width:761px) and (max-width:1200px){
  .site-header.editorial-header{min-height:86px !important;padding:12px 24px !important;gap:16px !important;}
  .site-header.editorial-header .brand,
  .site-header.editorial-header .brand.brand-lockup{min-width:220px !important;}
  .site-header.editorial-header .brand img,
  .site-header.editorial-header .brand.brand-lockup img{width:220px !important;height:58px !important;max-width:none !important;}
  .site-header.editorial-header .site-nav{gap:14px !important;flex-wrap:nowrap !important;}
  .site-header.editorial-header .site-nav > a:not(.nav-cta):not(.nav-login){font-size:13px !important;}
  .site-header.editorial-header .nav-cta{min-width:140px !important;padding:11px 14px !important;font-size:13px !important;}
  .site-header.editorial-header .nav-login{min-width:70px !important;padding:11px 14px !important;font-size:13px !important;}
}

@media (max-width:760px){
  .top-strip{height:38px !important;min-height:38px !important;justify-content:flex-start !important;overflow-x:auto !important;padding:0 10px !important;font-size:9.5px !important;letter-spacing:.09em !important;}
  .top-strip span{padding:0 16px !important;}
  .site-header.editorial-header{min-height:68px !important;padding:8px 18px !important;gap:12px !important;flex-wrap:wrap !important;}
  .site-header.editorial-header .brand,
  .site-header.editorial-header .brand.brand-lockup{min-width:0 !important;margin-right:auto !important;}
  .site-header.editorial-header .brand img,
  .site-header.editorial-header .brand.brand-lockup img{width:185px !important;height:50px !important;max-width:65vw !important;}
  .site-header.editorial-header .site-nav{width:100% !important;display:none !important;gap:10px !important;flex-wrap:wrap !important;justify-content:flex-start !important;}
  .site-header.editorial-header .site-nav.open{display:flex !important;}
  .site-header.editorial-header .menu-toggle{display:block !important;}
  .site-header.editorial-header .nav-cta,.site-header.editorial-header .nav-login{min-width:0 !important;}
}

/* v0.6.21 - mobile slide-out navigation */
.mobile-nav-overlay{display:none}
.mobile-nav-close{display:none}
.mobile-nav-brand{display:none}
.mobile-nav-section-label{display:none}

@media (max-width:760px){
  body.mobile-menu-open{overflow:hidden !important;}
  .site-header.editorial-header{
    flex-wrap:nowrap !important;
    min-height:72px !important;
    padding:10px 16px !important;
  }
  .site-header.editorial-header .brand img,
  .site-header.editorial-header .brand.brand-lockup img{
    width:178px !important;
    height:48px !important;
    max-width:68vw !important;
  }
  .site-header.editorial-header .menu-toggle{
    display:grid !important;
    place-items:center !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    padding:0 !important;
    margin-left:auto !important;
    border:1px solid #d9dfda !important;
    border-radius:6px !important;
    background:#fffdf8 !important;
    color:#163f34 !important;
    font-size:0 !important;
    box-shadow:none !important;
    cursor:pointer !important;
  }
  .site-header.editorial-header .menu-toggle::before{
    content:"☰";
    font-size:27px;
    line-height:1;
    font-weight:400;
  }
  .mobile-nav-overlay{
    display:block;
    position:fixed;
    inset:0;
    z-index:998;
    background:rgba(8,18,14,.56);
    opacity:0;
    visibility:hidden;
    transition:opacity .25s ease,visibility .25s ease;
  }
  .mobile-nav-overlay.open{opacity:1;visibility:visible;}
  .site-header.editorial-header .site-nav{
    display:flex !important;
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:auto !important;
    z-index:999 !important;
    width:min(88vw,420px) !important;
    max-width:420px !important;
    height:100dvh !important;
    margin:0 !important;
    padding:26px 30px 34px !important;
    background:#fff !important;
    border-left:1px solid #e5e6e1 !important;
    box-shadow:-18px 0 50px rgba(10,25,18,.18) !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    overflow-y:auto !important;
    transform:translateX(105%) !important;
    opacity:1 !important;
    visibility:visible !important;
    transition:transform .28s ease !important;
  }
  .site-header.editorial-header .site-nav.open{transform:translateX(0) !important;}
  .mobile-nav-close{
    display:grid !important;
    place-items:center !important;
    position:absolute !important;
    top:18px !important;
    right:20px !important;
    width:42px !important;
    height:42px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:#111814 !important;
    font-size:32px !important;
    line-height:1 !important;
    cursor:pointer !important;
  }
  .mobile-nav-brand{
    display:block !important;
    padding:5px 52px 22px 0 !important;
    border-bottom:1px solid #d9dcd8 !important;
    color:#173f34 !important;
    font-family:Georgia,serif !important;
    font-size:25px !important;
    line-height:1.1 !important;
    font-weight:500 !important;
  }
  .mobile-nav-section-label{
    display:block !important;
    padding:24px 0 9px !important;
    color:#a96f4d !important;
    font-size:11px !important;
    font-weight:800 !important;
    letter-spacing:.15em !important;
    text-transform:uppercase !important;
  }
  .site-header.editorial-header .site-nav > a,
  .site-header.editorial-header .site-nav > a:not(.nav-cta):not(.nav-login),
  .site-header.editorial-header .site-nav > .nav-cta,
  .site-header.editorial-header .site-nav > .nav-login{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    min-width:0 !important;
    min-height:58px !important;
    margin:0 !important;
    padding:14px 32px 14px 4px !important;
    border:0 !important;
    border-bottom:1px solid #e2e4e0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#17241f !important;
    -webkit-text-fill-color:#17241f !important;
    font-size:19px !important;
    font-weight:550 !important;
    line-height:1.25 !important;
    text-align:left !important;
    box-shadow:none !important;
  }
  .site-header.editorial-header .site-nav > a::after{
    content:"›";
    position:absolute;
    right:4px;
    top:50%;
    transform:translateY(-52%);
    color:#173f34;
    font-size:28px;
    font-weight:500;
  }
  .site-header.editorial-header .site-nav > a.active{
    color:#173f34 !important;
    font-weight:750 !important;
  }
  .site-header.editorial-header .site-nav > .nav-cta{
    margin-top:24px !important;
    padding:15px 18px !important;
    min-height:56px !important;
    justify-content:center !important;
    border:0 !important;
    border-radius:8px !important;
    background:#a96f4d !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    font-weight:800 !important;
  }
  .site-header.editorial-header .site-nav > .nav-cta::after{display:none !important;}
  .site-header.editorial-header .site-nav > .nav-login{
    margin-top:10px !important;
    justify-content:center !important;
    border:1px solid #d9e1db !important;
    border-radius:8px !important;
    background:#f4f7f2 !important;
    color:#173f34 !important;
    font-weight:750 !important;
  }
  .site-header.editorial-header .site-nav > .nav-login::after{display:none !important;}
}

/* v0.6.25 - keep the mobile drawer above its page-dimming overlay */
@media (max-width:760px){
  .site-header.editorial-header{
    z-index:1000 !important;
  }
  .site-header.editorial-header .site-nav{
    pointer-events:auto !important;
  }
  .site-header.editorial-header .site-nav > a,
  .site-header.editorial-header .site-nav button{
    pointer-events:auto !important;
  }
  .mobile-nav-overlay{
    z-index:999 !important;
  }
}

/* v0.6.26 - mobile rotating credential strip + compact request hero */
@media (max-width:760px){
  /* Show one credential at a time and rotate it automatically. */
  .top-strip,
  body:not(.editorial-home) .top-strip{
    position:relative !important;
    height:38px !important;
    min-height:38px !important;
    padding:0 14px !important;
    overflow:hidden !important;
    justify-content:center !important;
    white-space:normal !important;
  }
  .top-strip span,
  body:not(.editorial-home) .top-strip span{
    position:absolute !important;
    inset:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    padding:0 16px !important;
    border-left:0 !important;
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateY(7px) !important;
    transition:opacity .35s ease, transform .35s ease, visibility .35s ease !important;
    text-align:center !important;
    font-size:10px !important;
    line-height:1.15 !important;
    letter-spacing:.08em !important;
  }
  .top-strip span.mobile-trust-active,
  body:not(.editorial-home) .top-strip span.mobile-trust-active{
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(0) !important;
  }

  /* Make the request-page intro fit comfortably on a phone. */
  body.request-page-bg .page-hero{
    padding:34px 0 22px !important;
  }
  body.request-page-bg .page-hero .narrow{
    width:min(100% - 36px, 680px) !important;
    max-width:none !important;
  }
  body.request-page-bg .page-hero .eyebrow{
    margin-bottom:8px !important;
    font-size:10px !important;
    letter-spacing:.14em !important;
    line-height:1.2 !important;
  }
  body.request-page-bg .page-hero h1{
    max-width:100% !important;
    font-size:clamp(34px, 10.2vw, 44px) !important;
    line-height:1.02 !important;
    letter-spacing:-.025em !important;
  }
}

/* v0.6.96 footer refinement */
.pat-footer .footer-grid{grid-template-columns:minmax(300px,1.35fr) minmax(160px,.7fr) minmax(160px,.7fr);}
.pat-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;}
.pat-footer .footer-founded{margin-left:auto;text-align:right;white-space:nowrap;}
@media(max-width:760px){.pat-footer .footer-grid{grid-template-columns:1fr;}.pat-footer .footer-bottom{align-items:flex-start;flex-direction:column;}.pat-footer .footer-founded{margin-left:0;text-align:left;}}
