/* Offshore Hub Desktop Completion v7
   Header / footer / job-detail finishing pass.
   Mobile intentionally untouched.
*/
@media (min-width: 901px){
  :root{
    --oh-v7-line: rgba(82,160,220,.22);
    --oh-v7-line-strong: rgba(82,160,220,.34);
    --oh-v7-orange: #ff7a1a;
    --oh-v7-panel: rgba(4,17,29,.82);
  }

  /* Header: keep the big technical frame, but remove the extra boxed feeling inside it. */
  body .oh-mock-header{
    padding-top:18px!important;
    padding-bottom:18px!important;
  }
  body .oh-mock-frame{
    min-height:122px!important;
    height:122px!important;
    align-items:center!important;
  }
  body .oh-mock-brand{
    transform:scale(.94)!important;
    transform-origin:left center!important;
  }
  body .oh-mock-nav{
    height:54px!important;
    min-height:54px!important;
    padding:0 6px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    outline:0!important;
    border-radius:0!important;
  }
  body .oh-mock-nav:before,
  body .oh-mock-nav:after{
    display:none!important;
  }
  body .oh-mock-nav a{
    height:44px!important;
    min-height:44px!important;
    padding:0 14px!important;
    border-radius:10px!important;
    border-right:1px solid rgba(130,170,205,.20)!important;
  }
  body .oh-mock-nav a:last-child{border-right:0!important}
  body .oh-mock-nav a.active{
    background:linear-gradient(180deg,rgba(255,122,26,.18),rgba(255,122,26,.08))!important;
    box-shadow:inset 0 -2px 0 rgba(255,122,26,.72),0 10px 24px rgba(0,0,0,.22)!important;
  }
  body .oh-mock-nav a.active:after{
    bottom:-6px!important;
    height:2px!important;
    opacity:.72!important;
  }
  body .oh-mock-actions{
    gap:10px!important;
  }
  body .oh-mock-lang,
  body .oh-mock-live,
  body .oh-mock-cta{
    height:38px!important;
    min-height:38px!important;
  }
  body .oh-mock-live{
    padding:0 13px!important;
  }
  body .oh-mock-live b,
  body .oh-mock-live span{
    font-size:12px!important;
  }
  body .oh-mock-cta{
    padding:0 16px!important;
    font-size:12px!important;
  }

  /* Job modal: make it read like a role profile, not a giant floating wall. */
  body.jobs-page .job-modal{
    align-items:center!important;
    padding:30px!important;
    background:rgba(0,0,0,.82)!important;
    backdrop-filter:blur(10px) saturate(118%)!important;
  }
  body.jobs-page .job-modal-card{
    width:min(1180px,91vw)!important;
    max-height:86vh!important;
    overflow:hidden!important;
    border-radius:18px!important;
    border:1px solid rgba(255,122,26,.64)!important;
    background:linear-gradient(180deg,rgba(6,25,41,.98),rgba(2,10,18,.99))!important;
    box-shadow:0 30px 100px rgba(0,0,0,.78),0 0 46px rgba(255,122,26,.16)!important;
    padding:0!important;
  }
  body.jobs-page .profile-modal-inner{
    display:flex!important;
    flex-direction:column!important;
    max-height:86vh!important;
    padding:22px 24px 18px!important;
  }
  body.jobs-page .profile-modal-head{
    flex:0 0 auto!important;
    padding-bottom:15px!important;
    margin-bottom:16px!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
  }
  body.jobs-page .profile-kicker{
    margin-bottom:8px!important;
  }
  body.jobs-page .profile-title{
    font-size:clamp(30px,2.25vw,42px)!important;
    line-height:1.02!important;
    letter-spacing:-.055em!important;
    max-width:780px!important;
  }
  body.jobs-page .profile-badges{
    gap:8px!important;
    margin-top:10px!important;
  }
  body.jobs-page .profile-badges span{
    min-height:26px!important;
    padding:5px 9px!important;
    border-radius:9px!important;
    font-size:12px!important;
  }
  body.jobs-page .profile-top-actions{
    gap:8px!important;
  }
  body.jobs-page .profile-top-actions .save-job-btn,
  body.jobs-page .job-modal-close{
    height:38px!important;
    min-height:38px!important;
    border-radius:10px!important;
    font-size:12px!important;
  }
  body.jobs-page .job-modal-close{
    width:38px!important;
  }
  body.jobs-page .profile-layout{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:calc(86vh - 172px)!important;
    overflow:auto!important;
    padding-right:7px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 318px!important;
    gap:16px!important;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,122,26,.75) rgba(255,255,255,.05);
  }
  body.jobs-page .profile-layout::-webkit-scrollbar{width:8px!important}
  body.jobs-page .profile-layout::-webkit-scrollbar-track{background:rgba(255,255,255,.05)!important;border-radius:20px!important}
  body.jobs-page .profile-layout::-webkit-scrollbar-thumb{background:rgba(255,122,26,.72)!important;border-radius:20px!important}
  body.jobs-page .profile-info-grid{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    border-radius:15px!important;
  }
  body.jobs-page .profile-info-item{
    padding:16px!important;
    min-width:0!important;
  }
  body.jobs-page .profile-label{
    font-size:10px!important;
    letter-spacing:.11em!important;
  }
  body.jobs-page .profile-main-val{
    font-size:15px!important;
    line-height:1.18!important;
    overflow-wrap:break-word!important;
  }
  body.jobs-page .profile-sub-val{
    font-size:11px!important;
  }
  body.jobs-page .profile-logo{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    font-size:16px!important;
    margin-right:10px!important;
  }
  body.jobs-page .profile-panel{
    border-color:rgba(82,160,220,.20)!important;
    background:linear-gradient(180deg,rgba(6,24,39,.70),rgba(3,13,23,.82))!important;
    box-shadow:0 12px 28px rgba(0,0,0,.18)!important;
  }
  body.jobs-page .profile-section{
    padding:18px 20px!important;
  }
  body.jobs-page .profile-section h3,
  body.jobs-page .job-sidebar h3{
    font-size:15px!important;
    letter-spacing:-.02em!important;
    margin-bottom:12px!important;
  }
  body.jobs-page .profile-desc{
    font-size:15px!important;
    line-height:1.62!important;
    color:#e4eef8!important;
  }
  body.jobs-page .profile-list-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px 14px!important;
  }
  body.jobs-page .profile-list-grid div{
    font-size:13px!important;
    line-height:1.35!important;
  }
  body.jobs-page .job-sidebar{
    gap:14px!important;
  }
  body.jobs-page .job-sidebar .side-card{
    padding:17px!important;
    border-radius:15px!important;
  }
  body.jobs-page .employer-mini{
    gap:10px!important;
  }
  body.jobs-page .employer-mini p,
  body.jobs-page .job-sidebar p{
    font-size:12px!important;
    line-height:1.45!important;
  }
  body.jobs-page .quick-row{
    padding:9px 0!important;
    gap:12px!important;
    font-size:12px!important;
  }
  body.jobs-page .share-grid{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  body.jobs-page .share-grid button,
  body.jobs-page .copy-wide{
    min-height:34px!important;
    padding:8px 9px!important;
    font-size:11px!important;
    border-radius:9px!important;
  }
  body.jobs-page .profile-actions{
    flex:0 0 auto!important;
    position:relative!important;
    bottom:auto!important;
    margin:14px -2px 0!important;
    padding:14px 0 0!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    background:transparent!important;
    gap:10px!important;
  }
  body.jobs-page .profile-actions a,
  body.jobs-page .profile-actions button{
    min-height:38px!important;
    padding:0 16px!important;
    border-radius:10px!important;
    font-size:12px!important;
  }
  body.jobs-page .profile-actions .primary{
    min-width:190px!important;
  }

  /* Footer: calmer portal footer with clearer columns and less empty height. */
  body .footer{
    padding:28px 30px 26px!important;
    grid-template-columns:minmax(260px,1.35fr) .7fr .78fr minmax(260px,1fr)!important;
    gap:32px!important;
    border-top:1px solid rgba(82,160,220,.24)!important;
    background:linear-gradient(180deg,rgba(3,15,25,.92),rgba(1,8,14,.98))!important;
  }
  body .footer .brand img{
    width:50px!important;
    max-height:50px!important;
  }
  body .footer .brand-title{
    font-size:20px!important;
    letter-spacing:-.02em!important;
  }
  body .footer .tag{
    font-size:10px!important;
    padding:4px 9px!important;
  }
  body .footer p{
    max-width:430px!important;
    margin-top:12px!important;
    font-size:12px!important;
    line-height:1.55!important;
    color:#bfd0df!important;
  }
  body .footer h4{
    margin-bottom:12px!important;
    font-size:12px!important;
    letter-spacing:.10em!important;
  }
  body .footer a{
    margin:7px 0!important;
    font-size:12px!important;
  }
  body .footer .mailrow{
    gap:8px!important;
  }
  body .footer .mailrow input{
    height:40px!important;
    min-height:40px!important;
    border-radius:10px!important;
  }
  body .footer .mailrow button{
    width:42px!important;
    min-width:42px!important;
    height:40px!important;
    border-radius:10px!important;
  }
  body .bottom,
  body .bottom.oh-footer-credit{
    min-height:44px!important;
    padding:0 24px!important;
    background:rgba(1,8,14,.98)!important;
    border-top:1px solid rgba(82,160,220,.18)!important;
  }
  body .bottom span{
    font-size:12px!important;
  }
}

@media (min-width:901px) and (max-width:1320px){
  body.jobs-page .profile-layout{
    grid-template-columns:1fr!important;
  }
  body.jobs-page .job-sidebar{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  body.jobs-page .profile-info-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  body .footer{
    grid-template-columns:1.2fr 1fr 1fr!important;
  }
}
