/* Brand Clarity Audit · r355 Outcome Episode
   A bright digital-service presentation grounded in the public fictional sample.
   This file intentionally does not style shared navigation or footer chrome. */

:root {
  --bae-page: #faf9f5;
  --bae-surface: #ffffff;
  --bae-surface-2: #f2f0e9;
  --bae-ink: #121216;
  --bae-muted: #5f5d66;
  --bae-line: rgba(18, 18, 22, .14);
  --bae-shadow: 0 24px 70px rgba(23, 20, 34, .13);
  --bae-orange: #ff6b1a;
  --bae-blue: #2563eb;
  --bae-violet: #6d28d9;
  --bae-lime: #e8ff57;
}

html[data-theme="dark"] {
  --bae-page: #09090e;
  --bae-surface: #121219;
  --bae-surface-2: #191921;
  --bae-ink: #f8f7fb;
  --bae-muted: #aaa8b4;
  --bae-line: rgba(255, 255, 255, .13);
  --bae-shadow: 0 28px 80px rgba(0, 0, 0, .38);
}

body {
  background: var(--bae-page);
  color: var(--bae-ink);
}

.ba-wrap {
  width: min(1220px, calc(100% - 48px));
}

.ba-hero {
  position: relative;
  padding: clamp(58px, 7vw, 98px) 0 clamp(72px, 8vw, 112px);
  overflow: clip;
}

.ba-hero::before {
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--bae-line) 18%, var(--bae-line) 82%, transparent);
  content: "";
}

.ba-episode-grid {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(460px, 1.12fr);
  grid-template-areas:
    "copy visual"
    "price visual";
  column-gap: clamp(34px, 5vw, 72px);
  row-gap: 1.2rem;
  align-items: start;
}

.ba-episode-copy {
  grid-area: copy;
  min-width: 0;
}

.ba-kicker {
  color: var(--bae-blue);
  letter-spacing: .12em;
}

html[data-theme="dark"] .ba-kicker {
  color: #7dd3fc;
}

.ba-kicker::before {
  width: 10px;
  height: 10px;
  background: var(--bae-orange);
  box-shadow: none;
}

.ba-hero h1 {
  max-width: 9.6ch;
  margin-bottom: 1.1rem;
  color: var(--bae-ink);
  font-size: clamp(3.2rem, 6.3vw, 6.7rem);
  line-height: .92;
  letter-spacing: -.065em;
  text-wrap: balance;
}

.ba-grad {
  background: linear-gradient(110deg, var(--bae-violet) 5%, var(--bae-blue) 54%, #00a58e 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

html[data-theme="dark"] .ba-grad {
  background-image: linear-gradient(110deg, #b794ff 5%, #69a9ff 52%, #38e0c1 100%);
}

.ba-lede {
  max-width: 60ch;
  color: var(--bae-muted);
  font-size: clamp(1.02rem, 1.45vw, 1.18rem);
  line-height: 1.68;
}

.ba-actions {
  gap: .7rem;
}

.ba-btn {
  min-height: 52px;
  border-color: var(--bae-line);
  border-radius: 13px;
  color: var(--bae-ink);
  font-weight: 750;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.ba-btn:hover {
  border-color: color-mix(in srgb, var(--bae-blue) 55%, var(--bae-line));
  transform: translateY(-2px);
}

.ba-btn:focus-visible,
.ba-sample-window:focus-visible,
.ba-format-evidence a:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--bae-blue) 75%, white);
  outline-offset: 4px;
}

.ba-primary {
  border-color: #111116;
  background: #111116;
  box-shadow: none;
  color: #fff;
}

.ba-primary:hover {
  border-color: var(--bae-orange);
  background: var(--bae-orange);
  box-shadow: 0 12px 28px rgba(255, 107, 26, .22);
}

html[data-theme="dark"] .ba-primary {
  border-color: #fff;
  background: #fff;
  color: #111116;
}

html[data-theme="dark"] .ba-primary:hover {
  border-color: var(--bae-lime);
  background: var(--bae-lime);
}

.ba-trust {
  display: flex;
  gap: 0;
  margin: 1.35rem 0 0;
  border-block: 1px solid var(--bae-line);
}

.ba-trust span {
  flex: 1 1 0;
  padding: .72rem .85rem .72rem 0;
  border: 0;
  border-radius: 0;
  color: var(--bae-muted);
  font-size: .74rem;
  line-height: 1.45;
}

.ba-trust span + span {
  padding-left: .85rem;
  border-left: 1px solid var(--bae-line);
}

.ba-price {
  grid-area: price;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--bae-line);
  border-radius: 20px;
  background: var(--bae-surface);
  box-shadow: var(--bae-shadow);
}

.ba-price-in {
  padding: 1.25rem;
  border-radius: inherit;
  background: transparent;
}

.ba-price-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.ba-price-head > span {
  margin-top: .15rem;
  padding: .28rem .55rem;
  border: 1px solid var(--bae-line);
  border-radius: 7px;
  color: var(--bae-muted);
  font: 700 .64rem/1.2 "JetBrains Mono", monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ba-price small,
.ba-fine {
  color: var(--bae-muted);
}

.ba-amount {
  margin: .1rem 0 0;
  color: var(--bae-ink);
  font-size: clamp(2.7rem, 5vw, 4.4rem);
}

.ba-price ul {
  grid-template-columns: 1fr 1fr;
  gap: .55rem 1rem;
  margin: 1rem 0 1.1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--bae-line);
}

.ba-price li {
  color: var(--bae-muted);
  font-size: .83rem;
  line-height: 1.45;
}

.ba-price li::before {
  color: #0a9b67;
}

.ba-price .ba-btn {
  width: auto;
}

.ba-fine {
  max-width: 60ch;
  margin: .75rem 0 0;
  line-height: 1.55;
}

.ba-episode-visual {
  position: relative;
  grid-area: visual;
  isolation: isolate;
  min-width: 0;
  margin: 0;
  padding: clamp(22px, 3vw, 34px);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--bae-blue) 30%, var(--bae-line));
  border-radius: clamp(24px, 3vw, 36px);
  background: linear-gradient(135deg, #f4f0ff 0%, #e8f4ff 48%, #fff0df 100%);
  box-shadow: var(--bae-shadow);
  color: var(--bae-ink);
}

.ba-episode-visual::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 0;
  height: 41%;
  background: linear-gradient(105deg, rgba(109,40,217,.12), rgba(37,99,235,.07) 48%, rgba(255,107,26,.16));
  content: "";
}

.ba-episode-visual::after {
  position: absolute;
  top: -12%;
  right: -7%;
  z-index: 0;
  width: clamp(130px, 18vw, 230px);
  aspect-ratio: 1;
  border: 18px solid rgba(255,255,255,.6);
  border-radius: 50%;
  background: rgba(232,255,87,.48);
  opacity: 1;
  content: "";
}

html[data-theme="dark"] .ba-episode-visual {
  background: linear-gradient(135deg, #20203a 0%, #132641 50%, #3a221d 100%);
}

html[data-theme="dark"] .ba-episode-visual::before {
  background: linear-gradient(105deg, rgba(183,148,255,.18), rgba(105,169,255,.08) 48%, rgba(255,171,112,.16));
}

html[data-theme="dark"] .ba-episode-visual::after {
  border-color: rgba(255,255,255,.11);
  background: rgba(232,255,87,.23);
}

.ba-episode-visual > * {
  position: relative;
  z-index: 1;
}

.ba-episode-label,
.ba-evidence-label {
  display: inline-flex;
  max-width: 100%;
  padding: .48rem .68rem;
  border: 1px solid var(--bae-line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--bae-surface) 85%, transparent);
  color: var(--bae-ink);
  font: 700 clamp(.61rem, 1vw, .72rem)/1.35 "JetBrains Mono", monospace;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.ba-sample-window {
  position: relative;
  display: block;
  width: 100%;
  margin: clamp(32px, 5vw, 64px) 0 0;
  overflow: hidden;
  border: 0;
  border-radius: 16px;
  background: transparent;
  box-shadow: 0 22px 44px rgba(20,22,46,.24);
  transition: transform .24s ease, box-shadow .24s ease;
}

.ba-sample-window:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 54px rgba(17, 17, 22, .24);
}

.ba-sample-window img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
  object-position: center;
}

.ba-episode-path {
  display: flex;
  flex-wrap: wrap;
  gap: .42rem;
  align-items: center;
  margin-top: 1rem;
  color: var(--bae-ink);
  font: 750 .76rem/1.35 Inter, sans-serif;
}

.ba-episode-path span {
  padding: .35rem .52rem;
  border: 1px solid color-mix(in srgb, var(--bae-ink) 16%, transparent);
  border-radius: 7px;
  background: rgba(255,255,255,.62);
}

html[data-theme="dark"] .ba-episode-path span { background: rgba(9,9,14,.5); }

.ba-episode-path i {
  font-style: normal;
}

.ba-episode-visual figcaption {
  margin-top: .9rem;
  color: var(--bae-muted);
  font-size: .74rem;
  line-height: 1.5;
}

.ba-episode-visual figcaption a {
  color: var(--bae-ink);
  font-weight: 800;
}

.ba-band {
  border-color: var(--bae-line);
  background: var(--bae-surface-2);
}

.ba-section {
  padding: clamp(66px, 7vw, 96px) 0;
}

.ba-section h2,
.ba-card h3,
.ba-doc-side strong,
.ba-fix b {
  color: var(--bae-ink);
}

.ba-head p,
.ba-card p,
.ba-step p,
.ba-scope ul,
.ba-proof span,
.ba-faq p,
.ba-final p,
.ba-doc-side p,
.ba-fix p {
  color: var(--bae-muted);
}

.ba-cards {
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--bae-line);
  border-radius: 22px;
  background: var(--bae-line);
}

.ba-card {
  position: relative;
  min-height: 180px;
  padding: 1.45rem;
  border: 0;
  border-radius: 0;
  background: var(--bae-surface);
}

.ba-card::after {
  position: absolute;
  right: 1.35rem;
  bottom: 1.15rem;
  width: 34px;
  height: 4px;
  border-radius: 9px;
  background: var(--bae-orange);
  content: "";
}

.ba-card:nth-child(3n + 2)::after { background: var(--bae-blue); }
.ba-card:nth-child(3n)::after { background: #00a58e; }

.ba-card .ba-num {
  background: transparent;
  color: var(--bae-muted);
}

.ba-format-evidence {
  position: relative;
  margin-bottom: 1.4rem;
  padding: clamp(16px, 2.5vw, 28px);
  overflow: hidden;
  border: 1px solid var(--bae-line);
  border-radius: 30px;
  background: var(--bae-surface);
  box-shadow: var(--bae-shadow);
}

.ba-format-evidence .ba-evidence-label {
  margin-bottom: 1rem;
}

.ba-format-evidence img {
  border: 1px solid var(--bae-line);
  border-radius: 14px;
  background: #090909;
  box-shadow: 0 20px 44px rgba(17, 17, 22, .18);
}

.ba-format-evidence figcaption {
  margin-top: 1.2rem;
  padding: 0;
  border: 0;
  color: var(--bae-muted);
  font-size: .86rem;
}

.ba-format-evidence figcaption strong {
  color: var(--bae-ink);
}

.ba-format-evidence figcaption a {
  color: var(--bae-ink);
  font-weight: 800;
}

.ba-doc {
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: 1rem;
  border-color: var(--bae-line);
  background: var(--bae-surface);
  box-shadow: var(--bae-shadow);
}

.ba-doc-side {
  background: var(--bae-surface-2);
}

.ba-doc-main {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
}

.ba-label {
  border-color: color-mix(in srgb, var(--bae-orange) 45%, transparent);
  color: var(--bae-orange);
}

.ba-fix,
.ba-scope article,
.ba-proof a,
.ba-faq details {
  border-color: var(--bae-line);
  background: var(--bae-surface);
}

.ba-proof a {
  position: relative;
  color: var(--bae-ink);
  box-shadow: var(--bae-shadow);
}

.ba-proof a:hover {
  border-color: var(--bae-blue);
}

.ba-proof {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ba-proof a::after {
  display: block;
  margin-top: 1rem;
  color: var(--bae-orange);
  content: "Open link";
  font: 700 .72rem/1 "JetBrains Mono", monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ba-step {
  border-left-color: var(--bae-orange);
  background: linear-gradient(90deg, color-mix(in srgb, var(--bae-orange) 11%, transparent), transparent);
}

.ba-step:nth-child(2) {
  border-left-color: var(--bae-blue);
  background-image: linear-gradient(90deg, color-mix(in srgb, var(--bae-blue) 10%, transparent), transparent);
}

.ba-step:nth-child(3) {
  border-left-color: #00a58e;
  background-image: linear-gradient(90deg, color-mix(in srgb, #00a58e 10%, transparent), transparent);
}

@media (max-width: 1020px) {
  .ba-episode-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "visual"
      "price";
    row-gap: 1.65rem;
  }

  .ba-episode-copy {
    max-width: 780px;
  }

  .ba-hero h1 {
    max-width: 11ch;
  }

  .ba-episode-visual {
    width: min(780px, 100%);
  }

  .ba-sample-window {
    width: min(72%, 540px);
  }

  .ba-proof {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 720px) {
  .ba-wrap {
    width: min(100% - 28px, 1220px);
  }

  .ba-hero {
    padding-top: 46px;
  }

  .ba-hero h1 {
    max-width: 10ch;
    font-size: clamp(3rem, 15vw, 4.6rem);
  }

  .ba-trust {
    display: none;
  }

  .ba-price ul {
    grid-template-columns: 1fr;
  }

  .ba-price .ba-btn {
    width: 100%;
  }

  .ba-episode-visual {
    padding: 20px;
    border-radius: 25px;
  }

  .ba-sample-window {
    width: 100%;
    margin-right: 0;
    border-radius: 13px;
    box-shadow: 0 16px 32px rgba(17, 17, 22, .2);
  }

  .ba-cards {
    display: grid;
    grid-template-columns: 1fr;
  }

  .ba-card {
    min-height: 0;
  }

  .ba-format-evidence {
    padding: 14px;
    border-radius: 20px;
  }

  .ba-format-evidence img {
    border-radius: 10px;
    box-shadow: 0 14px 28px rgba(17, 17, 22, .18);
  }

  .ba-doc-main,
  .ba-proof {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 430px) {
  .ba-episode-label,
  .ba-evidence-label {
    font-size: .58rem;
  }

  .ba-episode-path {
    gap: .32rem;
    font-size: .68rem;
  }

  .ba-episode-path span {
    padding: .3rem .4rem;
  }

  .ba-price-head {
    align-items: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ba-btn,
  .ba-sample-window {
    scroll-behavior: auto;
    transition: none;
  }
}

/* Preserve the primary action in short landscape browser viewports. */
@media (max-width:900px) and (max-height:520px) and (orientation:landscape) {
  .ba-hero { padding:18px 0 28px; }
  .ba-hero h1 { font-size:clamp(2.2rem,5.5vw,3.3rem); margin-bottom:.55rem; }
  .ba-lede { font-size:.9rem; line-height:1.45; margin-bottom:.8rem; }
  .ba-actions { gap:.55rem; }
  .ba-btn { min-height:44px; }
  .ba-episode-grid { row-gap:1rem; }
  .cookie-banner { right:10px !important; bottom:10px !important; left:auto !important; width:min(260px,calc(100vw - 20px)) !important; padding:.55rem .7rem !important; border-radius:12px !important; }
  .cookie-banner p { margin:0 0 .45rem !important; font-size:.7rem !important; line-height:1.3 !important; }
  .cookie-banner .ck-btns { gap:.35rem !important; }
  .cookie-banner .ck-btns button { min-height:40px !important; padding:.42rem .5rem !important; font-size:.72rem !important; }
}
