/* Offshore Hub Desktop Completion v5
   Editorial finishing pass:
   - put content before filters on newsroom
   - make newsroom cards tighter and more newspaper-like
   - tighten footer/header spacing without changing frame
   - improve line-clamps and long translated text handling
*/
@media (min-width: 901px){
  :root{
    --oh-v5-line: rgba(83,160,220,.20);
    --oh-v5-line-strong: rgba(83,160,220,.32);
    --oh-v5-panel: rgba(5,18,31,.78);
    --oh-v5-panel-soft: rgba(4,15,26,.64);
    --oh-v5-text: #f4f9ff;
    --oh-v5-muted: #b8c8d9;
    --oh-v5-orange: #ff7a1a;
  }

  /* Header: less boxed, slightly tighter and more balanced. */
  body .oh-mock-header{
    padding-top:22px!important;
    padding-bottom:20px!important;
  }
  body .oh-mock-frame{
    min-height:128px!important;
  }
  body .oh-mock-brand{
    transform:scale(.96)!important;
    transform-origin:left center!important;
  }
  body .oh-mock-menu-wrap,
  body .oh-mock-center,
  body .oh-mock-nav-shell{
    background:transparent!important;
    box-shadow:none!important;
    outline:0!important;
  }
  body .oh-mock-nav{
    gap:2px!important;
  }
  body .oh-mock-nav a{
    min-height:42px!important;
    padding:0 13px!important;
    white-space:nowrap!important;
  }
  body .oh-mock-lang button,
  body .oh-mock-lang a{
    width:34px!important;
    height:30px!important;
  }
  body .oh-mock-live,
  body .oh-mock-cta{
    min-height:38px!important;
    height:38px!important;
  }

  /* General content rhythm. */
  body .section{
    padding-top:30px!important;
    padding-bottom:30px!important;
  }
  body .panel,
  body .side-panel,
  body .desk-card,
  body .story-card,
  body .job-row,
  body .article-card{
    box-shadow:0 14px 34px rgba(0,0,0,.18)!important;
  }
  body h1, body h2, body h3, body h4,
  body .card-title,
  body .panel-title,
  body .story-card h3,
  body .job-title{
    text-wrap:balance;
  }
  body p, body .story-card p, body .job-row, body .side-panel, body .article-card{
    overflow-wrap:anywhere;
  }

  /* News page: lead with journalism, keep search as a tool after editorial lead. */
  body.news-page .news-spotlight{
    margin-top:30px!important;
    margin-bottom:22px!important;
    grid-template-columns:minmax(0,1.62fr) minmax(310px,.50fr)!important;
    gap:16px!important;
  }
  body.news-page .news-spotlight .panel{
    background:linear-gradient(180deg,rgba(5,18,31,.72),rgba(3,12,21,.82))!important;
    border-color:var(--oh-v5-line-strong)!important;
  }
  body.news-page .panel-head{
    height:46px!important;
    padding:0 18px!important;
    background:linear-gradient(90deg,rgba(255,122,26,.055),rgba(255,122,26,0))!important;
  }
  body.news-page .panel-title{
    font-size:12px!important;
  }
  body.news-page .lead-card{
    min-height:350px!important;
  }
  body.news-page .lead-content{
    left:22px!important;
    right:22px!important;
    bottom:22px!important;
  }
  body.news-page .lead-card h2{
    max-width:680px!important;
    font-size:clamp(28px,2.25vw,40px)!important;
    line-height:1.03!important;
    margin-bottom:10px!important;
  }
  body.news-page .lead-card p{
    max-width:720px!important;
    font-size:13px!important;
    line-height:1.45!important;
    margin-bottom:12px!important;
  }
  body.news-page .lead-card img{
    filter:brightness(.82) contrast(1.04) saturate(1.02)!important;
  }
  body.news-page .lead-card:after{
    background:linear-gradient(0deg,rgba(2,8,14,.88),rgba(2,8,14,.28) 60%,rgba(2,8,14,.04)),linear-gradient(90deg,rgba(2,8,14,.52),rgba(2,8,14,.05))!important;
  }
  body.news-page .news-spotlight .side-stack{
    padding:12px!important;
    border-radius:16px!important;
    gap:10px!important;
    background:linear-gradient(180deg,rgba(5,18,31,.78),rgba(3,12,21,.82))!important;
  }
  body.news-page .news-spotlight .side-stack:before{
    font-size:10px!important;
    padding-left:4px!important;
  }
  body.news-page .news-spotlight .side-card{
    grid-template-columns:98px minmax(0,1fr)!important;
    gap:11px!important;
    padding:9px!important;
    min-height:132px!important;
    border-radius:13px!important;
  }
  body.news-page .news-spotlight .side-card img{
    width:98px!important;
    height:92px!important;
    border-radius:10px!important;
  }
  body.news-page .news-spotlight .side-card h3{
    font-size:17px!important;
    line-height:1.12!important;
    margin:6px 0!important;
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  body.news-page .news-spotlight .side-card p{
    font-size:12px!important;
    line-height:1.35!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  body.news-page .news-spotlight .tag,
  body.news-page .story-card .tag,
  body.news-page .lead-card .tag{
    height:22px!important;
    min-height:22px!important;
    padding:0 10px!important;
    font-size:9px!important;
    letter-spacing:.08em!important;
    background:rgba(255,122,26,.055)!important;
  }

  /* Search/filter bar: smaller newsroom tool, not the first visual focus. */
  body.news-page .news-toolbar-section{
    margin-top:0!important;
    margin-bottom:28px!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
  body.news-page .news-toolbar{
    border-top:1px solid rgba(255,122,26,.32)!important;
    border-radius:15px!important;
    background:linear-gradient(180deg,rgba(4,16,28,.74),rgba(2,10,18,.80))!important;
  }
  body.news-page .news-toolbar-head{
    padding:14px 18px 10px!important;
    align-items:center!important;
  }
  body.news-page .news-toolbar h2{
    font-size:18px!important;
    margin:0!important;
  }
  body.news-page .toolbar-kicker{
    margin-bottom:5px!important;
  }
  body.news-page .toolbar-form{
    padding:12px 18px!important;
    gap:8px!important;
  }
  body.news-page .toolbar-field > span{
    font-size:9px!important;
  }
  body.news-page .toolbar-field input,
  body.news-page .toolbar-field select{
    height:36px!important;
    min-height:36px!important;
    border-radius:9px!important;
    font-size:12px!important;
  }
  body.news-page .toolbar-submit{
    height:36px!important;
    min-height:36px!important;
    border-radius:9px!important;
    font-size:12px!important;
  }
  body.news-page .toolbar-foot{
    padding:10px 18px 12px!important;
    font-size:11px!important;
  }

  /* Latest grid: lower card height, consistent clamps and stronger scanability. */
  body.news-page .news-layout{
    grid-template-columns:minmax(0,1fr) 292px!important;
    gap:18px!important;
  }
  body.news-page .section-intro{
    margin-bottom:14px!important;
  }
  body.news-page .section-intro h2{
    font-size:30px!important;
  }
  body.news-page .section-intro p{
    font-size:14px!important;
  }
  body.news-page .news-grid{
    gap:14px!important;
  }
  body.news-page .story-card{
    border-radius:15px!important;
    background:linear-gradient(180deg,rgba(5,18,31,.74),rgba(3,12,21,.82))!important;
  }
  body.news-page .story-card img{
    height:150px!important;
    filter:brightness(.84) contrast(1.04)!important;
  }
  body.news-page .story-content{
    padding:14px!important;
  }
  body.news-page .story-card h3{
    min-height:auto!important;
    font-size:17px!important;
    line-height:1.13!important;
    margin:9px 0 8px!important;
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  body.news-page .story-card p{
    font-size:12px!important;
    line-height:1.42!important;
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  body.news-page .story-meta{
    margin-top:11px!important;
    gap:10px!important;
    font-size:11px!important;
  }

  /* Sidebar: make it feel like a tool column, not another wall of cards. */
  body.news-page .sidebar{
    gap:12px!important;
  }
  body.news-page .side-panel{
    border-radius:15px!important;
    padding:16px!important;
    background:linear-gradient(180deg,rgba(5,18,31,.74),rgba(3,12,21,.78))!important;
  }
  body.news-page .side-panel h3{
    font-size:17px!important;
    margin-bottom:10px!important;
  }
  body.news-page .newsroom-pro p{
    font-size:13px!important;
    line-height:1.5!important;
  }
  body.news-page .desk-stat{
    gap:8px!important;
  }
  body.news-page .desk-stat > div{
    padding:12px!important;
    border-radius:12px!important;
  }
  body.news-page .coverage-row{
    padding:9px 0!important;
  }
  body.news-page .news-aside-list a{
    padding:11px 0!important;
  }
  body.news-page .news-aside-list b{
    font-size:13px!important;
    line-height:1.2!important;
  }
  body.news-page .category-list{
    gap:7px!important;
  }

  /* CTA and footer: slightly smaller, cleaner ending. */
  body .home-cta{
    min-height:96px!important;
    padding:20px 24px!important;
    border-radius:16px!important;
  }
  body .home-cta h2{
    font-size:30px!important;
    line-height:1.05!important;
  }
  body .home-cta p{
    font-size:14px!important;
  }
  body .footer{
    padding:30px 34px!important;
    gap:22px!important;
    background:linear-gradient(180deg,rgba(4,14,24,.92),rgba(2,9,16,.98))!important;
  }
  body .footer .brand img{
    width:52px!important;
    height:38px!important;
  }
  body .brand-title{
    font-size:20px!important;
  }
  body .footer p,
  body .footer a{
    font-size:13px!important;
  }
  body .footer h4{
    font-size:13px!important;
    letter-spacing:.10em!important;
    text-transform:uppercase!important;
  }
  body .mailrow input{
    height:38px!important;
    padding:0 12px!important;
  }
  body .mailrow button{
    width:40px!important;
    height:38px!important;
  }
  body .bottom{
    padding:13px 30px!important;
    font-size:11px!important;
  }

  /* Job page: keep recent layout from overflowing if translations/searches get long. */
  body.jobs-page .jobs-commandbar,
  body.jobs-page .job-search-panel,
  body.jobs-page .jobs-filter-panel{
    overflow:hidden!important;
  }
  body.jobs-page .jobs-filter-grid,
  body.jobs-page .toolbar-form{
    min-width:0!important;
  }
  body.jobs-page .job-row,
  body.jobs-page .job-row *{
    min-width:0;
  }
  body.jobs-page .job-title,
  body.jobs-page .job-company,
  body.jobs-page .job-meta,
  body.jobs-page .source-name{
    overflow-wrap:anywhere;
  }

  /* Article pages: related cards read cleaner. */
  body.news-page .article-card p{
    max-width:78ch!important;
  }
  body.news-page .read-next-grid{
    gap:12px!important;
  }
  body.news-page .read-next-card img{
    height:132px!important;
  }
  body.news-page .read-next-body h3{
    font-size:16px!important;
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
}

@media (min-width: 901px) and (max-width: 1320px){
  body.news-page .news-spotlight,
  body.news-page .news-layout{
    grid-template-columns:1fr!important;
  }
  body.news-page .news-spotlight .side-stack{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.news-page .sidebar{
    position:static!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.news-page .side-panel:last-child{
    grid-column:1 / -1!important;
  }
}

@media (min-width: 901px) and (max-width: 1180px){
  body .oh-mock-frame{
    min-height:120px!important;
  }
  body .oh-mock-nav a{
    padding:0 10px!important;
  }
  body.news-page .toolbar-form{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  body.news-page .toolbar-field.search{
    grid-column:span 2!important;
  }
}
