/* Enterprise finishing layer. Loaded last on every page; it refines, it does not restyle.
   Utility bar, legal row, header and dropdown detailing, form focus,
   typographic polish and a print stylesheet for procurement teams. */
:root{--utility-h:0px;--forest:#0d2920;--hairline:#d3ded7}

/* ---------- Typography: balanced headings, steady numerals ---------- */
h1,h2,h3{text-wrap:balance}
p,li,dd{text-wrap:pretty}
body{text-rendering:optimizeLegibility;font-kerning:normal}
.eyebrow,.menu-index,.journey-current,.footer-bottom,.utility-bar{font-variant-numeric:tabular-nums}
html{scrollbar-color:#a9bdb1 transparent}

/* ---------- Utility bar (desktop) ---------- */
.utility-bar{display:none}
@media(min-width:1101px){
  :root{--utility-h:42px}
  .utility-bar{display:block;background:var(--forest);color:#c3d3c9;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;position:relative;z-index:2}
  .utility-inner{height:var(--utility-h);display:flex;align-items:center;justify-content:space-between;gap:30px}
  .utility-meta{display:flex;align-items:center;gap:18px;margin:0;white-space:nowrap}
  .utility-meta i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#5fd08f;margin-right:10px;vertical-align:1px;box-shadow:0 0 0 3px #5fd08f22}
  .utility-meta .sep{width:1px;height:12px;background:#ffffff2e}
  .utility-links{display:flex;align-items:center;gap:0;white-space:nowrap}
  .utility-links a{padding:0 16px;line-height:1;border-left:1px solid #ffffff24;transition:color .2s}
  .utility-links a:first-child{border-left:0}
  .utility-links a:last-child{padding-right:0}
  .utility-links a:hover{color:#fff}
  .utility-links a:focus-visible{outline-color:#9fe2b9;outline-offset:3px}
  /* The full certification list needs the room on narrower desktops. */
  @media(max-width:1280px){.utility-meta .sep,.utility-meta>span:last-child{display:none}}
  /* Full-height heroes keep their fold with the extra bar above the header. */
  .hero--cinematic,.concept-hero,.about-hero{min-height:calc(100svh - var(--header-height) - var(--utility-h))}
}

/* ---------- Sticky header: the utility bar scrolls away, the main bar stays ---------- */
#site-header{position:sticky;top:calc(-1 * var(--utility-h));z-index:60}
.site-header{position:relative}
html{scroll-padding-top:calc(var(--header-height) + 24px)}
/* Sticky elements below the header sit under it, not behind it. */
.journey.is-pinned .journey-sticky{top:var(--header-height);height:calc(100vh - var(--header-height));height:calc(100svh - var(--header-height))}
@media(min-width:1024px) and (min-height:720px){.founder-profile{top:calc(var(--header-height) + 32px)}}

/* ---------- Header: a firmer base line and crisper navigation ---------- */
.site-header{border-bottom-color:var(--hairline);box-shadow:0 1px 0 #ffffff inset,0 6px 18px -14px #14282026}
.desktop-nav .nav-link{transition:color .2s}
.desktop-nav .nav-link:hover,.desktop-nav .nav-link.is-section-current,.desktop-nav .nav-link[aria-current=page]{color:var(--green)}
.button.header-cta{box-shadow:0 1px 0 #ffffff26 inset}

/* Dropdowns read as a structured menu: accent rule, hover indicator, tidy arrows. */
.dropdown{border-top:2px solid var(--green);padding:10px}
.dropdown a{position:relative;border-radius:2px;transition:background .18s,color .18s,padding .18s}
.dropdown a::before{content:'';position:absolute;left:0;top:10px;bottom:10px;width:2px;background:var(--green);transform:scaleY(0);transition:transform .18s}
.dropdown a:hover::before,.dropdown a[aria-current=page]::before{transform:scaleY(1)}
.dropdown a:hover{padding-left:16px}
.dropdown a+a{box-shadow:0 -1px 0 #edf2ee}

/* ---------- Buttons and links ---------- */
.button{letter-spacing:.005em}
.button:not(.secondary){box-shadow:0 1px 0 #ffffff1f inset}
.button:focus-visible,.text-link:focus-visible{outline-offset:4px}
.text-link{transition:border-color .2s,color .2s}
.text-link:hover{color:var(--green);border-color:var(--green)}

/* ---------- Homepage credentials: a formal register, not a list ---------- */
.trustbar .trust-item{padding-left:25px;border-left:1px solid var(--hairline);min-height:56px}
@media(max-width:1100px){.trustbar .trust-item{padding-left:16px}}
@media(max-width:760px){.trustbar .trust-item{border-left:0;padding-left:0}}

/* ---------- Forms: enterprise-grade field states ---------- */
input:not([type=checkbox]):not([type=radio]),select,textarea{transition:border-color .2s,box-shadow .2s,background-color .2s}
input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{border-color:#a9bdb1}
input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #08784421;background-color:#fff}

/* ---------- Footer: legal row ---------- */
.footer-legal{display:inline-flex;flex-wrap:wrap;gap:6px 22px}
.footer-legal a{margin:0!important;display:inline-block!important}
.footer-bottom a:hover{color:var(--green)}
@media(max-width:760px){
  .site-footer .footer-bottom{grid-template-columns:1fr}
}

/* ---------- Print: clean capability sheets for procurement files ---------- */
@media print{
  @page{margin:16mm 14mm}
  html,body{background:#fff!important;color:#000!important;font-size:11pt}
  .utility-bar,.desktop-nav,.menu-toggle,.mobile-nav,.header-cta,.skip,.journey-controls,.scroll-cue,video,canvas,.hero-orbit,.technical-grid,.footer-wordmark,noscript{display:none!important}
  #site-header{position:static!important}
  .site-header{position:static!important;box-shadow:none!important;border-bottom:1px solid #000!important;height:auto!important;padding:6mm 0}
  .reveal{opacity:1!important;transform:none!important}
  section{break-inside:avoid-page}
  h1,h2,h3{break-after:avoid;color:#000!important}
  main a[href^="http"]::after,main a[href^="mailto:"]::after{content:" (" attr(href) ")";font-size:9pt;color:#444}
  .site-footer{background:#fff!important;border-top:1px solid #000}
}

@media(prefers-reduced-motion:reduce){.dropdown a,.dropdown a::before,.utility-links a{transition:none}}

/* ---------- Sticky header, both bars ---------- */
#site-header{top:0}
html{scroll-padding-top:calc(var(--header-height) + var(--utility-h) + 24px)}
.journey.is-pinned .journey-sticky{top:calc(var(--header-height) + var(--utility-h));height:calc(100vh - var(--header-height) - var(--utility-h));height:calc(100svh - var(--header-height) - var(--utility-h))}
@media(min-width:1024px) and (min-height:720px){.founder-profile{top:calc(var(--header-height) + var(--utility-h) + 32px)}}
html .post-toc{top:calc(120px + var(--utility-h))}
@media(min-width:901px){html .contact-intro{top:calc(110px + var(--utility-h))}}
@media(min-width:1101px){
  .utility-place{padding-right:16px}
  .utility-meta>span:last-child{display:inline}
}
