:root {
  --bg: #fcfaf6;
  --faya-accent: #a33d42;
  --faya-accent-muted: #96545a;
  --surface: rgba(255, 255, 255, 0.38);
  --surface-strong: rgba(255, 255, 255, 0.54);
  --text: #6b626e;
  --muted: #786f79;
  --line: rgba(34, 32, 41, 0.08);
  --shadow: 0 40px 110px rgba(54, 48, 66, 0.12);
}

.tale-detail-section { min-height: 100svh; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; gap: 24px; padding: clamp(32px, 6vw, 88px); background: transparent; }
.tale-detail-copy { justify-self: end; max-width: 300px; }
.tale-detail-copy h2 { margin: 16px 0 24px; font-size: clamp(4rem, 8vw, 8rem); font-weight: 600; letter-spacing: -.07em; line-height: .95; }
.tale-detail-copy > p:not(.faya-eyebrow) { color: var(--theme-copy,#55535a); line-height: 1.5; }
.tale-detail-copy a { display: inline-block; margin-top: 24px; color: var(--faya-accent); text-underline-offset: 5px; }
.tale-detail-image { display: block; width: 100%; height: min(72svh, 680px); object-fit: contain; object-position: left center; }
.tale-travelling-image { position: fixed; z-index: 1000; display: block; max-width: none; object-fit: contain; pointer-events: none; will-change: left, top, width, height; }
.tale-handoff-active { overflow: hidden; }
.tale-return-active .faya-scroll-laptop { visibility: hidden !important; }
.tale-return-backdrop { position: fixed; inset: 0; z-index: 999; background: var(--bg); pointer-events: none; }
.tale-travelling-image { object-position: center; }
@media (max-width: 700px) {
  .tale-detail-section { grid-template-columns: minmax(0,1fr); gap: 16px; align-content: center; }
  .tale-detail-copy { justify-self: center; text-align: center; }
  .tale-detail-image { height: 54svh; object-position: center; }
}

* {
  box-sizing: border-box;
}

/* Sections preserved in separate pages must not participate in the home layout. */
[hidden] {
  display: none !important;
}

html {
  scrollbar-gutter: stable;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: "Inter", sans-serif;
  color: var(--text);
  background: var(--bg);
  overflow-x: hidden;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

.hero {
  position: relative;
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  padding: 24px;
}

.hero-surface {
  position: relative;
  width: min(100%, 1520px);
  min-height: calc(100vh - 48px);
  border: 1px solid rgba(74, 64, 84, 0.1);
  border-radius: 28px;
  background: rgba(255, 252, 246, 0.62);
  box-shadow: var(--shadow);
  overflow: clip;
  isolation: isolate;
}

.ambient,
.grain {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.ambient::before,
.ambient::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(24px);
  opacity: 0.9;
}

.ambient-a::before {
  width: 320px;
  height: 320px;
  left: 10%;
  top: 12%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.95), rgba(250, 175, 143, 0.18) 45%, transparent 72%);
}

.ambient-a::after {
  width: 260px;
  height: 260px;
  right: 11%;
  top: 18%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.85), rgba(167, 182, 255, 0.16) 46%, transparent 72%);
}

.ambient-b::before {
  width: 340px;
  height: 220px;
  left: 36%;
  top: 63%;
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.82), rgba(180, 225, 122, 0.14) 50%, transparent 74%);
}

.ambient-b::after {
  width: 220px;
  height: 220px;
  left: 7%;
  bottom: 13%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.9), rgba(255, 170, 153, 0.14) 44%, transparent 74%);
}

.ambient-c::before {
  width: 240px;
  height: 240px;
  right: 12%;
  bottom: 11%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.92), rgba(201, 150, 255, 0.14) 42%, transparent 72%);
}

.ambient-c::after {
  width: 140px;
  height: 140px;
  left: 48%;
  top: 8%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.9), rgba(255, 203, 110, 0.16) 42%, transparent 72%);
}

.grain {
  opacity: 0.06;
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 0, 0, 0.08) 1px, transparent 1px);
  background-size: 3px 3px;
  mix-blend-mode: soft-light;
}

.hero-kicker {
  position: absolute;
  left: clamp(20px, 4vw, 52px);
  top: clamp(18px, 4vw, 44px);
  margin: 0;
  z-index: 2;
  font-size: 0.8rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(37, 35, 45, 0.45);
}

.site-nav {
  position: absolute;
  z-index: 7;
  top: clamp(18px, 4vw, 44px);
  right: clamp(20px, 4vw, 52px);
}

.site-nav a {
  color: rgba(37, 35, 45, 0.58);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 180ms ease;
}@media (hover:hover) and (pointer:fine) {

.site-nav a:hover,
.site-nav a:focus-visible {
  color: #222029;
}}

.site-nav a:focus-visible {
  outline: 3px solid rgba(94, 126, 255, 0.28);
  outline-offset: 5px;
}

.hero h1 {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -56%);
  margin: 0;
  z-index: 3;
  font-family: "Inter", sans-serif;
  font-size: clamp(4rem, 8vw, 8.6rem);
  line-height: 0.92;
  letter-spacing: -0.06em;
  font-weight: 600;
  text-align: center;
  width: min(90vw, 11ch);
  color: #212028;
  text-wrap: balance;
}

.project {
  position: absolute;
  z-index: 4;
  width: clamp(180px, 19vw, 276px);
  aspect-ratio: 1;
  border: 0;
  background: transparent;
  border-radius: 38% 62% 58% 42% / 42% 38% 62% 58%;
  cursor: pointer;
  isolation: isolate;
  padding: 0;
  color: inherit;
  transition: transform 240ms ease, filter 240ms ease, opacity 240ms ease;
  outline: none;
  transform: translate3d(var(--tx, 0px), var(--ty, 0px), 0);
}@media (hover:hover) and (pointer:fine) {

.project:hover,
.project:focus-visible {
  filter: saturate(1.05) contrast(1.02);
}}

.project:active {
  transform: translate3d(var(--tx, 0px), var(--ty, 0px), 0) scale(0.98);
}

.project-shell {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid rgba(57, 49, 68, 0.1);
  box-shadow: 0 18px 42px rgba(65, 58, 72, 0.09);
}

.project-shell::before,
.project-shell::after {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: inherit;
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0.08));
  backdrop-filter: blur(10px);
}

.project-shell::after {
  inset: -10px;
  filter: blur(16px);
  opacity: 0.86;
  background: var(--project-glow, radial-gradient(circle, rgba(255,255,255,0.95), rgba(255,255,255,0.05) 70%));
}

.project-content {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  place-items: center;
  gap: 8px;
  text-align: center;
  padding: 30px;
  z-index: 2;
  color: #1f1d26;
}

.project-category,
.project-call {
  margin: 0;
  color: rgba(31, 29, 38, 0.72);
  font-size: 0.86rem;
  letter-spacing: 0.08em;
}

.project-category {
  text-transform: uppercase;
  font-weight: 700;
}

.project h2 {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: clamp(1.6rem, 2.5vw, 2.35rem);
  line-height: 0.95;
  letter-spacing: -0.03em;
  color: #1d1b24;
}

.project-1 {
  left: clamp(24px, 10vw, 108px);
  top: clamp(25vh, 30vh, 34vh);
  --project-glow: radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.96), rgba(255, 153, 120, 0.32) 36%, rgba(255, 153, 120, 0.08) 68%, transparent 74%);
  animation: driftA 11s ease-in-out infinite;
}

.project--tale {
  width: clamp(168px, 15vw, 230px);
  aspect-ratio: 846 / 1373;
  border-radius: 0;
  overflow: visible;
}

.project--tale::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 19% 3% 8%;
  border-radius: 48%;
  background: radial-gradient(circle, rgba(252, 190, 215, 0.48), rgba(244, 216, 180, 0.25) 42%, transparent 71%);
  filter: blur(24px);
  opacity: 0.76;
  transition: opacity 280ms ease, transform 280ms ease;
}

.project-tale-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  filter: drop-shadow(0 18px 20px rgba(67, 44, 55, 0.22));
  transition: transform 280ms cubic-bezier(0.16, 1, 0.3, 1), filter 280ms ease;
}

.project--tale .project-tale-content {
  inset: 22% auto auto calc(100% + 12px);
  display: block;
  width: min(220px, 135%);
  padding: 13px 14px 12px;
  border: 1px solid rgba(49, 39, 53, 0.1);
  border-radius: 15px;
  background: rgba(255, 253, 248, 0.88);
  box-shadow: 0 13px 28px rgba(57, 44, 60, 0.13);
  backdrop-filter: blur(10px);
  color: #28202c;
  opacity: 0;
  pointer-events: none;
  transform: translate3d(-12px, 0, 0) scale(0.96);
}

.project--tale .project-tale-content h2 {
  margin: 0 0 5px;
  font-size: clamp(1.45rem, 2vw, 2rem);
}

.project--tale .project-tale-content .project-category {
  font-size: 0.65rem;
  letter-spacing: 0.1em;
}

.project--tale .project-tale-content .project-call {
  margin-top: 6px;
  font-size: 0.69rem;
  line-height: 1.35;
  letter-spacing: 0.01em;
}

.project-2 {
  left: 50%;
  top: clamp(11vh, 14vh, 18vh);
  --project-glow: radial-gradient(circle at 40% 36%, rgba(255, 255, 255, 0.96), rgba(252, 135, 90, 0.22) 38%, rgba(176, 124, 255, 0.1) 66%, transparent 74%);
  animation: driftB 13s ease-in-out infinite;
}

.project-3 {
  right: clamp(24px, 8vw, 104px);
  top: clamp(40vh, 47vh, 53vh);
  --project-glow: radial-gradient(circle at 38% 32%, rgba(255, 255, 255, 0.96), rgba(161, 186, 255, 0.28) 38%, rgba(186, 122, 255, 0.09) 68%, transparent 76%);
  animation: driftC 15s ease-in-out infinite;
}@media (hover:hover) and (pointer:fine) {

.project:hover,
.project:focus-visible,
.project[data-active="true"] {
  z-index: 6;
}}@media (hover:hover) and (pointer:fine) {

.project:hover .project-shell::after,
.project:focus-visible .project-shell::after,
.project[data-active="true"] .project-shell::after {
  filter: blur(12px);
  opacity: 1;
}}@media (hover:hover) and (pointer:fine) {

.project:hover .project-content,
.project:focus-visible .project-content,
.project[data-active="true"] .project-content {
  transform: translateY(-2px);
}}@media (hover:hover) and (pointer:fine) {

.project:hover .project-call,
.project:focus-visible .project-call,
.project[data-active="true"] .project-call {
  color: rgba(31, 29, 38, 0.92);
}}@media (hover:hover) and (pointer:fine) {

.project--tale:hover::before,
.project--tale:focus-visible::before,
.project--tale[data-active="true"]::before {
  opacity: 1;
  transform: scale(1.06);
}}@media (hover:hover) and (pointer:fine) {

.project--tale:hover .project-tale-image,
.project--tale:focus-visible .project-tale-image,
.project--tale[data-active="true"] .project-tale-image {
  filter: drop-shadow(0 24px 24px rgba(67, 44, 55, 0.27));
  transform: translateY(-7px) rotate(-1deg);
}}@media (hover:hover) and (pointer:fine) {

.project--tale:hover .project-tale-content,
.project--tale:focus-visible .project-tale-content,
.project--tale[data-active="true"] .project-tale-content {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}}

.scroll-indicator {
  position: absolute;
  right: clamp(18px, 3vw, 34px);
  bottom: clamp(18px, 3vw, 34px);
  display: inline-flex;
  align-items: center;
  gap: 14px;
  z-index: 5;
  color: rgba(35, 33, 42, 0.58);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
}

.scroll-indicator i {
  position: relative;
  width: 88px;
  height: 1px;
  background: rgba(35, 33, 42, 0.34);
}

.scroll-indicator i::after {
  content: "";
  position: absolute;
  right: -2px;
  top: -5px;
  width: 10px;
  height: 10px;
  border-top: 1px solid rgba(35, 33, 42, 0.34);
  border-right: 1px solid rgba(35, 33, 42, 0.34);
  transform: rotate(45deg);
}

.project:focus-visible {
  box-shadow: 0 0 0 4px rgba(94, 126, 255, 0.22);
}

.project:focus-visible .project-shell {
  border-color: rgba(52, 74, 158, 0.22);
}@media (hover:hover) and (pointer:fine) {

.project:focus-visible .project-content,
.project:hover .project-content,
.project[data-active="true"] .project-content {
  filter: none;
}}

.project-content,
.project-category,
.project-call,
.project h2 {
  transition: transform 220ms ease, opacity 220ms ease, color 220ms ease;
}

@keyframes driftA {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(14px, -10px, 0); }
}

@keyframes driftB {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(-10px, 12px, 0); }
}

@keyframes driftC {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(10px, -14px, 0); }
}

@media (max-width: 900px) {
  .hero {
    padding: 14px;
  }

  .hero-surface {
    min-height: calc(100vh - 28px);
    border-radius: 24px;
  }

  .hero h1 {
    width: min(92vw, 10ch);
    transform: translate(-50%, -54%);
    font-size: clamp(3.4rem, 12vw, 5.8rem);
  }

  .project {
    width: clamp(150px, 30vw, 230px);
  }

  .project-1 {
    left: 5%;
    top: 58%;
  }

  .project--tale.project-1 {
    top: 48%;
  }

  .project-2 {
    left: 50%;
    top: 18%;
    transform: translateX(-50%);
  }

  .project-3 {
    right: 5%;
    top: 63%;
  }
}

@media (max-width: 640px) {
  .hero {
    align-items: stretch;
  }

  .hero-surface {
    min-height: calc(100vh - 24px);
    border-radius: 22px;
  }

  .hero h1 {
    top: 39%;
    width: 7.5ch;
    font-size: clamp(3.2rem, 17vw, 4.6rem);
  }

  .hero-kicker {
    font-size: 0.72rem;
  }

  .site-nav a {
    font-size: 0.64rem;
    letter-spacing: 0.08em;
  }

  .project {
    width: clamp(124px, 34vw, 180px);
  }

  .project-content {
    padding: 20px 16px;
    gap: 6px;
  }

  .project h2 {
    font-size: 1.5rem;
  }

  .project-category,
  .project-call {
    font-size: 0.76rem;
  }

  .project-1 {
    left: 4%;
    top: 58%;
  }

  .project--tale.project-1 {
    top: 44%;
  }

  .project-2 {
    left: 50%;
    top: 22%;
  }

  .project-3 {
    right: 4%;
    top: 67%;
  }

  .scroll-indicator {
    right: 16px;
    bottom: 16px;
    gap: 10px;
  }

  .scroll-indicator i {
    width: 56px;
  }
}

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

  .project {
    animation: none !important;
    transition: none;
  }

  .project-content,
  .project-shell::after {
    transition: none;
  }
}

/* Section 02 — character selection */
.about-section {
  position: relative;
  width: min(100%, 1520px);
  min-height: 100vh;
  margin: 0 auto 24px;
  padding: clamp(40px, 6vw, 84px) clamp(24px, 5vw, 76px) clamp(42px, 7vw, 80px);
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(360px, 1.45fr) minmax(190px, 1fr);
  align-items: center;
  gap: clamp(22px, 4vw, 72px);
  overflow: clip;
  isolation: isolate;
  border: 1px solid rgba(74, 64, 84, 0.1);
  border-radius: 28px;
  background: rgba(255, 252, 246, 0.62);
  box-shadow: var(--shadow);
}

.about-heading { position: absolute; top: clamp(24px, 4vw, 46px); left: clamp(24px, 5vw, 76px); right: clamp(24px, 5vw, 76px); z-index: 4; display: flex; align-items: baseline; gap: 18px; }
.about-heading p, .panel-label { margin: 0; color: rgba(37, 35, 45, .48); font-size: .72rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.about-heading h2 { margin: 0; font-family: "Inter", sans-serif; font-size: clamp(3.2rem, 6.8vw, 6.8rem); line-height: .76; letter-spacing: -.07em; font-weight: 600; }
.about-heading span { height: 1px; flex: 1; max-width: 180px; background: rgba(34, 32, 41, .18); }

.about-ambient, .about-grain { position: absolute; inset: 0; pointer-events: none; z-index: -1; }
.about-ambient::before { content: ""; position: absolute; border-radius: 50%; filter: blur(22px); }
.about-ambient-a::before { width: 36vw; aspect-ratio: 1; top: 10%; left: 29%; background: radial-gradient(circle, rgba(255,255,255,.88), rgba(250,144,161,.18) 37%, rgba(164,177,255,.12) 58%, transparent 72%); animation: ambientBreath 16s ease-in-out infinite; }
.about-ambient-b::before { width: 30vw; aspect-ratio: 1.1; bottom: 3%; right: 8%; background: radial-gradient(circle, rgba(255,255,255,.78), rgba(184,225,122,.15) 42%, rgba(155,178,255,.12) 61%, transparent 74%); animation: ambientBreath 19s ease-in-out infinite reverse; }
.about-grain { opacity: .035; background-image: linear-gradient(90deg, rgba(0,0,0,.2) 1px, transparent 1px), linear-gradient(rgba(0,0,0,.2) 1px, transparent 1px); background-size: 4px 4px; mix-blend-mode: soft-light; }

.about-panel { position: relative; z-index: 2; min-height: 340px; align-self: center; padding: 26px 25px; border: 1px solid rgba(42, 37, 49, .13); border-radius: 4px 42px 4px 42px; background: linear-gradient(145deg, rgba(255,255,255,.48), rgba(255,255,255,.18)); box-shadow: 0 24px 58px rgba(54,48,66,.07); overflow: hidden; }
.powers-panel { border-radius: 42px 4px 42px 4px; }
.about-panel::before { content: ""; position: absolute; width: 72px; height: 72px; right: -34px; top: -31px; border-radius: 50%; background: rgba(255,255,255,.62); box-shadow: 0 0 40px 18px rgba(255,187,150,.18); }
.powers-panel::before { left: -34px; top: auto; bottom: -31px; background: rgba(255,255,255,.55); box-shadow: 0 0 40px 18px rgba(164,177,255,.16); }
.panel-orbit { position: absolute; inset: 18px; border: 1px solid rgba(43,39,49,.1); border-radius: 50%; transform: rotate(-17deg) scale(.9, 1.35); pointer-events: none; }
.about-panel h3 { position: relative; margin: 7px 0 28px; font-family: "Inter", sans-serif; font-size: clamp(2.25rem, 3vw, 3.35rem); font-weight: 600; line-height: .85; letter-spacing: -.055em; }
.about-panel ul { position: relative; list-style: none; padding: 0; margin: 0; display: grid; gap: 11px; }
.about-panel li { position: relative; padding-left: 19px; color: #302e35; font-size: .84rem; line-height: 1.25; font-weight: 600; }
.about-panel li::before { content: ""; position: absolute; left: 0; top: .48em; width: 8px; height: 8px; border-radius: 50%; border: 1px solid currentColor; box-shadow: 0 0 0 3px rgba(255,255,255,.45); }

.character-stage { position: relative; z-index: 6; min-height: min(70vh, 720px); padding-top: 70px; display: grid; place-items: center; }
.character-frame { position: relative; width: min(58vw, 800px); min-width: 440px; aspect-ratio: 16 / 9; z-index: 5; display: grid; place-items: center; cursor: grab; outline: none; user-select: none; touch-action: none; }
.character-frame:active { cursor: grabbing; }
.character-frame:focus-visible { box-shadow: 0 0 0 4px rgba(94,126,255,.22); border-radius: 30px; }
.character-frame canvas { display: block; width: 100%; height: 100%; filter: drop-shadow(0 20px 28px rgba(38,31,43,.13)); }
.character-loading { position: absolute; inset: 0; z-index: 2; display: grid; place-items: center; margin: 0; color: rgba(36,32,43,.68); font-size: .73rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transition: opacity 260ms ease; }
.character-frame.is-ready .character-loading { opacity: 0; pointer-events: none; }
.character-cue { position: absolute; z-index: 2; bottom: -18px; margin: 0; padding: 7px 12px; border: 1px solid rgba(43,39,49,.12); border-radius: 999px; background: rgba(255,255,255,.55); box-shadow: 0 10px 30px rgba(54,48,66,.08); color: rgba(36,32,43,.7); font-size: .68rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; opacity: 0; transform: translateY(5px); transition: opacity 300ms ease, transform 300ms ease; }
.character-frame.is-ready .character-cue { opacity: 1; transform: translateY(0); }
.character-cue span { margin-right: 4px; color: #c86066; font-size: 1.25em; }
.platform { position: absolute; width: min(52vw, 590px); min-width: 370px; aspect-ratio: 2.9 / 1; bottom: 33px; display: grid; place-items: center; z-index: 0; animation: platformBreathe 7s ease-in-out infinite; }
.platform::before { content: ""; position: absolute; inset: 31% 9%; border-radius: 50%; background: radial-gradient(ellipse, rgba(255,255,255,.94) 0%, rgba(255,185,158,.26) 34%, rgba(174,187,255,.15) 56%, transparent 73%); filter: blur(12px); box-shadow: 0 28px 42px rgba(48,40,57,.18); }
.platform i { position: absolute; border: 1px solid rgba(54,47,62,.18); border-radius: 50%; transform: rotate(-7deg); }
.platform i:nth-child(1) { width: 100%; height: 48%; }
.platform i:nth-child(2) { width: 80%; height: 35%; border-color: rgba(255,128,102,.35); }
.platform i:nth-child(3) { width: 57%; height: 23%; border-color: rgba(108,122,201,.28); }
.stage-mark { position: absolute; top: 120px; display: flex; gap: 5px; z-index: 0; opacity: .4; }
.stage-mark span { width: 1px; height: 120px; background: linear-gradient(transparent, rgba(41,37,45,.4), transparent); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@keyframes platformBreathe { 0%,100% { transform: scale(.98); opacity: .83; } 50% { transform: scale(1.03); opacity: 1; } }
@keyframes ambientBreath { 0%,100% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(18px,-9px,0) scale(1.07); } }

@media (max-width: 760px) {
  .about-section { min-height: auto; margin: 0 14px 14px; width: auto; padding: 34px 20px 32px; display: flex; flex-direction: column; gap: 22px; }
  .about-heading { position: relative; inset: auto; width: 100%; gap: 12px; align-items: center; }
  .about-heading h2 { font-size: clamp(3.1rem, 17vw, 5rem); }
  .about-heading span { max-width: 46px; }
  .character-stage { order: 1; width: 100%; min-height: 625px; padding-top: 15px; }
  .about-panel { order: 2; width: 100%; min-height: auto; padding: 23px; }
  .character-frame { width: min(calc(100vw - 48px), 620px); max-width: 100%; min-width: 0; }
  .platform { width: min(104vw, 540px); min-width: 0; bottom: 20px; }
  .about-ambient-a::before { width: 90vw; left: 2%; top: 18%; }
  .about-ambient-b::before { width: 78vw; right: -20%; bottom: 13%; }
}

@media (prefers-reduced-motion: reduce) {
  .about-ambient-a::before, .about-ambient-b::before, .platform { animation: none; }
  .character-cue { display: none; }
}

/* Faya project artwork */
.project--faya {
  width: clamp(228px, 25.6vw, 384px);
  aspect-ratio: 1508 / 987;
  border-radius: 0;
  overflow: visible;
}

.project--faya::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 24% 8% 8%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(213, 187, 158, 0.3), rgba(188, 218, 163, 0.17) 48%, transparent 74%);
  filter: blur(26px);
  opacity: 0.72;
  transition: opacity 280ms ease, transform 280ms ease;
}

.project-faya-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  filter: drop-shadow(0 20px 22px rgba(45, 38, 34, 0.23));
  transition: transform 280ms cubic-bezier(0.16, 1, 0.3, 1), filter 280ms ease;
}

.project--faya .project-faya-content {
  inset: calc(100% + 4px) auto auto 50%;
  display: block;
  width: min(220px, 88%);
  padding: 13px 14px 12px;
  border: 1px solid rgba(49, 39, 53, 0.1);
  border-radius: 15px;
  background: rgba(255, 253, 248, 0.88);
  box-shadow: 0 13px 28px rgba(57, 44, 60, 0.13);
  backdrop-filter: blur(10px);
  color: #28202c;
  opacity: 0;
  pointer-events: none;
  transform: translate3d(-50%, 12px, 0) scale(0.96);
}

.project--faya .project-faya-content h2 {
  margin: 0 0 5px;
  font-size: clamp(1.45rem, 2vw, 2rem);
}

.project--faya .project-faya-content .project-category {
  font-size: 0.65rem;
  letter-spacing: 0.1em;
}

.project--faya .project-faya-content .project-call {
  margin-top: 6px;
  font-size: 0.69rem;
  line-height: 1.35;
  letter-spacing: 0.01em;
}@media (hover:hover) and (pointer:fine) {

.project--faya:hover::before,
.project--faya:focus-visible::before,
.project--faya[data-active="true"]::before {
  opacity: 1;
  transform: scale(1.06);
}}@media (hover:hover) and (pointer:fine) {

.project--faya:hover .project-faya-image,
.project--faya:focus-visible .project-faya-image,
.project--faya[data-active="true"] .project-faya-image {
  filter: drop-shadow(0 27px 25px rgba(45, 38, 34, 0.28));
  transform: translateY(-7px) rotate(1deg);
}}@media (hover:hover) and (pointer:fine) {

.project--faya:hover .project-faya-content,
.project--faya:focus-visible .project-faya-content,
.project--faya[data-active="true"] .project-faya-content {
  opacity: 1;
  transform: translate3d(-50%, 0, 0) scale(1);
}}

@media (max-width: 900px) {
  .project--faya {
    width: clamp(188px, 34.8vw, 293px);
  }

  .project--faya.project-2 {
    top: 12%;
  }
}

@media (max-width: 640px) {
  .project--faya {
    width: clamp(170px, 46.8vw, 247px);
  }

  .project--faya.project-2 {
    top: 12%;
  }

  .project--faya .project-faya-content {
    width: min(200px, 96%);
  }
}
/* Aquilo que fica e outros fantasmas project artwork */
.project--aquilo { width: clamp(174px, 15.3vw, 243px); aspect-ratio: 808 / 1006; border-radius: 0; overflow: visible; }
.project--aquilo::before { content: ""; position: absolute; z-index: -1; inset: 12% 3% 6%; border-radius: 45%; background: radial-gradient(circle, rgba(52, 95, 75, 0.28), rgba(186, 182, 142, 0.12) 48%, transparent 74%); filter: blur(27px); opacity: 0.7; transition: opacity 280ms ease, transform 280ms ease; }
.project-aquilo-image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; pointer-events: none; filter: drop-shadow(0 22px 22px rgba(24, 38, 29, 0.24)); transition: transform 280ms cubic-bezier(0.16, 1, 0.3, 1), filter 280ms ease; }
.project--aquilo .project-aquilo-content { inset: 20% calc(100% + 14px) auto auto; display: block; width: min(246px, 120%); padding: 13px 14px 12px; border: 1px solid rgba(42, 54, 45, 0.14); border-radius: 15px; background: rgba(255, 253, 248, 0.9); box-shadow: 0 13px 28px rgba(37, 47, 39, 0.14); backdrop-filter: blur(10px); color: #202820; opacity: 0; pointer-events: none; transform: translate3d(12px, 0, 0) scale(0.96); }
.project--aquilo .project-aquilo-content h2 { margin: 0 0 6px; font-size: clamp(1.1rem, 1.55vw, 1.55rem); line-height: 1.02; }
.project--aquilo .project-aquilo-content .project-category { font-size: 0.61rem; line-height: 1.25; letter-spacing: 0.08em; }
.project--aquilo .project-aquilo-content .project-call { margin-top: 6px; font-size: 0.7rem; line-height: 1.35; letter-spacing: 0.01em; }@media (hover:hover) and (pointer:fine) {
.project--aquilo:hover::before, .project--aquilo:focus-visible::before, .project--aquilo[data-active="true"]::before { opacity: 1; transform: scale(1.06); }}@media (hover:hover) and (pointer:fine) {
.project--aquilo:hover .project-aquilo-image, .project--aquilo:focus-visible .project-aquilo-image, .project--aquilo[data-active="true"] .project-aquilo-image { filter: drop-shadow(0 28px 26px rgba(24, 38, 29, 0.3)); transform: translateY(-7px) rotate(-1deg); }}@media (hover:hover) and (pointer:fine) {
.project--aquilo:hover .project-aquilo-content, .project--aquilo:focus-visible .project-aquilo-content, .project--aquilo[data-active="true"] .project-aquilo-content { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }}
@media (max-width: 900px) { .project--aquilo { width: clamp(128px, 21.25vw, 174px); } .project--aquilo.project-3 { top: 55%; } }
@media (max-width: 640px) { .project--aquilo { width: clamp(105px, 24.65vw, 136px); } .project--aquilo.project-3 { top: 58%; } .project--aquilo .project-aquilo-content { right: 0; left: auto; top: 18%; width: min(200px, 128%); } }
/* Scroll-driven Faya transition between the hero and About section */
.faya-scroll-laptop {
  position: fixed;
  z-index: 18;
  top: 0;
  left: 0;
  display: block;
  visibility: hidden;
  pointer-events: none;
  transform-origin: center;
  filter: drop-shadow(0 26px 30px rgba(45, 38, 34, 0.28));
  will-change: transform, opacity;
}

.faya-scroll-laptop.is-visible {
  visibility: visible;
}

@media (prefers-reduced-motion: reduce) {
  .faya-scroll-laptop {
    display: none !important;
  }
}
/* Faya project details page */
.faya-detail-section {
  position: relative;
  width: min(100%, 1520px);
  min-height: 100vh;
  margin: 0 auto 24px;
  padding: clamp(42px, 7vw, 90px) clamp(24px, 7vw, 108px);
  display: grid;
  grid-template-columns: minmax(44%, 1fr) minmax(320px, 0.9fr);
  align-items: center;
  overflow: clip;
  isolation: isolate;
  border: 1px solid rgba(74, 64, 84, 0.1);
  border-radius: 28px;
  background: rgba(255, 252, 246, 0.7);
  box-shadow: var(--shadow);
}

.faya-detail-ambient { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.faya-detail-ambient::before { content: ""; position: absolute; border-radius: 50%; filter: blur(30px); }
.faya-detail-ambient-a::before { width: min(48vw, 620px); aspect-ratio: 1; left: -12%; bottom: -34%; background: radial-gradient(circle, rgba(179, 211, 161, 0.32), rgba(245, 196, 160, 0.11) 47%, transparent 74%); }
.faya-detail-ambient-b::before { width: min(36vw, 490px); aspect-ratio: 1; right: 6%; top: 7%; background: radial-gradient(circle, rgba(255, 255, 255, 0.95), rgba(236, 171, 145, 0.18) 42%, transparent 72%); }

.faya-detail-copy {
  grid-column: 2;
  position: relative;
  z-index: 2;
  width: min(100%, 480px);
  justify-self: end;
  padding: clamp(24px, 4vw, 54px);
  border: 1px solid rgba(61, 50, 50, 0.1);
  border-radius: 6px 34px 6px 34px;
  background: rgba(255, 253, 248, 0.58);
  box-shadow: 0 28px 66px rgba(64, 51, 49, 0.1);
  backdrop-filter: blur(10px);
}

.faya-detail-index,
.faya-detail-kicker { margin: 0; color: rgba(56, 49, 52, 0.54); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; }
.faya-detail-kicker { margin-top: 36px; color: rgba(151, 89, 77, 0.84); }
.faya-detail-copy h2 { margin: 10px 0 0; font-size: clamp(4.2rem, 9vw, 9rem); line-height: 0.76; letter-spacing: -0.085em; font-weight: 600; }
.faya-detail-type { margin: 18px 0 0; color: rgba(40, 37, 42, 0.78); font-size: clamp(1rem, 1.45vw, 1.35rem); line-height: 1.2; }
.faya-detail-rule { width: min(100%, 230px); height: 1px; margin: 26px 0 20px; background: rgba(47, 41, 43, 0.2); }
.faya-detail-description { max-width: 28ch; margin: 0; color: rgba(48, 44, 49, 0.7); font-size: 0.92rem; line-height: 1.55; }
.faya-detail-next { display: inline-flex; gap: 10px; margin-top: 32px; color: #382f30; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-decoration: none; text-transform: uppercase; }
.faya-detail-next span { font-size: 1rem; transition: transform 180ms ease; }@media (hover:hover) and (pointer:fine) {
.faya-detail-next:hover span, .faya-detail-next:focus-visible span { transform: translate(3px, 3px); }}
.faya-detail-next:focus-visible { outline: 3px solid rgba(151, 89, 77, 0.26); outline-offset: 5px; }

@media (max-width: 760px) {
  .faya-detail-section { grid-template-columns: 1fr; align-items: end; padding: 24px; }
  .faya-detail-copy { grid-column: 1; width: min(100%, 400px); justify-self: end; padding: 28px 24px; }
  .faya-detail-kicker { margin-top: 22px; }
  .faya-detail-copy h2 { font-size: clamp(4.3rem, 21vw, 6.8rem); }
}

@media (prefers-reduced-motion: reduce) {
  .faya-detail-ambient::before { animation: none; }
}
/* Horizontal scroll chapter for Faya */
.faya-detail-section {
  --faya-copy-offset: 116px;
  --faya-copy-opacity: .18;
}

.faya-detail-copy {
  opacity: var(--faya-copy-opacity);
  transform: translate3d(var(--faya-copy-offset), 0, 0);
  will-change: transform, opacity;
  transition: opacity 120ms linear, transform 120ms linear;
}

.faya-horizontal-cue {
  position: absolute;
  z-index: 3;
  bottom: clamp(24px, 4vw, 54px);
  left: 50%;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: rgba(35, 32, 43, .64);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  transform: translateX(-50%);
  pointer-events: none;
  transition: opacity .35s ease;
}

.faya-horizontal-cue span {
  font-size: 16px;
  animation: faya-horizontal-nudge 1.7s ease-in-out infinite;
}

/* Keep the site on the continuous ambient canvas rather than inside large white panels. */
.hero-surface,
.about-section,
.faya-detail-section {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.faya-detail-section.is-horizontally-revealed .faya-horizontal-cue {
  opacity: 0;
}

@keyframes faya-horizontal-nudge {
  50% { transform: translateX(6px); }
}

@media (prefers-reduced-motion: reduce) {
  .faya-detail-section {
    --faya-copy-offset: 0px;
    --faya-copy-opacity: 1;
  }

  .faya-detail-copy { transition: none; }
  .faya-horizontal-cue { display: none; }
}

/* Faya case-study opening: two horizontal editorial panels. */
.faya-detail-section {
  --faya-case-shift: 0;
  --faya-demo-opacity: 1;
  --faya-intro-opacity: 1;
  --faya-intro-offset: 0px;
  display: block;
  width: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  overflow: clip;
}

.faya-case-track {
  display: flex;
  width: calc(var(--faya-panel-count, 5) * 100%);
  min-height: 100vh;
  transform: translate3d(calc(var(--faya-case-shift) * -1%), 0, 0);
  will-change: transform;
  transition: none;
}

.faya-case-panel {
  position: relative;
  display: grid;
  width: calc(100% / var(--faya-panel-count, 5));
  min-width: 0;
  min-height: 100vh;
  height: 100vh;
  padding: clamp(72px, 7vw, 104px) clamp(28px, 8vw, 132px) clamp(56px, 5vw, 80px);
  overflow: hidden;
}

.faya-case-opening {
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  align-items: center;
  gap: clamp(44px, 7vw, 126px);
}

.faya-case-intro { position: relative; z-index: 2; max-width: 435px; margin-left: clamp(24px, 4vw, 66px); opacity: var(--faya-intro-opacity); transform: translate3d(0, var(--faya-intro-offset), 0); transition: opacity 220ms ease, transform 220ms ease; }
.faya-eyebrow { margin: 0; color: rgba(68, 71, 53, .64); font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.faya-case-intro h2 { margin: 16px 0 0; color: #24242b; font-size: clamp(5rem, 10vw, 10.5rem); font-weight: 600; letter-spacing: -.095em; line-height: .75; }
.faya-value-proposition { max-width: 31ch; margin: 32px 0 0; color: rgba(35, 35, 42, .76); font-size: clamp(1rem, 1.35vw, 1.2rem); line-height: 1.55; }
.faya-live-link { display: inline-flex; align-items: center; gap: 9px; margin-top: 30px; padding-bottom: 7px; border-bottom: 1px solid rgba(60, 78, 53, .34); color: #354936; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; transition: color 180ms ease, border-color 180ms ease, transform 180ms ease; }@media (hover:hover) and (pointer:fine) {
.faya-live-link:hover, .faya-live-link:focus-visible { color: #1e6f40; border-color: currentColor; transform: translateY(-2px); }}
.faya-live-link:focus-visible { outline: 3px solid rgba(72, 130, 82, .24); outline-offset: 6px; }
.faya-links { display: grid; justify-items: start; gap: 13px; margin-top: 30px; }
.faya-links .faya-live-link { margin-top: 0; }
.faya-instagram-link { display: inline-flex; align-items: center; gap: 7px; color: rgba(53, 73, 54, .6); font-size: .68rem; font-weight: 600; letter-spacing: .07em; text-decoration: none; transition: color 180ms ease; }@media (hover:hover) and (pointer:fine) {
.faya-instagram-link:hover, .faya-instagram-link:focus-visible { color: #1e6f40; }}
.faya-instagram-link:focus-visible { outline: 3px solid rgba(72, 130, 82, .2); outline-offset: 5px; }

.faya-demo { position: relative; z-index: 1; width: min(94%, 820px); margin: 0; justify-self: end; opacity: 1; }
.faya-demo::before { content: ""; position: absolute; z-index: -1; width: 74%; aspect-ratio: 1; right: 8%; top: 11%; border-radius: 50%; background: radial-gradient(circle, rgba(170, 211, 233, .35), rgba(255, 196, 162, .17) 45%, transparent 72%); filter: blur(28px); }
.faya-demo img { display: block; width: 100%; height: auto; filter: drop-shadow(0 30px 36px rgba(42, 48, 53, .18)); }
.faya-demo figcaption { position: absolute; right: 5%; bottom: 1%; margin: 0; color: rgba(40, 45, 44, .48); font-size: .62rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }

.faya-case-context { display: block; }
.faya-context-content { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); grid-template-rows: auto auto auto auto; column-gap: clamp(44px, 7vw, 126px); align-content: center; min-height: calc(100vh - clamp(156px, 17vw, 258px)); }
.faya-context-heading { grid-column: 2; grid-row: 1; max-width: 700px; }
.faya-context-heading h3 { max-width: 14ch; margin: 14px 0 0; color: #28292c; font-size: clamp(2.25rem, 3.5vw, 4rem); font-weight: 600; letter-spacing: -.07em; line-height: .92; }
.faya-context-peony { position: relative; z-index: 20; grid-column: 1; grid-row: 1 / 5; align-self: stretch; min-height: clamp(420px, 70vh, 650px); margin: 0; overflow: hidden; }
.faya-context-peony .faya-peony-frame { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; opacity: 0; transition: opacity 480ms cubic-bezier(.22, .61, .36, 1); will-change: opacity; }
.faya-context-peony .faya-peony-frame.is-active { opacity: 1; }
.faya-meta-grid { grid-column: 2; grid-row: 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; row-gap: 0; margin: clamp(30px, 3vw, 42px) 0 0; border-top: 1px solid rgba(48, 53, 48, .18); }
.faya-meta-grid > div { min-height: 104px; padding: 16px 12px 16px 0; border-bottom: 1px solid rgba(48, 53, 48, .18); }
.faya-meta-grid dt, .faya-detail-notes p { margin: 0; color: rgba(52, 61, 52, .55); font-size: .67rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.faya-meta-grid dd { max-width: 19ch; margin: 9px 0 0; color: #36343a; font-size: clamp(.88rem, 1.05vw, 1rem); font-weight: 500; line-height: 1.3; }
.faya-detail-notes { grid-column: 2; grid-row: 3; display: grid; gap: 14px; margin-top: 22px; }
.faya-detail-notes > div { display: grid; grid-template-columns: 94px minmax(0, 1fr); gap: 18px; align-items: baseline; }
.faya-detail-notes span { color: rgba(44, 48, 47, .74); font-size: .86rem; line-height: 1.45; }
.faya-case-context .faya-detail-next { grid-column: 2; grid-row: 4; margin-top: 20px; color: #354936; }

.faya-detail-section.has-faya-handoff .faya-demo { visibility: hidden; }
.faya-detail-section.has-faya-handoff.is-demo-ready .faya-demo { visibility: hidden; }
.faya-detail-section.has-faya-handoff .faya-case-intro { opacity: var(--faya-intro-opacity); transform: translate3d(0, var(--faya-intro-offset), 0); }
.faya-detail-section.is-horizontally-revealed .faya-horizontal-cue { opacity: 0; }

/* Faya — The Problem */
.faya-problem-section {
  /* Inherits the exact panel width, minimum height and padding of Project Context. */
  background: transparent;
}

.faya-problem-layout {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  column-gap: clamp(44px, 7vw, 126px);
  align-items: center;
  min-height: calc(100vh - clamp(156px, 17vw, 258px));
}

.faya-problem-intro {
  display: flex;
  flex-direction: column;
  grid-column: 1;
  align-self: center;
  min-height: auto;
  max-width: 35rem;
}
.faya-problem-intro h2 {
  max-width: 10.5ch;
  margin: 18px 0 0;
  color: var(--theme-copy,#29282d);
  font-size: clamp(2.65rem, 3.9vw, 4.6rem);
  font-weight: 600;
  letter-spacing: -.075em;
  line-height: .92;
}
.faya-problem-intro > p:not(.faya-eyebrow) {
  max-width: 34rem;
  margin: 20px 0 0;
  color: rgba(42, 42, 46, .72);
  font-size: clamp(.98rem, 1.1vw, 1.08rem);
  line-height: 1.62;
}

.faya-problem-insight {
  grid-column: 2;
  justify-self: center;
  width: min(100%, 38rem);
  margin: 0;
}
.faya-problem-insight blockquote {
  margin: 0;
  padding: 4px 0 4px 28px;
  border-left: 1px solid rgba(103, 113, 82, .68);
  color: #323334;
  font-size: clamp(1.35rem, 1.85vw, 2.15rem);
  font-weight: 500;
  letter-spacing: -.04em;
  line-height: 1.15;
}

/* Scroll-driven chapter entrances. The track moves horizontally while each
   chapter's editorial content settles into place independently. */
.faya-case-context .faya-context-content,
.faya-problem-layout,
.faya-core-insight-layout,
.faya-product-system-layout {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
  transition: opacity 720ms cubic-bezier(.22, .61, .36, 1), transform 820ms cubic-bezier(.22, .61, .36, 1);
}

/* Narrative recovered from the revised case reference. */
.faya-context-narrative {
  margin: 12px 0 0;
  color: #36343a;
  font-size: clamp(.98rem, 1.1vw, 1.08rem);
  line-height: 1.35;
}
.faya-context-narrative + .faya-context-narrative { margin-top: 22px; }
.faya-case-context .faya-meta-grid { margin-top: 28px; }
.faya-problem-section .faya-problem-layout { grid-template-columns: minmax(0, 1fr); }
.faya-problem-section .faya-problem-intro { width: min(100%, 38rem); max-width: 38rem; }
.faya-problem-section .faya-problem-intro > p:not(.faya-eyebrow) {
  max-width: none;
  margin-top: 16px;
  color: #36343a;
  font-size: clamp(1.05rem, 1.55vw, 1.4rem);
  line-height: 1.25;
}
.faya-problem-section .faya-problem-intro > p + p { margin-top: 28px; }
.faya-problem-intro strong { font-weight: 600; }
@media (min-width: 701px) and (max-height: 720px) {
  .faya-case-context { padding-top: 40px; padding-bottom: 32px; }
  .faya-case-context .faya-context-content { min-height: calc(100vh - 72px); }
  .faya-case-context .faya-meta-grid { margin-top: 18px; }
  .faya-case-context .faya-meta-grid > div { min-height: 80px; padding-block: 12px; }
  .faya-case-context .faya-detail-notes { margin-top: 16px; }
  .faya-case-context .faya-context-narrative + .faya-context-narrative { margin-top: 16px; }
}
.faya-case-panel.is-active .faya-context-content,
.faya-case-panel.is-active .faya-problem-layout,
.faya-case-panel.is-active .faya-core-insight-layout,
.faya-case-panel.is-active .faya-product-system-layout {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Faya — The Product System */
.faya-product-system-layout {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  align-content: center;
  min-height: calc(100vh - clamp(156px, 17vw, 258px));
}
.faya-product-system-intro { max-width: 58rem; }
.faya-product-system-intro h2 {
  max-width: 18ch;
  margin: 16px 0 0;
  color: var(--theme-copy,#29282d);
  font-size: clamp(2.7rem, 4vw, 4.7rem);
  font-weight: 600;
  letter-spacing: -.075em;
  line-height: .93;
}
.faya-product-system-intro > p:not(.faya-eyebrow) {
  max-width: 43rem;
  margin: 20px 0 0;
  color: rgba(42, 42, 46, .72);
  font-size: clamp(.98rem, 1.1vw, 1.08rem);
  line-height: 1.62;
}
.faya-product-tabs {
  display: flex;
  align-items: end;
  gap: 4px;
  min-width: 0;
  margin: 0;
  border-bottom: 1px solid rgba(72, 76, 63, .19);
}
.faya-product-browser {
  position: relative;
  width: min(100%, 960px);
  margin: clamp(28px, 4vw, 48px) auto 0;
  padding: 10px 10px 0;
  border: 1px solid rgba(74, 68, 57, .14);
  border-radius: 14px;
  background: rgba(255, 253, 247, .7);
  box-shadow: 0 22px 46px rgba(58, 51, 41, .13);
}
.faya-product-browser::before {
  position: absolute;
  top: 17px;
  left: 18px;
  color: rgba(137, 95, 82, .56);
  content: "●  ●  ●";
  font-size: .5rem;
  letter-spacing: .18em;
}
.faya-product-browser .faya-product-tabs { padding-left: 66px; }
.faya-product-tab {
  flex: 1 1 0;
  min-width: 0;
  min-height: 48px;
  padding: 12px 14px 11px;
  border: 1px solid transparent;
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  background: transparent;
  color: rgba(47, 55, 47, .56);
  font: inherit;
  font-size: clamp(.68rem, .8vw, .78rem);
  font-weight: 700;
  letter-spacing: .075em;
  line-height: 1.25;
  text-align: left;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}
.faya-product-tab span { display: block; margin-bottom: 5px; color: rgba(137, 95, 82, .68); font-size: .64rem; letter-spacing: .12em; }@media (hover:hover) and (pointer:fine) {
.faya-product-tab:hover { color: #3b5840; background: rgba(255, 254, 249, .42); }}
.faya-product-tab:focus-visible { outline: 3px solid rgba(75, 123, 77, .4); outline-offset: 3px; }
.faya-product-tab.is-active {
  position: relative;
  z-index: 1;
  margin-bottom: -1px;
  border-color: rgba(72, 76, 63, .2);
  background: rgba(255, 253, 247, .76);
  color: #34513a;
}
.faya-product-stage {
  position: relative;
  width: 100%;
  height: clamp(326px, calc(35vh + 76px), 506px);
  margin: clamp(18px, 2.5vw, 32px) auto 0;
}
.faya-product-screen {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
  border: 0;
  border-radius: 0 0 10px 10px;
  background: rgba(255, 253, 247, .56);
  box-shadow: none;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 300ms ease, transform 300ms cubic-bezier(.22, .61, .36, 1);
}
.faya-product-screen[hidden] { display: none; }
.faya-product-screen.is-active { opacity: 1; transform: translateY(0); }
.faya-product-screen > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  object-position: center;
  background: #fdfbf7;
}
.faya-product-screen-copy {
  position: static;
  display: flex;
  gap: 12px;
  align-items: center;
  min-height: 50px;
  padding: 10px 18px;
  border-top: 1px solid rgba(72, 76, 63, .13);
  background: rgba(255, 253, 247, .96);
}
.faya-product-screen-copy span { color: rgba(137, 95, 82, .7); font-size: .67rem; font-weight: 700; letter-spacing: .13em; }
.faya-product-screen-copy p { margin: 0; color: rgba(46, 48, 49, .62); font-size: .84rem; line-height: 1.4; }
.faya-product-annotation {
  position: absolute;
  z-index: 2;
  left: clamp(13px, 2.2vw, 28px);
  display: grid;
  gap: clamp(17px, 2.4vw, 28px);
  width: min(20%, 142px);
  color: rgba(51, 76, 56, .82);
  font-size: clamp(.5rem, .66vw, .68rem);
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.2;
  pointer-events: none;
  text-transform: uppercase;
}
.faya-product-annotation span {
  position: relative;
  display: block;
  padding: 4px 0 4px 13px;
}
.faya-product-annotation span::before,
.faya-product-annotation span::after { display: none; }
.faya-product-annotation::before,
.faya-product-annotation::after {
  position: absolute;
  left: 1px;
  width: 14px;
  border-color: #2f63ff;
  border-style: solid;
  content: "";
}
.faya-product-annotation::before { top: -22px; height: 22px; border-width: 2px 0 0 2px; border-radius: 5px 0 0 0; }
.faya-product-annotation::after { top: 0; height: clamp(100px, 15vw, 174px); border-width: 0 0 2px 2px; border-radius: 0 0 0 5px; }
.faya-product-annotation--plant { top: 21%; }
.faya-product-annotation--plant::after { height: clamp(100px, 15vw, 174px); }
.faya-product-annotation--sprouts {
  grid-area: 1 / 1;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.faya-product-annotation--sprouts svg {
  display: block;
  width: 100%;
  height: 100%;
}
.faya-product-annotation--sprouts::before,
.faya-product-annotation--sprouts::after {
  display: none;
}

/* Give the real product screens their own, taller column. The introduction
   stays deliberately narrow so the product browser can sit to its right. */
@media (min-width: 701px) {
  .faya-product-system-layout {
    grid-template-columns: minmax(220px, .62fr) minmax(0, 1.38fr);
    grid-template-rows: 1fr;
    column-gap: clamp(36px, 6vw, 104px);
    align-items: center;
  }
  .faya-product-system-intro {
    grid-column: 1;
    align-self: center;
    max-width: 25rem;
  }
  .faya-product-system-intro h2 { max-width: 10.5ch; }
  .faya-product-system-intro > p:not(.faya-eyebrow) { max-width: 25rem; }
  .faya-product-browser {
    grid-column: 2;
    /* The case-study track has a fixed viewport height. Cap the browser's
       width by that height so its full, proportional screen always fits. */
    width: min(100%, 760px, calc(139vh - 375px));
    max-width: 760px;
    margin: 0;
    justify-self: end;
  }
  .faya-product-stage {
    height: auto;
    aspect-ratio: 1.25 / 1;
    margin-top: 0;
  }
}

/* Faya — Core Insight */
.faya-core-insight-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  min-height: calc(100vh - clamp(156px, 17vw, 258px));
}
.faya-core-insight-intro { max-width: 48rem; }
.faya-core-insight-intro h2 {
  max-width: 19ch;
  margin: 16px 0 0;
  color: var(--theme-copy,#29282d);
  font-size: clamp(2.8rem, 4.35vw, 5rem);
  font-weight: 600;
  letter-spacing: -.078em;
  line-height: .93;
}
.faya-core-insight-intro > p:not(.faya-eyebrow) {
  max-width: 44rem;
  margin: 22px 0 0;
  color: rgba(42, 42, 46, .72);
  font-size: clamp(.98rem, 1.1vw, 1.08rem);
  line-height: 1.62;
}
.faya-core-mapping { margin-top: clamp(42px, 5vw, 74px); }
.faya-core-mapping-labels,
.faya-core-mapping-row {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(76px, .55fr) minmax(260px, 1.15fr);
  column-gap: 20px;
}
.faya-core-mapping-labels { margin-bottom: 7px; }
.faya-core-mapping-labels p {
  margin: 0;
  color: rgba(52, 61, 52, .58);
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.faya-core-mapping-labels p:last-child { color: rgba(112, 79, 71, .8); }
.faya-core-mapping-list { margin: 0; padding: 0; list-style: none; }
.faya-core-mapping-row {
  min-height: 72px;
  align-items: center;
  border-top: 1px solid rgba(57, 59, 54, .14);
  transition: background-color 220ms ease;
}
.faya-core-mapping-row:last-child { border-bottom: 1px solid rgba(57, 59, 54, .14); }
.faya-core-traditional,
.faya-core-system {
  line-height: 1.3;
}
.faya-core-traditional {
  color: rgba(46, 48, 49, .56);
  font-size: clamp(.86rem, 1vw, .98rem);
}
.faya-core-system {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}
.faya-core-system::before {
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  border-radius: 6px 0 6px 0;
  background: rgba(176, 93, 97, .78);
  content: "";
  transform: rotate(-26deg);
}
.faya-core-system-name {
  color: rgba(63, 81, 58, .76);
  font-size: clamp(.72rem, .78vw, .82rem);
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1.25;
  text-transform: uppercase;
}
.faya-core-reference {
  flex: 0 0 auto;
  width: clamp(132px, 10vw, 170px);
  height: 64px;
  margin: 0;
  border: 1px solid rgba(81, 91, 72, .14);
  border-radius: 6px;
  background: rgba(255, 253, 247, .72);
  box-shadow: 0 10px 21px rgba(67, 58, 49, .12);
  object-fit: cover;
  object-position: center;
  opacity: .96;
  transform: translateY(0) scale(1);
  transition: transform 320ms cubic-bezier(.22, .61, .36, 1), box-shadow 320ms ease, filter 320ms ease;
}
.faya-core-reference--flower {
  object-position: center 38%;
}@media (hover:hover) and (pointer:fine) {
.faya-core-mapping-row:hover .faya-core-reference {
  box-shadow: 0 16px 30px rgba(67, 58, 49, .18);
  filter: saturate(1.08);
  transform: translateY(-3px) scale(1.025);
}}@media (hover:hover) and (pointer:fine) {
.faya-core-mapping-row:hover { background: rgba(255, 254, 249, .28); }}
.faya-core-connector { position: relative; align-self: stretch; min-height: 1px; }
.faya-core-connector::before {
  position: absolute;
  top: 50%;
  right: 9px;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(80, 84, 78, .28), rgba(124, 101, 78, .5));
  content: "";
  transform-origin: left center;
}
.faya-core-connector::after {
  position: absolute;
  top: calc(50% - 3px);
  right: 0;
  width: 6px;
  height: 6px;
  border-top: 1px solid rgba(124, 101, 78, .65);
  border-right: 1px solid rgba(124, 101, 78, .65);
  content: "";
  transform: rotate(45deg);
}
.faya-core-insight-closing {
  max-width: 42rem;
  margin: clamp(24px, 3vw, 40px) 0 0;
  color: #3b4139;
  font-size: clamp(1.08rem, 1.4vw, 1.45rem);
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1.35;
}
.faya-core-insight-section .faya-core-traditional,
.faya-core-insight-section .faya-core-system { opacity: 0; transform: translateY(7px); }
.faya-core-insight-section .faya-core-connector::before { transform: scaleX(0); }
.faya-core-insight-section .faya-core-connector::after { opacity: 0; }
.faya-core-insight-section.is-revealed .faya-core-traditional {
  animation: faya-core-copy-in 240ms ease-out calc(var(--core-row-index) * 180ms) forwards;
}
.faya-core-insight-section.is-revealed .faya-core-connector::before {
  animation: faya-core-line-in 280ms cubic-bezier(.22, .61, .36, 1) calc(110ms + (var(--core-row-index) * 180ms)) forwards;
}
.faya-core-insight-section.is-revealed .faya-core-connector::after {
  animation: faya-core-arrow-in 120ms ease-out calc(350ms + (var(--core-row-index) * 180ms)) forwards;
}
.faya-core-insight-section.is-revealed .faya-core-system {
  animation: faya-core-copy-in 260ms ease-out calc(310ms + (var(--core-row-index) * 180ms)) forwards;
}
@keyframes faya-core-copy-in { to { opacity: 1; transform: translateY(0); } }
@keyframes faya-core-line-in { to { transform: scaleX(1); } }
@keyframes faya-core-arrow-in { to { opacity: 1; } }

/* Core Insight — image-led relationship gallery */
.faya-core-mapping { margin-top: clamp(30px, 3.5vw, 48px); }
.faya-core-gallery {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(6, clamp(30px, 3.1vw, 44px));
  gap: clamp(9px, .9vw, 15px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.faya-core-gallery-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(74, 68, 57, .11);
  border-radius: 10px;
  background: rgba(255, 253, 247, .5);
  box-shadow: 0 12px 26px rgba(58, 51, 41, .1);
  cursor: default;
  opacity: 0;
  outline: none;
  transform: translateY(14px);
  transition: transform 360ms cubic-bezier(.22, .61, .36, 1), box-shadow 360ms ease, opacity 360ms ease;
}
.faya-core-gallery-card--sprout { grid-column: 1 / 5; grid-row: 1 / 4; }
.faya-core-gallery-card--flower { grid-column: 5 / 7; grid-row: 1 / 4; }
.faya-core-gallery-card--growth { grid-column: 7 / 13; grid-row: 1 / 4; }
.faya-core-gallery-card--bloom { grid-column: 1 / 7; grid-row: 4 / 7; }
.faya-core-gallery-card--garden { grid-column: 7 / 13; grid-row: 4 / 7; }
.faya-core-gallery-card > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 520ms cubic-bezier(.22, .61, .36, 1), filter 360ms ease;
}
.faya-core-gallery-card--flower > img { object-position: center 35%; }
.faya-core-gallery-relation {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  gap: 8px;
  padding: clamp(12px, 1.3vw, 20px);
  background: linear-gradient(180deg, rgba(29, 44, 31, .03) 15%, rgba(29, 44, 31, .86) 100%);
  color: #fffdf7;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 260ms ease, transform 320ms cubic-bezier(.22, .61, .36, 1);
}
.faya-core-gallery-relation span,
.faya-core-gallery-relation strong { font-family: inherit; line-height: 1.1; }
.faya-core-gallery-relation span { font-size: clamp(.66rem, .75vw, .78rem); font-weight: 500; letter-spacing: .05em; }
.faya-core-gallery-relation i { font-size: 1rem; font-style: normal; opacity: .85; }
.faya-core-gallery-relation strong { font-size: clamp(.76rem, .95vw, 1rem); font-weight: 600; letter-spacing: -.015em; }@media (hover:hover) and (pointer:fine) {
.faya-core-gallery-card:hover,
.faya-core-gallery-card:focus-visible { box-shadow: 0 19px 38px rgba(58, 51, 41, .18); transform: translateY(-4px); }}@media (hover:hover) and (pointer:fine) {
.faya-core-gallery-card:hover > img,
.faya-core-gallery-card:focus-visible > img { filter: saturate(1.06); transform: scale(1.035); }}@media (hover:hover) and (pointer:fine) {
.faya-core-gallery-card:hover .faya-core-gallery-relation,
.faya-core-gallery-card:focus-visible .faya-core-gallery-relation { opacity: 1; transform: translateY(0); }}
.faya-core-gallery-card:focus-visible { outline: 3px solid rgba(93, 124, 84, .5); outline-offset: 4px; }
.faya-core-insight-section.is-revealed .faya-core-gallery-card {
  opacity: 1;
  transform: translateY(0);
  transition-delay: calc(var(--core-row-index) * 100ms);
}

/* Core Insight — interactive translation index */
.faya-core-explorer {
  display: grid;
  grid-template-columns: minmax(210px, .42fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(28px, 5vw, 86px);
}
.faya-core-stage-column {
  display: grid;
  justify-items: start;
  gap: clamp(18px, 2.2vw, 28px);
  min-width: 0;
}
.faya-core-index {
  align-self: center;
  border-top: 1px solid rgba(55, 61, 52, .18);
}
.faya-core-index-title {
  margin: 16px 0 9px;
  color: rgba(52, 61, 52, .6);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.faya-core-index-hint {
  margin: 0 0 15px;
  color: rgba(46, 48, 49, .5);
  font-size: .73rem;
  line-height: 1.4;
}
.faya-core-index-hint-mobile { display: none; }
.faya-core-index-list { display: grid; }
.faya-core-index-item {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) 18px;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  padding: 10px 0;
  border: 0;
  border-top: 1px solid rgba(55, 61, 52, .12);
  background: transparent;
  color: rgba(45, 47, 47, .58);
  font: inherit;
  font-size: clamp(.88rem, 1vw, 1rem);
  line-height: 1.25;
  text-align: left;
  cursor: pointer;
  transition: color 180ms ease, padding-left 220ms cubic-bezier(.22, .61, .36, 1), background-color 180ms ease;
}
.faya-core-index-item:last-child { border-bottom: 1px solid rgba(55, 61, 52, .12); }
.faya-core-index-item::after {
  align-self: center;
  color: rgba(51, 76, 56, .72);
  content: "→︎";
  opacity: 0;
  transform: translateX(-5px);
  transition: opacity 180ms ease, transform 220ms cubic-bezier(.22, .61, .36, 1);
}
.faya-core-index-item > span {
  color: rgba(55, 69, 54, .42);
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.7;
}@media (hover:hover) and (pointer:fine) {
.faya-core-index-item:hover,
.faya-core-index-item:focus-visible,
.faya-core-index-item.is-active {
  padding-left: 10px;
  background: rgba(255, 254, 249, .3);
  color: #334c38;
}}@media (hover:hover) and (pointer:fine) {
.faya-core-index-item:hover::after,
.faya-core-index-item:focus-visible::after,
.faya-core-index-item.is-active::after { opacity: 1; transform: translateX(0); }}
.faya-core-index-item:focus-visible { outline: 3px solid rgba(93, 124, 84, .42); outline-offset: 3px; }
.faya-core-stage {
  position: relative;
  justify-self: start;
  width: min(100%, 620px);
  min-height: 0;
  aspect-ratio: 973 / 567;
  overflow: hidden;
  border: 1px solid rgba(74, 68, 57, .11);
  border-radius: 12px;
  background: rgba(255, 253, 247, .5);
  box-shadow: 0 17px 38px rgba(58, 51, 41, .12);
  transition: width 420ms cubic-bezier(.22, .61, .36, 1), aspect-ratio 420ms cubic-bezier(.22, .61, .36, 1);
}
.faya-core-stage[data-active-core="goal"] { width: min(100%, 258px); aspect-ratio: 1428 / 2000; }
.faya-core-stage[data-active-core="actionable"] { width: min(100%, 620px); aspect-ratio: 595 / 219; }
.faya-core-stage[data-active-core="progress"] { width: min(100%, 620px); aspect-ratio: 973 / 567; }
.faya-core-stage[data-active-core="collection"] { width: min(100%, 620px); aspect-ratio: 988 / 563; }
.faya-core-stage[data-active-core="completed"] { width: min(100%, 620px); aspect-ratio: 974 / 566; }
.faya-core-stage-card {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: grid;
  margin: 0;
  opacity: 0;
  pointer-events: none;
  transform: scale(1.025);
  transition: opacity 360ms ease, transform 560ms cubic-bezier(.22, .61, .36, 1);
}
.faya-core-stage-card.is-active { z-index: 1; opacity: 1; transform: scale(1); }
.faya-core-stage-card > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.faya-core-stage-card figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  gap: 4px;
  padding: clamp(16px, 2vw, 28px);
  background: linear-gradient(180deg, transparent 0%, rgba(25, 37, 27, .78) 100%);
  color: #fffdf7;
}
.faya-core-stage-card figcaption span {
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.faya-core-stage-card figcaption strong { font-size: clamp(1.25rem, 1.8vw, 1.8rem); font-weight: 500; letter-spacing: -.04em; }
.faya-core-stage-column .faya-core-insight-closing {
  max-width: 36rem;
  margin: 0;
  padding-left: 18px;
  border-left: 1px solid rgba(103, 113, 82, .5);
  color: rgba(49, 62, 50, .82);
  font-size: clamp(.98rem, 1.2vw, 1.25rem);
  line-height: 1.38;
}

/* Match the two-column rhythm used by the other Faya case panels. */
.faya-core-insight-layout {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  grid-template-rows: auto auto;
  column-gap: clamp(36px, 6vw, 104px);
  row-gap: clamp(26px, 3.5vh, 46px);
  align-items: center;
}
.faya-core-insight-intro {
  grid-column: 1 / -1;
  grid-row: 1;
  max-width: none;
}
.faya-core-insight-intro h2 { max-width: 30ch; }
.faya-core-insight-intro > p:not(.faya-eyebrow) { max-width: 62rem; }
.faya-core-mapping,
.faya-core-explorer { display: contents; }
.faya-core-index {
  grid-column: 1;
  grid-row: 2;
  align-self: center;
  margin-top: 0;
}
.faya-core-stage-column {
  grid-column: 2;
  grid-row: 2;
  align-self: center;
  width: 100%;
  justify-items: center;
}
.faya-core-stage { justify-self: center; }
.faya-core-stage-column .faya-core-insight-closing { width: min(100%, 36rem); }

/* Once there is room vertically, bring the editorial introduction back to a
   deliberately controlled measure rather than letting it stretch with the screen. */
@media (min-width: 1101px) and (min-height: 721px) {
  .faya-core-insight-intro h2 { max-width: 19ch; }
  .faya-core-insight-intro > p:not(.faya-eyebrow) { max-width: 44rem; }
}

@media (max-width: 1100px) and (min-width: 701px) {
  .faya-case-panel { padding: clamp(58px, 6vw, 76px) clamp(30px, 6vw, 68px) clamp(48px, 5vw, 64px); }
  .faya-case-opening { gap: clamp(28px, 4vw, 48px); }
  .faya-context-content,
  .faya-problem-layout { grid-template-columns: minmax(190px, .78fr) minmax(0, 1.22fr); column-gap: clamp(28px, 4vw, 48px); }
  .faya-context-peony { min-height: clamp(350px, 58vh, 500px); }
  /* Keep the same editorial type scale as the other panels.  Only the grid
     becomes tighter here, so the complete five-item index remains visible. */
  .faya-core-insight-layout { grid-template-columns: minmax(0, 1fr) minmax(250px, 1fr); column-gap: clamp(26px, 4vw, 48px); }
  .faya-core-insight-intro h2 { max-width: 30ch; }
  .faya-core-insight-intro > p:not(.faya-eyebrow) { max-width: 38rem; margin-top: 18px; }
  .faya-core-index { margin-top: clamp(22px, 3vw, 36px); }
  .faya-core-index-item { min-height: 40px; padding-block: 8px; }
  .faya-core-stage[data-active-core="goal"] { width: min(100%, 210px); }
  .faya-core-stage[data-active-core="actionable"],
  .faya-core-stage[data-active-core="progress"],
  .faya-core-stage[data-active-core="collection"],
  .faya-core-stage[data-active-core="completed"] { width: min(100%, 500px); }
}

/* Short laptop viewports need less empty panel padding, not smaller copy. */
@media (max-height: 720px) and (min-width: 701px) {
  .faya-core-insight-section { padding-top: 42px; padding-bottom: 34px; }
  .faya-core-insight-layout { min-height: calc(100vh - 76px); }
  .faya-core-insight-layout { row-gap: 20px; }
  .faya-core-stage[data-active-core="goal"] { width: min(100%, 170px); }
  .faya-core-stage[data-active-core="actionable"],
  .faya-core-stage[data-active-core="progress"],
  .faya-core-stage[data-active-core="collection"],
  .faya-core-stage[data-active-core="completed"] { width: min(100%, 360px); }
}

@media (max-width: 900px) {
  .faya-case-opening { grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr); gap: 36px; }
  .faya-case-panel { padding-inline: clamp(24px, 6vw, 64px); }
  .faya-context-content, .faya-problem-layout { grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr); column-gap: 36px; }
  .faya-context-peony { min-height: clamp(390px, 65vh, 560px); }
  .faya-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .faya-problem-intro h2 { font-size: clamp(2.75rem, 5vw, 4.6rem); }
  .faya-product-tab { padding-inline: 10px; font-size: .68rem; }
}

@media (max-width: 700px) {
  .faya-detail-section, .faya-case-track, .faya-case-panel { min-height: auto; }
  .faya-case-track { display: block; width: 100%; transform: none !important; }
  .faya-case-panel { display: block; width: 100%; height: auto; padding: 88px 24px 54px; overflow: visible; }
  .faya-case-opening { min-height: 100vh; }
  .faya-case-intro { margin-left: 0; }
  .faya-case-intro h2 { font-size: clamp(4.7rem, 23vw, 7rem); }
  .faya-value-proposition { margin-top: 27px; font-size: 1rem; }
  .faya-demo { width: min(100%, 610px); margin: 50px auto 0; }
  .faya-case-context { padding-top: 54px; }
  .faya-context-content { display: flex; min-height: auto; flex-direction: column; }
  .faya-context-heading { width: 100%; }
  .faya-context-peony { width: min(100%, 360px); min-height: min(108vw, 440px); margin: 34px auto 28px; }
  .faya-meta-grid, .faya-detail-notes, .faya-case-context .faya-detail-next { width: 100%; }
  .faya-context-heading h3 { max-width: 11ch; margin-bottom: 40px; }
  .faya-meta-grid { grid-template-columns: 1fr; }
  .faya-meta-grid > div, .faya-meta-grid > div:nth-child(odd) { min-height: 0; padding: 21px 0; }
  .faya-detail-notes { display: grid; gap: 22px; margin: 34px 0 0; }
  .faya-detail-notes > div { display: block; }
  .faya-detail-notes span { display: block; margin-top: 9px; }
  .faya-case-context .faya-detail-next { margin-top: 34px; }
  .faya-horizontal-cue { display: none; }
  .faya-problem-section { padding: 88px 24px 54px; }
  .faya-problem-layout { display: flex; flex-direction: column; gap: 50px; }
  .faya-problem-intro, .faya-problem-comparison, .faya-problem-insight { width: 100%; max-width: none; }
  .faya-problem-intro { order: 1; min-height: auto; }
  .faya-problem-comparison { order: 2; gap: 42px; }
  .faya-problem-insight { order: 3; }
  .faya-problem-intro h2 { max-width: 10.5ch; font-size: clamp(2.8rem, 12vw, 4.4rem); }
  .faya-problem-intro > p:not(.faya-eyebrow) { margin-top: 20px; }
  .faya-problem-visual figcaption { margin-bottom: 12px; }
  .faya-problem-visual img { aspect-ratio: auto; object-position: center; }
  .faya-problem-visual + .faya-problem-visual { transform: none; }
  .faya-problem-visual img { box-shadow: 0 14px 28px rgba(50, 46, 42, .09), 0 3px 8px rgba(50, 46, 42, .04); }
  .faya-problem-insight blockquote { padding-left: 18px; font-size: clamp(1.42rem, 6.5vw, 2.05rem); }
  .faya-product-system-section { padding: 88px 24px 54px; }
  .faya-product-system-layout { min-height: auto; }
  .faya-product-system-intro h2 { max-width: 11ch; font-size: clamp(2.8rem, 12vw, 4.4rem); }
  .faya-product-browser { width: calc(100% + 48px); margin-left: -24px; padding: 8px 0 0; border-right: 0; border-left: 0; border-radius: 0; }
  .faya-product-tabs {
    width: 100%;
    margin-left: 0;
    padding: 0 24px;
    overflow-x: auto;
    scrollbar-width: thin;
    scroll-padding-inline: 24px;
  }
  .faya-product-browser::before { display: none; }
  .faya-product-browser .faya-product-tabs { padding-left: 24px; }
  .faya-product-tab { flex: 0 0 auto; min-width: max-content; min-height: 44px; padding: 11px 14px 10px; white-space: nowrap; }
  .faya-product-stage { width: 100%; height: auto; aspect-ratio: 1.25 / 1; margin-top: 0; }
  .faya-product-screen > img { height: 100%; min-height: 0; }
  .faya-product-screen-copy { padding: 13px 14px 15px; }
  .faya-product-annotation { left: 12px; width: 27%; font-size: .52rem; }
  .faya-product-annotation--sprouts { inset: 0; width: 100%; }
  .faya-core-insight-section { padding: 88px 24px 54px; }
  .faya-core-insight-layout { display: block; min-height: auto; }
  .faya-core-insight-intro h2 { max-width: 11ch; font-size: clamp(2.8rem, 12vw, 4.4rem); }
  .faya-core-mapping { display: block; margin-top: 42px; }
  .faya-core-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; gap: 12px; }
  .faya-core-gallery-card { grid-column: auto !important; grid-row: auto !important; min-height: 148px; }
  .faya-core-gallery-card--sprout,
  .faya-core-gallery-card--growth,
  .faya-core-gallery-card--bloom,
  .faya-core-gallery-card--garden { grid-column: span 2 !important; }
  .faya-core-gallery-card--flower { min-height: 220px; }
  .faya-core-gallery-relation { opacity: 1; transform: none; padding: 14px; }
  .faya-core-gallery-relation span { font-size: .68rem; }
  .faya-core-explorer { display: block; }
  .faya-core-index { max-width: none; margin-top: 0; }
  .faya-core-stage-column { justify-items: center; gap: 24px; }
  .faya-core-stage { width: 100%; min-height: 0; margin: 26px auto 0; }
  .faya-core-stage-card figcaption { padding: 18px; }
  .faya-core-stage-column .faya-core-insight-closing { width: 100%; max-width: 32rem; margin: 0; font-size: 1rem; }
  .faya-core-mapping-labels { display: none; }
  .faya-core-mapping-row { grid-template-columns: 1fr; gap: 12px; min-height: 0; padding: 20px 0; text-align: center; }
  .faya-core-system { justify-content: center; }
  .faya-core-reference { width: min(44vw, 156px); height: 68px; }
  .faya-core-connector { justify-self: center; width: 1px; height: 22px; min-height: 22px; }
  .faya-core-connector::before { top: 0; right: auto; left: 0; width: 1px; height: calc(100% - 7px); transform-origin: top center; }
  .faya-core-connector::after { top: auto; right: auto; bottom: 0; left: -3px; transform: rotate(135deg); }
  .faya-core-insight-closing { margin-top: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  .faya-case-track { display: block; width: 100%; transform: none !important; transition: none; }
  .faya-case-panel { display: block; width: 100%; min-height: auto; height: auto; overflow: visible; }
  .faya-demo { opacity: 1 !important; visibility: visible !important; transition: none; }
  .faya-case-intro { opacity: 1 !important; transform: none !important; transition: none; }
  .faya-context-peony .faya-peony-frame { opacity: 0 !important; transition: none !important; }
  .faya-context-peony .faya-peony-frame:nth-child(8) { opacity: 1 !important; }
  .faya-core-insight-section .faya-core-traditional,
  .faya-core-insight-section .faya-core-system,
  .faya-core-insight-section .faya-core-connector::after { opacity: 1 !important; transform: none !important; animation: none !important; }
  .faya-core-insight-section .faya-core-connector::before { transform: scaleX(1) !important; animation: none !important; }
  .faya-core-insight-section.is-revealed .faya-core-connector::before { transform: scaleX(1) !important; }
  .faya-core-gallery-card { opacity: 1 !important; transform: none !important; transition: none !important; }
  .faya-core-gallery-card > img,
  .faya-core-gallery-relation { transition: none !important; }
  .faya-core-stage-card { transition: none !important; }
  .faya-product-screen { transition: none !important; }
}

/* Content-led editorial pages. Their numbering follows the existing five panels. */
.faya-editorial-index {
  position: absolute;
  top: 28px;
  left: clamp(28px, 8vw, 132px);
  margin: 0;
  color: rgba(52, 61, 52, .62);
  font-size: .72rem;
  letter-spacing: .18em;
  line-height: 1.5;
}
.faya-core-insight-section .faya-core-insight-layout {
  min-height: 0;
  height: 100%;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  grid-template-rows: 1fr;
  align-content: center;
  gap: clamp(28px, 5vw, 80px);
}
.faya-core-insight-section .faya-core-index,
.faya-core-insight-section .faya-core-stage-column { grid-row: 1; margin-top: 0; }
.faya-core-column-labels {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding: 18px 0;
}
.faya-core-column-labels p {
  margin: 0;
  color: rgba(52, 61, 52, .64);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.faya-core-insight-section .faya-core-index-item {
  grid-template-columns: 22px minmax(0, 1fr) 24px minmax(0, 1fr);
  gap: 12px;
  min-height: 72px;
  padding-block: 15px;
}
.faya-core-index-item::after { display: none; }
.faya-core-index-item > .faya-core-source {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4;
  color: #676b63;
}
.faya-core-index-item i { align-self: center; color: #8a9385; font-style: normal; }
.faya-core-index-item strong {
  align-self: center;
  color: #34513a;
  font-size: clamp(1.08rem, 1.45vw, 1.5rem);
  font-weight: 500;
  letter-spacing: -.03em;
  line-height: 1.25;
}
.faya-core-editorial-explanation {
  max-width: 42rem;
  margin: 22px 0 0;
  color: #676b63;
  font-size: 1rem;
  line-height: 1.5;
}
.faya-core-insight-section .faya-core-stage { box-shadow: 0 10px 25px rgba(58, 51, 41, .07); }
.faya-core-insight-section .faya-core-stage-column .faya-core-insight-closing {
  padding: 12px 0 0;
  border-left: 0;
  border-top: 1px solid rgba(55, 61, 52, .15);
  font-size: .9rem;
  line-height: 1.5;
  color: #676b63;
}
.faya-product-system-section .faya-product-system-layout {
  height: 100%;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.faya-product-system-section .faya-product-browser {
  width: min(100%, 1040px, calc((100svh - 300px) * 1.38));
  max-width: 1040px;
  margin: 0;
  box-shadow: 0 12px 30px rgba(58, 51, 41, .09);
}
.faya-product-system-section .faya-product-stage {
  margin-top: 0;
  height: auto;
  aspect-ratio: auto;
}
.faya-product-system-section .faya-product-screen {
  position: relative;
  inset: auto;
  grid-template-rows: auto auto;
}
.faya-product-system-section .faya-product-screen > img {
  width: 100%;
  height: auto;
  max-height: none;
}
@media (min-width: 701px) and (max-height: 720px) {
  .faya-core-insight-section .faya-core-index-item { min-height: 56px; padding-block: 10px; }
  .faya-core-insight-section .faya-core-editorial-explanation { margin-top: 16px; }
}
@media (max-width: 1000px) and (min-width: 701px) {
  .faya-core-insight-section .faya-core-insight-layout { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 24px; }
  .faya-core-insight-section .faya-core-index-item { gap: 8px; }
  .faya-core-index-item > .faya-core-source { font-size: .95rem; }
}
@media (max-width: 700px) {
  .faya-editorial-index { left: 24px; top: 28px; }
  .faya-core-insight-section .faya-core-insight-layout { display: block; height: auto; }
  .faya-core-insight-section .faya-core-index-item { min-height: 72px; }
  .faya-core-insight-section .faya-core-stage-column { margin-top: 32px; }
  .faya-core-insight-section .faya-core-stage { margin-top: 0; }
  .faya-product-system-section .faya-product-system-layout { height: auto; display: block; }
  .faya-product-system-section .faya-product-browser { width: 100%; max-width: none; margin: 0; }
  .faya-product-system-section .faya-product-screen > img { height: auto; }
  .faya-core-insight-layout, .faya-product-system-layout { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .faya-core-insight-section .faya-core-insight-layout,
  .faya-product-system-section .faya-product-system-layout { opacity: 1; transform: none; transition: none; height: auto; }
}

/* Approved Figma revision: Independent Product, Context, Problem, Core Insight. */
.faya-core-insight-section .faya-core-stage[data-active-core="goal"] {
  width: 100%;
  aspect-ratio: 1.65;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.faya-core-stage-card--paired { grid-template-rows: minmax(0, 1fr) auto; gap: 12px; }
.faya-core-paired-media {
  display: grid;
  grid-template-columns: minmax(0, .7fr) minmax(0, 1.8fr);
  gap: clamp(10px, 1.2vw, 18px);
  align-items: center;
  min-height: 0;
}
.faya-core-paired-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
}
.faya-core-stage-card--paired figcaption {
  position: static;
  padding: 0;
  background: none;
  color: #34513a;
}
.faya-core-stage-card--paired figcaption span { font-size: .65rem; }
.faya-core-stage-card--paired figcaption strong { font-size: 1.25rem; }
.faya-core-decision-description {
  width: 100%;
  margin-top: 0;
  padding-top: 16px;
  border-top: 1px solid rgba(55, 61, 52, .15);
  color: #555b52;
  font-size: 1rem;
  line-height: 1.45;
}
.faya-core-decision-description p { margin: 0; }
.faya-core-decision-description p + p { margin-top: 20px; }
.faya-core-decision-description strong { color: #34513a; font-weight: 600; }
.faya-core-index .faya-core-decision-description { padding-top: 20px; border-top: 0; }
@media (min-width: 701px) and (max-height: 760px) {
  .faya-core-insight-section .faya-core-index:has(.faya-core-decision-description:not([hidden])) { padding-top: 0; }
}
.faya-detail-section { background: var(--bg); }
.faya-detail-ambient { display: none; }
.faya-case-opening .faya-case-intro { width: min(350px, 100%); top: -10px; }
.faya-case-opening .faya-case-intro h2 { letter-spacing: -.02em; }
.faya-case-opening .faya-eyebrow,
.faya-case-opening .faya-live-link,
.faya-case-opening .faya-demo figcaption { letter-spacing: 0; }
.faya-case-opening .faya-value-proposition { max-width: 350px; }
.faya-case-opening .faya-demo::before { display: none; }
.faya-case-opening .faya-demo img { filter: none; }
.faya-scroll-laptop { filter: none; }
.faya-case-context .faya-context-narrative { color: var(--theme-copy,#29282d); font-size: clamp(1.176rem, 1.32vw, 1.296rem); }
.faya-case-context .faya-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.faya-case-context .faya-meta-grid > div { min-height: 120px; }
.faya-problem-section .faya-problem-intro > p:not(.faya-eyebrow) {
  font-size: clamp(1.05rem, 1.667vw, 1.5rem);
  line-height: 1.2;
  color: var(--theme-copy,#29282d);
}
.faya-core-insight-section .faya-core-index { border-top: 0; align-self: start; padding-top: clamp(0px, calc(28vh - 132px), 120px); }
.faya-core-insight-section .faya-core-column-labels { padding: 18px 0; }
.faya-core-insight-section .faya-core-column-labels p { letter-spacing: 0; }
.faya-core-insight-section .faya-core-index-item { min-height: 72px; padding: 12px 0; }@media (hover:hover) and (pointer:fine) {
.faya-core-insight-section .faya-core-index-item:hover,
.faya-core-insight-section .faya-core-index-item:focus-visible,
.faya-core-insight-section .faya-core-index-item.is-active { padding-left: 10px; }}
.faya-core-insight-section .faya-core-index-item strong { font-size: clamp(1.08rem, 1.55vw, 1.4rem); font-weight: 400; }
.faya-core-insight-section .faya-core-stage { border-radius: 0; box-shadow: 0 1px 3px rgba(58, 51, 41, .06); }
.faya-core-insight-section .faya-core-stage-card figcaption strong { font-weight: 400; }
@media (min-width: 1101px) and (min-height: 761px) {
  .faya-case-context { padding: 0; }
  .faya-case-context .faya-context-content { position: relative; height: 100%; min-height: 0; display: grid; grid-template-columns: 43.89% 49.3%; column-gap: 0; align-content: center; }
  .faya-case-context .faya-context-heading { position: static; width: 100%; max-width: none; }
  .faya-case-context .faya-context-narrative { font-size: clamp(1.2rem, 1.44vw, 1.296rem); line-height: 1.2; margin-top: 9px; }
  .faya-case-context .faya-context-narrative + .faya-context-narrative { margin-top: 22px; }
  .faya-case-context .faya-context-peony { position: absolute; grid-area: auto; top: 3%; left: 0; width: 43%; height: 93%; min-height: 0; }
  .faya-case-context .faya-peony-frame { object-fit: contain; }
  .faya-case-context .faya-meta-grid { position: static; width: 100%; margin: 28px 0 0; }
  .faya-case-context .faya-meta-grid > div { min-height: 104px; }
  .faya-case-context .faya-detail-notes { position: static; width: 100%; margin: 22px 0 0; gap: 30px; }
  .faya-case-context .faya-detail-next { position: static; margin: 24px 0 0; }
  .faya-problem-section .faya-problem-intro { transform: translateY(-40px); }
}
@media (min-width: 701px) and (max-height: 760px) {
  .faya-case-context { padding-top: 32px; padding-bottom: 32px; }
  .faya-case-context .faya-context-content { min-height: calc(100vh - 64px); }
  .faya-case-context .faya-meta-grid { margin-top: 18px; }
  .faya-case-context .faya-meta-grid > div { min-height: 76px; padding-block: 12px; }
  .faya-case-context .faya-detail-notes { margin-top: 16px; }
  .faya-case-context .faya-context-narrative + .faya-context-narrative { margin-top: 16px; }
  .faya-case-context .faya-context-peony { min-height: min(420px, calc(100vh - 64px)); }
}
@media (max-width: 1100px) and (min-width: 701px) {
  .faya-core-insight-section .faya-core-insight-layout { grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr); }
  .faya-core-insight-section .faya-core-index-item { grid-template-columns: 18px minmax(0, 1.05fr) 16px minmax(0, 1fr); }
}
@media (max-width: 700px) {
  .faya-case-context .faya-meta-grid { grid-template-columns: 1fr; }
  .faya-case-context .faya-meta-grid > div { min-height: 0; }
  .faya-core-insight-section .faya-core-index { padding-top: 0; }
  .faya-core-insight-section .faya-core-index-item { grid-template-columns: 18px minmax(0, 1fr) 16px minmax(0, 1fr); min-height: 88px; gap: 8px; }
  .faya-case-context .faya-context-content,
  .faya-problem-section .faya-problem-layout { opacity: 1; transform: none; }
  .faya-problem-section .faya-problem-intro > p:not(.faya-eyebrow) { font-size: 1.125rem; line-height: 1.45; }
}
@media (prefers-reduced-motion: reduce) {
  .faya-case-context .faya-context-content,
  .faya-problem-section .faya-problem-layout { opacity: 1; transform: none; transition: none; }
}

/* Give the decision evidence a quieter voice and the product media more room. */
.faya-core-insight-section .faya-core-insight-layout {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
}
.faya-core-insight-section .faya-core-index {
  padding-top: clamp(0px, calc(22vh - 132px), 66px);
}
.faya-core-insight-section .faya-core-index-item { min-height: 64px; }
.faya-core-insight-section .faya-core-index-item > .faya-core-source { font-size: .95rem; }
.faya-core-insight-section .faya-core-index-item strong { font-size: clamp(1.05rem, 1.4vw, 1.25rem); }
.faya-core-decision-description { font-size: .9375rem; line-height: 1.4; }
.faya-core-decision-description p + p { margin-top: 14px; }
.faya-core-index .faya-core-decision-description { padding-top: 16px; }
.faya-core-descriptions { display: grid; }
.faya-core-descriptions .faya-core-decision-description { grid-area: 1 / 1; align-self: start; }
.faya-core-decision-description[aria-hidden="true"] { visibility: hidden; pointer-events: none; }
.faya-core-decision-description p:first-child { color: #424b40; }
.faya-core-decision-description p + p { color: #656b60; }
.faya-core-decision-description strong {
  display: inline-block;
  margin-bottom: 4px;
  font-size: .85rem;
  line-height: 1.4;
  color: #34513a;
  font-weight: 600;
}
.faya-core-decision-description strong span { font-weight: 400; color: #656b60; }
@media (max-width: 700px) {
  .faya-core-insight-section .faya-core-index { padding-top: 0; }
}

/* Decision: choose a direction, inspect the media, then read its evidence. */
.faya-core-insight-section .faya-core-insight-layout {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  gap: 20px;
}
.faya-core-insight-section .faya-core-index {
  grid-column: 1;
  grid-row: 1;
  padding-top: 0;
  width: 100%;
}
.faya-core-insight-section .faya-core-column-labels { display: block; padding: 0 0 10px; }
.faya-core-column-labels p + p { display: none; }
.faya-core-index-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.faya-core-insight-section .faya-core-index-item {
  grid-template-columns: 20px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  align-items: center;
  min-height: 76px;
  padding: 12px 14px;
  gap: 4px 10px;
  border-bottom: 1px solid rgba(55, 61, 52, .12);
}
.faya-core-index-item > span:first-child { grid-column: 1; grid-row: 1 / 3; align-self: start; }
.faya-core-insight-section .faya-core-index-item > .faya-core-source { grid-column: 2; grid-row: 1; font-weight: 500; color: #424b40; }
.faya-core-index-item i { display: none; }
.faya-core-insight-section .faya-core-index-item strong { grid-column: 2; grid-row: 2; font-size: .875rem; color: #656b60; }@media (hover:hover) and (pointer:fine) {
.faya-core-insight-section .faya-core-index-item:hover,
.faya-core-insight-section .faya-core-index-item:focus-visible,
.faya-core-insight-section .faya-core-index-item.is-active { padding: 12px 14px; }}
.faya-core-insight-section .faya-core-stage-column {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  gap: 20px;
  justify-items: stretch;
}
.faya-core-insight-section .faya-core-stage[data-active-core] {
  width: 100%;
  height: min(43vh, 380px, calc(100vh - 340px));
  max-width: none;
  aspect-ratio: auto;
  border: 0;
  box-shadow: none;
  background: transparent;
}
.faya-core-stage-card { grid-template-rows: minmax(0, 1fr) auto; gap: 12px; }
.faya-core-stage-card > img { min-height: 0; }
.faya-core-stage-card figcaption {
  position: static;
  padding: 0;
  color: #34513a;
  background: none;
}
.faya-core-stage-card figcaption strong { font-size: 1rem; letter-spacing: -.01em; }
.faya-core-paired-media { width: min(100%, 1020px); margin: 0 auto; }
.faya-core-descriptions { width: 100%; padding-top: 16px; border-top: 1px solid rgba(55, 61, 52, .15); }
.faya-core-descriptions .faya-core-decision-description {
  display: grid;
  grid-template-columns: 1.1fr .85fr 1.1fr;
  gap: 28px;
  padding-top: 0;
  border: 0;
  font-size: .875rem;
  line-height: 1.5;
}
.faya-core-descriptions .faya-core-decision-description p + p { margin: 0; }
.faya-core-decision-description strong { font-size: .8rem; }
.faya-core-decision-description[data-core-description="progress"] p:first-child { grid-column: span 2; }
@media (min-width: 701px) and (max-width: 1000px) {
  .faya-core-index-list { gap: 12px; }
  .faya-core-descriptions .faya-core-decision-description { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; }
  .faya-core-decision-description p:first-child { grid-column: 1 / -1; }
  .faya-core-insight-section .faya-core-stage[data-active-core] { height: min(38vh, 370px); }
}
@media (max-width: 700px) {
  .faya-core-insight-section .faya-core-insight-layout { display: block; height: auto; }
  .faya-core-index-list { grid-template-columns: 1fr; gap: 0; }
  .faya-core-insight-section .faya-core-index-item { min-height: 68px; }
  .faya-core-insight-section .faya-core-stage-column { margin-top: 24px; gap: 20px; }
  .faya-core-insight-section .faya-core-stage[data-active-core] { height: min(70vw, 340px); }
  .faya-core-descriptions .faya-core-decision-description { display: block; font-size: .9375rem; }
  .faya-core-descriptions .faya-core-decision-description p + p { margin-top: 16px; }
}

/* Evidence-first composition: a small index beside a full-scale product view. */
@media (min-width: 1101px) {
  .faya-core-insight-section { padding: clamp(28px, 4vh, 48px) clamp(28px, 3.333vw, 56px); }
  .faya-core-insight-section .faya-core-insight-layout {
    grid-template-columns: 190px minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    gap: 48px;
  }
  .faya-core-insight-section .faya-core-index {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    padding-top: 44px;
  }
  .faya-core-index-list { grid-template-columns: 1fr; gap: 16px; }
  .faya-core-insight-section .faya-core-index-item { min-height: 100px; padding: 14px 0; }@media (hover:hover) and (pointer:fine) {
  .faya-core-insight-section .faya-core-index-item:hover,
  .faya-core-insight-section .faya-core-index-item:focus-visible,
  .faya-core-insight-section .faya-core-index-item.is-active { padding: 14px 0; }}
  .faya-core-insight-section .faya-core-stage-column {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    gap: 20px;
  }
  .faya-core-insight-section .faya-core-stage[data-active-core] {
    height: min(66vh, calc(100svh - 330px));
  }
  .faya-core-paired-media {
    width: 100%;
    grid-template-columns: minmax(0, .6fr) minmax(0, 1.8fr);
    gap: 24px;
  }
  .faya-core-descriptions .faya-core-decision-description { gap: 24px; }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .faya-core-insight-section { padding: 32px; }
  .faya-core-insight-section .faya-core-stage[data-active-core] {
    height: min(56vh, 580px, calc(100svh - 380px));
  }
}
@media (max-width: 700px) {
  .faya-core-insight-section .faya-core-stage[data-active-core] { height: min(82vw, 420px); }
  .faya-core-paired-media { grid-template-columns: minmax(0, .4fr) minmax(0, 1.6fr); gap: 12px; }
}

/* Decision as an image plate: full-width evidence, with editorial notes below. */
.faya-core-insight-section { padding: 24px clamp(24px, 3.333vw, 56px) 32px; }
.faya-core-insight-section .faya-core-insight-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto auto;
  gap: 14px;
}
.faya-core-insight-section .faya-core-stage-column { display: contents; }
.faya-core-insight-section .faya-core-stage[data-active-core] {
  grid-column: 1;
  grid-row: 1;
  align-self: stretch;
  width: 100%;
  height: 100%;
  min-height: 0;
}
.faya-core-stage-card { grid-template-rows: minmax(0, 1fr); gap: 0; }
.faya-core-stage-card figcaption { display: none; }
.faya-core-paired-media { position: relative; display: block; width: 100%; height: 100%; }
.faya-core-paired-media .faya-core-paired-flower {
  position: absolute;
  top: 8%;
  left: 1%;
  width: 24%;
  height: 84%;
}
.faya-core-paired-media .faya-core-paired-screen {
  position: absolute;
  inset: 0 0 0 auto;
  width: 77%;
  height: 100%;
  object-position: center;
}
.faya-core-insight-section .faya-core-index {
  grid-column: 1;
  grid-row: 2;
  align-self: start;
  padding: 0;
  margin: 0;
}
.faya-core-insight-section .faya-core-column-labels { display: none; }
.faya-core-index-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }@media (hover:hover) and (pointer:fine) {
.faya-core-insight-section .faya-core-index-item,
.faya-core-insight-section .faya-core-index-item:hover,
.faya-core-insight-section .faya-core-index-item:focus-visible,
.faya-core-insight-section .faya-core-index-item.is-active {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  align-content: start;
}}
.faya-core-insight-section .faya-core-index-item > .faya-core-source { font-size: .9375rem; font-weight: 400; color: #707568; }
.faya-core-insight-section .faya-core-index-item strong { font-size: .8125rem; color: #707568; }
.faya-core-insight-section .faya-core-index-item.is-active > .faya-core-source { color: #34513a; font-weight: 600; }
.faya-core-insight-section .faya-core-index-item.is-active > span:first-child { color: #a65660; }
.faya-core-descriptions {
  grid-column: 1;
  grid-row: 3;
  padding-top: 0;
  border: 0;
}
.faya-core-descriptions .faya-core-decision-description { gap: 32px; font-size: .875rem; line-height: 1.45; }
@media (min-width: 701px) and (max-width: 1100px) {
  .faya-core-descriptions .faya-core-decision-description { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; }
}
@media (max-width: 700px) {
  .faya-core-insight-section { padding: 40px 24px; }
  .faya-core-insight-section .faya-core-insight-layout { grid-template-rows: auto auto auto; height: auto; gap: 24px; }
  .faya-core-insight-section .faya-core-stage[data-active-core] { height: min(88vw, 440px); }
  .faya-core-index-list { grid-template-columns: 1fr; gap: 16px; }
  .faya-core-insight-section .faya-core-index-item { grid-template-rows: auto; }
  .faya-core-insight-section .faya-core-index-item strong { display: block; }
  .faya-core-descriptions .faya-core-decision-description { font-size: .9375rem; }
}

/* Decision title and tactile controls, with secondary labels revealed on intent. */
.faya-core-insight-section .faya-core-insight-layout { grid-template-rows: auto minmax(0, 1fr) auto auto; }
.faya-decisions-heading { grid-column: 1; grid-row: 1; }
.faya-core-insight-section .faya-core-stage[data-active-core] { grid-row: 2; }
.faya-core-insight-section .faya-core-index { grid-row: 3; }
.faya-core-descriptions { grid-row: 4; padding: 16px 20px; border: 1px solid rgba(55, 61, 52, .16); border-radius: 6px; background: rgba(255, 253, 247, .5); }
.faya-core-descriptions .faya-core-decision-description { grid-template-columns: 1fr 1.6fr; }
.faya-core-decision-description[data-core-description="progress"] p:first-child { grid-column: auto; }
.faya-core-descriptions .faya-core-decision-description p + p { grid-column: auto; }@media (hover:hover) and (pointer:fine) {
.faya-core-insight-section .faya-core-index-item,
.faya-core-insight-section .faya-core-index-item:hover,
.faya-core-insight-section .faya-core-index-item:focus-visible,
.faya-core-insight-section .faya-core-index-item.is-active {
  grid-template-columns: 20px minmax(0, 1fr) 22px;
  padding: 10px 12px;
  border: 1px solid rgba(55, 61, 52, .18);
  border-radius: 4px;
  transition: border-color 180ms ease, background-color 180ms ease;
}}
.faya-core-insight-section .faya-core-index-item.is-active { border-color: rgba(52, 81, 58, .55); background: rgba(255, 253, 247, .45); }@media (hover:hover) and (pointer:fine) {
.faya-core-insight-section .faya-core-index-item:hover { border-color: #687c61; background: rgba(255, 253, 247, .75); }}
.faya-core-insight-section .faya-core-index-item.is-active > span:first-child { color: #858d7f; }
.faya-core-insight-section .faya-core-index-item i { display: block; grid-column: 3; grid-row: 1 / 3; color: #5d7357; transition: transform 180ms ease; }@media (hover:hover) and (pointer:fine) {
.faya-core-insight-section .faya-core-index-item:hover i { transform: translateX(3px); }}
.faya-core-insight-section .faya-core-index-item strong { visibility: hidden; opacity: 0; transition: opacity 160ms ease; }@media (hover:hover) and (pointer:fine) {
.faya-core-insight-section .faya-core-index-item:hover strong,
.faya-core-insight-section .faya-core-index-item:focus-visible strong { visibility: visible; opacity: 1; }}
@media (hover: none) {
  .faya-core-insight-section .faya-core-index-item.is-active strong { visibility: visible; opacity: 1; }
}
@media (max-width: 700px) {
  .faya-core-insight-section .faya-core-insight-layout { grid-template-rows: auto auto auto auto; }
}

/* Case revision: documented onboarding comparison and current product stage. */
.faya-project-summary { margin: 18px 0 0; color: #656b60; font-size: .8rem; line-height: 1.5; }
.faya-decisions-heading { align-self: start; }
.faya-decisions-intro {
  grid-column: 1;
  grid-row: 1;
  padding-left: 140px;
  display: grid;
  grid-template-columns: 1.7fr 1fr;
  gap: 28px;
  align-self: start;
  font-size: .875rem;
  line-height: 1.45;
  color: #656b60;
}
.faya-decisions-intro p { margin: 0; }
.faya-core-stage-card.is-active { pointer-events: auto; }
.faya-core-comparison {
  display: grid;
  grid-template-columns: minmax(60px, .18fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
  height: 100%;
  min-height: 0;
  align-items: stretch;
}
.faya-comparison-flower { width: 100%; height: 100%; object-fit: contain; min-height: 0; }
.faya-comparison-item { display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 10px; min-width: 0; min-height: 0; }
.faya-media-zoom { position: relative; display: block; width: 100%; height: 100%; min-height: 0; padding: 0; border: 1px solid rgba(55,61,52,.14); background: #fcfaf6; cursor: zoom-in; }
.faya-media-zoom img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.faya-media-zoom > span { position: absolute; right: 8px; bottom: 8px; display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid rgba(55,61,52,.2); border-radius: 50%; background: #fffdf7; color: #34513a; font-size: 18px; }@media (hover:hover) and (pointer:fine) {
.faya-media-zoom:hover { border-color: #687c61; }}
.faya-media-zoom:focus-visible { outline: 3px solid #687c61; outline-offset: 4px; }
.faya-comparison-label { margin: 0; color: #424b40; font-size: .875rem; line-height: 1.4; }
.faya-current-stage-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(40px, 7vw, 100px); align-items: center; height: 100%; }
.faya-current-stage-copy > p { max-width: 34ch; margin: 24px 0 0; color: #36343a; font-size: clamp(1.15rem, 1.8vw, 1.65rem); line-height: 1.5; }
.faya-conceptual-references { align-self: center; }
.faya-conceptual-references ul { list-style: none; padding: 0; margin: 24px 0 0; }
.faya-conceptual-references li { padding: 16px 0; border-top: 1px solid rgba(55,61,52,.15); color: #656b60; font-size: .95rem; line-height: 1.55; }
.faya-media-dialog { width: min(96vw, 1320px); max-width: 96vw; max-height: 94vh; padding: 0; border: 1px solid rgba(55,61,52,.22); border-radius: 8px; background: #f4efe6; color: #34513a; }
.faya-media-dialog::backdrop { background: rgba(24,29,23,.68); }
.faya-media-dialog-toolbar { display: flex; gap: 24px; align-items: center; justify-content: space-between; padding: 14px 20px; border-bottom: 1px solid rgba(55,61,52,.15); }
.faya-media-dialog-toolbar p { margin: 0; font-size: .9375rem; line-height: 1.4; }
.faya-media-dialog-toolbar button { flex: none; padding: 8px 12px; border: 1px solid #687c61; border-radius: 4px; background: #fffdf7; color: #34513a; font: inherit; cursor: pointer; }
.faya-media-dialog-toolbar button:focus-visible { outline: 3px solid #687c61; outline-offset: 3px; }
.faya-media-dialog-image { overflow: auto; max-height: calc(94vh - 76px); }
.faya-media-dialog-image img { display: block; max-width: none; width: auto; height: auto; margin: 0 auto; }
body:has(.faya-media-dialog[open]) { overflow: hidden; }
@media (min-width: 701px) and (max-height: 760px) {
  .faya-case-opening { padding-top: 32px; padding-bottom: 32px; }
}
@media (max-width: 700px) {
  .faya-core-insight-section .faya-core-insight-layout { grid-template-rows: auto auto auto auto auto; }
  .faya-decisions-intro { grid-row: 2; padding: 0; display: block; font-size: .9375rem; }
  .faya-decisions-intro p + p { margin-top: 14px; }
  .faya-core-insight-section .faya-core-stage[data-active-core] { grid-row: 3; height: auto; min-height: 0; overflow: visible; }
  .faya-core-insight-section .faya-core-stage[data-active-core="goal"] { height: auto; }
  .faya-core-stage-card.is-active { position: relative; }
  .faya-core-stage-card:not(.is-active) { display: none; }
  .faya-core-stage-card > img { height: auto; }
  .faya-core-comparison { height: auto; grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .faya-comparison-flower { display: none; }
  .faya-comparison-item { grid-template-rows: auto auto; }
  .faya-media-zoom { height: auto; }
  .faya-media-zoom img { height: auto; }
  .faya-core-insight-section .faya-core-index { grid-row: 4; }
  .faya-core-insight-section .faya-core-index { margin-bottom: 24px; }
  .faya-core-descriptions { grid-row: 5; }
  .faya-current-stage-section { padding: 64px 24px; }
  .faya-current-stage-layout { display: block; height: auto; }
  .faya-current-stage-copy > p { font-size: 1.125rem; }
  .faya-conceptual-references { margin-top: 48px; }
}

/* Decisions: editorial tabs, adjacent explanation, and real product evidence.
   Scoped to the new composition so earlier case layouts cannot constrain it. */
.faya-case-panel.decisions-editorial {
  display: block;
  padding: clamp(32px, 4vw, 64px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-width: none;
}
.faya-case-panel.decisions-editorial::-webkit-scrollbar { display: none; }
.decisions-editorial:focus-visible { outline: 2px solid #687c61; outline-offset: -5px; }
.decisions-editorial .faya-core-insight-layout {
  display: grid;
  grid-template-columns: minmax(0, 32fr) minmax(0, 68fr);
  grid-template-rows: auto auto auto auto;
  height: auto;
  min-height: 0;
  gap: 24px 40px;
  align-content: start;
  align-items: start;
}
.decisions-editorial .faya-decisions-heading { grid-area: 1 / 1 / 2 / -1; margin: 0; }
.decisions-editorial .faya-decisions-intro {
  grid-area: 2 / 1 / 3 / -1;
  display: block;
  max-width: 76ch;
  padding: 0;
  font-size: .9375rem;
  line-height: 1.55;
}
.decisions-editorial .faya-decisions-intro p + p { margin-top: 12px; }
.decisions-editorial .faya-core-mapping,
.decisions-editorial .faya-core-explorer,
.decisions-editorial .faya-core-stage-column { display: contents; }
.decisions-editorial .faya-core-index {
  grid-area: 3 / 1 / 4 / -1;
  width: 100%;
  margin: 8px 0 4px;
  padding: 0;
  border: 0;
}
.decisions-editorial .faya-core-index-list { display: flex; gap: clamp(18px, 4vw, 56px); border-bottom: 1px solid rgba(55,61,52,.16); }@media (hover:hover) and (pointer:fine) {
.decisions-editorial .faya-core-index-item,
.decisions-editorial .faya-core-index-item:hover,
.decisions-editorial .faya-core-index-item:focus-visible,
.decisions-editorial .faya-core-index-item.is-active {
  display: block;
  flex: 0 1 auto;
  width: auto;
  min-width: 0;
  min-height: 48px;
  margin: 0 0 -1px;
  padding: 12px 0;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #707568;
  font: inherit;
  font-size: .9375rem;
  line-height: 1.4;
  text-align: left;
  box-shadow: none;
  transform: none;
}}
.decisions-editorial .faya-core-index-item::after { display: none; }
.decisions-editorial .faya-core-index-item.is-active { color: #34513a; border-bottom-color: #687c61; }@media (hover:hover) and (pointer:fine) {
.decisions-editorial .faya-core-index-item:hover { color: #34513a; }}
.decisions-editorial .faya-core-index-item:focus-visible { outline: 2px solid #687c61; outline-offset: 4px; }
.decisions-editorial .faya-core-descriptions {
  grid-area: 4 / 1 / 5 / 2;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
}
.decisions-editorial .faya-core-decision-description { display: block; font-size: .9375rem; line-height: 1.6; }
.decisions-editorial .faya-core-decision-description[aria-hidden="true"] { display: none; }
.decisions-editorial .faya-core-decision-description h3 { margin: 0; color: #36343a; font-size: clamp(1.4rem, 1.8vw, 1.85rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.15; }
.decisions-editorial .faya-core-decision-description .decision-elements { margin: 12px 0 24px; color: #687c61; font-size: .875rem; }
.decisions-editorial .faya-core-decision-description p + p { margin-top: 18px; }
.decisions-editorial .faya-core-stage[data-active-core] {
  grid-area: 4 / 2 / 5 / 3;
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: auto;
  margin: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.decisions-editorial .faya-core-stage-card { position: relative; inset: auto; display: none; width: 100%; height: auto; margin: 0; padding: 0; transform: none; }
.decisions-editorial .faya-core-stage-card.is-active { display: block; }
.decisions-editorial .faya-core-stage-card > img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; }
.decisions-editorial .faya-core-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; height: auto; }
.decisions-editorial .faya-comparison-item { display: grid; grid-template-rows: auto auto auto; gap: 12px; }
.decisions-editorial .faya-comparison-heading { margin: 0; font-size: .7rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #687c61; }
.decisions-editorial .faya-media-zoom { width: 100%; height: auto; aspect-ratio: 2; overflow: hidden; border: 0; background: #fcfaf6; }
/* Focus previews on the real sprouts fields; the dialog shows the intact capture. */
.decisions-editorial .faya-media-zoom img { position: absolute; top: -76%; bottom: auto; left: -8%; display: block; width: 116%; max-width: none; height: auto; max-height: none; }
.decisions-editorial .faya-comparison-item + .faya-comparison-item .faya-media-zoom img { top: -94%; }
.decisions-editorial .faya-comparison-label { font-size: .8125rem; color: #656b60; }
@media (max-width: 1000px) {
  .decisions-editorial .faya-core-insight-layout { column-gap: 24px; }
  .decisions-editorial .faya-core-comparison { grid-template-columns: 1fr; }
}
/* Use horizontal space and the available image height on laptop screens,
   instead of letting a full-width image push content below the chapter. */
@media (min-width: 1001px) and (prefers-reduced-motion: no-preference) {
  .faya-case-panel.decisions-editorial { padding: 24px clamp(32px, 4vw, 64px); }
  .decisions-editorial .faya-core-insight-layout {
    height: 100%;
    max-width: 1480px;
    margin-inline: auto;
    grid-template-rows: auto auto auto auto;
    align-content: safe center;
    row-gap: 16px;
  }
  .decisions-editorial .faya-decisions-intro {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 32px;
    max-width: none;
  }
  .decisions-editorial .faya-decisions-intro p { max-width: 76ch; }
  .decisions-editorial .faya-decisions-intro p + p { margin: 0; }
  .decisions-editorial .faya-core-index { margin: 0; }
  .decisions-editorial .faya-core-stage[data-active-core],
  .decisions-editorial .faya-core-stage-card.is-active { height: clamp(240px, 40svh, 420px); }
  .decisions-editorial .faya-core-stage[data-active-core="goal"],
  .decisions-editorial .faya-core-stage-card--paired.is-active { height: auto; }
  .decisions-editorial .faya-core-stage-card > img {
    height: 100%;
    width: 100%;
    object-fit: contain;
    object-position: center top;
  }
  .decisions-editorial .faya-core-decision-description .decision-elements { margin-bottom: 16px; }
  .decisions-editorial .faya-core-decision-description p + p { margin-top: 14px; }
}
@media (max-width: 700px) {
  .faya-case-panel.decisions-editorial { height: auto; padding: 48px 24px; overflow: visible; }
  .decisions-editorial .faya-core-insight-layout { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: repeat(5, auto); gap: 24px; }
  .decisions-editorial .faya-core-index { grid-area: 3 / 1; margin: 0; }
  .decisions-editorial .faya-core-index-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
  .decisions-editorial .faya-core-index-item { flex: 1 1 0; font-size: .8125rem; }
  .decisions-editorial .faya-core-descriptions { grid-area: 4 / 1; }
  .decisions-editorial .faya-core-stage[data-active-core] { grid-area: 5 / 1; }
  .decisions-editorial .faya-core-comparison { gap: 28px; }
}@media (hover:hover) and (pointer:fine) {

/* Lighter canvas and red editorial accents; product captures stay untouched. */
.faya-live-link,
.faya-instagram-link,
.faya-case-context .faya-detail-next,
.faya-eyebrow,
.faya-meta-grid dt,
.faya-detail-notes p,
.decisions-editorial .faya-core-index-item,
.decisions-editorial .faya-core-index-item.is-active,
.decisions-editorial .faya-core-index-item:hover,
.decisions-editorial .faya-core-decision-description .decision-elements,
.decisions-editorial .faya-comparison-heading,
.faya-media-zoom > span,
.faya-media-dialog,
.faya-media-dialog-toolbar button { color: var(--faya-accent); }}@media (hover:hover) and (pointer:fine) {
.faya-live-link:hover,
.faya-live-link:focus-visible,
.faya-instagram-link:hover,
.faya-instagram-link:focus-visible { color: #7f272e; }}@media (hover:hover) and (pointer:fine) {
.faya-live-link,
.decisions-editorial .faya-core-index-item.is-active,
.faya-media-zoom:hover,
.faya-media-dialog-toolbar button { border-color: var(--faya-accent); }}
.decisions-editorial .faya-decisions-intro,
.decisions-editorial .faya-core-decision-description p,
.decisions-editorial .faya-comparison-label,
.faya-conceptual-references li { color: var(--faya-accent-muted); }
.decisions-editorial .faya-core-index-item:not(.is-active) { color: var(--faya-accent-muted); }
.decisions-editorial .faya-core-index-item:focus-visible,
.decisions-editorial:focus-visible,
.faya-media-zoom:focus-visible,
.faya-media-dialog-toolbar button:focus-visible { outline-color: var(--faya-accent); }
.faya-media-dialog { background: var(--bg); }

/* Red is reserved for links; headings and reading copy stay neutral. */
.faya-detail-section { color: #222029; }@media (hover:hover) and (pointer:fine) {
.faya-detail-section .faya-eyebrow,
.faya-detail-section .faya-meta-grid dt,
.faya-detail-section .faya-detail-notes p,
.decisions-editorial .faya-core-index-item,
.decisions-editorial .faya-core-index-item.is-active,
.decisions-editorial .faya-core-index-item:hover,
.decisions-editorial .faya-core-decision-description h3,
.faya-media-dialog,
.faya-media-dialog-toolbar button { color: #222029; }}
.decisions-editorial .faya-decisions-intro,
.decisions-editorial .faya-core-decision-description p,
.faya-current-stage-copy > p,
.faya-context-heading .faya-narrative { color: #222029; }
.decisions-editorial .faya-core-index-item:not(.is-active),
.decisions-editorial .faya-core-decision-description .decision-elements,
.decisions-editorial .faya-comparison-heading,
.decisions-editorial .faya-comparison-label,
.faya-conceptual-references li,
.faya-project-summary { color: var(--theme-copy,#55535a); }
.decisions-editorial .faya-core-index-item.is-active { border-bottom-color: transparent; }
.decisions-editorial .faya-core-index-item {
  position: relative;
  isolation: isolate;
  font-weight: 500;
  transition: color 200ms ease;
}
.decisions-editorial .faya-core-index-item::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 4px -10px;
  border-radius: 6px;
  background: #eeece7;
  opacity: 0;
  transform: none;
  transition: opacity 200ms ease;
}
.decisions-editorial .faya-core-index-item::after {
  content: none;
  display: none;
}@media (hover:hover) and (pointer:fine) {
.decisions-editorial .faya-core-index-item:hover,
.decisions-editorial .faya-core-index-item:focus-visible {
  color: #222029;
  border-bottom-color: transparent;
  transform: none;
}}@media (hover:hover) and (pointer:fine) {
.decisions-editorial .faya-core-index-item:hover::before,
.decisions-editorial .faya-core-index-item:focus-visible::before,
.decisions-editorial .faya-core-index-item.is-active::before { opacity: 1; }}
.decisions-editorial .faya-core-index-list { border-bottom: 0; }

/* Reading hierarchy is expressed through neutral contrast, not italics. */
.faya-detail-section { --reading-title: #6b626e; --reading-body: var(--theme-copy,#746b76); --reading-caption: #786f79; }
.faya-detail-section .faya-eyebrow { color: var(--reading-caption); }
.decisions-editorial em { font-style: normal; }
.decisions-editorial .faya-core-decision-description h3 { color: var(--reading-title); }
.decisions-editorial .faya-decisions-intro,
.decisions-editorial .faya-core-decision-description p,
.faya-current-stage-copy > p { color: var(--reading-body); }
.decisions-editorial .faya-decisions-intro p + p,
.decisions-editorial .faya-core-decision-description .decision-elements,
.decisions-editorial .faya-comparison-heading,
.decisions-editorial .faya-comparison-label,
.faya-conceptual-references li,
.faya-project-summary { color: var(--reading-caption); }
.decisions-editorial .faya-core-index-item:not(.is-active) { color: var(--reading-caption); }@media (hover:hover) and (pointer:fine) {
.decisions-editorial .faya-core-index-item:hover,
.decisions-editorial .faya-core-index-item.is-active { color: var(--reading-title); }}
.decisions-editorial .faya-core-index-item:focus-visible,
.decisions-editorial:focus-visible,
.decisions-editorial .faya-media-zoom:focus-visible { outline-color: var(--reading-title); }
.decisions-editorial .faya-media-zoom > span { color: var(--reading-title); transition: background 220ms ease, color 220ms ease, transform 220ms ease; }@media (hover:hover) and (pointer:fine) {
.decisions-editorial .faya-media-zoom:hover > span { background: #24222a; color: #fffdfa; transform: rotate(-8deg); }}
.faya-more-work { min-width: 0; text-align: center; }
.faya-more-work-links { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; max-width: 360px; margin: 24px auto 0; }
.faya-work-link { display: grid; grid-template-rows: clamp(140px, 24vh, 240px) auto; align-items: center; justify-items: center; gap: 10px; color: #24222a; text-decoration: none; font-size: .9375rem; line-height: 1.4; text-align: center; }
.faya-work-link img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform 240ms ease, filter 240ms ease; }
.faya-work-link > span { align-self: start; width: 100%; text-align: center; opacity: 0; transform: translateY(4px); transition: opacity 200ms ease, transform 200ms ease; }
.faya-work-link[data-tale-open] { gap: 2px; }
.faya-work-link[data-tale-open] img { object-position: center bottom; }
.faya-work-link[data-tale-open] > span { margin-top: -8px; }
.faya-work-link[data-faya-open] { gap: 2px; }
.faya-work-link[data-faya-open] img { object-position: center bottom; }
.faya-work-link[data-faya-open] > span { margin-top: -10px; }@media (hover:hover) and (pointer:fine) {
.faya-work-link[data-faya-open]:hover img,
.faya-work-link[data-faya-open]:focus-visible img { transform: translateY(-3px) scale(1.04); }}@media (hover:hover) and (pointer:fine) {
.faya-work-link[data-tale-open]:hover img,
.faya-work-link[data-tale-open]:focus-visible img { transform: translateY(-3px) scale(1.04); }}@media (hover:hover) and (pointer:fine) {
.faya-work-link:hover img,
.faya-work-link:focus-visible img { transform: translateY(-8px) scale(1.04); filter: drop-shadow(0 12px 15px rgba(34,32,41,.15)); }}@media (hover:hover) and (pointer:fine) {
.faya-work-link:hover > span,
.faya-work-link:focus-visible > span { opacity: 1; transform: translateY(0); }}
.faya-work-link:focus-visible { outline: 2px solid var(--theme-copy,#55535a); outline-offset: 8px; border-radius: 4px; }
.faya-current-stage-copy .faya-conceptual-references { margin-top: 28px; }
.faya-current-stage-copy .faya-conceptual-references ul { margin-top: 12px; }
.faya-current-stage-copy .faya-conceptual-references li { padding: 7px 0; font-size: .75rem; line-height: 1.4; }
@media (min-width: 701px) and (max-height: 700px) {
  .faya-current-stage-section { padding-block: 28px; }
  .faya-current-stage-copy > p { margin-top: 16px; font-size: 1.15rem; }
  .faya-current-stage-copy .faya-conceptual-references { margin-top: 20px; }
}
@media (max-width: 700px) {
  .faya-more-work { margin-top: 48px; }
  .faya-work-link { grid-template-rows: 220px auto; }
}
@media (hover: none) {
  .faya-work-link > span { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .faya-work-link img,
  .faya-work-link > span { transition: none; }
  .decisions-editorial .faya-core-index-item { transition: none; }@media (hover:hover) and (pointer:fine) {
  .decisions-editorial .faya-core-index-item:hover,
  .decisions-editorial .faya-core-index-item:focus-visible { transform: none; }}
  .decisions-editorial .faya-core-index-item::before,
  .decisions-editorial .faya-core-index-item::after,
  .decisions-editorial .faya-media-zoom > span { transition: none; }
}

/* Soft, warm text palette; hierarchy comes from restrained tonal differences. */
.hero h1,
.project-content h2,
.faya-detail-section h2,
.faya-detail-section h3,
.tale-detail-copy h2 { color: #6b626e; }
.faya-detail-section,
.faya-value-proposition,
.faya-context-heading .faya-narrative,
.faya-meta-grid dd,
.faya-detail-notes span,
.faya-problem-intro > p:not(.faya-eyebrow),
.faya-problem-insight blockquote,
.tale-detail-copy > p:not(.faya-eyebrow) { color: var(--theme-copy,#746b76); }
.faya-detail-section .faya-eyebrow,
.faya-detail-section .faya-meta-grid dt,
.faya-detail-section .faya-detail-notes p,
.faya-work-link { color: #786f79; }@media (hover:hover) and (pointer:fine) {
.decisions-editorial .faya-core-index-item::after,
.decisions-editorial .faya-media-zoom:hover > span { background: var(--theme-copy,#746b76); }}
.faya-work-link:focus-visible { outline-color: #786f79; }

/* Unified text color sampled from the approved Project context paragraph.
   Color-only overrides also cover the separately loaded board stylesheet. */
:root { --portfolio-copy: var(--theme-copy,#29282d); --portfolio-heading: var(--theme-ink,#716a74); --portfolio-name: var(--theme-ink,#2f2f31); }
body :is(p, a, button, li, dd, dt, span, strong, em, small, label, blockquote, figcaption, h1, h2, h3, h4) { color: var(--portfolio-copy) !important; }
body :is(h1, h2, h3, h4, .faya-eyebrow, .hero-kicker, .panel-label, .faya-meta-grid dt, .faya-detail-notes p),
body :is(h1, h2, h3, h4) :is(span, em, strong) { color: var(--portfolio-heading) !important; }
body .hero h1,
body .hero-kicker,
body .project--faya h2,
body .faya-case-intro h2 { color: var(--portfolio-name) !important; }
body :is(.faya-eyebrow, .panel-label, .faya-meta-grid dt, .faya-detail-notes p, .faya-comparison-heading, .project-category, .hero-kicker) { color: var(--theme-muted,#8f8f8f) !important; }
body .hero-kicker { color: var(--theme-ink,#2f2f31) !important; }
body .decisions-editorial .faya-core-decision-description h3 { color: var(--theme-ink,#4b4b4e) !important; }
body .decisions-editorial .decision-elements,
body .decisions-editorial .decision-elements em { color: var(--theme-muted,#969696) !important; }
body a,
body a :is(span, strong, em, small) { color: var(--faya-accent) !important; }@media (hover:hover) and (pointer:fine) {
body a:hover,
body a:focus-visible,
body a:hover :is(span, strong, em, small),
body a:focus-visible :is(span, strong, em, small) { color: #7f272e !important; }}
body .faya-conceptual-references li,
body .faya-conceptual-references li :is(em, span, strong) { color: #b5b5b5 !important; }
body .faya-project-summary { color: #a0a0a0 !important; font-style: normal; }
#faya-media-dialog[open][data-fit="contain"] { display: grid; grid-template-rows: auto minmax(0,1fr); height: 94svh; max-height: 94svh; overflow: hidden; }
#faya-media-dialog[data-fit="contain"] .faya-media-dialog-image { display: grid; place-items: center; min-height: 0; max-height: none; padding: 12px; overflow: hidden; }
#faya-media-dialog[data-fit="contain"] .faya-media-dialog-image img { display: block; width: 100%; height: 100%; min-height: 0; max-width: 100%; max-height: 100%; object-fit: contain; }

/* Tale reuses the case's type, metadata grid, neutral canvas and tab language.
   Chapters flow vertically so longer research copy never gets clipped. */
.tale-detail-section { display: block; padding: 0; min-width: 0; }
.tale-case-width { width: min(100%, 1480px); margin-inline: auto; padding-inline: clamp(24px, 4vw, 64px); }
.tale-case-opening { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 32px; min-height: 100svh; align-items: center; padding-block: 48px; }
.tale-case-opening .tale-detail-copy { max-width: 470px; justify-self: end; text-align: left; }
.tale-detail-copy > p:not(.faya-eyebrow) { max-width: 38ch; font-size: clamp(1rem, 1.35vw, 1.2rem); line-height: 1.55; }
.tale-meta-grid { margin-top: 28px; column-gap: 24px; }
.tale-case-chapter[aria-labelledby="tale-context-title"] > .tale-meta-grid { margin-top: 28px; }
.tale-case-chapter[aria-labelledby="tale-context-title"] > .tale-detail-notes { margin-top: 20px; }
body .tale-detail-notes p { color: var(--theme-muted,#8f8f8f) !important; }
.tale-meta-grid > div { min-height: 84px; padding-block: 12px; }
.tale-meta-grid dd { max-width: 26ch; font-size: .875rem; line-height: 1.4; }
.tale-case-chapter { padding-block: clamp(56px, 7vw, 104px); }
.tale-case-chapter > .faya-eyebrow { margin-bottom: 28px; }
.tale-editorial-copy { max-width: 64ch; font-size: clamp(1rem, 1.3vw, 1.2rem); line-height: 1.6; }
.tale-editorial-copy p { margin: 0; }
.tale-editorial-copy p + p { margin-top: 22px; }
.tale-problem-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(32px, 7vw, 100px); align-items: center; }
.tale-survey-quote { margin: 32px 0; }
.tale-survey-quote blockquote { margin: 0; padding-left: 24px; border-left: 1px solid #c7c1c4; font-size: clamp(1.3rem, 1.8vw, 1.8rem); line-height: 1.4; letter-spacing: -.025em; }
.tale-survey-quote figcaption { margin-top: 14px; font-size: .8125rem; line-height: 1.5; }
.tale-question h3 { max-width: 22ch; font-size: clamp(1.5rem, 2.5vw, 2.5rem); font-weight: 500; line-height: 1.2; letter-spacing: -.04em; }
.tale-design-evolution { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-block: 40px 56px; }
.tale-design-evolution figure, .tale-decision-media { min-width: 0; margin: 0; }
.tale-asset-space { width: 100%; aspect-ratio: 4 / 3; background: rgba(143,143,143,.045); border: 1px solid rgba(143,143,143,.13); border-radius: 6px; }
.tale-asset-space--screens { aspect-ratio: 1.5; min-height: 340px; }
.tale-design-evolution figcaption, .tale-decision-media figcaption { margin-top: 14px; font-size: .8125rem; line-height: 1.4; }
.tale-asset-space img { display: block; width: 100%; height: auto; object-fit: contain; }
.tale-decision-tabs { display: flex; flex-wrap: wrap; gap: 12px 32px; margin-bottom: 32px; }
.tale-decision-tabs button { position: relative; border: 0; border-radius: 6px; background: none; padding: 12px 14px; font: inherit; font-size: .9375rem; cursor: pointer; transition: background 180ms ease; }@media (hover:hover) and (pointer:fine) {
.tale-decision-tabs button:hover, .tale-decision-tabs button[aria-selected="true"] { background: #eeece7; }}
.tale-decision-tabs button:focus-visible, .tale-decision-panel:focus-visible { outline: 2px solid var(--theme-muted,#8f8f8f); outline-offset: 5px; }
.tale-decision-panel { display: grid; grid-template-columns: minmax(0, 32fr) minmax(0, 68fr); gap: 40px; align-items: start; }
.tale-decision-copy h3 { margin: 0; font-size: clamp(1.4rem, 1.8vw, 1.85rem); line-height: 1.2; letter-spacing: -.035em; font-weight: 500; }
.tale-decision-copy p { font-size: .9375rem; line-height: 1.6; margin: 18px 0 0; }
.tale-decision-copy .tale-decision-subtitle { margin: 12px 0 24px; font-size: .875rem; }
body .tale-detail-copy h2 { color: var(--theme-ink,#2f2f31) !important; }
body .tale-decision-copy h3 { color: var(--theme-ink,#4b4b4e) !important; }
body .tale-decision-copy .tale-decision-subtitle { color: var(--theme-muted,#969696) !important; }
body .tale-detail-section figcaption { color: var(--theme-muted,#8f8f8f) !important; }
.tale-current-stage { padding-bottom: 100px; }
.tale-current-stage > a { display: inline-block; margin-top: 28px; font-size: .875rem; text-underline-offset: 5px; }
@media (prefers-reduced-motion: no-preference) {
  .tale-case-chapter.is-tale-revealed { animation: tale-chapter-in 650ms cubic-bezier(.2,.7,.2,1) both; }
  @keyframes tale-chapter-in { from { opacity: .4; transform: translateY(20px); } to { opacity: 1; transform: none; } }
}
@media (max-width: 900px) {
  .tale-case-opening { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
  .tale-decision-panel { grid-template-columns: minmax(0, 42fr) minmax(0, 58fr); gap: 24px; }
  .tale-asset-space--screens { min-height: 280px; }
}
@media (max-width: 700px) {
  .tale-case-opening, .tale-problem-grid, .tale-decision-panel { grid-template-columns: minmax(0, 1fr); }
  .tale-case-opening { padding-top: 56px; gap: 24px; }
  .tale-case-opening .tale-detail-copy { justify-self: stretch; max-width: none; }
  .tale-case-opening .tale-detail-image { height: min(54svh, 440px); }
  .tale-design-evolution { grid-template-columns: minmax(0, 1fr); }
  .tale-decision-tabs { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
  .tale-decision-tabs button { padding: 12px 6px; font-size: .8125rem; text-align: left; }
  .tale-question h3 { max-width: 26ch; }
  .tale-asset-space--screens { min-height: 220px; }
}

/* Horizontal Tale chapters, with natural internal overflow only when needed. */
.tale-detail-section { position: relative; height: 100svh; min-height: 0; overflow: clip; }
.tale-case-track { display: flex; width: calc(var(--tale-chapter-count,6)*100%); height: 100%; transition: transform 1100ms cubic-bezier(.22,.7,.2,1); will-change: transform; }
.tale-case-track > .tale-case-width { flex: none; width: calc(100% / var(--tale-chapter-count,6)); max-width: none; min-width: 0; height: 100%; min-height: 0; margin: 0; overflow-y: auto; scrollbar-width: none; padding-block: clamp(32px,5vh,64px) 80px; }
.tale-case-track > .tale-case-width::-webkit-scrollbar { display: none; }
.tale-case-track > .tale-case-opening { align-content: safe center; }
.tale-case-track > .tale-case-chapter {
  display: flex;
  flex-direction: column;
  justify-content: safe center;
  padding-top: clamp(32px,5vh,56px);
}
.tale-case-chapter > * { width: min(100%,1200px); margin-inline: auto; flex-shrink: 0; }
.tale-case-chapter[aria-labelledby="tale-context-title"] > *,
.tale-case-chapter.tale-current-stage > * { width: min(100%,44rem); }
.tale-case-chapter.tale-current-stage > a { align-self: center; }
.tale-case-chapter > .tale-editorial-copy { max-width: 1200px; }
.tale-case-chapter[aria-labelledby="tale-decisions-title"] > .tale-editorial-copy { max-width: 76ch; margin-left: max(0px, calc((100% - 1200px) / 2)); }
.tale-problem-grid { grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: clamp(32px,5vw,80px); align-items: center; }
.tale-question .tale-survey-quote { margin: 0 0 36px; }
.tale-question h3 { margin-bottom: 0; }
.tale-case-decisions .tale-decision-panel { grid-template-columns: minmax(0,42fr) minmax(0,58fr); align-items: center; }
.tale-case-decisions .tale-decision-copy { max-width: 54ch; }
.tale-case-decisions .tale-asset-space--screens { min-height: 0; }
.tale-case-track .tale-design-evolution { margin-bottom: 0; }
.tale-chapter-controls { position: absolute; z-index: 3; inset: auto 0 0; display: flex; justify-content: space-between; padding: 16px clamp(24px,4vw,64px); background: linear-gradient(transparent,var(--bg) 45%); }
.tale-chapter-controls button { padding: 8px 4px; border: 0; background: transparent; font: inherit; font-size: .8125rem; cursor: pointer; }
.tale-chapter-controls button:disabled { opacity: .25; cursor: default; }
.tale-chapter-controls button:focus-visible { outline: 2px solid var(--theme-muted,#8f8f8f); outline-offset: 4px; }
.tale-case-chapter.tale-current-stage > .tale-current-layout { width: min(100%,1200px); }
.tale-current-layout { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: clamp(32px,6vw,90px); align-items: center; }
.tale-current-copy > .faya-eyebrow { margin: 0 0 28px; }
.tale-current-copy .tale-editorial-copy { max-width: 38ch; }
.tale-current-layout .faya-more-work { margin-top: 0; }
@media (max-width: 700px) {
  .tale-current-layout { grid-template-columns: minmax(0,1fr); gap: 48px; }
}
@media (max-width: 900px) {
  .tale-case-track > .tale-case-width { padding-inline: 32px; }
  .tale-problem-grid { gap: 28px; }
}
@media (max-width: 700px) {
  .tale-case-track > .tale-case-width { padding: 32px 24px 88px; }
  .tale-case-track > .tale-case-chapter { justify-content: safe center; }
  .tale-case-chapter > * { width: 100%; }
  .tale-problem-grid,
  .tale-case-decisions .tale-decision-panel { grid-template-columns: minmax(0,1fr); }
  .tale-decision-copy { max-width: none; }
  .tale-question .tale-survey-quote { margin-bottom: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .tale-case-track { transition: none; }
}

/* Tale uses the corresponding Faya chapter compositions, not a separate system. */
.tale-case-track > .tale-case-opening { grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: clamp(44px,7vw,126px); padding-inline: clamp(28px,8vw,132px); }
.tale-case-opening .tale-detail-copy { width: min(350px,100%); max-width: 350px; justify-self: start; margin-left: clamp(24px,4vw,66px); }
.tale-detail-copy h2 { font-size: clamp(5rem,10vw,10.5rem); font-weight: 600; line-height: .75; letter-spacing: -.02em; }
.tale-detail-copy > p:not(.faya-eyebrow) { max-width: 350px; margin-top: 32px; font-size: clamp(1rem,1.35vw,1.2rem); line-height: 1.55; }
.tale-case-chapter[aria-labelledby="tale-context-title"] > .tale-context-layout { width: min(100%,1200px); margin-inline: auto; }
.tale-context-layout { display: grid; grid-template-columns: minmax(0,49.3fr) minmax(0,43.89fr); column-gap: clamp(24px,4vw,64px); align-items: center; }
.tale-context-visual { position: relative; min-width: 0; min-height: 0; left: clamp(12px,2vw,28px); }
.tale-context-visual .tale-context-image { display: block; width: 100%; height: auto; max-height: 72svh; object-fit: contain; }
.tale-context-visual--framed { width: min(100%,calc(72svh * 1080 / 996)); aspect-ratio: 1080 / 996; justify-self: center; overflow: hidden; }
.tale-context-visual--framed .tale-context-image { max-height: none; }
.tale-context-play { position: absolute; left: 50%; bottom: 16px; transform: translateX(-50%); border: 1px solid #ccc; border-radius: 6px; padding: 10px 18px; background: var(--bg); font: inherit; font-size: .875rem; cursor: pointer; }
.tale-context-play:focus-visible { outline: 2px solid var(--theme-muted,#8f8f8f); outline-offset: 4px; }
.tale-context-copy { min-width: 0; }
.ambient, .grain, .about-ambient, .about-grain, .faya-detail-ambient,
.project-glow, .board-ambient, .board-grid { display: none !important; }
.project--tale::before, .project--aquilo::before, .faya-demo::before,
.about-panel::before, .powers-panel::before { display: none !important; }
.about-panel { background: transparent; box-shadow: none; }
.tale-context-copy .tale-editorial-copy { max-width: none; font-size: clamp(1.176rem,1.32vw,1.296rem); line-height: 1.35; }
.tale-context-copy > .faya-eyebrow { margin-bottom: 12px; }
.tale-context-copy .tale-meta-grid { margin-top: 28px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.tale-context-copy .tale-meta-grid > div { min-height: 104px; }
.tale-context-copy .tale-detail-notes { margin-top: 22px; gap: 30px; }
.tale-problem > .faya-eyebrow,
.tale-problem > .tale-problem-grid { width: min(100%,38rem); }
.tale-problem-grid { display: block; }
.tale-problem .tale-editorial-copy { max-width: none; font-size: clamp(1.05rem,1.667vw,1.5rem); line-height: 1.2; }
.tale-problem .tale-editorial-copy p + p { margin-top: 16px; }
.tale-question h3 { max-width: none; margin: 16px 0 0; font-size: clamp(1.05rem,1.667vw,1.5rem); line-height: 1.2; font-weight: 600; letter-spacing: 0; }
.tale-case-decisions .tale-decision-panel { grid-template-columns: minmax(0,32fr) minmax(0,68fr); gap: 40px; align-items: start; }
.tale-case-decisions .tale-decision-copy { max-width: none; }
.tale-decision-tabs { gap: clamp(18px,4vw,56px); margin-bottom: 28px; }
.tale-decision-tabs button { min-height: 48px; padding: 12px 0; border-radius: 6px; }@media (hover:hover) and (pointer:fine) {
.tale-decision-tabs button:hover,
.tale-decision-tabs button[aria-selected="true"] { box-shadow: -10px 0 #eeece7,10px 0 #eeece7; }}
.tale-case-decisions em { font-style: normal; }
.tale-current-layout { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: clamp(40px,7vw,100px); }
.tale-current-copy .tale-editorial-copy { max-width: 34ch; font-size: clamp(1.15rem,1.8vw,1.65rem); line-height: 1.5; }
@media (min-width:1101px) and (min-height:761px) {
  .tale-context-copy .tale-editorial-copy { font-size: clamp(1.2rem,1.44vw,1.296rem); line-height: 1.2; }
}
@media (min-width:701px) and (max-height:760px) {
  .tale-context-copy .tale-meta-grid { margin-top: 18px; }
  .tale-context-copy .tale-meta-grid > div { min-height: 76px; padding-block: 12px; }
  .tale-context-copy .tale-detail-notes { margin-top: 16px; }
  .tale-context-copy .tale-editorial-copy p + p { margin-top: 16px; }
  .tale-current-copy .tale-editorial-copy { font-size: 1.15rem; }
}
@media (max-width:1000px) {
  .tale-case-decisions .tale-decision-panel { gap: 24px; }
}
@media (max-width:700px) {
  .tale-case-track > .tale-case-opening { grid-template-columns: minmax(0,1fr); gap: 24px; padding-inline: 24px; }
  .tale-case-opening .tale-detail-copy { margin-left: 0; justify-self: start; }
  .tale-detail-copy h2 { font-size: clamp(4.7rem,23vw,7rem); }
  .tale-context-layout { grid-template-columns: minmax(0,1fr); }
  .tale-context-visual { min-height: 0; left: 0; }
  .tale-context-copy .tale-meta-grid { grid-template-columns: minmax(0,1fr); }
  .tale-context-copy .tale-meta-grid > div { min-height: 0; padding-block: 21px; }
  .tale-problem .tale-editorial-copy,
  .tale-question h3 { font-size: 1.125rem; line-height: 1.45; }
  .tale-case-decisions .tale-decision-panel,
  .tale-current-layout { grid-template-columns: minmax(0,1fr); }
  .tale-decision-tabs { gap: 14px; }
  .tale-decision-tabs button { padding: 12px 0; box-shadow: none; }
  .tale-current-copy .tale-editorial-copy { font-size: 1.125rem; }
}
