/* Our story: journey timeline, purpose, mission, vision and goals, values, founder, clients. */
.story-page { background: var(--bone); }
.story-page .eyebrow { margin-bottom: .8rem; color: var(--ink2); font-size: .74rem; letter-spacing: .2em; }
.story-page h2 { margin: 0; font-size: clamp(2rem,3.8vw,3.3rem); line-height: 1.06; letter-spacing: -.04em; }
.story-page section[id] { scroll-margin-top: 90px; }
.story-section { padding: clamp(3.5rem,8vw,6.5rem) 0; }
.story-head { max-width: 46rem; margin-bottom: clamp(2rem,4vw,3rem); }
.story-lead { max-width: 40rem; margin: 1.1rem 0 0; color: var(--muted); font-size: 1.08rem; }

/* Masthead intro + jump links (colours follow the masthead theme) */
.story-intro { display: grid; grid-template-columns: minmax(0,1fr) 15rem; align-items: end; gap: 3rem; }
.story-intro .lead { max-width: 44rem; }
.story-jump { display: flex; flex-direction: column; border-top: 1px solid var(--mh-line,rgba(255,255,255,.2)); }
.story-jump a {
  display: flex; justify-content: space-between; padding: .7rem 0; border-bottom: 1px solid var(--mh-line,rgba(255,255,255,.2));
  color: var(--mh-fg,#fff); font-size: .92rem; font-weight: 600; text-decoration: none;
}
.story-jump a::after { content: "↓"; color: var(--mh-accent,#d4f25c); }
.story-jump a:hover { color: var(--mh-accent,#d4f25c); }

/* Journey */
.story-timeline { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.story-timeline li { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.story-timeline img { width: 100%; height: 190px; object-fit: cover; }
.story-timeline li > div { padding: 1.4rem 1.5rem 1.6rem; }
.story-date { display: inline-block; margin-bottom: .6rem; padding: .25rem .65rem; border-radius: 999px; color: var(--ink); background: var(--gold); font-size: .75rem; font-weight: 700; letter-spacing: .04em; }
.story-mark {
  display: flex; flex-direction: column; justify-content: flex-end; gap: .35rem; height: 190px; padding: 1.4rem 1.5rem;
  color: var(--ink); background: var(--mist);
}
.story-mark span { font-family: Archivo,Inter,sans-serif; font-size: clamp(2rem,3.4vw,2.7rem); font-weight: 800; line-height: .95; letter-spacing: -.045em; overflow-wrap: anywhere; }
.story-mark small { font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; opacity: .75; }
.story-mark.is-teal { color: #fff; background: var(--ink2); }
.story-mark.is-teal small { color: var(--gold); opacity: 1; }
.story-mark.is-spark { background: var(--gold); }
.story-mark.is-ink { color: #fff; background: var(--ink); }
.story-mark.is-ink small { color: var(--gold); opacity: 1; }
.story-timeline li.is-now { border: 2px solid var(--ink2); }
.story-timeline h3 { margin: 0 0 .45rem; font-size: 1.3rem; letter-spacing: -.02em; }
.story-timeline p { margin: 0; color: var(--muted); }

/* Purpose */
.story-purpose { padding: clamp(3.5rem,8vw,6rem) 0; color: #fff; background: var(--ink2); }
.story-page .story-purpose .eyebrow { color: var(--gold); }
.story-purpose blockquote { max-width: 60rem; margin: 0; color: #fff; font-family: Archivo,Inter,sans-serif; font-size: clamp(1.8rem,4vw,3.4rem); font-weight: 800; line-height: 1.12; letter-spacing: -.035em; }

/* Mission */
.story-mission-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; }
.story-mission-grid article { padding: 2rem; border-top: 5px solid var(--ink2); border-radius: 4px 4px 18px 18px; background: #fff; }
.story-tag { color: var(--ink2); font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.story-mission-grid h3 { margin: .7rem 0 .8rem; font-size: 1.5rem; letter-spacing: -.02em; }
.story-mission-grid p { margin: 0; color: var(--muted); font-size: 1.02rem; }

/* Vision and goals */
.story-vision { background: #fff; }
.story-vision-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: clamp(2rem,6vw,5rem); align-items: center; }
.story-goals { padding: 2rem; border-radius: 22px; color: #fff; background: var(--ink); }
.story-goals-label { margin: 0 0 1.2rem; color: var(--gold); font-size: .74rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.story-goal { display: grid; grid-template-columns: 6.5rem minmax(0,1fr); gap: 1rem; align-items: baseline; padding: 1.1rem 0; border-top: 1px solid rgba(207,227,224,.2); }
.story-goal strong { color: var(--gold); font-family: Archivo,Inter,sans-serif; font-size: 2.3rem; line-height: 1; letter-spacing: -.04em; }
.story-goal p { margin: 0; color: #e0ece9; }

/* Values */
.story-values-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.story-values-list li { display: flex; flex-direction: column; gap: 1.8rem; padding: 1.8rem; border-radius: 18px; background: var(--mist); }
.story-values-list li:nth-child(2) { background: var(--gold); }
.story-values-list li:nth-child(3) { color: #fff; background: var(--ink2); }
.story-values-list span { font-family: "IBM Plex Mono",monospace; font-size: .8rem; font-weight: 600; letter-spacing: .1em; }
.story-values-list strong { font-family: Archivo,Inter,sans-serif; font-size: clamp(1.8rem,3.2vw,2.6rem); line-height: 1; letter-spacing: -.04em; }
.story-motto { margin: 2rem 0 0; color: var(--ink2); font-family: Archivo,Inter,sans-serif; font-size: 1.4rem; font-weight: 800; letter-spacing: -.02em; }

/* Founder */
.story-founder { background: #fff; }
.story-founder-grid { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: clamp(2rem,6vw,5rem); align-items: center; }
.story-founder-photo { margin: 0; overflow: hidden; border-radius: 22px; background: var(--mist); }
.story-founder-photo img { display: block; width: 100%; height: auto; aspect-ratio: 688 / 913; object-fit: cover; }
.story-role { margin: .5rem 0 0; color: var(--ink2); font-weight: 700; }
.story-founder-quote { margin: 1.6rem 0; padding-left: 1.2rem; border-left: 4px solid var(--gold); color: var(--ink); font-size: clamp(1.15rem,2vw,1.4rem); font-weight: 600; line-height: 1.45; }
.story-founder-list { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.story-founder-list li { position: relative; padding-left: 1.6rem; color: var(--muted); }
.story-founder-list li::before { position: absolute; left: 0; top: .6em; width: .7rem; height: .7rem; border-radius: 50%; background: var(--ink2); content: ""; }

/* Clients */
.story-clients { background: #fff; }
.story-logos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: clamp(1.5rem,4vw,3rem) clamp(2rem,5vw,3.75rem); margin: 0; padding: 0; list-style: none; }
.story-logos li { display: flex; align-items: center; height: 64px; }
.story-logos img {
  width: auto; height: 100%; max-width: 170px; object-fit: contain; mix-blend-mode: multiply;
  filter: grayscale(1); opacity: .6; transition: filter .25s ease, opacity .25s ease;
}
.story-logos li:hover img { filter: none; opacity: 1; }
@media (hover: none) { .story-logos img { filter: none; opacity: 1; } }

/* Stellar GRO */
.story-gro { background: var(--ink); color: #fff; }
.story-page .story-gro .eyebrow { color: var(--gold); }
.story-page .story-gro h2 { color: #fff; font-size: clamp(2.6rem,6vw,4.6rem); }
.story-gro h2 span { color: var(--gold); }
.story-gro-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1.5rem clamp(2rem,6vw,5rem); align-items: end; margin-bottom: clamp(2rem,4vw,3rem); }
.story-gro-words { margin: .8rem 0 0; color: #cfe3e0; font-size: 1.1rem; font-weight: 600; letter-spacing: .02em; }
.story-gro-words b { color: var(--gold); }
.story-gro-words i { margin: 0 .35rem; color: rgba(207,227,224,.5); font-style: normal; }
.story-gro .story-lead { margin: 0; color: #e0ece9; }
.story-gro-path { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.story-gro-path li { position: relative; padding: 1.6rem 1.4rem; border: 1px solid rgba(207,227,224,.2); border-radius: 18px; background: rgba(255,255,255,.04); }
.story-gro-path li:last-child { border-color: var(--gold); }
.story-gro-path li:not(:last-child)::after { position: absolute; top: 1.6rem; right: -.85rem; z-index: 1; color: var(--gold); content: "→"; font-weight: 700; }
.story-gro-path span { color: var(--gold); font-family: "IBM Plex Mono",monospace; font-size: .8rem; font-weight: 600; letter-spacing: .1em; }
.story-page .story-gro-path h3 { margin: 1.1rem 0 .45rem; color: #fff; font-size: 1.35rem; letter-spacing: -.02em; }
.story-gro-path p { margin: 0; color: #cfe3e0; font-size: .95rem; }
.story-gro-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem 2rem; margin-top: 2rem; padding-top: 1.75rem; border-top: 1px solid rgba(207,227,224,.2); }
.story-gro-foot p { max-width: 40rem; margin: 0; color: #e0ece9; }
.story-gro-foot strong { color: #fff; }
.story-gro .btn-ink { color: var(--ink); background: var(--gold); border-color: var(--gold); }
.story-gro .btn-ink:hover { color: var(--ink); background: #fff; border-color: #fff; }
.story-mission-grid a { color: var(--ink2); font-weight: 600; }

/* Call to action */
.story-cta { padding: clamp(3.5rem,8vw,5.5rem) 0; color: #fff; background: var(--ink); }
.story-cta-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 3rem; }
.story-page .story-cta .eyebrow { color: var(--gold); }
.story-page .story-cta h2 { max-width: 34rem; color: #fff; }
.story-cta-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem; }
.story-cta-link { color: #fff; font-weight: 700; text-decoration-color: var(--gold); text-underline-offset: .35em; }
.story-cta-link:hover { color: var(--gold); }

@media (max-width: 991.98px) {
  .story-intro,.story-vision-grid,.story-founder-grid { grid-template-columns: 1fr; }
  .story-jump { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 1.5rem; }
  .story-timeline,.story-mission-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .story-gro-head { grid-template-columns: 1fr; }
  .story-gro-path { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .story-gro-path li::after { display: none; }
  .story-founder-photo { max-width: 420px; }
}
@media (max-width: 575.98px) {
  .story-timeline,.story-mission-grid,.story-values-list { grid-template-columns: 1fr; }
  .story-gro-path { grid-template-columns: 1fr; }
  .story-logos li { height: 46px; }
  .story-logos img { max-width: 120px; }
  .story-goal { grid-template-columns: 1fr; gap: .4rem; }
}
