:root {
  --bw-paper: #ffffff;
  --bw-paper-muted: #f6f6f6;
  --bw-predawn: #111e31;
  --bw-predawn-soft: #17253a;
  --bw-ink: #1a1713;
  --bw-ink-soft: #55504b;
  --bw-rule: #d9d9d9;
  --bw-rule-dark: #34455a;
  --bw-on-dark: #f4efe6;
  --bw-on-dark-muted: #a9b2c2;
  --bw-sun: #e8490f;
  --bw-sun-deep: #bb330c;
  --bw-sun-tint: #fae4dc;
  --bw-sunbeam: #f2b331;
  --bw-sunbeam-tint: #f9e8b8;
  --bw-green: #39764d;
  --bw-green-tint: #deecdf;
  --bw-sky: #c1d9eb;
  --bw-sky-deep: #2f5f8f;
  --bw-critical: #b42318;
  --bw-font-display: "Schibsted Grotesk", "Instrument Sans", system-ui, sans-serif;
  --bw-font-body: "Instrument Sans", system-ui, sans-serif;
  --bw-font-mono: "IBM Plex Mono", ui-monospace, monospace;
}

body.bw-access,
body.bw-handoff {
  min-height: 100svh;
  margin: 0;
  overflow-x: hidden;
  color: var(--bw-ink);
  background: var(--bw-paper);
  font-family: var(--bw-font-body);
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}

.bw-access *,
.bw-access *::before,
.bw-access *::after,
.bw-handoff *,
.bw-handoff *::before,
.bw-handoff *::after,
.bw-admin *,
.bw-admin *::before,
.bw-admin *::after {
  box-sizing: border-box;
}

.bw-site-header {
  min-height: 76px;
  border-bottom: 1px solid var(--bw-ink);
  background: var(--bw-paper);
}

.bw-site-header-inner {
  display: flex;
  width: min(100% - 48px, 1280px);
  min-height: 76px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 0 auto;
}

.bw-site-logo {
  display: block;
  width: clamp(176px, 18vw, 220px);
  height: auto;
  object-fit: contain;
  object-position: left center;
}

.bw-site-label {
  color: var(--bw-ink-soft);
  font-family: var(--bw-font-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.bw-access-main,
.bw-handoff-main {
  display: grid;
  min-height: calc(100svh - 130px);
  place-items: center;
  padding: clamp(20px, 3vw, 36px) 24px;
}

.bw-access-shell {
  display: grid;
  width: min(100%, 1280px);
  min-height: min(680px, calc(100svh - 148px));
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, 0.92fr);
  overflow: hidden;
  border: 1px solid var(--bw-predawn);
  border-radius: 10px;
  background: var(--bw-predawn);
  box-shadow: 0 18px 50px rgba(17, 30, 49, 0.12);
}

.bw-access-intro {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(44px, 7vw, 96px);
  color: var(--bw-on-dark);
}

.bw-access-intro::before {
  width: 54px;
  height: 3px;
  margin-bottom: 26px;
  content: "";
  background: var(--bw-sun);
}

.bw-kicker {
  margin: 0 0 22px;
  color: var(--bw-sunbeam);
  font-family: var(--bw-font-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.bw-access-intro h1 {
  max-width: 12ch;
  margin: 0;
  color: var(--bw-on-dark);
  font-family: var(--bw-font-display);
  font-size: clamp(46px, 6vw, 78px);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.02;
}

.bw-access-intro h1 span {
  color: var(--bw-sunbeam);
}

.bw-access-copy {
  max-width: 34ch;
  margin: 30px 0 0;
  color: var(--bw-on-dark-muted);
  font-size: 17px;
  line-height: 1.65;
}

.bw-access-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(36px, 6vw, 80px);
  background: var(--bw-paper);
}

.bw-access-context {
  margin: 0 0 12px;
  color: var(--bw-sun-deep);
  font-family: var(--bw-font-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.bw-access-panel h2 {
  max-width: 11ch;
  margin: 0 0 14px;
  color: var(--bw-ink);
  font-family: var(--bw-font-display);
  font-size: clamp(34px, 4vw, 50px);
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.06;
}

.bw-access-panel .bw-panel-copy {
  max-width: 35ch;
  margin: 0 0 34px;
  color: var(--bw-ink-soft);
  font-size: 15px;
  line-height: 1.6;
}

.bw-access-form label {
  display: block;
  margin-bottom: 8px;
  color: var(--bw-ink-soft);
  font-family: var(--bw-font-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.bw-password-wrap {
  position: relative;
}

.bw-access-form input[type="password"],
.bw-access-form input[type="text"] {
  width: 100%;
  min-height: 52px;
  border: 1px solid #bdbdbd;
  border-radius: 6px;
  padding: 12px 50px 12px 15px;
  color: var(--bw-ink);
  background: #fff;
  font-family: var(--bw-font-body);
  font-size: 16px;
}

.bw-access-form input:focus {
  outline: 3px solid rgba(232, 73, 15, 0.18);
  outline-offset: 1px;
  border-color: var(--bw-sun-deep);
}

.bw-password-toggle {
  position: absolute;
  top: 50%;
  right: 8px;
  display: grid;
  width: 38px;
  height: 38px;
  margin: 0;
  transform: translateY(-50%);
  place-items: center;
  border: 0;
  border-radius: 6px;
  padding: 0;
  color: var(--bw-ink-soft);
  background: transparent;
  cursor: pointer;
}

.bw-password-toggle:hover {
  color: var(--bw-ink);
  background: var(--bw-paper-muted);
}

.bw-password-toggle svg {
  width: 19px;
  height: 19px;
}

.bw-access-submit,
.bw-handoff-submit {
  display: inline-flex;
  width: 100%;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 16px;
  border: 1px solid var(--bw-predawn);
  border-radius: 6px;
  padding: 12px 18px;
  color: #fff;
  background: var(--bw-predawn);
  font-family: var(--bw-font-body);
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: transform 160ms ease, background-color 160ms ease;
}

.bw-access-submit span,
.bw-handoff-submit span {
  color: var(--bw-sunbeam);
  font-size: 19px;
}

.bw-access-submit:hover,
.bw-handoff-submit:hover {
  transform: translateY(-1px);
  background: #1e3048;
}

.bw-access-error {
  margin-top: 16px;
  border: 1px solid #e3aaa3;
  border-radius: 6px;
  padding: 11px 13px;
  color: #8f2017;
  background: #fff1ef;
  font-size: 13px;
  line-height: 1.45;
}

.bw-site-footer {
  width: min(100% - 48px, 1280px);
  margin: 0 auto;
  padding: 0 0 22px;
  color: #77716b;
  font-family: var(--bw-font-mono);
  font-size: 9px;
  letter-spacing: 0.11em;
  text-align: center;
  text-transform: uppercase;
}

.bw-site-footer a:hover {
  color: var(--bw-sun-deep);
}

.bw-handoff-card {
  width: min(100%, 720px);
  border-radius: 10px;
  padding: clamp(46px, 8vw, 88px);
  color: var(--bw-on-dark);
  background: var(--bw-predawn);
  text-align: center;
}

.bw-handoff-mark {
  width: 42px;
  height: 3px;
  margin: 0 auto 26px;
  background: var(--bw-sun);
}

.bw-handoff-card h1 {
  margin: 0 0 14px;
  color: var(--bw-on-dark);
  font-family: var(--bw-font-display);
  font-size: clamp(38px, 6vw, 60px);
  font-weight: 600;
  letter-spacing: -0.02em;
}

.bw-handoff-card p {
  margin: 0;
  color: var(--bw-on-dark-muted);
  font-size: 16px;
}

body.bw-admin {
  min-height: 100svh;
  margin: 0;
  overflow-x: hidden;
  color: var(--bw-ink);
  background: var(--bw-paper);
  font-family: var(--bw-font-body);
  font-size: 14px;
  letter-spacing: 0;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

.bw-admin-main {
  min-height: calc(100svh - 130px);
}

.bw-admin .wrap {
  width: min(100% - 48px, 1280px);
  margin: 0 auto;
  padding: clamp(38px, 5vw, 70px) 0 72px;
}

.bw-admin .section-tag {
  margin: 0 0 10px;
  color: var(--bw-sun-deep);
  font-family: var(--bw-font-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.bw-admin h1,
.bw-admin h2 {
  color: var(--bw-ink);
  font-family: var(--bw-font-display);
  letter-spacing: -0.015em;
  line-height: 1.1;
}

.bw-admin h1 {
  margin: 0;
  font-size: clamp(36px, 5vw, 58px);
  font-weight: 600;
}

.bw-admin h2 {
  margin: 50px 0 16px;
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 600;
}

.bw-admin a {
  color: var(--bw-sun-deep);
  font-weight: 600;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.bw-admin a:hover {
  color: var(--bw-ink);
}

.bw-admin .top-bar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 32px;
  border-bottom: 1px solid var(--bw-rule);
  padding-bottom: 28px;
}

.bw-admin .logout {
  min-height: 42px;
  margin: 0;
  border: 1px solid var(--bw-predawn);
  border-radius: 6px;
  padding: 9px 15px;
  color: #fff;
  background: var(--bw-predawn);
  font-family: var(--bw-font-body);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.bw-admin .logout:hover {
  background: #1e3048;
}

.bw-admin .stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-bottom: 32px;
}

.bw-admin .stat {
  min-height: 132px;
  border: 1px solid var(--bw-rule);
  border-radius: 8px;
  padding: 20px;
  background: var(--bw-paper-muted);
}

.bw-admin .stat:first-child {
  border-top: 3px solid var(--bw-sun);
}

.bw-admin .stat-label {
  min-height: 30px;
  margin: 0 0 10px;
  color: #716b65;
  font-family: var(--bw-font-mono);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.bw-admin .stat-num {
  margin: 0;
  color: var(--bw-predawn);
  font-family: var(--bw-font-display);
  font-size: 30px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.15;
}

.bw-admin .bw-table-scroll {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--bw-rule);
  border-radius: 8px;
  -webkit-overflow-scrolling: touch;
}

.bw-admin .clients-table,
.bw-admin .sessions-table {
  display: table;
  width: 100%;
  min-width: 760px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--bw-paper);
  font-size: 13px;
  -webkit-overflow-scrolling: touch;
}

.bw-admin .clients-table th,
.bw-admin .sessions-table th,
.bw-admin .clients-table td,
.bw-admin .sessions-table td {
  border-bottom: 1px solid var(--bw-rule);
  padding: 13px 15px;
  text-align: left;
  vertical-align: top;
}

.bw-admin .clients-table th,
.bw-admin .sessions-table th {
  color: var(--bw-on-dark-muted);
  background: var(--bw-predawn);
  font-family: var(--bw-font-mono);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.bw-admin .clients-table tr:last-child td,
.bw-admin .sessions-table tr:last-child td {
  border-bottom: 0;
}

.bw-admin .clients-table tbody tr:hover td,
.bw-admin .sessions-table tbody tr:hover td {
  background: #fff8f3;
}

.bw-admin code.mono {
  color: var(--bw-predawn);
  font-family: var(--bw-font-mono);
  font-size: 12px;
}

.bw-admin .muted {
  color: #716b65;
  font-size: 12px;
}

.bw-admin .bw-status {
  display: inline-block;
  margin-left: 8px;
  border: 1px solid #d7a227;
  border-radius: 999px;
  padding: 2px 7px;
  color: #694600;
  background: var(--bw-sunbeam-tint);
  font-family: var(--bw-font-mono);
  font-size: 8px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.bw-admin .empty {
  border: 1px solid var(--bw-rule);
  border-radius: 8px;
  padding: 38px 24px;
  color: #716b65;
  background: var(--bw-paper-muted);
  text-align: center;
}

.bw-admin :focus-visible,
.bw-access :focus-visible,
.bw-handoff :focus-visible {
  outline: 3px solid var(--bw-sunbeam);
  outline-offset: 3px;
}

html::before {
  position: fixed;
  z-index: 10000;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  content: "";
  background: var(--bw-sun);
  pointer-events: none;
}

body.bw-document,
body.bw-deck {
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.bw-document {
  --bw-main-gutter: 72px;
  --bg: var(--bw-paper);
  --surface: var(--bw-paper-muted);
  --surface2: var(--bw-paper);
  --border: var(--bw-rule);
  --border-soft: rgba(26, 23, 19, 0.1);
  --accent: var(--bw-sun);
  --accent-soft: var(--bw-sun-deep);
  --accent-deep: var(--bw-sun-deep);
  --gold: #9a6800;
  --success: var(--bw-green);
  --warning: #8a6200;
  --critical: var(--bw-critical);
  --info: var(--bw-sky-deep);
  --text: var(--bw-ink);
  --text-muted: var(--bw-ink-soft);
  --dim: #817b74;
  --font-display: var(--bw-font-display);
  --font-body: var(--bw-font-body);
  --font-mono: var(--bw-font-mono);
  color: var(--bw-ink);
  background: var(--bw-paper);
  font-family: var(--bw-font-body);
  overflow-x: hidden;
}

body.bw-document.bw-compact-gutter {
  --bw-main-gutter: 32px;
}

body.bw-document::before,
body.bw-document::after,
body.bw-deck::before,
body.bw-deck::after {
  display: none !important;
  background: none !important;
}

.bw-document .layout {
  max-width: none;
  min-height: 100svh;
  grid-template-columns: 280px minmax(0, 1fr) !important;
  margin: 0 !important;
  border: 0;
  background: var(--bw-paper);
}

.bw-document nav.toc {
  display: flex;
  flex-direction: column;
  padding: 36px 32px 40px 40px;
  border-color: var(--bw-rule-dark);
  color: var(--bw-on-dark);
  background: var(--bw-predawn) !important;
  backdrop-filter: none;
}

.bw-document .brand-mark {
  display: block;
  width: 100%;
  max-width: 100%;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
}

.bw-document .brand-mark::after {
  display: none;
}

.bw-document .brand-logo-img {
  width: min(100%, 184px);
  height: auto;
  object-fit: contain;
  object-position: left center;
}

.bw-document nav.toc .toc-label,
.bw-document nav.toc ol li a.active::before {
  color: var(--bw-sunbeam);
}

.bw-document nav.toc ol li a,
.bw-document .toc-meta {
  color: var(--bw-on-dark-muted);
}

.bw-document nav.toc ol li a::before {
  color: #6f7e91;
}

.bw-document nav.toc ol li a:hover,
.bw-document nav.toc ol li a.active,
.bw-document .toc-meta strong {
  color: var(--bw-on-dark);
}

.bw-document .toc-divider {
  background: var(--bw-rule-dark);
}

.bw-sidebar-logout {
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  border: 1px solid var(--bw-rule-dark);
  border-radius: 6px;
  padding: 11px 12px;
  color: var(--bw-on-dark-muted) !important;
  font-family: var(--bw-font-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: border-color 160ms ease, color 160ms ease, background 160ms ease;
}

.bw-sidebar-logout:hover,
.bw-sidebar-logout:focus-visible {
  border-color: var(--bw-sun);
  color: var(--bw-on-dark) !important;
  background: rgba(242, 179, 49, 0.08);
}

.bw-document main {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  color: var(--bw-ink);
  background: var(--bw-paper);
}

.bw-document h1,
.bw-document h2,
.bw-document h3,
.bw-document h4,
.bw-document .hero-title,
.bw-document .section-title,
.bw-document .card-title,
.bw-document .block-title {
  font-family: var(--bw-font-display);
  letter-spacing: -0.01em;
}

.bw-document header.hero {
  margin: 32px calc(32px - var(--bw-main-gutter)) 0 !important;
  border: 0;
  border-radius: 10px;
  padding-top: 36px !important;
  padding-right: clamp(56px, 7vw, 112px) !important;
  padding-left: clamp(56px, 7vw, 112px) !important;
  color: var(--bw-on-dark);
  background: var(--bw-predawn);
}

.bw-document header.hero::before,
.bw-document header.hero::after {
  display: none !important;
  background: none !important;
}

.bw-document header.hero .hero-title,
.bw-document header.hero .meta-value {
  color: var(--bw-on-dark);
}

.bw-document header.hero .hero-title .accent,
.bw-document header.hero .accent,
.bw-document header.hero .hero-badge {
  color: var(--bw-sunbeam);
}

.bw-document header.hero .hero-sub,
.bw-document header.hero .meta-label {
  color: var(--bw-on-dark-muted);
}

.bw-document header.hero .hero-meta {
  border-color: var(--bw-rule-dark);
}

.bw-document header.hero .hero-badge {
  border-color: rgba(242, 179, 49, 0.42);
  background: rgba(242, 179, 49, 0.1);
}

.bw-document .section-tag,
.bw-document .lead-tag,
.bw-document .tag-accent,
.bw-document .metric-value,
.bw-document .price,
.bw-document .num {
  color: var(--bw-sun-deep);
}

.bw-document .tag {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

.bw-document .card,
.bw-document .callout,
.bw-document .deliverable,
.bw-document .metric,
.bw-document .table-wrap,
.bw-document .review-item,
.bw-document .footer-note,
.bw-document .step,
.bw-document .artifact-card,
.bw-document .model-card,
.bw-document .poc-card,
.bw-document .finding,
.bw-document .tech-tile,
.bw-document .pain-tile {
  border-color: var(--bw-rule);
  border-radius: 8px;
  background: var(--bw-paper-muted);
  box-shadow: none;
}

.bw-document button,
.bw-document .btn,
.bw-document .review-submit,
.bw-document .pb-cta,
.bw-document .solution-btn {
  min-height: 44px;
  border-radius: 6px;
  font-family: var(--bw-font-body);
}

.bw-document .review-submit,
.bw-document .pb-cta,
.bw-document .solution-btn {
  border-color: var(--bw-predawn);
  color: #fff;
  background: var(--bw-predawn);
}

.bw-document input,
.bw-document textarea,
.bw-document select {
  border-color: #c9c9c9;
  border-radius: 6px;
  color: var(--bw-ink);
  background: #fff;
  font-family: var(--bw-font-body);
}

.bw-document input:focus,
.bw-document textarea:focus,
.bw-document select:focus {
  outline: 3px solid rgba(232, 73, 15, 0.2);
  outline-offset: 1px;
  border-color: var(--bw-sun-deep);
}

.bw-document :focus-visible,
.bw-deck :focus-visible {
  outline: 3px solid var(--bw-sunbeam);
  outline-offset: 3px;
}

body.bw-deck {
  --bg: var(--bw-predawn);
  --bg2: var(--bw-predawn-soft);
  --ink: var(--bw-on-dark);
  --ink-soft: #d8dce4;
  --ink-mute: var(--bw-on-dark-muted);
  --ink-dim: #6f7e91;
  --hair: rgba(169, 178, 194, 0.16);
  --hair-strong: rgba(169, 178, 194, 0.3);
  --gold: var(--bw-sunbeam);
  --gold-soft: #f7c65a;
  --gold-dim: rgba(242, 179, 49, 0.34);
  --vio: var(--bw-sun);
  --vio-soft: var(--bw-sunbeam);
  --vio-deep: var(--bw-sun-deep);
  --vio-faint: rgba(232, 73, 15, 0.08);
  --teal: #72a982;
  --teal-soft: #a8ceb1;
  --serif: var(--bw-font-display);
  --sans: var(--bw-font-body);
  --mono: var(--bw-font-mono);
  --surface: var(--bw-predawn-soft);
  --surface2: #1e3048;
  --border: var(--bw-rule-dark);
  --accent: var(--bw-sun);
  --accent-soft: var(--bw-sunbeam);
  --accent-deep: var(--bw-sun-deep);
  --text: var(--bw-on-dark);
  --text-soft: #d8dce4;
  --text-muted: var(--bw-on-dark-muted);
  --dim: #6f7e91;
  --font-display: var(--bw-font-display);
  --font-body: var(--bw-font-body);
  --font-mono: var(--bw-font-mono);
  color: var(--bw-on-dark);
  background: var(--bw-predawn);
  font-family: var(--bw-font-body);
}

.bw-deck .slide {
  color: var(--bw-on-dark);
  background: var(--bw-predawn) !important;
}

.bw-deck h1,
.bw-deck h2,
.bw-deck h3,
.bw-deck .thesis,
.bw-deck .rule h3,
.bw-deck .tcell h3,
.bw-deck .srow .sk {
  font-family: var(--bw-font-display);
  font-style: normal;
  letter-spacing: -0.01em;
}

.bw-deck .kicker,
.bw-deck .em,
.bw-deck .pnode.hl,
.bw-deck .side.hot .tag,
.bw-deck .side.hot li::before,
.bw-deck .tcell.hl .frac,
.bw-deck .srow.have .sk {
  color: var(--bw-sunbeam);
}

.bw-deck .brand {
  border: 1px solid var(--bw-rule-dark);
  border-radius: 6px;
  padding: 8px 10px;
  background: var(--bw-predawn);
}

.bw-deck .brand img {
  width: min(158px, 34vw);
  height: auto;
  opacity: 1;
}

.bw-deck-logout {
  position: fixed;
  top: 22px;
  left: 22px;
  z-index: 40;
  border: 1px solid var(--bw-rule-dark);
  border-radius: 6px;
  padding: 8px 10px;
  color: var(--bw-on-dark-muted);
  background: var(--bw-predawn);
  font-family: var(--bw-font-mono);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
}

.bw-deck-logout:hover,
.bw-deck-logout:focus-visible {
  border-color: var(--bw-sun);
  color: var(--bw-on-dark);
}

.bw-deck .progress {
  height: 3px;
  background: var(--bw-sun);
}

.bw-deck .ghost {
  -webkit-text-stroke-color: rgba(242, 179, 49, 0.12);
}

@media (max-width: 980px) {
  .bw-document .layout {
    grid-template-columns: minmax(0, 1fr) !important;
    border: 0;
  }

  .bw-document nav.toc {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    border-right: 0;
    border-bottom-color: var(--bw-rule-dark);
  }

  .bw-sidebar-logout {
    width: auto;
    align-self: flex-start;
    gap: 18px;
    margin-top: 22px;
  }

  .bw-document nav.toc ol li a {
    border-color: var(--bw-rule-dark);
    color: var(--bw-on-dark-muted);
    background: rgba(255, 255, 255, 0.04);
  }

  .bw-document main {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  .bw-document .plan-banner {
    margin-right: -20px !important;
    margin-left: -20px !important;
  }

  .bw-document header.hero {
    margin: 18px 0 0 !important;
    padding: 36px 24px !important;
  }
}

@media (max-width: 700px) {
  .bw-site-header,
  .bw-site-header-inner {
    min-height: 70px;
  }

  .bw-site-header-inner,
  .bw-site-footer {
    width: min(100% - 32px, 1280px);
  }

  .bw-site-logo {
    width: min(190px, 54vw);
    height: auto;
  }

  .bw-access-main,
  .bw-handoff-main {
    min-height: auto;
    padding: 16px;
  }

  .bw-access-shell {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .bw-access-intro {
    min-height: 280px;
    padding: 38px 28px;
  }

  .bw-access-intro::before {
    margin-bottom: 20px;
  }

  .bw-access-intro h1 {
    font-size: clamp(42px, 13vw, 58px);
  }

  .bw-access-copy {
    margin-top: 22px;
    font-size: 15px;
  }

  .bw-access-panel {
    padding: 38px 28px 42px;
  }

  .bw-access-panel h2 {
    font-size: 38px;
  }

  .bw-site-footer {
    padding-top: 18px;
  }

  .bw-admin .wrap {
    width: min(100% - 32px, 1280px);
    padding-top: 36px;
  }

  .bw-admin .top-bar {
    align-items: flex-start;
  }

  .bw-admin h1 {
    font-size: 36px;
  }

  .bw-admin h2 {
    margin-top: 40px;
  }

  .bw-admin .stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bw-admin .stat {
    min-height: 120px;
    padding: 16px;
  }

  .bw-document nav.toc {
    padding: 26px 20px 22px;
  }

  .bw-document nav.toc ol {
    display: flex;
    overflow-x: auto;
    flex-wrap: nowrap;
    gap: 8px;
    padding-bottom: 8px;
    scrollbar-width: thin;
  }

  .bw-document nav.toc ol li {
    flex: 0 0 auto;
    margin-bottom: 0;
  }

  .bw-document nav.toc ol li a {
    min-height: 42px;
    align-items: center;
    padding: 8px 12px;
    white-space: nowrap;
  }

  .bw-admin .stat-num {
    overflow-wrap: anywhere;
    font-size: 25px;
  }

  .bw-document .brand-mark {
    margin-bottom: 20px;
  }

  .bw-document section {
    padding-top: 42px;
    padding-bottom: 42px;
  }

  .bw-document header.hero .hero-meta {
    grid-template-columns: 1fr;
  }

  .bw-deck .slide {
    min-height: 100svh;
    height: 100svh;
    padding: 84px 22px 64px !important;
  }

  .bw-deck .brand {
    top: 16px;
    right: 20px;
  }

  .bw-deck .nav-hint {
    right: 20px;
  }

  .bw-deck .pageno {
    left: 20px;
  }
}

@media (max-width: 420px) {
  .bw-site-label {
    display: none;
  }

  .bw-access-intro,
  .bw-access-panel {
    padding-right: 22px;
    padding-left: 22px;
  }

  .bw-admin .top-bar {
    flex-direction: column;
  }

  .bw-admin .stat-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media print {
  html::before {
    display: none;
  }
}
