:root{
  --black:#0c0c0d;
  --ink:#171719;
  --paper:#e9e6df;
  --white:#f7f5ef;
  --red:#ef3d27;
  --red-dark:#b8281b;
  --line:rgba(247,245,239,.18);
  --muted:#a7a39c;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:Manrope,Arial,sans-serif}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
.topline{height:34px;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;font:700 10px/1 Manrope;letter-spacing:.16em}
.topline a{font-weight:800}
.nav{height:88px;display:grid;grid-template-columns:130px 1fr auto;align-items:center;padding:0 34px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:rgba(12,12,13,.92);backdrop-filter:blur(12px)}
.brand{height:70px;width:92px;display:block}
.brand img{object-fit:contain}
.nav nav{display:flex;gap:34px;justify-content:center;font:800 11px/1 Manrope;letter-spacing:.16em}
.nav nav a{opacity:.72;transition:.2s}
.nav nav a:hover{opacity:1;color:var(--red)}
.nav-cta{border-left:1px solid var(--line);padding-left:26px;font:800 11px/1 Manrope;letter-spacing:.13em}
.nav-cta span{color:var(--red);font-size:16px;margin-left:6px}
.hero{min-height:calc(100vh - 122px);display:grid;grid-template-columns:47% 53%;position:relative;overflow:hidden}
.hero-copy{padding:12vh 7vw 8vh 7vw;display:flex;flex-direction:column;justify-content:center;background:var(--black)}
.eyebrow{margin:0 0 20px;font:800 10px/1 Manrope;letter-spacing:.22em;color:var(--red)}
h1,h2,h3,.big-quote{font-family:"Barlow Condensed",Impact,sans-serif}
h1{font-size:clamp(76px,9.2vw,160px);line-height:.82;letter-spacing:-.035em;margin:0;font-weight:800}
h1 em,h2 em{color:var(--red);font-style:normal}
.hero-rule{width:70px;height:4px;background:var(--red);margin:32px 0 24px}
.hero-lede{max-width:460px;color:#b8b5ae;font-size:15px;line-height:1.8;margin:0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;font:800 10px/1 Manrope;letter-spacing:.12em;border:1px solid transparent}
.button-red{background:var(--red);color:#fff}
.button-red:hover{background:#ff523c}
.button-line{border-color:#595956;color:#e8e6df}
.button-line:hover{border-color:var(--white)}
.hero-photo{position:relative;min-height:720px}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,13,.15),transparent 35%,rgba(12,12,13,.1))}
.photo-tag{position:absolute;z-index:2;right:28px;bottom:28px;padding:14px 18px;background:rgba(12,12,13,.9);border-left:3px solid var(--red);font:700 9px/1.5 Manrope;letter-spacing:.16em}
.photo-tag strong{display:block;color:#fff;font-size:11px}
.hero-index{position:absolute;right:0;bottom:24px;writing-mode:vertical-rl;color:#8f8d88;font:700 10px/1 Manrope;letter-spacing:.15em}
.hero-index span{color:var(--red);padding:8px 0}
.ticker{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#111113}
.ticker div{padding:20px 26px;border-right:1px solid var(--line);font:900 18px/1 "Barlow Condensed";letter-spacing:.04em}
.ticker div:last-child{border:0}
.ticker span{display:block;color:#8e8b85;font:700 8px/1.3 Manrope;letter-spacing:.16em;margin-top:7px}
.manifesto{display:grid;grid-template-columns:10% 47% 43%;padding:120px 6vw;min-height:520px;align-items:start;background:var(--paper);color:var(--ink)}
.manifesto .eyebrow,.section-intro .eyebrow,.gallery-head .eyebrow{color:var(--red-dark)}
.manifesto-number,.visit-label{font:800 11px/1 Manrope;letter-spacing:.16em;color:#77736c}
.manifesto-title h2,.section-intro h2,.gallery-head h2{font-size:clamp(58px,7vw,110px);line-height:.82;letter-spacing:-.025em;margin:0}
.manifesto-title h2 span,.section-intro h2 span,.gallery-head h2 span{color:#9b9891}
.manifesto-copy{padding:44px 8vw 0 4vw;font-size:15px;line-height:1.9;color:#4e4b46}
.manifesto-copy p{max-width:520px;margin:0 0 22px}
.feature-image{height:min(75vh,760px);position:relative;background:#111}
.feature-image img{object-position:center 40%}
.feature-caption{position:absolute;left:5vw;bottom:42px;display:flex;align-items:end;gap:28px}
.feature-caption span{font:800 9px/1 Manrope;letter-spacing:.18em;color:var(--red)}
.feature-caption strong{font:800 42px/.85 "Barlow Condensed";letter-spacing:-.01em}
.training{padding:120px 7vw;background:#111113;display:grid;grid-template-columns:42% 58%;gap:8vw}
.training-list{border-top:1px solid var(--line)}
.training-list article{display:grid;grid-template-columns:50px 1fr;column-gap:16px;padding:28px 0;border-bottom:1px solid var(--line)}
.training-list span{color:var(--red);font:800 10px/1 Manrope;letter-spacing:.15em}
.training-list h3{font-size:44px;line-height:.9;margin:0;letter-spacing:.02em}
.training-list p{grid-column:2;max-width:480px;color:#9e9b95;font-size:13px;line-height:1.7;margin:12px 0 0}
.split-story{display:grid;grid-template-columns:56% 44%;min-height:680px}
.split-photo{min-height:680px}
.split-copy{background:var(--red);padding:100px 8vw 80px 7vw;color:#fff;display:flex;flex-direction:column;justify-content:center}
.split-copy .eyebrow{color:#111}
.big-quote{font-size:clamp(64px,7vw,112px);line-height:.82;font-weight:800;letter-spacing:-.025em}
.big-quote em{font-style:normal;color:#111}
.small-rule{height:1px;background:rgba(0,0,0,.35);width:100%;margin:34px 0 24px}
.split-copy>p:not(.eyebrow){font-size:13px;line-height:1.8;max-width:440px;color:#3d1713}
.rating{display:flex;gap:18px;align-items:center;margin-top:32px}
.rating strong{font:900 60px/.8 "Barlow Condensed"}
.rating span{font:700 10px/1.7 Manrope;letter-spacing:.08em}
.rating small{font-size:8px;letter-spacing:.14em}
.gallery{padding:120px 7vw;background:var(--paper);color:var(--ink)}
.gallery-grid{margin-top:70px;display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:300px 300px;gap:12px}
.gallery-grid figure{margin:0;overflow:hidden;background:#222}
.gallery-grid .wide{grid-row:1/3}
.gallery-grid img{transition:transform .6s ease;filter:saturate(.88)}
.gallery-grid figure:hover img{transform:scale(1.035)}
.visit{padding:110px 7vw;display:grid;grid-template-columns:10% 1fr 28%;gap:5vw;background:#0e0e0f}
.visit-main h2{font:800 clamp(70px,8vw,130px)/.8 "Barlow Condensed";letter-spacing:-.025em;margin:0}
.address{margin-top:34px;color:#b3b0aa;font-size:14px;line-height:1.8}
.visit-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.hours{border-left:1px solid var(--line);padding-left:30px;align-self:end}
.hours p{font:800 9px/1 Manrope;letter-spacing:.2em;color:var(--red)}
.hours strong{display:block;font:800 42px/1 "Barlow Condensed";margin:10px 0 3px}
.hours span{font:800 10px/1 Manrope;letter-spacing:.15em;color:#aaa7a0}
.hours-line{height:3px;background:var(--red);width:50px;margin:25px 0}
.hours small{display:block;color:#77746e;font-size:10px;line-height:1.6}
footer{border-top:1px solid var(--line);display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:24px;padding:28px 34px}
footer img{height:58px;width:76px;object-fit:contain}
footer div{display:flex;gap:20px;color:#77746e;font:700 9px/1 Manrope;letter-spacing:.16em}
footer div span:first-child{color:#d9d6cf}
footer>a{font:800 10px/1 Manrope;letter-spacing:.15em}
@media(max-width:900px){
  .topline span:nth-child(2){display:none}
  .topline{padding:0 16px}
  .nav{height:72px;grid-template-columns:74px 1fr auto;padding:0 16px}
  .brand{width:68px;height:60px}
  .nav nav{display:none}
  .nav-cta{border:0;padding:0;font-size:9px}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-copy{padding:72px 7vw 54px}
  h1{font-size:22vw}
  .hero-photo{height:58vh;min-height:420px}
  .hero-index{display:none}
  .ticker{grid-template-columns:repeat(2,1fr)}
  .ticker div{padding:18px}
  .manifesto{grid-template-columns:1fr;padding:80px 7vw}
  .manifesto-number{margin-bottom:40px}
  .manifesto-copy{padding:40px 0 0}
  .feature-image{height:55vh}
  .feature-caption{left:7vw;bottom:25px;display:block}
  .feature-caption strong{display:block;margin-top:10px;font-size:34px}
  .training{grid-template-columns:1fr;padding:80px 7vw;gap:50px}
  .split-story{grid-template-columns:1fr}
  .split-photo{min-height:52vh}
  .split-copy{padding:80px 7vw}
  .gallery{padding:80px 7vw}
  .gallery-grid{grid-template-columns:1fr;grid-template-rows:260px 260px 260px}
  .gallery-grid .wide{grid-row:auto}
  .visit{grid-template-columns:1fr;padding:80px 7vw;gap:50px}
  .hours{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}
  footer{grid-template-columns:70px 1fr;padding:22px 16px}
  footer div{display:block}
  footer div span{display:block;margin:5px 0}
  footer>a{font-size:8px}
}
