/* Address Validation finishing pass. The source narrative remains intact. */

.address-case {
  --canvas: #f6f2e8;
  --canvas-bright: #fffdf7;
  --canvas-deep: #e8e4d9;
  --ink: #101310;
  --ink-soft: #292e28;
  --body: #3f453e;
  --muted: #676d65;
  --line: #cac6ba;
  --line-soft: #dedacf;
  --signal: #3f50f0;
  --signal-dark: #2939c9;
  --signal-light: #9aa8ff;
  color: var(--ink);
  background: var(--canvas);
  font-family: Manrope, Arial, sans-serif;
  font-size: clamp(1.08rem, 1.02rem + .2vw, 1.23rem);
  line-height: 1.65;
}

.address-case *,
.address-case *::before,
.address-case *::after {
  font-family: Manrope, Arial, sans-serif;
}

.address-case::before { display: none; }

.address-case h1,
.address-case h2,
.address-case h3,
.address-case h4 {
  color: var(--ink);
  font-weight: 800;
  letter-spacing: -.055em;
}

.address-case p,
.address-case li,
.address-case dd,
.address-case figcaption {
  color: var(--body);
}

/* The exact homepage navigation silhouette, with case-study links. */
.address-case .case-global-nav {
  position: fixed;
  top: 18px;
  left: 50%;
  z-index: 300;
  display: block;
  width: min(calc(100% - 36px), 980px);
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 29px;
  background: rgba(17, 20, 16, .74);
  box-shadow: 0 20px 60px rgba(17, 20, 16, .16), inset 0 1px 0 rgba(255, 255, 255, .12);
  transform: translateX(-50%);
  transition: background 280ms ease, box-shadow 280ms ease;
  -webkit-backdrop-filter: blur(28px) saturate(145%);
  backdrop-filter: blur(28px) saturate(145%);
}

.address-case .case-global-nav.is-scrolled {
  background: rgba(17, 20, 16, .88);
  box-shadow: 0 16px 44px rgba(17, 20, 16, .22), inset 0 1px 0 rgba(255, 255, 255, .1);
}

.address-case .case-global-nav .nav {
  display: flex;
  width: 100%;
  height: 64px;
  padding: 8px 10px 8px 14px;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.address-case .brand {
  display: inline-flex;
  min-width: max-content;
  align-items: center;
  gap: 12px;
  color: #fff;
  font-size: 1rem;
  font-weight: 750;
  letter-spacing: -.025em;
}

.address-case .brand img {
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 13px;
}

.address-case .links {
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.5vw, 22px);
}

.address-case .links a {
  display: inline-flex;
  min-height: 44px;
  padding: 0 4px;
  align-items: center;
  color: rgba(255, 255, 255, .74);
  font-size: .92rem;
  font-weight: 600;
  transition: color 160ms ease, font-weight 160ms ease;
}

.address-case .links a::after { display: none; }

.address-case .links a:hover,
.address-case .links a:focus-visible {
  color: #fff;
  font-weight: 750;
}

.address-case .links .cta {
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid var(--signal);
  border-radius: 19px;
  background: var(--signal);
  color: #fff;
}

.address-case .links .cta:hover,
.address-case .links .cta:focus-visible {
  border-color: #fff;
  background: #fff;
  color: var(--ink);
}

.address-case .menu { display: none; position: relative; }
.address-case .menu summary { list-style: none; }
.address-case .menu summary::-webkit-details-marker { display: none; }

.address-case .menu > summary {
  display: inline-flex;
  min-width: 88px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 18px;
  color: #fff;
  font-size: .92rem;
  font-weight: 700;
}

.address-case .menu-panel {
  position: absolute;
  top: calc(100% + 15px);
  right: 0;
  display: grid;
  width: min(276px, calc(100vw - 28px));
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 22px;
  background: rgba(17, 20, 16, .96);
  box-shadow: 0 24px 60px rgba(17, 20, 16, .28);
  -webkit-backdrop-filter: blur(28px);
  backdrop-filter: blur(28px);
}

.address-case .menu-panel a {
  display: flex;
  min-height: 48px;
  padding: 0 14px;
  align-items: center;
  border-radius: 14px;
  color: rgba(255, 255, 255, .82);
  font-size: 1rem;
  font-weight: 650;
}

.address-case .menu-panel a:hover,
.address-case .menu-panel a:focus-visible {
  background: var(--signal);
  color: #fff;
}

/* Hero typography and system summary. */
.address-case .hero {
  padding-top: clamp(10rem, 14vw, 13rem);
}

.address-case .hero h1 {
  max-width: 1150px;
  color: var(--ink);
  font-size: clamp(4.5rem, 9vw, 9rem);
  font-weight: 800;
  line-height: .91;
  letter-spacing: -.08em;
}

.address-case .hero-lede {
  max-width: 940px;
  margin-top: clamp(2rem, 4vw, 3.2rem);
  color: #30352f;
  font-size: clamp(1.45rem, 2.25vw, 2rem);
  font-weight: 500;
  line-height: 1.48;
  letter-spacing: -.025em;
}

.address-case .hero-system {
  grid-template-columns: minmax(0, 1fr) minmax(180px, .32fr) minmax(0, 1fr);
  margin-top: clamp(4rem, 7vw, 6.5rem);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: var(--canvas-bright);
  box-shadow: 0 28px 70px rgba(17, 20, 16, .08);
}

.address-case .system-card {
  min-height: 350px;
  padding: clamp(2rem, 4vw, 4rem);
  gap: 28px;
  color: var(--ink);
  background: var(--canvas-bright);
}

.address-case .sender-card,
.address-case .recipient-card { background: var(--canvas-bright); }

.address-case .system-card > span {
  color: var(--signal-dark);
  font-size: clamp(1rem, .94rem + .2vw, 1.15rem);
  font-weight: 750;
  letter-spacing: -.015em;
  text-transform: none;
}

.address-case .system-card strong {
  max-width: 11ch;
  color: var(--ink);
  font-size: clamp(2.55rem, 4.4vw, 4.5rem);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -.065em;
}

.address-case .system-card p {
  max-width: 34ch;
  color: var(--body);
  font-size: clamp(1.08rem, 1rem + .22vw, 1.25rem);
  line-height: 1.55;
}

.address-case .system-connector {
  padding: 2rem 1.5rem;
  gap: 20px;
  background: var(--signal);
  color: #fff;
}

.address-case .system-connector span {
  color: #fff;
  font-size: clamp(1rem, .94rem + .2vw, 1.15rem);
  font-weight: 750;
  letter-spacing: -.015em;
  text-transform: none;
}

.address-case .system-connector svg { width: 38px; height: 38px; }

/* Project facts and authorship boundary. */
.address-case .project-facts {
  gap: 14px;
  margin-top: clamp(3rem, 6vw, 5rem);
  border: 0;
}

.address-case .project-facts div,
.address-case .project-facts div + div {
  min-height: 210px;
  padding: clamp(1.5rem, 3vw, 2.4rem);
  border: 1px solid var(--line-soft);
  border-radius: 20px;
  background: var(--canvas-bright);
}

.address-case .project-facts dt {
  color: var(--signal-dark);
  font-size: 1rem;
  font-weight: 750;
  letter-spacing: -.01em;
  text-transform: none;
}

.address-case .project-facts dd {
  margin-top: 1rem;
  color: var(--ink-soft);
  font-size: clamp(1.08rem, 1rem + .18vw, 1.22rem);
  font-weight: 600;
  line-height: 1.55;
}

.address-case .scope-note {
  display: grid;
  grid-template-columns: minmax(190px, .28fr) minmax(0, 1fr);
  max-width: none;
  margin: 18px 0 0;
  padding: clamp(1.75rem, 3.5vw, 3rem);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: start;
  border: 0;
  border-radius: 22px;
  background: #e4e7ff;
}

.address-case .scope-note::before {
  content: "Scope of my work";
  color: var(--signal-dark);
  font-size: clamp(1.2rem, 1.05rem + .4vw, 1.5rem);
  font-weight: 800;
  letter-spacing: -.035em;
  text-transform: none;
}

.address-case .scope-note p {
  color: #252b25;
  font-size: clamp(1.08rem, 1rem + .22vw, 1.25rem);
  line-height: 1.62;
}

.address-case .scope-note strong { color: var(--ink); }

/* System-level hero evidence instead of one screen comparison. */
.address-case .hero-visual {
  margin-top: clamp(4rem, 8vw, 7rem);
}

.address-case .hero-system-evidence { margin-top: 0; }

.address-case .hero-evidence-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(230px, .45fr) minmax(230px, .45fr);
  gap: clamp(.75rem, 1.5vw, 1.25rem);
  padding: clamp(1rem, 2vw, 1.6rem);
  align-items: stretch;
  background: var(--ink);
  border: 0;
  border-radius: 26px;
  box-shadow: 0 28px 80px rgba(17, 20, 16, .13);
}

.address-case .hero-evidence-main,
.address-case .hero-evidence-detail {
  min-width: 0;
  overflow: hidden;
  border-radius: 16px;
  background: #fff;
}

.address-case .hero-evidence-main img {
  width: 100%;
  height: 100%;
  min-height: 620px;
  object-fit: contain;
  object-position: center;
}

.address-case .hero-evidence-detail img {
  width: 100%;
  height: 100%;
  min-height: 620px;
  object-fit: cover;
  object-position: top center;
}

.address-case .hero-system-evidence figcaption {
  width: 100%;
  max-width: none;
  margin-top: 1.5rem;
  color: var(--ink-soft);
  font-size: clamp(1.2rem, 1.06rem + .45vw, 1.55rem);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: -.025em;
}

/* Side rail keeps the uploaded structure but uses readable type. */
.address-case .section-nav > p {
  color: var(--ink);
  font-size: 1rem;
  font-weight: 800;
}

.address-case .section-nav a {
  min-height: 44px;
  color: var(--muted);
  font-size: 1.02rem;
  font-weight: 550;
}

.address-case .section-nav a span {
  color: #999e96;
  font-size: .92rem;
  font-weight: 700;
}

.address-case .section-nav a[aria-current="location"],
.address-case .section-nav a:hover {
  color: var(--signal-dark);
  font-weight: 800;
}

/* Section typography. Red and orange are removed from the system. */
.address-case .section-intro { max-width: 1040px; }
.address-case .section-intro::before,
.address-case .legacy-content::before { display: none; }

.address-case .section-intro h2,
.address-case .legacy-content h2 {
  color: var(--ink);
  font-size: clamp(3.4rem, 6.4vw, 6.8rem);
  font-weight: 800;
  line-height: .98;
  letter-spacing: -.07em;
}

.address-case .section-intro > p {
  max-width: 840px;
  margin-top: 2rem;
  color: var(--body);
  font-size: clamp(1.25rem, 1.1rem + .5vw, 1.62rem);
  line-height: 1.58;
  letter-spacing: -.02em;
}

.address-case .dark-chapter .section-intro h2,
.address-case .dark-chapter h3,
.address-case .legacy-section h2,
.address-case .legacy-section h3 { color: var(--white); }

.address-case .dark-chapter .section-intro > p,
.address-case .dark-chapter p,
.address-case .legacy-section p { color: #c7ccc5; }

.address-case .dark-chapter .section-heading > span,
.address-case .principal-lesson > span,
.address-case .progression span,
.address-case .map-column h3,
.address-case .validation-flow > svg,
.address-case .flow-stage span,
.address-case .adjacent-system span,
.address-case .source-list a:hover { color: var(--signal-light); }

.address-case .validation-section {
  background: var(--canvas);
}

/* Timeline. */
.address-case .progression {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: clamp(3rem, 6vw, 5rem);
  padding-top: 44px;
  border: 0;
}

.address-case .progression::before {
  position: absolute;
  top: 13px;
  right: 0;
  left: 0;
  height: 2px;
  background: rgba(154, 168, 255, .4);
  content: "";
}

.address-case .progression div,
.address-case .progression div + div {
  position: relative;
  min-height: 245px;
  padding: 0 clamp(1rem, 2.2vw, 2.2rem) 0 0;
  border: 0;
}

.address-case .progression div::before {
  position: absolute;
  top: -41px;
  left: 0;
  width: 24px;
  height: 24px;
  border: 5px solid var(--ink);
  border-radius: 50%;
  background: var(--signal-light);
  box-shadow: 0 0 0 2px var(--signal-light);
  content: "";
}

.address-case .progression span {
  color: var(--signal-light);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -.01em;
  text-transform: none;
}

.address-case .progression p {
  margin-top: 1rem;
  color: #c7ccc5;
  font-size: clamp(1.05rem, 1rem + .16vw, 1.18rem);
  line-height: 1.6;
}

/* Three-part system map with one professional colour treatment. */
.address-case .system-map {
  gap: 14px;
  margin-top: clamp(3rem, 6vw, 5rem);
  overflow: visible;
  border: 0;
}

.address-case .map-column,
.address-case .map-column + .map-column,
.address-case .rule-side,
.address-case .recipient-side {
  position: relative;
  min-height: 360px;
  padding: clamp(1.75rem, 3vw, 2.7rem);
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 20px;
  background: #1a1e19;
  color: var(--white);
}

.address-case .map-column:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: -22px;
  z-index: 2;
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: var(--signal);
  color: #fff;
  content: "→";
  font-size: 1rem;
  font-weight: 800;
  transform: translateY(-50%);
}

.address-case .map-column h3 {
  min-height: 0;
  margin-bottom: 2rem;
  color: var(--white);
  font-size: clamp(1.35rem, 1.1rem + .7vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -.035em;
  text-transform: none;
}

.address-case .map-column p,
.address-case .rule-side p,
.address-case .recipient-side p {
  padding: 1rem 0;
  border-color: rgba(255, 255, 255, .13);
  color: #c7ccc5;
  font-size: clamp(1.03rem, .98rem + .14vw, 1.15rem);
  line-height: 1.55;
}

/* Use cases with meaningful line icons instead of tiny labels. */
.address-case .validation-cases { gap: 18px; }

.address-case .validation-cases article {
  min-height: 390px;
  padding: clamp(2rem, 3.3vw, 3rem);
  border-color: var(--line-soft);
  border-radius: 24px;
  background: var(--canvas-bright);
  box-shadow: 0 14px 40px rgba(17, 20, 16, .045);
}

.address-case .use-case-icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 17px;
  background: #e4e7ff;
  color: var(--signal-dark);
}

.address-case .use-case-icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.address-case .validation-cases h3 {
  margin-top: 2rem;
  color: var(--ink);
  font-size: clamp(2rem, 1.55rem + 1.2vw, 3rem);
  font-weight: 800;
  line-height: 1.08;
}

.address-case .validation-cases p {
  margin-top: 1.5rem;
  color: var(--body);
  font-size: clamp(1.08rem, 1rem + .2vw, 1.22rem);
  line-height: 1.62;
}

/* Other compact labels become readable supporting text. */
.address-case .validation-overview span,
.address-case .tradeoff-panel span,
.address-case .flow-stage span,
.address-case .shipped-matrix span,
.address-case .adjacent-system span,
.address-case .principal-lesson > span {
  color: var(--signal-dark);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -.01em;
  text-transform: none;
}

.address-case .dark-chapter .principal-lesson > span,
.address-case .dark-chapter .adjacent-system span { color: var(--signal-light); }

.address-case .validation-overview h3,
.address-case .tradeoff-panel h3 {
  color: var(--ink);
  font-weight: 800;
}

.address-case .validation-overview p,
.address-case .tradeoff-panel p,
.address-case .flow-stage strong,
.address-case .flow-outcomes p {
  font-size: clamp(1.04rem, .99rem + .15vw, 1.16rem);
}

.address-case .validation-flow > svg { color: var(--signal-light); }

.address-case .flow-stage,
.address-case .flow-outcomes { border-color: rgba(255, 255, 255, .15); }
.address-case .flow-stage.critical { background: var(--signal); border-color: var(--signal); }
.address-case .flow-stage.critical span { color: #fff; }

/* Decision sections: headline first, then a balanced rationale and cost row. */
.address-case .decision-block {
  padding: clamp(4.5rem, 8vw, 7rem) 0;
}

.address-case .decision-copy {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: stretch;
}

.address-case .decision-copy h3 {
  grid-column: 1 / -1;
  max-width: 17ch;
  color: var(--ink);
  font-size: clamp(3.2rem, 6vw, 6rem);
  font-weight: 800;
  line-height: .98;
  letter-spacing: -.07em;
}

.address-case .decision-copy > p:not(.cost-sentence),
.address-case .decision-copy .cost-sentence {
  margin-top: clamp(1rem, 2vw, 2rem);
  padding: clamp(1.75rem, 3vw, 2.7rem);
  border: 1px solid var(--line-soft);
  border-radius: 22px;
  background: var(--canvas-bright);
  color: var(--body);
  font-size: clamp(1.12rem, 1.02rem + .25vw, 1.3rem);
  line-height: 1.62;
}

.address-case .decision-copy .cost-sentence {
  grid-column: 2;
  background: #e4e7ff;
  border-color: transparent;
}

.address-case .cost-sentence strong {
  display: block;
  margin-bottom: .8rem;
  color: var(--signal-dark);
  font-size: clamp(1.2rem, 1.06rem + .35vw, 1.45rem);
  font-weight: 800;
  letter-spacing: -.025em;
  text-transform: none;
}

/* A consistent reading size and colour system across the remaining evidence. */
.address-case figcaption {
  max-width: none;
  color: #555b54;
  font-size: clamp(1.02rem, .97rem + .15vw, 1.15rem);
  line-height: 1.55;
}

.address-case .dark-chapter figcaption,
.address-case .legacy-section figcaption { color: #c7ccc5; }

.address-case .artifact-frame {
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(17, 20, 16, .08);
}

.address-case .artifact-frame img { border-radius: 15px; }

.address-case .chapter {
  padding-top: clamp(6rem, 10vw, 9rem);
  padding-bottom: clamp(6rem, 10vw, 9rem);
}

.address-case .next-case { background: var(--signal); }
.address-case .next-case h2,
.address-case .next-case p,
.address-case .next-case a { color: #fff; }

.address-case .shipped-matrix span,
.address-case .artifact-metrics span,
.address-case .decision-main > span,
.address-case .research-sequence > span,
.address-case .risk-list article > span {
  color: var(--signal-dark);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -.01em;
  text-transform: none;
}

.address-case .shipped-matrix p,
.address-case .production-framework p,
.address-case .artifact-metrics > p,
.address-case .decision-tradeoff p,
.address-case .research-strengths li,
.address-case .research-sequence p,
.address-case .risk-list p,
.address-case .revised-plan p,
.address-case .reflection-grid li,
.address-case .final-boundary p,
.address-case .annotation-key li,
.address-case .alignment-decision p,
.address-case .reflection-columns li,
.address-case .revised-study p,
.address-case .adjacent-system li,
.address-case .adjacent-system .adjacent-note,
.address-case .evidence-boundary p,
.address-case .source-list a,
.address-case footer p,
.address-case .footer-links a {
  font-size: clamp(1.02rem, .98rem + .12vw, 1.13rem);
  line-height: 1.6;
}

.address-case .production-framework strong,
.address-case .revised-plan strong,
.address-case .research-sequence strong {
  font-size: clamp(1.08rem, 1rem + .2vw, 1.22rem);
}

.address-case .legacy-content cite {
  color: var(--signal-light);
  font-size: 1rem;
  font-weight: 700;
}

.address-case .artifact-metrics > div {
  display: flex;
  min-height: 260px;
  padding: clamp(1.5rem, 3vw, 2.4rem);
  flex-direction: column;
  border: 1px solid #3a4038;
  border-radius: 18px;
}

.address-case .artifact-metrics .platform-evidence {
  background: rgba(255, 253, 247, .035);
}

.address-case .artifact-metrics .design-evidence {
  color: var(--ink);
  background: var(--canvas-bright);
  border-color: var(--canvas-bright);
}

.address-case .artifact-metrics small {
  display: block;
  margin-top: auto;
  padding-top: 1.5rem;
  color: #b8beb6;
  font-size: .92rem;
  font-weight: 650;
  line-height: 1.5;
}

.address-case .artifact-metrics .design-evidence small {
  color: #555b54;
}

/* Preserve readable contrast inside dark decision and evidence cards. */
.address-case .alignment-decision h3,
.address-case .revised-study h3,
.address-case .adjacent-system h3 {
  color: var(--white) !important;
}

.address-case .alignment-decision p,
.address-case .revised-study p,
.address-case .adjacent-system > p,
.address-case .adjacent-system li,
.address-case .adjacent-system .adjacent-note {
  color: #cbd0c9 !important;
}

.address-case .shipped-matrix > div:nth-child(even) strong {
  color: var(--ink) !important;
}

.address-case .shipped-matrix > div:nth-child(even) p {
  color: #3f453e !important;
}

.address-case .adjacent-system span,
.address-case .shipped-matrix > div:nth-child(odd) span {
  color: var(--signal-light) !important;
}

.address-case .footer-brand {
  color: var(--ink);
}

.address-case .footer-brand img {
  border-color: rgba(17, 20, 16, .12);
}

@media (max-width: 1180px) {
  .address-case .hero-evidence-grid {
    grid-template-columns: minmax(0, 1.45fr) minmax(220px, .55fr);
  }

  .address-case .hero-evidence-detail:last-child { display: none; }
}

@media (max-width: 1050px) {
  .address-case .project-facts { grid-template-columns: 1fr 1fr; }
  .address-case .project-facts div:nth-child(3),
  .address-case .project-facts div:nth-child(4) {
    padding: clamp(1.5rem, 3vw, 2.4rem);
    border: 1px solid var(--line-soft);
  }
}

@media (max-width: 900px) {
  .address-case .links { display: none; }
  .address-case .menu { display: block; }

  .address-case .hero-system,
  .address-case .system-map,
  .address-case .decision-copy { grid-template-columns: 1fr; }

  .address-case .system-connector {
    min-height: 150px;
  }

  .address-case .system-connector svg { transform: rotate(90deg); }

  .address-case .map-column:not(:last-child)::after {
    top: auto;
    right: 50%;
    bottom: -23px;
    transform: translateX(50%) rotate(90deg);
  }

  .address-case .decision-copy .cost-sentence { grid-column: 1; }

  .address-case .progression {
    grid-template-columns: 1fr 1fr;
    gap: 42px 24px;
    padding-top: 0;
  }

  .address-case .progression::before { display: none; }
  .address-case .progression div,
  .address-case .progression div + div {
    min-height: 0;
    padding: 0 0 0 34px;
  }

  .address-case .progression div::before {
    top: 3px;
    left: 0;
    width: 18px;
    height: 18px;
    border-width: 4px;
  }

  .address-case .scope-note { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .address-case { font-size: 1.04rem; }

  .address-case .case-global-nav {
    top: 10px;
    width: calc(100% - 20px);
    border-radius: 24px;
  }

  .address-case .case-global-nav .nav {
    height: 58px;
    padding: 7px 8px 7px 10px;
  }

  .address-case .brand img {
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }

  .address-case .brand span { display: none; }

  .address-case .hero { padding-top: 8.5rem; }
  .address-case .hero h1 { font-size: clamp(3.4rem, 16vw, 5.6rem); }

  .address-case .hero-system { border-radius: 22px; }
  .address-case .system-card { min-height: 290px; }

  .address-case .project-facts { grid-template-columns: 1fr; }
  .address-case .project-facts div,
  .address-case .project-facts div + div,
  .address-case .project-facts div:nth-child(3),
  .address-case .project-facts div:nth-child(4) {
    min-height: 0;
    padding: 1.5rem;
  }

  .address-case .hero-evidence-grid { grid-template-columns: 1fr; }
  .address-case .hero-evidence-main img { min-height: 390px; }
  .address-case .hero-evidence-detail { display: none; }

  .address-case .section-intro h2,
  .address-case .legacy-content h2 { font-size: clamp(3rem, 13vw, 4.6rem); }

  .address-case .progression { grid-template-columns: 1fr; }
  .address-case .validation-cases article { min-height: 0; }
  .address-case .decision-copy h3 { font-size: clamp(2.8rem, 13vw, 4.4rem); }
}

@media (prefers-reduced-motion: reduce) {
  .address-case .case-global-nav { transition: none; }
}
