:root{
  --bb-blue:#0B5FFF;
  --bb-navy:#0A2A5E;
  --bb-black:#12161C;
  --bb-silver:#C9D2DC;
  --bb-mist:#F4F6F9;
  --bb-pale:#E8EEF7;
  --bb-amber:#FF8A3D;
  --bb-teal:#0E4B45;
  --bb-wine:#6E1F33;
  --bb-violet:#4B2A7B;
  --bb-ink:#141A22;
  --bb-ink-soft:#59657A;
  --font-serif:"Noto Serif SC","Source Han Serif SC","Songti SC","SimSun",serif;
  --font-narrow:"Archivo Narrow","Roboto Condensed","PingFang SC","Microsoft YaHei",sans-serif;
  --font-mono:"IBM Plex Mono","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --font-body:"PingFang SC","Microsoft YaHei","Noto Sans SC",-apple-system,"Segoe UI",sans-serif;
  --wrap:1240px;
  --gutter:40px;
  --rail:232px;
  --ease:cubic-bezier(0.2,0.7,0.3,1);
  --dur:240ms;
}
@media (max-width:720px){:root{--gutter:20px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bb-mist);
  color:var(--bb-ink);
  font-family:var(--font-body);
  font-size:16.5px;
  line-height:1.85;
  letter-spacing:.004em;
}
img,svg{display:block;max-width:100%}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
a{color:var(--bb-blue);text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
[hidden]{display:none !important}
:focus-visible{outline:2px solid var(--bb-amber);outline-offset:3px;border-radius:2px}

.serif{font-family:var(--font-serif);font-weight:600;letter-spacing:-.01em}
.narrow{font-family:var(--font-narrow);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}

.container{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}

/* ---------------- skip link ---------------- */
.skip-link{
  position:absolute;left:50%;top:-120px;transform:translateX(-50%);
  z-index:200;background:var(--bb-navy);color:#fff;
  padding:12px 24px;font-family:var(--font-narrow);font-weight:700;
  font-size:13px;letter-spacing:.08em;
  border-radius:0 0 8px 8px;
  transition:top 200ms var(--ease);
}
.skip-link:focus{top:0}

/* ---------------- masthead ---------------- */
.masthead{position:relative;background:#fff;z-index:40}
.masthead__bar{
  background:var(--bb-navy);color:var(--bb-silver);
  font-family:var(--font-narrow);font-weight:700;
  font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
}
.masthead__bar-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:10px 24px;flex-wrap:wrap;min-height:40px;padding-block:6px;
}
.masthead__issue{display:flex;align-items:center;gap:6px;margin:0;opacity:.92}
.masthead__issue .mono{color:#fff;font-size:13.5px;letter-spacing:0}
.masthead__utils{display:flex;align-items:center;gap:18px;margin:0}
.util-link{
  padding-bottom:2px;color:var(--bb-silver);
  border-bottom:1px solid transparent;
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.util-link:hover,.util-link:focus-visible{color:#fff;border-bottom-color:var(--bb-amber)}
.util-link--accent{color:var(--bb-amber)}
.util-link--accent:hover{color:#fff}

.masthead__inner{
  position:relative;
  display:flex;flex-direction:column;align-items:center;
  gap:14px;padding-block:30px 14px;
}
.masthead__brand{
  display:block;text-align:center;color:var(--bb-navy);
  transition:color var(--dur) var(--ease);
}
.masthead__brand:hover,.masthead__brand:focus-visible{color:var(--bb-blue)}
.masthead__brandline{
  display:block;
  font-family:var(--font-serif);font-weight:600;
  font-size:clamp(28px,5.2vw,58px);
  line-height:1.06;letter-spacing:.02em;
}
.masthead__brandsub{
  display:block;margin-top:10px;
  font-family:var(--font-narrow);font-weight:700;
  font-size:12.5px;letter-spacing:.06em;
  color:var(--bb-ink-soft);
}

.nav-toggle{
  display:none;align-items:center;gap:10px;
  padding:9px 14px;border:1px solid var(--bb-navy);
  color:var(--bb-navy);background:#fff;
  font-family:var(--font-narrow);font-weight:700;
  font-size:12.5px;letter-spacing:.1em;
}
.nav-toggle__bars{display:flex;flex-direction:column;gap:4px;width:18px}
.nav-toggle__bars i{
  display:block;height:2px;background:currentColor;
  transition:transform 220ms var(--ease),opacity 220ms var(--ease);
}
.nav-toggle.is-open .nav-toggle__bars i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle.is-open .nav-toggle__bars i:nth-child(2){opacity:0}
.nav-toggle.is-open .nav-toggle__bars i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.masthead__nav{width:100%}
.nav-list{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 2px}
.nav-list a{
  position:relative;display:block;
  padding:8px 16px 12px;
  font-family:var(--font-narrow);font-weight:700;
  font-size:14.5px;letter-spacing:.06em;
  color:var(--bb-navy);
  transition:color var(--dur) var(--ease);
}
.nav-list a::after{
  content:"";position:absolute;left:50%;bottom:4px;
  width:0;height:2px;background:var(--bb-blue);
  transform:translateX(-50%);
  transition:width 220ms var(--ease);
}
.nav-list a:hover{color:var(--bb-blue)}
.nav-list a:hover::after{width:calc(100% - 24px)}
.nav-list a[aria-current="page"]{color:var(--bb-blue)}
.nav-list a[aria-current="page"]::after{width:calc(100% - 24px)}

.masthead__rule{
  height:4px;
  background:linear-gradient(90deg,var(--bb-blue) 0 20%,var(--bb-amber) 20% 100%);
}

@media (max-width:899px){
  .masthead__inner{padding-block:24px 12px;gap:10px}
  .masthead__brand{padding-inline:80px}
  .masthead__brandsub{font-size:11.5px;letter-spacing:.03em}
  .nav-toggle{display:inline-flex;position:absolute;right:var(--gutter);top:18px}
  .masthead__nav{display:none}
  .masthead__nav[data-open]{
    display:block;position:absolute;left:0;right:0;top:100%;
    background:var(--bb-navy);
    padding:10px var(--gutter) 22px;
    box-shadow:0 22px 44px rgba(10,42,94,.3);
    z-index:60;
    max-height:calc(100vh - 120px);overflow-y:auto;
  }
  .masthead__nav[data-open] .nav-list{counter-reset:nv;display:block}
  .masthead__nav[data-open] .nav-list li{
    counter-increment:nv;
    border-bottom:1px solid rgba(201,210,220,.18);
  }
  .masthead__nav[data-open] .nav-list a{
    display:flex;align-items:center;justify-content:space-between;
    padding:15px 4px 15px 46px;
    color:#fff;font-size:16px;letter-spacing:.04em;
  }
  .masthead__nav[data-open] .nav-list a::before{
    content:counter(nv,decimal-leading-zero);
    position:absolute;left:2px;top:50%;transform:translateY(-50%);
    font-family:var(--font-mono);font-size:13px;
    color:var(--bb-amber);letter-spacing:0;
  }
  .masthead__nav[data-open] .nav-list a::after{display:none}
  .masthead__nav[data-open] .nav-list a[aria-current="page"]{
    color:var(--bb-amber);
  }
}

/* ---------------- scroll progress ---------------- */
.scroll-progress{
  position:fixed;top:0;left:0;right:0;height:3px;z-index:120;
  background:rgba(10,42,94,.08);pointer-events:none;
}
.scroll-progress span{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,var(--bb-blue),var(--bb-amber));
  transition:width 120ms linear;
}

/* ---------------- buttons ---------------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:13px 26px;
  font-family:var(--font-narrow);font-weight:700;
  font-size:14.5px;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid transparent;
  clip-path:polygon(12px 0,100% 0,100% 100%,0 100%,0 12px);
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),
             border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:var(--bb-blue);color:#fff}
.btn--primary:hover{background:var(--bb-navy)}
.btn--ghost{border-color:var(--bb-navy);color:var(--bb-navy);background:transparent}
.btn--ghost:hover{background:var(--bb-navy);color:#fff}
.btn--amber{background:var(--bb-amber);color:#241005}
.btn--amber:hover{background:#fff;color:var(--bb-black)}

/* ---------------- breadcrumb / prose ---------------- */
.breadcrumb{
  padding-block:16px 0;
  font-family:var(--font-narrow);font-weight:700;
  font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--bb-ink-soft);
}
.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;margin:0}
.breadcrumb a{color:var(--bb-ink-soft);transition:color var(--dur) var(--ease)}
.breadcrumb a:hover{color:var(--bb-blue)}
.breadcrumb li+li::before{content:"/";margin-right:8px;color:var(--bb-silver)}
.breadcrumb [aria-current="page"]{color:var(--bb-navy)}

.prose{max-width:38em}
.prose>*+*{margin-top:1.15em}
.prose h2{
  font-family:var(--font-serif);font-weight:600;
  font-size:clamp(25px,3.1vw,38px);line-height:1.35;
  color:var(--bb-navy);margin-top:1.7em;
}
.prose h3{
  font-family:var(--font-narrow);font-weight:700;
  font-size:clamp(17px,2vw,21px);line-height:1.5;
  letter-spacing:.04em;color:var(--bb-navy);margin-top:1.5em;
}
.prose p{color:#2C3644}
.prose a{border-bottom:1px solid rgba(11,95,255,.35)}
.prose a:hover{border-bottom-color:var(--bb-blue)}
.prose ul,.prose ol{padding-left:1.3em;color:#2C3644}
.prose li+li{margin-top:.5em}
.prose ul li{list-style:none;position:relative}
.prose ul li::before{
  content:"";position:absolute;left:-1.1em;top:.82em;
  width:8px;height:2px;background:var(--bb-amber);
}

.eyebrow{
  display:inline-block;
  font-family:var(--font-narrow);font-weight:700;
  font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bb-blue);
}

/* ---------------- layout ---------------- */
.layout-rail{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
@media (min-width:1180px){
  .layout-rail{
    display:grid;
    grid-template-columns:var(--rail) minmax(0,1fr);
    gap:44px;align-items:start;
  }
}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
@media (min-width:900px){
  .col-3{grid-column:span 3}
  .col-4{grid-column:span 4}
  .col-5{grid-column:span 5}
  .col-6{grid-column:span 6}
  .col-7{grid-column:span 7}
  .col-8{grid-column:span 8}
  .col-9{grid-column:span 9}
  .col-12{grid-column:span 12}
}

/* ---------------- rail ---------------- */
.rail{background:var(--bb-navy);color:var(--bb-silver);padding:18px 0 16px}
.rail__title{
  padding:0 18px 12px;
  font-family:var(--font-narrow);font-weight:700;
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  color:#fff;border-bottom:1px solid rgba(201,210,220,.22);
}
.rail__list a{
  display:flex;align-items:baseline;gap:12px;
  padding:10px 18px 10px 12px;
  border-left:6px solid transparent;
  color:var(--bb-silver);font-size:14px;
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),
             border-color var(--dur) var(--ease);
}
.rail__list a .mono{font-size:13px;color:#fff}
.rail__list a:hover{background:rgba(255,255,255,.07);color:#fff}
.rail__list a[aria-current="true"]{
  border-left-color:var(--bb-blue);
  background:rgba(11,95,255,.2);color:#fff;
}
.rail__list a[aria-current="true"]::after{
  content:"";margin-left:auto;align-self:center;
  width:6px;height:6px;border-radius:50%;background:var(--bb-amber);
}
@media (max-width:1179px){
  .rail{padding-bottom:10px}
  .rail__list{display:flex;gap:0;overflow-x:auto;padding:0 12px 8px}
  .rail__list li{flex:0 0 auto}
  .rail__list a{border-left:0;border-bottom:6px solid transparent;padding:10px 12px}
  .rail__list a[aria-current="true"]{border-left:0;border-bottom-color:var(--bb-blue)}
}

/* ---------------- panels / breath ---------------- */
.panel{position:relative;padding-block:clamp(46px,7vw,88px)}
.panel--navy{background:var(--bb-navy);color:var(--bb-silver)}
.panel--teal{background:var(--bb-teal);color:#E4F1EE}
.panel--wine{background:var(--bb-wine);color:var(--bb-mist)}
.panel--violet{background:var(--bb-violet);color:#EDE7F8}
.panel--dark{background:var(--bb-black);color:var(--bb-silver)}
.panel h2,.panel h3{font-family:var(--font-serif);font-weight:600;color:#fff}
.panel .eyebrow{color:var(--bb-amber)}
.panel a{color:inherit}

.texture-grid::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:48px 48px;
}

.breath{
  background:var(--bb-amber);color:#241005;
  padding-block:clamp(30px,5vw,58px);text-align:center;
}
.breath--navy{background:var(--bb-navy);color:#fff}
.breath--teal{background:var(--bb-teal);color:#E4F1EE}
.breath__num{
  display:block;
  font-family:var(--font-mono);font-weight:600;
  font-size:clamp(46px,10vw,110px);line-height:1;
  letter-spacing:-.03em;
}
.breath__label{
  display:block;margin-top:12px;
  font-family:var(--font-narrow);font-weight:700;
  font-size:13px;letter-spacing:.16em;text-transform:uppercase;
}

.slant-band{
  height:26px;
  background-image:repeating-linear-gradient(24deg,var(--bb-silver) 0 2px,transparent 2px 16px);
  opacity:.7;
}

/* ---------------- cards / table ---------------- */
.cut-card{
  position:relative;
  background:#fff;border:1px solid var(--bb-pale);
  padding:26px 26px 30px;
  clip-path:polygon(22px 0,100% 0,100% 100%,0 100%,0 22px);
  transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease),
             background-color var(--dur) var(--ease);
}
.cut-card:hover{transform:translateY(-4px);border-color:var(--bb-blue)}
.cut-card__num{
  position:absolute;top:14px;right:18px;
  font-family:var(--font-mono);font-size:12.5px;color:var(--bb-blue);
}

.table{width:100%;border-collapse:collapse;background:#fff;font-size:14.5px}
.table thead th{
  background:var(--bb-navy);color:#fff;
  font-family:var(--font-narrow);font-weight:700;
  font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  text-align:left;padding:12px 16px;white-space:nowrap;
}
.table td{padding:12px 16px;border-bottom:1px solid var(--bb-pale);color:#2C3644;vertical-align:top}
.table tbody tr:nth-child(even){background:var(--bb-pale)}
.table .mono{color:var(--bb-navy)}

.status{display:inline-block;width:34px;height:8px;background:var(--bb-silver);vertical-align:middle}
.status--on{background:var(--bb-blue)}
.status--warn{background:var(--bb-amber)}

.tag{
  display:inline-block;padding:3px 10px;
  font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;
  background:var(--bb-pale);color:var(--bb-navy);
  border:1px solid var(--bb-silver);
}
.tag--amber{background:var(--bb-amber);border-color:var(--bb-amber);color:#241005}
.tag--blue{background:var(--bb-blue);border-color:var(--bb-blue);color:#fff}

/* ---------------- filter ---------------- */
.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:14px 0}
.filter-btn{
  padding:8px 18px;
  border:1px solid var(--bb-silver);background:#fff;color:var(--bb-navy);
  font-family:var(--font-narrow);font-weight:700;
  font-size:13px;letter-spacing:.06em;
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),
             border-color var(--dur) var(--ease);
}
.filter-btn:hover{border-color:var(--bb-blue);color:var(--bb-blue)}
.filter-btn[aria-pressed="true"]{background:var(--bb-blue);border-color:var(--bb-blue);color:#fff}
[data-filter-status]{
  font-family:var(--font-mono);font-size:12.5px;color:var(--bb-ink-soft);
}

/* ---------------- anchor index ---------------- */
.anchor-index{
  background:#fff;border:1px solid var(--bb-pale);border-top:4px solid var(--bb-blue);
  padding:22px 26px 26px;
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);
}
.anchor-index__title{
  font-family:var(--font-narrow);font-weight:700;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bb-navy);margin-bottom:12px;
}
.anchor-index a{
  display:flex;gap:14px;align-items:baseline;
  padding:9px 0;border-bottom:1px dashed rgba(11,95,255,.2);
  color:var(--bb-navy);font-size:14.5px;
  transition:color var(--dur) var(--ease),padding-left var(--dur) var(--ease);
}
.anchor-index a .mono{color:var(--bb-blue);min-width:2.4em;font-size:13px}
.anchor-index a:hover{color:var(--bb-blue);padding-left:6px}
.anchor-index a[aria-current="true"]{color:var(--bb-blue)}
.anchor-index a[aria-current="true"] .mono{color:var(--bb-amber)}

/* ---------------- collapse ---------------- */
.collapse{border:1px solid var(--bb-pale);background:#fff;margin-top:-1px}
.collapse__head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  width:100%;padding:16px 20px;text-align:left;
  background:var(--bb-pale);color:var(--bb-navy);
  font-weight:600;font-size:15.5px;
  transition:background-color var(--dur) var(--ease);
}
.collapse__head:hover{background:#DCE6F4}
.collapse__icon{
  font-family:var(--font-mono);font-size:16px;color:var(--bb-blue);
  transition:transform 220ms var(--ease);
}
.collapse__head[aria-expanded="true"] .collapse__icon{transform:rotate(45deg)}
.collapse__body{padding:18px 20px;border-top:1px solid var(--bb-pale);color:#2C3644;font-size:15.5px}

/* ---------------- compare tray / back button ---------------- */
.compare-tray{
  position:fixed;left:50%;bottom:0;transform:translateX(-50%);
  width:min(920px,calc(100% - 32px));
  background:#fff;border:1px solid var(--bb-silver);border-bottom:0;
  clip-path:polygon(18px 0,100% 0,100% 100%,0 100%,0 18px);
  padding:16px 20px;z-index:90;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;
}
.compare-tray__slot{
  flex:1 1 140px;min-height:46px;
  display:flex;align-items:center;justify-content:center;
  border:1px dashed var(--bb-silver);
  font-family:var(--font-mono);font-size:12px;color:var(--bb-ink-soft);
}

.back-to-index{
  position:fixed;right:24px;bottom:24px;z-index:95;
  display:inline-flex;align-items:center;gap:10px;
  padding:12px 20px;
  background:var(--bb-navy);color:#fff;
  border:1px solid rgba(201,210,220,.32);
  font-family:var(--font-narrow);font-weight:700;
  font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),
             visibility var(--dur) var(--ease),background-color var(--dur) var(--ease);
}
.back-to-index[data-visible]{opacity:1;visibility:visible;transform:none}
.back-to-index:hover{background:var(--bb-blue)}

/* ---------------- image frames ---------------- */
.img-frame{
  position:relative;display:block;width:100%;
  background:var(--bb-navy);border:1px solid var(--bb-silver);
  overflow:hidden;
}
.img-frame img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.94) contrast(1.03);
}
.img-frame--16x9{aspect-ratio:16/9}
.img-frame--4x3{aspect-ratio:4/3}
.img-frame--1x1{aspect-ratio:1/1}
.img-frame--tall{aspect-ratio:3/4}
.img-frame--cut{clip-path:polygon(0 0,calc(100% - 34px) 0,100% 34px,100% 100%,0 100%)}
.img-frame__ph{
  position:absolute;inset:0;
  display:grid;place-items:center;
  background-image:
    linear-gradient(rgba(201,210,220,.14) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,210,220,.14) 1px,transparent 1px);
  background-size:32px 32px;
  color:var(--bb-silver);
  font-family:var(--font-mono);font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;
}
.img-frame__caption{
  position:absolute;left:0;right:0;bottom:0;
  padding:8px 14px;
  background:rgba(18,22,28,.84);color:var(--bb-silver);
  font-family:var(--font-mono);font-size:12px;letter-spacing:.02em;
}

/* ---------------- footer ---------------- */
.site-footer{
  position:relative;
  margin-top:clamp(56px,8vw,104px);
  background:var(--bb-black);color:var(--bb-silver);
}
.footer__slant{
  height:14px;
  background-image:repeating-linear-gradient(24deg,var(--bb-blue) 0 5px,transparent 5px 26px);
  opacity:.8;
  border-bottom:1px solid rgba(201,210,220,.14);
}
.footer__inner{padding-block:clamp(38px,5vw,60px) 28px}
.footer__brand{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;
  padding-bottom:24px;border-bottom:1px solid rgba(201,210,220,.16);
}
.footer__brandline{
  font-family:var(--font-serif);font-weight:600;
  font-size:clamp(24px,3.4vw,34px);letter-spacing:.02em;color:#fff;
}
.footer__brandtag{
  font-family:var(--font-narrow);font-weight:700;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bb-amber);
}
.footer__grid{display:grid;grid-template-columns:1fr;gap:34px;padding-block:34px}
@media (min-width:760px){
  .footer__grid{grid-template-columns:1.5fr 1fr 1fr;gap:40px}
}
.footer__col{min-width:0}
.footer__heading{
  padding-bottom:10px;margin-bottom:14px;
  font-family:var(--font-narrow);font-weight:700;
  font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;
  color:#fff;border-bottom:1px solid rgba(201,210,220,.18);
}
.footer__hint{margin:-6px 0 12px;font-family:var(--font-mono);font-size:12px;color:var(--bb-amber)}
.footer__models{display:flex;flex-wrap:wrap;gap:6px}
.footer__models a{
  display:inline-block;padding:4px 9px;
  font-family:var(--font-mono);font-size:12px;
  color:var(--bb-silver);border:1px solid rgba(201,210,220,.24);
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),
             border-color var(--dur) var(--ease);
}
.footer__models a:hover{background:var(--bb-blue);border-color:var(--bb-blue);color:#fff}
.footer__list li+li{margin-top:9px}
.footer__list a{
  font-size:14.5px;color:var(--bb-silver);
  border-bottom:1px solid transparent;
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease);
}
.footer__list a:hover{color:var(--bb-amber);border-bottom-color:var(--bb-amber)}
.footer__contact{
  display:flex;flex-wrap:wrap;gap:10px 40px;
  padding:24px 0;
  border-top:1px solid rgba(201,210,220,.16);
  border-bottom:1px solid rgba(201,210,220,.16);
}
.footer__contact-item{display:flex;align-items:baseline;gap:10px;margin:0;font-size:14px}
.footer__k{
  font-family:var(--font-narrow);font-weight:700;
  font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--bb-amber);
}
.footer__contact-note{
  margin-top:14px;font-size:13px;color:rgba(201,210,220,.72);
}
.footer__legal{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:8px 22px;padding-top:22px;
  font-family:var(--font-mono);font-size:12px;color:rgba(201,210,220,.62);
}

/* ---------------- motion ---------------- */
html.js-ready [data-reveal]{
  opacity:0;transform:translateY(16px);
  transition:opacity 320ms var(--ease),transform 320ms var(--ease);
}
html.js-ready [data-reveal].is-visible{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  html.js-ready [data-reveal]{opacity:1;transform:none}
  .btn:hover,.cut-card:hover{transform:none}
}
