/* Public visual system. Loaded after legacy component styles. */
:root {
  --oh-surface: #171b1d;
  --oh-page: #101416;
  --oh-line: #343b3e;
  --oh-text: #f2f4f3;
  --oh-muted: #b0bab8;
  --oh-accent: #ff812a;
  --oh-green: #a9d5be;
}
html body {
  background: var(--oh-page) !important;
  color: var(--oh-text);
  letter-spacing: 0 !important;
}
html body .page {
  background: var(--oh-page) !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body :is(h1,h2,h3,h4,button,a,p,small,b,strong,label) { letter-spacing: 0 !important; }
html body :is(button,a,input,select):focus-visible {
  outline: 2px solid var(--oh-accent) !important;
  outline-offset: 4px !important;
}
html body .hero {
  border: 0 !important;
  min-height: 420px !important;
  height: auto !important;
  gap: 0 !important;
}
html body .hero.jobs-as-news-hero {
  min-height: 390px !important;
  height: 390px !important;
}
html body .hero .hero-inner { min-height: 420px !important; padding-top: 48px !important; padding-bottom: 48px !important; }
html body .hero h1 { font-size: 52px !important; line-height: 1.07 !important; font-weight: 700 !important; }
html body .hero p { font-size: 15px !important; line-height: 1.65 !important; font-weight: 400 !important; }
html body .hero :is(.cta,.ghost-btn) { min-height: 42px !important; box-shadow: none !important; font-size: 12px !important; border-radius: 4px !important; }
html body .hero :is(.stat-card,.jobs-live-card-match) { background: #161c1ee8 !important; border: 1px solid #66716b66 !important; box-shadow: none !important; border-radius: 6px !important; }
html body :is(.main,.oh-page-side-layout) { background: var(--oh-page) !important; }
html body :is(.home-block,.jobs-card-board,.live-jobs-list) { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
html body :is(.main .box,.main .side-card) { border-color: var(--oh-line) !important; box-shadow: none !important; background: var(--oh-surface) !important; border-radius: 6px !important; }
html body .main .jobs-card-board { border: 0 !important; background: transparent !important; padding: 0 !important; }
html body .main .box-head { border-color: var(--oh-line) !important; padding-bottom: 16px !important; }
html body .main :is(.box-title,.section-intro h2) { font-weight: 650 !important; font-size: 20px !important; line-height: 1.35 !important; text-transform: none !important; }
html body .main :is(.jobs-board-sub,.section-intro p) { color: var(--oh-muted) !important; font-weight: 400 !important; font-size: 13px !important; line-height: 1.6 !important; }
html body .main :is(.side,.oh-side-column) { min-width: 0 !important; }
html body .main .side .box { padding: 20px !important; margin-bottom: 18px !important; }
html body .main .side .box-title { font-size: 13px !important; font-weight: 650 !important; }
html body .main .side :is(.cat,.tool) { background: transparent !important; border-color: var(--oh-line) !important; padding: 12px 0 !important; border-radius: 0 !important; }
html body .main .side :is(.cat b,.tool b) { font-weight: 500 !important; color: #e1e6e3 !important; }
html body .main .side :is(.panel-btn,.market-period) { background: transparent !important; border-color: #424b4e !important; box-shadow: none !important; font-weight: 500 !important; border-radius: 4px !important; }
html body .oh-market-metrics { gap: 16px !important; }
html body .oh-market-metrics > div { border-color: var(--oh-line) !important; }
html body .oh-market-metrics strong { font-weight: 600 !important; font-size: 28px !important; }
html body .oh-market-metrics small { color: var(--oh-muted) !important; font-weight: 400 !important; }
html body :is(.jobs-news-ticker,.news-ticker,.ticker) { background: #1c2224 !important; border-color: var(--oh-line) !important; }
html body :is(.jobs-news-ticker,.news-ticker,.ticker) a { font-weight: 500 !important; }
html body.jobs-page .jobs-mock-layout { gap: 28px !important; padding: 28px !important; }
html body.jobs-page #jobs-filters { background: #1c2224 !important; border: 1px solid var(--oh-line) !important; border-radius: 6px !important; padding: 20px !important; margin-bottom: 28px !important; box-shadow: none !important; }
html body.jobs-page #jobs-filters :is(input,select) { background: #101617 !important; border-color: #465051 !important; border-radius: 4px !important; color: #edf1ee !important; height: 38px !important; font-size: 13px !important; font-weight: 450 !important; box-shadow: none !important; }
html body.jobs-page #jobs-filters :is(label,legend) { color: #bcc7c2 !important; font-weight: 500 !important; font-size: 11px !important; }
html body.jobs-page #jobs-filters :is(button,a) { box-shadow: none !important; border-radius: 4px !important; }
html body.jobs-page .jobs-card-list.jobs-grid-board { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 16px !important; }
html body.home-index .jobs-card-list.jobs-grid-board { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
html body.jobs-page .job-row.job-tile {
  background: #1d2325 !important;
  border: 1px solid #394143 !important;
  border-radius: 6px !important;
  padding: 22px !important;
  min-height: 310px !important;
  height: auto !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transition: border-color .18s ease, background .18s ease, transform .18s ease !important;
}
html body.jobs-page .job-row.job-tile:hover { border-color: #a2b4aa !important; background: #252e2d !important; transform: translateY(-2px) !important; }
html body.jobs-page .job-row.job-tile::before,
html body.jobs-page .job-row.job-tile::after { display: none !important; }
html body.jobs-page .job-row.job-tile .tile-top { margin: 0 0 20px !important; min-height: 30px !important; height: auto !important; }
html body.jobs-page .job-row.job-tile .tile-logo { width: 88px !important; min-width: 88px !important; height: 32px !important; min-height: 0 !important; background: transparent !important; border: 0 !important; padding: 0 !important; }
html body.jobs-page .job-row.job-tile .tile-logo img { width: 88px !important; height: 32px !important; object-fit: contain !important; object-position: left center !important; }
html body.jobs-page .job-row.job-tile .tile-title { font-size: 19px !important; line-height: 1.35 !important; font-weight: 650 !important; color: #f5f6f3 !important; text-shadow: none !important; min-height: 0 !important; margin: 0 !important; }
html body.jobs-page .job-row.job-tile .tile-role { color: #a9d5be !important; font-weight: 500 !important; font-size: 12px !important; margin-top: 8px !important; padding: 0 !important; border: 0 !important; min-height: 0 !important; }
html body.jobs-page .job-row.job-tile .tile-desc { color: #bfc8c5 !important; font-size: 13px !important; line-height: 1.6 !important; font-weight: 400 !important; margin: 12px 0 22px !important; }
html body.jobs-page .job-row.job-tile .tile-meta { border-color: #3a4343 !important; gap: 10px !important; padding-top: 14px !important; }
html body.jobs-page .job-row.job-tile .tile-meta :is(b,.meta-pill) { color: #d5ddda !important; font-weight: 450 !important; font-size: 12px !important; }
html body.jobs-page .job-row.job-tile .meta-icon { background: transparent !important; border: 0 !important; box-shadow: none !important; color: #92aa9e !important; }
html body.jobs-page .side > .box { background: #191f20 !important; border: 1px solid #343e3c !important; padding: 20px !important; box-shadow: none !important; }
html body.jobs-page .side > .box::before, html body.jobs-page .side > .box::after { display: none !important; }
html body.jobs-page .side .box-title { font-size: 13px !important; font-weight: 600 !important; }
html body.jobs-page .side .cat { background: transparent !important; }
html body.jobs-page .job-row.job-tile .tile-category { color: #a9b8b0 !important; font-size: 11px !important; font-weight: 500 !important; }
html body.jobs-page .job-row.job-tile .tile-open { font-size: 13px !important; color: #ff9a54 !important; font-weight: 600 !important; min-height: 30px !important; }
html body.jobs-page .job-row.job-tile .tile-new { background: #c8e9d6 !important; color: #163c2a !important; border: 0 !important; font-size: 10px !important; border-radius: 3px !important; box-shadow: none !important; }
html body.jobs-page .pager { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px !important; padding: 24px 0 !important; }
html body.jobs-page .pager :is(a,span) { border-radius: 4px !important; box-shadow: none !important; font-weight: 500 !important; }
/* The same spacing, surfaces and type hierarchy extend to supporting pages. */
html body .oh-metric-strip { background: #1b2222 !important; border-color: #3c4842 !important; }
html body .oh-metric-strip .metric { background: transparent !important; border-color: #3c4842 !important; padding: 18px 22px !important; }
html body .oh-metric-strip .metric strong { font-size: 23px !important; font-weight: 600 !important; }
html body .oh-metric-strip .metric small { color: #b2c1b8 !important; font-size: 10px !important; font-weight: 500 !important; }
html body .oh-metric-strip .micon { background: transparent !important; border: 0 !important; box-shadow: none !important; }
html body :is(.page-shell,.content-shell) { background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; padding: 24px 0 !important; }
html body :is(.info-card,.promise-card) { background: #1d2523 !important; border: 1px solid #394a41 !important; border-radius: 6px !important; box-shadow: none !important; padding: 22px !important; }
html body :is(.info-card,.promise-card) h3 { color: #edf3ef !important; font-size: 17px !important; font-weight: 600 !important; }
html body :is(.info-card,.promise-card) p { color: #b4c6bb !important; font-size: 14px !important; line-height: 1.7 !important; font-weight: 400 !important; }
html body :is(.contact-form,.post-job-panel) :is(input,select,textarea) { background: #141b19 !important; border: 1px solid #4a5b50 !important; color: #eef4f0 !important; border-radius: 4px !important; padding: 12px !important; font-weight: 400 !important; font-size: 14px !important; }
html body :is(.contact-form,.post-job-panel) label { color: #c2d0c7 !important; font-size: 12px !important; font-weight: 500 !important; }
html body .newsroom-side-v1 > section { background: #191f20 !important; border: 1px solid #343e3c !important; border-radius: 6px !important; padding: 20px !important; box-shadow: none !important; }
html body .newsroom-side-v1 h3 { font-size: 13px !important; font-weight: 600 !important; color: #d7e3db !important; }
html body .side-rank-v1 { gap: 14px !important; padding: 16px 0 !important; border-color: #3b4640 !important; }
html body .side-rank-v1 > span { font-weight: 500 !important; font-size: 13px !important; line-height: 1.55 !important; }
html body .newsroom-story-card-v1 { background: #1d2325 !important; border: 1px solid #394143 !important; border-radius: 6px !important; box-shadow: none !important; }
html body .newsroom-story-card-v1 > div { padding: 20px !important; }
html body .newsroom-story-card-v1 h3 { font-size: 18px !important; font-weight: 600 !important; line-height: 1.4 !important; color: #f0f4f1 !important; }
html body .newsroom-story-card-v1 p { font-size: 13px !important; line-height: 1.65 !important; color: #b8c4bc !important; font-weight: 400 !important; }
html body .newsroom-story-card-v1 small { display: flex !important; flex-wrap: wrap !important; gap: 8px 12px !important; background: transparent !important; border: 0 !important; padding: 14px 0 !important; border-radius: 0 !important; color: #acbdb1 !important; }
html body .newsroom-story-card-v1 small :is(b,em) { font-weight: 400 !important; font-style: normal !important; font-size: 11px !important; }
html body :is(.newsroom-list-head-v1,.newsroom-topics-v1) { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 20px 0 !important; }
html body .newsroom-feature-card-v1 { border-radius: 6px !important; border-color: #465249 !important; box-shadow: none !important; padding: 24px !important; }
html body .newsroom-feature-card-v1 h2 { font-size: 26px !important; font-weight: 650 !important; line-height: 1.25 !important; }
html body .newsroom-filter-v1 { background: #1c2224 !important; border: 1px solid #3a4440 !important; box-shadow: none !important; }
html body .newsroom-field-v1 :is(input,select) { background: #101617 !important; border-color: #465051 !important; font-weight: 450 !important; font-size: 13px !important; border-radius: 4px !important; }
html body .newsroom-field-v1 > span { font-weight: 500 !important; color: #b9c7be !important; }
/* Job reading surface: the overlay is the only scroll container. */
html body #jobModal { overflow-y: auto !important; align-items: flex-start !important; padding: 28px 20px !important; background: #080c10cc !important; backdrop-filter: blur(7px) !important; }
html body #jobModal .job-modal-card { width: min(1120px,100%) !important; max-height: none !important; height: auto !important; overflow: visible !important; border: 0 !important; border-radius: 8px !important; background: #f5f6f4 !important; box-shadow: 0 20px 80px #0007 !important; color: #202823 !important; }
html body #jobModal .profile-modal-inner { display: block !important; padding: 0 !important; overflow: visible !important; }
html body #jobModal .profile-modal-head { padding: 32px 36px 26px !important; margin: 0 !important; border: 0 !important; border-bottom: 1px solid #d7ded8 !important; background: #e9eeea !important; border-radius: 8px 8px 0 0 !important; align-items: flex-start !important; gap: 24px !important; }
html body #jobModal .profile-modal-head > div:first-child { min-width: 0 !important; }
html body #jobModal .profile-title { color: #192820 !important; font-size: 32px !important; font-weight: 650 !important; line-height: 1.2 !important; max-width: 760px !important; margin: 12px 0 16px !important; overflow-wrap: anywhere !important; }
html body #jobModal .profile-kicker { color: #536559 !important; font-size: 12px !important; font-weight: 500 !important; }
html body #jobModal .profile-new { background: #c5dfce !important; color: #205637 !important; font-weight: 600 !important; border-radius: 3px !important; }
html body #jobModal .profile-badge { background: transparent !important; border: 1px solid #c2cfc5 !important; color: #385542 !important; border-radius: 4px !important; font-size: 12px !important; font-weight: 500 !important; min-height: 27px !important; padding: 0 9px !important; }
html body #jobModal .profile-layout { display: grid !important; grid-template-columns: minmax(0,1fr) 260px !important; gap: 32px !important; max-height: none !important; height: auto !important; overflow: visible !important; padding: 28px 36px 36px !important; }
html body #jobModal :is(.job-main,.job-sidebar) { min-width: 0 !important; display: block !important; }
html body #jobModal .profile-panel { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; overflow: visible !important; border-radius: 0 !important; }
html body #jobModal .profile-info-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 18px 14px !important; padding: 0 0 24px !important; border-bottom: 1px solid #d7ded8 !important; }
html body #jobModal .profile-info-item { border: 0 !important; min-width: 0 !important; min-height: 0 !important; padding: 0 !important; }
html body #jobModal .profile-info-item:first-child { grid-column: span 2 !important; }
html body #jobModal .profile-label { color: #65716a !important; font-size: 10px !important; line-height: 1.5 !important; font-weight: 600 !important; }
html body #jobModal .profile-main-val { color: #202f25 !important; font-size: 14px !important; line-height: 1.45 !important; font-weight: 600 !important; margin-top: 5px !important; overflow-wrap: anywhere !important; }
html body #jobModal .profile-sub-val { color: #647268 !important; font-size: 11px !important; line-height: 1.5 !important; font-weight: 400 !important; }
html body #jobModal .profile-logo { background: #202a28 !important; border: 0 !important; border-radius: 4px !important; width: 74px !important; min-width: 74px !important; height: 38px !important; padding: 7px !important; color: #fff !important; }
html body #jobModal .profile-employer-line { display: flex !important; align-items: center !important; gap: 10px !important; }
html body #jobModal .profile-section { padding-top: 28px !important; }
html body #jobModal :is(.profile-section h3,.side-card h3) { color: #23382a !important; font-size: 14px !important; font-weight: 650 !important; line-height: 1.5 !important; text-transform: none !important; margin: 0 0 16px !important; }
html body #jobModal .profile-desc,
html body #jobModal .profile-desc p { color: #37433b !important; font-size: 15px !important; line-height: 1.85 !important; font-weight: 400 !important; text-shadow: none !important; }
html body #jobModal .profile-desc p { margin: 0 0 18px !important; }
html body #jobModal .profile-desc p:first-child { color: #21382a !important; font-size: 16px !important; font-weight: 500 !important; }
html body #jobModal .job-sidebar { padding-left: 24px !important; border-left: 1px solid #d7ded8 !important; }
html body #jobModal .job-sidebar .side-card { margin: 0 0 28px !important; padding: 0 0 24px !important; border-bottom: 1px solid #d7ded8 !important; }
html body #jobModal .employer-mini { display: flex !important; gap: 10px !important; align-items: center !important; }
html body #jobModal .employer-mini b { color: #223629 !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.5 !important; }
html body #jobModal :is(#modalEmployerText,.side-meta,.side-card:has(#quickTitle)) { display: none !important; }
html body #jobModal :is(.side-link,.share-help) { color: #53675a !important; font-size: 12px !important; font-weight: 450 !important; line-height: 1.6 !important; }
html body #jobModal .side-link { margin-top: 16px !important; text-decoration: underline !important; text-underline-offset: 4px !important; }
html body #jobModal :is(.share-action,.copy-wide,.job-modal-close,.modal-save-action) { background: transparent !important; color: #2e4436 !important; border: 1px solid #b7c6bc !important; border-radius: 4px !important; box-shadow: none !important; font-size: 12px !important; font-weight: 550 !important; }
html body #jobModal .share-action:hover { background: #e3ebe5 !important; }
html body #jobModal .share-action span { color: #375d44 !important; }
html body #jobModal .profile-actions { position: static !important; display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 12px !important; margin: 0 !important; padding: 20px 36px !important; border-top: 1px solid #d7ded8 !important; background: #e9eeea !important; border-radius: 0 0 8px 8px !important; }
html body #jobModal .profile-actions :is(a,button) { color: #355340 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; min-height: 40px !important; padding: 0 14px !important; font-size: 13px !important; font-weight: 550 !important; border-radius: 4px !important; }
html body #jobModal .profile-actions .primary { background: #dc5d12 !important; color: #fff !important; border: 0 !important; min-width: 170px !important; }
html body #jobModal .profile-actions a.is-disabled { display: none !important; }
html body #jobModal .copy-ok { color: #226e41 !important; }
/* Shared side-panel surface across every public page. */
html body :is(.oh-page-side,.oh-side-column,.side,.newsroom-side-v1,.article-publication-side,.legal-side-rail) > :is(.box,.side-panel,section),
html body :is(.oh-page-side,.oh-side-column,.side,.newsroom-side-v1,.article-publication-side,.legal-side-rail) .oh-market-panel {
  background: #191f20 !important;
  background-image: none !important;
  border: 1px solid #3a4540 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}
html body :is(.oh-page-side,.oh-side-column,.side,.newsroom-side-v1,.article-publication-side,.legal-side-rail) > :is(.box,.side-panel,section)::before,
html body :is(.oh-page-side,.oh-side-column,.side,.newsroom-side-v1,.article-publication-side,.legal-side-rail) > :is(.box,.side-panel,section)::after {
  display: none !important;
}
html body :is(.oh-page-side,.oh-side-column,.side,.newsroom-side-v1,.article-publication-side,.legal-side-rail) .box-head {
  border-color: #3a4540 !important;
}
@media (max-width:1100px) {
  html body.jobs-page .jobs-card-list.jobs-grid-board { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body #jobModal .profile-layout { grid-template-columns: minmax(0,1fr) 220px !important; gap: 24px !important; }
}
@media (max-width:760px) {
  html body .hero h1 { font-size: 36px !important; }
  html body .hero .hero-inner { min-height: 0 !important; padding: 32px 22px !important; }
  html body .hero { min-height: 0 !important; }
  html body.jobs-page .jobs-mock-layout { padding: 20px 16px !important; }
  html body.jobs-page .jobs-card-list.jobs-grid-board { grid-template-columns: 1fr !important; }
  html body.jobs-page .job-row.job-tile { min-height: 0 !important; }
  html body #jobModal { padding: 12px 8px !important; }
  html body #jobModal .profile-modal-head { padding: 22px !important; flex-direction: column-reverse !important; gap: 12px !important; }
  html body #jobModal .profile-top-actions { align-self: flex-end !important; }
  html body #jobModal .profile-title { font-size: 26px !important; }
  html body #jobModal .profile-layout { grid-template-columns: 1fr !important; padding: 24px 22px !important; }
  html body #jobModal .job-sidebar { border-left: 0 !important; padding-left: 0 !important; }
  html body #jobModal .profile-info-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body #jobModal .profile-actions { padding: 18px 22px !important; }
  html body #jobModal .profile-actions .primary { width: 100% !important; }
}
@media (prefers-reduced-motion:reduce) {
  html body.jobs-page .job-row.job-tile { transition: none !important; transform: none !important; }
}

/* ========================================================================== 
   Offshore Hub visual direction 3: North Sea command deck
   ========================================================================== */
:root {
  --oh-bg: #070b0d;
  --oh-panel: #101619;
  --oh-panel-raised: #151d20;
  --oh-panel-warm: #1b1916;
  --oh-line: #2b383d;
  --oh-line-strong: #435157;
  --oh-ink: #f4f2ec;
  --oh-ink-soft: #aeb9ba;
  --oh-orange: #ff7416;
  --oh-copper: #c68a52;
  --oh-sea: #45bfa8;
  --oh-green: #54dda9;
}

html body,
html body .page,
html body :is(.main,.oh-page-side-layout,.newsroom-v1,.article-publication-shell) {
  background: var(--oh-bg) !important;
  color: var(--oh-ink) !important;
}
html body .page {
  width: min(100%,1520px) !important;
  border-left: 1px solid #263337 !important;
  border-right: 1px solid #263337 !important;
}
html body :is(.main,.oh-page-side-layout,.newsroom-v1,.article-publication-shell) :is(h1,h2,h3,h4) { color: var(--oh-ink) !important; }
html body :is(.main,.oh-page-side-layout,.newsroom-v1,.article-publication-shell) p { color: var(--oh-ink-soft) !important; }

/* Masthead */
html body .oh-real-header { background: #090e10f7 !important; border-bottom: 1px solid #344247 !important; box-shadow: 0 16px 40px #0006 !important; }
html body .oh-real-inner { min-height: 76px !important; padding-inline: 30px !important; }
html body .oh-real-logo { width: 210px !important; min-width: 210px !important; border: 0 !important; background: transparent !important; }
html body .oh-real-logo img { width: 188px !important; max-height: 53px !important; filter: drop-shadow(0 5px 12px #0008) !important; }
html body .oh-real-nav { align-self: stretch !important; }
html body .oh-real-nav a {
  min-width: 86px !important;
  padding: 0 16px !important;
  border-left: 1px solid transparent !important;
  border-right: 1px solid transparent !important;
  color: #c3cbca !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
html body .oh-real-nav a:hover { color: #fff !important; background: #ffffff07 !important; }
html body .oh-real-nav a.is-active { color: #fff !important; background: #ffffff08 !important; border-color: #263337 !important; box-shadow: inset 0 -3px 0 var(--oh-orange) !important; }
html body .oh-real-lang { padding: 4px !important; border: 1px solid #344247 !important; border-radius: 5px !important; background: #111719 !important; }
html body .oh-real-lang button { width: 36px !important; height: 30px !important; border-radius: 3px !important; opacity: .55 !important; }
html body .oh-real-lang button.is-active { opacity: 1 !important; background: #ffffff0b !important; box-shadow: inset 0 -2px 0 var(--oh-orange) !important; }
html body .oh-real-live { height: 40px !important; border-color: #365048 !important; background: #101b18 !important; border-radius: 4px !important; }
html body .oh-real-live i { background: var(--oh-green) !important; box-shadow: 0 0 0 4px #54dda914 !important; }
html body .oh-real-cta { min-height: 42px !important; padding: 0 22px !important; border-radius: 4px !important; background: var(--oh-orange) !important; color: #fff !important; box-shadow: 0 10px 26px #ff74162d !important; }

/* Compact visual hero: content reaches the user sooner. */
html body .hero {
  position: relative !important;
  min-height: 390px !important;
  height: 390px !important;
  overflow: hidden !important;
  border-bottom: 1px solid #48565b !important;
}
html body .hero.jobs-as-news-hero::after,
html body .hero::after {
  content: "" !important;
  position: absolute !important;
  inset: auto 0 0 0 !important;
  top: auto !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  height: 2px !important;
  display: block !important;
  background: linear-gradient(90deg,var(--oh-orange) 0 14%,#577078 14% 68%,transparent 92%) !important;
  z-index: 4 !important;
}
html body .hero .hero-inner {
  min-height: 390px !important;
  height: 390px !important;
  padding: 40px 54px !important;
  grid-template-columns: minmax(0,1fr) 312px !important;
  gap: 46px !important;
  background: linear-gradient(90deg,#060a0cf8 0%,#060a0cdd 38%,#060a0c66 67%,#060a0c17 100%) !important;
}
html body .hero .hero-copy { max-width: 720px !important; }
html body .hero .eyebrow { color: #ff9b5c !important; font-size: 10px !important; font-weight: 750 !important; }
html body .hero h1 { margin: 13px 0 13px !important; font-size: clamp(45px,4.35vw,66px) !important; line-height: .98 !important; font-weight: 680 !important; text-wrap: balance !important; text-shadow: 0 4px 25px #000a !important; }
html body .hero h1 span { color: var(--oh-orange) !important; }
html body .hero p { max-width: 680px !important; margin-bottom: 18px !important; color: #d1d8d6 !important; font-size: 15px !important; line-height: 1.55 !important; }
html body .hero .features { margin-top: 17px !important; padding-top: 15px !important; border-top: 1px solid #7684874d !important; }
html body .hero .feat { color: #c4cecb !important; font-size: 12px !important; }
html body .hero .actions { margin-top: 18px !important; }
html body .hero :is(.cta,.ghost-btn) { min-height: 40px !important; padding-inline: 17px !important; }
html body .hero .cta { background: var(--oh-orange) !important; color: #fff !important; border-color: var(--oh-orange) !important; }
html body .hero .ghost-btn { background: #0c1214c9 !important; color: #e6ece9 !important; border-color: #59686c !important; }
html body .hero :is(.stat-card,.jobs-live-card-match) {
  position: relative !important;
  width: 312px !important;
  min-height: 278px !important;
  padding: 24px !important;
  background: #0d1416f2 !important;
  border: 1px solid #566368 !important;
  border-top: 3px solid var(--oh-orange) !important;
  border-radius: 4px !important;
  box-shadow: 0 26px 70px #000a !important;
}

/* Data strip and tickers */
html body .oh-metric-strip {
  min-height: 78px !important;
  background: #0c1214 !important;
  border-top: 0 !important;
  border-bottom: 1px solid #354349 !important;
  box-shadow: inset 0 1px #ffffff06 !important;
}
html body .oh-metric-strip .metric { min-height: 78px !important; padding: 15px 22px !important; border-color: #2c393d !important; }
html body .oh-metric-strip .micon { width: 32px !important; height: 32px !important; border: 1px solid #9c5b2b80 !important; border-radius: 3px !important; background: #ff74160b !important; color: #ff8b3f !important; }
html body .oh-metric-strip .metric small { color: #849396 !important; font-size: 9px !important; font-weight: 700 !important; text-transform: uppercase !important; }
html body .oh-metric-strip .metric strong { color: #f3f4ef !important; font-size: 23px !important; font-weight: 650 !important; }
html body .oh-metric-strip .metric strong.green { color: var(--oh-green) !important; }
html body :is(.jobs-news-ticker,.news-ticker,.ticker) { min-height: 45px !important; background: #10181b !important; border-color: #28373c !important; }
html body :is(.jobs-news-ticker,.news-ticker,.ticker) a { color: #c2cccc !important; font-weight: 550 !important; }

/* Main working surfaces */
html body :is(.main,.oh-page-side-layout) { padding: 34px 34px 60px !important; gap: 26px !important; }
html body :is(.home-block,.jobs-card-board,.live-jobs-list) { background: transparent !important; }
html body .main .box-head { padding-bottom: 15px !important; border-color: #344247 !important; }
html body .main :is(.box-title,.section-intro h2) { color: #f2f3ee !important; font-size: 22px !important; font-weight: 640 !important; }
html body .main :is(.jobs-board-sub,.section-intro p) { color: #99a6a7 !important; font-size: 13px !important; }
html body .main .eyebrow.compact { color: #ff9451 !important; }
html body .main .orange-link { color: #ff9756 !important; }

/* Job search reads like a professional control console. */
html body.jobs-page .jobs-mock-layout { padding: 30px !important; gap: 26px !important; }
html body.jobs-page #jobs-filters {
  margin: 0 0 26px !important;
  padding: 20px !important;
  background: #11181b !important;
  border: 1px solid #344349 !important;
  border-top: 2px solid #b96730 !important;
  border-radius: 4px !important;
  box-shadow: 0 14px 34px #0004 !important;
}
html body.jobs-page #jobs-filters :is(input,select) { height: 41px !important; background: #090f11 !important; color: #edf2ef !important; border-color: #3d4d52 !important; border-radius: 3px !important; font-size: 13px !important; }
html body.jobs-page #jobs-filters :is(label,legend) { color: #94a4a7 !important; font-size: 10px !important; font-weight: 700 !important; text-transform: uppercase !important; }
html body.jobs-page #jobs-filters :is(button,a) { border-radius: 3px !important; }
html body.jobs-page #jobs-filters .studio-tab { color: #c9d1cf !important; background: transparent !important; border-color: #45555a !important; }
html body.jobs-page #jobs-filters .studio-tab.is-active { color: #fff !important; background: #263237 !important; border-color: #6b7a7e !important; }
html body.jobs-page #jobs-filters .studio-rotation button { background: #0b1113 !important; color: #bdc8c7 !important; border-color: #3c4a4e !important; }
html body.jobs-page #jobs-filters .studio-rotation button.is-active { background: var(--oh-orange) !important; border-color: var(--oh-orange) !important; color: #fff !important; }
html body.jobs-page #jobs-filters .popular a { color: #bac5c3 !important; background: #182125 !important; border-color: #344449 !important; }
html body.jobs-page #jobs-filters .searchbtn { background: var(--oh-orange) !important; color: #fff !important; border: 0 !important; box-shadow: 0 8px 24px #ff741623 !important; }

/* The cards are the product: dense, premium and highly scannable. */
html body.jobs-page .jobs-card-list.jobs-grid-board { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 14px !important; }
html body.home-index .jobs-card-list.jobs-grid-board { grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 14px !important; }
html body.jobs-page .jobs-card-board > .box-head { margin-bottom: 18px !important; }
html body.jobs-page .jobs-card-board :is(.box-title,.jobs-board-title),
html body.home-index .jobs-card-board :is(.box-title,.jobs-board-title) { color: #f2f3ee !important; }
html body.jobs-page .jobs-card-board :is(.box-title,.jobs-board-title) span,
html body.home-index .jobs-card-board :is(.box-title,.jobs-board-title) span { color: var(--oh-orange) !important; }
html body.jobs-page .job-row.job-tile {
  position: relative !important;
  min-height: 318px !important;
  padding: 20px 20px 0 !important;
  background: linear-gradient(145deg,#151d20 0%,#101619 68%) !important;
  border: 1px solid #334247 !important;
  border-top: 2px solid var(--oh-orange) !important;
  border-radius: 4px !important;
  box-shadow: 0 12px 28px #0003 !important;
  overflow: hidden !important;
  transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease !important;
}
html body.jobs-page .job-row.job-tile:hover { transform: translateY(-3px) !important; background: linear-gradient(145deg,#1a2427,#12191c) !important; border-color: #68777b !important; box-shadow: 0 20px 45px #0007 !important; }
html body.jobs-page .job-row.job-tile::before { content: "" !important; position: absolute !important; inset: 0 0 auto !important; height: 2px !important; display: block !important; background: var(--oh-orange) !important; }
html body.jobs-page .job-row.job-tile.sector-wind::before { background: var(--oh-sea) !important; }
html body.jobs-page .job-row.job-tile.sector-fishing::before { background: #d4a345 !important; }
html body.jobs-page .job-row.job-tile .tile-top { min-height: 42px !important; margin-bottom: 18px !important; }
html body.jobs-page .job-row.job-tile .tile-logo { width: 92px !important; min-width: 92px !important; height: 40px !important; padding: 6px !important; background: #080d0f !important; border: 1px solid #334146 !important; border-radius: 3px !important; }
html body.jobs-page .job-row.job-tile .tile-logo img { width: 78px !important; height: 27px !important; object-fit: contain !important; }
html body.jobs-page .job-row.job-tile .tile-source-wrap { display: flex !important; flex-direction: column !important; justify-content: center !important; gap: 2px !important; }
html body.jobs-page .job-row.job-tile .tile-source { color: #e2e8e4 !important; font-size: 11px !important; font-weight: 650 !important; }
html body.jobs-page .job-row.job-tile .tile-company { color: #819092 !important; font-size: 10px !important; }
html body.jobs-page .job-row.job-tile .tile-title { color: #f6f5ef !important; font-size: 21px !important; line-height: 1.18 !important; font-weight: 640 !important; }
html body.jobs-page .job-row.job-tile .tile-role { display: inline-flex !important; width: fit-content !important; margin-top: 10px !important; padding: 5px 8px !important; color: #85d8c5 !important; background: #45bfa810 !important; border: 1px solid #45bfa83d !important; border-radius: 2px !important; font-size: 10px !important; font-weight: 700 !important; }
html body.jobs-page .job-row.job-tile .tile-desc { color: #a8b3b3 !important; font-size: 13px !important; line-height: 1.55 !important; margin: 15px 0 18px !important; }
html body.jobs-page .job-row.job-tile .tile-meta { margin-top: auto !important; padding-top: 13px !important; border-color: #2c3a3e !important; }
html body.jobs-page .job-row.job-tile .tile-meta :is(b,.meta-pill) { color: #c3ccca !important; font-size: 11px !important; }
html body.jobs-page .job-row.job-tile .meta-icon { color: #6fbdaa !important; }
html body.jobs-page .job-row.job-tile .tile-new { background: var(--oh-green) !important; color: #07130e !important; border-radius: 2px !important; }
html body.jobs-page .job-row.job-tile .tile-bottom { min-height: 48px !important; margin: 17px -20px 0 !important; padding: 0 11px 0 20px !important; background: #0b1113 !important; border-color: #29363a !important; }
html body.jobs-page .job-row.job-tile .tile-category { color: #8e9b9c !important; font-size: 9px !important; font-weight: 700 !important; text-transform: uppercase !important; }
html body.jobs-page .job-row.job-tile .tile-open { min-height: 32px !important; padding: 0 12px !important; color: #ffc49d !important; background: transparent !important; border: 1px solid #925125 !important; border-radius: 3px !important; font-size: 11px !important; }
html body.jobs-page .job-row.job-tile:hover .tile-open { color: #fff !important; background: var(--oh-orange) !important; border-color: var(--oh-orange) !important; }
html body.jobs-page .sort select { background: #10181b !important; color: #dbe2df !important; border-color: #3d4b50 !important; }
html body.jobs-page .pager :is(a,span) { background: #11181b !important; color: #b8c4c2 !important; border-color: #39484d !important; border-radius: 3px !important; }
html body.jobs-page .pager a.active { background: var(--oh-orange) !important; color: #fff !important; border-color: var(--oh-orange) !important; }

/* One shared side-rail rule on every desktop page. */
html body :is(.oh-page-side,.oh-side-column,.side,.newsroom-side-v1,.article-publication-side,.legal-side-rail) > :is(.box,.side-panel,section),
html body :is(.oh-page-side,.oh-side-column,.side,.newsroom-side-v1,.article-publication-side,.legal-side-rail) .oh-market-panel {
  background: linear-gradient(160deg,#151e22,#0f1518) !important;
  border: 1px solid #334349 !important;
  border-top: 2px solid #b86834 !important;
  border-radius: 4px !important;
  box-shadow: 0 14px 34px #0004 !important;
  color: #edf1ee !important;
}
html body :is(.oh-page-side,.oh-side-column,.side,.newsroom-side-v1,.article-publication-side,.legal-side-rail) :is(h2,h3,.box-title,b,strong) { color: #edf1ee !important; }
html body :is(.oh-page-side,.oh-side-column,.side,.newsroom-side-v1,.article-publication-side,.legal-side-rail) :is(p,small,span) { color: #9eaaab !important; }
html body :is(.oh-page-side,.oh-side-column,.side,.newsroom-side-v1,.article-publication-side,.legal-side-rail) .box-head { border-color: #344349 !important; }
html body :is(.oh-page-side,.oh-side-column,.side,.newsroom-side-v1,.article-publication-side,.legal-side-rail) :is(.cat,.tool,.side-line-v1,.source-row,.stat-row,.side-rank-v1) { background: transparent !important; border-color: #2f3e43 !important; }
html body :is(.oh-page-side,.oh-side-column,.side,.newsroom-side-v1,.article-publication-side,.legal-side-rail) :is(.cat,.tool,.side-line-v1,.source-row,.stat-row,.side-rank-v1):hover { background: #ffffff05 !important; }

/* News is cinematic at the top, editorial below. */
html body.news-dashboard-page .newsroom-v1 { padding: 0 !important; }
html body.news-dashboard-page .newsroom-hero-v1.jobs-as-news-hero { min-height: 390px !important; height: 390px !important; padding: 44px 54px !important; grid-template-columns: minmax(0,1fr) 300px !important; background-image: linear-gradient(90deg,#060a0cf5 0%,#060a0cda 37%,#060a0c4d 72%,transparent),var(--hero-image) !important; background-size: cover !important; background-position: center !important; border-bottom: 1px solid #48565b !important; }
html body.news-dashboard-page .newsroom-hero-copy-v1 { max-width: 700px !important; }
html body.news-dashboard-page .newsroom-hero-copy-v1 h1 { color: #f5f3ed !important; font-size: clamp(44px,4.2vw,64px) !important; line-height: 1 !important; font-weight: 670 !important; }
html body.news-dashboard-page .newsroom-hero-copy-v1 p { color: #c9d1cf !important; font-size: 15px !important; }
html body.news-dashboard-page .newsroom-layout-v1 { padding: 34px !important; }
html body.news-dashboard-page .newsroom-feature-card-v1 { min-height: 330px !important; padding: 26px !important; display: flex !important; flex-direction: column !important; justify-content: flex-end !important; overflow: hidden !important; background-color: #11181b !important; background-image: linear-gradient(0deg,#070b0df7 0%,#070b0dbb 48%,#070b0d24 86%),var(--bg) !important; background-size: cover !important; background-position: center !important; border: 1px solid #35454a !important; border-top: 2px solid var(--oh-orange) !important; border-radius: 4px !important; box-shadow: 0 16px 40px #0005 !important; }
html body.news-dashboard-page .newsroom-feature-card-v1 h2 { color: #fff !important; font-size: 28px !important; line-height: 1.14 !important; }
html body.news-dashboard-page .newsroom-feature-card-v1 p { color: #bac5c3 !important; }
html body.news-dashboard-page .newsroom-feature-card-v1 > b { color: #ff9b5c !important; }
html body.news-dashboard-page .newsroom-filter-v1 { background: #11181b !important; border: 1px solid #344349 !important; border-top: 2px solid #b86834 !important; border-radius: 4px !important; }
html body.news-dashboard-page .newsroom-field-v1 :is(input,select) { background: #090f11 !important; color: #e6ece9 !important; border-color: #3d4c51 !important; }
html body.news-dashboard-page .newsroom-story-card-v1 { background: #131a1d !important; border: 1px solid #334247 !important; border-radius: 4px !important; box-shadow: 0 12px 30px #0003 !important; }
html body.news-dashboard-page .newsroom-story-card-v1:hover { transform: translateY(-3px) !important; border-color: #657479 !important; }
html body.news-dashboard-page .newsroom-story-card-v1 h3 { color: #f0f2ed !important; }
html body.news-dashboard-page .newsroom-story-card-v1 p { color: #aab5b4 !important; }
html body.news-dashboard-page .newsroom-story-card-v1 small { color: #849293 !important; }

/* Supporting pages use the same material palette. */
html body :is(.about-page,.contact-page,.post-job-page) :is(.info-card,.promise-card,.copy-panel,.contact-form,.post-job-panel) { background: #12191c !important; color: var(--oh-ink) !important; border: 1px solid #334248 !important; border-top: 2px solid #b86834 !important; border-radius: 4px !important; box-shadow: 0 14px 34px #0004 !important; }
html body :is(.about-page,.contact-page,.post-job-page) :is(.info-card,.promise-card,.copy-panel,.contact-form,.post-job-panel) h3 { color: #eef1ec !important; }
html body :is(.about-page,.contact-page,.post-job-page) :is(.info-card,.promise-card,.copy-panel,.contact-form,.post-job-panel) p { color: #aab5b3 !important; }
html body :is(.contact-form,.post-job-panel) :is(input,select,textarea) { background: #090f11 !important; color: #edf2ee !important; border-color: #3c4c51 !important; }

/* Job detail stays readable but belongs to the same brand. */
html body #jobModal { background: #030607e8 !important; backdrop-filter: blur(9px) !important; }
html body #jobModal .job-modal-card { background: #11181b !important; color: #dce3e0 !important; border: 1px solid #4a5a60 !important; border-top: 3px solid var(--oh-orange) !important; box-shadow: 0 30px 90px #000c !important; }
html body #jobModal .profile-modal-head,
html body #jobModal .profile-actions { background: #0c1214 !important; border-color: #334247 !important; }
html body #jobModal .profile-title { color: #f5f3ed !important; }
html body #jobModal .profile-kicker,
html body #jobModal .profile-sub-val,
html body #jobModal .side-link { color: #98a6a5 !important; }
html body #jobModal .profile-main-val,
html body #jobModal :is(.profile-section h3,.side-card h3),
html body #jobModal .employer-mini b { color: #edf1ed !important; }
html body #jobModal .profile-desc,
html body #jobModal .profile-desc p { color: #bac4c2 !important; }
html body #jobModal .profile-panel,
html body #jobModal .job-sidebar,
html body #jobModal .profile-info-grid,
html body #jobModal .job-sidebar .side-card { border-color: #334247 !important; }
html body #jobModal :is(.share-action,.copy-wide,.job-modal-close,.modal-save-action) { color: #dfe6e2 !important; border-color: #526166 !important; }
html body #jobModal .profile-actions .primary { background: var(--oh-orange) !important; color: #fff !important; }

@media (max-width:1180px) {
  html body .oh-real-logo { width: 170px !important; min-width: 170px !important; }
  html body .oh-real-logo img { width: 158px !important; }
  html body .oh-real-nav a { min-width: 0 !important; padding-inline: 11px !important; }
  html body.home-index .jobs-card-list.jobs-grid-board { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:980px) {
  html body .hero .hero-inner { grid-template-columns: 1fr !important; }
  html body .hero :is(.stat-card,.jobs-live-card-match) { display: none !important; }
  html body.jobs-page .jobs-card-list.jobs-grid-board { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body.news-dashboard-page .newsroom-hero-v1.jobs-as-news-hero { grid-template-columns: 1fr !important; }
}
@media (max-width:760px) {
  html body .hero { height: auto !important; min-height: 0 !important; }
  html body .hero .hero-inner { height: auto !important; min-height: 0 !important; padding: 34px 20px !important; }
  html body .hero h1 { font-size: 39px !important; }
  html body :is(.main,.oh-page-side-layout,.newsroom-v1,.article-publication-shell) { padding: 24px 15px 46px !important; }
  html body.jobs-page .jobs-mock-layout { padding: 18px 14px !important; }
  html body.jobs-page .jobs-card-list.jobs-grid-board,
  html body.home-index .jobs-card-list.jobs-grid-board { grid-template-columns: 1fr !important; }
  html body.news-dashboard-page .newsroom-hero-v1.jobs-as-news-hero { height: auto !important; min-height: 340px !important; padding: 38px 22px !important; }
  html body.news-dashboard-page .newsroom-layout-v1 { padding: 24px 15px !important; }
}
