/* =========================================================
   BlazingMind Studios Brand Identity Case Study
   Project-specific styles only.
   Navbar and footer remain controlled by portfolio.css.
   ========================================================= */

body.brand-case-page {
  padding-top: 60px;
  margin: 0;
}

.brand-case-study {
  --brand-black: #0F1115;
  --brand-deep: #0b1020;
  --brand-panel: #151f2f;
  --brand-panel-2: #1b263b;
  --brand-orange: #FF6A1A;
  --brand-magenta: #FF3D81;
  --brand-cyan: #32D4FF;
  --brand-mist: #D9E1E8;
  --brand-ink: #f5f7fb;
  --brand-muted: #c7d0dd;
  --brand-soft: #97a8bf;
  --brand-border: rgba(217, 225, 232, .18);
  --brand-border-strong: rgba(217, 225, 232, .30);
  --brand-shadow: 0 24px 60px rgba(0,0,0,.35);
  --scroll-ratio: 0;

  position: relative;
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  isolation: isolate;
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  color: var(--brand-ink);
  background:
    radial-gradient(circle at 88% 5%, rgba(255,106,26,.10), transparent 25%),
    radial-gradient(circle at 12% 28%, rgba(255,61,129,.055), transparent 22%),
    linear-gradient(180deg, #0a0d15 0%, #0d1423 44%, #090d17 100%);
}

.brand-case-study h1,
.brand-case-study h2,
.brand-case-study h3,
.brand-case-study h4,
.brand-case-study h5 {
  font-family: "Exo 2", sans-serif;
  color: var(--brand-ink);
}

.brand-case-study img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* ---------- Ambient page effects ---------- */
.brand-case-study .brand-atmosphere {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
  pointer-events: none;
}

.brand-case-study .brand-orb {
  position: absolute;
  width: min(55vw, 760px);
  aspect-ratio: 1;
  border-radius: 50%;
  filter: blur(28px);
  opacity: .28;
}

.brand-case-study .brand-orb.one {
  top: 10vh;
  right: -22vw;
  background: radial-gradient(circle, rgba(255,106,26,.22), rgba(255,61,129,.07) 48%, transparent 72%);
}

.brand-case-study .brand-orb.two {
  top: 108vh;
  left: -25vw;
  background: radial-gradient(circle, rgba(50,212,255,.13), rgba(255,61,129,.045) 48%, transparent 72%);
}

.brand-case-study .page-progress {
  position: fixed;
  z-index: 15;
  top: 50%;
  right: 18px;
  width: 3px;
  height: min(36vh, 310px);
  transform: translateY(-50%);
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
}

.brand-case-study .page-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleY(var(--scroll-ratio));
  transform-origin: top;
  border-radius: inherit;
  background: linear-gradient(to bottom, var(--brand-orange), var(--brand-magenta), var(--brand-cyan));
}

/* ---------- Hero ---------- */
.brand-case-study .case-hero {
  position: relative;
  min-height: min(820px, calc(100vh - 60px));
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: clamp(4.5rem, 8vw, 7rem) 0 clamp(7rem, 12vw, 10rem);
  background:
    radial-gradient(circle at 78% 24%, rgba(255,106,26,.18), transparent 26%),
    radial-gradient(circle at 62% 76%, rgba(255,61,129,.08), transparent 30%),
    linear-gradient(135deg, rgba(8,11,18,.98), rgba(15,17,21,.96) 52%, rgba(31,20,30,.94));
}

.brand-case-study .case-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: clamp(130px, 18vw, 220px);
  background: linear-gradient(to bottom, transparent, rgba(10,13,21,.76) 58%, #0a0d15 100%);
  pointer-events: none;
}

.brand-case-study .hero-content {
  position: relative;
  z-index: 2;
}

.brand-case-study .eyebrow,
.brand-case-study .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: .78rem;
  font-weight: 700;
  color: var(--brand-cyan);
}

.brand-case-study .case-hero h1 {
  max-width: 790px;
  margin-top: 1rem;
  font-size: clamp(2.85rem, 6vw, 5.7rem);
  line-height: .96;
  letter-spacing: -.035em;
}

.brand-case-study .hero-lede {
  max-width: 700px;
  margin: 1.5rem 0 0;
  font-size: clamp(1rem, 1.45vw, 1.18rem);
  line-height: 1.8;
  color: var(--brand-muted);
}

.brand-case-study .hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
  margin-top: 2rem;
  font-size: .92rem;
}

.brand-case-study .hero-meta span {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .7rem 1rem;
  border: 1px solid rgba(217,225,232,.20);
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  color: var(--brand-muted);
  line-height: 1.2;
  white-space: nowrap;
}

.brand-case-study .hero-meta i {
  color: var(--brand-orange);
}

.brand-case-study .brand-hero-stage {
  position: relative;
  min-height: clamp(330px, 40vw, 500px);
  display: grid;
  place-items: center;
}

.brand-case-study .brand-hero-stage::before {
  content: "";
  position: absolute;
  width: 84%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,106,26,.18), rgba(255,61,129,.07) 42%, rgba(50,212,255,.04) 58%, transparent 72%);
  filter: blur(8px);
}

.brand-case-study .hero-logo-card {
  position: relative;
  z-index: 1;
  width: min(100%, 520px);
  padding: clamp(.8rem, 2vw, 1.2rem);
  border: 1px solid var(--brand-border);
  border-radius: clamp(1.25rem, 2.5vw, 2rem);
  background: rgba(15,17,21,.74);
  box-shadow: var(--brand-shadow);
  backdrop-filter: blur(14px);
  transform: rotate(1.3deg);
}

.brand-case-study .hero-logo-card img {
  width: 100%;
  border-radius: 1rem;
  object-fit: contain;
  background: transparent;
}

.brand-case-study .scroll-cue {
  position: absolute;
  z-index: 3;
  bottom: clamp(2.2rem, 4vw, 3.5rem);
  left: 50%;
  transform: translateX(-50%);
  display: grid;
  justify-items: center;
  gap: .55rem;
  color: var(--brand-soft);
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.brand-case-study .scroll-cue-line {
  width: 1px;
  height: 42px;
  background: linear-gradient(to bottom, var(--brand-orange), transparent);
  animation: brandCuePulse 1.8s ease-in-out infinite;
}

@keyframes brandCuePulse {
  0%, 100% { transform: scaleY(.55); opacity: .45; transform-origin: top; }
  50% { transform: scaleY(1); opacity: 1; transform-origin: top; }
}

/* ---------- Scroll story ---------- */
.brand-case-study .story {
  position: relative;
  padding-bottom: 2rem;
}

.brand-case-study .story::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  transform: translateX(-50%);
  background: linear-gradient(to bottom, transparent, rgba(217,225,232,.11) 8%, rgba(217,225,232,.11) 92%, transparent);
  pointer-events: none;
}

.brand-case-study .story-section {
  position: relative;
  min-height: 72vh;
  display: flex;
  align-items: center;
  padding: clamp(4.5rem, 9vw, 8rem) 0;
  isolation: isolate;
  overflow: clip;
}

.brand-case-study .story-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(72vw, 980px);
  aspect-ratio: 1.7 / 1;
  border-radius: 50%;
  filter: blur(28px);
  opacity: 0;
  transition: opacity 1.1s ease;
  background: radial-gradient(circle, rgba(255,106,26,.075), rgba(255,61,129,.025) 48%, transparent 70%);
}

.brand-case-study .story-section:nth-child(even)::before { right: -28%; }
.brand-case-study .story-section:nth-child(odd)::before { left: -28%; }
.brand-case-study .story-section.is-visible::before { opacity: .95; }

.brand-case-study .story-grid {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}

.brand-case-study .story-section.reverse .story-copy { order: 2; }
.brand-case-study .story-section.reverse .story-visual { order: 1; }

.brand-case-study .story-copy,
.brand-case-study .story-visual {
  min-width: 0;
  max-width: 100%;
  opacity: 0;
  filter: blur(7px);
  transform: translateY(62px);
  transition:
    opacity .85s cubic-bezier(.2,.7,.2,1),
    transform .9s cubic-bezier(.2,.7,.2,1),
    filter .9s ease;
}

.brand-case-study .story-visual {
  transform: translateY(70px) scale(.965);
  transition-delay: .1s;
}

.brand-case-study .story-section.is-visible .story-copy,
.brand-case-study .story-section.is-visible .story-visual {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0) scale(1);
}

.brand-case-study .section-number {
  display: inline-block;
  margin-bottom: .7rem;
  font-family: "Exo 2", sans-serif;
  font-size: .8rem;
  letter-spacing: .12em;
  color: var(--brand-soft);
}

.brand-case-study .story-title {
  margin: .8rem 0 1.2rem;
  font-size: clamp(2rem, 4.1vw, 4.1rem);
  line-height: 1.02;
  letter-spacing: -.03em;
}

.brand-case-study .story-lede,
.brand-case-study .story-copy p {
  color: var(--brand-muted);
  line-height: 1.8;
}

.brand-case-study .story-lede {
  max-width: 700px;
  font-size: clamp(1.05rem, 1.45vw, 1.2rem);
}

.brand-case-study .visual-panel {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  padding: clamp(1.2rem, 3vw, 2.1rem);
  border: 1px solid var(--brand-border);
  border-radius: clamp(1.35rem, 2.5vw, 2rem);
  background:
    radial-gradient(circle at 84% 18%, rgba(255,106,26,.095), transparent 28%),
    linear-gradient(145deg, rgba(21,31,47,.94), rgba(12,18,30,.95));
  box-shadow: var(--brand-shadow);
  backdrop-filter: blur(12px);
}

.brand-case-study .visual-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(120deg, transparent 20%, rgba(255,255,255,.022), transparent 76%);
}

/* ---------- Shared cards ---------- */
.brand-case-study .project-facts,
.brand-case-study .brand-values-grid,
.brand-case-study .outcome-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: .9rem;
}

.brand-case-study .fact-card,
.brand-case-study .foundation-card,
.brand-case-study .outcome-card,
.brand-case-study .visual-language-card {
  min-width: 0;
  padding: 1rem 1.05rem;
  border: 1px solid var(--brand-border);
  border-radius: 1rem;
  background: rgba(255,255,255,.027);
}

.brand-case-study .fact-card strong,
.brand-case-study .foundation-card strong,
.brand-case-study .outcome-card strong,
.brand-case-study .visual-language-card strong {
  display: block;
  margin-bottom: .35rem;
  color: var(--brand-ink);
  font-size: .96rem;
}

.brand-case-study .fact-label,
.brand-case-study .card-label {
  display: block;
  margin-bottom: .3rem;
  text-transform: uppercase;
  letter-spacing: .09em;
  color: var(--brand-soft);
  font-size: .69rem;
  font-weight: 700;
}

.brand-case-study .fact-card > span:not(.fact-label),
.brand-case-study .foundation-card p,
.brand-case-study .outcome-card p,
.brand-case-study .visual-language-card p {
  margin: 0;
  color: var(--brand-muted);
  line-height: 1.65;
  font-size: .92rem;
}

/* ---------- 02 Challenge + Solution ---------- */
.brand-case-study .challenge-solution-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.1rem;
}

.brand-case-study .cs-block {
  display: grid;
  grid-template-columns: 56px minmax(0,1fr);
  gap: 1rem 1.15rem;
  align-items: start;
  min-width: 0;
  padding: 1.35rem 1.5rem;
  border: 1px solid var(--brand-border);
  border-radius: 1.15rem;
  background: rgba(255,255,255,.026);
}

.brand-case-study .cs-block.solution {
  background: linear-gradient(145deg, rgba(255,106,26,.10), rgba(50,212,255,.03));
}

.brand-case-study .cs-icon {
  grid-column: 1;
  grid-row: 1 / span 4;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255,106,26,.12);
  color: var(--brand-orange);
  font-size: 1.2rem;
}

.brand-case-study .cs-block .fact-label,
.brand-case-study .cs-block h3,
.brand-case-study .cs-block p {
  grid-column: 2;
}

.brand-case-study .cs-block h3 {
  margin: 0;
  font-size: 1.25rem;
}

.brand-case-study .cs-block p {
  margin: .1rem 0 0;
  color: var(--brand-muted);
  line-height: 1.75;
}

/* ---------- Brand foundation ---------- */
.brand-case-study .mission-list {
  margin: 1rem 0 0;
  padding-left: 1.25rem;
  color: var(--brand-muted);
  line-height: 1.75;
}

.brand-case-study .voice-line {
  margin: 1rem 0 0;
  font-family: "Exo 2", sans-serif;
  font-size: clamp(1.25rem, 2.2vw, 1.8rem);
  color: var(--brand-ink);
}

.brand-case-study .tagline-row {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1rem;
}

.brand-case-study .tagline-chip {
  padding: .65rem .9rem;
  border: 1px solid var(--brand-border);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  color: var(--brand-muted);
  font-size: .88rem;
}

/* ---------- Media ---------- */
.brand-case-study .story-media-button {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: zoom-in;
}

.brand-case-study .story-media-button img,
.brand-case-study .story-image {
  width: 100%;
  max-height: min(72vh, 720px);
  object-fit: contain;
  border-radius: 1rem;
  background: rgba(255,255,255,.025);
}

.brand-case-study .media-caption {
  margin: 1rem .2rem 0;
  color: var(--brand-soft);
  font-size: .82rem;
  line-height: 1.55;
}

.brand-case-study .sketch-grid {
  display: grid;
  grid-template-columns: .65fr 1.35fr;
  gap: 1rem;
}

.brand-case-study .sketch-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--brand-border);
  border-radius: 1rem;
  background: rgba(255,255,255,.025);
}

.brand-case-study .sketch-card button {
  width: 100%;
  height: 100%;
  padding: .7rem;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}

.brand-case-study .sketch-card img {
  width: 100%;
  height: 100%;
  max-height: 560px;
  object-fit: contain;
  border-radius: .7rem;
}

/* ---------- Final logo ---------- */
.brand-case-study .logo-rationale {
  display: grid;
  gap: .8rem;
  margin-top: 1rem;
}

.brand-case-study .rationale-line {
  padding: .85rem 1rem;
  border-left: 3px solid var(--brand-orange);
  border-radius: 0 .8rem .8rem 0;
  background: rgba(255,106,26,.055);
  color: var(--brand-muted);
  line-height: 1.65;
}

/* ---------- Color system ---------- */
.brand-case-study .swatch-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: .75rem;
}

.brand-case-study .swatch {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--brand-border);
  border-radius: 1rem;
  background: rgba(255,255,255,.025);
}

.brand-case-study .swatch-color {
  height: 120px;
}

.brand-case-study .swatch-copy {
  padding: .85rem;
}

.brand-case-study .swatch-copy strong {
  display: block;
  color: var(--brand-ink);
  font-size: .84rem;
}

.brand-case-study .swatch-copy span {
  display: block;
  margin-top: .2rem;
  color: var(--brand-soft);
  font-size: .76rem;
}

.brand-case-study .swatch.midnight .swatch-color { background: #0F1115; }
.brand-case-study .swatch.ember .swatch-color { background: #FF6A1A; }
.brand-case-study .swatch.magenta .swatch-color { background: #FF3D81; }
.brand-case-study .swatch.cyan .swatch-color { background: #32D4FF; }
.brand-case-study .swatch.mist .swatch-color { background: #D9E1E8; }

/* ---------- Typography ---------- */
.brand-case-study .type-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 1rem;
}

.brand-case-study .type-card {
  min-width: 0;
  overflow: hidden;
  padding: clamp(1.3rem, 3vw, 2rem);
  border: 1px solid var(--brand-border);
  border-radius: 1.15rem;
  background: rgba(255,255,255,.027);
}

.brand-case-study .type-sample {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.brand-case-study .type-sample.cinzel {
  font-family: "Cinzel", serif;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  line-height: 1.08;
}

.brand-case-study .type-sample.montserrat {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.18;
}

.brand-case-study .type-card p {
  margin: 1rem 0 0;
  color: var(--brand-muted);
  line-height: 1.7;
}

/* ---------- Supporting visual language ---------- */
.brand-case-study .visual-language-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 1rem;
}

.brand-case-study .visual-language-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin-bottom: 1rem;
  border-radius: 1rem;
  background: rgba(50,212,255,.09);
  color: var(--brand-cyan);
  font-size: 1.35rem;
}

/* ---------- Brand applications ---------- */
.brand-case-study .application-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

.brand-case-study .application-card {
  min-width: 0;
  padding: clamp(1.2rem, 2.4vw, 1.8rem);
  border: 1px solid var(--brand-border);
  border-radius: 1.15rem;
  background: rgba(255,255,255,.025);
}

.brand-case-study .application-card strong {
  display: block;
  margin: .35rem 0 .6rem;
  font-size: clamp(1.15rem, 2vw, 1.4rem);
  color: var(--brand-ink);
}

.brand-case-study .application-card p {
  margin: 0 0 1rem;
  color: var(--brand-muted);
  line-height: 1.7;
}

.brand-case-study .application-media-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: .9rem;
}

.brand-case-study .application-media-stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: .9rem;
}

.brand-case-study .application-card .story-media-button {
  width: 100%;
}

.brand-case-study .application-card .story-media-button img {
  width: 100%;
  display: block;
}

/* ---------- Outcome ---------- */
.brand-case-study .outcome-quote {
  margin: 1.5rem 0;
  padding-left: 1.2rem;
  border-left: 3px solid var(--brand-orange);
  font-family: "Exo 2", sans-serif;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  line-height: 1.45;
  color: var(--brand-ink);
}

.brand-case-study .back-button {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .9rem 1.3rem;
  border: 1px solid var(--brand-border);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  color: var(--brand-ink);
  font-weight: 800;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease;
}

.brand-case-study .back-button:hover,
.brand-case-study .back-button:focus-visible {
  transform: translateY(-2px);
  background: var(--brand-orange);
  color: #0F1115;
}

.brand-case-study .bottom-actions {
  padding: 2rem 0 5rem;
  text-align: center;
}

/* ---------- Image modal ---------- */
.brand-gallery-modal .modal-content {
  border: 1px solid rgba(217,225,232,.18);
  border-radius: 1.5rem;
  background: #0d1220;
}

.brand-gallery-modal .modal-header {
  border-color: rgba(255,255,255,.12);
  color: #f5f7fb;
}

.brand-gallery-modal .btn-close {
  filter: invert(1);
}

.brand-gallery-modal .modal-body {
  display: grid;
  place-items: center;
  padding: 1rem;
}

.brand-gallery-modal img {
  max-width: 100%;
  max-height: 82vh;
  object-fit: contain;
  border-radius: 1rem;
}

/* ---------- Section-specific layout ---------- */
@media (min-width: 768px) {
  /* Challenge/Solution: cards left, heading right */
  .brand-case-study #challenge .story-grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: start;
  }
  .brand-case-study #challenge .story-visual { order: 1; }
  .brand-case-study #challenge .story-copy { order: 2; }

  /* Logo exploration: sketches left, story right */
  .brand-case-study #exploration .story-grid {
    grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
    align-items: start;
  }
  .brand-case-study #exploration .story-visual { order: 1; }
  .brand-case-study #exploration .story-copy { order: 2; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1199.98px) {
  .brand-case-study .type-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991.98px) {
  .brand-case-study .case-hero {
    min-height: auto;
    padding-bottom: 8rem;
  }

  .brand-case-study .brand-hero-stage {
    min-height: 360px;
    margin-top: 1rem;
  }

  .brand-case-study .hero-logo-card {
    width: min(520px, 88vw);
    transform: rotate(.7deg);
  }

  .brand-case-study .story::before {
    left: 24px;
    transform: none;
  }

  .brand-case-study .story-grid {
    grid-template-columns: 1fr;
    gap: 2.25rem;
  }

  .brand-case-study .story-section {
    min-height: auto;
    padding: 5.5rem 0;
  }

  .brand-case-study .story-section.reverse .story-copy,
  .brand-case-study .story-section.reverse .story-visual,
  .brand-case-study #challenge .story-copy,
  .brand-case-study #challenge .story-visual,
  .brand-case-study #exploration .story-copy,
  .brand-case-study #exploration .story-visual {
    order: initial;
  }

  .brand-case-study .story-visual {
    max-width: 900px;
    width: 100%;
  }

  .brand-case-study .page-progress {
    right: 9px;
  }

  .brand-case-study .swatch-grid {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
}

@media (max-width: 767.98px) {
  .brand-case-study .case-hero {
    padding-top: 3.25rem;
    padding-bottom: 6.25rem;
  }

  .brand-case-study .case-hero h1 {
    font-size: clamp(2.25rem, 11vw, 3.1rem);
  }

  .brand-case-study .hero-meta span {
    width: 100%;
    white-space: normal;
  }

  .brand-case-study .brand-hero-stage {
    min-height: 290px;
  }

  .brand-case-study .scroll-cue {
    bottom: 2rem;
  }

  .brand-case-study .page-progress,
  .brand-case-study .story::before {
    display: none;
  }

  .brand-case-study .story-section {
    padding: 4.2rem 0;
  }

  .brand-case-study .story-grid {
    gap: 1.75rem;
  }

  .brand-case-study .story-title {
    margin-top: .65rem;
    font-size: clamp(1.9rem, 9vw, 2.8rem);
  }

  .brand-case-study .story-copy p,
  .brand-case-study .story-lede {
    font-size: 1rem;
  }

  .brand-case-study .project-facts,
  .brand-case-study .brand-values-grid,
  .brand-case-study .outcome-grid,
  .brand-case-study .type-grid,
  .brand-case-study .visual-language-grid,
  .brand-case-study .application-media-pair {
    grid-template-columns: 1fr;
  }

  .brand-case-study .sketch-grid {
    grid-template-columns: 1fr;
  }

  .brand-case-study .swatch-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .brand-case-study .visual-panel {
    padding: 1rem;
    border-radius: 1.25rem;
  }

  .brand-case-study .cs-block {
    grid-template-columns: 44px minmax(0,1fr);
    padding: 1.15rem;
  }
}

@media (max-width: 479.98px) {
  .brand-case-study .case-hero {
    padding-bottom: 5.5rem;
  }

  .brand-case-study .brand-hero-stage {
    min-height: 245px;
  }

  .brand-case-study .visual-panel {
    padding: .9rem;
  }

  .brand-case-study .story-title {
    font-size: clamp(1.75rem, 9.5vw, 2.35rem);
  }

  .brand-case-study .story-section {
    padding: 3.6rem 0;
  }

  .brand-case-study .story-copy,
  .brand-case-study .story-visual {
    transform: translateY(36px);
  }

  .brand-case-study .swatch-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  .brand-case-study *,
  .brand-case-study *::before,
  .brand-case-study *::after {
    animation: none !important;
    transition-duration: .01ms !important;
  }

  .brand-case-study .story-copy,
  .brand-case-study .story-visual {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
  }

  .brand-case-study .story-section::before {
    opacity: .35 !important;
  }
}
