
@font-face{
  font-family:'Barlow';font-style:normal;font-weight:200;font-display:swap;
  src:url('fonts/barlow-latin-200-normal.woff2') format('woff2'),
      url('fonts/barlow-latin-200-normal.woff') format('woff');
}
:root{
  --bg:#0c0c0d;
  --panel:#151517;
  --ink:#ffffff;
  --ink-soft:rgba(255,255,255,.68);
  --ink-faint:rgba(255,255,255,.46);
  --red:#e80000;
  --line:rgba(255,255,255,.14);
  --max:58rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--bg)}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font:400 1.0625rem/1.75 "Helvetica Neue",Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
img,video{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(232,0,0,.55);
  transition:border-color .15s,color .15s}
a:hover{color:var(--red);border-bottom-color:var(--red)}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:50;background:rgba(12,12,13,.92);
  backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line)}
.head-inner{max-width:var(--max);margin:0 auto;padding:.7rem 1.25rem;
  display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.brand{font-family:'Barlow',"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-weight:200;font-size:1.75rem;line-height:1;letter-spacing:.01em;
  color:var(--ink);border:0;white-space:nowrap}
.brand .r{color:var(--red)}
.brand:hover{color:var(--ink)}
.site-nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:.1rem}
.site-nav a{padding:.35rem .6rem;font-size:.875rem;color:var(--ink-soft);
  white-space:nowrap;border:0;border-bottom:2px solid transparent}
.site-nav a:hover{color:var(--ink);border-bottom-color:var(--red)}
.site-nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--red)}

/* ---------- hero ---------- */
.hero{padding:5rem 1.25rem 4rem;text-align:center;border-bottom:1px solid var(--line)}
.wordmark{font-family:'Barlow',"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-weight:200;font-size:clamp(3.75rem,12vw,6.7rem);line-height:.95;
  margin:0 0 .4rem;letter-spacing:.005em}
.wordmark .r{color:var(--red)}
.tagline{margin:0 0 2.5rem;font-size:1.125rem;color:var(--ink-soft);font-weight:400}
.hero .eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;
  color:var(--red);margin:0 0 1rem;font-weight:700}
.hero h1{margin:0 auto;max-width:20ch;font-weight:700;
  font-size:clamp(2rem,5.6vw,3.2rem);line-height:1.1;letter-spacing:-.01em}
.hero .sub{margin:1.5rem auto 0;max-width:50ch;color:var(--ink-soft)}

/* ---------- layout ---------- */
main{max-width:var(--max);margin:0 auto;padding:3rem 1.25rem 1rem}
.page-title{font-size:clamp(1.9rem,4.5vw,2.7rem);line-height:1.15;font-weight:700;
  letter-spacing:-.01em;margin:.25rem 0 1.75rem}
h2{font-size:1.6rem;font-weight:700;line-height:1.25;margin:3rem 0 .9rem}
h2::after{content:"";display:block;width:2.25rem;height:2px;background:var(--red);
  margin-top:.7rem}
h3{font-size:1.2rem;font-weight:700;line-height:1.3;margin:2.25rem 0 .6rem}
h4{font-size:.8rem;margin:1.75rem 0 .5rem;color:var(--red);
  text-transform:uppercase;letter-spacing:.16em;font-weight:700}
p{margin:0 0 1.2rem;color:rgba(255,255,255,.88)}
ul,ol{margin:0 0 1.2rem;padding-left:1.35rem}
li{margin:.35rem 0;color:rgba(255,255,255,.88)}
li::marker{color:var(--red)}
.lede{font-size:1.13rem;color:var(--ink-soft)}
strong{color:var(--ink)}
hr{border:0;border-top:1px solid var(--line);margin:3.25rem 0}

/* ---------- figures ---------- */
figure{margin:2.25rem 0;background:var(--panel);border:1px solid var(--line);
  border-radius:.4rem;overflow:hidden}
figure video,figure img{width:100%;background:#000}
figcaption{padding:.75rem 1rem;font-size:.86rem;color:var(--ink-faint);
  border-top:1px solid var(--line)}

/* portrait floated beside the text, as the original had it */
figure.portrait{float:right;width:17rem;margin:.4rem 0 1.5rem 2rem;background:transparent;
  border:0;border-radius:0}
figure.portrait img{border-radius:.3rem;border:1px solid var(--line)}
figure.portrait figcaption{border:0;padding:.6rem 0 0;text-align:left}
.clearfix::after{content:"";display:block;clear:both}

/* ---------- cards ---------- */
.cards{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));
  margin:1.75rem 0 2rem;padding:0;list-style:none}
.card{border:1px solid var(--line);border-radius:.4rem;overflow:hidden;
  background:var(--panel);display:flex;flex-direction:column}
.card video,.card img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#000}
.card-body{padding:1rem 1.1rem 1.2rem}
.card-body h3{margin:0 0 .4rem;font-size:1.05rem}
.card-body p{margin:0 0 .7rem;font-size:.9rem;color:var(--ink-soft)}
.card-body a{font-size:.9rem}

.ratio-list{columns:2;column-gap:2rem;max-width:22rem}

/* ---------- contact / footer ---------- */
.contact{background:#0a0a0b;border-top:1px solid var(--line);
  margin-top:4rem;padding:3rem 1.25rem}
.contact-inner{max-width:var(--max);margin:0 auto}
.contact h2{margin-top:0}
.contact address{font-style:normal;line-height:2.1;color:rgba(255,255,255,.88)}
.site-foot{max-width:var(--max);margin:0 auto;padding:2rem 1.25rem 3.5rem;
  color:var(--ink-faint);font-size:.84rem;border-top:1px solid var(--line)}
.site-foot .archive{margin-top:.5rem;opacity:.8}

@media (max-width:700px){
  .head-inner{padding:.6rem .9rem;gap:.6rem}
  .site-nav{width:100%;margin-left:0;overflow-x:auto;padding-bottom:.15rem}
  figure.portrait{float:none;width:100%;margin:2rem 0}
}
::selection{background:var(--red);color:#fff}

/* ---------- "More" nav menu ---------- */
.nav-more{position:relative;display:inline-block}
.nav-more .more-label{display:inline-block;padding:.35rem .6rem;font-size:.875rem;
  color:var(--ink-soft);white-space:nowrap;border-bottom:2px solid transparent;cursor:default}
.nav-more:hover .more-label,.nav-more:focus-within .more-label{color:var(--ink);border-bottom-color:var(--red)}
.nav-more .menu{display:none;position:absolute;right:0;top:100%;z-index:60;
  background:rgba(12,12,13,.97);border:1px solid var(--line);border-radius:.4rem;
  min-width:15rem;padding:.4rem 0;flex-direction:column;
  box-shadow:0 8px 24px rgba(0,0,0,.5)}
.nav-more:hover .menu,.nav-more:focus-within .menu{display:flex}
.nav-more .menu a{padding:.5rem 1rem;font-size:.875rem;color:var(--ink-soft);border:0}
.nav-more .menu a:hover{color:var(--ink);background:rgba(255,255,255,.06)}
.nav-more .menu a[aria-current=page]{color:var(--ink)}
@media (max-width:700px){
  .nav-more .menu{position:static;display:flex;flex-direction:row;border:0;
    box-shadow:none;background:transparent;min-width:0;padding:0}
}
