:root {
  --ink: #092e2b;
  --ink-deep: #04211f;
  --ink-black: #031714;
  --green: #0d4a44;
  --green-bright: #59d6a5;
  --mint: #a9efcb;
  --mist: #e8efeb;
  --paper: #f4f7f4;
  --white: #ffffff;
  --line: rgba(9, 46, 43, 0.2);
  --line-light: rgba(255, 255, 255, 0.22);
  --sans: Arial, Helvetica, sans-serif;
  --mono: "Courier New", Courier, monospace;
  --max: 1440px;
  --gutter: clamp(1.25rem, 3.6vw, 4rem);
  --section: clamp(5.5rem, 10vw, 10rem);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
img { display: block; width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
p, h1, h2, h3, blockquote { margin: 0; }
h1, h2, h3 { font-weight: 400; letter-spacing: -0.045em; line-height: 0.98; }
em { color: var(--green-bright); font-style: normal; }
.container { width: min(100%, var(--max)); margin-inline: auto; padding-inline: var(--gutter); }
.section { padding-block: var(--section); }
.section-dark { background: var(--ink-deep); color: var(--white); }
.section-mist { background: var(--mist); }
.skip-link { position: fixed; top: 0.75rem; left: 0.75rem; z-index: 1000; transform: translateY(-180%); background: var(--white); color: var(--ink); padding: 0.75rem 1rem; }
.skip-link:focus { transform: none; }
.eyebrow { font: 700 0.72rem/1.1 var(--mono); letter-spacing: 0.12em; text-transform: uppercase; }
.eyebrow-light { color: var(--mint); }

.site-header { position: fixed; inset: 0 0 auto; z-index: 100; color: var(--white); border-bottom: 1px solid transparent; transition: background 240ms ease, border-color 240ms ease; }
.site-header.is-scrolled, .site-header.menu-active { background: rgba(3, 23, 20, 0.94); border-color: var(--line-light); backdrop-filter: blur(18px); }
.header-inner { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.brand { display: inline-flex; align-items: center; gap: 0.8rem; font-size: 1.05rem; font-weight: 700; letter-spacing: 0.15em; }
.brand-mark { width: 38px; height: 38px; fill: none; stroke: currentColor; stroke-width: 2.3; stroke-linecap: square; stroke-linejoin: bevel; }
.brand-logo { display: block; width: clamp(150px, 15vw, 188px); height: auto; }
.primary-nav { display: flex; align-items: center; gap: clamp(1.25rem, 2.5vw, 2.75rem); font-size: 0.84rem; }
.primary-nav > a { position: relative; }
.primary-nav > a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -0.35rem; height: 1px; background: var(--green-bright); transition: right 180ms ease; }
.primary-nav > a:hover::after, .primary-nav > a:focus-visible::after { right: 0; }
.nav-cta { border: 1px solid rgba(255,255,255,0.55); padding: 0.78rem 1rem; display: inline-flex; gap: 2rem; transition: background 180ms ease, color 180ms ease; }
.nav-cta:hover, .nav-cta:focus-visible { background: var(--white); color: var(--ink); }
.menu-toggle { display: none; border: 1px solid var(--line-light); background: transparent; padding: 0.7rem 0.85rem; align-items: center; gap: 0.9rem; text-transform: uppercase; font: 700 0.7rem/1 var(--mono); letter-spacing: 0.08em; }
.menu-toggle-lines { width: 19px; display: grid; gap: 5px; }
.menu-toggle-lines i { height: 1px; background: currentColor; display: block; transition: transform 180ms ease; }

.hero { position: relative; overflow: hidden; background: var(--ink-black); color: var(--white); padding: 9.5rem 0 4.25rem; }
.hero-grid, .contact-grid { position: absolute; inset: 0; opacity: 0.24; pointer-events: none; background-image: linear-gradient(rgba(169,239,203,0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(169,239,203,0.1) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(to bottom, rgba(0,0,0,0.7), transparent 78%); }
.hero-top, .hero-media-wrap, .hero-proof { position: relative; z-index: 1; }
.hero-kicker { color: var(--mint); display: flex; align-items: center; gap: 0.6rem; margin-bottom: 3rem; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green-bright); box-shadow: 0 0 0 5px rgba(89,214,165,0.13); }
.hero-heading-row { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.65fr); align-items: end; gap: clamp(2rem, 5vw, 6rem); margin-bottom: 3rem; }
.hero h1 { max-width: 1100px; font-size: clamp(2.75rem, 6.3vw, 6.4rem); }
.hero-heading-row > p { max-width: 32rem; font-size: clamp(1rem, 1.4vw, 1.23rem); color: rgba(255,255,255,0.76); padding-bottom: 0.75rem; }
.hero-side-copy { max-width: 34rem; padding-bottom: 0.75rem; }
.hero-side-copy strong { display: block; color: var(--mint); font-size: clamp(1.2rem, 2vw, 1.75rem); font-weight: 400; letter-spacing: -0.035em; margin-bottom: 1rem; }
.hero-side-copy p { color: rgba(255,255,255,0.72); font-size: clamp(1rem, 1.35vw, 1.18rem); }
.hero-media { position: relative; height: min(58vw, 650px); min-height: 440px; overflow: hidden; }
.hero-media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3,23,20,0.18), rgba(3,23,20,0.04) 44%, rgba(3,23,20,0.82)); }
.hero-frame { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: rgba(169,239,203,0.75); stroke-width: 1.3; vector-effect: non-scaling-stroke; }
.hero-media-top, .hero-media-bottom { position: absolute; z-index: 2; left: clamp(1.25rem, 3vw, 3rem); right: clamp(1.25rem, 3vw, 3rem); display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.hero-media-top { top: clamp(1.25rem, 3vw, 2.5rem); font: 700 0.67rem/1 var(--mono); letter-spacing: 0.08em; }
.hero-media-bottom { bottom: clamp(2.3rem, 5vw, 4.5rem); }
.hero-media-bottom p { font-size: clamp(1.6rem, 2.8vw, 2.6rem); line-height: 1.05; letter-spacing: -0.035em; }
.hero-media-bottom strong { color: var(--mint); font-weight: 400; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 3rem; min-width: 220px; border: 1px solid currentColor; padding: 1rem 1.1rem; font: 700 0.74rem/1 var(--mono); letter-spacing: 0.05em; text-transform: uppercase; transition: background 180ms ease, color 180ms ease, transform 180ms ease; }
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.button-light { background: rgba(3,23,20,0.12); color: var(--white); }
.button-light:hover, .button-light:focus-visible { background: var(--white); color: var(--ink); }
.button-large { padding: 1.25rem 1.35rem; min-width: min(100%, 330px); }
.hero-proof { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 2.5rem; border-top: 1px solid var(--line-light); }
.hero-proof > div { padding: 1.6rem 1.5rem 0 0; display: grid; grid-template-columns: 2.25rem 1fr; }
.hero-proof > div + div { padding-left: 1.5rem; border-left: 1px solid var(--line-light); }
.hero-proof span { font: 700 0.67rem/1 var(--mono); color: var(--green-bright); }
.hero-proof strong { font-size: 1.1rem; font-weight: 400; }
.hero-proof small { grid-column: 2; color: rgba(255,255,255,0.58); margin-top: 0.35rem; font-size: 0.8rem; }

.section-grid { display: grid; grid-template-columns: clamp(130px, 15vw, 210px) minmax(0, 1fr); gap: clamp(2.5rem, 7vw, 8rem); }
.section-index { display: flex; gap: 1rem; align-items: flex-start; padding-top: 0.15rem; font: 700 0.7rem/1.2 var(--mono); letter-spacing: 0.04em; text-transform: uppercase; }
.section-index span { color: var(--green); }
.section-index p { color: rgba(9,46,43,0.6); }
.section-index-light span { color: var(--green-bright); }
.section-index-light p { color: rgba(255,255,255,0.58); }
.section-content > .eyebrow { margin-bottom: 1.5rem; }
.section-content > h2, .section-heading-split h2, .intro h2 { font-size: clamp(2.3rem, 4.8vw, 4.8rem); max-width: 1100px; }
.intro-copy h2 { max-width: 1120px; }
.intro-copy h2 em { color: var(--green); }
.copy-columns { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 5rem); margin: clamp(2.5rem, 5vw, 5rem) 0 0 auto; max-width: 900px; color: rgba(9,46,43,0.74); font-size: clamp(1rem, 1.25vw, 1.17rem); }
.section-heading-split { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, 0.65fr); gap: clamp(2rem, 5vw, 5rem); align-items: end; margin-bottom: clamp(3.5rem, 7vw, 6rem); }
.section-heading-split > p { color: rgba(9,46,43,0.68); font-size: clamp(1rem, 1.3vw, 1.15rem); max-width: 36rem; padding-bottom: 0.35rem; }
.section-dark .section-heading-split > p { color: rgba(255,255,255,0.68); }

.stack-visual { border-top: 1px solid var(--line-light); margin-top: 1rem; }
.stack-row { display: grid; grid-template-columns: 4rem minmax(0, 1fr) auto; gap: 1.5rem; align-items: center; min-height: 105px; border-bottom: 1px solid var(--line-light); padding: 1.1rem 1.25rem; transition: background 180ms ease, padding-left 180ms ease; }
.stack-row:hover { background: rgba(169,239,203,0.07); padding-left: 1.75rem; }
.stack-number, .stack-tag { font: 700 0.68rem/1 var(--mono); letter-spacing: 0.08em; color: var(--green-bright); }
.stack-row strong { display: block; font-size: clamp(1.2rem, 2vw, 1.8rem); font-weight: 400; letter-spacing: -0.035em; }
.stack-row small { display: block; margin-top: 0.35rem; color: rgba(255,255,255,0.58); }
.stack-tag { color: rgba(255,255,255,0.48); }
.principles { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(3rem, 6vw, 5rem); border-top: 1px solid var(--line-light); }
.principles article { padding: 1.6rem 2rem 0 0; }
.principles article + article { border-left: 1px solid var(--line-light); padding-left: 2rem; }
.principles span { font: 700 0.66rem/1 var(--mono); color: var(--green-bright); }
.principles h3 { margin-top: 2.4rem; font-size: 1.6rem; }
.principles p { margin-top: 0.8rem; color: rgba(255,255,255,0.62); font-size: 0.9rem; }

.process-steps { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); }
.process-steps li { display: grid; grid-template-columns: 5.5rem minmax(0,1fr); align-items: start; gap: 1.5rem; padding: 1.7rem 0; border-bottom: 1px solid var(--line); }
.process-steps li > span { font: 700 0.72rem/1 var(--mono); color: var(--green); padding-top: 0.35rem; }
.process-steps h3 { font-size: clamp(1.45rem, 2.5vw, 2.1rem); }
.process-steps p { color: rgba(9,46,43,0.64); max-width: 620px; margin-top: 0.55rem; }

.image-break { position: relative; min-height: 76vh; color: var(--white); display: flex; align-items: end; overflow: hidden; }
.image-break > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.image-break-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3,23,20,0.12), rgba(3,23,20,0.82)); }
.image-break-content { position: relative; z-index: 1; width: 100%; padding-bottom: clamp(3.5rem, 7vw, 7rem); }
.image-break-content blockquote { max-width: 1100px; margin-top: 1.6rem; font-size: clamp(2.3rem, 4.6vw, 4.8rem); line-height: 0.98; letter-spacing: -0.045em; }

.capability-grid { display: grid; grid-template-columns: 1.35fr 1fr; }
.capability-card { min-height: 300px; border: 1px solid var(--line); padding: clamp(1.5rem, 3vw, 2.5rem); position: relative; }
.capability-card-image { grid-row: span 3; padding: 0; min-height: 900px; overflow: hidden; }
.capability-card-image img { width: 100%; height: 100%; object-fit: cover; }
.card-image-shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(3,23,20,0.7)); }
.card-image-label { position: absolute; left: 1.5rem; right: 1.5rem; bottom: 1.5rem; display: flex; justify-content: space-between; color: var(--white); font: 700 0.65rem/1 var(--mono); letter-spacing: 0.08em; }
.card-code { font: 700 0.67rem/1 var(--mono); color: var(--green); }
.capability-card h3 { margin-top: 5rem; font-size: clamp(1.8rem, 3.1vw, 2.8rem); }
.capability-card p { margin-top: 1rem; color: rgba(9,46,43,0.65); max-width: 34rem; }
.capability-card ul { display: flex; flex-wrap: wrap; gap: 0.4rem; list-style: none; padding: 0; margin: 2rem 0 0; }
.capability-card li { border: 1px solid var(--line); padding: 0.45rem 0.6rem; font: 700 0.62rem/1 var(--mono); letter-spacing: 0.04em; text-transform: uppercase; }

.market-list { border-top: 1px solid var(--line); margin-top: clamp(3.5rem, 6vw, 6rem); }
.market-list article { display: grid; grid-template-columns: 4.5rem minmax(0,1fr) 3rem; align-items: center; gap: 1.5rem; padding: clamp(2rem, 4vw, 3.5rem) 0; border-bottom: 1px solid var(--line); }
.market-number { font: 700 0.72rem/1 var(--mono); color: var(--green); align-self: start; padding-top: 0.25rem; }
.market-state { font: 700 0.65rem/1 var(--mono); color: rgba(9,46,43,0.55); letter-spacing: 0.08em; text-transform: uppercase; }
.market-list h3 { font-size: clamp(1.9rem, 3.7vw, 3.35rem); margin-top: 0.55rem; }
.market-list p { color: rgba(9,46,43,0.64); max-width: 700px; margin-top: 0.8rem; }
.market-arrow { font-size: 1.6rem; transition: transform 180ms ease; }
.market-list article:hover .market-arrow { transform: translate(5px,-5px); }

.origin { padding-block: 0; }
.origin-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; padding-inline: 0; max-width: none; }
.origin-media { min-height: 720px; }
.origin-media img { width: 100%; height: 100%; object-fit: cover; }
.origin-copy { padding: clamp(4rem, 8vw, 8rem) var(--gutter); align-self: center; }
.origin-copy h2 { font-size: clamp(2.4rem, 4.7vw, 4.7rem); margin-top: 1.5rem; }
.origin-copy > p:not(.eyebrow) { color: rgba(255,255,255,0.65); margin-top: 1.5rem; max-width: 580px; }
.origin-facts { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 4rem; border-top: 1px solid var(--line-light); }
.origin-facts div { padding-top: 1.25rem; }
.origin-facts div + div { border-left: 1px solid var(--line-light); padding-left: 1.25rem; }
.origin-facts strong { display: block; font-size: 1.15rem; font-weight: 400; }
.origin-facts span { display: block; font-size: 0.72rem; color: rgba(255,255,255,0.5); margin-top: 0.35rem; }

.engagement-path { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.engagement-path article { padding: 1.8rem 2rem 1rem 0; min-height: 280px; }
.engagement-path article + article { border-left: 1px solid var(--line); padding-left: 2rem; }
.engagement-path span { font: 700 0.67rem/1 var(--mono); color: var(--green); }
.engagement-path h3 { font-size: clamp(1.5rem, 2.7vw, 2.25rem); margin-top: 4rem; }
.engagement-path p { color: rgba(9,46,43,0.62); margin-top: 1rem; }

.team-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.team-card { grid-column: span 2; background: var(--mist); min-height: 410px; padding: clamp(1.25rem, 2vw, 2rem); display: flex; flex-direction: column; }
.team-card:nth-child(4), .team-card:nth-child(5) { grid-column: span 3; }
.team-monogram { width: 76px; height: 76px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; font: 700 0.85rem/1 var(--mono); background: rgba(255,255,255,0.3); }
.team-meta { display: flex; justify-content: space-between; margin-top: auto; padding-top: 3.5rem; font: 700 0.65rem/1 var(--mono); color: var(--green); letter-spacing: 0.04em; text-transform: uppercase; }
.team-card h3 { margin-top: 0.9rem; font-size: clamp(1.6rem, 2.8vw, 2.45rem); }
.team-card p { color: rgba(9,46,43,0.62); margin-top: 1rem; font-size: 0.88rem; }
.team-card-open { background: var(--ink); color: var(--white); }
.team-card-open .team-monogram { border-color: var(--line-light); background: rgba(255,255,255,0.05); color: var(--mint); font-size: 1.5rem; }
.team-card-open p { color: rgba(255,255,255,0.58); }
.team-card-open .team-meta { color: var(--mint); }

.faq-list { margin-top: 4rem; border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 2rem; padding: 1.7rem 0; font-size: clamp(1.15rem, 2vw, 1.6rem); letter-spacing: -0.025em; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { font-family: var(--mono); transition: transform 180ms ease; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 760px; color: rgba(9,46,43,0.65); padding: 0 3rem 1.7rem 0; }

.contact { position: relative; overflow: hidden; padding-block: clamp(6rem, 12vw, 12rem); }
.contact-inner { position: relative; z-index: 1; }
.contact h2 { margin-top: 1.5rem; font-size: clamp(3.1rem, 7.2vw, 7.2rem); }
.contact-bottom { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-top: clamp(3rem, 7vw, 7rem); border-top: 1px solid var(--line-light); padding-top: 1.5rem; }
.contact-bottom p { color: rgba(255,255,255,0.65); max-width: 35rem; font-size: clamp(1rem, 1.4vw, 1.2rem); }

.site-footer { background: var(--ink-black); color: var(--white); padding: 4rem 0 1.5rem; }
.footer-top { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; padding-bottom: 4rem; }
.brand-footer { align-self: start; font-size: 1.5rem; }
.brand-footer .brand-mark { width: 56px; height: 56px; }
.footer-links { display: grid; grid-template-columns: 1fr 1.4fr; gap: 2rem; }
.footer-links > div { display: flex; flex-direction: column; gap: 0.65rem; }
.footer-links span { font: 700 0.64rem/1 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--green-bright); margin-bottom: 0.7rem; }
.footer-links a, .footer-links p { font-size: 0.88rem; color: rgba(255,255,255,0.67); }
.footer-links a:hover { color: var(--white); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-top: 1.35rem; border-top: 1px solid var(--line-light); color: rgba(255,255,255,0.48); font: 700 0.62rem/1.2 var(--mono); letter-spacing: 0.05em; text-transform: uppercase; }
.footer-bottom a:hover { color: var(--white); }

.legal-page { min-height: 100vh; background: var(--paper); }
.legal-header { background: var(--ink-black); color: var(--white); }
.legal-main { padding: 9rem 0 6rem; }
.legal-main h1 { font-size: clamp(3rem, 7vw, 6.5rem); }
.legal-main .legal-date { margin-top: 1rem; font: 700 0.68rem/1 var(--mono); color: var(--green); text-transform: uppercase; }
.legal-content { max-width: 820px; margin-top: 4rem; }
.legal-content h2 { font-size: 1.8rem; margin: 2.5rem 0 1rem; }
.legal-content p, .legal-content li { color: rgba(9,46,43,0.72); }
.legal-content p + p { margin-top: 1rem; }
.legal-content a { text-decoration: underline; text-underline-offset: 0.2em; }
.not-found { min-height: 100vh; display: grid; place-items: center; text-align: center; background: var(--ink-black); color: var(--white); padding: 2rem; }
.not-found strong { display: block; font: 700 0.72rem/1 var(--mono); color: var(--green-bright); letter-spacing: 0.1em; }
.not-found h1 { font-size: clamp(3rem, 8vw, 8rem); margin-top: 1rem; }
.not-found p { color: rgba(255,255,255,0.65); margin: 1.4rem auto 2rem; }

/* Revised service-led narrative */
.about-content > h2 { font-size: clamp(2.3rem, 4.8vw, 4.8rem); max-width: 1150px; }
.about-split { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(2.5rem, 7vw, 7rem); margin-top: clamp(3rem, 6vw, 6rem); }
.about-lead { font-size: clamp(1.4rem, 2.3vw, 2.05rem); line-height: 1.18; letter-spacing: -0.03em; }
.about-split > div p { color: rgba(9,46,43,0.68); font-size: clamp(1rem, 1.3vw, 1.14rem); }
.about-split > div p + p { margin-top: 1.35rem; }
.about-beliefs { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(4rem, 7vw, 7rem); border-top: 1px solid var(--line); }
.about-beliefs article { padding: 1.6rem 2rem 0 0; }
.about-beliefs article + article { border-left: 1px solid var(--line); padding-left: 2rem; }
.about-beliefs span { font: 700 0.67rem/1 var(--mono); color: var(--green); }
.about-beliefs h3 { margin-top: 2.8rem; font-size: clamp(1.35rem, 2vw, 1.9rem); }
.about-beliefs p { color: rgba(9,46,43,0.62); margin-top: 0.85rem; font-size: 0.9rem; }

.system-layers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); margin-bottom: clamp(3rem, 6vw, 5rem); }
.system-layers article { min-height: 360px; padding: clamp(1.7rem, 3vw, 2.75rem); border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); display: flex; flex-direction: column; }
.system-layers span, .system-layers small { color: var(--green-bright); font: 700 0.66rem/1.3 var(--mono); letter-spacing: 0.07em; }
.system-layers h3 { font-size: clamp(1.8rem, 3.1vw, 3rem); margin-top: clamp(3rem, 5vw, 5rem); }
.system-layers p { color: rgba(255,255,255,0.62); margin-top: 1rem; max-width: 34rem; }
.system-layers small { margin-top: auto; padding-top: 2rem; color: rgba(169,239,203,0.7); }
.service-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.service-steps li { min-height: 330px; display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: 1.2rem; padding: clamp(1.5rem, 3vw, 2.5rem); border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.service-steps li > span { color: var(--green-bright); font: 700 0.7rem/1 var(--mono); padding-top: 0.25rem; }
.service-steps small { color: rgba(255,255,255,0.48); font: 700 0.65rem/1 var(--mono); letter-spacing: 0.08em; }
.service-steps h3 { font-size: clamp(1.55rem, 2.6vw, 2.35rem); margin-top: 4rem; }
.service-steps p { color: rgba(255,255,255,0.62); margin-top: 1rem; max-width: 34rem; }
.service-outcomes { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 3.5rem; border-top: 1px solid var(--line-light); }
.service-outcomes div { padding: 1.4rem 1.5rem 0 0; }
.service-outcomes div + div { border-left: 1px solid var(--line-light); padding-left: 1.5rem; }
.service-outcomes strong { display: block; font-weight: 400; font-size: 1.05rem; }
.service-outcomes span { display: block; color: rgba(255,255,255,0.5); font-size: 0.78rem; margin-top: 0.35rem; }
.service-model-note { margin-top: 2rem; max-width: 880px; color: var(--mint); font: 700 0.7rem/1.55 var(--mono); letter-spacing: 0.035em; text-transform: uppercase; }

.timeline-comparison { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 1.25rem 0 2rem; }
.timeline-scale { display: grid; grid-template-columns: minmax(170px, 220px) 1fr 160px; gap: 1.5rem; margin-bottom: 1.5rem; color: rgba(9,46,43,0.46); font: 700 0.59rem/1 var(--mono); letter-spacing: 0.08em; }
.timeline-scale span:nth-child(2) { text-align: center; }
.timeline-scale span:last-child { text-align: right; }
.timeline-row { display: grid; grid-template-columns: minmax(170px, 220px) minmax(0, 1fr) 160px; gap: 1.5rem; align-items: center; padding: 1.5rem 0; }
.timeline-row + .timeline-row { border-top: 1px solid var(--line); }
.timeline-label span { display: block; color: var(--green); font: 700 0.63rem/1.2 var(--mono); letter-spacing: 0.06em; }
.timeline-label strong { display: block; font-size: clamp(2rem, 3.5vw, 3rem); font-weight: 400; letter-spacing: -0.045em; margin-top: 0.65rem; }
.timeline-label small { display: block; color: rgba(9,46,43,0.52); margin-top: 0.3rem; }
.timeline-track { display: grid; grid-template-columns: repeat(4, 1fr); min-height: 86px; background: rgba(9,46,43,0.06); }
.timeline-segment { display: grid; place-items: center; border: 1px solid rgba(9,46,43,0.28); border-right: 0; padding: 0.5rem; color: rgba(9,46,43,0.68); font: 700 0.61rem/1.2 var(--mono); letter-spacing: 0.04em; text-transform: uppercase; }
.timeline-segment:last-child { border-right: 1px solid rgba(9,46,43,0.28); }
.timeline-track-fast { grid-template-columns: repeat(3, 1fr); width: 30%; min-width: 0; background: rgba(32,163,111,0.14); }
.timeline-track-fast .timeline-segment { border-color: var(--green); color: var(--ink); }
.timeline-gain { padding-left: 1rem; border-left: 1px solid var(--green); }
.timeline-gain strong { display: block; color: var(--green); font: 700 1.05rem/1 var(--mono); }
.timeline-gain span { display: block; color: rgba(9,46,43,0.56); font-size: 0.72rem; margin-top: 0.45rem; }
.timeline-enablers { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); margin-top: 3rem; }
.timeline-enablers article { padding: 1.5rem 2rem 0 0; }
.timeline-enablers article + article { border-left: 1px solid var(--line); padding-left: 2rem; }
.timeline-enablers span { color: var(--green); font: 700 0.65rem/1 var(--mono); }
.timeline-enablers strong { display: block; font-weight: 400; font-size: 1.15rem; margin-top: 2rem; }
.timeline-enablers p { color: rgba(9,46,43,0.6); font-size: 0.84rem; margin-top: 0.7rem; }
.timeline-caveat { margin-top: 2rem; color: rgba(9,46,43,0.48); font: 700 0.61rem/1.55 var(--mono); }

.video-shell { position: relative; background: var(--ink-black); border: 1px solid var(--line); aspect-ratio: 16 / 9; overflow: hidden; }
.video-shell video { display: block; width: 100%; height: 100%; object-fit: cover; background: var(--ink-black); }
.video-corner { position: absolute; z-index: 2; color: var(--white); pointer-events: none; font: 700 0.64rem/1 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; text-shadow: 0 1px 4px rgba(0,0,0,0.6); }
.video-corner-top { left: 1.35rem; top: 1.35rem; }
.video-corner-bottom { right: 1.35rem; bottom: 1.35rem; }

.process-film { position: relative; min-height: min(82vh, 900px); display: flex; align-items: end; overflow: hidden; background: var(--ink-black); color: var(--white); }
.process-film > video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.process-film-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3,23,20,0.12) 12%, rgba(3,23,20,0.35) 54%, rgba(3,23,20,0.92)); }
.process-film-content { position: relative; z-index: 1; padding-bottom: clamp(3.5rem, 7vw, 7rem); }
.process-film-content h2 { max-width: 1000px; font-size: clamp(2.6rem, 5.3vw, 5.4rem); margin-top: 1.5rem; }
.process-film-content > p:last-child { max-width: 720px; color: rgba(255,255,255,0.7); font-size: clamp(1rem, 1.4vw, 1.2rem); margin: 1.5rem 0 0 auto; }

.revstack-heading { margin-bottom: 3rem; }
.revstack-points { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.revstack-points article { min-height: 430px; padding: clamp(2rem, 4vw, 3.5rem) clamp(2rem, 4vw, 3.5rem) 2rem 0; }
.revstack-points article + article { border-left: 1px solid var(--line-light); padding-left: clamp(2rem, 4vw, 3.5rem); }
.revstack-points span { color: var(--green-bright); font: 700 0.67rem/1 var(--mono); letter-spacing: 0.07em; }
.revstack-points h3 { font-size: clamp(1.65rem, 2.7vw, 2.65rem); margin-top: 4rem; max-width: 600px; }
.revstack-points p { color: rgba(255,255,255,0.6); margin-top: 1.25rem; max-width: 520px; }
.revstack-note { margin-top: 1.25rem; color: var(--mint); font: 700 0.72rem/1.4 var(--mono); letter-spacing: 0.05em; text-transform: uppercase; }

.team-featured { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.team-profile { background: var(--paper); }
.team-portrait { aspect-ratio: 1 / 1; overflow: hidden; background: var(--ink); }
.team-portrait img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.82) contrast(1.03); transition: transform 500ms ease, filter 300ms ease; }
.team-portrait-cutout { background: radial-gradient(circle at 50% 30%, #1a5a51 0, var(--ink) 68%); }
.team-portrait-cutout img { object-fit: contain; object-position: center bottom; padding-top: 1rem; }
.team-profile:hover .team-portrait img { transform: scale(1.018); filter: saturate(1) contrast(1.02); }
.team-profile-copy { display: grid; grid-template-columns: 3rem minmax(0, 1fr); padding: clamp(1.4rem, 3vw, 2.4rem); min-height: 260px; }
.team-profile-copy .team-role { align-self: start; }
.team-profile-copy h3 { grid-column: 2; align-self: end; font-size: clamp(1.8rem, 3vw, 2.8rem); margin-top: 3.25rem; }
.team-profile-copy p { grid-column: 2; color: rgba(9,46,43,0.62); margin-top: 1rem; max-width: 34rem; }
.team-list { border-top: 1px solid var(--line); }
.team-list-secondary { margin-top: clamp(2.5rem, 5vw, 4.5rem); }
.team-list article { display: grid; grid-template-columns: 4rem minmax(280px, 0.9fr) minmax(280px, 1.1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; min-height: 180px; padding: 1.5rem 0; border-bottom: 1px solid var(--line); }
.team-number { color: var(--green); font: 700 0.68rem/1 var(--mono); }
.team-role { color: rgba(9,46,43,0.55); font: 700 0.64rem/1 var(--mono); letter-spacing: 0.06em; text-transform: uppercase; }
.team-list h3 { font-size: clamp(1.75rem, 3vw, 2.8rem); margin-top: 0.7rem; }
.team-list article > p { color: rgba(9,46,43,0.62); max-width: 620px; }
.team-list .team-open { margin-top: 1px; padding-inline: 1.5rem; border: 1px dashed rgba(9,46,43,0.45); background: rgba(255,255,255,0.24); }
.team-open .team-role { color: var(--green); }

.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.news-card { background: var(--paper); min-height: 430px; padding: clamp(1.5rem, 2.5vw, 2.3rem); display: flex; flex-direction: column; }
.news-card.news-featured { background: var(--ink); color: var(--white); }
.news-meta, .news-status { font: 700 0.65rem/1.2 var(--mono); letter-spacing: 0.06em; text-transform: uppercase; color: var(--green); }
.news-featured .news-meta, .news-featured .news-status { color: var(--green-bright); }
.news-card h3 { font-size: clamp(1.6rem, 2.5vw, 2.3rem); margin-top: 3.5rem; }
.news-card p { color: rgba(9,46,43,0.62); margin-top: 1rem; }
.news-featured p { color: rgba(255,255,255,0.62); }
.news-status { margin-top: auto; padding-top: 2.5rem; }

.brand-footer .brand-logo { width: clamp(210px, 22vw, 280px); }

@media (max-width: 1050px) {
  .hero-heading-row, .section-heading-split { grid-template-columns: 1fr; align-items: start; }
  .hero-heading-row > p, .section-heading-split > p { max-width: 700px; }
  .hero-heading-row { gap: 1.5rem; }
  .origin-grid { grid-template-columns: 1fr; }
  .origin-media { min-height: 55vw; max-height: 720px; }
  .about-split { grid-template-columns: 1fr; gap: 2rem; }
  .timeline-scale, .timeline-row { grid-template-columns: 170px minmax(0, 1fr) 130px; gap: 1rem; }
  .timeline-track-fast { width: 45%; }
  .revstack-points { grid-template-columns: 1fr; }
  .revstack-points article { min-height: auto; padding: 2rem 0 3rem; }
  .revstack-points article + article { border-left: 0; border-top: 1px solid var(--line-light); padding-left: 0; }
  .revstack-points h3 { margin-top: 3rem; }
  .team-featured { grid-template-columns: 1fr 1fr; }
  .team-list article { grid-template-columns: 3rem minmax(0, 1fr); }
  .team-list article > p { grid-column: 2; }
  .news-grid { grid-template-columns: 1fr 1fr; }
  .news-card:last-child { grid-column: span 2; }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .team-card, .team-card:nth-child(4) { grid-column: auto; }
  .team-card:nth-child(5) { grid-column: span 2; }
}

@media (max-width: 820px) {
  :root { --section: 5rem; }
  .header-inner { min-height: 74px; }
  .site-header.menu-active { min-height: 100dvh; }
  .menu-toggle { display: inline-flex; }
  .primary-nav { position: absolute; inset: 74px 0 0; background: var(--ink-black); padding: 2.5rem var(--gutter) 3rem; flex-direction: column; align-items: stretch; gap: 0; transform: translateX(100%); visibility: hidden; transition: transform 220ms ease, visibility 220ms ease; }
  .site-header.menu-active .primary-nav { transform: translateX(0); visibility: visible; }
  .primary-nav > a { font-size: clamp(1.8rem, 8vw, 3.3rem); letter-spacing: -0.04em; border-bottom: 1px solid var(--line-light); padding: 1.15rem 0; }
  .primary-nav > a:not(.nav-cta)::after { display: none; }
  .nav-cta { margin-top: auto; font: 700 0.72rem/1 var(--mono) !important; letter-spacing: 0.05em !important; border: 1px solid var(--line-light) !important; padding: 1.15rem !important; }
  .menu-active .menu-toggle-lines i:first-child { transform: translateY(3px) rotate(45deg); }
  .menu-active .menu-toggle-lines i:last-child { transform: translateY(-3px) rotate(-45deg); }
  .hero { padding-top: 8rem; }
  .hero-media { min-height: 480px; }
  .hero-proof { grid-template-columns: 1fr; }
  .hero-proof > div { padding: 1.25rem 0; border-bottom: 1px solid var(--line-light); }
  .hero-proof > div + div { padding-left: 0; border-left: 0; }
  .section-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .section-index { padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
  .section-dark .section-index { border-color: var(--line-light); }
  .copy-columns { grid-template-columns: 1fr; gap: 1.5rem; }
  .about-beliefs, .service-outcomes { grid-template-columns: 1fr; }
  .about-beliefs article, .about-beliefs article + article { border-left: 0; border-bottom: 1px solid var(--line); padding: 1.4rem 0; }
  .about-beliefs h3 { margin-top: 1.75rem; }
  .service-outcomes div, .service-outcomes div + div { border-left: 0; border-bottom: 1px solid var(--line-light); padding: 1rem 0; }
  .system-layers { grid-template-columns: 1fr; }
  .system-layers article { min-height: 320px; }
  .service-steps { grid-template-columns: 1fr; }
  .service-steps li { min-height: 290px; }
  .timeline-scale { display: none; }
  .timeline-row { grid-template-columns: 1fr; gap: 1.25rem; }
  .timeline-track { width: 100%; min-width: 0; }
  .timeline-gain { border-left: 0; border-top: 1px solid var(--green); padding: 1rem 0 0; }
  .timeline-enablers { grid-template-columns: 1fr; }
  .timeline-enablers article, .timeline-enablers article + article { border-left: 0; border-bottom: 1px solid var(--line); padding: 1.4rem 0; }
  .timeline-enablers strong { margin-top: 1.5rem; }
  .process-film { min-height: 650px; }
  .principles, .engagement-path { grid-template-columns: 1fr; }
  .principles article, .principles article + article, .engagement-path article, .engagement-path article + article { border-left: 0; border-bottom: 1px solid var(--line-light); padding: 1.5rem 0; min-height: auto; }
  .engagement-path article, .engagement-path article + article { border-color: var(--line); }
  .principles h3, .engagement-path h3 { margin-top: 2rem; }
  .capability-grid { grid-template-columns: 1fr; }
  .capability-card-image { min-height: 560px; grid-row: auto; }
  .contact-bottom { align-items: stretch; flex-direction: column; }
  .footer-top { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .brand { font-size: 0.92rem; gap: 0.55rem; }
  .brand-logo { width: 138px; }
  .brand-mark { width: 32px; height: 32px; }
  .menu-toggle-label { display: none; }
  .hero { padding-bottom: 2.5rem; }
  .hero-kicker { align-items: flex-start; line-height: 1.4; }
  .hero-media { min-height: 500px; }
  .hero-media-top { align-items: flex-start; }
  .hero-media-top span:last-child { display: none; }
  .hero-media-bottom { align-items: stretch; flex-direction: column; }
  .hero-media-bottom .button { min-width: 0; width: 100%; }
  .stack-row { grid-template-columns: 2.6rem 1fr; gap: 0.7rem; padding-inline: 0; }
  .stack-tag { display: none; }
  .process-steps li { grid-template-columns: 2.5rem 1fr; gap: 0.75rem; }
  .image-break { min-height: 620px; }
  .capability-card, .capability-card-image { min-height: 360px; }
  .team-list article { grid-template-columns: 2.5rem 1fr; gap: 1rem; align-items: start; min-height: 0; padding: 1.6rem 0; }
  .team-featured { grid-template-columns: 1fr; }
  .team-profile-copy { min-height: 240px; grid-template-columns: 2.5rem minmax(0, 1fr); }
  .team-profile-copy h3 { margin-top: 2.75rem; }
  .team-list article > p { grid-column: 2; }
  .team-list .team-open { padding-inline: 1rem; }
  .news-grid { grid-template-columns: 1fr; }
  .news-card, .news-card:last-child { grid-column: auto; min-height: 360px; }
  .video-corner-bottom { display: none; }
  .timeline-track { min-height: 72px; }
  .timeline-segment { padding: 0.35rem; font-size: 0.54rem; letter-spacing: 0; }
  .process-film { min-height: 580px; }
  .market-list article { grid-template-columns: 2.5rem 1fr; gap: 0.75rem; }
  .market-arrow { display: none; }
  .origin-media { min-height: 420px; }
  .origin-facts { grid-template-columns: 1fr; }
  .origin-facts div + div { border-left: 0; padding-left: 0; }
  .origin-facts div { border-bottom: 1px solid var(--line-light); padding-bottom: 1rem; }
  .team-grid { grid-template-columns: 1fr; }
  .team-card, .team-card:nth-child(4), .team-card:nth-child(5) { grid-column: auto; }
  .team-card { min-height: 360px; }
  .footer-links { grid-template-columns: 1fr; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 0.8rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}
