.work-page { overflow-x: hidden; background: var(--paper); }
.work-page .primary-nav .active { color: var(--purple); border-bottom-color: var(--purple); }
.work-hero { position: relative; min-height: 780px; overflow: hidden; color: var(--white); background: var(--ink); }
.hero-title { position: relative; z-index: 2; width: min(66%, 900px); padding: clamp(4rem, 7vw, 7rem) 0 12rem max(3rem, calc((100vw - 1240px) / 2)); }
.hero-title .eyebrow { color: var(--lime); }
.hero-title h1 { margin: 0; font: 800 clamp(6.8rem, 14vw, 14rem)/.69 "Barlow Semi Condensed", Impact, sans-serif; letter-spacing: -.065em; text-transform: uppercase; }
.hero-title h1 span { display: block; }
.hero-title h1 span:nth-child(2) { padding-left: 18%; color: var(--lime); }
.hero-title h1 span:nth-child(3) { padding-left: 42%; }
.hero-message { position: absolute; z-index: 3; top: clamp(5rem, 10vw, 9rem); right: max(3rem, calc((100vw - 1240px) / 2)); width: min(31vw, 390px); padding: 2rem 0 0; border-top: 3px solid var(--orange); }
.hero-message p { margin: 0; }
.hero-message .hero-count, .hero-message .hero-direction { font: 800 clamp(2rem, 3.2vw, 3.4rem)/.95 "Barlow Semi Condensed", sans-serif; text-transform: uppercase; }
.hero-message .hero-direction { margin-bottom: 1.6rem; color: var(--orange); }
.hero-message > p:last-child { color: rgba(255,255,255,.76); font-size: 1.08rem; }
.hero-goals { position: absolute; z-index: 4; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.28); }
.hero-goal { --goal: var(--purple); display: grid; grid-template-columns: 1fr auto; gap: 1.2rem; align-items: end; min-height: 150px; padding: 2rem clamp(1.2rem, 3vw, 3rem); color: var(--white); border-right: 1px solid rgba(255,255,255,.28); text-decoration: none; transition: background 220ms ease, color 220ms ease; }
.hero-goal:last-child { border-right: 0; }
.hero-goal.goal-two { --goal: var(--orange); }
.hero-goal.goal-three { --goal: var(--teal-bright); }
.hero-goal:hover, .hero-goal:focus-visible { color: var(--ink); background: var(--goal); }
.hero-goal strong { font: 800 clamp(1.6rem, 2.8vw, 2.8rem)/.93 "Barlow Semi Condensed", sans-serif; text-transform: uppercase; }
.hero-goal b { color: var(--lime); font-size: 1.5rem; }
.hero-rings { position: absolute; top: 8%; left: 45%; width: min(43vw, 570px); aspect-ratio: 1; opacity: .17; }
.hero-rings i { position: absolute; inset: 0; border: 2px solid var(--lime); border-radius: 50%; }
.hero-rings i:nth-child(2) { inset: 16%; }
.hero-rings i:nth-child(3) { inset: 32%; background: rgba(224,227,32,.35); }

.interconnected { display: grid; grid-template-columns: .95fr 1.05fr; gap: 5rem; padding: clamp(7rem, 11vw, 11rem) max(3rem, calc((100vw - 1240px) / 2)) 8rem; background: var(--paper); }
.connected-intro .eyebrow { color: var(--purple); }
.connected-intro h2, .goal-main h2, .covenants h2, .path-callout h2, .work-close h2 { margin: 0; font: 800 clamp(4rem, 7vw, 7.2rem)/.86 "Barlow Semi Condensed", Impact, sans-serif; letter-spacing: -.045em; text-transform: uppercase; }
.connected-intro h2 em, .covenants h2 em, .path-callout h2 em, .work-close h2 em { color: var(--purple); font-style: normal; }
.connected-copy { align-self: end; max-width: 540px; padding-bottom: .7rem; }
.connected-copy p { color: #536a70; }
.connected-copy .lead { color: var(--ink); font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 700; line-height: 1.38; }
.goals { background: var(--white); }
.goal-panel { --accent: var(--purple); display: grid; grid-template-columns: 120px minmax(0, 1.35fr) minmax(260px, .65fr); gap: clamp(2rem, 6vw, 6rem); min-height: 650px; padding: clamp(6rem, 10vw, 10rem) max(3rem, calc((100vw - 1240px) / 2)); border-bottom: 1px solid rgba(23,47,55,.2); }
.goal-panel.systems { --accent: var(--orange); color: var(--white); background: var(--ink); }
.goal-panel.power { --accent: var(--teal-bright); }
.goal-index { display: flex; align-items: center; flex-direction: column; }
.goal-index i { width: 5px; height: 100%; background: var(--accent); border-radius: 999px; }
.goal-main .eyebrow { color: var(--accent); }
.goal-main h2 { max-width: 720px; font-size: clamp(4.7rem, 8.8vw, 9rem); }
.goal-main > p:not(.eyebrow) { max-width: 650px; margin: 2rem 0; color: #526a70; font-size: 1.16rem; }
.systems .goal-main > p:not(.eyebrow) { color: rgba(255,255,255,.76); }
.goal-main a, .path-copy a { display: inline-flex; gap: .8rem; align-items: center; padding-bottom: .35rem; border-bottom: 3px solid var(--accent); font-weight: 800; text-decoration: none; }
.goal-main a span, .path-copy a span { color: var(--accent); }
.goal-shift { align-self: end; padding: 2rem 0 0; border-top: 3px solid var(--accent); }
.goal-shift > p { margin: 0 0 1.2rem; color: var(--accent); font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.goal-shift ul { margin: 0; padding: 0; list-style: none; }
.goal-shift li { padding: .75rem 0; border-bottom: 1px solid rgba(23,47,55,.18); font: 700 1.12rem/1.2 "Barlow Semi Condensed", sans-serif; text-transform: uppercase; }
.systems .goal-shift li { border-color: rgba(255,255,255,.18); }

.covenants { padding: clamp(7rem, 11vw, 11rem) max(3rem, calc((100vw - 1240px) / 2)); background: #eceee7; }
.covenants-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: 4rem; align-items: end; margin-bottom: 5rem; }
.covenants-heading .eyebrow { grid-column: 1 / -1; color: var(--teal-bright); }
.covenants-heading > p:last-child { max-width: 470px; margin: 0 0 .6rem; color: #536a70; }
.covenant-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.covenant { position: relative; display: flex; min-height: 430px; padding: 2.2rem; border: 1px solid rgba(23,47,55,.22); border-right: 0; text-decoration: none; flex-direction: column; transition: color 220ms ease, background 220ms ease, transform 220ms ease; }
.covenant:last-child { border-right: 1px solid rgba(23,47,55,.22); }
.covenant:hover, .covenant:focus-visible { z-index: 2; color: var(--white); background: var(--teal-bright); transform: translateY(-8px); }
.covenant h3 { margin: 4.5rem 0 1.4rem; font: 800 clamp(2.2rem, 3.4vw, 3.5rem)/.94 "Barlow Semi Condensed", sans-serif; text-transform: uppercase; }
.covenant p { margin: 0; color: #536a70; }
.covenant:hover p, .covenant:focus-visible p { color: rgba(255,255,255,.8); }
.covenant b { position: absolute; top: 2rem; right: 2rem; color: var(--orange); font-size: 1.6rem; }

.path-callout { position: relative; min-height: 650px; overflow: hidden; color: var(--white); background: var(--purple); }
.path-copy { position: relative; z-index: 2; width: min(760px, 68%); padding: clamp(7rem, 11vw, 11rem) 0 clamp(7rem, 11vw, 11rem) max(3rem, calc((100vw - 1240px) / 2)); }
.path-copy .eyebrow { color: var(--lime); }
.path-callout h2 em { color: var(--lime); }
.path-copy > p:not(.eyebrow) { max-width: 600px; margin: 2rem 0; color: rgba(255,255,255,.8); font-size: 1.15rem; }
.path-copy a { --accent: var(--lime); }
.path-lines { position: absolute; right: -5%; top: -12%; width: 46%; height: 125%; transform: rotate(10deg); }
.path-lines span { position: absolute; top: 0; bottom: 0; width: 34%; border: 4px solid var(--lime); border-top: 0; border-bottom: 0; border-radius: 50%; }
.path-lines span:first-child { left: 8%; }
.path-lines span:last-child { right: 8%; border-color: var(--orange); }

.work-close { display: grid; grid-template-columns: 1fr auto; gap: 4rem; align-items: end; padding: clamp(7rem, 10vw, 10rem) max(3rem, calc((100vw - 1240px) / 2)); color: var(--ink); background: var(--lime); }
.work-close .eyebrow { color: var(--purple); }
.work-close h2 em { color: var(--purple); }
.close-action { display: inline-flex; gap: 1.6rem; align-items: center; padding: 1rem 1.4rem; color: var(--white); background: var(--ink); border-radius: 999px; font-weight: 800; text-decoration: none; text-transform: uppercase; transition: background 180ms ease, transform 180ms ease; }
.close-action:hover, .close-action:focus-visible { background: var(--purple); transform: translateY(-3px); }
.reveal { opacity: 0; transform: translateY(30px); transition: opacity 650ms ease, transform 650ms ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 980px) {
  .work-hero { min-height: 850px; }
  .hero-title { width: 72%; }
  .hero-message { width: 34vw; }
  .hero-goal { grid-template-columns: 1fr auto; }
  .goal-panel { grid-template-columns: 70px 1fr; }
  .goal-shift { grid-column: 2; }
  .covenants-heading { grid-template-columns: 1fr; gap: 2rem; }
  .covenants-heading .eyebrow { grid-column: auto; }
}
@media (max-width: 720px) {
  .work-hero { min-height: 930px; }
  .hero-title { width: 100%; padding: 3.5rem 1.25rem 0; }
  .hero-title h1 { font-size: clamp(5.8rem, 28vw, 9rem); }
  .hero-title h1 span:nth-child(2) { padding-left: 14%; }
  .hero-title h1 span:nth-child(3) { padding-left: 31%; }
  .hero-message { position: relative; top: auto; right: auto; width: auto; margin: 3rem 1.25rem 0; padding-top: 1.3rem; }
  .hero-message .hero-count, .hero-message .hero-direction { font-size: 2rem; }
  .hero-message > p:last-child { font-size: 1rem; }
  .hero-rings { top: 6%; left: 45%; width: 75vw; }
  .hero-goals { grid-template-columns: 1fr; }
  .hero-goal { min-height: 92px; padding: 1rem 1.25rem; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.26); }
  .hero-goal:last-child { border-bottom: 0; }
  .hero-goal strong { font-size: 1.6rem; }
  .interconnected { grid-template-columns: 1fr; gap: 2rem; padding: 6rem 1.25rem; }
  .goal-panel { grid-template-columns: 42px 1fr; gap: 1.2rem; min-height: 0; padding: 6rem 1.25rem; }
  .goal-main h2 { font-size: clamp(3.8rem, 17vw, 5.6rem); }
  .goal-shift { grid-column: 1 / -1; margin-left: 42px; }
  .covenants { padding: 6rem 1.25rem; }
  .covenant-grid { grid-template-columns: 1fr; }
  .covenant { min-height: 310px; border-right: 1px solid rgba(23,47,55,.22); border-bottom: 0; }
  .covenant:last-child { border-bottom: 1px solid rgba(23,47,55,.22); }
  .path-copy { width: 100%; padding: 6rem 1.25rem; }
  .path-lines { right: -30%; width: 80%; opacity: .22; }
  .work-close { grid-template-columns: 1fr; gap: 3rem; padding: 6rem 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; }
}
