:root {
  --ink: #09171c;
  --ink-2: #10242a;
  --ink-3: #173038;
  --paper: #edf1ed;
  --paper-2: #dfe7e3;
  --mist: #9fb2b5;
  --line-dark: rgba(237, 241, 237, 0.16);
  --line-light: rgba(9, 23, 28, 0.16);
  --blue: #88aef0;
  --blue-light: #bfd1f8;
  --lime: #cee88a;
  --sector: var(--blue);
  --max: 1360px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Manrope, Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--lime); outline-offset: 4px; }
h1, h2, h3, h4, p, blockquote, dl, dd { margin: 0; }

.industry-shell { min-height: 100vh; overflow: hidden; }
.industry-topbar { position: relative; z-index: 20; min-height: 78px; padding: 0 clamp(22px, 4vw, 64px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; color: var(--paper); background: var(--ink); border-bottom: 1px solid var(--line-dark); }
.brand { justify-self: start; font: 700 clamp(27px, 2.2vw, 36px)/1 'Space Grotesk', sans-serif; letter-spacing: -.09em; }
.brand span { color: var(--blue); }
.industry-topbar nav { display: flex; align-items: center; gap: 26px; color: var(--mist); font: 500 10px/1 'DM Mono', monospace; letter-spacing: .12em; text-transform: uppercase; }
.industry-topbar nav a:hover, .industry-topbar nav a[aria-current="page"] { color: var(--paper); }
.topbar-cta { justify-self: end; color: var(--ink); background: var(--lime); padding: 12px 16px; font: 600 10px/1 'DM Mono', monospace; letter-spacing: .08em; text-transform: uppercase; transition: transform .2s ease, background .2s ease; }
.topbar-cta:hover { transform: translateY(-2px); background: var(--paper); }

.industry-main { position: relative; }
.brief-hero { position: relative; min-height: 720px; padding: clamp(74px, 9vw, 128px) clamp(22px, 6vw, 96px) clamp(64px, 7vw, 96px); color: var(--paper); background: var(--ink); border-bottom: 1px solid var(--line-dark); }
.brief-hero::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .38; background-image: linear-gradient(var(--line-dark) 1px, transparent 1px), linear-gradient(90deg, var(--line-dark) 1px, transparent 1px); background-size: 68px 68px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.7), transparent 76%); }
.brief-hero::after { content: attr(data-code); position: absolute; right: clamp(18px, 4vw, 64px); top: 78px; color: rgba(237, 241, 237, .04); font: 700 clamp(150px, 28vw, 430px)/.8 'Space Grotesk', sans-serif; letter-spacing: -.1em; pointer-events: none; }
.hero-grid { position: relative; z-index: 1; width: min(100%, var(--max)); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .55fr); gap: clamp(60px, 10vw, 150px); align-items: end; }
.eyebrow, .section-kicker, .mono-label { color: var(--sector); font: 500 10px/1.4 'DM Mono', monospace; letter-spacing: .15em; text-transform: uppercase; }
.hero-copy h1 { max-width: 980px; margin-top: 30px; font: 600 clamp(55px, 8.4vw, 132px)/.9 'Space Grotesk', sans-serif; letter-spacing: -.072em; }
.hero-copy h1 em { color: var(--sector); font-style: normal; }
.hero-copy > p { max-width: 750px; margin-top: 54px; color: #d6e0de; font-size: clamp(18px, 1.55vw, 24px); line-height: 1.5; letter-spacing: -.025em; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 40px; }
.primary-action, .secondary-action { display: inline-flex; justify-content: space-between; align-items: center; gap: 28px; min-height: 52px; padding: 0 19px; font: 600 11px/1 'DM Mono', monospace; letter-spacing: .04em; }
.primary-action { color: var(--ink); background: var(--lime); }
.primary-action:hover { background: var(--paper); }
.secondary-action { color: var(--paper); border: 1px solid var(--line-dark); }
.secondary-action:hover { border-color: var(--sector); }
.hero-docket { border-top: 1px solid var(--sector); }
.hero-docket > p { padding: 16px 0; color: var(--mist); border-bottom: 1px solid var(--line-dark); font: 500 10px/1.6 'DM Mono', monospace; letter-spacing: .06em; text-transform: uppercase; }
.hero-docket strong { display: block; margin-top: 6px; color: var(--paper); font-family: Manrope, sans-serif; font-size: 14px; line-height: 1.45; letter-spacing: -.01em; text-transform: none; }

.decision-strip { position: relative; z-index: 2; width: min(calc(100% - 44px), var(--max)); margin: -32px auto 0; display: grid; grid-template-columns: repeat(4, 1fr); color: var(--paper); background: var(--ink-2); border: 1px solid var(--line-dark); }
.decision-strip span { min-height: 64px; display: flex; align-items: center; gap: 12px; padding: 0 20px; border-right: 1px solid var(--line-dark); font: 500 10px/1.35 'DM Mono', monospace; letter-spacing: .09em; text-transform: uppercase; }
.decision-strip span:last-child { border-right: 0; }
.decision-strip i { width: 7px; height: 7px; border: 1px solid var(--sector); border-radius: 50%; }
.decision-strip span:first-child i { background: var(--sector); box-shadow: 0 0 0 4px color-mix(in srgb, var(--sector) 20%, transparent); }

.brief-section { padding: clamp(92px, 10vw, 148px) clamp(22px, 6vw, 96px); }
.brief-section > .section-inner { width: min(100%, var(--max)); margin: 0 auto; }
.section-head { display: grid; grid-template-columns: minmax(0, .42fr) minmax(0, 1fr); gap: clamp(40px, 9vw, 138px); align-items: start; margin-bottom: clamp(54px, 7vw, 92px); }
.section-head h2 { max-width: 930px; font: 600 clamp(38px, 5vw, 76px)/.98 'Space Grotesk', sans-serif; letter-spacing: -.06em; }
.section-head h2 em { color: var(--sector); font-style: normal; }
.section-head .head-copy { max-width: 620px; color: #40565c; font-size: 17px; line-height: 1.65; }

.evidence-section { background: var(--paper); }
.evidence-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.evidence-card { min-height: 330px; padding: 28px clamp(22px, 3vw, 44px) 34px 0; border-right: 1px solid var(--line-light); }
.evidence-card + .evidence-card { padding-left: clamp(22px, 3vw, 44px); }
.evidence-card:last-child { border-right: 0; }
.evidence-card > span { color: #62777b; font: 500 10px/1 'DM Mono', monospace; letter-spacing: .13em; text-transform: uppercase; }
.evidence-card h3 { max-width: 330px; margin-top: 72px; font: 600 clamp(25px, 2.35vw, 36px)/1 'Space Grotesk', sans-serif; letter-spacing: -.05em; }
.evidence-card p { max-width: 380px; margin-top: 22px; color: #4f6267; font-size: 14px; line-height: 1.65; }
.evidence-card a { display: inline-block; margin-top: 20px; color: #345e9c; border-bottom: 1px solid rgba(52,94,156,.35); font: 500 9px/1.4 'DM Mono', monospace; letter-spacing: .06em; text-transform: uppercase; }

.workload-section { color: var(--paper); background: var(--ink); }
.workload-section .section-head .head-copy { color: var(--mist); }
.workload-console { display: grid; grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr); border: 1px solid var(--line-dark); }
.workload-tabs { display: flex; flex-direction: column; border-right: 1px solid var(--line-dark); }
.workload-tab { position: relative; min-height: 92px; padding: 18px 54px 18px 20px; display: grid; grid-template-columns: 28px 1fr; align-items: center; gap: 12px; color: var(--mist); text-align: left; background: transparent; border: 0; border-bottom: 1px solid var(--line-dark); cursor: pointer; }
.workload-tab:last-child { border-bottom: 0; }
.workload-tab span { font: 500 10px/1 'DM Mono', monospace; }
.workload-tab strong { font-size: 14px; line-height: 1.35; }
.workload-tab::after { content: '→'; position: absolute; right: 20px; color: var(--sector); opacity: 0; transform: translateX(-5px); transition: opacity .2s ease, transform .2s ease; }
.workload-tab:hover { color: var(--paper); }
.workload-tab[aria-selected="true"] { color: var(--paper); background: var(--ink-2); }
.workload-tab[aria-selected="true"]::after { opacity: 1; transform: translateX(0); }
.workload-output { min-height: 458px; display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: clamp(40px, 6vw, 88px); padding: clamp(34px, 5vw, 72px); }
.workload-copy h3 { max-width: 660px; margin-top: 28px; font: 600 clamp(35px, 4.2vw, 65px)/.96 'Space Grotesk', sans-serif; letter-spacing: -.06em; }
.workload-copy > p { max-width: 680px; margin-top: 30px; color: #c2cecc; font-size: 16px; line-height: 1.7; }
.workload-result { margin-top: 44px; padding-top: 22px; border-top: 1px solid var(--line-dark); }
.workload-result span { color: var(--sector); font: 500 9px/1 'DM Mono', monospace; letter-spacing: .12em; text-transform: uppercase; }
.workload-result strong { display: block; margin-top: 11px; color: var(--paper); font-size: 17px; line-height: 1.5; }
.workload-profile { align-self: start; border-top: 1px solid var(--sector); }
.workload-profile div { padding: 17px 0; border-bottom: 1px solid var(--line-dark); }
.workload-profile dt { color: #778e93; font: 500 9px/1 'DM Mono', monospace; letter-spacing: .11em; text-transform: uppercase; }
.workload-profile dd { margin-top: 8px; color: var(--paper); font-size: 13px; line-height: 1.45; }

.ledger-section { background: var(--paper-2); }
.sovereignty-ledger { border-top: 1px solid var(--line-light); }
.ledger-row { min-height: 106px; display: grid; grid-template-columns: 54px minmax(130px, .45fr) minmax(0, 1.55fr); gap: 24px; align-items: center; border-bottom: 1px solid var(--line-light); }
.ledger-row > span { color: #718488; font: 500 10px/1 'DM Mono', monospace; }
.ledger-row h3 { font: 600 clamp(20px, 2vw, 28px)/1 'Space Grotesk', sans-serif; letter-spacing: -.045em; }
.ledger-row p { max-width: 770px; color: #40545a; font-size: 14px; line-height: 1.6; }

.architecture-section { color: var(--paper); background: var(--ink-2); }
.architecture-section .section-head .head-copy { color: var(--mist); }
.architecture-chain { display: grid; grid-template-columns: 1fr 40px 1fr 40px 1fr 40px 1fr; align-items: stretch; }
.architecture-chain article { min-height: 270px; padding: 26px; display: flex; flex-direction: column; background: var(--ink); border-top: 2px solid var(--sector); }
.architecture-chain article:nth-of-type(2) { border-color: var(--lime); }
.architecture-chain article span { color: #71888d; font: 500 9px/1 'DM Mono', monospace; letter-spacing: .12em; text-transform: uppercase; }
.architecture-chain article h3 { margin-top: auto; font: 600 clamp(23px, 2.1vw, 32px)/1 'Space Grotesk', sans-serif; letter-spacing: -.05em; }
.architecture-chain article p { margin-top: 18px; color: var(--mist); font-size: 13px; line-height: 1.55; }
.architecture-chain > i { display: grid; place-items: center; color: var(--sector); font: normal 22px/1 'DM Mono', monospace; }
.architecture-note { max-width: 830px; margin: 42px 0 0 auto; padding: 22px 0 0 32px; color: #c9d4d2; border-left: 1px solid var(--sector); font-size: 15px; line-height: 1.65; }

.engagement-section { background: var(--paper); }
.engagement-rail { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--line-light); }
.engagement-step { min-height: 300px; padding: 26px 22px 28px 0; display: flex; flex-direction: column; border-right: 1px solid var(--line-light); }
.engagement-step + .engagement-step { padding-left: 22px; }
.engagement-step:last-child { border-right: 0; }
.engagement-step > span { color: #6f8286; font: 500 9px/1 'DM Mono', monospace; letter-spacing: .1em; text-transform: uppercase; }
.engagement-step h3 { margin-top: 58px; font: 600 clamp(22px, 2vw, 29px)/1 'Space Grotesk', sans-serif; letter-spacing: -.045em; }
.engagement-step p { margin-top: 18px; color: #516368; font-size: 13px; line-height: 1.55; }
.engagement-step strong { margin-top: auto; padding-top: 24px; color: #355d96; font: 500 9px/1.5 'DM Mono', monospace; letter-spacing: .06em; text-transform: uppercase; }
.engagement-step.paid { background: var(--blue-light); padding-left: 22px; }
.engagement-step.paid strong { color: var(--ink); }

.brief-cta { position: relative; padding: clamp(90px, 11vw, 160px) clamp(22px, 6vw, 96px); color: var(--paper); background: var(--ink); overflow: hidden; }
.brief-cta::after { content: ''; position: absolute; width: min(46vw, 680px); aspect-ratio: 1; right: -10vw; bottom: -70%; border: 1px solid var(--sector); border-radius: 50%; box-shadow: 0 0 0 70px rgba(136,174,240,.04), 0 0 0 140px rgba(136,174,240,.025); }
.brief-cta-inner { position: relative; z-index: 1; width: min(100%, var(--max)); margin: 0 auto; display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: end; }
.brief-cta h2 { max-width: 960px; margin-top: 25px; font: 600 clamp(48px, 7vw, 108px)/.9 'Space Grotesk', sans-serif; letter-spacing: -.07em; }
.brief-cta h2 em { color: var(--sector); font-style: normal; }
.brief-cta p { max-width: 650px; margin-top: 30px; color: var(--mist); font-size: 16px; line-height: 1.65; }
.brief-cta .primary-action { min-width: 235px; }

.source-section { padding: 62px clamp(22px, 6vw, 96px); background: var(--paper-2); }
.source-section > div { width: min(100%, var(--max)); margin: 0 auto; display: grid; grid-template-columns: .35fr 1fr; gap: 50px; }
.source-section p { color: #52666b; font-size: 12px; line-height: 1.75; }
.source-section a { color: #345e9c; border-bottom: 1px solid rgba(52,94,156,.25); }
.research-date { margin-top: 16px; color: #718488; font: 500 9px/1.5 'DM Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }

.industry-footer { min-height: 76px; padding: 22px clamp(22px, 4vw, 64px); display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #71878b; background: var(--ink); border-top: 1px solid var(--line-dark); font: 500 9px/1.4 'DM Mono', monospace; letter-spacing: .1em; text-transform: uppercase; }

/* Industries hub */
.hub-hero { min-height: 680px; }
.hub-hero .hero-copy h1 { max-width: 1160px; }
.hub-intro { background: var(--paper); }
.sector-index { border-top: 1px solid var(--line-light); }
.sector-link { min-height: 180px; display: grid; grid-template-columns: 74px minmax(220px, .65fr) minmax(300px, 1fr) 46px; gap: 30px; align-items: center; border-bottom: 1px solid var(--line-light); transition: background .2s ease, padding .2s ease; }
.sector-link:hover { background: var(--paper-2); padding: 0 18px; }
.sector-link > span { color: #6c8084; font: 500 10px/1 'DM Mono', monospace; }
.sector-link h3 { font: 600 clamp(30px, 3vw, 46px)/.96 'Space Grotesk', sans-serif; letter-spacing: -.055em; }
.sector-link p { max-width: 590px; color: #4b6065; font-size: 15px; line-height: 1.6; }
.sector-link b { color: #456ba5; font: 400 28px/1 Manrope, sans-serif; transition: transform .2s ease; }
.sector-link:hover b { transform: translateX(8px); }
.sector-link.soon { opacity: .58; cursor: default; }
.sector-link.soon:hover { padding: 0; background: transparent; }
.sector-link.soon b { font: 500 9px/1 'DM Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }
.principle-band { color: var(--paper); background: var(--ink-2); }
.principle-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-dark); }
.principle-grid article { min-height: 300px; padding: 30px 35px 35px 0; border-right: 1px solid var(--line-dark); }
.principle-grid article + article { padding-left: 35px; }
.principle-grid article:last-child { border-right: 0; }
.principle-grid span { color: var(--blue); font: 500 9px/1 'DM Mono', monospace; letter-spacing: .1em; text-transform: uppercase; }
.principle-grid h3 { margin-top: 70px; font: 600 clamp(27px, 2.7vw, 40px)/.98 'Space Grotesk', sans-serif; letter-spacing: -.05em; }
.principle-grid p { margin-top: 20px; color: var(--mist); font-size: 14px; line-height: 1.6; }

.js [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .72s cubic-bezier(.2,.75,.2,1), transform .72s cubic-bezier(.2,.75,.2,1); }
.js [data-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 1020px) {
  .hero-grid { grid-template-columns: 1fr; gap: 56px; }
  .hero-docket { max-width: 600px; }
  .brief-hero { min-height: auto; }
  .section-head { grid-template-columns: 1fr; gap: 24px; }
  .workload-console { grid-template-columns: 1fr; }
  .workload-tabs { display: grid; grid-template-columns: repeat(2, 1fr); border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .workload-tab { border-right: 1px solid var(--line-dark); }
  .workload-output { grid-template-columns: 1fr 220px; }
  .architecture-chain { grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line-dark); }
  .architecture-chain > i { display: none; }
  .architecture-chain article { min-height: 240px; }
  .engagement-rail { grid-template-columns: repeat(2, 1fr); }
  .engagement-step { border-bottom: 1px solid var(--line-light); }
  .engagement-step:nth-child(2n) { border-right: 0; }
  .engagement-step:last-child { border-right: 1px solid var(--line-light); }
  .brief-cta-inner { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 760px) {
  .industry-topbar { min-height: 72px; grid-template-columns: 1fr auto; }
  .industry-topbar nav { display: none; }
  .topbar-cta { padding: 11px 12px; }
  .brief-hero { padding-top: 86px; }
  .brief-hero::after { top: 88px; font-size: 42vw; }
  .hero-copy h1 { font-size: clamp(49px, 16vw, 78px); }
  .hero-copy > p { margin-top: 42px; font-size: 17px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions a { width: 100%; }
  .decision-strip { grid-template-columns: repeat(2, 1fr); }
  .decision-strip span { min-height: 56px; border-bottom: 1px solid var(--line-dark); }
  .decision-strip span:nth-child(2n) { border-right: 0; }
  .evidence-grid, .principle-grid { grid-template-columns: 1fr; }
  .evidence-card, .principle-grid article { min-height: 250px; padding: 26px 0 32px; border-right: 0; border-bottom: 1px solid var(--line-light); }
  .evidence-card + .evidence-card, .principle-grid article + article { padding-left: 0; }
  .evidence-card h3, .principle-grid h3 { margin-top: 42px; }
  .workload-tabs { display: flex; overflow-x: auto; flex-direction: row; scroll-snap-type: x mandatory; }
  .workload-tab { min-width: 240px; border-bottom: 0; scroll-snap-align: start; }
  .workload-output { min-height: 0; grid-template-columns: 1fr; padding: 30px 22px 36px; }
  .workload-profile { margin-top: 14px; }
  .ledger-row { padding: 22px 0; grid-template-columns: 38px 1fr; gap: 12px; }
  .ledger-row p { grid-column: 2; }
  .architecture-chain { grid-template-columns: 1fr; }
  .architecture-chain article { min-height: 215px; }
  .architecture-note { margin-left: 0; padding-left: 20px; }
  .engagement-rail { grid-template-columns: 1fr; }
  .engagement-step, .engagement-step + .engagement-step { min-height: 230px; padding: 25px 0; border-right: 0; }
  .engagement-step.paid { padding-left: 18px; padding-right: 18px; }
  .engagement-step h3 { margin-top: 38px; }
  .brief-cta::after { width: 85vw; bottom: -20%; right: -45vw; }
  .source-section > div { grid-template-columns: 1fr; gap: 20px; }
  .industry-footer { align-items: flex-start; flex-direction: column; }
  .sector-link { min-height: 210px; grid-template-columns: 42px 1fr 30px; gap: 15px; padding: 28px 0; }
  .sector-link p { grid-column: 2; }
  .sector-link b { grid-column: 3; grid-row: 1; }
  .sector-link:hover { padding: 28px 12px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
  .js [data-reveal] { opacity: 1; transform: none; }
}
