/* Editorial driver banners. Portraits use the verified originals' alpha,
   with framing calculated from their visible bounds, not the canvas edges. */
.cover.cover-race{aspect-ratio:1672/941;background:#101620}
.cover.cover-race:after{display:none}
.cover-race>img{width:100%;height:100%;object-fit:contain}
.rating-header{
  --portrait-height:184px;
  --portrait-width:210px;
  --portrait-center:232px;
  --name-left:340px;
  --grade-width:110px;
  --band-height:78px;
  --band-bottom:12px;
  --name-gap:12px;
  position:relative;
  isolation:isolate;
  height:210px;
  border-bottom:10px solid #151515;
  background:#fff;
  font-family:Arial,Helvetica,sans-serif;
}
.ranking-number{
  position:absolute;
  left:9px;
  bottom:1px;
  width:123px;
  color:var(--team);
  font-size:155px;
  line-height:1;
  letter-spacing:-11px;
  font-weight:800;
  text-align:center;
  z-index:2;
}
.ranking-number.two-digits{font-size:123px;letter-spacing:-10px;bottom:9px}
.rating-band{
  position:absolute;
  left:242px;
  right:var(--grade-width);
  bottom:var(--band-bottom);
  height:var(--band-height);
  background:
    linear-gradient(120deg,rgba(0,0,0,.29) 0%,rgba(0,0,0,.29) 28%,rgba(0,0,0,0) 78%),
    var(--team);
  z-index:0;
}
.portrait-window{
  position:absolute;
  left:var(--portrait-center);
  bottom:0;
  width:var(--portrait-width);
  height:var(--portrait-height);
  transform:translateX(-50%);
  overflow:hidden;
  z-index:1;
}
.portrait-window>img{
  display:block;
  position:absolute;
  max-width:none;
  width:calc(var(--portrait-height) * var(--source-ratio));
  height:auto;
  left:50%;
  top:calc(-1 * var(--source-top));
  transform:translateX(calc(-1 * var(--head-center)));
}
.rating-name{
  position:absolute;
  left:var(--name-left);
  right:4px;
  bottom:calc(var(--band-bottom) + var(--band-height) + var(--name-gap));
  margin:0;
  color:#111;
  font-size:clamp(54px,6.8vw,58px);
  font-weight:800;
  line-height:1.02;
  letter-spacing:-2px;
  overflow-wrap:anywhere;
  text-wrap:balance;
  z-index:3;
}
.rating-team-logo{
  --logo-height:48px;
  position:absolute;
  right:calc(var(--grade-width) + 20px);
  bottom:var(--band-bottom);
  width:110px;
  height:var(--band-height);
  display:flex;
  align-items:center;
  justify-content:flex-end;
  z-index:3;
}
.team-logo-mark{
  position:relative;
  display:block;
  flex:none;
  width:min(100%,calc(var(--logo-height) * var(--logo-ratio)));
  aspect-ratio:var(--logo-ratio);
  overflow:hidden;
}
.team-logo-mark>img{
  display:block;
  position:absolute;
  max-width:none;
  height:auto;
}
.driver-grade{
  position:absolute;
  right:0;
  bottom:var(--band-bottom);
  height:var(--band-height);
  width:calc(var(--grade-width) - 8px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#111;
  font-family:var(--sans);
  z-index:3;
}
.driver-grade strong{font-size:55px;line-height:1;font-weight:900;letter-spacing:-1.8px}
.driver-grade>span{font-size:15px;line-height:1.35;font-weight:700;color:#606060;letter-spacing:1px}
@media(max-width:800px){
  .rating-header{--portrait-height:166px;--portrait-width:190px;--portrait-center:202px;--name-left:298px;--grade-width:95px;--band-height:68px;height:192px}
  .ranking-number{font-size:137px;width:107px;left:3px;letter-spacing:-10px}
  .ranking-number.two-digits{font-size:107px;letter-spacing:-9px;bottom:10px}
  .rating-band{left:215px}
  .rating-name{font-size:clamp(42px,calc(5.75vw + 4px),50px);letter-spacing:-1.8px}
  .rating-team-logo{--logo-height:42px;width:94px}
  .driver-grade strong{font-size:49px}
}
@media(max-width:660px){
  .rating-header{--portrait-height:143px;--portrait-width:160px;--portrait-center:162px;--name-left:246px;--grade-width:76px;--band-height:59px;--band-bottom:10px;--name-gap:10px;height:169px;border-bottom-width:8px}
  .ranking-number{font-size:116px;width:83px;left:0;letter-spacing:-8px}
  .ranking-number.two-digits{font-size:84px;letter-spacing:-7px;bottom:11px}
  .rating-band{left:170px}
  .rating-name{font-size:clamp(34px,calc(5.75vw + 4px),42px);letter-spacing:-1.4px}
  .rating-team-logo{--logo-height:38px;width:82px;right:calc(var(--grade-width) + 12px)}
  .driver-grade strong{font-size:42px}
  .driver-grade>span{font-size:12px}
}
@media(max-width:520px){
  .rating-header{--portrait-height:128px;--portrait-width:125px;--portrait-center:124px;--name-left:190px;--grade-width:66px;--band-height:48px;--band-bottom:9px;--name-gap:8px;height:151px;border-bottom-width:7px}
  .ranking-number{font-size:94px;width:63px;letter-spacing:-7px;bottom:4px}
  .ranking-number.two-digits{font-size:64px;letter-spacing:-5px;bottom:12px}
  .rating-band{left:132px}
  .rating-name{font-size:clamp(32px,calc(4.5vw + 13px),36px);letter-spacing:-1px}
  .rating-team-logo{--logo-height:31px;width:70px;right:calc(var(--grade-width) + 8px)}
  .driver-grade{width:calc(var(--grade-width) - 5px)}
  .driver-grade strong{font-size:36px;letter-spacing:-1.5px}
  .driver-grade>span{font-size:10px}
}
@media(max-width:430px){
  .rating-header{--portrait-height:118px;--portrait-width:117px;--portrait-center:112px;--name-left:173px;--grade-width:60px;--band-height:47px;height:143px}
  .ranking-number{font-size:87px;width:57px;left:0;letter-spacing:-6px}
  .ranking-number.two-digits{font-size:59px;letter-spacing:-4px;bottom:13px}
  .rating-band{left:119px}
  .rating-name{font-size:clamp(30px,calc(5vw + 11px),32px);letter-spacing:-.8px}
  .rating-team-logo{--logo-height:29px;width:64px;right:calc(var(--grade-width) + 7px)}
  .driver-grade strong{font-size:34px}
}
@media(max-width:370px){
  .rating-header{--portrait-height:109px;--portrait-width:103px;--portrait-center:100px;--name-left:155px;--grade-width:54px;--band-height:43px;--name-gap:7px;height:134px}
  .ranking-number{font-size:77px;width:50px;letter-spacing:-5px;bottom:5px}
  .ranking-number.two-digits{font-size:51px;letter-spacing:-4px;bottom:14px}
  .rating-band{left:109px}
  .rating-name{font-size:28px;letter-spacing:-.8px}
  .rating-team-logo{--logo-height:26px;width:56px;right:calc(var(--grade-width) + 5px)}
  .driver-grade strong{font-size:30px;letter-spacing:-1px}
  .driver-grade>span{font-size:9px}
}
