/* Single brand page, 2026-11 redesign (ui/pages/brand-v2.php). Page-scoped: everything sits under .fxb.
   Colours come from the site tokens in redesign.css; the few helpers below are only what the site lacks. */
.fxb{--fxb-bg2:#110e0a;--fxb-raise:#1f1b15;--fxb-faint:#8b8373;--fxb-ink:var(--gold);--fxb-btn:var(--gold);--fxb-on-btn:#17120a;--fxb-ai:var(--violet);--fxb-ai-b:rgba(196,176,245,.32);--fxb-medal:#f4efe6;--fxb-medal-ring:rgba(28,22,15,.14);--fxb-shadow:0 24px 60px rgba(0,0,0,.45);--fxb-drop:drop-shadow(0 18px 20px rgba(0,0,0,.5));display:block;background:var(--bg);color:var(--text);font:400 14px/1.55 var(--fx-sans);-webkit-font-smoothing:antialiased}
html.fx-light .fxb{--fxb-bg2:#efe9de;--fxb-raise:#f2ece1;--fxb-faint:#6b6253;--fxb-ink:#8a6420;--fxb-btn:#8a6420;--fxb-on-btn:#fffaf0;--fxb-ai-b:rgba(109,79,192,.32);--fxb-shadow:0 18px 50px rgba(60,40,10,.12);--fxb-drop:drop-shadow(0 14px 16px rgba(60,40,10,.16))}
.fxb *,.fxb *::before,.fxb *::after{box-sizing:border-box}
.fxb a{color:var(--fxb-ink);text-decoration:none}
.fxb a:hover{color:var(--gold-hi)}
.fxb button,.fxb input{font:inherit;color:inherit}
.fxb button{cursor:pointer}
.fxb :focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.fxb [hidden]{display:none!important}
.fxb-page .fx-footer{margin-top:0}
.fxb-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fxb-wrap{max-width:1280px;margin:0 auto;padding:0 32px}
.fxb-eyebrow{font:500 11px/1.3 var(--fx-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fxb-ink)}
.fxb-h1{margin:0;font:500 clamp(40px,5.2vw,62px)/1.02 var(--fx-serif);letter-spacing:-.02em;color:var(--text);overflow-wrap:anywhere}
.fxb-h2{margin:0;font:500 26px/1.15 var(--fx-serif);color:var(--text)}
.fxb-h2 em{font-style:italic;color:var(--fxb-ink)}
.fxb-h3{margin:0;font:600 14.5px/1.3 var(--fx-sans);color:var(--text)}
.fxb-meta{font:500 11px/1.3 var(--fx-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fxb-faint)}
.fxb-foot{margin:0;font-size:12.5px;line-height:1.45;color:var(--fxb-faint)}
.fxb-dot{flex:none;width:8px;height:8px;border-radius:50%}
.fxb-link{font:500 13px/1 var(--fx-sans);color:var(--muted)!important;white-space:nowrap}
.fxb-link:hover{color:var(--text)!important}
.fxb-link--gold{color:var(--fxb-ink)!important}

/* Buttons */
.fxb-btn{height:36px;padding:0 16px;border-radius:8px;display:inline-flex;align-items:center;gap:8px;font:500 13px/1 var(--fx-sans);border:1px solid transparent;background:none;white-space:nowrap}
.fxb-btn--gold{background:var(--fxb-btn);color:var(--fxb-on-btn)!important;font-weight:600}
.fxb-btn--gold:hover{filter:brightness(1.06)}
.fxb-btn--ai{padding:0 14px;border-color:var(--fxb-ai-b);color:var(--fxb-ai)!important}
.fxb-btn--ai:hover{background:rgba(196,176,245,.08)}
.fxb-btn--line{padding:0 14px;border-color:var(--line2);color:var(--text)!important}
.fxb-btn--line:hover{border-color:var(--gold-b)}
.fxb-btn--quiet{padding:0 12px;color:var(--muted)}
.fxb-btn--quiet:hover{color:var(--text)}

/* Hero */
.fxb-hero{border-bottom:1px solid var(--line)}
.fxb-hero__in{padding-top:24px;padding-bottom:64px}
.fxb-crumbs{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;line-height:1.45;color:var(--fxb-faint)}
.fxb-crumbs a{color:var(--muted)}
.fxb-crumbs a:hover{color:var(--text)}
.fxb-crumbs [aria-current]{color:var(--text)}
.fxb-hero__grid{display:flex;flex-wrap:wrap;align-items:stretch;gap:32px 56px;margin-top:28px}
.fxb-hero__copy{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:20px;padding:8px 0}
.fxb-hero__desc{display:flex;flex-direction:column;gap:12px;max-width:600px}
.fxb-hero__desc p{margin:0;font-size:15px;line-height:1.6;color:var(--muted);text-wrap:pretty}
.fxb-pill{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:999px;border:1px solid var(--line2);font:500 11px/1 var(--fx-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fxb-actions{display:flex;flex-wrap:wrap;gap:10px}

.fxb-vitrine{flex:1 1 440px;min-width:0;min-height:380px;margin:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:radial-gradient(52% 50% at 50% 44%,var(--fxb-raise),transparent 75%),var(--fxb-bg2)}
.fxb-vitrine__stage{flex:1;display:flex;align-items:flex-end;justify-content:space-between;padding:40px 6% 0}
.fxb-vitrine__slot{width:26%;display:flex;align-items:flex-end;justify-content:center}
.fxb-vitrine__slot img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;filter:var(--fxb-drop)}
.fxb-vitrine--solo .fxb-vitrine__stage{justify-content:center;align-items:center;padding:40px 6%}
.fxb-vitrine--solo .fxb-vitrine__slot{display:none}
.fxb-vitrine--solo .fxb-plinth{width:44%;max-width:240px}
.fxb-plinth{width:36%;display:flex;flex-direction:column;align-items:center}
.fxb-medal{position:relative;width:100%;aspect-ratio:1/1;border-radius:50%;border:1px solid var(--gold-b);background:var(--surface);box-shadow:var(--fxb-shadow);display:grid;place-items:center;overflow:hidden}
.fxb-medal__ring{position:absolute;inset:7px;border-radius:50%;border:1px solid var(--gold-b);pointer-events:none}
.fxb-medal--logo{background:var(--fxb-medal)}
.fxb-medal--logo .fxb-medal__ring{border-color:var(--fxb-medal-ring)}
.fxb-medal__logo{width:64%;height:64%;object-fit:contain}
.fxb-medal__mono{font:500 clamp(34px,3.6vw,50px)/1 var(--fx-serif);color:var(--fxb-ink);padding-top:4%}
.fxb-plinth__base{width:84%;height:44px;margin-top:14px;border:1px solid var(--line2);border-bottom:0;border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--fxb-raise),var(--fxb-bg2))}
.fxb-vitrine__rule{height:1px;margin:0 20px;background:var(--line2)}
.fxb-vitrine__cap{display:flex;justify-content:space-between;padding:12px 6% 18px;text-align:center}
.fxb-vitrine__cap>span{width:26%;display:flex;flex-direction:column;gap:3px;min-width:0}
.fxb-vitrine__cap>span:nth-child(2){width:36%}
.fxb-vitrine__cap a{font:500 12.5px/1.3 var(--fx-sans);color:var(--text)!important;overflow-wrap:anywhere}
.fxb-vitrine__cap a:hover{color:var(--fxb-ink)!important}
.fxb-vitrine__cap small{font:500 11px/1.3 var(--fx-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fxb-faint)}

/* Stat strip */
.fxb-stats{margin:40px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(176px,100%),1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg)}
.fxb-stat{margin:-1px 0 0 -1px;border-left:1px solid var(--line);border-top:1px solid var(--line);padding:18px 20px;display:flex;flex-direction:column;gap:8px;min-width:0}
.fxb-stat dt{font:500 11px/1.3 var(--fx-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fxb-faint)}
.fxb-stat dd{margin:0}
.fxb-stat__v{display:flex;align-items:baseline;gap:6px;font:500 27px/1 var(--fx-serif);color:var(--text);font-variant-numeric:lining-nums}
.fxb-stat__v small{font:500 12px/1 var(--fx-mono);color:var(--fxb-faint)}
.fxb-stat__s{font-size:12.5px;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}

/* Cards */
.fxb-duo{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:16px}
.fxb-card{padding:20px 22px;border:1px solid var(--line);border-radius:12px;background:var(--surface);display:flex;flex-direction:column;gap:16px;min-width:0}
.fxb-card--pad{padding:24px;gap:20px}
.fxb-card__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px}
.fxb-card__intro{display:flex;flex-direction:column;gap:4px}
.fxb-card__intro p{margin:0;font-size:12.5px;line-height:1.45;color:var(--muted)}
.fxb-gbar{display:flex;gap:3px;height:10px}
.fxb-gbar>span{min-width:4px;border-radius:2px}
.fxb-gbar>span:first-child{border-radius:999px 2px 2px 999px}
.fxb-gbar>span:last-child{border-radius:2px 999px 999px 2px}
.fxb-gbar>span:only-child{border-radius:999px}
.fxb-glegend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 24px}
.fxb-glegend li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}
.fxb-glegend__n{font:500 12px/1 var(--fx-mono);color:var(--muted)}
.fxb-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fxb-chips li,.fxb-chips a{height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--chip);display:inline-flex;align-items:center;gap:8px;font:500 13px/1 var(--fx-sans);color:var(--text)}
.fxb-chips li span,.fxb-chips a span{font:500 11px/1 var(--fx-mono);color:var(--fxb-faint)}
.fxb-chips--sm li{height:auto;padding:0;border:0;background:none}
.fxb-chips--sm a{height:28px;color:var(--text)!important}
.fxb-chips--sm a:hover{border-color:var(--gold-b)}

/* Sections */
.fxb-sec{padding-top:64px;padding-bottom:64px}
.fxb-sec--hl{padding-bottom:0}
.fxb-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:20px}
.fxb-head>div{display:flex;flex-direction:column;gap:6px;max-width:680px}
.fxb-head p{margin:0;font-size:14px;color:var(--muted)}
.fxb-dna{background:var(--fxb-bg2);border-bottom:1px solid var(--line)}
.fxb-dna__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:16px}
.fxb-accords{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.fxb-accords li{display:grid;grid-template-columns:120px minmax(0,1fr) 32px;align-items:center;gap:14px}
.fxb-accords__name{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);min-width:0;overflow-wrap:anywhere}
.fxb-accords__bar{height:6px;border-radius:3px;background:var(--chip);overflow:hidden}
.fxb-accords__bar>span{display:block;height:100%;border-radius:3px}
.fxb-accords__v{font:500 11px/1 var(--fx-mono);color:var(--fxb-faint);text-align:right}
.fxb-notes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:14px 28px}
.fxb-notes a{display:flex;flex-direction:column;gap:6px;color:var(--text)!important}
.fxb-notes a:hover .fxb-notes__row>span:first-child{color:var(--fxb-ink)}
.fxb-notes__row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:13px}
.fxb-notes__n{font:500 11px/1 var(--fx-mono);color:var(--fxb-faint);white-space:nowrap}
.fxb-notes__bar{height:4px;border-radius:2px;background:var(--chip);overflow:hidden}
.fxb-notes__bar>span{display:block;height:100%;border-radius:2px;background:var(--gold)}
.fxb-empty{flex:1;min-height:220px;padding:24px;border:1px dashed var(--line2);border-radius:8px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px}
.fxb-empty>svg{color:var(--fxb-ink)}
.fxb-empty p{margin:0;max-width:440px;font-size:13px;line-height:1.5;color:var(--muted)}
.fxb-empty .fxb-empty__t{font:600 14px/1.4 var(--fx-sans);color:var(--text)}
.fxb-empty .fxb-empty__label{margin-top:6px;font:500 11px/1.3 var(--fx-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fxb-faint)}
.fxb-empty .fxb-link{margin-top:4px}

/* Highlights */
.fxb-hl__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:16px}
.fxb-hcard{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text)!important;min-width:0}
.fxb-hcard:hover{border-color:var(--gold-b)}
.fxb-hcard__img{position:relative;aspect-ratio:4/5;border-radius:8px;background:radial-gradient(60% 45% at 50% 62%,var(--fxb-raise),transparent 75%),var(--fxb-bg2);display:grid;place-items:center;overflow:hidden}
.fxb-hcard__img img{width:78%;height:86%;object-fit:contain;filter:var(--fxb-drop)}
.fxb-hcard__none{color:var(--fxb-faint)}
.fxb-hcard__none svg{width:32px;height:32px}
.fxb-hcard__rank{position:absolute;top:10px;left:10px;z-index:1;height:22px;padding:0 8px;border-radius:999px;border:1px solid var(--line);background:var(--bg);font:500 11px/20px var(--fx-mono);color:var(--muted)}
.fxb-hcard__body{display:flex;flex-direction:column;gap:3px;padding:2px 2px 0;min-width:0}
.fxb-hcard__name{font:600 14.5px/1.3 var(--fx-sans);overflow-wrap:anywhere}
.fxb-hcard__sub{font-size:12.5px;color:var(--muted)}
.fxb-hcard__meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:0 2px;font:500 12px/1.2 var(--fx-mono);color:var(--fxb-faint)}
.fxb-hcard__r{display:flex;align-items:center;gap:4px;color:var(--text)}
.fxb-hcard__r svg,.fxb-rating svg{color:var(--gold)}

/* Catalogue */
.fxb-cat{scroll-margin-top:72px}
.fxb-anchor{display:block;position:relative;top:-72px;height:0}
.fxb-head--cat{align-items:flex-start}
.fxb-ctrl{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.fxb-cat:not(.is-js) .fxb-ctrl,.fxb-cat:not(.is-js) [data-fxb-more]{display:none}
.fxb-seg{display:flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.fxb-seg button{height:32px;padding:0 14px;border:0;border-radius:7px;background:transparent;color:var(--muted);font:500 13px/1 var(--fx-sans);white-space:nowrap}
.fxb-seg button:hover{color:var(--text)}
.fxb-seg button[aria-pressed="true"]{background:var(--gold-a);box-shadow:inset 0 0 0 1px var(--gold-b);color:var(--text)}
.fxb-gchips{display:flex;flex-wrap:wrap;gap:6px}
.fxb-gchips button{height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--chip);color:var(--text);font:500 13px/1 var(--fx-sans);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.fxb-gchips button:hover{border-color:var(--gold-b)}
.fxb-gchips button span{font:500 11px/1 var(--fx-mono);color:var(--fxb-faint)}
.fxb-gchips button[aria-pressed="true"]{background:var(--gold-a);border-color:var(--gold-b)}
.fxb-gchips button[aria-pressed="true"] span{color:var(--muted)}
.fxb-filter{position:relative;flex:1 1 240px;max-width:320px;margin-left:auto}
.fxb-filter svg{position:absolute;left:13px;top:12px;color:var(--fxb-faint);pointer-events:none}
.fxb-filter input{width:100%;height:40px;border-radius:10px;background:var(--surface);border:1px solid var(--line2);padding:0 14px 0 36px;font-size:14px;color:var(--text);outline:0}
.fxb-filter input::placeholder{color:var(--fxb-faint)}
.fxb-filter input:focus{border-color:var(--gold-b)}
.fxb-note{margin:14px 0 16px;display:flex;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.45;color:var(--muted)}
.fxb-note svg{flex:none;margin-top:2px;color:var(--fxb-faint)}
.fxb-cat:not(.is-js) .fxb-note{display:none}
.fxb-table{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg)}
.fxb-row,.fxb-list a{display:grid;grid-template-columns:28px 40px minmax(0,1fr) 72px 88px 80px 104px 16px;align-items:center;gap:16px;padding:4px 16px}
.fxb-row{height:38px;background:var(--surface);font:500 11px/1 var(--fx-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fxb-faint)}
.fxb-row .is-on{color:var(--text)}
.fxb-r{text-align:right}
.fxb-list{list-style:none;margin:0;padding:0}
.fxb-list>li{border-top:1px solid var(--line)}
.fxb-cat.is-js:not(.is-ready) .fxb-list>li:nth-child(n+21),.fxb-cat.is-js:not(.is-ready) .fxb-list>li.is-out{display:none}
.fxb-list a{min-height:60px;color:var(--text)!important}
.fxb-list a:hover{background:var(--chip)}
.fxb-list a>i{font:500 12px/1 var(--fx-mono);font-style:normal;color:var(--fxb-faint)}
.fxb-list a>span:nth-child(2){width:100%;aspect-ratio:3/4;border-radius:6px;border:1px solid var(--line);background:var(--fxb-bg2);display:grid;place-items:center;overflow:hidden;color:var(--fxb-faint)}
.fxb-list a>span:nth-child(2) img{width:100%;height:100%;object-fit:contain}
.fxb-list a>span:nth-child(2) svg{width:16px;height:16px}
.fxb-list a>span:nth-child(3){min-width:0;display:flex;flex-direction:column;gap:2px}
.fxb-list b{font:500 14px/1.3 var(--fx-sans);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fxb-list small{font-size:12.5px;line-height:1.4;color:var(--muted)}
.fxb-list em{display:none;font-style:normal}
.fxb-list a>span:nth-child(4){display:flex;align-items:center;justify-content:flex-end;gap:5px;font:500 12.5px/1 var(--fx-mono);color:var(--text)}
.fxb-list a>span:nth-child(4) svg{width:12px;height:12px;color:var(--gold)}
.fxb-list u{text-decoration:none;color:var(--fxb-faint)}
.fxb-list a>span:nth-child(n+5){text-align:right;font:500 12.5px/1 var(--fx-mono);color:var(--muted)}
.fxb-list a>span:nth-child(7){color:var(--fxb-faint)}
.fxb-cat[data-tab="reviewed"] .fxb-list a>span:nth-child(6){color:var(--text)}
.fxb-list a>svg{width:14px;height:14px;color:var(--fxb-faint)}
.fxb-sprite{position:absolute;width:0;height:0;overflow:hidden}
.fxb-none{border-top:1px solid var(--line);padding:40px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.fxb-none p{margin:0;font:500 14px/1.4 var(--fx-sans);color:var(--text)}
.fxb-none .fxb-btn{height:32px}
.fxb-catfoot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.fxb-catfoot p{margin:0;font-size:12.5px;color:var(--muted)}
.fxb-catfoot__btns{display:flex;flex-wrap:wrap;gap:8px}

@media (max-width:760px){
  .fxb-row,.fxb-list a{grid-template-columns:22px 36px minmax(0,1fr) 52px 14px;gap:12px;padding-left:12px;padding-right:12px}
  .fxb-opt,.fxb-list a>span:nth-child(n+5){display:none!important}
  .fxb-list em{display:inline}
}
@media (max-width:640px){
  .fxb-wrap{padding-left:16px;padding-right:16px}
  .fxb-hero__in{padding-bottom:48px}
  .fxb-h1{font-size:36px;line-height:1.04}
  .fxb-h2{font-size:21px}
  .fxb-hero__desc p{font-size:14px}
  .fxb-vitrine{min-height:300px}
  .fxb-vitrine__stage{padding-top:28px}
  .fxb-stats{margin-top:32px}
  .fxb-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fxb-stat:last-child:nth-child(odd){grid-column:1/-1}
  .fxb-stat{padding:14px 16px}
  .fxb-stat__v{font-size:24px}
  .fxb-sec{padding-top:48px;padding-bottom:48px}
  .fxb-sec--hl{padding-bottom:0}
  .fxb-card,.fxb-card--pad{padding:18px}
  .fxb-accords li{grid-template-columns:104px minmax(0,1fr) 28px;gap:12px}
  .fxb-hl__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .fxb-hcard{padding:10px}
  .fxb-filter{max-width:none;margin-left:0}
  .fxb-seg{width:100%}
  .fxb-seg button{flex:1;padding:0 8px}
}
