
/* Offshore Hub shared header v30
   Correct fix:
   - Uses the uploaded header as a real image layer, not distorted CSS background
   - Preserves logo quality/aspect ratio
   - Keeps normal page width
   - Spreads language/live/CTA across the right-side area */
@media (min-width:901px){
  body.home-index .page,
  .page{
    width:min(1768px, calc(100vw - 36px)) !important;
    max-width:1768px !important;
    margin:18px auto 20px !important;
    border:1px solid rgba(0,137,216,.72) !important;
    border-radius:10px !important;
    overflow:hidden !important;
  }

  .site-shell{
    width:min(1768px, calc(100vw - 36px)) !important;
    max-width:1768px !important;
    margin:18px auto 20px !important;
  }

  .oh-mock-header{
    position:relative !important;
    z-index:40 !important;
    padding:0 !important;
    margin:0 !important;
    background:#02070d !important;
    border:0 !important;
    border-bottom:1px solid rgba(255,106,0,.86) !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }

  .topnav,
  .oh-mock-frame{
    position:relative !important;
    isolation:isolate !important;
    display:grid !important;
    grid-template-columns: clamp(390px, 25.5vw, 455px) minmax(560px, 1.25fr) minmax(520px, .95fr) !important;
    align-items:center !important;
    gap:14px !important;
    width:100% !important;
    height:156px !important;
    min-height:156px !important;
    margin:0 !important;
    padding:0 34px !important;
    border:0 !important;
    border-radius:0 !important;
    background:#02070d !important;
    box-shadow:none !important;
    overflow:hidden !important;
    clip-path:none !important;
  }

  .topnav:before,
  .topnav:after,
  .oh-mock-frame:before,
  .oh-mock-frame:after{
    display:none !important;
    content:none !important;
    background:none !important;
  }

  .oh-header-frame-img{
    display:block !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    width:100% !important;
    height:auto !important;
    max-width:none !important;
    min-width:100% !important;
    transform:translate(-50%, -50%) !important;
    object-fit:contain !important;
    z-index:0 !important;
    pointer-events:none !important;
    opacity:1 !important;
    visibility:visible !important;
    filter:none !important;
  }

  .topnav > *:not(.oh-header-frame-img),
  .oh-mock-frame > *:not(.oh-header-frame-img){
    position:relative !important;
    z-index:2 !important;
  }

  /* The visual logo is part of the real image layer. This remains a clickable hit-area only. */
  .topnav .brand,
  .oh-mock-brand{
    display:block !important;
    width:clamp(400px, 28vw, 500px) !important;
    min-width:0 !important;
    height:124px !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    text-decoration:none !important;
    overflow:hidden !important;
  }

  .topnav .brand > *,
  .oh-mock-brand > *{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  .oh-mock-brand:after{display:none !important;}

  .navlinks,
  .oh-mock-nav{
    display:flex !important;
    align-items:center !important;
    justify-content:space-evenly !important;
    width:100% !important;
    height:60px !important;
    min-height:60px !important;
    gap:0 !important;
    padding:0 18px !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    clip-path:none !important;
    overflow:visible !important;
    transform:translateY(2px) !important;
  }

  .navlinks a,
  .oh-mock-nav a{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:52px !important;
    gap:9px !important;
    padding:0 17px !important;
    margin:0 !important;
    color:#eef4fb !important;
    font-size:13.5px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:0 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    background:transparent !important;
    border-right:1px solid rgba(125,150,175,.30) !important;
    box-shadow:none !important;
  }

  .navlinks a:last-child,
  .oh-mock-nav a:last-child{border-right:0 !important;}

  .navlinks a.active,
  .navlinks a:hover,
  .oh-mock-nav a.active,
  .oh-mock-nav a:hover{
    color:#ff8a22 !important;
    background:rgba(255,106,0,.10) !important;
  }

  .navlinks a.active:after,
  .navlinks a:hover:after,
  .oh-mock-nav a.active:after,
  .oh-mock-nav a:hover:after{
    content:'' !important;
    position:absolute !important;
    left:50% !important;
    bottom:-9px !important;
    transform:translateX(-50%) !important;
    width:42px !important;
    height:3px !important;
    border-radius:999px !important;
    background:linear-gradient(90deg,transparent,#ff6a00 18%,#ff9a2f 52%,transparent) !important;
    box-shadow:0 0 14px rgba(255,106,0,.72) !important;
  }

  .oh-mock-nav svg{width:19px !important;height:19px !important;}

  .head-actions,
  .oh-mock-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:space-evenly !important;
    gap:16px !important;
    width:100% !important;
    min-width:0 !important;
    padding:0 34px 0 18px !important;
    transform:translate(-8px, 2px) !important;
  }

  .lang-switch,
  .oh-mock-lang{
    display:flex !important;
    align-items:center !important;
    gap:4px !important;
    height:44px !important;
    min-height:44px !important;
    padding:4px !important;
    border:1px solid rgba(0,174,255,.68) !important;
    border-radius:10px !important;
    background:rgba(4,12,20,.94) !important;
    box-shadow:none !important;
    overflow:hidden !important;
    flex:0 0 auto !important;
  }

  .lang-switch button,
  .oh-mock-lang button{
    height:32px !important;
    min-width:37px !important;
    padding:0 10px !important;
    border:0 !important;
    border-radius:8px !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:900 !important;
    background:transparent !important;
  }

  .lang-switch button.active,
  .lang-switch button:hover,
  .oh-mock-lang button.active,
  .oh-mock-lang button:hover{
    background:linear-gradient(180deg,#ff8d24,#ff6900) !important;
    color:#fff !important;
    box-shadow:0 0 12px rgba(255,106,0,.34) !important;
  }

  .live-pill,
  .oh-mock-live{
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 17px !important;
    border:1px solid rgba(0,174,255,.72) !important;
    border-radius:10px !important;
    background:rgba(4,12,20,.94) !important;
    box-shadow:none !important;
    white-space:nowrap !important;
    font-size:13.5px !important;
    line-height:1 !important;
    flex:0 0 auto !important;
  }

  .live-pill b,
  .oh-mock-live b{font-size:14px !important;}

  .live-pill span.green,
  .oh-mock-live span{font-size:13.5px !important;font-weight:900 !important;}

  .cta,
  .oh-mock-cta{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    height:48px !important;
    min-height:48px !important;
    padding:0 22px !important;
    border-radius:10px !important;
    font-size:13.5px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    box-shadow:0 0 16px rgba(255,106,0,.28) !important;
    flex:0 0 auto !important;
  }

  .topnav + .hero,
  .oh-mock-header + .hero{margin-top:0 !important;}
}

@media (max-width:1300px) and (min-width:901px){
  .topnav,
  .oh-mock-frame{
    grid-template-columns:330px minmax(430px,1.1fr) minmax(410px,.9fr) !important;
    height:148px !important;
    min-height:148px !important;
    padding:0 24px !important;
    gap:8px !important;
  }

  .topnav .brand,
  .oh-mock-brand{
    width:340px !important;
    height:118px !important;
  }

  .navlinks,
  .oh-mock-nav{
    padding-left:20px !important;
  }

  .navlinks a,
  .oh-mock-nav a{
    padding:0 12px !important;
    font-size:13px !important;
  }

  .head-actions,
  .oh-mock-actions{
    min-width:350px !important;
    width:100% !important;
    min-width:0 !important;
    gap:10px !important;
    padding-right:10px !important;
    transform:translate(-6px, 2px) !important;
  }

  .live-pill,
  .oh-mock-live{padding:0 12px !important;}

  .cta,
  .oh-mock-cta{padding:0 16px !important;}
}


/* v30 shared size sync: same header and hero sizes across pages */
@media (min-width:901px){
  .topnav,
  .oh-mock-frame{
    height:156px !important;
    min-height:156px !important;
  }

  .hero{
    min-height:520px !important;
  }

  .hero-inner{
    min-height:520px !important;
    box-sizing:border-box !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 320px !important;
    gap:60px !important;
    align-items:center !important;
    padding:44px 54px 40px !important;
  }

  .stat-card{
    align-self:center !important;
    justify-self:end !important;
  }
}

@media (max-width:1100px){
  .hero{
    min-height:620px !important;
  }

  .hero-inner{
    min-height:620px !important;
  }
}

@media (max-width:800px){
  .topnav,
  .oh-mock-frame{
    height:auto !important;
    min-height:0 !important;
  }

  .hero{
    min-height:360px !important;
  }

  .hero-inner{
    min-height:360px !important;
    padding:24px !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
}


/* v30 hard lock: identical header and hero dimensions across pages */
@media (min-width:901px){
  body .page > header.topnav,
  body .site-shell > header.topnav,
  body .oh-mock-header .oh-mock-frame{
    height:156px !important;
    min-height:156px !important;
    max-height:156px !important;
  }

  body .page > section.hero,
  body .site-shell > section.hero,
  body .page .hero,
  body .site-shell .hero,
  body.home-index .hero,
  body.about-page .hero,
  body.contact-page .hero,
  body.news-page .hero,
  body .legal-hero{
    height:500px !important;
    min-height:500px !important;
    max-height:500px !important;
    overflow:hidden !important;
  }

  body .hero-inner,
  body .legal-hero-inner{
    height:500px !important;
    min-height:500px !important;
    max-height:500px !important;
    box-sizing:border-box !important;
    padding-top:42px !important;
    padding-bottom:40px !important;
  }

  body .hero-inner{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 320px !important;
    gap:60px !important;
    align-items:center !important;
    padding-left:54px !important;
    padding-right:54px !important;
  }

  body .legal-hero-inner{
    display:grid !important;
    grid-template-columns:1.2fr .8fr !important;
    gap:34px !important;
    align-items:center !important;
    padding-left:70px !important;
    padding-right:70px !important;
  }

  body .hero:before,
  body .legal-hero:before{
    transform:scale(1.02) !important;
  }
}

@media (max-width:1100px) and (min-width:801px){
  body .page > section.hero,
  body .site-shell > section.hero,
  body .page .hero,
  body .site-shell .hero,
  body.home-index .hero,
  body.about-page .hero,
  body.contact-page .hero,
  body.news-page .hero,
  body .legal-hero{
    height:560px !important;
    min-height:560px !important;
    max-height:560px !important;
  }

  body .hero-inner,
  body .legal-hero-inner{
    height:560px !important;
    min-height:560px !important;
    max-height:560px !important;
  }
}

@media (max-width:800px){
  body .page > header.topnav,
  body .site-shell > header.topnav,
  body .oh-mock-header .oh-mock-frame{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }

  body .page > section.hero,
  body .site-shell > section.hero,
  body .page .hero,
  body .site-shell .hero,
  body.home-index .hero,
  body.about-page .hero,
  body.contact-page .hero,
  body.news-page .hero,
  body .legal-hero{
    height:360px !important;
    min-height:360px !important;
    max-height:360px !important;
    overflow:hidden !important;
  }

  body .hero-inner,
  body .legal-hero-inner{
    height:360px !important;
    min-height:360px !important;
    max-height:360px !important;
    box-sizing:border-box !important;
    padding:24px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
}


/* v30 small corrections */
@media (min-width:901px){
  /* give the far-right CTA breathing room from the angled frame */
  body .head-actions,
  body .oh-mock-actions{
    padding-right:44px !important;
    transform:translate(-26px, 2px) !important;
    gap:14px !important;
  }

  /* keep all heroes the same size, but a touch taller so the home CTA row is fully visible */
  body .page > section.hero,
  body .site-shell > section.hero,
  body .page .hero,
  body .site-shell .hero,
  body.home-index .hero,
  body.about-page .hero,
  body.contact-page .hero,
  body.news-page .hero,
  body .legal-hero,
  body .hero-inner,
  body .legal-hero-inner{
    height:520px !important;
    min-height:520px !important;
    max-height:520px !important;
  }

  body.home-index .hero p{margin-bottom:22px !important;}
  body.home-index .features{gap:34px !important;}
  body.home-index .home-hero-actions{margin-top:16px !important;}
}

@media (max-width:1100px) and (min-width:801px){
  body .page > section.hero,
  body .site-shell > section.hero,
  body .page .hero,
  body .site-shell .hero,
  body.home-index .hero,
  body.about-page .hero,
  body.contact-page .hero,
  body.news-page .hero,
  body .legal-hero,
  body .hero-inner,
  body .legal-hero-inner{
    height:580px !important;
    min-height:580px !important;
    max-height:580px !important;
  }
}


/* v30 compact spacing */
body .page-shell,
body .news-list-page{
  padding-top:12px !important;
}

body .home-block{
  padding-top:0 !important;
  margin-top:22px !important;
}

body .sector-block{
  padding-top:8px !important;
  margin-top:22px !important;
}

body .jobs-preview,
body .live-jobs-list{
  padding-top:14px !important;
  margin-top:22px !important;
}

body .why-news-clean{
  padding-top:14px !important;
  margin-top:22px !important;
}

body .home-cta{
  margin-top:22px !important;
  margin-bottom:18px !important;
  padding-top:22px !important;
  padding-bottom:22px !important;
}

body .news-spotlight,
body .news-grid-section{
  padding-top:12px !important;
  padding-bottom:12px !important;
}

body .section-intro,
body .live-jobs-list .section-intro{
  margin-bottom:12px !important;
}

body .news-feature-head{
  padding-top:14px !important;
  padding-bottom:10px !important;
}

body .profile-section{
  margin-top:10px !important;
  padding-top:18px !important;
  padding-bottom:18px !important;
}

body .legal-wrap{
  padding-top:18px !important;
  padding-bottom:18px !important;
}

body .legal-card{
  padding-top:0 !important;
  padding-bottom:22px !important;
}

@media (max-width:800px){
  body .home-block,
  body .sector-block,
  body .jobs-preview,
  body .live-jobs-list,
  body .why-news-clean,
  body .home-cta{
    margin-top:16px !important;
  }

  body .page-shell,
  body .news-list-page,
  body .news-spotlight,
  body .news-grid-section,
  body .legal-wrap{
    padding-top:10px !important;
  }
}


/* v30 translate guard */
.brand.notranslate,
.oh-mock-brand.notranslate,
.brand-title.notranslate,
.tag.notranslate,
.brand-tagline.notranslate{
  unicode-bidi:isolate !important;
}


/* v30 translation fixes */
.brand.notranslate,
.oh-mock-brand.notranslate,
.brand-title.notranslate,
.tag.notranslate,
.brand-tagline.notranslate,
.lang-switch.notranslate,
.oh-mock-lang.notranslate{
  unicode-bidi:isolate !important;
}


/* v30 click translation fix */
.goog-te-banner-frame,
.goog-te-balloon-frame,
#goog-gt-tt,
.goog-tooltip,
.goog-tooltip:hover{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
body{top:0 !important;}


/* v30 language flags */
.lang-switch,
.oh-mock-lang{
  border:1px solid rgba(255,128,18,.90) !important;
  background:
    linear-gradient(180deg, rgba(255,122,0,.12), rgba(255,122,0,.05)),
    rgba(4,12,20,.96) !important;
  box-shadow:
    0 0 18px rgba(255,106,0,.16),
    inset 0 0 0 1px rgba(255,150,40,.10) !important;
}

.lang-switch button,
.oh-mock-lang button{
  min-width:42px !important;
  width:42px !important;
  padding:0 !important;
  border:1px solid transparent !important;
  background:rgba(255,106,0,.06) !important;
  box-shadow:none !important;
}

.lang-switch button .flag,
.oh-mock-lang button .flag{
  display:block !important;
  font-size:20px !important;
  line-height:1 !important;
  transform:translateY(1px) !important;
}

.lang-switch button:hover,
.oh-mock-lang button:hover{
  background:rgba(255,106,0,.18) !important;
  border-color:rgba(255,145,30,.45) !important;
  box-shadow:0 0 14px rgba(255,106,0,.18) !important;
}

.lang-switch button.active,
.lang-switch button.active:hover,
.oh-mock-lang button.active,
.oh-mock-lang button.active:hover{
  background:linear-gradient(180deg,#ff9a2f,#ff6a00) !important;
  border-color:rgba(255,184,95,.78) !important;
  box-shadow:
    0 0 15px rgba(255,106,0,.34),
    inset 0 1px 0 rgba(255,245,220,.28) !important;
}


/* v30 job row click fix */
.job-row{
  cursor:pointer !important;
  position:relative !important;
}

.job-row td,
.job-row th{
  pointer-events:auto !important;
}

/* Google Translate wraps words in extra font/span nodes. Let the row receive the click. */
.job-row td *:not(a):not(a *),
.job-row th *:not(a):not(a *){
  pointer-events:none !important;
}

.job-row a.bookmark,
.job-row a.bookmark *,
.job-row a[href],
.job-row a[href] *{
  pointer-events:auto !important;
}

/* Make sure Google Translate helper layers never steal clicks. */
#goog-gt-tt,
.goog-tooltip,
.goog-tooltip:hover,
.goog-te-balloon-frame,
.goog-te-menu-frame,
.goog-te-banner-frame,
iframe.skiptranslate,
.VIpgJd-ZVi9od-ORHb-OEVmcd,
.VIpgJd-ZVi9od-xl07Ob-OEVmcd,
.VIpgJd-yAWNEb-L7lbkb,
.VIpgJd-yAWNEb-L7lbkb *,
.VIpgJd-ZVi9od-aZ2wEe-OiiCO,
.VIpgJd-ZVi9od-aZ2wEe-OiiCO *{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  width:0 !important;
  height:0 !important;
  max-width:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
}


/* v30 real flag icons */
.lang-switch button,
.oh-mock-lang button{
  min-width:44px !important;
  width:44px !important;
  height:34px !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.lang-switch button .lang-flag,
.oh-mock-lang button .lang-flag,
.lang-switch button img.lang-flag,
.oh-mock-lang button img.lang-flag{
  display:block !important;
  width:25px !important;
  height:18px !important;
  object-fit:cover !important;
  border-radius:3px !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.28), 0 2px 8px rgba(0,0,0,.34) !important;
  pointer-events:none !important;
}

.lang-switch button.active .lang-flag,
.oh-mock-lang button.active .lang-flag{
  box-shadow:0 0 0 1px rgba(255,255,255,.45), 0 0 12px rgba(255,106,0,.45) !important;
}


/* v30 index job card modal */
.home-table .job-row{
  cursor:pointer !important;
  position:relative !important;
}

.home-table .job-row td *:not(a):not(a *),
.home-table .job-row th *:not(a):not(a *){
  pointer-events:none !important;
}

.home-table .job-row a.bookmark,
.home-table .job-row a.bookmark *{
  pointer-events:auto !important;
}

.home-job-modal{
  position:fixed;
  inset:0;
  z-index:10020;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.80);
  backdrop-filter:blur(10px);
}

.home-job-modal.show{
  display:flex;
}

.home-job-modal-card{
  width:min(880px,94vw);
  max-height:86vh;
  overflow:auto;
  border:1px solid rgba(255,106,0,.86);
  border-radius:18px;
  background:linear-gradient(180deg,#07192a,#020914);
  box-shadow:0 24px 90px rgba(0,0,0,.72),0 0 44px rgba(255,106,0,.18);
  padding:26px;
  color:#fff;
}

.home-job-modal-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:18px;
}

.home-job-modal-kicker{
  color:#ff7a18;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:950;
  font-size:12px;
  margin-bottom:8px;
}

.home-job-modal-title{
  font-size:34px;
  line-height:1.05;
  letter-spacing:-.035em;
  margin:0;
}

.home-job-modal-close{
  width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid rgba(255,106,0,.55);
  background:rgba(255,106,0,.10);
  color:#fff;
  font-size:24px;
  cursor:pointer;
}

.home-job-modal-grid{
  display:grid;
  grid-template-columns:1fr 270px;
  gap:18px;
}

.home-job-modal-box{
  border:1px solid rgba(0,137,216,.55);
  border-radius:13px;
  background:rgba(3,15,25,.78);
  padding:18px;
}

.home-job-modal-desc p{
  margin:0 0 12px;
  color:#dce8f5;
  line-height:1.55;
  font-weight:750;
}

.home-job-facts{
  display:grid;
  gap:10px;
}

.home-job-facts div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid rgba(85,117,148,.20);
  padding-bottom:9px;
  color:#c9d7e5;
  font-weight:800;
}

.home-job-facts div:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.home-job-facts b{
  color:#fff;
}

.home-job-modal-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}

.home-job-modal-actions .cta{
  text-decoration:none !important;
}

.home-job-modal-actions .ghost-btn{
  height:48px;
  padding:0 20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,106,0,.65);
  border-radius:10px;
  color:#fff;
  font-weight:950;
  text-decoration:none;
  background:rgba(255,106,0,.06);
}

@media(max-width:800px){
  .home-job-modal-grid{
    grid-template-columns:1fr;
  }
  .home-job-modal-title{
    font-size:26px;
  }
}


/* v30 index modal correction */
.home-table .job-row{
  cursor:pointer !important;
}
.home-table .job-row td *:not(a):not(a *),
.home-table .job-row th *:not(a):not(a *){
  pointer-events:none !important;
}
.home-table .job-row a.bookmark,
.home-table .job-row a.bookmark *{
  pointer-events:auto !important;
}




/* v48 header nav polish: truly center the link group between the separator lines */
@media (min-width:901px){
  .navlinks,
  .oh-mock-nav{
    position:relative !important;
    display:flex !important;
    width:max-content !important;
    max-width:none !important;
    margin:0 auto !important;
    justify-content:center !important;
    align-items:center !important;
    gap:0 !important;
    padding:0 26px !important;
  }

  .navlinks::before,
  .navlinks::after,
  .oh-mock-nav::before,
  .oh-mock-nav::after{
    content:'' !important;
    position:absolute !important;
    top:8px !important;
    bottom:8px !important;
    width:1px !important;
    background:rgba(120,146,172,.44) !important;
    box-shadow:0 0 10px rgba(0,174,255,.10) !important;
    display:block !important;
  }

  .navlinks::before,
  .oh-mock-nav::before{ left:0 !important; }
  .navlinks::after,
  .oh-mock-nav::after{ right:0 !important; }

  .navlinks a,
  .oh-mock-nav a{
    flex:0 0 auto !important;
    min-width:116px !important;
    padding:0 22px !important;
    text-align:center !important;
    justify-content:center !important;
  }
}

@media (max-width:1300px) and (min-width:901px){
  .navlinks,
  .oh-mock-nav{
    padding:0 22px !important;
  }

  .navlinks a,
  .oh-mock-nav a{
    min-width:98px !important;
    padding:0 14px !important;
  }
}



/* v49 mobile polish: compact header, usable nav/actions, tighter content */
@media (max-width:900px){
  html,body{
    overflow-x:hidden !important;
  }

  .page,
  .site-shell{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-radius:0 !important;
  }

  .topnav,
  .oh-mock-frame{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding:16px 14px 14px !important;
    overflow:visible !important;
    background:#02070d !important;
    border-bottom:1px solid rgba(255,106,0,.76) !important;
  }

  .oh-header-frame-img{
    display:none !important;
  }

  .topnav .brand,
  .oh-mock-brand{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    height:auto !important;
    padding:0 !important;
    margin:0 !important;
    overflow:visible !important;
    pointer-events:auto !important;
  }

  .topnav .brand > *,
  .oh-mock-brand > *{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .topnav .brand img,
  .oh-mock-brand img{
    width:76px !important;
    height:auto !important;
    object-fit:contain !important;
    filter:drop-shadow(0 0 12px rgba(0,174,255,.18)) !important;
  }

  .topnav .brand > div,
  .oh-mock-brand .brand-tagline{
    display:none !important;
  }

  .navlinks,
  .oh-mock-nav{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:6px !important;
    display:grid !important;
    grid-template-columns:repeat(5,1fr) !important;
    gap:4px !important;
    height:auto !important;
    min-height:0 !important;
    border:1px solid rgba(0,174,255,.42) !important;
    border-radius:14px !important;
    background:rgba(3,13,23,.86) !important;
    transform:none !important;
  }

  .navlinks::before,
  .navlinks::after,
  .oh-mock-nav::before,
  .oh-mock-nav::after{
    display:none !important;
    content:none !important;
  }

  .navlinks a,
  .oh-mock-nav a{
    min-width:0 !important;
    width:100% !important;
    height:44px !important;
    padding:0 6px !important;
    border-right:0 !important;
    border-radius:10px !important;
    font-size:11px !important;
    gap:5px !important;
    line-height:1 !important;
    background:transparent !important;
  }

  .navlinks a svg,
  .oh-mock-nav a svg{
    width:15px !important;
    height:15px !important;
  }

  .navlinks a.active,
  .navlinks a:hover,
  .oh-mock-nav a.active,
  .oh-mock-nav a:hover{
    background:rgba(255,106,0,.14) !important;
  }

  .navlinks a.active:after,
  .navlinks a:hover:after,
  .oh-mock-nav a.active:after,
  .oh-mock-nav a:hover:after{
    bottom:-4px !important;
    width:32px !important;
    height:2px !important;
  }

  .head-actions,
  .oh-mock-actions{
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:auto 1fr auto !important;
    gap:8px !important;
    padding:0 !important;
    transform:none !important;
  }

  .lang-switch,
  .oh-mock-lang{
    height:38px !important;
    min-height:38px !important;
    padding:3px !important;
    border-radius:11px !important;
  }

  .lang-switch button,
  .oh-mock-lang button{
    width:38px !important;
    min-width:38px !important;
    height:30px !important;
  }

  .lang-switch button img.lang-flag,
  .oh-mock-lang button img.lang-flag{
    width:23px !important;
    height:16px !important;
  }

  .live-pill,
  .oh-mock-live{
    height:38px !important;
    min-height:38px !important;
    justify-content:center !important;
    padding:0 10px !important;
    font-size:11px !important;
    border-radius:11px !important;
  }

  .live-pill b,
  .oh-mock-live b,
  .live-pill span.green,
  .oh-mock-live span{
    font-size:11px !important;
  }

  .cta,
  .oh-mock-cta{
    height:38px !important;
    min-height:38px !important;
    padding:0 12px !important;
    font-size:11px !important;
    border-radius:11px !important;
  }

  .hero,
  body .hero,
  body.home-index .hero,
  body.about-page .hero,
  body.contact-page .hero,
  body.news-page .hero,
  body .legal-hero{
    height:auto !important;
    min-height:520px !important;
    max-height:none !important;
  }

  .hero-inner,
  body .hero-inner,
  body .legal-hero-inner{
    height:auto !important;
    min-height:520px !important;
    max-height:none !important;
    padding:34px 20px 30px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:22px !important;
    align-items:start !important;
  }

  .hero h1,
  body.home-index .hero h1{
    font-size:clamp(42px,13vw,58px) !important;
    line-height:.96 !important;
    letter-spacing:-1.6px !important;
  }

  .hero p{
    font-size:15px !important;
    max-width:100% !important;
  }

  .features{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .feat{
    align-items:center !important;
  }

  .stat-card{
    width:100% !important;
    justify-self:stretch !important;
    padding:18px !important;
  }

  .metrics{
    grid-template-columns:1fr 1fr !important;
  }

  .metric{
    padding:14px 12px !important;
  }

  .oh-news-main,
  body.home-index .oh-news-main,
  .oh-news-row,
  body.home-index .oh-news-row{
    grid-template-columns:1fr !important;
  }

  .oh-news-side,
  body.home-index .oh-news-side{
    grid-template-columns:1fr !important;
  }

  .sector-grid,
  .news-grid,
  .why-grid,
  .side,
  .profile-grid,
  .contact-grid,
  .about-grid{
    grid-template-columns:1fr !important;
  }

  .home-cta{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    text-align:left !important;
    padding:22px 18px !important;
  }

  .home-cta .cta{
    width:100% !important;
  }

  .table-wrap{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .table{
    min-width:820px !important;
  }

  .footer{
    grid-template-columns:1fr !important;
    gap:22px !important;
    padding:26px 20px 24px !important;
  }

  .footer .brand{
    justify-content:flex-start !important;
  }

  .footer .mailrow{
    grid-template-columns:1fr auto !important;
  }

  .oh-footer-credit{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    text-align:left !important;
    padding:12px 18px !important;
  }

  .oh-footer-credit > span{
    justify-self:start !important;
    white-space:normal !important;
  }
}

@media (max-width:520px){
  .navlinks,
  .oh-mock-nav{
    grid-template-columns:repeat(3,1fr) !important;
  }

  .navlinks a,
  .oh-mock-nav a{
    height:42px !important;
    font-size:10.5px !important;
  }

  .head-actions,
  .oh-mock-actions{
    grid-template-columns:1fr 1fr !important;
  }

  .lang-switch,
  .oh-mock-lang{
    grid-column:1 / 2 !important;
    justify-self:stretch !important;
    justify-content:center !important;
  }

  .live-pill,
  .oh-mock-live{
    grid-column:2 / 3 !important;
  }

  .cta,
  .oh-mock-cta{
    grid-column:1 / -1 !important;
    width:100% !important;
  }

  .hero,
  body .hero,
  body.home-index .hero,
  body.about-page .hero,
  body.contact-page .hero,
  body.news-page .hero,
  body .legal-hero{
    min-height:560px !important;
  }

  .hero-inner,
  body .hero-inner,
  body .legal-hero-inner{
    min-height:560px !important;
    padding:30px 18px 28px !important;
  }

  .hero h1,
  body.home-index .hero h1{
    font-size:clamp(38px,14vw,50px) !important;
  }

  .metrics{
    grid-template-columns:1fr !important;
  }

  .oh-news-lead,
  body.home-index .oh-news-lead{
    min-height:360px !important;
  }
}




/* v57: narrower desktop page frame to make room for side ads */
@media (min-width: 1400px){
  body .page,
  body .site-shell,
  body.home-index .page{
    width:min(1440px, calc(100vw - 300px)) !important;
    max-width:1440px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (min-width: 1700px){
  body .page,
  body .site-shell,
  body.home-index .page{
    width:min(1500px, calc(100vw - 360px)) !important;
    max-width:1500px !important;
  }
}

@media (min-width: 2100px){
  body .page,
  body .site-shell,
  body.home-index .page{
    width:min(1560px, calc(100vw - 460px)) !important;
    max-width:1560px !important;
  }
}

/* reserved visual ad lanes for future side ads without showing fake ads now */
@media (min-width: 1400px){
  body:before,
  body:after{
    content:"" !important;
    position:fixed !important;
    top:118px !important;
    bottom:28px !important;
    width:1px !important;
    pointer-events:none !important;
    opacity:.22 !important;
    background:linear-gradient(180deg, transparent, rgba(0,137,216,.45), rgba(255,106,0,.24), transparent) !important;
    z-index:0 !important;
  }

  body:before{
    left:max(18px, calc((100vw - 1500px) / 2 - 34px)) !important;
  }

  body:after{
    right:max(18px, calc((100vw - 1500px) / 2 - 34px)) !important;
  }
}

/* v61: lock all desktop menu dividers to one vertical centerline */
@media (min-width:901px){
  .topnav .navlinks,
  .oh-mock-nav{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:72px !important;
    min-height:72px !important;
    line-height:1 !important;
    overflow:visible !important;
  }

  .topnav .navlinks::before,
  .topnav .navlinks::after,
  .oh-mock-nav::before,
  .oh-mock-nav::after{
    top:50% !important;
    bottom:auto !important;
    height:54px !important;
    transform:translateY(-50%) !important;
  }

  .topnav .navlinks a,
  .oh-mock-nav a{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:56px !important;
    min-height:56px !important;
    line-height:1 !important;
    box-sizing:border-box !important;
    border-right:0 !important;
    transform:none !important;
  }

  .topnav .navlinks a + a::before,
  .oh-mock-nav a + a::before{
    content:none !important;
    display:none !important;
  }

  .topnav .navlinks a:not(:last-child)::before,
  .oh-mock-nav a:not(:last-child)::before{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    right:0 !important;
    left:auto !important;
    top:50% !important;
    bottom:auto !important;
    width:1px !important;
    height:34px !important;
    transform:translateY(-50%) !important;
    background:rgba(120,146,172,.44) !important;
    box-shadow:0 0 10px rgba(0,174,255,.12) !important;
    opacity:1 !important;
    pointer-events:none !important;
  }

  .topnav .navlinks a svg,
  .oh-mock-nav a svg,
  .topnav .navlinks a span,
  .oh-mock-nav a span{
    align-self:center !important;
  }

  .topnav .navlinks a.active::after,
  .topnav .navlinks a:hover::after,
  .oh-mock-nav a.active::after,
  .oh-mock-nav a:hover::after{
    top:auto !important;
    bottom:-4px !important;
    transform:translateX(-50%) !important;
  }
}

@media (min-width:901px) and (max-width:1400px){
  .topnav .navlinks a:not(:last-child)::before,
  .oh-mock-nav a:not(:last-child)::before{
    height:32px !important;
  }
}

/* v63: attach menu divider lines to the link edges, not the wide nav area */
@media (min-width:901px){
  .topnav .navlinks,
  .oh-mock-nav{
    position:relative !important;
    display:inline-flex !important;
    flex:0 0 auto !important;
    width:max-content !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 auto !important;
    justify-self:center !important;
    align-self:center !important;
    padding:0 !important;
    gap:0 !important;
    justify-content:center !important;
    align-items:center !important;
    height:72px !important;
    min-height:72px !important;
    overflow:visible !important;
  }

  /* Kill the old outer left line. It was sitting on the stretched nav wrapper. */
  .topnav .navlinks::before,
  .oh-mock-nav::before{
    content:none !important;
    display:none !important;
  }

  /* Right edge line sits directly after the last link. */
  .topnav .navlinks::after,
  .oh-mock-nav::after{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    left:auto !important;
    right:0 !important;
    top:50% !important;
    bottom:auto !important;
    width:1px !important;
    height:34px !important;
    transform:translateY(-50%) !important;
    background:rgba(120,146,172,.44) !important;
    box-shadow:0 0 10px rgba(0,174,255,.12) !important;
    opacity:1 !important;
    pointer-events:none !important;
  }

  .topnav .navlinks a,
  .oh-mock-nav a{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 auto !important;
    width:auto !important;
    min-width:0 !important;
    height:56px !important;
    min-height:56px !important;
    padding:0 18px !important;
    margin:0 !important;
    line-height:1 !important;
    box-sizing:border-box !important;
    border-right:0 !important;
    transform:none !important;
  }

  /* Left edge on every link = line before first link + separators between links. */
  .topnav .navlinks a::before,
  .topnav .navlinks a + a::before,
  .topnav .navlinks a:not(:last-child)::before,
  .oh-mock-nav a::before,
  .oh-mock-nav a + a::before,
  .oh-mock-nav a:not(:last-child)::before{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    left:0 !important;
    right:auto !important;
    top:50% !important;
    bottom:auto !important;
    width:1px !important;
    height:34px !important;
    transform:translateY(-50%) !important;
    background:rgba(120,146,172,.44) !important;
    box-shadow:0 0 10px rgba(0,174,255,.12) !important;
    opacity:1 !important;
    pointer-events:none !important;
  }

  .topnav .navlinks a.active::after,
  .topnav .navlinks a:hover::after,
  .oh-mock-nav a.active::after,
  .oh-mock-nav a:hover::after{
    top:auto !important;
    bottom:-4px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
  }
}

@media (min-width:901px) and (max-width:1400px){
  .topnav .navlinks a,
  .oh-mock-nav a{
    padding:0 15px !important;
  }
}


/* v63 fallback: pages now use the same oh-mock header/nav markup as index. */
@media (min-width:901px){
  header.oh-mock-header .oh-mock-nav{position:relative!important;display:inline-flex!important;width:max-content!important;margin:0 auto!important;padding:0!important;gap:0!important;align-items:center!important;justify-content:center!important;height:72px!important;min-height:72px!important;overflow:visible!important;}
  header.oh-mock-header .oh-mock-nav:before{content:none!important;display:none!important;}
  header.oh-mock-header .oh-mock-nav:after{content:""!important;position:absolute!important;right:0!important;top:50%!important;transform:translateY(-50%)!important;width:1px!important;height:34px!important;background:rgba(120,146,172,.44)!important;box-shadow:0 0 10px rgba(0,174,255,.12)!important;}
  header.oh-mock-header .oh-mock-nav a{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;height:56px!important;min-height:56px!important;padding:0 18px!important;border:0!important;line-height:1!important;box-sizing:border-box!important;}
  header.oh-mock-header .oh-mock-nav a:before{content:""!important;position:absolute!important;left:0!important;top:50%!important;transform:translateY(-50%)!important;width:1px!important;height:34px!important;background:rgba(120,146,172,.44)!important;box-shadow:0 0 10px rgba(0,174,255,.12)!important;}
}


/* v65: keep header action buttons inside the right frame edge */
@media (min-width:901px){
  body header.oh-mock-header .oh-mock-frame,
  body header.topnav,
  body .topnav,
  body .oh-mock-frame{
    box-sizing:border-box !important;
    grid-template-columns:clamp(320px,24vw,405px) minmax(390px,1fr) max-content !important;
    column-gap:clamp(8px,1vw,14px) !important;
    padding-left:clamp(24px,2.1vw,38px) !important;
    padding-right:clamp(24px,2.1vw,38px) !important;
  }

  body header.oh-mock-header .oh-mock-brand,
  body .topnav .brand,
  body .oh-mock-brand{
    width:clamp(320px,24vw,405px) !important;
    max-width:405px !important;
  }

  body header.oh-mock-header .oh-mock-nav,
  body .topnav .navlinks,
  body .oh-mock-nav{
    justify-self:center !important;
    align-self:center !important;
    width:max-content !important;
    max-width:100% !important;
  }

  body header.oh-mock-header .oh-mock-nav a,
  body .topnav .navlinks a,
  body .oh-mock-nav a{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  body header.oh-mock-header .oh-mock-actions,
  body .head-actions,
  body .oh-mock-actions{
    justify-self:end !important;
    align-self:center !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    width:auto !important;
    max-width:max-content !important;
    min-width:0 !important;
    gap:10px !important;
    padding:0 !important;
    margin:0 !important;
    transform:translate(-42px,2px) !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  body header.oh-mock-header .oh-mock-lang,
  body header.oh-mock-header .oh-mock-live,
  body header.oh-mock-header .oh-mock-cta,
  body .head-actions .lang-switch,
  body .head-actions .live-pill,
  body .head-actions .cta,
  body .oh-mock-actions .oh-mock-lang,
  body .oh-mock-actions .oh-mock-live,
  body .oh-mock-actions .oh-mock-cta{
    flex:0 0 auto !important;
  }

  body header.oh-mock-header .oh-mock-live,
  body .head-actions .live-pill,
  body .oh-mock-actions .oh-mock-live{
    padding-left:15px !important;
    padding-right:15px !important;
  }

  body header.oh-mock-header .oh-mock-cta,
  body .head-actions .cta,
  body .oh-mock-actions .oh-mock-cta{
    min-width:116px !important;
    padding-left:20px !important;
    padding-right:20px !important;
    box-sizing:border-box !important;
  }
}

@media (min-width:901px) and (max-width:1650px){
  body header.oh-mock-header .oh-mock-frame,
  body header.topnav,
  body .topnav,
  body .oh-mock-frame{
    grid-template-columns:clamp(300px,22vw,355px) minmax(365px,1fr) max-content !important;
    column-gap:8px !important;
  }

  body header.oh-mock-header .oh-mock-brand,
  body .topnav .brand,
  body .oh-mock-brand{
    width:clamp(300px,22vw,355px) !important;
  }

  body header.oh-mock-header .oh-mock-nav a,
  body .topnav .navlinks a,
  body .oh-mock-nav a{
    padding-left:13px !important;
    padding-right:13px !important;
    font-size:13px !important;
  }

  body header.oh-mock-header .oh-mock-actions,
  body .head-actions,
  body .oh-mock-actions{
    gap:8px !important;
    transform:translate(-58px,2px) !important;
  }

  body header.oh-mock-header .oh-mock-live,
  body .head-actions .live-pill,
  body .oh-mock-actions .oh-mock-live{
    padding-left:13px !important;
    padding-right:13px !important;
  }

  body header.oh-mock-header .oh-mock-cta,
  body .head-actions .cta,
  body .oh-mock-actions .oh-mock-cta{
    min-width:108px !important;
    padding-left:17px !important;
    padding-right:17px !important;
    font-size:12.5px !important;
  }
}

@media (min-width:901px) and (max-width:1320px){
  body header.oh-mock-header .oh-mock-frame,
  body header.topnav,
  body .topnav,
  body .oh-mock-frame{
    grid-template-columns:280px minmax(330px,1fr) max-content !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }

  body header.oh-mock-header .oh-mock-brand,
  body .topnav .brand,
  body .oh-mock-brand{
    width:280px !important;
  }

  body header.oh-mock-header .oh-mock-nav a,
  body .topnav .navlinks a,
  body .oh-mock-nav a{
    padding-left:10px !important;
    padding-right:10px !important;
    font-size:12px !important;
  }

  body header.oh-mock-header .oh-mock-actions,
  body .head-actions,
  body .oh-mock-actions{
    gap:6px !important;
    transform:translate(-34px,2px) !important;
  }

  body header.oh-mock-header .oh-mock-live,
  body .head-actions .live-pill,
  body .oh-mock-actions .oh-mock-live{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  body header.oh-mock-header .oh-mock-cta,
  body .head-actions .cta,
  body .oh-mock-actions .oh-mock-cta{
    min-width:100px !important;
    padding-left:13px !important;
    padding-right:13px !important;
    font-size:12px !important;
  }
}


/* v65: give the navigation more air before the NO/EN language box without moving the CTA out of the frame */
@media (min-width:901px){
  body header.oh-mock-header .oh-mock-nav,
  body .topnav .navlinks,
  body .oh-mock-nav{
    transform:translateX(-22px) !important;
  }
}

@media (min-width:901px) and (max-width:1650px){
  body header.oh-mock-header .oh-mock-nav,
  body .topnav .navlinks,
  body .oh-mock-nav{
    transform:translateX(-24px) !important;
  }
}

@media (min-width:901px) and (max-width:1320px){
  body header.oh-mock-header .oh-mock-nav,
  body .topnav .navlinks,
  body .oh-mock-nav{
    transform:translateX(-12px) !important;
  }
}
