/* Scoped finishing touches for approved BNG client homepage.
   Original colors, typefaces and desktop markup remain intact. */
.bng-original .bng-home-video-frame{overflow:hidden;background:#12171D;isolation:isolate}
@media(max-width:1024px){
  .bng-original .bng-home-hero{padding:60px 36px!important;gap:32px!important}
  .bng-original .bng-home-positioning{gap:32px!important;grid-template-columns:minmax(0,260px) minmax(0,1fr)!important}
  .bng-original .bng-client-header-inner{gap:18px!important;padding:20px 24px 14px!important}
  .bng-original .bng-client-nav{gap:16px!important}
}
@media(max-width:768px){
  .bng-original .bng-client-header-inner{padding:16px!important;gap:18px!important;align-items:center!important}
  .bng-original .bng-client-nav{gap:0!important}
  .bng-original .bng-client-main{padding-left:16px!important;padding-right:16px!important;padding-bottom:64px!important}
  .bng-original .bng-home-hero{grid-template-columns:minmax(0,1fr)!important;padding:42px 24px!important;gap:24px!important;margin-top:20px!important}
  .bng-original .bng-home-hero h1{font-size:clamp(32px,6vw,46px)!important}
  .bng-original .bng-home-video-frame{height:auto!important;aspect-ratio:16/9;margin-top:28px!important}
  .bng-original .bng-home-streams{margin-top:44px!important;gap:20px!important}
  .bng-original .bng-home-positioning{grid-template-columns:minmax(0,1fr)!important;gap:18px!important;margin-top:52px!important}
}
@media(max-width:480px){
  .bng-original .bng-client-header-inner{gap:12px!important}
  .bng-original .bng-client-nav{gap:0!important}
  .bng-original .bng-client-nav a{font-size:10px!important;letter-spacing:.08em!important}
  .bng-original .bng-home-hero{padding:32px 18px!important}
  .bng-original .bng-home-hero h1{font-size:clamp(29px,9vw,39px)!important}
  .bng-original .bng-home-hero button{width:100%;text-align:center}
  .bng-original .bng-home-hero p{overflow-wrap:anywhere}
  .bng-original .bng-home-video-frame{aspect-ratio:4/3}
  .bng-original .bng-home-streams{grid-template-columns:minmax(0,1fr)!important}
  .bng-original .bng-home-positioning h2{font-size:27px!important}
}
@media(prefers-reduced-motion:reduce){
}

/* Mobile header: brand, locale and a JS-controlled burger share one row.
   The navigation expands as a separate dropdown without pushing page content. */
.bng-original .bng-mobile-toggle{display:none}
.bng-original .bng-section-rubric{min-width:0}
.bng-original .bng-section-rubric-title{min-width:0;overflow-wrap:normal}
.bng-original .bng-section-rubric-count{flex:0 0 auto;white-space:nowrap;text-align:right}
@media(max-width:768px){
  .bng-original header{position:sticky!important}
  .bng-original .bng-client-header-inner{position:relative;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:14px!important;padding:14px 16px!important}
  .bng-original .bng-client-brand{flex:1 1 auto;min-width:0;margin-right:0!important;gap:10px!important}
  .bng-original .bng-client-brand img{flex:none;width:30px!important;height:30px!important}
  .bng-original .bng-client-brand > span{min-width:0}
  .bng-original .bng-client-brand > span > span:first-child{font-size:18px!important}
  .bng-original .bng-client-brand > span > span:last-child{font-size:8px!important;letter-spacing:.2em!important}
  .bng-original .bng-client-language{order:2;flex:0 0 auto;margin-left:0!important}
  .bng-original .bng-mobile-toggle{order:3;flex:0 0 40px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:9px;border:1px solid rgba(18,23,29,.18);background:#fff;color:#12171D;cursor:pointer;border-radius:0}
  .bng-original .bng-mobile-toggle:focus-visible{outline:2px solid #7C5CBF;outline-offset:2px}
  .bng-original .bng-mobile-toggle-lines{display:flex;flex-direction:column;justify-content:space-between;width:20px;height:14px}
  .bng-original .bng-mobile-toggle-lines span{display:block;width:100%;height:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
  .bng-original .bng-mobile-toggle[aria-expanded="true"] .bng-mobile-toggle-lines span:first-child{transform:translateY(6px) rotate(45deg)}
  .bng-original .bng-mobile-toggle[aria-expanded="true"] .bng-mobile-toggle-lines span:nth-child(2){opacity:0}
  .bng-original .bng-mobile-toggle[aria-expanded="true"] .bng-mobile-toggle-lines span:last-child{transform:translateY(-6px) rotate(-45deg)}
  .bng-original .bng-client-nav{display:none!important;position:absolute;left:0;right:0;top:100%;z-index:30;order:4;width:100%;padding:12px 16px 18px;background:#fff;border-top:1px solid rgba(18,23,29,.14);border-bottom:1px solid rgba(18,23,29,.22);box-shadow:0 12px 24px rgba(18,23,29,.09);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch!important;max-height:min(70vh,520px);overflow-y:auto}
  .bng-original .bng-client-nav[data-open="true"]{display:grid!important}
  .bng-original .bng-client-nav a{display:block;padding:12px 8px 11px 0!important;font-size:11px!important;letter-spacing:.1em!important;line-height:1.35;min-width:0;overflow-wrap:anywhere}
  .bng-original .bng-section-rubric{display:flex!important;flex-wrap:nowrap!important;align-items:flex-start;justify-content:space-between!important;gap:18px!important;padding:16px 0!important}
  .bng-original .bng-section-rubric-title{flex:1 1 auto;min-width:0;line-height:1.65}
  .bng-original .bng-section-rubric-count{flex:0 0 auto;min-width:46px;line-height:1.65;white-space:nowrap!important}
}
@media(max-width:380px){
  .bng-original .bng-client-header-inner{gap:10px!important;padding:12px!important}
  .bng-original .bng-client-brand{gap:7px!important}
  .bng-original .bng-client-brand img{width:27px!important;height:27px!important}
  .bng-original .bng-client-brand > span > span:first-child{font-size:16px!important}
  .bng-original .bng-client-language{gap:5px!important;font-size:11px!important;letter-spacing:0!important}
  .bng-original .bng-mobile-toggle{flex-basis:36px;width:36px;height:36px;padding:8px}
  .bng-original .bng-section-rubric{gap:12px!important}
}

/* Full-height mobile site navigation with a single item per row. */
.bng-original .bng-mobile-nav-footer{display:none}
@media(max-width:768px){
  .bng-original .bng-client-nav{
    position:fixed!important;
    inset:var(--bng-mobile-header-height,68px) 0 0!important;
    top:var(--bng-mobile-header-height,68px)!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100vw!important;
    max-height:none!important;
    height:calc(100dvh - var(--bng-mobile-header-height,68px))!important;
    padding:18px 22px max(24px,env(safe-area-inset-bottom))!important;
    background:#fff!important;
    border-top:1px solid rgba(18,23,29,.14);
    border-bottom:0!important;
    box-shadow:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
  }
  .bng-original .bng-client-nav[data-open="true"]{display:flex!important}
  .bng-original .bng-client-nav > a{
    display:block!important;
    flex:0 0 auto!important;
    width:100%!important;
    padding:17px 0!important;
    margin:0!important;
    font-size:13px!important;
    letter-spacing:.13em!important;
    line-height:1.45!important;
    text-align:left!important;
    border-bottom:1px solid rgba(18,23,29,.12)!important;
    text-decoration:none!important;
  }
  .bng-original .bng-client-nav > a:hover,
  .bng-original .bng-client-nav > a:focus-visible{
    color:#7C5CBF!important;
    background:transparent!important;
  }
  .bng-original .bng-mobile-nav-footer{
    display:flex;
    flex-direction:column;
    gap:7px;
    margin-top:auto;
    padding:26px 0 0;
    color:#12171D;
  }
  .bng-original .bng-mobile-nav-contact-label,
  .bng-original .bng-mobile-nav-company-label{
    color:#6E747A;
    font-size:10px;
    letter-spacing:.2em;
    text-transform:uppercase;
  }
  .bng-original .bng-mobile-nav-email{
    font-family:'PT Serif',Georgia,serif;
    color:#12171D;
    font-size:19px;
    letter-spacing:normal;
    overflow-wrap:anywhere;
    text-decoration:underline;
    text-decoration-color:rgba(18,23,29,.3);
    text-underline-offset:4px;
    margin:0 0 18px;
  }
  .bng-original .bng-mobile-nav-company{
    font-family:'PT Serif',Georgia,serif;
    font-size:16px;
    line-height:1.45;
    padding-bottom:4px;
  }
}
@media(max-width:380px){
  .bng-original .bng-client-nav{padding:12px 16px max(20px,env(safe-area-inset-bottom))!important}
  .bng-original .bng-client-nav > a{padding:13px 0!important;font-size:12px!important}
  .bng-original .bng-mobile-nav-footer{padding-top:18px}
}

/* The Rock: keep approved client layout on desktop; only constrain smaller viewports. */
.bng-original .bng-rock,
.bng-original .bng-rock > div{min-width:0}
.bng-original .bng-rock-gallery img{max-width:100%}
@media(max-width:1024px){
  .bng-original .bng-rock-intro,
  .bng-original .bng-rock-details,
  .bng-original .bng-rock-map-intro{gap:32px!important}
  .bng-original .bng-rock-facts{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .bng-original .bng-rock-benefit{grid-template-columns:minmax(100px,165px) minmax(0,1fr)!important}
  .bng-original .bng-rock-gallery{gap:18px!important}
}
@media(max-width:768px){
  .bng-original .bng-rock-intro,
  .bng-original .bng-rock-details,
  .bng-original .bng-rock-map-intro{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
  .bng-original .bng-rock-intro{margin-top:32px!important}
  .bng-original .bng-rock-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-top:28px!important}
  .bng-original .bng-rock-details,.bng-original .bng-rock-map-intro{margin-top:42px!important}
  .bng-original .bng-rock-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin-top:36px!important}
  .bng-original .bng-rock-gallery figure{height:auto!important;min-height:200px;aspect-ratio:4/3}
  .bng-original .bng-rock-map{height:450px!important}
}
@media(max-width:480px){
  .bng-original .bng-rock-facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:14px!important}
  .bng-original .bng-rock-facts > div{padding:16px 5px 16px 0!important}
  .bng-original .bng-rock-facts > div > div:first-child{font-size:clamp(18px,6vw,25px)!important;white-space:normal!important}
  .bng-original .bng-rock-benefit{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
  .bng-original .bng-rock-benefit > div:first-child{white-space:normal!important}
  .bng-original .bng-rock-gallery{grid-template-columns:minmax(0,1fr)!important}
  .bng-original .bng-rock-gallery figure{aspect-ratio:16/10;min-height:190px}
  .bng-original .bng-rock-map{height:360px!important}
}

/* Evidence: original 2-column composition with safe responsive stacking. */
.bng-original .bng-evidence,.bng-original .bng-evidence > div{min-width:0}
@media(max-width:1024px){
  .bng-original .bng-evidence-intro{gap:32px!important}
  .bng-original .bng-evidence-columns{gap:32px!important}
  .bng-original .bng-evidence-dossier{padding:40px 36px!important;gap:32px!important}
}
@media(max-width:768px){
  .bng-original .bng-evidence-intro{grid-template-columns:minmax(0,1fr)!important;gap:20px!important;margin-top:32px!important}
  .bng-original .bng-evidence-columns{grid-template-columns:minmax(0,1fr)!important;gap:40px!important;margin-top:38px!important}
  .bng-original .bng-evidence-dossier{grid-template-columns:minmax(0,1fr)!important;gap:18px!important;padding:34px 28px!important;margin-top:48px!important}
  .bng-original .bng-evidence-dossier h2{font-size:27px!important}
}
@media(max-width:480px){
  .bng-original .bng-evidence-pending-row{grid-template-columns:minmax(0,1fr)!important;gap:6px!important}
  .bng-original .bng-evidence-pending-row > span:last-child{text-align:left!important}
  .bng-original .bng-evidence-dossier{padding:28px 20px!important}
  .bng-original .bng-evidence-dossier button{width:100%;text-align:center}
}

/* Process schematic: preserve client's layout/typography; adapt only the grid. */
.bng-original .bng-flowsheet,.bng-original .bng-flowsheet > div{min-width:0}
.bng-original .bng-flow-streams > div{min-width:0}
.bng-original .bng-flow-tabs{row-gap:10px!important}
@media(max-width:1024px){
 .bng-original .bng-flow-intro{gap:32px!important}
 .bng-original .bng-flow-feed{gap:26px!important;padding:26px!important}
 .bng-original .bng-flow-streams{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .bng-original .bng-flow-route-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .bng-original .bng-flow-results{gap:32px!important}
}
@media(max-width:768px){
 .bng-original .bng-flow-intro{grid-template-columns:minmax(0,1fr)!important;gap:18px!important;margin-top:30px!important}
 .bng-original .bng-flow-tabs{gap:8px!important;margin-top:30px!important}
 .bng-original .bng-flow-tabs > span:first-child{width:100%!important;margin-bottom:6px}
 .bng-original .bng-flow-tabs button{padding:9px 12px 8px!important}
 .bng-original .bng-flow-feed{grid-template-columns:minmax(0,1fr)!important;gap:26px!important;padding:22px!important;margin-top:20px!important}
 .bng-original .bng-flow-connectors{display:none!important}
 .bng-original .bng-flow-streams{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-top:20px}
 .bng-original .bng-flow-routes{margin-top:48px!important}
 .bng-original .bng-flow-route-cards{grid-template-columns:minmax(0,1fr)!important}
 .bng-original .bng-flow-results{grid-template-columns:minmax(0,1fr)!important;gap:28px!important;margin-top:44px!important}
}
@media(max-width:480px){
 .bng-original .bng-flow-feed{padding:20px 16px!important}
 .bng-original .bng-flow-feed > div:first-child > div:nth-child(2){font-size:29px!important}
 .bng-original .bng-flow-streams{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
 .bng-original .bng-flow-tabs button{font-size:10px!important;letter-spacing:.05em!important}
 .bng-original .bng-flow-routes{margin-top:40px!important}
}

/* Products catalog — keep original client visual language. */
.bng-original .bng-products,.bng-original .bng-products > div{min-width:0}
.bng-original .bng-products-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.bng-original .bng-products-table{min-width:900px}
.bng-original .bng-products-filters{row-gap:10px!important}
@media(max-width:1024px){
  .bng-original .bng-products-intro{gap:32px!important}
  .bng-original .bng-products-sectors{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .bng-original .bng-products-table{min-width:880px}
}
@media(max-width:768px){
  .bng-original .bng-products-intro{grid-template-columns:minmax(0,1fr)!important;gap:20px!important;margin-top:32px!important}
  .bng-original .bng-products-status{flex-direction:column;gap:12px!important;margin-top:30px!important;padding:18px!important}
  .bng-original .bng-products-status > span{padding:0!important}
  .bng-original .bng-products-filters{margin-top:32px!important;gap:8px!important}
  .bng-original .bng-products-filters > span:first-child{width:100%;margin-bottom:4px}
  .bng-original .bng-products-filters > span:last-child{width:100%;margin-left:0!important}
  .bng-original .bng-products-filters button{padding:9px 12px 8px!important}
  .bng-original .bng-products-table-wrap{margin-right:-16px;padding-right:16px}
  .bng-original .bng-products-table{min-width:850px}
  .bng-original .bng-products-sectors{grid-template-columns:minmax(0,1fr)!important;gap:16px!important;margin-top:42px!important}
}
@media(max-width:480px){
  .bng-original .bng-products-table{min-width:820px}
  .bng-original .bng-products-filters button{font-size:10px!important;letter-spacing:.05em!important}
  .bng-original .bng-products-status{padding:16px!important}
}

/* Milestones: desktop retains the approved five-column snake timeline.
   On small screens chronological order becomes a readable vertical timeline. */
.bng-original .bng-milestones,.bng-original .bng-milestones > div{min-width:0}
.bng-original .bng-milestones-snake-cell{min-width:0}
@media(max-width:1024px){
  .bng-original .bng-milestones-intro{gap:32px!important}
  .bng-original .bng-milestones-snake-cell{padding-left:6px!important;padding-right:6px!important}
  .bng-original .bng-milestone-head{font-size:14px!important}
  .bng-original .bng-milestone-body{font-size:12px!important}
}
@media(max-width:768px){
  .bng-original .bng-milestones-intro{grid-template-columns:minmax(0,1fr)!important;gap:18px!important;margin-top:32px!important}
  .bng-original .bng-milestones-timeline{margin-top:32px!important}
  .bng-original .bng-milestones-legend{justify-content:flex-start!important;gap:12px 22px!important;margin-bottom:30px!important;font-size:10px!important}
  .bng-original .bng-milestones-snake-row{grid-template-columns:minmax(0,1fr)!important;direction:ltr!important;padding-bottom:0!important}
  .bng-original .bng-milestones-snake-cell{direction:ltr!important;text-align:left!important;padding:0 0 32px 52px!important;min-height:106px}
  .bng-original .bng-milestones-snake-cell::before{content:"";position:absolute;left:13px;top:28px;bottom:0;border-left:2px solid rgba(18,23,29,.15)}
  .bng-original .bng-milestones-snake-row:last-child .bng-milestones-snake-cell:last-child::before{display:none}
  .bng-original .bng-milestone-line{display:none!important}
  .bng-original .bng-milestone-dot{position:absolute!important;top:0;left:0;margin:0!important;width:28px!important;height:28px!important}
  .bng-original .bng-milestone-date{margin-top:0!important;font-size:16px!important}
  .bng-original .bng-milestone-head{font-size:17px!important;margin-top:6px!important;line-height:1.35!important}
  .bng-original .bng-milestone-body{font-size:13px!important;margin-top:7px!important;line-height:1.6!important;max-width:65ch}
}
@media(max-width:480px){
  .bng-original .bng-milestones-legend{gap:12px!important}
  .bng-original .bng-milestones-snake-cell{padding-left:42px!important}
  .bng-original .bng-milestone-head{font-size:16px!important}
  .bng-original .bng-milestone-body{overflow-wrap:anywhere}
}

/* News and Company: preserve original desktop styles, stack columns cleanly. */
.bng-original .bng-news,.bng-original .bng-company{min-width:0}
.bng-original .bng-news-article,.bng-original .bng-news-upcoming,
.bng-original .bng-company-about{min-width:0}
@media(max-width:1024px){
 .bng-original .bng-news-intro{gap:32px!important}
 .bng-original .bng-company-arch-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .bng-original .bng-company-about{gap:32px!important}
}
@media(max-width:768px){
 .bng-original .bng-news-intro{grid-template-columns:minmax(0,1fr)!important;gap:24px!important;margin-top:32px!important}
 .bng-original .bng-news-content{margin-top:36px!important;gap:36px!important}
 .bng-original .bng-news-article,.bng-original .bng-news-upcoming{grid-template-columns:minmax(0,1fr)!important;gap:10px!important;padding:18px 0!important}
 .bng-original .bng-news-media{padding:22px!important}
 .bng-original .bng-company-pillars{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin-top:32px!important}
 .bng-original .bng-company-arch-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
 .bng-original .bng-company-architecture{margin-top:48px!important}
 .bng-original .bng-company-about{grid-template-columns:minmax(0,1fr)!important;gap:20px!important;margin-top:48px!important}
 .bng-original .bng-company-contacts{margin-top:48px!important}
}
@media(max-width:480px){
 .bng-original .bng-company-pillars{grid-template-columns:minmax(0,1fr)!important}
 .bng-original .bng-news-article h3{font-size:19px!important}
 .bng-original .bng-news-media button{width:100%;text-align:center}
 .bng-original .bng-company-contacts a{overflow-wrap:anywhere;word-break:break-word}
}
