/*
 * Offshore Hub brand system v3.
 * This is the final visual authority on every public page.
 */
:root {
  --oh-carbon: #061117;
  --oh-carbon-2: #0a1820;
  --oh-oil: #10242b;
  --oh-deep-sea: #0d2731;
  --oh-steel: #2a3d45;
  --oh-steel-2: #46575e;
  --oh-paper: #e7ecee;
  --oh-paper-soft: #f1f4f3;
  --oh-paper-white: #fafcfb;
  --oh-paper-ink: #17242a;
  --oh-paper-copy: #526169;
  --oh-white: #f7f6f1;
  --oh-copy: #c5cfd3;
  --oh-muted: #8e9ca2;
  --oh-orange: #f36f21;
  --oh-orange-hover: #ff8236;
  --oh-copper: #bd622f;
  --oh-brass: #b79560;
  --oh-sea: #4f737c;
  --oh-sea-bright: #7598a0;
  --oh-live: #2de3a1;
  --oh-danger: #d8665e;
  --oh-shadow: 0 22px 55px rgba(0,0,0,.25);
  --oh-icon-briefcase-v3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='7' rx='2'/%3E%3Cpath d='M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16M2 12h20'/%3E%3C/svg%3E");
  --oh-icon-calendar-v3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E");
  --oh-icon-database-v3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='9' ry='3'/%3E%3Cpath d='M3 5v14c0 1.7 4 3 9 3s9-1.3 9-3V5M3 12c0 1.7 4 3 9 3s9-1.3 9-3'/%3E%3C/svg%3E");
  --oh-icon-building-v3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='16' height='20' x='4' y='2' rx='2'/%3E%3Cpath d='M9 22v-4h6v4M8 6h.01M16 6h.01M8 10h.01M16 10h.01M8 14h.01M16 14h.01'/%3E%3C/svg%3E");
  --oh-icon-clock-v3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
  --oh-icon-search-v3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E");
  --oh-icon-shield-v3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-8 9-4.5-1.5-8-4-8-9V5l8-3 8 3v8Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
  --oh-icon-anchor-v3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22V8M5 12H2a10 10 0 0 0 20 0h-3M5 9v3M19 9v3M8 22h8'/%3E%3Ccircle cx='12' cy='5' r='3'/%3E%3C/svg%3E");
  --oh-icon-mail-v3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E");
  --oh-icon-check-v3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E");
  --oh-icon-close-v3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E");
}

* { box-sizing: border-box; }

html body {
  margin: 0 !important;
  background: #030807 !important;
  color: var(--oh-white) !important;
  letter-spacing: 0 !important;
}

html body .page {
  width: min(100%, 1540px) !important;
  margin: 0 auto !important;
  background: var(--oh-carbon) !important;
  border-inline: 1px solid #293936 !important;
  box-shadow: 0 0 85px rgba(0,0,0,.56) !important;
}

html body :is(h1,h2,h3,h4,p,a,button,input,select,textarea,label,small,b,strong) {
  letter-spacing: 0 !important;
}

html body :is(a,button,input,select,textarea):focus-visible {
  outline: 2px solid var(--oh-orange) !important;
  outline-offset: 3px !important;
}

/* Masthead */
html body .oh-real-header {
  position: relative !important;
  background: rgba(9,22,18,.97) !important;
  border: 0 !important;
  border-top: 3px solid var(--oh-brass) !important;
  border-bottom: 1px solid #40534c !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.34) !important;
}

html body .oh-real-inner {
  min-height: 74px !important;
  padding-inline: 34px !important;
}

html body .oh-real-logo {
  width: 202px !important;
  min-width: 202px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

html body .oh-real-nav a {
  min-height: 72px !important;
  padding-inline: 17px !important;
  color: #d9e0dc !important;
  border-inline: 0 !important;
  font-size: 13px !important;
  font-weight: 620 !important;
}

html body .oh-real-nav a:hover,
html body .oh-real-nav a.is-active {
  color: #fff !important;
  background: rgba(255,255,255,.035) !important;
}

html body .oh-real-nav a.is-active::after {
  height: 3px !important;
  background: var(--oh-orange) !important;
  box-shadow: 0 0 16px rgba(243,111,33,.55) !important;
}

html body .oh-real-lang {
  min-height: 38px !important;
  padding: 3px !important;
  background: #0a1513 !important;
  border: 1px solid #42564e !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

html body .oh-real-lang button {
  width: 34px !important;
  height: 30px !important;
  padding: 4px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 2px !important;
}

html body .oh-real-lang button.is-active {
  background: #22332d !important;
  box-shadow: inset 0 0 0 1px var(--oh-brass) !important;
}

html body .oh-real-live {
  min-height: 38px !important;
  padding: 0 14px !important;
  background: #0a1714 !important;
  border: 1px solid #3f5a50 !important;
  border-radius: 4px !important;
  color: #ecf2ee !important;
}

html body .oh-real-live i {
  background: var(--oh-live) !important;
  box-shadow: 0 0 11px rgba(45,227,161,.72) !important;
}

html body .oh-real-cta {
  min-height: 40px !important;
  padding: 0 18px !important;
  background: var(--oh-orange) !important;
  color: #fff !important;
  border: 1px solid #ff8a45 !important;
  border-radius: 4px !important;
  box-shadow: 0 9px 22px rgba(243,111,33,.22) !important;
}

/* Hero: one height, one composition, one visual rule on every desktop page. */
html body :is(.hero,.newsroom-hero-v1.jobs-as-news-hero) {
  min-height: 438px !important;
  height: 438px !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #51615b !important;
  background-position: center !important;
  background-size: cover !important;
}

html body :is(.hero,.newsroom-hero-v1.jobs-as-news-hero)::after {
  content: "" !important;
  position: absolute !important;
  inset: auto 0 0 !important;
  z-index: 3 !important;
  height: 3px !important;
  background: linear-gradient(90deg,var(--oh-orange) 0 12%,var(--oh-sea) 12% 34%,transparent 34%) !important;
  pointer-events: none !important;
}

html body :is(.hero .hero-inner,.newsroom-hero-v1 .newsroom-hero-inner-v1) {
  width: 100% !important;
  min-height: 438px !important;
  height: 438px !important;
  padding: 46px 54px !important;
  align-items: center !important;
}

html body :is(.hero-copy,.newsroom-hero-copy-v1) {
  max-width: 760px !important;
}

html body :is(.hero h1,.newsroom-hero-copy-v1 h1) {
  max-width: 720px !important;
  margin: 13px 0 16px !important;
  color: #fff !important;
  font-size: clamp(48px,4.5vw,70px) !important;
  line-height: .98 !important;
  font-weight: 670 !important;
}

html body :is(.hero h1,.newsroom-hero-copy-v1 h1) span {
  color: var(--oh-orange) !important;
}

html body :is(.hero-copy > p,.newsroom-hero-copy-v1 > p) {
  max-width: 720px !important;
  color: #d2dbd6 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

html body :is(.eyebrow,.newsroom-hero-v1 .eyebrow) {
  color: #f5a069 !important;
  font-size: 11px !important;
  font-weight: 720 !important;
}

html body .hero :is(.stat-card,.jobs-live-card-match) {
  width: 310px !important;
  min-height: 292px !important;
  padding: 26px !important;
  background: rgba(10,22,20,.94) !important;
  border: 1px solid #607169 !important;
  border-top: 3px solid var(--oh-orange) !important;
  border-radius: 5px !important;
  box-shadow: 0 24px 55px rgba(0,0,0,.45) !important;
  backdrop-filter: blur(8px) !important;
}

/* Metrics: no orange blocks, no fake cards. */
html body .oh-metric-strip {
  min-height: 78px !important;
  background: #0c1917 !important;
  border-block: 1px solid #354b43 !important;
}

html body .oh-metric-strip .metric {
  min-height: 78px !important;
  padding: 14px 24px !important;
  gap: 14px !important;
  background: transparent !important;
  border-right: 1px solid #2b413a !important;
}

html body .oh-metric-strip .metric:last-child { border-right: 0 !important; }

html body .oh-metric-strip .metric .micon {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  -webkit-mask: none !important;
  mask: none !important;
}

html body .oh-metric-strip .metric .micon::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  width: 20px !important;
  height: 20px !important;
  transform: none !important;
  background: var(--oh-copper) !important;
  -webkit-mask: var(--oh-metric-icon,var(--oh-icon-database-v3)) center/contain no-repeat !important;
  mask: var(--oh-metric-icon,var(--oh-icon-database-v3)) center/contain no-repeat !important;
}

html body .oh-metric-strip .metric[data-icon="briefcase"] .micon { --oh-metric-icon: var(--oh-icon-briefcase-v3) !important; }
html body .oh-metric-strip .metric[data-icon="calendar"] .micon { --oh-metric-icon: var(--oh-icon-calendar-v3) !important; }
html body .oh-metric-strip .metric[data-icon="source"] .micon { --oh-metric-icon: var(--oh-icon-database-v3) !important; }
html body .oh-metric-strip .metric[data-icon="building"] .micon { --oh-metric-icon: var(--oh-icon-building-v3) !important; }
html body .oh-metric-strip .metric[data-icon="clock"] .micon { --oh-metric-icon: var(--oh-icon-clock-v3) !important; }
html body .oh-metric-strip .metric[data-icon="search"] .micon { --oh-metric-icon: var(--oh-icon-search-v3) !important; }
html body .oh-metric-strip .metric[data-icon="check"] .micon { --oh-metric-icon: var(--oh-icon-shield-v3) !important; }
html body .oh-metric-strip .metric[data-icon="anchor"] .micon { --oh-metric-icon: var(--oh-icon-anchor-v3) !important; }
html body .oh-metric-strip .metric[data-icon="mail"] .micon { --oh-metric-icon: var(--oh-icon-mail-v3) !important; }

html body .oh-metric-strip .metric small {
  color: #81918b !important;
  font-size: 9px !important;
  font-weight: 700 !important;
}

html body .oh-metric-strip .metric strong {
  color: #f5f4ee !important;
  font-size: 20px !important;
  line-height: 1.05 !important;
  font-weight: 650 !important;
}

html body .oh-metric-strip .metric:nth-child(2) strong { color: var(--oh-live) !important; }

/* Shared ticker. */
html body :is(.oh-news-strip,.home-news-marquee,.jobs-latest-ticker) {
  min-height: 48px !important;
  background: #081311 !important;
  border-bottom: 1px solid #2d443c !important;
  color: #c7d0cb !important;
}

html body :is(.oh-news-strip,.home-news-marquee,.jobs-latest-ticker) :is(.label,.ticker-label) {
  color: var(--oh-orange) !important;
}

/* Global section rhythm. */
html body :is(.main,.oh-page-side-layout,.newsroom-v1,.article-publication-shell) {
  background: var(--oh-carbon) !important;
}

html body :is(.main,.oh-page-side-layout) {
  padding: 0 38px 70px !important;
}

html body :is(.home-index,.about-page,.contact-page) .oh-main-column > :is(.home-block,.page-shell) {
  position: relative !important;
  margin: 0 !important;
  padding: 52px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #273a35 !important;
}

html body .section-intro {
  display: flex !important;
  align-items: end !important;
  justify-content: space-between !important;
  gap: 28px !important;
  margin: 0 0 27px !important;
}

html body .section-intro h2 {
  max-width: 780px !important;
  margin: 8px 0 6px !important;
  color: var(--oh-white) !important;
  font-size: clamp(28px,2.5vw,39px) !important;
  line-height: 1.05 !important;
  font-weight: 650 !important;
}

html body .main .section-intro p,
html body .section-intro p {
  max-width: 700px !important;
  margin: 0 !important;
  color: var(--oh-muted) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

html body.jobs-page.home-index main.main.jobs-mock-layout .home-block.sector-block .section-intro p {
  color: #b7c3bd !important;
}

html body :is(.eyebrow.compact,.box-title) {
  color: #b9c5bf !important;
  font-size: 10px !important;
  line-height: 1.25 !important;
  font-weight: 740 !important;
  text-transform: uppercase !important;
}

html body :is(.eyebrow.compact,.box-title) span { color: var(--oh-orange) !important; }

html body .eyebrow.compact::before {
  width: 32px !important;
  height: 1px !important;
  background: var(--oh-copper) !important;
}

html body .orange-link {
  color: #f59a61 !important;
  font-size: 12px !important;
  font-weight: 660 !important;
}

/* One content column on overview pages. */
html body.jobs-page.home-index main.main.oh-page-side-layout.home-side-layout.jobs-mock-layout,
html body.about-page main.main.oh-page-side-layout.about-side-layout,
html body.contact-page main.main.oh-page-side-layout.contact-side-layout,
html body.post-job-page main.oh-page-side-layout.post-job-layout {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

html body.jobs-page.home-index main.main.oh-page-side-layout.home-side-layout.jobs-mock-layout > .oh-main-column,
html body.about-page main.main.oh-page-side-layout.about-side-layout > .oh-main-column,
html body.contact-page main.main.oh-page-side-layout.contact-side-layout > .oh-main-column,
html body.post-job-page main.oh-page-side-layout.post-job-layout > .oh-main-column {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

html body.jobs-page.home-index main.main.oh-page-side-layout.home-side-layout.jobs-mock-layout > aside.oh-page-side,
html body.about-page main.main.oh-page-side-layout.about-side-layout > aside.oh-page-side,
html body.contact-page main.main.oh-page-side-layout.contact-side-layout > aside.oh-page-side,
html body.post-job-page main.oh-page-side-layout.post-job-layout > aside.oh-side-column,
html body.news-page.news-dashboard-page main.newsroom-v1 .newsroom-layout-v1 > aside.newsroom-side-v1 {
  display: none !important;
}

/* Buttons: compact, calm, and clearly hierarchical. */
html body :is(.cta,.searchbtn,.studio-submit) {
  min-height: 42px !important;
  padding: 0 20px !important;
  background: var(--oh-orange) !important;
  color: #fff !important;
  border: 1px solid #ff8a47 !important;
  border-radius: 4px !important;
  box-shadow: 0 9px 20px rgba(243,111,33,.2) !important;
  font-size: 11px !important;
  font-weight: 740 !important;
}

html body :is(.cta,.searchbtn,.studio-submit):hover {
  background: var(--oh-orange-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 13px 26px rgba(243,111,33,.3) !important;
}

html body :is(.ghost-btn,.btn.secondary) {
  min-height: 40px !important;
  padding: 0 17px !important;
  background: transparent !important;
  color: #e4ebe7 !important;
  border: 1px solid #52625d !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

/* Home: image-led sectors. */
html body.home-index .sector-grid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 18px !important;
}

html body.home-index .sector-card {
  position: relative !important;
  min-height: 270px !important;
  padding: 30px !important;
  overflow: hidden !important;
  border: 1px solid #53605b !important;
  border-radius: 4px !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.28) !important;
  transition: transform .28s ease,border-color .28s ease !important;
}

html body.home-index .sector-card::after {
  background: linear-gradient(90deg,rgba(5,13,12,.97),rgba(5,13,12,.77) 58%,rgba(5,13,12,.18)) !important;
}

html body.home-index .sector-card:hover {
  transform: translateY(-5px) !important;
  border-color: var(--oh-copper) !important;
}

html body.home-index .sector-card .ico {
  width: 27px !important;
  height: 27px !important;
  margin-bottom: auto !important;
  background: var(--oh-brass) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body.home-index .sector-card h3 {
  margin: 34px 0 8px !important;
  color: #fff !important;
  font-size: 28px !important;
  font-weight: 650 !important;
}

html body.home-index .sector-card p {
  max-width: 340px !important;
  color: #c7d2cd !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

html body.home-index .sector-card .orange-link {
  width: max-content !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

/* Job catalogue is the product: warm, readable, and visually separate. */
html body.jobs-page:not(.home-index) main.main.jobs-mock-layout {
  padding: 34px 38px 72px !important;
  background: var(--oh-paper) !important;
  color: var(--oh-paper-ink) !important;
}

html body.jobs-page.home-index main.main.jobs-mock-layout .home-jobs-card-board {
  padding: 34px !important;
  background: var(--oh-paper) !important;
  color: var(--oh-paper-ink) !important;
  border: 0 !important;
  border-top: 5px solid var(--oh-sea) !important;
  border-radius: 4px !important;
  box-shadow: var(--oh-shadow) !important;
}

html body.jobs-page #jobs-filters.jobs-search-studio {
  margin: 0 0 32px !important;
  padding: 24px !important;
  background: var(--oh-paper-white) !important;
  color: var(--oh-paper-ink) !important;
  border: 1px solid #c7cbc3 !important;
  border-left: 4px solid var(--oh-sea) !important;
  border-radius: 4px !important;
  box-shadow: 0 12px 28px rgba(22,34,30,.1) !important;
}

html body.jobs-page #jobs-filters .jobs-studio-toolbar {
  padding-bottom: 17px !important;
  border-bottom: 1px solid #d5d7d0 !important;
}

html body.jobs-page #jobs-filters .studio-tab {
  min-height: 36px !important;
  background: transparent !important;
  color: #394640 !important;
  border: 1px solid #aeb7b0 !important;
  border-radius: 3px !important;
}

html body.jobs-page #jobs-filters .studio-tab.is-active {
  background: var(--oh-oil) !important;
  color: #fff !important;
  border-color: var(--oh-oil) !important;
}

html body.jobs-page #jobs-filters :is(.studio-field>span,.studio-options>legend,.studio-popular b) {
  color: #66726c !important;
  font-size: 9px !important;
  font-weight: 760 !important;
}

html body.jobs-page #jobs-filters .studio-field :is(input,select) {
  min-height: 43px !important;
  background: #f2f1eb !important;
  color: #1d2924 !important;
  border: 1px solid #aeb7b0 !important;
  border-radius: 3px !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.03) !important;
}

html body.jobs-page #jobs-filters .studio-options button,
html body.jobs-page #jobs-filters .studio-popular .pill {
  min-height: 30px !important;
  background: #eef0ea !important;
  color: #3f4c46 !important;
  border: 1px solid #b8c0b9 !important;
  border-radius: 3px !important;
  box-shadow: none !important;
}

html body.jobs-page #jobs-filters .studio-options button.is-active {
  background: var(--oh-orange) !important;
  color: #fff !important;
  border-color: var(--oh-orange) !important;
}

html body.jobs-page .jobs-card-board {
  background: transparent !important;
  color: var(--oh-paper-ink) !important;
  border: 0 !important;
  box-shadow: none !important;
}

html body.jobs-page .jobs-card-board > .box-head {
  margin-bottom: 22px !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid #aeb7b0 !important;
}

html body.jobs-page .jobs-card-board .box-title {
  color: #1a2722 !important;
  font-size: 24px !important;
  font-weight: 660 !important;
}

html body.jobs-page .jobs-card-board .jobs-board-sub { color: #65716b !important; }

html body.jobs-page .jobs-card-board .sort { color: #66736d !important; }

html body.jobs-page .jobs-card-board .sort select {
  background: #f8f7f2 !important;
  color: #26322d !important;
  border: 1px solid #aab4ad !important;
}

html body.jobs-page .jobs-grid-board {
  gap: 18px !important;
}

html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-row.job-tile {
  height: auto !important;
  min-height: 470px !important;
  max-height: none !important;
  padding: 0 20px 18px !important;
  background: var(--oh-paper-white) !important;
  color: var(--oh-paper-ink) !important;
  border: 1px solid #c4c9c1 !important;
  border-radius: 4px !important;
  box-shadow: 0 12px 28px rgba(17,31,26,.11) !important;
  transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease !important;
}

html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-row.job-tile::before {
  width: 3px !important;
  background: var(--sector-accent,var(--oh-orange)) !important;
  opacity: 1 !important;
}

html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-row.job-tile:hover {
  transform: translateY(-5px) !important;
  border-color: #8f9b93 !important;
  box-shadow: 0 20px 42px rgba(17,31,26,.17) !important;
}

html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-tile .tile-visual {
  height: 112px !important;
  min-height: 112px !important;
  margin: 0 -20px 20px !important;
  border-bottom: 1px solid #9ca79f !important;
}

html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-tile .tile-visual::after {
  background: linear-gradient(0deg,rgba(6,13,12,.45),transparent 70%) !important;
}

html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-tile .tile-top {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 70px !important;
  height: 70px !important;
  min-height: 70px !important;
  margin: 0 -20px 18px !important;
  padding: 13px 16px !important;
  background: #101b18 !important;
  border-bottom: 1px solid #50645c !important;
}

html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-tile :is(.tile-logo,.tile-logo.has-image) {
  flex: 0 0 76px !important;
  width: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding: 4px !important;
  background: #0b1311 !important;
  border: 1px solid #52655e !important;
  border-radius: 3px !important;
}

html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-tile .tile-logo.has-image img {
  display: block !important;
  width: 66px !important;
  max-width: 66px !important;
  height: 30px !important;
  max-height: 30px !important;
  object-fit: contain !important;
  object-position: center !important;
}

html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-tile .tile-source-wrap {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 2px !important;
}

html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-tile .tile-source { color: #f5f3ec !important; }
html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-tile .tile-company { color: #9dafaa !important; }

html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-tile .tile-new {
  background: #d6f4e7 !important;
  color: #14684c !important;
  border: 1px solid #8dcbb4 !important;
  border-radius: 2px !important;
}

html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-tile .tile-title {
  flex: 0 0 50px !important;
  height: 50px !important;
  color: #18231f !important;
  font-size: 20px !important;
  line-height: 1.18 !important;
  font-weight: 680 !important;
}

html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-tile .tile-role {
  color: #386f5c !important;
  background: #e1ebe5 !important;
  border: 1px solid #b8cdc3 !important;
  border-radius: 2px !important;
}

html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-tile p.tile-desc {
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 44px !important;
  max-height: 63px !important;
  margin: 2px 0 13px !important;
  color: #59665f !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
  -webkit-line-clamp: 3 !important;
}

html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-tile .tile-meta {
  margin-top: auto !important;
  padding: 12px 0 !important;
  border-block: 1px solid #d4d8d1 !important;
}

html body.jobs-page main.main.jobs-mock-layout .jobs-left-column .jobs-card-board .jobs-grid-board .job-row.job-tile .tile-meta {
  position: static !important;
  inset: auto !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  margin: auto 0 0 !important;
  padding: 10px 0 !important;
}

html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-tile .tile-meta .meta-icon { color: #477a68 !important; }
html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-tile .tile-meta .meta-pill b { color: #3f4d46 !important; }

html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-tile .tile-bottom { padding-top: 13px !important; }

html body.jobs-page main.main.jobs-mock-layout .jobs-left-column .jobs-card-board .jobs-grid-board .job-row.job-tile .tile-bottom {
  position: static !important;
  inset: auto !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-height: 38px !important;
  margin: 0 -20px -18px !important;
  padding: 8px 14px !important;
}

html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-tile .tile-category {
  color: #7a5b43 !important;
  background: transparent !important;
}

html body.jobs-page main.main.jobs-mock-layout .jobs-card-board .jobs-grid-board .job-tile .tile-open {
  color: #a94813 !important;
  font-size: 12px !important;
  font-weight: 740 !important;
}

/* The catalogue has an extra legacy wrapper; lock its reading colors explicitly. */
html body.jobs-page:not(.home-index) main.main.jobs-mock-layout .jobs-left-column .jobs-card-board .jobs-grid-board .job-row.job-tile {
  background: var(--oh-paper-white) !important;
  color: var(--oh-paper-ink) !important;
}

html body.jobs-page:not(.home-index) main.main.jobs-mock-layout .jobs-left-column .jobs-card-board .jobs-grid-board .job-row.job-tile .tile-title {
  color: #18231f !important;
  text-shadow: none !important;
}

html body.jobs-page:not(.home-index) main.main.jobs-mock-layout .jobs-left-column .jobs-card-board .jobs-grid-board .job-row.job-tile .tile-role {
  color: #386f5c !important;
  background: #e1ebe5 !important;
  border-color: #b8cdc3 !important;
}

html body.jobs-page:not(.home-index) main.main.jobs-mock-layout .jobs-left-column .jobs-card-board .jobs-grid-board .job-row.job-tile p.tile-desc {
  color: #59665f !important;
}

html body.jobs-page:not(.home-index) main.main.jobs-mock-layout .jobs-left-column .jobs-card-board .jobs-grid-board .job-row.job-tile .tile-meta .meta-pill b {
  color: #3f4d46 !important;
}

html body.jobs-page .pager {
  margin-top: 28px !important;
  padding: 14px !important;
  background: var(--oh-oil) !important;
  border: 1px solid #40564e !important;
  border-radius: 4px !important;
}

/* Home job catalogue uses the same paper cards. */
html body.jobs-page.home-index main.main.jobs-mock-layout .home-jobs-card-board .box-head { border-color: #b9c0b9 !important; }
html body.jobs-page.home-index main.main.jobs-mock-layout .home-jobs-card-board :is(.box-title,h2,h3) { color: var(--oh-paper-ink) !important; }
html body.jobs-page.home-index main.main.jobs-mock-layout .home-jobs-card-board :is(.jobs-board-sub,p) { color: var(--oh-paper-copy) !important; }
html body.jobs-page.home-index main.main.jobs-mock-layout .home-jobs-card-board .home-jobs-live-strip span {
  color: #59665f !important;
  font-weight: 680 !important;
}
html body.jobs-page.home-index main.main.jobs-mock-layout .home-jobs-card-board .home-jobs-live-strip i {
  background: var(--oh-sea) !important;
  box-shadow: none !important;
}
html body.jobs-page.home-index main.main.jobs-mock-layout .home-jobs-card-board > .box-head > .orange-link {
  color: #a94813 !important;
}

/* Home newsroom: two leads and three compact stories fill both rows cleanly. */
html body.home-index .index-news-grid {
  display: grid !important;
  grid-template-columns: repeat(12,minmax(0,1fr)) !important;
  gap: 18px !important;
}

html body.home-index .index-news-card {
  grid-column: span 4 !important;
  overflow: hidden !important;
  background: #101b18 !important;
  border: 1px solid #334a41 !important;
  border-radius: 4px !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.22) !important;
  transition: transform .25s ease,border-color .25s ease !important;
}

html body.home-index .index-news-card:first-child,
html body.home-index .index-news-card:nth-child(2) { grid-column: span 6 !important; }

html body.home-index .index-news-card:hover {
  transform: translateY(-4px) !important;
  border-color: var(--oh-copper) !important;
}

html body.home-index .index-news-image {
  aspect-ratio: 16 / 8 !important;
  overflow: hidden !important;
}

html body.home-index .index-news-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .45s ease !important;
}

html body.home-index .index-news-card:hover img { transform: scale(1.035) !important; }

html body.home-index .index-news-body { padding: 22px !important; }
html body.home-index .index-news-card h3 { color: #f4f3ed !important; font-size: 18px !important; line-height: 1.25 !important; }
html body.home-index .index-news-card p { color: #9eada6 !important; line-height: 1.55 !important; }

/* Value/search band: one dark ledger and one paper tool. */
html body .why-news-clean {
  display: grid !important;
  grid-template-columns: minmax(0,1.45fr) minmax(340px,.7fr) !important;
  gap: 20px !important;
}

html body .why-news-clean > .why-clean {
  padding: 32px !important;
  background: var(--oh-oil) !important;
  border: 1px solid #3b5048 !important;
  border-left: 4px solid var(--oh-sea) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

html body .why-grid {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 0 !important;
}

html body .why-grid > div {
  padding: 20px 20px 20px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid #334941 !important;
  border-radius: 0 !important;
}

html body .why-grid .ico {
  width: 19px !important;
  height: 19px !important;
  background: var(--oh-sea-bright) !important;
  border: 0 !important;
  border-radius: 0 !important;
  -webkit-mask: var(--oh-icon-check-v3) center/contain no-repeat !important;
  mask: var(--oh-icon-check-v3) center/contain no-repeat !important;
}

html body .why-grid b { color: #f0f2ed !important; font-size: 15px !important; }
html body .why-grid p { color: #96a69f !important; line-height: 1.55 !important; }

html body .why-news-clean > .quick-search {
  padding: 32px !important;
  background: var(--oh-paper) !important;
  color: var(--oh-paper-ink) !important;
  border: 0 !important;
  border-top: 5px solid var(--oh-copper) !important;
  border-radius: 4px !important;
  box-shadow: var(--oh-shadow) !important;
}

html body .quick-search :is(.box-title,b,h3) { color: var(--oh-paper-ink) !important; }
html body .quick-search p { color: #5b6761 !important; }
html body .quick-search label { color: #52605a !important; }

html body .quick-search :is(input,select) {
  background: var(--oh-paper-white) !important;
  color: var(--oh-paper-ink) !important;
  border: 1px solid #aab4ad !important;
  border-radius: 3px !important;
}

html body .quick-pills a {
  background: #dfe4dd !important;
  color: #35423c !important;
  border: 1px solid #aeb9b1 !important;
  border-radius: 3px !important;
}

html body .home-cta {
  margin: 36px 0 0 !important;
  padding: 34px 38px !important;
  background: #161c18 !important;
  border: 1px solid #61594b !important;
  border-left: 5px solid var(--oh-orange) !important;
  border-radius: 4px !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.24) !important;
}

html body:is(.jobs-page,.home-index) #jobModal .job-modal-close {
  position: relative !important;
  width: 40px !important;
  min-width: 40px !important;
  padding: 0 !important;
  font-size: 0 !important;
}

html body:is(.jobs-page,.home-index) #jobModal .job-modal-close::before {
  content: "" !important;
  position: absolute !important;
  inset: 10px !important;
  display: block !important;
  background: currentColor !important;
  -webkit-mask: var(--oh-icon-close-v3) center/contain no-repeat !important;
  mask: var(--oh-icon-close-v3) center/contain no-repeat !important;
}

/* Newsroom: editorial paper after the cinematic hero. */
html body.news-dashboard-page .newsroom-v1 { padding: 0 !important; }

html body.news-page.news-dashboard-page main.newsroom-v1 .newsroom-hero-v1.jobs-as-news-hero {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  height: 438px !important;
  min-height: 438px !important;
  max-height: 438px !important;
  margin: 0 !important;
  padding: 48px 72px !important;
  overflow: hidden !important;
  background: #07100e !important;
  border-bottom: 1px solid #476057 !important;
}

html body.news-page.news-dashboard-page main.newsroom-v1 .newsroom-hero-v1.jobs-as-news-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  background: var(--hero-image) center/cover no-repeat !important;
  z-index: 0 !important;
}

html body.news-page.news-dashboard-page main.newsroom-v1 .newsroom-hero-v1.jobs-as-news-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(90deg,rgba(5,13,11,.98) 0%,rgba(5,13,11,.91) 38%,rgba(5,13,11,.27) 73%,rgba(5,13,11,.04) 100%) !important;
  z-index: 1 !important;
}

html body.news-page.news-dashboard-page main.newsroom-v1 .newsroom-hero-v1.jobs-as-news-hero .newsroom-hero-copy-v1 {
  position: relative !important;
  z-index: 3 !important;
  width: min(690px,62%) !important;
  max-width: 690px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

html body.news-page.news-dashboard-page main.newsroom-v1 .newsroom-hero-v1.jobs-as-news-hero .newsroom-kicker-v1 {
  color: var(--oh-copper) !important;
}

html body.news-page.news-dashboard-page main.newsroom-v1 .newsroom-hero-v1.jobs-as-news-hero .newsroom-hero-copy-v1 h1 {
  color: #f7f7f2 !important;
  text-shadow: 0 3px 24px rgba(0,0,0,.34) !important;
}

html body.news-page.news-dashboard-page main.newsroom-v1 .newsroom-hero-v1.jobs-as-news-hero .newsroom-hero-copy-v1 > p {
  color: #d3dcd7 !important;
}

html body.news-page.news-dashboard-page main.newsroom-v1 .newsroom-hero-v1.jobs-as-news-hero .newsroom-trust-v1 span {
  color: #f2f4f0 !important;
}

html body.news-page.news-dashboard-page main.newsroom-v1 .newsroom-hero-v1.jobs-as-news-hero .newsroom-overview-v1 {
  display: none !important;
}

html body.news-page.news-dashboard-page main.newsroom-v1 .newsroom-layout-v1 {
  display: block !important;
  grid-template-columns: minmax(0,1fr) !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 42px 40px 72px !important;
  background: var(--oh-paper) !important;
  color: var(--oh-paper-ink) !important;
}

html body.news-dashboard-page .newsroom-feature-grid-v1 {
  gap: 20px !important;
  margin-bottom: 22px !important;
}

html body.news-dashboard-page .newsroom-feature-card-v1 {
  min-height: 410px !important;
  padding: 30px !important;
  border: 1px solid #54605b !important;
  border-bottom: 4px solid var(--oh-copper) !important;
  border-top: 1px solid #54605b !important;
  border-radius: 4px !important;
  box-shadow: 0 20px 42px rgba(17,29,24,.2) !important;
}

html body.news-dashboard-page .newsroom-feature-card-v1 h2 {
  max-width: 720px !important;
  color: #fff !important;
  font-size: clamp(27px,2.4vw,37px) !important;
  line-height: 1.1 !important;
}

html body.news-dashboard-page .newsroom-filter-v1 {
  margin: 0 0 24px !important;
  padding: 20px !important;
  background: var(--oh-paper-white) !important;
  border: 1px solid #c4c9c1 !important;
  border-left: 4px solid var(--oh-sea) !important;
  border-radius: 4px !important;
  box-shadow: 0 10px 25px rgba(17,31,26,.08) !important;
}

html body.news-dashboard-page .newsroom-filter-v1 label { color: #58665f !important; }

html body.news-dashboard-page .newsroom-filter-v1 :is(input,select) {
  background: #f1f0ea !important;
  color: #202c27 !important;
  border: 1px solid #abb5ae !important;
  border-radius: 3px !important;
}

html body.news-dashboard-page .newsroom-topic-bar-v1 {
  background: transparent !important;
  border-color: #b4bbb4 !important;
}

html body.news-dashboard-page .newsroom-topic-bar-v1 :is(b,span,label) { color: #65716b !important; }
html body.news-dashboard-page .newsroom-topic-bar-v1 a {
  color: #315f50 !important;
  background: #e0e8e1 !important;
  border-color: #aebbb2 !important;
}

html body.news-dashboard-page .newsroom-list-head-v1 {
  margin: 0 0 20px !important;
  padding: 20px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-block: 1px solid #b5bcb5 !important;
  border-radius: 0 !important;
}

html body.news-dashboard-page .newsroom-list-head-v1 :is(h2,strong) { color: var(--oh-paper-ink) !important; }
html body.news-dashboard-page .newsroom-list-head-v1 p { color: #66736d !important; }

html body.news-dashboard-page .newsroom-card-grid-v1 {
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 20px !important;
}

html body.news-dashboard-page .newsroom-story-card-v1 {
  overflow: hidden !important;
  background: var(--oh-paper-white) !important;
  border: 1px solid #c4c9c2 !important;
  border-radius: 4px !important;
  box-shadow: 0 12px 27px rgba(17,31,26,.1) !important;
  transition: transform .25s ease,box-shadow .25s ease !important;
}

html body.news-dashboard-page .newsroom-story-card-v1:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 20px 38px rgba(17,31,26,.16) !important;
}

html body.news-dashboard-page .newsroom-story-card-v1 > div { padding: 23px !important; }
html body.news-dashboard-page .newsroom-story-card-v1 h3 { color: #17221e !important; font-size: 19px !important; line-height: 1.25 !important; }
html body.news-dashboard-page .newsroom-story-card-v1 p { color: #59665f !important; line-height: 1.55 !important; }
html body.news-dashboard-page .newsroom-story-card-v1 :is(.newsroom-story-meta-v1,.story-meta-v1) { color: #79847e !important; }

/* About: an editorial story followed by structured dark bands. */
html body.about-page .about-story {
  padding: 48px !important;
  background: var(--oh-paper) !important;
  color: var(--oh-paper-ink) !important;
  border: 0 !important;
  border-left: 5px solid var(--oh-copper) !important;
  border-radius: 4px !important;
  box-shadow: var(--oh-shadow) !important;
}

html body.about-page .about-story-inner {
  grid-template-columns: minmax(0,1.1fr) minmax(410px,.9fr) !important;
  gap: 50px !important;
  align-items: stretch !important;
}

html body.about-page .about-story h2 {
  max-width: 700px !important;
  margin: 13px 0 22px !important;
  color: var(--oh-paper-ink) !important;
  font-size: clamp(34px,3.2vw,47px) !important;
  line-height: 1.03 !important;
  font-weight: 650 !important;
}

html body.about-page .about-story p { color: #46534d !important; font-size: 15px !important; line-height: 1.7 !important; }

html body.about-page .about-story .story-highlight {
  padding: 18px 20px !important;
  color: #17221e !important;
  background: #d9dfd7 !important;
  border: 0 !important;
  border-left: 3px solid var(--oh-orange) !important;
  border-radius: 0 !important;
  font-weight: 650 !important;
}

html body.about-page .about-story-image,
html body.about-page .about-story-image img {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 465px !important;
  max-height: none !important;
  object-fit: cover !important;
  border-radius: 3px !important;
}

html body :is(.about-page,.contact-page) .info-grid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 18px !important;
}

html body :is(.about-page,.contact-page) .info-card {
  padding: 28px !important;
  background: var(--oh-oil) !important;
  border: 1px solid #3a5047 !important;
  border-top: 3px solid var(--oh-sea) !important;
  border-radius: 4px !important;
  box-shadow: 0 13px 30px rgba(0,0,0,.18) !important;
}

html body :is(.about-page,.contact-page) .info-card:nth-child(2) { border-top-color: var(--oh-copper) !important; }
html body :is(.about-page,.contact-page) .info-card:nth-child(3) { border-top-color: var(--oh-brass) !important; }

html body :is(.about-page,.contact-page) .info-card .ico {
  width: 23px !important;
  height: 23px !important;
  background: var(--oh-sea-bright) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  -webkit-mask: var(--oh-icon-shield-v3) center/contain no-repeat !important;
  mask: var(--oh-icon-shield-v3) center/contain no-repeat !important;
}

html body :is(.about-page,.contact-page) .info-card:nth-child(2) .ico { background: var(--oh-copper) !important; --oh-card-icon: var(--oh-icon-search-v3); }
html body :is(.about-page,.contact-page) .info-card:nth-child(3) .ico { background: var(--oh-brass) !important; --oh-card-icon: var(--oh-icon-mail-v3); }
html body :is(.about-page,.contact-page) .info-card:nth-child(2) .ico { -webkit-mask: var(--oh-icon-search-v3) center/contain no-repeat !important; mask: var(--oh-icon-search-v3) center/contain no-repeat !important; }
html body :is(.about-page,.contact-page) .info-card:nth-child(3) .ico { -webkit-mask: var(--oh-icon-mail-v3) center/contain no-repeat !important; mask: var(--oh-icon-mail-v3) center/contain no-repeat !important; }

html body.about-page .page-shell .info-grid .info-card .ico,
html body.contact-page .page-shell .info-grid .info-card .ico {
  position: relative !important;
  width: 23px !important;
  height: 23px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  -webkit-mask: none !important;
  mask: none !important;
}

html body.about-page .page-shell .info-grid .info-card .ico::before,
html body.contact-page .page-shell .info-grid .info-card .ico::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 23px !important;
  height: 23px !important;
  background: var(--oh-sea-bright) !important;
  -webkit-mask: var(--oh-icon-shield-v3) center/contain no-repeat !important;
  mask: var(--oh-icon-shield-v3) center/contain no-repeat !important;
}

html body :is(.about-page,.contact-page) .page-shell .info-grid .info-card:nth-child(2) .ico::before {
  background: var(--oh-copper) !important;
  -webkit-mask-image: var(--oh-icon-search-v3) !important;
  mask-image: var(--oh-icon-search-v3) !important;
}

html body :is(.about-page,.contact-page) .page-shell .info-grid .info-card:nth-child(3) .ico::before {
  background: var(--oh-brass) !important;
  -webkit-mask-image: var(--oh-icon-mail-v3) !important;
  mask-image: var(--oh-icon-mail-v3) !important;
}

html body :is(.about-page,.contact-page) .info-card h3 { color: #f2f2ec !important; font-size: 17px !important; }
html body :is(.about-page,.contact-page) .info-card p { color: #9aaba3 !important; line-height: 1.6 !important; }

html body.about-page .copy-layout {
  grid-template-columns: minmax(0,1.15fr) minmax(360px,.65fr) !important;
  gap: 20px !important;
}

html body.about-page .copy-layout > .box {
  padding: 32px !important;
  background: #101b18 !important;
  border: 1px solid #3a4f47 !important;
  border-radius: 4px !important;
}

/* Contact and post-job forms: calm paper workspaces. */
html body.contact-page #contact-form .contact-layout {
  grid-template-columns: minmax(310px,.62fr) minmax(0,1.38fr) !important;
  gap: 22px !important;
}

html body.contact-page #contact-form .contact-layout > aside.box {
  padding: 32px !important;
  background: var(--oh-oil) !important;
  border: 1px solid #3b5048 !important;
  border-left: 4px solid var(--oh-sea) !important;
  border-radius: 4px !important;
}

html body.contact-page #contact-form .contact-layout > aside .oh-market-panel { display: none !important; }

html body.contact-page #contact-form .contact-layout > article.box {
  padding: 10px !important;
  background: var(--oh-paper) !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: var(--oh-shadow) !important;
}

html body.contact-page .contact-form {
  padding: 28px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html body.contact-page .contact-form label,
html body.post-job-page .post-job-panel label {
  color: #34423c !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

html body.contact-page .contact-form :is(input,select,textarea),
html body.post-job-page .post-job-panel :is(input,select,textarea) {
  background: var(--oh-paper-white) !important;
  color: var(--oh-paper-ink) !important;
  border: 1px solid #9ea9a1 !important;
  border-radius: 3px !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.03) !important;
}

html body.contact-page .contact-form :is(input,textarea)::placeholder,
html body.post-job-page .post-job-panel :is(input,textarea)::placeholder { color: #727d77 !important; }

html body.contact-page .contact-note { color: #53605a !important; }
html body.contact-page .contact-note a { color: #9c4818 !important; }

html body.post-job-page .post-job-layout { padding: 48px 38px 76px !important; }

html body.post-job-page .post-job-panel {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 44px !important;
  background: var(--oh-paper) !important;
  color: var(--oh-paper-ink) !important;
  border: 0 !important;
  border-top: 5px solid var(--oh-orange) !important;
  border-radius: 4px !important;
  box-shadow: 0 28px 68px rgba(0,0,0,.42) !important;
}

html body.post-job-page .post-job-panel .box-head { margin-bottom: 28px !important; padding-bottom: 22px !important; border-color: #b7beb7 !important; }
html body.post-job-page .post-job-panel .box-title { color: #4a5751 !important; }
html body.post-job-page .post-job-panel .box-head p { color: #59665f !important; }
html body.post-job-page .post-job-panel textarea { min-height: 145px !important; }

/* Article and legal reading surfaces. */
html body.news-article-page .article-publication-main,
html body :is(.privacy-page,.terms-page,.cookies-page,.disclaimer-page) .legal-main {
  background: var(--oh-paper) !important;
  color: var(--oh-paper-ink) !important;
  border: 0 !important;
  border-top: 5px solid var(--oh-copper) !important;
  border-radius: 4px !important;
  box-shadow: var(--oh-shadow) !important;
}

html body.news-article-page .article-publication-main :is(h1,h2,h3,h4),
html body :is(.privacy-page,.terms-page,.cookies-page,.disclaimer-page) .legal-main :is(h1,h2,h3,h4) { color: var(--oh-paper-ink) !important; }

html body.news-article-page .article-publication-main p,
html body :is(.privacy-page,.terms-page,.cookies-page,.disclaimer-page) .legal-main p { color: #4c5953 !important; }

html body.news-article-page .article-publication-side .side-panel,
html body .legal-side-rail > * {
  padding: 22px !important;
  background: var(--oh-oil) !important;
  border: 1px solid #3b5148 !important;
  border-left: 3px solid var(--oh-sea) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

/* Footer */
html body .oh-reference-footer {
  background: #091713 !important;
  border-top: 1px solid #40564d !important;
  box-shadow: inset 0 3px 0 var(--oh-brass) !important;
}

html body .oh-reference-footer :is(h3,.footer-title) { color: #f2f1eb !important; }
html body .oh-reference-footer p { color: #93a39b !important; }
html body .oh-reference-footer a { color: #d4ddd8 !important; }
html body .oh-reference-footer a:hover { color: #f6a36d !important; }

@media (max-width: 1180px) {
  html body.home-index .index-news-card,
  html body.home-index .index-news-card:first-child,
  html body.home-index .index-news-card:nth-child(2) { grid-column: span 6 !important; }

  html body.news-dashboard-page .newsroom-card-grid-v1 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  html body.about-page .about-story-inner { grid-template-columns: 1fr !important; }
  html body.about-page .about-story-image,
  html body.about-page .about-story-image img { min-height: 380px !important; }
}

@media (max-width: 900px) {
  html body .oh-real-inner { padding-inline: 18px !important; }
  html body :is(.hero,.newsroom-hero-v1.jobs-as-news-hero),
  html body :is(.hero .hero-inner,.newsroom-hero-v1 .newsroom-hero-inner-v1) { height: auto !important; min-height: 390px !important; }
  html body :is(.hero .hero-inner,.newsroom-hero-v1 .newsroom-hero-inner-v1) { padding: 38px 24px !important; }
  html body :is(.main,.oh-page-side-layout) { padding-inline: 22px !important; }
  html body.home-index .sector-grid { grid-template-columns: 1fr !important; }
  html body .why-news-clean,
  html body.contact-page #contact-form .contact-layout,
  html body.about-page .copy-layout { grid-template-columns: 1fr !important; }
  html body.post-job-page .post-job-panel { padding: 30px !important; }
}

@media (max-width: 680px) {
  html body .page { border-inline: 0 !important; }
  html body .oh-real-header { min-height: 123px !important; }
  html body .oh-real-inner {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    grid-template-rows: 68px 52px !important;
    width: 100% !important;
    min-height: 120px !important;
    height: 120px !important;
    padding: 0 15px !important;
    gap: 0 10px !important;
  }
  html body .oh-real-logo {
    display: flex !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 132px !important;
    min-width: 132px !important;
    height: 68px !important;
    padding: 0 !important;
  }
  html body .oh-real-logo img {
    display: block !important;
    width: 132px !important;
    max-width: 132px !important;
    max-height: 48px !important;
  }
  html body .oh-real-sep { display: none !important; }
  html body .oh-real-actions {
    display: flex !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    height: 68px !important;
    margin: 0 !important;
    gap: 7px !important;
  }
  html body .oh-real-live { display: none !important; }
  html body .oh-real-lang { min-height: 34px !important; }
  html body .oh-real-lang button { width: 30px !important; height: 27px !important; }
  html body .oh-real-cta { min-height: 36px !important; padding: 0 12px !important; font-size: 10px !important; }
  html body .oh-real-nav {
    display: grid !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    grid-template-columns: repeat(5,minmax(0,1fr)) !important;
    width: 100% !important;
    height: 52px !important;
    overflow: visible !important;
    border-top: 1px solid #344a42 !important;
  }
  html body .oh-real-nav a {
    min-width: 0 !important;
    min-height: 52px !important;
    height: 52px !important;
    padding: 0 3px !important;
    gap: 0 !important;
    font-size: 10px !important;
  }
  html body .oh-real-nav a svg { display: none !important; }
  html body :is(.main,.oh-page-side-layout) { padding-inline: 15px !important; }
  html body :is(.home-index,.about-page,.contact-page) .oh-main-column > :is(.home-block,.page-shell) { padding-block: 34px !important; }
  html body :is(.hero h1,.newsroom-hero-copy-v1 h1) { font-size: 38px !important; }
  html body .oh-metric-strip {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    overflow: hidden !important;
  }
  html body .oh-metric-strip .metric {
    min-width: 0 !important;
    min-height: 68px !important;
    padding: 11px 14px !important;
  }
  html body .oh-metric-strip .metric:nth-child(5) { grid-column: 1 / -1 !important; }
  html body.news-page.news-dashboard-page main.newsroom-v1 .newsroom-hero-v1.jobs-as-news-hero {
    height: auto !important;
    min-height: 390px !important;
    max-height: none !important;
    padding: 40px 22px !important;
  }
  html body.news-page.news-dashboard-page main.newsroom-v1 .newsroom-hero-v1.jobs-as-news-hero .newsroom-hero-copy-v1 {
    width: 100% !important;
  }
  html body.home-index .index-news-card,
  html body.home-index .index-news-card:first-child,
  html body.home-index .index-news-card:nth-child(2) { grid-column: 1 / -1 !important; }
  html body.news-dashboard-page .newsroom-layout-v1 { padding: 28px 15px 52px !important; }
  html body.news-dashboard-page .newsroom-feature-grid-v1,
  html body.news-dashboard-page .newsroom-card-grid-v1,
  html body :is(.about-page,.contact-page) .info-grid,
  html body .why-grid { grid-template-columns: 1fr !important; }
  html body.about-page .about-story { padding: 27px 22px !important; }
  html body.about-page .about-story h2 { font-size: 31px !important; }
  html body.about-page .about-story-image,
  html body.about-page .about-story-image img { min-height: 280px !important; }
  html body.post-job-page .post-job-layout { padding: 30px 15px 52px !important; }
  html body.post-job-page .post-job-panel { padding: 24px 18px !important; }
  html body.jobs-page:not(.home-index) main.main.jobs-mock-layout { padding: 24px 14px 52px !important; }
  html body.jobs-page .job-row.job-tile { height: auto !important; min-height: 430px !important; max-height: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  html body * {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* 20260915.20: one restrained brand palette across legacy and current components. */
:root {
  --oh-cyan: #7598a0 !important;
  --oh-green: #2de3a1 !important;
}

html body :is(.page-shell,.jobs-card-board,.newsroom-content-v1,.newsroom-list-shell-v1) {
  --oh-surface-border: #c9c8c0;
}

html body.jobs-page main.main.jobs-mock-layout,
html body.news-dashboard-page main.newsroom-v1,
html body:is(.about-page,.contact-page,.post-job-page) main {
  background-color: var(--oh-paper) !important;
}

html body.jobs-page .job-row.job-tile {
  --sector-accent: #bd622f;
}

html body.jobs-page .job-row.job-tile.sector-wind {
  --sector-accent: #668579;
}

html body.jobs-page .job-row.job-tile.sector-fishing {
  --sector-accent: #a67a45;
}

html body.jobs-page main.main.jobs-mock-layout .jobs-left-column .jobs-card-board .jobs-grid-board .job-row.job-tile .tile-role,
html body.home-index .home-jobs-card-list .job-row.job-tile .tile-role {
  color: #46645c !important;
  background: #e7ebe5 !important;
  border-color: #c6cec7 !important;
}

html body:is(.jobs-page,.home-index) .job-tile .tile-meta .meta-pill span:first-child,
html body:is(.jobs-page,.home-index) .job-tile .tile-meta .meta-icon {
  color: #a85328 !important;
  background: #f1e9df !important;
  border-color: #d5b9a6 !important;
  box-shadow: none !important;
}

html body:is(.jobs-page,.home-index) .job-tile .tile-meta .meta-pill b {
  color: #46514e !important;
}

html body:is(.jobs-page,.home-index) .job-tile .tile-new {
  color: #185f49 !important;
  background: #dceee5 !important;
  border-color: #9fc8b5 !important;
}

html body:is(.jobs-page,.home-index) .job-tile .tile-category,
html body:is(.jobs-page,.home-index) .job-tile .tile-open {
  color: #a94e20 !important;
}

html body:is(.jobs-page,.home-index) .job-tile:hover .tile-open {
  color: #fff !important;
  background: var(--oh-orange) !important;
  border-color: var(--oh-orange) !important;
}

html body.jobs-page :is(.filter-studio,.jobs-card-board),
html body.news-dashboard-page :is(.newsroom-filter-v1,.newsroom-list-head-v1,.newsroom-topic-bar-v1),
html body.post-job-page .post-job-panel {
  border-color: #c9c8c0 !important;
}

html body.jobs-page :is(.filter-studio input,.filter-studio select,.jobs-card-board select),
html body.news-dashboard-page :is(.newsroom-filter-v1 input,.newsroom-filter-v1 select),
html body.post-job-page :is(input,select,textarea) {
  background: #fbfaf5 !important;
  color: #26302e !important;
  border-color: #b9beb8 !important;
}

html body:is(.jobs-page,.home-index) #jobModal :is(.profile-modal-main,.profile-info-strip),
html body:is(.jobs-page,.home-index) #jobModal .profile-modal-side {
  background-color: #f1f0e9 !important;
}

html body:is(.jobs-page,.home-index) #jobModal .profile-modal-side {
  border-left-color: #c8c8bf !important;
}

html body:is(.jobs-page,.home-index) #jobModal :is(.profile-panel h3,.profile-side-title)::before {
  color: var(--oh-copper) !important;
  background-color: var(--oh-copper) !important;
}

/* 20260915.21: visible maritime contrast and authoritative legacy overrides. */
html body,
html body .page {
  background: #030a0e !important;
}

html body :is(.oh-real-header,.oh-real-header-inner,.oh-metric-strip,.news-breaking,.jobs-news-ticker) {
  background-color: var(--oh-carbon) !important;
}

html body :is(.stat-card,.oh-page-side .box,.side .box,.why-panel) {
  background-color: var(--oh-oil) !important;
  border-color: #314850 !important;
}

html body.jobs-page main.main.jobs-mock-layout,
html body.news-dashboard-page main.newsroom-v1,
html body:is(.about-page,.contact-page,.post-job-page) main,
html body.home-index main.main.jobs-mock-layout {
  background-color: var(--oh-paper) !important;
}

html body.jobs-page #jobs-list :is(.filter-studio,.jobs-card-board),
html body.news-dashboard-page :is(.newsroom-filter-v1,.newsroom-list-head-v1,.newsroom-topic-bar-v1),
html body:is(.about-page,.contact-page,.post-job-page) :is(.page-shell,.post-job-panel,.about-story) {
  background-color: var(--oh-paper-soft) !important;
  border-color: #bdc8cc !important;
}

html body.jobs-page #jobs-list .jobs-card-board .job-row.job-tile,
html body.home-index .home-jobs-card-list .job-row.job-tile,
html body.news-dashboard-page .newsroom-story-card-v1 {
  background-color: var(--oh-paper-white) !important;
  border-color: #b8c4c8 !important;
}

html body:is(.jobs-page,.home-index) .job-tile .tile-top,
html body:is(.jobs-page,.home-index) .job-tile .tile-bottom {
  background-color: #0b171d !important;
  border-color: #33474f !important;
}

html body.jobs-page #jobs-list .jobs-card-board .job-row.job-tile .tile-role,
html body.home-index .home-jobs-card-list .job-row.job-tile .tile-role {
  color: #355c68 !important;
  background: #e1e9eb !important;
  border-color: #b8c8cc !important;
}

html body.jobs-page #jobs-list .jobs-card-board .job-row.job-tile .tile-meta .meta-pill > span:first-child,
html body.jobs-page #jobs-list .jobs-card-board .job-row.job-tile .tile-meta .meta-icon,
html body.home-index .home-jobs-card-list .job-row.job-tile .tile-meta .meta-pill > span:first-child,
html body.home-index .home-jobs-card-list .job-row.job-tile .tile-meta .meta-icon {
  color: #b45325 !important;
  background: #f2e7de !important;
  border-color: #d7b39f !important;
}

html body.jobs-page #jobs-list .jobs-card-board .job-row.job-tile .tile-meta .meta-pill b,
html body.home-index .home-jobs-card-list .job-row.job-tile .tile-meta .meta-pill b {
  color: #3f4d53 !important;
}

html body.jobs-page #jobs-list .jobs-card-board .job-row.job-tile .tile-title,
html body.home-index .home-jobs-card-list .job-row.job-tile .tile-title,
html body.news-dashboard-page .newsroom-story-card-v1 h3 {
  color: var(--oh-paper-ink) !important;
}

html body.jobs-page #jobs-list .jobs-card-board .job-row.job-tile p.tile-desc,
html body.home-index .home-jobs-card-list .job-row.job-tile p.tile-desc,
html body.news-dashboard-page .newsroom-story-card-v1 p {
  color: var(--oh-paper-copy) !important;
}

html body:is(.jobs-page,.home-index) #jobModal :is(.profile-modal-main,.profile-info-strip,.profile-modal-side) {
  background-color: #f2f5f4 !important;
}

html body:is(.jobs-page,.home-index) #jobModal .profile-info-item {
  border-color: #c4ced1 !important;
}

/* 20260915.22: mapped surface system - navy chrome, fog canvas, ivory content. */
:root {
  --oh-navy: #071821;
  --oh-navy-raised: #0d2530;
  --oh-navy-soft: #16313b;
  --oh-canvas: #dce3e4;
  --oh-panel: #edf1f0;
  --oh-card: #f8f9f6;
  --oh-ink: #17262d;
  --oh-copy-dark: #4f6067;
  --oh-line: #b8c5c8;
  --oh-line-dark: #314a55;
  --oh-signal: #f36f21;
  --oh-signal-dark: #a94d20;
  --oh-secondary: #678993;
}

html body :is(.oh-real-header,.oh-real-header-inner,.oh-metric-strip,.news-breaking,.jobs-news-ticker,.oh-reference-footer) {
  background-color: var(--oh-navy) !important;
  border-color: var(--oh-line-dark) !important;
  color: #f6f7f4 !important;
}

html body :is(.hero.jobs-as-news-hero,.newsroom-hero-v1.jobs-as-news-hero,.article-publication-hero.jobs-as-news-hero) {
  background-color: var(--oh-navy) !important;
  color: #f6f7f4 !important;
}

html body :is(.main,.newsroom-v1,.article-publication-shell,.post-job-layout,.legal-wrap) {
  background-color: var(--oh-canvas) !important;
  color: var(--oh-ink) !important;
}

html body :is(.main,.newsroom-v1,.article-publication-shell,.post-job-layout,.legal-wrap) :is(.section-intro h2,.section-intro h3,.box-head h2,.box-head h3) {
  color: var(--oh-ink) !important;
}

html body :is(.main,.newsroom-v1,.article-publication-shell,.post-job-layout,.legal-wrap) :is(.section-intro p,.jobs-board-sub) {
  color: var(--oh-copy-dark) !important;
}

html body :is(.page-shell,.jobs-card-board,.newsroom-filter-v1,.newsroom-list-head-v1,.newsroom-topic-bar-v1,.post-job-panel) {
  background-color: var(--oh-panel) !important;
  color: var(--oh-ink) !important;
  border-color: var(--oh-line) !important;
}

html body :is(.page-shell,.jobs-card-board,.newsroom-filter-v1,.newsroom-list-head-v1,.newsroom-topic-bar-v1,.post-job-panel) :is(h1,h2,h3,h4,b,strong,label,.box-title) {
  color: var(--oh-ink) !important;
}

html body :is(.page-shell,.jobs-card-board,.newsroom-filter-v1,.newsroom-list-head-v1,.newsroom-topic-bar-v1,.post-job-panel) p {
  color: var(--oh-copy-dark) !important;
}

html body :is(.about-page,.contact-page) .info-card {
  background: var(--oh-card) !important;
  color: var(--oh-ink) !important;
  border-color: var(--oh-line) !important;
  border-top-color: var(--oh-secondary) !important;
  box-shadow: 0 12px 26px rgba(20,39,46,.09) !important;
}

html body :is(.about-page,.contact-page) .info-card :is(h3,b,strong) {
  color: var(--oh-ink) !important;
}

html body :is(.about-page,.contact-page) .info-card p {
  color: var(--oh-copy-dark) !important;
}

html body :is(.about-page,.contact-page) .info-card .ico {
  background-color: var(--oh-signal) !important;
}

html body.contact-page .contact-company-info {
  background: var(--oh-navy-raised) !important;
  color: #f6f7f4 !important;
  border-color: #46616c !important;
}

html body.contact-page .contact-company-info :is(h2,h3,h4,b,strong,.box-title) {
  color: #f6f7f4 !important;
}

html body.contact-page .contact-company-info p {
  color: #bdcbd0 !important;
}

html body.contact-page .contact-layout > .box,
html body.about-page .copy-layout > .box {
  background: var(--oh-card) !important;
  color: var(--oh-ink) !important;
  border-color: var(--oh-line) !important;
}

html body.contact-page .contact-layout > .box :is(h2,h3,h4,b,strong,label,.box-title),
html body.about-page .copy-layout > .box :is(h2,h3,h4,b,strong,label,.box-title) {
  color: var(--oh-ink) !important;
}

html body.contact-page .contact-layout > .box p,
html body.about-page .copy-layout > .box p,
html body.about-page .copy-layout > .box li {
  color: var(--oh-copy-dark) !important;
}

html body.home-index .sector-block {
  background: var(--oh-navy) !important;
  color: #f6f7f4 !important;
  border-color: var(--oh-line-dark) !important;
}

html body.home-index .sector-block :is(h2,h3,b,strong) {
  color: #f6f7f4 !important;
}

html body.home-index .sector-block :is(.section-intro p,.sector-card p) {
  color: #c0ccd0 !important;
}

html body.home-index .sector-card {
  border-color: #38535f !important;
  background-color: var(--oh-navy-raised) !important;
}

html body.home-index :is(.live-jobs-list,.index-news-latest) {
  background-color: transparent !important;
  color: var(--oh-ink) !important;
}

html body.home-index :is(.live-jobs-list,.index-news-latest) :is(.section-intro h2,.box-title) {
  color: var(--oh-ink) !important;
}

html body :is(.job-row.job-tile,.newsroom-story-card-v1,.read-next-card) {
  background-color: var(--oh-card) !important;
  border-color: var(--oh-line) !important;
}

html body :is(.home-cta,.why-panel) {
  background: var(--oh-navy-raised) !important;
  color: #f6f7f4 !important;
  border-color: #52616a !important;
}

html body :is(.home-cta,.why-panel) :is(h2,h3,b,strong) {
  color: #f6f7f4 !important;
}

html body :is(.home-cta,.why-panel) p {
  color: #bdcbd0 !important;
}

html body :is(.cta,.searchbtn,.studio-submit) {
  background: var(--oh-signal) !important;
  border-color: var(--oh-signal) !important;
  color: #fff !important;
}

html body :is(.orange-link,.box-title span,.eyebrow,.tile-open) {
  color: var(--oh-signal-dark) !important;
}

html body :is(input,select,textarea) {
  background-color: #fbfcf9 !important;
  color: var(--oh-ink) !important;
  border-color: #aebcc0 !important;
}

html body :is(.quick-search,.filter-studio) {
  background-color: var(--oh-card) !important;
  color: var(--oh-ink) !important;
  border-color: var(--oh-line) !important;
}

html body :is(.quick-search,.filter-studio) :is(h2,h3,b,strong,label,.box-title) {
  color: var(--oh-ink) !important;
}

/* Editorial and legal reading surfaces use the same paper/ink relationship. */
html body.news-article-page .article-publication-main,
html body.legal-page .legal-card {
  background: var(--oh-card) !important;
  color: var(--oh-ink) !important;
  border-color: var(--oh-line) !important;
  box-shadow: 0 18px 42px rgba(14,36,44,.1) !important;
}

html body.news-article-page .article-publication-main :is(h1,h2,h3,h4,b,strong),
html body.legal-page .legal-card :is(h1,h2,h3,h4,b,strong) {
  color: var(--oh-ink) !important;
}

html body.news-article-page .article-publication-main :is(p,li),
html body.legal-page .legal-card :is(p,li,span) {
  color: var(--oh-copy-dark) !important;
}

html body.legal-page :is(.toc,.legal-side-rail),
html body.news-article-page .article-publication-side {
  background: var(--oh-navy-raised) !important;
  color: #f6f7f4 !important;
  border-color: var(--oh-line-dark) !important;
}

html body.legal-page :is(.toc,.legal-side-rail) :is(h2,h3,h4,b,strong,a),
html body.news-article-page .article-publication-side :is(h2,h3,h4,b,strong,a) {
  color: #f6f7f4 !important;
}

html body.legal-page :is(.toc,.legal-side-rail) :is(p,span),
html body.news-article-page .article-publication-side :is(p,span) {
  color: #bdcbd0 !important;
}

html body.legal-page .mini-card {
  background: var(--oh-panel) !important;
  color: var(--oh-ink) !important;
  border-color: var(--oh-line) !important;
}

/* Keep media-led news cards visually cinematic; paper belongs to their copy panels. */
html body.news-dashboard-page .newsroom-story-card-v1 > div,
html body.home-index .index-news-card .index-news-body,
html body.news-article-page .read-next-card .read-next-body {
  background: var(--oh-card) !important;
}

html body.home-index .index-news-card :is(h3,p),
html body.news-article-page .read-next-card :is(h3,p) {
  color: var(--oh-ink) !important;
}

html body.home-index .index-news-card p,
html body.news-article-page .read-next-card p {
  color: var(--oh-copy-dark) !important;
}

html body .green {
  color: var(--oh-live) !important;
}

/* 20260915.23: light maritime system. Dark color is now an accent, not the canvas. */
:root {
  --oh-navy: #102f3b;
  --oh-navy-raised: #1b414d;
  --oh-canvas: #e7edef;
  --oh-panel: #f0f4f3;
  --oh-card: #fffefa;
  --oh-ink: #17313b;
  --oh-copy-dark: #53666d;
  --oh-line: #c4d0d3;
  --oh-line-dark: #41606b;
  --oh-signal: #ef6c23;
  --oh-signal-dark: #a94a1c;
  --oh-secondary: #60838d;
}

html,
html body {
  background: #d5e0e2 !important;
  color: var(--oh-ink) !important;
}

html body :is(.page,.site-shell) {
  background: var(--oh-canvas) !important;
  border-color: #adc0c5 !important;
  box-shadow: 0 0 44px rgba(18,48,59,.12) !important;
}

/* Header remains the principal brand anchor, but is no longer near-black. */
html body :is(.oh-real-header,.oh-real-header-inner) {
  background: var(--oh-navy) !important;
  border-color: #54717b !important;
}

html body .oh-real-header :is(a,button) {
  color: #f7f8f5 !important;
}

/* Statistics and tickers belong to the light page flow. */
html body .oh-metric-strip {
  background: #f4f7f5 !important;
  border-block-color: #b6c7cb !important;
  box-shadow: 0 8px 24px rgba(22,52,63,.07) !important;
}

html body .oh-metric-strip .metric {
  background: transparent !important;
  border-right-color: #c9d4d6 !important;
}

html body .oh-metric-strip .metric small {
  color: #697d84 !important;
}

html body .oh-metric-strip .metric strong,
html body .oh-metric-strip .metric .metric-detail {
  color: var(--oh-ink) !important;
}

html body .oh-metric-strip .metric strong.green,
html body .oh-metric-strip .metric:nth-child(2) strong {
  color: #13835e !important;
}

html body .oh-metric-strip .metric .micon {
  background: #f7e8dc !important;
  border-color: #ddb89f !important;
  box-shadow: none !important;
}

html body :is(.oh-news-strip,.home-news-marquee,.jobs-latest-ticker,.news-breaking,.jobs-news-ticker) {
  background: #e1eaeb !important;
  border-color: #bac9cd !important;
  color: var(--oh-ink) !important;
  box-shadow: inset 0 -1px 0 rgba(16,47,59,.05) !important;
}

html body :is(.oh-news-strip,.home-news-marquee,.jobs-latest-ticker,.news-breaking,.jobs-news-ticker) :is(a,span,b,strong) {
  color: #405861 !important;
}

html body :is(.oh-news-strip,.home-news-marquee,.jobs-latest-ticker,.news-breaking,.jobs-news-ticker) :is(.label,.ticker-label,.orange-link) {
  color: var(--oh-signal-dark) !important;
}

html body :is(.main,.oh-page-side-layout,.newsroom-v1,.article-publication-shell,.post-job-layout,.legal-wrap) {
  background: var(--oh-canvas) !important;
}

html body :is(.home-index,.about-page,.contact-page) .oh-main-column > :is(.home-block,.page-shell) {
  border-bottom-color: #c2ced1 !important;
}

/* Sections and utilities share one light surface hierarchy. */
html body :is(.page-shell,.home-block,.jobs-card-board,.filter-studio,.quick-search,.newsroom-filter-v1,.newsroom-list-head-v1,.newsroom-topic-bar-v1,.post-job-panel,.legal-card,.article-publication-main) {
  background-color: transparent !important;
  color: var(--oh-ink) !important;
  border-color: var(--oh-line) !important;
}

html body :is(.page-shell,.home-block,.jobs-card-board,.filter-studio,.quick-search,.newsroom-filter-v1,.newsroom-list-head-v1,.newsroom-topic-bar-v1,.post-job-panel,.legal-card,.article-publication-main) :is(h1,h2,h3,h4,b,strong,label,.box-title) {
  color: var(--oh-ink) !important;
}

html body :is(.page-shell,.home-block,.jobs-card-board,.filter-studio,.quick-search,.newsroom-filter-v1,.newsroom-list-head-v1,.newsroom-topic-bar-v1,.post-job-panel,.legal-card,.article-publication-main) :is(p,li) {
  color: var(--oh-copy-dark) !important;
}

html body :is(.box,.info-card,.why-clean,.company-info-card,.side-panel,.toc,.legal-side-rail,.article-publication-side) {
  background: var(--oh-card) !important;
  color: var(--oh-ink) !important;
  border-color: var(--oh-line) !important;
  box-shadow: 0 12px 30px rgba(19,49,59,.08) !important;
}

html body :is(.box,.info-card,.why-clean,.company-info-card,.side-panel,.toc,.legal-side-rail,.article-publication-side) :is(h1,h2,h3,h4,b,strong,label,.box-title,a) {
  color: var(--oh-ink) !important;
}

html body :is(.box,.info-card,.why-clean,.company-info-card,.side-panel,.toc,.legal-side-rail,.article-publication-side) :is(p,li,span,small) {
  color: var(--oh-copy-dark) !important;
}

/* Image-led sector cards sit inside a light editorial section. */
html body.home-index .sector-block {
  background: transparent !important;
  color: var(--oh-ink) !important;
  border-color: #c2ced1 !important;
}

html body.home-index .sector-block :is(h2,h3,b,strong) {
  color: var(--oh-ink) !important;
}

html body.home-index .sector-block .section-intro p {
  color: var(--oh-copy-dark) !important;
}

html body.home-index .sector-card {
  border-color: #78909a !important;
  box-shadow: 0 14px 30px rgba(19,49,59,.14) !important;
}

html body.home-index .sector-card :is(h3,p) {
  color: #f8faf8 !important;
}

/* Product cards are fully integrated with the light system. */
html body :is(.job-row.job-tile,.newsroom-story-card-v1,.read-next-card,.index-news-card) {
  background: var(--oh-card) !important;
  border-color: #b8c8cc !important;
  box-shadow: 0 10px 24px rgba(20,49,59,.08) !important;
}

html body:is(.jobs-page,.home-index) .job-tile :is(.tile-top,.tile-bottom) {
  background: #edf3f2 !important;
  border-color: #c8d4d6 !important;
}

html body:is(.jobs-page,.home-index) .job-tile :is(.tile-source,.tile-company,.tile-category) {
  color: #536970 !important;
}

html body:is(.jobs-page,.home-index) .job-tile .tile-title {
  color: var(--oh-ink) !important;
}

html body:is(.jobs-page,.home-index) .job-tile .tile-role {
  background: #e2eceb !important;
  color: #315f69 !important;
  border-color: #b9cbcf !important;
}

html body:is(.jobs-page,.home-index) .job-tile .tile-meta {
  border-color: #d0dadd !important;
}

html body:is(.jobs-page,.home-index) .job-tile .tile-meta .meta-pill b {
  color: #465a62 !important;
}

html body.jobs-page .pager {
  background: #f4f7f5 !important;
  border-color: #bdcbce !important;
  box-shadow: 0 9px 22px rgba(19,49,59,.07) !important;
}

html body.jobs-page .pager :is(button,span,a) {
  color: var(--oh-ink) !important;
  border-color: #aec1c6 !important;
}

/* Forms use warm white fields rather than cold white against black. */
html body :is(input,select,textarea) {
  background: #fffefa !important;
  color: var(--oh-ink) !important;
  border-color: #acbec3 !important;
}

html body :is(input,select,textarea):focus {
  border-color: var(--oh-secondary) !important;
  box-shadow: 0 0 0 3px rgba(96,131,141,.14) !important;
}

/* CTA bands and company information use tint, not another dark wall. */
html body :is(.home-cta,.contact-company-info) {
  background: #f5e9df !important;
  color: var(--oh-ink) !important;
  border-color: #ddbca6 !important;
  box-shadow: 0 12px 28px rgba(73,57,43,.08) !important;
}

html body :is(.home-cta,.contact-company-info) :is(h2,h3,h4,b,strong,.box-title) {
  color: var(--oh-ink) !important;
}

html body :is(.home-cta,.contact-company-info) p {
  color: #655e59 !important;
}

html body .oh-reference-footer {
  background: var(--oh-navy-raised) !important;
  border-color: #5a7781 !important;
}

html body .oh-reference-footer :is(h3,.footer-title,a) {
  color: #f3f6f3 !important;
}

html body .oh-reference-footer p {
  color: #c2d0d3 !important;
}
