/* Brity Works page (reuses fx- base) */
.bw-hero { background: #eef3fb; }
.bw-hero .fx-hero-txt { max-width: 600px; }
.bw-lead { font-size: 17px; font-weight: 500; color: var(--muted); letter-spacing: -0.01em; line-height: 1.75; }

.bw-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 56px; }
.bw-stats div { text-align: center; padding: 32px 20px; border-radius: var(--radius); background: var(--surface); }
.bw-stats span { display: block; font-size: 15px; color: var(--muted); font-weight: 600; }
.bw-stats b { font-size: 44px; letter-spacing: -0.04em; color: var(--accent); }

.bw-intro { margin: 0 0 24px; padding: 20px; background: linear-gradient(180deg, #f4f8fe, #fff); border: 1px solid var(--line); border-radius: var(--radius); }
.bw-intro img { width: 100%; height: auto; display: block; }
.bw-svcs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.bw-svc { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; color: inherit; transition: border-color .2s, transform .2s; }
.bw-svc:hover { border-color: var(--accent); transform: translateY(-3px); }
.bw-svc figure { margin: 0 0 16px; aspect-ratio: 716/500; border-radius: 8px; overflow: hidden; background: var(--surface); }
.bw-svc img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bw-svc h4 { font-size: 18px; letter-spacing: -0.02em; }
.bw-svc p { font-size: 13.5px; color: var(--muted); margin: 6px 0 14px; line-height: 1.6; }
.bw-svc .link { margin-top: auto; font-size: 13px; }

.bw-probs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.bw-probs > div { padding: 32px 28px; border-radius: var(--radius); background: #15171c; color: #fff; }
.bw-probs small { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--accent-light); }
.bw-probs h4 { font-size: 21px; margin: 32px 0 10px; letter-spacing: -0.02em; }
.bw-probs p { font-size: 14.5px; color: rgba(255,255,255,.68); line-height: 1.7; }
.bw-eff-head { margin-top: 96px; max-width: 820px; }
.bw-eff-head .h2 { font-size: 36px; }
.bw-eff-head p { color: var(--muted); font-size: 17px; margin-top: 14px; }
.bw-prop { margin: 40px 0 24px; padding: 24px; border-radius: var(--radius); background: linear-gradient(180deg, #f4f8fe, #fff); border: 1px solid var(--line); }
.bw-prop img { width: 100%; height: auto; display: block; }
.bw-effs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.bw-effs > div { padding: 28px 24px; border: 1px solid var(--line); border-radius: var(--radius); }
.bw-effs small { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--accent); }
.bw-effs h4 { font-size: 20px; margin: 18px 0 8px; letter-spacing: -0.02em; }
.bw-effs p { font-size: 14px; color: var(--muted); line-height: 1.65; padding-bottom: 16px; border-bottom: 1px solid var(--line); margin-bottom: 14px; }
.bw-effs ul, .bw-use-body ul, .bw-plan ul { list-style: none; }
.bw-effs li, .bw-use-body li, .bw-plan li { position: relative; padding: 5px 0 5px 18px; font-size: 14px; }
.bw-effs li::before, .bw-use-body li::before, .bw-plan li::before { content: ''; position: absolute; left: 0; top: 12px; width: 8px; height: 8px; border-radius: 50%; background: color-mix(in oklch, var(--accent) 30%, var(--bg)); border: 2px solid var(--accent); box-sizing: border-box; }

.bw-use { display: grid; grid-template-columns: 300px 1fr; gap: 40px; align-items: start; }
.bw-use nav { display: flex; flex-direction: column; gap: 6px; position: sticky; top: 172px; }
.bw-use nav button { text-align: left; padding: 14px 16px; border-radius: var(--radius); display: flex; flex-direction: column; gap: 8px; border: 1px solid transparent; transition: all .2s; }
.bw-use nav button:hover { background: var(--surface); }
.bw-use nav button.on { border-color: var(--accent); background: color-mix(in oklch, var(--accent) 6%, var(--bg)); }
.bw-use nav .ics { display: flex; gap: 4px; }
.bw-use nav .ics img { width: 20px; height: 20px; }
.bw-use nav .t { font-size: 14.5px; font-weight: 600; line-height: 1.4; }
.bw-use-body { display: grid; grid-template-columns: 1.15fr 1fr; gap: 40px; align-items: center; animation: aUp .4s both; }
.bw-use-body figure { margin: 0; border-radius: var(--radius); overflow: hidden; background: var(--surface); }
.bw-use-body figure img { width: 100%; height: auto; display: block; }
.bw-use-body .tag { display: inline-block; font-size: 12.5px; font-weight: 700; color: var(--accent); padding: 4px 12px; border-radius: 999px; background: color-mix(in oklch, var(--accent) 9%, var(--bg)); }
.bw-use-body h3 { font-size: 28px; line-height: 1.4; letter-spacing: -0.035em; margin: 16px 0 14px; }
.bw-use-body p { color: var(--muted); font-size: 15.5px; line-height: 1.75; margin-bottom: 18px; }

.bw-sub { font-size: 15px; font-weight: 700; margin: 40px 0 16px; padding-bottom: 12px; border-bottom: 1px solid var(--fg); }
.bw-sub:first-of-type { margin-top: 0; }
.bw-badges { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.bw-badges > div { border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; text-align: center; }
.bw-badges figure { margin: 0 0 16px; aspect-ratio: 772/300; }
.bw-badges img { width: 100%; height: 100%; object-fit: contain; }
.bw-badges b { display: block; font-size: 16px; }
.bw-badges span { font-size: 13.5px; color: var(--muted); }
.bw-tech { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.bw-tech div { padding: 24px; border-radius: var(--radius); background: var(--surface); }
.bw-tech b { display: block; font-size: 17px; margin-bottom: 6px; }
.bw-tech span { font-size: 14px; color: var(--muted); }

.bw-ptabs { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--surface); margin-bottom: 28px; }
.bw-ptabs button { height: 44px; padding: 0 22px; border-radius: 999px; font-weight: 700; font-size: 14.5px; color: var(--muted); }
.bw-ptabs button.on { background: var(--fg); color: var(--bg); }
.bw-plans { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; animation: aUp .4s both; }
.bw-plan { position: relative; border: 1px solid var(--line); border-radius: var(--radius); padding: 28px 24px; display: flex; flex-direction: column; }
.bw-plan.rec { border: 2px solid var(--accent); }
.bw-plan.ent { background: #15171c; color: #fff; border-color: #15171c; }
.bw-plan .badge { position: absolute; top: -12px; left: 24px; background: var(--accent); color: #fff; font-size: 12px; font-weight: 700; padding: 4px 12px; border-radius: 999px; }
.bw-plan .sub { font-size: 12.5px; color: rgba(255,255,255,.6); margin-bottom: 4px; }
.bw-plan h4 { font-size: 16px; letter-spacing: -0.02em; min-height: 2.8em; line-height: 1.4; }
.bw-plan .price { display: flex; align-items: baseline; gap: 4px; flex-wrap: wrap; margin: 14px 0 12px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.bw-plan.ent .price { border-color: rgba(255,255,255,.15); }
.bw-plan .price b { font-size: 36px; letter-spacing: -0.04em; }
.bw-plan .price b.nego { font-size: 28px; }
.bw-plan .price span { font-weight: 700; }
.bw-plan .price em { font-style: normal; font-size: 12.5px; color: var(--muted); width: 100%; }
.bw-plan .note { font-size: 13px; color: var(--accent); background: color-mix(in oklch, var(--accent) 7%, var(--bg)); padding: 10px 12px; border-radius: 8px; margin-bottom: 12px; line-height: 1.55; }
.bw-plan.ent .note { background: rgba(255,255,255,.08); color: rgba(255,255,255,.85); }
.bw-plan ul { margin-bottom: 20px; }
.bw-plan.ent li::before { background: transparent; border-color: var(--accent-light); }
.bw-plan .btn { margin-top: auto; justify-content: center; height: 46px; }
.bw-plan.ent .btn { background: #fff; color: #111; }
.bw-notes { list-style: none; margin-top: 20px; }
.bw-notes li { font-size: 13px; color: var(--muted); padding: 3px 0 3px 14px; position: relative; }
.bw-notes li::before { content: '*'; position: absolute; left: 0; }
.bw-pfoot { margin-top: 28px; padding: 28px 32px; border-radius: var(--radius); background: var(--surface); display: grid; grid-template-columns: 1fr auto; gap: 8px 24px; align-items: center; }
.bw-pfoot > span { font-weight: 700; font-size: 16px; }
.bw-pfoot .btns { display: flex; gap: 10px; grid-row: span 2; }
.bw-pfoot small { color: var(--muted); font-size: 12.5px; }

.bw-cases { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.bw-cases a { display: flex; flex-direction: column; color: inherit; }
.bw-cases figure { margin: 0 0 18px; aspect-ratio: 3/4; border-radius: var(--radius); overflow: hidden; position: relative; }
.bw-cases figure img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.bw-cases a:hover figure img { transform: scale(1.05); }
.bw-cases figure span { position: absolute; left: 14px; top: 14px; background: rgba(255,255,255,.92); color: #111; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; }
.bw-cases h4 { font-size: 20px; letter-spacing: -0.02em; }
.bw-cases p { font-size: 14px; color: var(--muted); margin: 8px 0 14px; line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.bw-cases .link { margin-top: auto; font-size: 14px; }

.bw-videos { margin-top: 96px; }
.bw-vh { margin-bottom: 28px; }
.bw-vh h3 { font-size: 26px; letter-spacing: -0.03em; }
.bw-vgrid { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: auto auto; gap: 16px 20px; }
.bw-vgrid > div.main { grid-row: span 2; }
.bw-vgrid > div:nth-child(4) { grid-column: 2 / span 2; }
.bw-vgrid p { font-size: 14px; font-weight: 600; margin-top: 10px; line-height: 1.5; }
.bw-vgrid > div.main p { font-size: 16px; }
.bw-vgrid > div:not(.main) .fx-play { width: 48px; height: 48px; }
.bw-vgrid > div:not(.main) .fx-play::after { left: 19px; top: 15px; border-left-width: 13px; border-top-width: 9px; border-bottom-width: 9px; }

.bw-ins { grid-template-columns: repeat(2, 1fr); }
.bw-related { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.bw-related a { position: relative; padding: 22px 22px 22px 22px; border: 1px solid var(--line); border-radius: var(--radius); color: inherit; transition: border-color .2s; }
.bw-related a:hover { border-color: var(--accent); }
.bw-related b { display: block; font-size: 17px; margin-bottom: 6px; }
.bw-related span { font-size: 13.5px; color: var(--muted); }
.bw-related em { position: absolute; right: 18px; top: 18px; font-style: normal; color: var(--accent); }

@container site (max-width: 900px) {
  .bw-lead { font-size: 15px; }
  .bw-stats { gap: 8px; margin-top: 32px; }
  .bw-stats div { padding: 18px 8px; }
  .bw-stats span { font-size: 12px; }
  .bw-stats b { font-size: 26px; }
  .bw-intro { padding: 10px; }
  .bw-svcs { grid-template-columns: 1fr 1fr; gap: 10px; }
  .bw-svc { padding: 12px; }
  .bw-svc h4 { font-size: 15px; }
  .bw-svc p { font-size: 12.5px; }
  .bw-probs, .bw-effs { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .bw-probs > div, .bw-effs > div { padding: 22px; }
  .bw-probs h4 { margin-top: 16px; font-size: 18px; }
  .bw-eff-head { margin-top: 56px; }
  .bw-eff-head .h2 { font-size: 24px; }
  .bw-eff-head p { font-size: 15px; }
  .bw-prop { padding: 10px; margin: 24px 0 16px; }
  .bw-use { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .bw-use nav { position: static; flex-direction: row; overflow-x: auto; margin: 0 -20px; padding: 0 20px 4px; scrollbar-width: none; }
  .bw-use nav button { flex: none; width: 180px; border-color: var(--line); padding: 12px; }
  .bw-use nav .t { font-size: 13px; }
  .bw-use-body { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .bw-use-body h3 { font-size: 21px; }
  .bw-use-body p { font-size: 14.5px; }
  .bw-badges { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .bw-tech { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .bw-ptabs { display: flex; width: 100%; }
  .bw-ptabs button { flex: 1; padding: 0 8px; font-size: 13px; height: 40px; }
  .bw-plans { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .bw-plan h4 { min-height: 0; }
  .bw-pfoot { grid-template-columns: minmax(0, 1fr); padding: 22px; }
  .bw-pfoot .btns { grid-row: auto; flex-wrap: wrap; }
  .bw-cases { grid-template-columns: 1fr 1fr; gap: 12px; }
  .bw-cases h4 { font-size: 16px; }
  .bw-cases p { font-size: 12.5px; -webkit-line-clamp: 3; }
  .bw-videos { margin-top: 56px; }
  .bw-vh h3 { font-size: 20px; }
  .bw-vgrid { grid-template-columns: minmax(0, 1fr); }
  .bw-vgrid > div.main { grid-row: auto; }
  .bw-vgrid > div:nth-child(4) { grid-column: auto; }
  .bw-ins { grid-template-columns: minmax(0, 1fr); }
  .bw-related { grid-template-columns: 1fr 1fr; gap: 8px; }
  .bw-related a { padding: 16px; }
  .bw-related span { font-size: 12.5px; }
}

/* hero video */
.hero-split .bw-hero-vid { aspect-ratio: 16/9; background: #000; }
.hero-split .bw-hero-vid iframe { width: 100%; height: 100%; border: 0; display: block; }
