/* Offshore Hub Frontend Polish v2
   Scope: desktop card/section/layout refinement after button cleanup. */
:root{
  --oh-v2-bg:#020a12;
  --oh-v2-panel:rgba(7,23,38,.88);
  --oh-v2-panel-2:rgba(4,16,28,.94);
  --oh-v2-line:rgba(94,164,219,.28);
  --oh-v2-line-strong:rgba(94,164,219,.42);
  --oh-v2-orange:#ff7a1a;
  --oh-v2-orange-soft:rgba(255,106,0,.18);
  --oh-v2-muted:#a9bdcf;
  --oh-v2-text:#f6fbff;
  --oh-v2-shadow:0 18px 48px rgba(0,0,0,.25);
  --oh-v2-wrap:1540px;
}

@media (min-width:901px){
  html{background:#01060b!important;}
  body{
    background:
      radial-gradient(circle at 92% -10%,rgba(255,106,0,.12),transparent 30%),
      radial-gradient(circle at 8% 18%,rgba(0,123,210,.14),transparent 34%),
      linear-gradient(180deg,#02070d 0%,#03111e 46%,#02070d 100%)!important;
  }

  .page{
    background:linear-gradient(180deg,rgba(2,11,20,.98),rgba(2,9,17,.995))!important;
    box-shadow:0 28px 90px rgba(0,0,0,.46),0 0 0 1px rgba(81,154,214,.16) inset!important;
  }

  .hero{border-bottom:1px solid rgba(96,165,219,.25)!important;}
  .hero-inner{
    max-width:var(--oh-v2-wrap)!important;
    padding-top:58px!important;
    padding-bottom:50px!important;
    gap:34px!important;
  }
  .hero h1{letter-spacing:-.055em!important;}
  .hero p{max-width:720px!important;color:#d4e2ef!important;font-weight:600!important;}
  .hero .features,.features{gap:10px!important;}
  .feat{
    border:1px solid var(--oh-v2-line)!important;
    background:linear-gradient(180deg,rgba(8,27,44,.72),rgba(3,13,23,.72))!important;
    box-shadow:none!important;
  }
  .feat .ic,.ic,.ico,.micon{
    border-color:rgba(255,122,26,.46)!important;
    background:rgba(255,106,0,.07)!important;
    color:#ffd0ad!important;
    box-shadow:none!important;
  }

  .stat-card{
    border-color:rgba(94,164,219,.34)!important;
    border-top-color:rgba(255,122,26,.40)!important;
    background:linear-gradient(180deg,rgba(8,27,44,.82),rgba(3,13,23,.78))!important;
    box-shadow:var(--oh-v2-shadow)!important;
  }
  .stat-card .live{color:#ffd2b0!important;}
  .stat-grid strong{font-size:32px!important;}

  .metrics{
    max-width:var(--oh-v2-wrap)!important;
    margin:0 auto 22px!important;
    border:0!important;
    border-bottom:1px solid rgba(94,164,219,.20)!important;
    background:rgba(3,13,23,.74)!important;
  }
  .metric{
    min-height:64px!important;
    padding:12px 18px!important;
    border-color:rgba(94,164,219,.16)!important;
  }
  .metric small{color:#9fb3c5!important;}
  .metric strong{font-size:23px!important;}
  .micon{width:32px!important;height:32px!important;border-radius:10px!important;font-size:15px!important;}

  .home-block,
  .section,
  .main,
  .article-shell,
  .news-toolbar-section{
    max-width:var(--oh-v2-wrap)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .home-block,.section{
    padding-left:34px!important;
    padding-right:34px!important;
    margin-top:24px!important;
    margin-bottom:24px!important;
  }
  .section-intro,
  .box-head,
  .panel-head,
  .read-next-head,
  .news-toolbar-head{
    border-color:rgba(94,164,219,.18)!important;
  }
  .section-intro h2,
  .box-title,
  .panel-title,
  .news-toolbar h2,
  .read-next-head h2{
    letter-spacing:-.04em!important;
  }
  .eyebrow{color:#ff9850!important;letter-spacing:.115em!important;}

  .box,
  .panel,
  .side-panel,
  .feature-card,
  .sector-card,
  .story-card,
  .read-next-card,
  .oh-news-mini,
  .oh-news-lead,
  .oh-news-side-card,
  .news-toolbar,
  .filters,
  .jobs-table,
  .profile-panel,
  .article-card{
    border-color:var(--oh-v2-line)!important;
    background:linear-gradient(180deg,var(--oh-v2-panel),var(--oh-v2-panel-2))!important;
    box-shadow:0 14px 38px rgba(0,0,0,.22)!important;
  }
  .box:hover,
  .feature-card:hover,
  .sector-card:hover,
  .story-card:hover,
  .read-next-card:hover,
  .oh-news-mini:hover,
  .oh-news-lead:hover,
  .oh-news-side-card:hover{
    border-color:rgba(255,122,26,.45)!important;
    box-shadow:0 20px 48px rgba(0,0,0,.28)!important;
  }

  .box-title{font-size:clamp(20px,1.4vw,26px)!important;line-height:1.05!important;}
  .box-title span,.panel-title span{color:#ff9850!important;}
  .orange-link{color:#ff9850!important;text-decoration:none!important;}
  .orange-link:hover{color:#ffc39c!important;}

  /* Header/menu polish without resizing the whole header again */
  .oh-mock-nav a{
    border-radius:12px!important;
    border-color:rgba(94,164,219,.18)!important;
    background:rgba(2,12,21,.26)!important;
    box-shadow:none!important;
  }
  .oh-mock-nav a:hover,
  .oh-mock-nav a.active{
    border-color:rgba(255,122,26,.44)!important;
    background:linear-gradient(180deg,rgba(255,106,0,.11),rgba(8,26,42,.50))!important;
  }
  .oh-mock-nav svg{opacity:.86!important;}
  .oh-mock-actions{gap:10px!important;}
  .oh-mock-live{border-color:rgba(94,164,219,.24)!important;background:rgba(5,18,31,.56)!important;}
  .oh-mock-cta{box-shadow:0 8px 22px rgba(255,106,0,.20)!important;}

  /* Frontpage newsroom */
  .oh-news-strip{
    max-width:var(--oh-v2-wrap)!important;
    margin:22px auto 0!important;
    border-color:rgba(94,164,219,.24)!important;
    border-left:0!important;
    background:linear-gradient(90deg,rgba(6,22,37,.88),rgba(3,13,23,.86))!important;
    box-shadow:none!important;
  }
  .oh-news-hub,.oh-news-more{margin-top:24px!important;margin-bottom:24px!important;}
  .oh-news-shell{border-color:rgba(94,164,219,.24)!important;background:rgba(4,16,28,.86)!important;}
  .oh-news-main{gap:16px!important;}
  .oh-news-lead img{filter:brightness(.82) contrast(1.05)!important;}
  .oh-news-lead-content,.oh-news-mini-body,.oh-news-side-body{color:#e8f2fb!important;}
  .oh-news-chip,.tag,.catbadge,.newbadge,.pill,.chip,.mini-chip,.filter-chip{
    border-color:rgba(255,122,26,.28)!important;
    background:rgba(255,106,0,.075)!important;
    color:#ffd0ad!important;
    box-shadow:none!important;
  }

  /* Sector/frontpage cards */
  .card-grid,.sector-grid{gap:16px!important;}
  .feature-card,.sector-card{padding:22px!important;border-radius:16px!important;}
  .feature-card h3,.sector-card h3{font-size:24px!important;margin-bottom:8px!important;}
  .feature-card p,.sector-card p{color:#bfd0df!important;font-weight:560!important;line-height:1.52!important;}

  /* Jobs page */
  .filters{
    max-width:var(--oh-v2-wrap)!important;
    margin:22px auto 18px!important;
    padding:18px!important;
    border-radius:17px!important;
    border-top:1px solid rgba(255,122,26,.28)!important;
  }
  .filter-row{gap:10px!important;align-items:stretch!important;}
  .field{
    min-height:42px!important;
    border-color:rgba(94,164,219,.28)!important;
    background:rgba(2,12,21,.58)!important;
    border-radius:11px!important;
  }
  .field input,
  .field select,
  input.field,
  .filters select{
    color:#f3f9ff!important;
    font-weight:760!important;
  }
  .popular,.active-filters{max-width:var(--oh-v2-wrap)!important;margin-left:auto!important;margin-right:auto!important;}
  .popular{margin-top:12px!important;color:#a9bdcf!important;}
  .main{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 330px!important;
    gap:22px!important;
    padding-left:34px!important;
    padding-right:34px!important;
    margin-top:22px!important;
    align-items:start!important;
  }
  .side{display:flex!important;flex-direction:column!important;gap:16px!important;}
  .jobs-table{border-radius:17px!important;overflow:hidden!important;}
  .table-wrap{border-radius:0!important;}
  .table th{
    background:rgba(1,8,14,.62)!important;
    color:#9fb3c5!important;
    font-size:11px!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    border-bottom:1px solid rgba(94,164,219,.18)!important;
  }
  .table td{border-color:rgba(94,164,219,.12)!important;color:#dbe8f4!important;}
  .job-row{
    transition:background .16s ease, transform .16s ease, box-shadow .16s ease!important;
  }
  .job-row:hover{
    background:linear-gradient(90deg,rgba(255,106,0,.075),rgba(0,119,210,.045))!important;
    transform:translateX(2px)!important;
  }
  .job-title{
    color:#fff!important;
    font-size:15px!important;
    font-weight:920!important;
    line-height:1.2!important;
  }
  .sub{color:#93aabd!important;font-size:12px!important;font-weight:650!important;}
  .source-dot{background:#ff8a35!important;box-shadow:0 0 8px rgba(255,106,0,.45)!important;}
  .cat-list{gap:8px!important;}
  .cat,.tool,.radar-item{
    border-color:rgba(94,164,219,.18)!important;
    background:rgba(255,255,255,.025)!important;
    border-radius:12px!important;
  }
  .cat:hover,.trending-chips a:hover{border-color:rgba(255,122,26,.38)!important;background:rgba(255,106,0,.07)!important;}
  .radar-note{color:#adbfce!important;line-height:1.5!important;}
  .pager{gap:7px!important;margin-top:16px!important;}

  /* News page */
  .news-toolbar-section{padding:24px 34px 4px!important;margin-top:0!important;margin-bottom:16px!important;}
  .news-toolbar{
    border-top:1px solid rgba(255,122,26,.34)!important;
    border-radius:17px!important;
    overflow:hidden!important;
  }
  .news-toolbar-head{padding:18px 20px!important;}
  .toolbar-form{padding:16px!important;gap:10px!important;grid-template-columns:1.35fr repeat(4,1fr) auto!important;}
  .toolbar-field{min-height:54px!important;border-radius:11px!important;border-color:rgba(94,164,219,.24)!important;background:rgba(2,12,21,.50)!important;}
  .toolbar-field span{color:#9fb3c5!important;}
  .toolbar-field input,.toolbar-field select{font-size:13px!important;}
  .toolbar-foot{padding:12px 18px!important;border-top:1px solid rgba(94,164,219,.14)!important;}
  .news-spotlight{
    display:grid!important;
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)!important;
    gap:18px!important;
  }
  .panel{border-radius:18px!important;overflow:hidden!important;}
  .lead-card{min-height:520px!important;}
  .lead-content{padding:28px!important;}
  .lead-content h2{font-size:clamp(32px,2.5vw,46px)!important;line-height:1.02!important;}
  .side-stack{border-color:rgba(94,164,219,.24)!important;background:linear-gradient(180deg,rgba(7,23,38,.84),rgba(3,13,23,.90))!important;}
  .side-card{border-color:rgba(94,164,219,.20)!important;}
  .news-layout{gap:22px!important;grid-template-columns:minmax(0,1fr) 330px!important;}
  .news-grid{gap:16px!important;}
  .story-card{border-radius:16px!important;overflow:hidden!important;}
  .story-card img{height:190px!important;filter:brightness(.84) contrast(1.05)!important;}
  .story-content{padding:17px!important;}
  .story-content h3{font-size:21px!important;line-height:1.12!important;}
  .story-content p{color:#bdcfdf!important;font-weight:560!important;}
  .story-meta{color:#9fb3c5!important;font-size:11px!important;gap:10px!important;}
  .sidebar{gap:16px!important;}
  .side-panel{border-radius:16px!important;padding:18px!important;}
  .side-panel h3{font-size:17px!important;letter-spacing:-.02em!important;}
  .coverage-row{border-color:rgba(94,164,219,.14)!important;}
  .news-aside-list a{border-color:rgba(94,164,219,.12)!important;}
  .news-aside-list a:hover{background:rgba(255,106,0,.055)!important;border-color:rgba(255,122,26,.26)!important;}

  /* Article */
  .article-shell{padding-left:34px!important;padding-right:34px!important;}
  .article-layout{grid-template-columns:minmax(0,1fr) 330px!important;gap:22px!important;}
  .article-card{border-radius:18px!important;overflow:hidden!important;}
  .article-cover img{height:390px!important;filter:brightness(.86) contrast(1.04)!important;}
  .article-card p{font-size:17px!important;line-height:1.74!important;font-weight:520!important;color:#e1ebf5!important;}
  .article-card h2{font-size:31px!important;}
  .article-card h3{font-size:22px!important;}
  .read-next-section{padding-top:14px!important;}
  .read-next-grid{gap:14px!important;}
  .read-next-card{border-radius:16px!important;}
  .read-next-card img{height:138px!important;}
  .read-next-body{padding:14px!important;}
  .read-next-body h3{font-size:17px!important;}

  /* Social share */
  .oh-share-panel{display:grid;gap:10px;}
  .oh-share-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .oh-share-grid a,.oh-share-copy{
    display:flex!important;align-items:center;justify-content:center;gap:7px;
    min-height:34px!important;padding:8px 10px!important;
    border:1px solid rgba(94,164,219,.24)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.028)!important;
    color:#eaf4ff!important;
    font-size:12px!important;font-weight:850!important;letter-spacing:.01em!important;
    box-shadow:none!important;cursor:pointer;text-decoration:none!important;
  }
  .oh-share-grid a:hover,.oh-share-copy:hover{border-color:rgba(255,122,26,.42)!important;background:rgba(255,106,0,.07)!important;color:#fff!important;}
  .oh-copy-note{display:none;color:#20e895;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;text-align:center;}
  .oh-copy-note.show{display:block;}

  /* Footer */
  .footer{
    border-top-color:rgba(94,164,219,.22)!important;
    background:linear-gradient(180deg,rgba(6,22,36,.96),rgba(2,9,16,.98))!important;
    gap:30px!important;
    padding-top:32px!important;
    padding-bottom:30px!important;
  }
  .footer h4{font-size:13px!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:#d8e6f3!important;}
  .footer a{color:#b6c8d8!important;}
  .footer a:hover{color:#fff!important;}
  .bottom{border-top-color:rgba(94,164,219,.16)!important;background:#01070d!important;}
}

@media (min-width:901px) and (max-width:1320px){
  .main,.news-layout,.article-layout{grid-template-columns:1fr!important;}
  .side,.sidebar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;position:static!important;}
  .news-spotlight{grid-template-columns:1fr!important;}
  .toolbar-form{grid-template-columns:1fr 1fr 1fr!important;}
  .toolbar-submit{grid-column:auto!important;}
}

@media (max-width:900px){
  .oh-share-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .oh-share-grid a,.oh-share-copy{min-height:36px;padding:8px 10px;border-radius:10px;}
}

/* Offshore Hub Background + Shell Consistency Fix v1
   Locks all desktop pages to one common dark foundation. Hero images may vary,
   but the body, page shell, overlays, panels and footer now use the same tone. */
@media (min-width:901px){
  :root{
    --oh-shell-bg:#020b14;
    --oh-shell-bg-deep:#01070d;
    --oh-shell-panel:rgba(5,18,31,.90);
    --oh-shell-panel-strong:rgba(3,13,23,.96);
    --oh-shell-line:rgba(0,137,216,.34);
    --oh-shell-line-soft:rgba(94,164,219,.18);
  }

  html{
    background:#01050a!important;
  }

  body,
  body.home-index,
  body.news-page,
  body.about-page,
  body.contact-page,
  body.jobs-page{
    background:#01050a!important;
    background-image:
      radial-gradient(1100px 520px at 50% -18%,rgba(0,137,216,.105),transparent 58%),
      radial-gradient(760px 460px at 96% 12%,rgba(255,106,0,.045),transparent 60%),
      radial-gradient(760px 500px at 3% 20%,rgba(0,95,160,.080),transparent 62%),
      linear-gradient(180deg,#01050a 0%,#020b14 43%,#01060b 100%)!important;
    background-attachment:fixed!important;
  }

  body::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-2;
    background:
      linear-gradient(90deg,rgba(0,0,0,.30),transparent 16%,transparent 84%,rgba(0,0,0,.30)),
      repeating-linear-gradient(90deg,rgba(255,255,255,.014) 0 1px,transparent 1px 96px);
    opacity:.55;
  }

  .page,
  .site-shell,
  body .page,
  body .site-shell,
  body.home-index .page,
  body.news-page .page,
  body.about-page .page,
  body.contact-page .page,
  body.jobs-page .page{
    background:
      linear-gradient(180deg,rgba(3,13,23,.985) 0%,rgba(2,10,18,.99) 48%,rgba(1,8,14,.995) 100%)!important;
    border-color:rgba(0,137,216,.52)!important;
    box-shadow:
      0 28px 88px rgba(0,0,0,.48),
      0 0 0 1px rgba(255,106,0,.085) inset,
      0 0 42px rgba(0,137,216,.055)!important;
  }

  .page > header,
  .site-shell > header,
  .oh-mock-header,
  .oh-mock-frame,
  body .oh-mock-frame{
    background:
      linear-gradient(180deg,rgba(2,8,14,.995),rgba(3,13,23,.985))!important;
    border-color:rgba(0,137,216,.38)!important;
  }

  .hero,
  .legal-hero,
  body .hero,
  body .legal-hero,
  body.home-index .hero,
  body.news-page .hero,
  body.about-page .hero,
  body.contact-page .hero,
  body.jobs-page .hero{
    background:#020912!important;
    border-top-color:rgba(255,106,0,.48)!important;
    border-bottom-color:rgba(94,164,219,.20)!important;
    isolation:isolate!important;
  }

  .hero:before,
  .legal-hero:before,
  body .hero:before,
  body .legal-hero:before,
  body.home-index .hero:before,
  body.news-page .hero:before,
  body.about-page .hero:before,
  body.contact-page .hero:before,
  body.jobs-page .hero:before{
    filter:brightness(.68) contrast(1.08) saturate(.88)!important;
    opacity:.92!important;
  }

  .hero:hover:before,
  body.home-index .hero:hover:before,
  body.about-page .hero:hover:before,
  body.contact-page .hero:hover:before{
    filter:brightness(.70) contrast(1.08) saturate(.90)!important;
    transform:scale(1.025)!important;
  }

  .hero:after,
  .legal-hero:after,
  body .hero:after,
  body .legal-hero:after,
  body.home-index .hero:after,
  body.news-page .hero:after,
  body.about-page .hero:after,
  body.contact-page .hero:after,
  body.jobs-page .hero:after{
    background:
      linear-gradient(90deg,rgba(2,8,14,.985) 0%,rgba(2,8,14,.945) 28%,rgba(2,8,14,.76) 58%,rgba(2,8,14,.50) 100%),
      linear-gradient(180deg,rgba(3,13,23,.04) 0%,rgba(1,7,12,.72) 100%)!important;
  }

  .metrics,
  .metric-strip,
  body .metrics,
  body .metric-strip{
    background:linear-gradient(180deg,rgba(4,16,28,.92),rgba(2,10,18,.96))!important;
    border-top-color:rgba(255,106,0,.24)!important;
    border-bottom-color:rgba(94,164,219,.18)!important;
  }

  .filters,
  .news-toolbar,
  .news-command,
  .home-block,
  .section,
  .article-shell,
  .legal-wrap,
  body .filters,
  body .news-toolbar,
  body .news-command{
    background-color:transparent!important;
  }

  .box,
  .panel,
  .side-panel,
  .feature-card,
  .sector-card,
  .story-card,
  .read-next-card,
  .oh-news-lead,
  .oh-news-mini,
  .oh-news-side-card,
  .news-toolbar,
  .filters,
  .jobs-table,
  .article-card,
  .toc,
  .legal-card,
  .side-panel,
  body .box,
  body .panel,
  body .side-panel,
  body .feature-card,
  body .sector-card,
  body .story-card,
  body .read-next-card,
  body .news-toolbar,
  body .filters,
  body .article-card{
    background:linear-gradient(180deg,var(--oh-shell-panel),var(--oh-shell-panel-strong))!important;
    border-color:rgba(94,164,219,.26)!important;
  }

  .footer,
  body .footer{
    background:linear-gradient(180deg,rgba(4,16,28,.96),rgba(1,7,13,.99))!important;
    border-color:rgba(94,164,219,.22)!important;
  }

  .bottom,
  body .bottom{
    background:#01070d!important;
    border-color:rgba(94,164,219,.16)!important;
  }

  /* Job detail page has a different root structure than the portal pages. */
  body.jobs-page .page-bg{
    background:
      radial-gradient(1100px 520px at 50% -18%,rgba(0,137,216,.105),transparent 58%),
      radial-gradient(760px 460px at 96% 12%,rgba(255,106,0,.045),transparent 60%),
      linear-gradient(180deg,#01050a 0%,#020b14 43%,#01060b 100%)!important;
  }
}
