
/* Self-hosted fonts (replaces Google Fonts CDN — CSP style-src is 'self' only) */
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 500; font-display: swap; src: url('assets/fonts/archivo-500-700-latin.woff2') format('woff2'); }
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 600; font-display: swap; src: url('assets/fonts/archivo-500-700-latin.woff2') format('woff2'); }
@font-face { font-family: 'Archivo'; font-style: normal; font-weight: 700; font-display: swap; src: url('assets/fonts/archivo-500-700-latin.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/fonts/ibm-plex-sans-400-500-latin.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('assets/fonts/ibm-plex-sans-400-500-latin.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/fonts/ibm-plex-mono-400-latin.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url('assets/fonts/ibm-plex-mono-500-latin.woff2') format('woff2'); }

/* Standalone additions generated from the original design document. */
.hover-1:hover{opacity: 1;}
.hover-2:hover{color: #F3F1EB; border-bottom-color: #E8A33D;}
.hover-3:hover{border-color: rgba(232,163,61,0.65); background: linear-gradient(180deg, rgba(232,163,61,0.1), rgba(232,163,61,0.03)); box-shadow: inset 0 1px 0 rgba(255,255,255,0.1), 0 0 44px -6px rgba(232,163,61,0.4); transform: translateY(-2px);}
.hover-4:hover{transform: translateX(10px); background: rgba(233,230,223,0.014);}
.hover-5:hover{transform: translateX(10px); background: rgba(233,230,223,0.014);}
.hover-6:hover{transform: translateX(10px); background: rgba(233,230,223,0.014);}
.hover-7:hover{background: rgba(233,230,223,0.02);}
.hover-8:hover{background: rgba(233,230,223,0.02);}
.hover-9:hover{background: rgba(233,230,223,0.02);}
.hover-10:hover{background: rgba(233,230,223,0.02);}
.hover-11:hover{border-bottom-color: #E8A33D; text-shadow: 0 0 30px rgba(232,163,61,0.5);}
#section-rail .rail-label{color:#6A7480!important}
#section-rail .rail-dot{background:#47515F!important}
#section-rail a.is-active .rail-label{color:#E9E6DF!important}
#section-rail a.is-active .rail-dot{background:#E8A33D!important}
@supports not (animation-timeline: view()) {
  [data-sda] { animation: none !important; opacity: 1 !important; transform: none !important; }
}
@media (max-width:1280px){#section-rail{display:none!important}}
@media (max-width:700px){
  header>div{padding-left:20px!important;padding-right:20px!important}
  #oh-heroContent{padding-left:20px!important;padding-right:20px!important;padding-bottom:160px!important}
  #oh-approachContent,#oh-companyContent{padding-left:20px!important;padding-right:20px!important}
  [data-section="approach"] [data-sda][style*="grid-template-columns: 110px"]{grid-template-columns:80px 1fr!important;gap:16px!important}
  [data-section="company"] [style*="align-items: baseline"]{flex-wrap:wrap!important;gap:8px 12px!important}
  .hover-8>span:last-child,.hover-9>span:last-child{flex-basis:100%!important;max-width:none!important;text-align:right!important}
}
