:root{color-scheme:dark;--bg:#111111;--panel:#1a1a1a;--line:#343434;--ink:#ffffff;--muted:#b2b2b2;--accent:#ffffff;--font:Inter,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 var(--font)}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.wrap{width:min(1320px,calc(100% - 100px));margin-inline:auto}.top{background-color:#111111e0;backdrop-filter:blur(4px);border-bottom:1px solid #ffffff14;position:sticky;top:0;z-index:5}.nav{min-height:74px;display:flex;justify-content:space-between;align-items:center;gap:24px}.logo{display:inline-flex;justify-self:start}.logo img{display:block;width:36px;height:auto}h2 span{color:var(--accent)}.nav nav,.footer{display:flex;gap:30px;align-items:center}.nav nav a,.footer a:not(.logo){color:var(--muted);font-size:13px}.nav nav a:hover,.footer a:hover{color:var(--accent)}.store{font:700 12px var(--font);border:1px solid var(--line);padding:11px 15px}.store:hover{border-color:var(--accent)}.hero{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;min-height:650px;min-height:clamp(570px,77svh,800px);overflow:hidden;background:#242424;border-bottom:1px solid var(--line)}.hero-art{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,#111111fa 0%,#111111de 25%,#11111150 67%,#11111132 100%),linear-gradient(0deg,#111111 0%,transparent 43%),var(--hero);background-size:cover;background-position:center,center,center 55%}.hero-copy{padding-block:55px 90px}.eyebrow{font:700 11px/1.5 var(--font);letter-spacing:.15em;color:var(--accent);display:flex;align-items:center;gap:10px;margin:0 0 18px}.eyebrow span{width:8px;height:8px;background:var(--accent);display:inline-block}h1,h2,h3{margin:0;font-family:var(--font);line-height:.88;text-transform:uppercase}h1{font-size:clamp(68px,11vw,165px);font-weight:800;letter-spacing:-.024em}h1 em{font-style:normal;color:var(--accent)}.lead{max-width:380px;color:#dddddd;font-size:16px;margin:25px 0}.actions{display:flex;gap:10px;flex-wrap:wrap}.button{min-height:47px;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 16px;font:700 12px var(--font);text-align:left}.button b{font-size:17px}.primary{background:var(--accent);color:#141414;border:1px solid var(--accent)}.primary:hover{background:#eeeeee}.outline{color:var(--ink);border:1px solid #6e6e6e;background:#17171755}.outline:hover{border-color:var(--accent);color:var(--accent)}.hero-foot{position:absolute;bottom:0;left:0;right:0;border-top:1px solid #ffffff38;display:flex;justify-content:space-between;padding-block:13px;font:10px var(--font);color:#d0d0d0;letter-spacing:.11em}.hero-foot a:hover{color:var(--accent)}.section{padding-block:80px;scroll-margin-top:70px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:28px}.section-head>p,.split p:not(.eyebrow),.utility p:not(.eyebrow){max-width:355px;color:var(--muted);margin:12px 0}h2{font-size:clamp(42px,8vw,100px);letter-spacing:-.025em;font-weight:800}.catalog-controls{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.filters{display:flex;flex-wrap:wrap;gap:6px}.filters button,.search{padding:9px 12px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font:12px var(--font)}.filters button[aria-pressed=true]{background:var(--accent);color:#141414;border-color:var(--accent)}.search{display:flex;gap:8px;align-items:center}.search input{width:165px;background:none;border:0;color:var(--ink)}.search span{font-size:18px;color:var(--accent)}.count{font:11px var(--font);color:var(--muted);margin:16px 0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card,.video{display:block;background:var(--panel);border:1px solid var(--line);overflow:hidden}.card:hover,.video:hover{border-color:var(--accent)}.card-photo,.video-photo{aspect-ratio:16/9;background:radial-gradient(ellipse at top right,#474747,#222222 65%);position:relative;overflow:hidden}.card-photo img,.video-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s}.card:hover img,.video:hover img{transform:scale(1.045)}.card-meta{padding:16px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px}.tag{font:10px var(--font);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);grid-column:1/-1}.card h3{font-size:clamp(23px,3vw,38px);line-height:1}.card-meta b{color:var(--accent);font-weight:400}.more{margin:24px auto 0;display:flex}.more[hidden]{display:none}.map{border-block:1px solid var(--line);background:#1a1a1a;scroll-margin-top:70px}.split,.utility{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.split{min-height:360px;padding-block:42px}.split .button,.utility .button{margin-top:12px}.map-preview{display:block;min-width:0;border:1px solid #4e4e4e}.map-preview img{display:block;width:100%;height:auto}.map-preview:is(:hover,:focus-visible){border-color:#fff}.video-photo::after{content:"▶";position:absolute;bottom:12px;left:12px;background:var(--accent);color:#111;padding:7px 13px;font-size:14px}.utility{align-items:start;border-top:1px solid var(--line)}.download-list a,.faq details{display:block;border-bottom:1px solid var(--line);padding:14px 0}.download-list a{display:flex;justify-content:space-between;align-items:center;gap:15px}.download-list a:hover,.faq summary:hover{color:var(--accent)}.download-list span,.faq p a{color:var(--accent);font:11px var(--font)}.faq summary{cursor:pointer;font-weight:600}.faq details p{font-size:14px;max-width:none}footer{border-top:1px solid var(--line)}.footer{min-height:93px;flex-wrap:wrap}.footer>span{margin-right:auto;color:var(--muted);font:11px var(--font)}@media(max-width:900px){.wrap{width:calc(100% - 48px)}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav nav,.footer{gap:14px}.hero-art{background-position:center,center,60% center}}@media(max-width:580px){.wrap{width:calc(100% - 32px)}.nav{display:grid;grid-template-columns:1fr auto;gap:10px;padding-block:11px}.nav nav{grid-row:2;grid-column:1/-1;justify-content:space-between}.nav nav a{font-size:12px}.logo img{width:30px}.store{padding:7px 10px}.hero{min-height:540px}.hero-copy{padding-block:40px 70px}.hero-art{background-image:linear-gradient(90deg,#111111ee,#11111144),linear-gradient(0deg,#111111,transparent 60%),var(--hero)}h1{font-size:clamp(44px,15vw,80px)}.section{padding-block:52px;scroll-margin-top:95px}.section-head{display:block;margin-bottom:18px}.split,.utility{grid-template-columns:1fr;gap:20px}.grid{gap:8px}.card-meta{padding:9px}.card h3{font-size:23px}.hero-foot{font-size:8px}.footer{padding-block:18px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.download-info small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.download-list a>span{white-space:nowrap}

.nav nav a[href="/map"] { white-space: nowrap; }
.nav-map-preview {
  color: #ec8ad9;
  background-image: linear-gradient(90deg, #ba90ff, #ff82c9);
  background-clip: text;
  -webkit-text-fill-color: transparent;
  cursor: not-allowed;
  font-size: 13px;
  white-space: nowrap;
}
@media (max-width: 600px) {
  .nav nav { flex-wrap: wrap; gap: 6px 10px; }
  .nav-map-preview { font-size: 12px; }
}
@media (forced-colors: active) {
  .nav-map-preview { color: GrayText; -webkit-text-fill-color: GrayText; }
}

/* Home page motion */
@media (prefers-reduced-motion: no-preference) {
  .hero-copy > *, .hero-foot {
    animation: brofx-enter .9s cubic-bezier(.22, 1, .36, 1) both;
  }
  .hero-copy > h1 { animation-name: brofx-title; animation-delay: .09s; }
  .hero-copy > .lead { animation-delay: .19s; }
  .hero-copy > .actions { animation-delay: .27s; }
  .hero-foot { animation-delay: .36s; }
  .hero-art { animation: brofx-art 1.8s cubic-bezier(.22, 1, .36, 1) both; }

  [data-motion-seen] {
    transition: opacity .7s cubic-bezier(.22, 1, .36, 1),
                translate .85s cubic-bezier(.22, 1, .36, 1);
  }
  [data-motion-seen]:is(.section-head > :nth-child(2), .split > :nth-child(2), .utility > :nth-child(2),
    #cards > :nth-child(3n + 2), #videos > :nth-child(3n + 2)) { transition-delay: 65ms; }
  [data-motion-seen]:is(#cards > :nth-child(3n), #videos > :nth-child(3n)) { transition-delay: 130ms; }
  [data-motion-pending] { opacity: 0; translate: 0 24px; transition: none; }
  [data-motion-pending]:focus-within { opacity: 1; translate: none; }
}
@keyframes brofx-enter {
  from { opacity: 0; translate: 0 18px; }
}
@keyframes brofx-title {
  from { opacity: 0; translate: 0 24px; clip-path: inset(100% -4px -14px); }
  to { clip-path: inset(-14px -4px); }
}
@keyframes brofx-art {
  from { scale: 1.045; opacity: .65; }
}

.card[hidden] { display: none; }
