/* ONE BCG ONE BCG: shared layer.
   Loaded after base.css, footer.css and the page's own CSS.
   One role-based type system, one hero component, mobile navigation, review strip,
   and the support pages (contact, privacy, insights, 404). Open Sans only, headings Regular 400. */
:root{
  /* type roles (all weights Regular 400 for display; no bold headings) */
  --role-hero:var(--ty-h1);
  --role-h2:var(--ty-h2);
  --role-h3:var(--ty-st);
  --role-statement:var(--ty-st);
  --role-lede:var(--ty-lede);
  --role-body:var(--ty-body);
  --role-support:var(--t-small);
  --role-eyebrow:var(--ty-meta);
  --role-nav:var(--t-nav);
  --role-btn:1rem;
  --role-caption:.8125rem;
  --rv:0px;
  --hdr:76px;
  --hero-h:clamp(560px,calc(100svh - var(--hdr) - var(--rv)),820px);
  --hero-h-m:min(660px,calc(100svh - 70px - var(--rv)));
}
h5,h6{font-weight:400}
.rv{min-height:var(--rv);display:flex;align-items:center;justify-content:center;padding:.3rem var(--gutter);background:#10161f;color:#c9d1dc;font-size:.75rem;line-height:1.35;text-align:center;letter-spacing:.02em}
.rv a{color:#fff}
.rv__x{display:none}@media(min-width:560px){.rv__x{display:inline}}
.footer .fhead,.footer .footer__oh{font-weight:400;font-size:var(--role-eyebrow)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sr:focus{position:fixed;left:1rem;top:1rem;width:auto;height:auto;clip:auto;background:#fff;color:#000;padding:.75rem 1rem;z-index:200;border:2px solid var(--red)}
html{scroll-behavior:smooth}
body{overflow-x:hidden}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.crumb{display:block}

/* ---------- header and mobile navigation ---------- */
.hdr__logo{display:inline-flex;min-height:44px;align-items:center}
.nav .btn{min-height:46px}
.menu{cursor:pointer}
@media(max-width:1180px){
  .hdr.is-open .nav{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:.5rem var(--gutter) 1.5rem;border-bottom:1px solid var(--line-2);box-shadow:0 18px 30px rgba(10,17,28,.12);max-height:calc(100svh - var(--hdr));overflow:auto}
  .hdr.is-open .nav a{display:flex;align-items:center;min-height:52px;font-size:1.0625rem;border-bottom:1px solid var(--line)}
  .hdr.is-open .nav a[aria-current]::after{display:none}
  .hdr.is-open .nav a[aria-current]{color:var(--red)}
  .hdr.is-open .nav .btn{margin:1rem 0 0;justify-content:center;border-bottom:1.5px solid var(--red);background:var(--red);border-color:var(--red);color:#fff}
}
@media(max-width:600px){:root{--hdr:70px}.hdr__in{height:70px}.hdr__logo img{height:38px}}

/* ---------- shared full-bleed hero ---------- */
.sh{position:relative;isolation:isolate;color:#fff;display:flex;align-items:center;overflow:hidden;background:#0B1320;min-height:var(--hero-h)}
.sh__m{position:absolute;inset:0;z-index:-2;display:block}
.sh__m img{width:100%;height:100%;object-fit:cover;object-position:var(--fp,50% 50%);display:block;transform:scale(var(--sc,1));transform-origin:var(--so,50% 50%)}
.sh__o{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,13,22,.88) 0%,rgba(8,13,22,.72) 32%,rgba(8,13,22,.26) 58%,rgba(8,13,22,0) 78%),linear-gradient(0deg,rgba(8,13,22,.32),rgba(8,13,22,0) 40%)}
.sh--art .sh__o{background:linear-gradient(90deg,rgba(8,13,22,.55) 0%,rgba(8,13,22,.25) 40%,rgba(8,13,22,0) 62%)}
.sh__c{width:100%;padding-block:clamp(3rem,7vw,6rem)}
.sh__t{max-width:37rem}
.sh .crumb{color:#d4dce6;margin-bottom:1.75rem}
.sh .crumb a{color:inherit;text-decoration:none}.sh .crumb a:hover{color:#fff}
.sh h1{color:#fff;max-width:17.5em;}
.sh .lede{margin-top:1.5rem;max-width:32rem;color:#eef1f5}
.sh .sup{margin-top:1rem;max-width:32rem;color:#dfe5ec}
.sh .ctagroup{margin-top:2.25rem}
.sh .tlink{color:#fff;min-height:44px}.sh .tlink:hover{color:#fff}
.sh .crumb,.sh h1,.sh .lede,.sh .sup{text-shadow:0 1px 14px rgba(8,13,22,.4)}
.sh__jump{display:flex;flex-wrap:wrap;align-items:center;gap:0 1.5rem;margin-top:1.5rem;padding-top:.35rem;border-top:1px solid rgba(255,255,255,.28);max-width:37rem}
.sh__jump .meta{color:#cdd6e1;margin-right:.25rem}
.sh__jump a{display:inline-flex;align-items:center;min-height:44px;color:#fff;text-decoration:none;font-size:var(--role-support);border-bottom:1px solid rgba(255,255,255,.45)}
.sh__jump a:hover{border-bottom-color:#fff}
.sh--bright .sh__o{background:linear-gradient(90deg,rgba(8,13,22,.95) 0%,rgba(8,13,22,.9) 40%,rgba(8,13,22,.5) 62%,rgba(8,13,22,.05) 82%)}
@media(max-width:900px){
  .sh{min-height:var(--hero-h-m);align-items:flex-end}
  .sh__m img{object-position:var(--fpm,50% 30%);transform:none}
  .sh--art .sh__m img{height:56%;-webkit-mask-image:linear-gradient(#000 62%,transparent);mask-image:linear-gradient(#000 62%,transparent);object-position:50% 50%}
  .sh__o,.sh--art .sh__o{background:linear-gradient(0deg,rgba(8,13,22,.94) 0%,rgba(8,13,22,.86) 46%,rgba(8,13,22,.34) 76%,rgba(8,13,22,.06) 100%)}
  .sh__c{padding-block:1.25rem 1.75rem}
  .sh .crumb{margin-bottom:.9rem}
  .sh .lede{margin-top:1rem}.sh .ctagroup{margin-top:1.25rem}
  .sh__jump{margin-top:1.25rem}
}
@media(max-width:360px){.sh__o,.sh--art .sh__o{background:linear-gradient(0deg,rgba(8,13,22,.96) 0%,rgba(8,13,22,.92) 60%,rgba(8,13,22,.5) 84%,rgba(8,13,22,.1) 100%)}}

/* locked heroes (About V1.5, Careers V1.1): size to the shared strip and the shared H1 role only */

/* ---------- support pages ---------- */
.sp{padding-block:clamp(3.5rem,8vw,7rem)}
.sp--stone{background:var(--stone)}
.lt-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2.5rem,7vw,7rem);align-items:start}
.lt-demo{border:1px solid var(--line-2);border-left:3px solid var(--red);background:var(--stone);padding:1rem 1.25rem;margin:0 0 2rem;font-size:var(--role-support);color:var(--ink-2);max-width:40rem}
.lt-form{max-width:40rem}
.lt-f{margin-bottom:1.5rem}
.lt-f label{display:block;font-size:var(--role-support);font-weight:600;margin-bottom:.45rem;color:var(--ink)}
.lt-f .req{color:var(--red)}
.lt-f input,.lt-f textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1px solid var(--line-2);border-radius:10px;padding:.85rem 1rem;min-height:52px}
.lt-f textarea{min-height:170px;resize:vertical}
.lt-f input:focus,.lt-f textarea:focus{outline:2px solid var(--red);outline-offset:1px;border-color:var(--red)}
.lt-f.is-bad input,.lt-f.is-bad textarea{border-color:var(--red)}
.lt-err{display:none;margin-top:.4rem;font-size:var(--role-caption);color:#a80a0d}
.lt-f.is-bad .lt-err{display:block}
.lt-note{font-size:var(--role-caption);color:var(--ink-3);margin:0 0 1.5rem}
.lt-status{margin-top:1.5rem;font-size:var(--role-support);color:var(--ink-2)}
.lt-status:not(:empty){border:1px solid var(--line-2);background:var(--stone);padding:1rem 1.25rem;max-width:40rem}
.lt-off{list-style:none;margin:0;padding:0;display:grid;gap:1.75rem}
.lt-off p{margin:0}.lt-off .k{text-transform:uppercase;color:var(--ink-3);margin-bottom:.35rem;}
.lt-off a{color:var(--ink);text-underline-offset:3px;display:inline-block;min-height:32px}
.lt-off a:hover{color:var(--red)}
.lg-g{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.lg-toc{position:sticky;top:calc(var(--hdr) + 1.5rem)}
.lg-toc p{font-size:var(--role-eyebrow);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:0 0 .75rem}
.lg-toc ol{list-style:none;margin:0;padding:0}
.lg-toc a{display:flex;gap:.75rem;min-height:44px;align-items:center;color:var(--ink-2);text-decoration:none;font-size:var(--role-support);border-top:1px solid var(--line)}
.lg-toc a:hover{color:var(--red)}
.toc__n{color:var(--ink-3);font-variant-numeric:tabular-nums}
.legal{max-width:46rem}
.legal p{margin:0 0 1.15rem;color:var(--ink-2)}
.legal h2{margin:2.75rem 0 1rem;scroll-margin-top:calc(var(--hdr) + 1.5rem);}
.legal ul,.legal ol{color:var(--ink-2);padding-left:1.25rem;margin:0 0 1.15rem}
.legal a{color:var(--ink);text-underline-offset:3px}.legal a:hover{color:var(--red)}
.pg-head{background:var(--stone);padding-block:clamp(3rem,7vw,6rem)}
.pg-head h1{max-width:17.5em;}
.pg-head .lede{margin-top:1.5rem;color:var(--ink-2);max-width:34rem}
.pg-head .crumb{color:var(--ink-3);margin-bottom:1.75rem}.pg-head .crumb a{color:inherit;text-decoration:none}
.in-q{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,7vw,7rem);align-items:start}
.in-q h2{max-width:15em}
.in-q .st{color:var(--ink-2);max-width:30rem}
.in-empty{background:#141210;color:#fff;padding-block:clamp(4rem,9vw,8rem)}
.in-empty h2{max-width:17.5em;color:#fff;}
.in-empty p{margin-top:1rem;color:#cfc9bf;font-size:var(--role-lede)}
.in-empty .tlink{color:#fff;margin-top:1.75rem}.in-empty .tlink:hover{color:#fff}
.in-read{display:flex;flex-wrap:wrap;gap:.25rem 2.5rem;margin-top:1.75rem}
.in-read a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-underline-offset:3px;font-size:var(--role-support)}.in-read a:hover{color:var(--red)}
.nf{background:#0B1320;color:#fff;min-height:calc(100svh - var(--hdr) - var(--rv) - 120px);display:flex;align-items:center}
.nf .container{padding-block:clamp(3rem,8vw,6rem)}
.nf h1{color:#fff;}
.nf .lede{margin-top:1.5rem;color:#d4dce6;max-width:30rem}
.nf .ctagroup{margin-top:2rem}.nf .tlink{color:#fff}
.nf__links{display:flex;flex-wrap:wrap;gap:.25rem 2rem;margin-top:1.5rem}
@media(max-width:900px){.lt-g,.lg-g,.in-q{grid-template-columns:1fr}.lg-toc{position:static}.lt-g{gap:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:360px){
  
  .sh .lede{margin-top:.75rem;}
  .sh .sup{margin-top:.6rem;}
  .sh .ctagroup{margin-top:1rem}.sh .btn{min-height:50px}
  .sh .crumb{margin-bottom:.6rem}.sh__c{padding-block:1rem 1.25rem}
  .brace__l{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.brace__l li{font-size:1.0625rem;overflow-wrap:anywhere}
}

/* target sizes and small-print floor */
.crumb a{display:inline-block;padding-block:.7rem;margin-block:-.7rem}
.footer .fcta{min-height:44px}
.footer__brand .fsoc a{width:44px;height:44px}
.footer .offlist__t{display:inline-flex;align-items:center;min-height:44px;margin-top:0}
.footer .fgroup__body a{display:flex;align-items:center;min-height:44px;padding-block:0}
.footer .fgroup__body{display:block}
.tlink{min-height:44px}
.lt-off a{display:inline-flex;align-items:center;min-height:44px}
main h3>a{display:inline-flex;align-items:center;min-height:44px}
.loop__i button{min-height:44px}
@media(max-width:900px){.sh--photo .sh__o,.sh--bright .sh__o{background:linear-gradient(0deg,rgba(8,13,22,.96) 0%,rgba(8,13,22,.93) 54%,rgba(8,13,22,.55) 70%,rgba(8,13,22,.05) 90%)}}
@media(max-width:900px){.sh--photo .sh__o{background:linear-gradient(0deg,rgba(8,13,22,.96) 0%,rgba(8,13,22,.93) 54%,rgba(8,13,22,.55) 70%,rgba(8,13,22,.1) 90%),linear-gradient(rgba(8,13,22,.26),rgba(8,13,22,.26))}.sh--bright .sh__o{background:linear-gradient(0deg,rgba(8,13,22,.96) 0%,rgba(8,13,22,.93) 54%,rgba(8,13,22,.6) 70%,rgba(8,13,22,.3) 90%),linear-gradient(rgba(8,13,22,.4),rgba(8,13,22,.4))}}
@media(max-width:360px){.sh--lowface .sh__m img{height:150%;transform:translateY(-34%)}}
@media(max-width:360px){.sh--lowface .sh__o{background:linear-gradient(180deg,rgba(8,13,22,.72) 0%,rgba(8,13,22,.55) 45%,rgba(8,13,22,.78) 100%)}.sh--lowface .crumb,.sh--lowface .crumb a{text-shadow:0 1px 2px rgba(0,0,0,.7)}}
/* V2 photographic heroes: desktop is full bleed with copy on the tonal left; mobile is an independent crop band above the copy */
.sh--ph .sh__o{background:linear-gradient(90deg,rgba(8,13,22,.9) 0%,rgba(8,13,22,.78) 30%,rgba(8,13,22,.32) 52%,rgba(8,13,22,0) 70%),linear-gradient(0deg,rgba(8,13,22,.28),rgba(8,13,22,0) 38%)}
@media(max-width:900px){
 .sh--ph{flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:0;padding-bottom:2.25rem}
 .sh--ph .sh__m{position:relative;inset:auto;z-index:0;height:clamp(200px,54vw,340px);flex:none}
 .sh--ph .sh__m img{height:100%;object-fit:cover;object-position:var(--fpm,50% 40%);-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
 .sh--ph .sh__o{display:none}
 .sh--ph .sh__c{margin-top:-1.75rem;position:relative;z-index:1}
 .sh--ph .sh__t{display:flex;flex-direction:column}
 .sh--ph .crumb{order:0}.sh--ph h1{order:1}.sh--ph .ctagroup{order:2;margin-top:1.25rem}.sh--ph .lede{order:3;margin-top:1.25rem}.sh--ph .sup{order:4}.sh--ph .sh__jump{order:5}
}
@media(min-width:901px){.sh--ph.sh--bright .sh__o{background:linear-gradient(90deg,rgba(8,13,22,.95) 0%,rgba(8,13,22,.9) 40%,rgba(8,13,22,.5) 62%,rgba(8,13,22,.05) 82%)}}
/* V2 body photography */
.v2band{margin:0;position:relative;background:#0B1320}.v2band img{width:100%;height:clamp(200px,30vw,440px);object-fit:cover;display:block}
.env__img{aspect-ratio:3/2;overflow:hidden;background:#0B1320;border-radius:var(--radius,2px)}.env__img img{width:100%;height:100%;object-fit:cover;display:block}.ctx .env__ph img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){.env--r .env__img{order:0}.env__img{aspect-ratio:16/10}}
@media(min-width:901px){.env--r .env__img{order:2}}
.ctx .env__ph{display:block;aspect-ratio:3/1;overflow:hidden;margin-top:.6rem;background:#0B1320}
