:root {
  --ink: #17312a;
  --forest: #123d32;
  --forest-2: #0c2f27;
  --moss: #587565;
  --paper: #f7f3eb;
  --paper-deep: #eee7da;
  --white: #fffdf8;
  --brand-red: #e82511;
  --redwood: #e82511;
  --redwood-dark: #b91e0c;
  --ink-v2: #0a241d;
  --night: #061b16;
  --night-2: #0a2b22;
  --emerald: #0b4637;
  --sage: #c8d9c7;
  --mint: #e4eee6;
  --bone: #f3f1e9;
  --copper: #e82511;
  --copper-bright: #e82511;
  --line: rgba(23, 49, 42, .17);
  --shadow: 0 24px 70px rgba(20, 49, 41, .12);
  --radius: 1.1rem;
  --serif: "Aptos", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --sans: "Aptos", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
body.nav-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
::selection { color: var(--white); background: var(--redwood); }
:focus-visible { outline: 3px solid var(--redwood); outline-offset: 4px; }

.skip-link {
  position: fixed; left: 1rem; top: -5rem; z-index: 100;
  padding: .7rem 1rem; color: var(--white); background: var(--forest);
}
.skip-link:focus { top: 1rem; }
.container { width: min(1180px, calc(100% - 3rem)); margin-inline: auto; }
.narrow { width: min(780px, calc(100% - 3rem)); margin-inline: auto; }
.section { padding: clamp(3.75rem, 6vw, 6rem) 0; }
.section-tight { padding: clamp(2.75rem, 4.5vw, 4rem) 0; }
.eyebrow {
  display: inline-flex; align-items: center; gap: .65rem;
  margin: 0 0 1.2rem; color: var(--redwood-dark); font-size: .74rem;
  font-weight: 800; letter-spacing: .17em; text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 1.8rem; height: 1px; background: currentColor; }
h1, h2, h3 { margin: 0; color: var(--forest); font-family: var(--serif); font-weight: 400; line-height: .99; letter-spacing: -.035em; text-wrap: balance; }
h1 { font-size: clamp(3.8rem, 8.4vw, 7.7rem); }
h2 { font-size: clamp(2.7rem, 5.3vw, 5.2rem); }
h3 { font-size: clamp(1.55rem, 2.2vw, 2.1rem); line-height: 1.12; }
p { margin: 0 0 1.1rem; }
.lede { max-width: 720px; color: #4d615a; font-size: clamp(1.08rem, 1.7vw, 1.35rem); line-height: 1.6; }
.display-line { display: block; color: var(--redwood); font-style: italic; }
.text-link {
  display: inline-flex; align-items: center; gap: .65rem; padding-block: .2rem;
  color: var(--forest); font-size: .86rem; font-weight: 800; letter-spacing: .08em;
  text-decoration: none; text-transform: uppercase; border-bottom: 1px solid var(--forest);
}
.text-link::after { content: "→"; transition: transform .2s ease; }
.text-link:hover::after { transform: translateX(.25rem); }

.site-header {
  position: sticky; top: 0; z-index: 50; min-height: 80px;
  background: color-mix(in srgb, var(--paper) 90%, transparent);
  border-bottom: 1px solid transparent; backdrop-filter: blur(16px);
  transition: border-color .2s ease, background .2s ease;
}
.site-header.is-scrolled { border-color: var(--line); background: rgba(247,243,235,.96); }
.nav-wrap { min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.brand { display: inline-flex; align-items: center; gap: .8rem; text-decoration: none; }
.brand img.brand-logo { width: auto; height: 38px; object-fit: contain; }
.brand-logo-light { display: none; }
.site-footer .brand-logo-light { display: block; }
.brand-copy { display: grid; line-height: 1; }
.brand-name { color: var(--forest); font-family: var(--serif); font-size: 1.16rem; letter-spacing: -.02em; }
.brand-sub { margin-top: .3rem; color: var(--moss); font-size: .58rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.desktop-nav { display: flex; align-items: center; gap: 1.65rem; }
.desktop-nav > a:not(.button) { position: relative; color: #294a40; font-size: .86rem; font-weight: 700; text-decoration: none; }
.desktop-nav > a:not(.button)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -.55rem; height: 1px; background: var(--redwood); transition: right .2s ease; }
.desktop-nav > a:hover::after, .desktop-nav > a[aria-current="page"]::after { right: 0; }
.button {
  display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: .65rem;
  padding: .85rem 1.25rem; border: 1px solid var(--forest); border-radius: 999px;
  color: var(--white); background: var(--forest); font-size: .78rem; font-weight: 800;
  letter-spacing: .09em; text-decoration: none; text-transform: uppercase;
  cursor: pointer; transition: transform .2s ease, background .2s ease, color .2s ease;
}
.button::after { content: "↗"; font-size: 1rem; }
.button:hover { transform: translateY(-2px); background: var(--forest-2); }
.button-secondary { color: var(--forest); background: transparent; }
.button-secondary:hover { color: var(--white); background: var(--forest); }
.button-light { color: var(--forest); background: var(--white); border-color: var(--white); }
.button-light:hover { color: var(--white); background: transparent; }
.menu-button { display: none; width: 46px; height: 46px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: transparent; }
.menu-button span, .menu-button::before, .menu-button::after { content: ""; display: block; width: 19px; height: 1px; margin: 5px auto; background: var(--forest); transition: .2s ease; }
.menu-button[aria-expanded="true"] span { opacity: 0; }
.menu-button[aria-expanded="true"]::before { transform: translateY(6px) rotate(45deg); }
.menu-button[aria-expanded="true"]::after { transform: translateY(-6px) rotate(-45deg); }
.mobile-nav { display: none; }

.hero { position: relative; min-height: calc(100svh - 80px); display: grid; align-items: center; overflow: hidden; padding: clamp(4rem, 8vw, 7rem) 0; }
.hero::after { content: ""; position: absolute; z-index: -2; width: min(44vw, 650px); aspect-ratio: 1; right: -7vw; top: 7%; border-radius: 50%; background: var(--paper-deep); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: clamp(2rem, 7vw, 8rem); align-items: center; }
.hero-copy { position: relative; z-index: 2; }
.hero-copy .lede { max-width: 610px; margin-top: 2rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 2.35rem; }
.hero-visual { position: relative; min-height: 520px; display: grid; place-items: center; }
.rings { position: absolute; width: min(38vw, 500px); aspect-ratio: 1; border: 1px solid rgba(200,94,63,.5); border-radius: 48% 52% 51% 49%; animation: drift 16s ease-in-out infinite; }
.rings::before, .rings::after { content: ""; position: absolute; inset: 10%; border: 1px solid rgba(200,94,63,.38); border-radius: 55% 45% 48% 52%; }
.rings::after { inset: 22%; border-radius: 43% 57% 53% 47%; }
.rings span { position: absolute; inset: 36%; border: 1px solid rgba(200,94,63,.3); border-radius: 50%; }
.thesis-card {
  position: relative; z-index: 2; width: min(330px, 82%); padding: 2rem;
  color: var(--white); background: var(--forest); border-radius: var(--radius); box-shadow: var(--shadow);
}
.thesis-card::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(255,255,255,.12); border-radius: calc(var(--radius) - 7px); pointer-events: none; }
.thesis-index { display: block; margin-bottom: 4.5rem; color: #d4e2dc; font-size: .7rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.thesis-card h2 { color: var(--white); font-size: 2.15rem; line-height: 1.06; }
.thesis-card p { margin: 1.15rem 0 0; color: #c8d7d0; font-size: .94rem; }
.scroll-cue { position: absolute; left: max(1.5rem, calc((100vw - 1180px)/2)); bottom: 1.4rem; display: flex; gap: .7rem; align-items: center; color: var(--moss); font-size: .67rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.scroll-cue::before { content: ""; width: 2.4rem; height: 1px; background: var(--moss); }
@keyframes drift { 0%, 100% { transform: rotate(-4deg) scale(1); } 50% { transform: rotate(5deg) scale(1.03); } }

.trust-strip { border-block: 1px solid var(--line); }
.trust-grid { display: grid; grid-template-columns: 1.2fr repeat(3, 1fr); }
.trust-item { min-height: 150px; display: flex; flex-direction: column; justify-content: center; padding: 2rem; border-left: 1px solid var(--line); }
.trust-item:first-child { padding-left: 0; border-left: 0; }
.trust-item strong { color: var(--forest); font-family: var(--serif); font-size: 1.45rem; font-weight: 400; line-height: 1.15; }
.trust-item span { margin-top: .55rem; color: var(--moss); font-size: .79rem; }
.trust-label { color: var(--redwood-dark) !important; font-family: var(--sans) !important; font-size: .72rem !important; font-weight: 800 !important; letter-spacing: .15em; text-transform: uppercase; }

.split { display: grid; grid-template-columns: .84fr 1.16fr; gap: clamp(3rem, 9vw, 9rem); align-items: start; }
.split-copy { padding-top: .7rem; }
.split-copy .lede { margin: 1.8rem 0 0; }
.principle-list { margin: 0; border-top: 1px solid var(--line); }
.principle { display: grid; grid-template-columns: 58px 1fr; gap: 1rem; padding: 1.7rem 0; border-bottom: 1px solid var(--line); }
.principle-index { color: var(--redwood-dark); font-family: var(--serif); font-size: 1.15rem; }
.principle h3 { font-family: var(--sans); font-size: 1.02rem; font-weight: 800; letter-spacing: -.01em; }
.principle p { max-width: 540px; margin: .5rem 0 0; color: #60716b; font-size: .93rem; }

.dark-section { position: relative; overflow: hidden; color: #d4e1db; background: var(--forest); }
.dark-section::after { content: ""; position: absolute; right: -16%; bottom: -80%; width: 700px; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 90px rgba(255,255,255,.025), 0 0 0 180px rgba(255,255,255,.02); }
.dark-section h2, .dark-section h3 { color: var(--white); }
.dark-section .eyebrow { color: var(--brand-red); }
.dark-section .lede { color: #bdcec7; }
.cards-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 3.3rem; }
.strategy-card { min-height: 390px; display: flex; flex-direction: column; padding: 2rem; border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius); transition: transform .25s ease, background .25s ease; }
.strategy-card:hover { transform: translateY(-6px); background: rgba(255,255,255,.04); }
.strategy-number { color: var(--brand-red); font-family: var(--serif); font-size: 1.15rem; }
.strategy-card h3 { margin-top: auto; }
.strategy-card p { margin: 1rem 0 0; color: #bdcec7; font-size: .93rem; }

.criteria-layout { display: grid; grid-template-columns: minmax(280px, .76fr) 1.24fr; gap: clamp(3rem, 8vw, 8rem); }
.criteria-sticky { position: sticky; top: 120px; align-self: start; }
.criteria-sticky .lede { margin-top: 1.8rem; }
.criteria-list { margin: 0; }
.criteria-row { display: grid; grid-template-columns: minmax(160px, .65fr) 1fr; gap: 2rem; padding: 1.9rem 0; border-bottom: 1px solid var(--line); }
.criteria-row:first-child { border-top: 1px solid var(--line); }
.criteria-row dt { color: var(--forest); font-size: .78rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.criteria-row dd { margin: 0; color: #50645d; }

.insight-grid { display: grid; grid-template-columns: 1.3fr .85fr .85fr; gap: 1rem; margin-top: 3rem; }
.insight-card { min-height: 360px; display: flex; flex-direction: column; padding: 1.8rem; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.insight-card:first-child { min-height: 470px; color: var(--white); background: var(--redwood-dark); border-color: transparent; }
.insight-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.insight-tag { font-size: .69rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.insight-card:first-child .insight-tag { color: #ffd7ca; }
.insight-card h3 { margin-top: auto; }
.insight-card:first-child h3 { color: var(--white); font-size: clamp(2rem, 3vw, 3.1rem); }
.insight-card p { margin: 1rem 0 0; color: #63746e; font-size: .88rem; }
.insight-card:first-child p { color: #f5d9d0; }
.insight-arrow { margin-top: 1.5rem; font-size: 1.3rem; }

.cta-panel { position: relative; overflow: hidden; display: grid; grid-template-columns: 1.25fr .75fr; gap: 2rem; align-items: end; padding: clamp(2.5rem, 6vw, 5.5rem); color: var(--white); background: var(--redwood-dark); border-radius: calc(var(--radius) * 1.3); }
.cta-panel::after { content: ""; position: absolute; width: 340px; aspect-ratio: 1; right: -110px; top: -150px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; box-shadow: 0 0 0 50px rgba(255,255,255,.04), 0 0 0 100px rgba(255,255,255,.025); }
.cta-panel h2 { color: var(--white); font-size: clamp(2.7rem, 5vw, 5rem); }
.cta-panel p { max-width: 650px; margin: 1.4rem 0 0; color: #f6d8cf; }
.cta-panel .button { position: relative; z-index: 2; justify-self: end; }

.page-hero { position: relative; overflow: hidden; padding: clamp(5rem, 10vw, 9rem) 0 clamp(4rem, 8vw, 7rem); border-bottom: 1px solid var(--line); }
.page-hero::after { content: ""; position: absolute; right: -8rem; top: -12rem; width: 520px; aspect-ratio: 1; border: 1px solid rgba(200,94,63,.35); border-radius: 50%; box-shadow: 0 0 0 70px rgba(200,94,63,.04), 0 0 0 140px rgba(200,94,63,.025); }
.page-hero h1 { max-width: 950px; font-size: clamp(3.5rem, 7vw, 6.9rem); }
.page-hero .lede { margin-top: 2rem; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2.5rem; color: var(--moss); font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.breadcrumb a { text-decoration: none; }
.breadcrumb span::before { content: "/"; margin-right: .5rem; color: var(--redwood); }
.statements { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--line); }
.statement { padding: 2.2rem; border-left: 1px solid var(--line); }
.statement:first-child { padding-left: 0; border-left: 0; }
.statement h3 { font-size: 1.55rem; }
.statement p { margin: .8rem 0 0; color: #5c6e68; font-size: .9rem; }
.timeline { position: relative; margin-top: 3rem; }
.timeline::before { content: ""; position: absolute; left: 19px; top: 25px; bottom: 25px; width: 1px; background: var(--line); }
.timeline-item { position: relative; display: grid; grid-template-columns: 42px 1fr; gap: 1.5rem; padding: 0 0 2.4rem; }
.timeline-dot { position: relative; z-index: 2; width: 39px; height: 39px; display: grid; place-items: center; color: var(--redwood-dark); background: var(--paper); border: 1px solid var(--redwood); border-radius: 50%; font-size: .74rem; font-weight: 800; }
.timeline-item h3 { font-family: var(--sans); font-size: 1rem; font-weight: 800; }
.timeline-item p { max-width: 650px; margin: .45rem 0 0; color: #5b6e67; font-size: .92rem; }
.quote-block { padding: clamp(3rem, 7vw, 6rem); color: var(--white); background: var(--forest); border-radius: var(--radius); }
.quote-block p { max-width: 900px; margin: 0; font-family: var(--serif); font-size: clamp(2.1rem, 4vw, 4rem); line-height: 1.08; letter-spacing: -.03em; }
.quote-block span { display: block; margin-top: 2rem; color: #bdcec7; font-size: .75rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }

.article-list { margin-top: 3rem; border-top: 1px solid var(--line); }
.article-row { display: grid; grid-template-columns: 130px 1fr auto; gap: 2rem; align-items: center; padding: 2rem 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.article-row:hover h3 { color: var(--redwood-dark); }
.article-meta { color: var(--moss); font-size: .69rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.article-row h3 { font-size: clamp(1.4rem, 2.5vw, 2.3rem); transition: color .2s ease; }
.article-row > span:last-child { font-size: 1.4rem; }
.article-shell { display: grid; grid-template-columns: minmax(0, 760px) 240px; gap: 5rem; align-items: start; }
.article-body h2 { margin: 2.75rem 0 1.1rem; font-size: clamp(2rem, 4vw, 3.2rem); }
.article-body h3 { margin: 2.5rem 0 1rem; font-family: var(--sans); font-size: 1.12rem; font-weight: 800; }
.article-body p, .article-body li { color: #425a52; font-size: 1.04rem; line-height: 1.85; }
.article-aside { position: sticky; top: 120px; padding: 1.4rem; border: 1px solid var(--line); border-radius: var(--radius); }
.article-aside strong { display: block; color: var(--forest); }
.article-aside p { margin: .5rem 0 1rem; color: var(--moss); font-size: .86rem; }

.form-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.contact-note { padding: 1.5rem; margin-top: 2rem; background: var(--paper-deep); border-radius: var(--radius); }
.contact-note strong { display: block; color: var(--forest); }
.contact-note p { margin: .4rem 0 0; color: #5d6f69; font-size: .88rem; }
.inquiry-form { padding: clamp(1.7rem, 4vw, 3rem); background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.field { display: grid; gap: .45rem; }
.field-full { grid-column: 1 / -1; }
.field label { color: var(--forest); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.field input, .field textarea, .field select { width: 100%; padding: .85rem 0; color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid #9eaaa6; border-radius: 0; }
.field textarea { min-height: 130px; resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus { outline: 0; border-color: var(--redwood); box-shadow: 0 1px 0 var(--redwood); }
.form-footer { display: flex; gap: 1rem; align-items: center; justify-content: space-between; margin-top: 2rem; }
.form-footer small { max-width: 330px; color: #687973; line-height: 1.45; }
.form-status { display: none; margin-top: 1rem; padding: 1rem; color: var(--forest); background: #e7f0eb; border-radius: .5rem; font-size: .9rem; }
.form-status.is-visible { display: block; }

.site-footer { padding: 4.5rem 0 2rem; color: #c7d5cf; background: var(--forest-2); }
.footer-top { display: grid; grid-template-columns: 1.25fr repeat(2, .55fr) .85fr; gap: 3rem; padding-bottom: 3.5rem; }
.footer-brand .brand-name { color: var(--white); }
.footer-brand .brand-sub { color: #9cb1a8; }
.footer-brand p { max-width: 330px; margin-top: 1.3rem; color: #9fb2aa; font-size: .89rem; }
.footer-column strong { display: block; margin-bottom: 1rem; color: #ff5a47; font-size: .69rem; letter-spacing: .14em; text-transform: uppercase; }
.footer-column a { display: block; width: fit-content; margin: .55rem 0; color: #c7d5cf; font-size: .87rem; text-decoration: none; }
.footer-column a:hover { color: var(--white); }
.footer-contact { padding: 1.3rem; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius); }
.footer-contact p { margin: 0 0 1rem; color: #c7d5cf; font-family: var(--serif); font-size: 1.3rem; line-height: 1.25; }
.footer-bottom { display: flex; justify-content: space-between; gap: 2rem; padding-top: 1.5rem; color: #829c92; border-top: 1px solid rgba(255,255,255,.12); font-size: .72rem; }
.footer-bottom div { display: flex; gap: 1.2rem; }
.footer-bottom a { text-decoration: none; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .hero-slide-v2 { transition: none; transform: none; }
}
@media (max-width: 900px) {
  .desktop-nav { display: none; }
  .menu-button { display: block; }
  .mobile-nav { position: fixed; inset: 80px 0 auto 0; z-index: 40; width: 100%; height: calc(100dvh - 80px); display: grid; align-content: start; gap: 0; overflow-y: auto; padding: 2rem 1.5rem; background: var(--paper); visibility: hidden; clip-path: inset(0 0 0 100%); pointer-events: none; transition: clip-path .28s ease, visibility 0s linear .28s; }
  .mobile-nav.is-open { visibility: visible; clip-path: inset(0); pointer-events: auto; transition-delay: 0s; }
  .mobile-nav a { padding: 1rem 0; color: var(--forest); font-family: var(--serif); font-size: 1.8rem; text-decoration: none; border-bottom: 1px solid var(--line); }
  .mobile-nav .button { width: fit-content; margin-top: 1.5rem; color: var(--white); font-family: var(--sans); font-size: .78rem; border-bottom: 1px solid var(--forest); }
  .hero { min-height: auto; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-visual { min-height: 420px; }
  .rings { width: min(76vw, 480px); }
  .scroll-cue { display: none; }
  .trust-grid { grid-template-columns: 1fr 1fr; }
  .trust-item { border-bottom: 1px solid var(--line); }
  .trust-item:nth-child(3) { padding-left: 0; border-left: 0; }
  .split, .criteria-layout, .form-layout { grid-template-columns: 1fr; }
  .cards-grid { grid-template-columns: 1fr; }
  .strategy-card { min-height: 280px; }
  .criteria-sticky { position: static; }
  .insight-grid { grid-template-columns: 1fr 1fr; }
  .insight-card:first-child { grid-column: 1 / -1; }
  .cta-panel { grid-template-columns: 1fr; }
  .cta-panel .button { justify-self: start; }
  .statements { grid-template-columns: 1fr; }
  .statement { padding-left: 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .article-shell { grid-template-columns: 1fr; }
  .article-aside { position: static; }
  .footer-top { grid-template-columns: 1.3fr .7fr .7fr; }
  .footer-contact { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .container, .narrow { width: min(100% - 2rem, 1180px); }
  .brand-sub { display: none; }
  h1 { font-size: clamp(3.3rem, 17vw, 5.4rem); }
  h2 { font-size: clamp(2.45rem, 12vw, 4rem); }
  .hero { padding-top: 3.5rem; }
  .hero-visual { min-height: 370px; }
  .thesis-card { padding: 1.6rem; }
  .thesis-index { margin-bottom: 3rem; }
  .trust-grid { grid-template-columns: 1fr; }
  .trust-item, .trust-item:nth-child(3) { min-height: 120px; padding: 1.5rem 0; border-left: 0; }
  .principle { grid-template-columns: 40px 1fr; }
  .criteria-row { grid-template-columns: 1fr; gap: .5rem; }
  .insight-grid { grid-template-columns: 1fr; }
  .insight-card:first-child { grid-column: auto; min-height: 400px; }
  .article-row { grid-template-columns: 1fr auto; gap: 1rem; }
  .article-meta { grid-column: 1 / -1; }
  .form-grid { grid-template-columns: 1fr; }
  .field-full { grid-column: auto; }
  .form-footer { align-items: stretch; flex-direction: column; }
  .form-footer .button { width: 100%; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-brand, .footer-contact { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; }
}

/* Redwood visual system v2 */
.home-v2 {
  --ink-v2: #0a241d;
  --night: #061b16;
  --night-2: #0a2b22;
  --emerald: #0b4637;
  --sage: #c8d9c7;
  --mint: #e4eee6;
  --bone: #f3f1e9;
  --copper: #e82511;
  --copper-bright: #e82511;
  background: var(--bone);
}
.home-v2 h1, .home-v2 h2, .home-v2 h3 { font-family: var(--sans); font-weight: 700; letter-spacing: -.055em; }
.home-v2 .container { width: min(1280px, calc(100% - 5rem)); }
.brand-v2 { gap: .72rem; }
.brand-v2 img.brand-logo { width: auto; height: 42px; filter: drop-shadow(0 7px 18px rgba(0,0,0,.12)); }
.brand-v2 .brand-copy { gap: .12rem; }
.brand-v2 .brand-name { font-family: var(--sans); font-size: .88rem; font-weight: 800; letter-spacing: .19em; }
.brand-v2 .brand-sub { display: block; margin: 0; font-size: .56rem; letter-spacing: .33em; }
.v2-header { position: fixed; width: 100%; color: white; background: linear-gradient(180deg, rgba(3,18,14,.72), transparent); border: 0; backdrop-filter: none; }
.v2-header .brand-name { color: white; }
.v2-header .brand-sub { color: rgba(255,255,255,.64); }
.v2-header .desktop-nav > a:not(.button) { color: rgba(255,255,255,.82); }
.v2-header .desktop-nav > a:not(.button)::after { background: var(--copper-bright); }
.v2-header .menu-button { border-color: rgba(255,255,255,.25); }
.v2-header .menu-button span, .v2-header .menu-button::before, .v2-header .menu-button::after { background: white; }
.v2-header .brand-logo-dark { display: none; }
.v2-header .brand-logo-light { display: block; }
.v2-header.is-scrolled { color: var(--ink-v2); background: rgba(243,241,233,.94); border-bottom: 1px solid rgba(7,31,25,.12); backdrop-filter: blur(18px); }
.v2-header.is-scrolled .brand-name { color: var(--night); }
.v2-header.is-scrolled .brand-sub { color: var(--moss); }
.v2-header.is-scrolled .desktop-nav > a:not(.button) { color: var(--night); }
.v2-header.is-scrolled .menu-button { border-color: rgba(7,31,25,.18); }
.v2-header.is-scrolled .menu-button span, .v2-header.is-scrolled .menu-button::before, .v2-header.is-scrolled .menu-button::after { background: var(--night); }
.v2-header.is-scrolled .brand-logo-light { display: none; }
.v2-header.is-scrolled .brand-logo-dark { display: block; }
.button-copper { color: #000; background: var(--copper-bright); border-color: var(--copper-bright); }
.button-copper:hover { color: var(--night); background: white; border-color: white; }
.button-outline-light { color: white; background: transparent; border-color: rgba(255,255,255,.55); }
.button-outline-light:hover { color: var(--night); background: white; }
.text-link-light { color: white; border-color: rgba(255,255,255,.55); }

.hero-v2 { position: relative; min-height: 100svh; display: flex; align-items: center; overflow: hidden; color: white; background: var(--night); }
.hero-media-v2, .hero-scrim-v2 { position: absolute; inset: 0; }
.hero-slide-v2 { position: absolute; inset: 0; opacity: 0; transform: scale(1.035); transition: opacity 1.1s ease, transform 7.5s ease; }
.hero-slide-v2.is-active { opacity: 1; transform: scale(1.085); }
.hero-slide-v2 img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-scrim-v2 { background: linear-gradient(90deg, rgba(3,18,14,.94) 0%, rgba(3,18,14,.74) 38%, rgba(3,18,14,.2) 72%, rgba(3,18,14,.12) 100%), linear-gradient(0deg, rgba(3,18,14,.88) 0%, transparent 42%); }
.hero-content-v2 { position: relative; z-index: 2; padding-top: 7rem; padding-bottom: 9rem; }
.hero-status-v2 { display: inline-flex; align-items: center; gap: .7rem; color: rgba(255,255,255,.75); font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.pulse-dot { position: relative; width: 8px; height: 8px; background: #89d0a9; border-radius: 50%; box-shadow: 0 0 0 6px rgba(137,208,169,.12); }
.pulse-dot::after { content: ""; position: absolute; inset: -6px; border: 1px solid rgba(137,208,169,.65); border-radius: 50%; animation: pulse-out 2s ease-out infinite; }
.hero-title-v2 { max-width: 960px; margin-top: 2rem; color: white; font-size: clamp(4rem, 8vw, 8.5rem); font-weight: 700; line-height: .88; letter-spacing: -.075em; }
.hero-title-v2 .hero-line { display: block; opacity: 0; transform: translateY(70px); animation: title-up .9s cubic-bezier(.2,.7,.1,1) .15s forwards; }
.hero-title-v2 .accent-line { color: var(--brand-red); animation-delay: .34s; }
.hero-lede-v2 { max-width: 620px; margin: 2.2rem 0 0; color: rgba(255,255,255,.76); font-size: clamp(1.08rem, 1.5vw, 1.35rem); line-height: 1.55; }
.hero-animate { opacity: 0; transform: translateY(22px); animation: fade-up .7s ease .65s forwards; }
.hero-actions.hero-animate { animation-delay: .82s; }
.hero-actions { display: flex; align-items: center; gap: 1.4rem; margin-top: 2.4rem; }
.hero-slider-controls { display: flex; align-items: center; gap: .65rem; margin-top: 1.5rem; }
.hero-slider-controls button { min-width: 38px; height: 38px; display: grid; place-items: center; padding: 0 .75rem; color: white; background: rgba(4,23,18,.44); border: 1px solid rgba(255,255,255,.28); border-radius: 999px; cursor: pointer; transition: color .2s ease, background .2s ease, border-color .2s ease; }
.hero-slider-controls button:hover, .hero-slider-controls button:focus-visible { color: var(--night); background: white; border-color: white; }
.hero-dots { display: flex; gap: .12rem; }
.hero-dots button { min-width: 28px; width: 28px; height: 28px; padding: 0; border-color: transparent; background: transparent; }
.hero-dots button::after { content: ""; width: 9px; height: 9px; border: 1px solid rgba(255,255,255,.55); border-radius: 999px; transition: width .2s ease, background .2s ease, border-color .2s ease; }
.hero-dots button.is-active { width: 28px; background: transparent; border-color: transparent; }
.hero-dots button.is-active::after { width: 24px; background: var(--brand-red); border-color: var(--brand-red); }
.hero-pause { width: auto; min-width: 68px !important; font-size: .64rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.hero-title-v2.is-changing .hero-line { animation: slider-title-in .72s cubic-bezier(.2,.7,.1,1) forwards; }
.video-link { display: inline-flex; align-items: center; gap: .8rem; color: white; font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.play-icon { width: 50px; height: 50px; display: grid; place-items: center; padding-left: 3px; border: 1px solid rgba(255,255,255,.46); border-radius: 50%; transition: .25s ease; }
.video-link:hover .play-icon { color: var(--night); background: white; transform: scale(1.08); }
.hero-footer-v2 { position: absolute; z-index: 3; left: 0; right: 0; bottom: 0; border-top: 1px solid rgba(255,255,255,.18); background: rgba(4,23,18,.3); backdrop-filter: blur(12px); }
.hero-footer-grid { min-height: 88px; display: grid; grid-template-columns: repeat(3, 1fr) auto; align-items: center; gap: 2rem; color: rgba(255,255,255,.62); font-size: .69rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.hero-footer-grid a { color: white; text-decoration: none; }
.hero-footer-grid b { margin-left: .8rem; color: var(--copper-bright); font-size: 1.1rem; }
.hero-orbit { position: absolute; z-index: 1; border: 1px solid rgba(232,37,17,.35); border-radius: 50%; pointer-events: none; }
.hero-orbit-one { width: 580px; height: 580px; right: -150px; top: 4%; animation: orbit-spin 32s linear infinite; }
.hero-orbit-two { width: 420px; height: 420px; right: -70px; top: 14%; border-style: dashed; animation: orbit-spin 26s linear reverse infinite; }
.hero-orbit::before { content: ""; position: absolute; width: 8px; height: 8px; left: 8%; top: 23%; background: var(--copper-bright); border-radius: 50%; box-shadow: 0 0 20px var(--copper-bright); }
@keyframes hero-breathe { from { transform: scale(1); } to { transform: scale(1.075); } }
@keyframes title-up { to { opacity: 1; transform: none; } }
@keyframes fade-up { to { opacity: 1; transform: none; } }
@keyframes slider-title-in { from { opacity: 0; transform: translateY(36px); } to { opacity: 1; transform: none; } }
@keyframes pulse-out { 0% { opacity: .8; transform: scale(.5); } 100% { opacity: 0; transform: scale(1.8); } }
@keyframes orbit-spin { to { transform: rotate(360deg); } }

.signal-bar { overflow: hidden; padding: 1.05rem 0; color: white; background: var(--copper); }
.signal-track { width: max-content; display: flex; align-items: center; gap: 2rem; animation: marquee 26s linear infinite; }
.signal-track span { font-size: .72rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.signal-track i { width: 6px; height: 6px; background: var(--night); border-radius: 50%; }
@keyframes marquee { to { transform: translateX(-50%); } }

.section-kicker { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2.75rem; padding-bottom: 1rem; color: var(--copper); border-bottom: 1px solid rgba(7,31,25,.19); font-size: .7rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.section-kicker b { color: var(--moss); }
.section-kicker.light { color: var(--copper-bright); border-color: rgba(255,255,255,.19); }
.section-kicker.light b { color: rgba(255,255,255,.5); }
.thesis-v2 { background: var(--bone); }
.thesis-grid-v2 { display: grid; grid-template-columns: .76fr 1.24fr; gap: clamp(3rem, 8vw, 9rem); align-items: center; }
.thesis-copy-v2 h2 { font-size: clamp(3rem, 5.8vw, 6rem); line-height: .98; }
.thesis-copy-v2 .lede { margin: 2rem 0; font-size: 1.05rem; }
.image-stage { position: relative; min-height: 650px; margin: 0; overflow: hidden; background: var(--night); }
.image-stage img { width: 100%; height: 650px; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.1,1); }
.image-stage:hover img { transform: scale(1.035); }
.image-stage::after { content: ""; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent, rgba(3,18,14,.84)); }
.image-stage figcaption { position: absolute; z-index: 2; left: 2rem; right: 2rem; bottom: 2rem; display: grid; color: white; }
.image-stage figcaption span { color: rgba(255,255,255,.62); font-size: .68rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.image-stage figcaption strong { margin-top: .4rem; font-size: 1.45rem; }
.image-index { position: absolute; z-index: 2; top: 1.2rem; right: 1.2rem; padding: .65rem .85rem; color: white; background: rgba(4,27,21,.62); border: 1px solid rgba(255,255,255,.25); border-radius: 999px; backdrop-filter: blur(10px); font-size: .65rem; font-weight: 800; letter-spacing: .12em; }

.operating-system-v2 { color: white; background: var(--night); }
.operating-intro-v2 { display: grid; grid-template-columns: 1.3fr .7fr; gap: 6rem; align-items: end; }
.operating-intro-v2 h2 { max-width: 850px; color: white; font-size: clamp(3rem, 6vw, 6.2rem); line-height: .95; }
.operating-intro-v2 p { color: rgba(255,255,255,.62); }
.system-dashboard { display: grid; grid-template-columns: 190px 1fr 280px; margin-top: 3.5rem; border: 1px solid rgba(255,255,255,.17); background: rgba(255,255,255,.025); }
.system-tabs { display: grid; align-content: stretch; border-right: 1px solid rgba(255,255,255,.17); }
.system-tab { display: flex; align-items: center; gap: 1rem; padding: 1.4rem; color: rgba(255,255,255,.52); background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,.15); text-align: left; cursor: pointer; transition: .25s ease; }
.system-tab:last-child { border-bottom: 0; }
.system-tab span { color: var(--copper-bright); font-size: .65rem; }
.system-tab.is-active, .system-tab:hover { color: white; background: rgba(232,37,17,.18); }
.system-visual { min-width: 0; padding: 2rem; }
.chart-header { display: flex; justify-content: space-between; gap: 1rem; }
.chart-header span { color: rgba(255,255,255,.45); font-size: .66rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.chart-header strong { color: white; font-size: .86rem; }
.capability-chart { width: 100%; margin-top: 1.4rem; overflow: visible; }
.chart-grid path { fill: none; stroke: rgba(255,255,255,.09); stroke-width: 1; }
.chart-line { fill: none; stroke: var(--copper-bright); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 1000; stroke-dashoffset: 1000; animation: draw-line 1.6s ease forwards; }
.chart-area { opacity: 0; animation: chart-fill .8s ease .6s forwards; }
.chart-labels text { fill: rgba(255,255,255,.38); font-family: var(--sans); font-size: 9px; font-weight: 700; letter-spacing: 1px; }
@keyframes draw-line { to { stroke-dashoffset: 0; } }
@keyframes chart-fill { to { opacity: 1; } }
.system-detail { display: flex; flex-direction: column; justify-content: center; padding: 2rem; border-left: 1px solid rgba(255,255,255,.17); }
.system-number { color: var(--copper-bright); font-size: .72rem; font-weight: 800; }
.system-detail h3 { margin-top: 3rem; color: white; font-size: 2rem; }
.system-detail p { margin: 1rem 0 2rem; color: rgba(255,255,255,.57); font-size: .88rem; }

.sectors-v2 { background: #e8efe8; }
.split-heading-v2 { display: grid; grid-template-columns: 1.25fr .75fr; gap: 5rem; align-items: end; }
.split-heading-v2 h2 { font-size: clamp(3rem, 6vw, 6.3rem); line-height: .95; }
.split-heading-v2 p { color: #50685f; font-size: 1.05rem; }
.split-heading-v2.light h2 { color: white; }
.split-heading-v2.light p { color: rgba(255,255,255,.6); }
.sector-grid-v2 { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 3rem; border-top: 1px solid rgba(7,31,25,.18); border-bottom: 1px solid rgba(7,31,25,.18); }
.sector-card-v2 { position: relative; min-height: 430px; display: flex; flex-direction: column; padding: 2rem; color: var(--night); border-right: 1px solid rgba(7,31,25,.18); text-decoration: none; transition: .3s ease; }
.sector-card-v2:last-child { border-right: 0; }
.sector-card-v2:hover { color: white; background: var(--emerald); transform: translateY(-12px); box-shadow: 0 24px 60px rgba(7,31,25,.2); }
.sector-icon { width: 58px; height: 58px; display: grid; place-items: center; color: var(--copper); background: white; border-radius: 50%; }
.sector-icon svg { width: 31px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.sector-card-v2 em { margin-top: 2rem; color: var(--copper); font-size: .67rem; font-style: normal; font-weight: 800; }
.sector-card-v2 h3 { margin-top: auto; font-size: 1.65rem; }
.sector-card-v2 p { color: #5d7169; font-size: .86rem; }
.sector-card-v2:hover p { color: rgba(255,255,255,.64); }
.sector-card-v2 b { margin-top: 1rem; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.sector-card-v2 b span { float: right; font-size: 1rem; transition: transform .2s ease; }
.sector-card-v2:hover b span { transform: translate(4px,-4px); }

.infrastructure-story { position: relative; min-height: 820px; display: flex; align-items: center; overflow: hidden; color: white; background: var(--night); }
.infrastructure-story > img, .infrastructure-scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.infrastructure-story > img { object-fit: cover; transition: transform 1s ease; }
.infrastructure-story:hover > img { transform: scale(1.025); }
.infrastructure-scrim { background: linear-gradient(90deg, rgba(3,19,15,.92), rgba(3,19,15,.52) 53%, rgba(3,19,15,.12)); }
.infrastructure-content { position: relative; z-index: 2; }
.infrastructure-content .eyebrow { color: var(--copper-bright); }
.infrastructure-content h2 { max-width: 790px; color: white; font-size: clamp(3.5rem, 7vw, 7rem); line-height: .92; }
.infrastructure-content > p:not(.eyebrow) { max-width: 570px; margin: 2rem 0; color: rgba(255,255,255,.68); font-size: 1.05rem; }
.story-hotspot { position: absolute; z-index: 3; display: flex; align-items: center; gap: 1rem; color: white; }
.story-hotspot > span { position: relative; width: 16px; height: 16px; background: var(--copper-bright); border: 4px solid white; border-radius: 50%; box-shadow: 0 0 0 8px rgba(239,145,105,.33); }
.story-hotspot > span::after { content: ""; position: absolute; inset: -13px; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; animation: pulse-out 2.4s ease-out infinite; }
.story-hotspot div { display: grid; padding: .75rem 1rem; background: rgba(3,19,15,.67); border: 1px solid rgba(255,255,255,.2); backdrop-filter: blur(8px); }
.story-hotspot b { font-size: .75rem; }
.story-hotspot small { color: rgba(255,255,255,.6); font-size: .65rem; }
.hotspot-one { right: 15%; top: 32%; }
.hotspot-two { right: 31%; bottom: 23%; }

.fit-explorer-v2 { background: var(--bone); }
.fit-shell { display: grid; grid-template-columns: .72fr 1.28fr; overflow: hidden; background: white; border-radius: 2px; box-shadow: 0 30px 100px rgba(7,31,25,.12); }
.fit-intro { padding: clamp(2.2rem, 5vw, 5rem); color: white; background: var(--emerald); }
.tool-badge { display: inline-flex; padding: .45rem .7rem; color: #bde6ca; border: 1px solid rgba(189,230,202,.34); border-radius: 999px; font-size: .62rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.fit-intro h2 { margin-top: 2rem; color: white; font-size: clamp(2.6rem, 4vw, 4.4rem); line-height: .98; }
.fit-intro p { margin-top: 1.5rem; color: rgba(255,255,255,.65); }
.fit-progress { height: 4px; margin-top: 4rem; background: rgba(255,255,255,.15); }
.fit-progress i { display: block; width: 0; height: 100%; background: var(--copper-bright); transition: width .35s ease; }
.fit-intro small { display: block; margin-top: .7rem; color: rgba(255,255,255,.5); }
.fit-questions { padding: clamp(2rem, 4vw, 4.5rem); }
.fit-questions fieldset { margin: 0 0 1.8rem; padding: 0 0 1.7rem; border: 0; border-bottom: 1px solid rgba(7,31,25,.12); }
.fit-questions legend { margin-bottom: .85rem; color: var(--night); font-size: .76rem; font-weight: 800; }
.choice-row { display: flex; flex-wrap: wrap; gap: .55rem; }
.choice-row button { padding: .65rem .9rem; color: #50645c; background: transparent; border: 1px solid rgba(7,31,25,.22); border-radius: 999px; font-size: .73rem; cursor: pointer; transition: .2s ease; }
.choice-row button:hover, .choice-row button.is-selected { color: white; background: var(--emerald); border-color: var(--emerald); transform: translateY(-2px); }
.fit-result { display: grid; grid-template-columns: 150px 1fr; gap: .4rem 1.5rem; padding: 1.5rem; background: #eef4ee; border-left: 3px solid var(--copper); }
.fit-result > span { grid-row: 1 / 4; color: var(--copper); font-size: .63rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.fit-result h3 { font-size: 1.18rem; letter-spacing: -.02em; }
.fit-result p { margin: 0; color: #60736c; font-size: .8rem; }
.fit-result .text-link { width: fit-content; margin-top: .5rem; font-size: .64rem; }

.insights-v2 { color: white; background: var(--night-2); }
.editorial-grid-v2 { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 3rem; border-top: 1px solid rgba(255,255,255,.15); border-left: 1px solid rgba(255,255,255,.15); }
.editorial-card-v2 { min-height: 330px; display: flex; flex-direction: column; padding: 2rem; color: white; border-right: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); text-decoration: none; transition: .25s ease; }
.editorial-card-v2:hover { background: rgba(255,255,255,.06); }
.editorial-card-v2 small { color: var(--copper-bright); font-size: .64rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.editorial-card-v2 h3 { margin-top: auto; color: white; font-size: 1.65rem; line-height: 1.08; }
.editorial-card-v2 p { color: rgba(255,255,255,.55); font-size: .84rem; }
.editorial-card-v2 b { margin-top: 1rem; color: rgba(255,255,255,.78); font-size: .65rem; letter-spacing: .11em; text-transform: uppercase; }
.editorial-card-v2.featured { grid-row: span 2; min-height: 660px; background: var(--copper); }
.editorial-card-v2.featured small, .editorial-card-v2.featured p { color: rgba(16,23,19,.67); }
.editorial-card-v2.featured h3 { color: var(--night); font-size: clamp(2.2rem, 3vw, 3.3rem); }
.editorial-card-v2.featured b { color: var(--night); }
.editorial-visual { position: relative; flex: 1; min-height: 200px; }
.rings-visual::before, .rings-visual::after, .rings-visual span { content: ""; position: absolute; inset: 6%; border: 1px solid rgba(7,31,25,.45); border-radius: 48% 52% 42% 58%; animation: orbit-spin 22s linear infinite; }
.rings-visual::after { inset: 19%; animation-direction: reverse; }
.rings-visual span { inset: 34%; animation-duration: 14s; }
.insights-all { margin-top: 2.5rem; }

.final-cta-v2 { color: white; background: var(--night); }
.final-cta-inner { position: relative; overflow: hidden; padding: clamp(3rem, 8vw, 8rem); background: #123f33; }
.final-cta-inner .eyebrow { color: var(--copper-bright); }
.final-cta-inner h2 { position: relative; z-index: 2; max-width: 960px; color: white; font-size: clamp(3.2rem, 6.7vw, 7rem); line-height: .92; }
.final-cta-inner > p:not(.eyebrow) { position: relative; z-index: 2; max-width: 610px; margin: 2rem 0; color: rgba(255,255,255,.65); }
.final-cta-inner > div { position: relative; z-index: 2; display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; }
.cta-ring { position: absolute; width: 600px; height: 600px; right: -120px; top: -160px; border: 1px solid rgba(239,145,105,.35); border-radius: 50%; box-shadow: 0 0 0 80px rgba(239,145,105,.05), 0 0 0 160px rgba(239,145,105,.03); animation: orbit-spin 35s linear infinite; }
.site-footer-v2 { background: #041611; }

@media (max-width: 1100px) {
  .home-v2 .container { width: min(100% - 3rem, 1280px); }
  .hero-title-v2 { font-size: clamp(4rem, 9vw, 7rem); }
  .system-dashboard { grid-template-columns: 150px 1fr; }
  .system-detail { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.17); border-left: 0; }
  .sector-grid-v2 { grid-template-columns: 1fr 1fr; }
  .sector-card-v2:nth-child(2) { border-right: 0; }
  .sector-card-v2:nth-child(-n+2) { border-bottom: 1px solid rgba(7,31,25,.18); }
}
@media (max-width: 900px) {
  .v2-header .mobile-nav { background: var(--night); }
  .v2-header .mobile-nav a { color: white; border-color: rgba(255,255,255,.15); }
  .v2-header.is-scrolled .mobile-nav { background: var(--bone); }
  .v2-header.is-scrolled .mobile-nav a { color: var(--night); border-color: rgba(7,31,25,.15); }
  .hero-content-v2 { padding-top: 9rem; }
  .hero-footer-grid { grid-template-columns: 1fr 1fr; padding-block: 1rem; }
  .hero-footer-grid span:nth-child(3) { display: none; }
  .thesis-grid-v2 { grid-template-columns: 1fr; }
  .image-stage, .image-stage img { min-height: 520px; height: 520px; }
  .operating-intro-v2, .split-heading-v2 { grid-template-columns: 1fr; gap: 2rem; }
  .system-dashboard { grid-template-columns: 1fr; }
  .system-tabs { grid-template-columns: repeat(3, 1fr); border-right: 0; border-bottom: 1px solid rgba(255,255,255,.17); }
  .system-tab { justify-content: center; border-right: 1px solid rgba(255,255,255,.15); border-bottom: 0; }
  .system-tab:last-child { border-right: 0; }
  .story-hotspot { display: none; }
  .fit-shell { grid-template-columns: 1fr; }
  .editorial-grid-v2 { grid-template-columns: 1fr 1fr; }
  .editorial-card-v2.featured { grid-row: span 1; grid-column: 1 / -1; min-height: 560px; }
}
@media (max-width: 620px) {
  .home-v2 .container { width: min(100% - 2rem, 1280px); }
  .hero-v2 { min-height: 880px; align-items: flex-start; }
  .hero-slide-v2 img { object-position: 62% center; }
  .hero-scrim-v2 { background: linear-gradient(180deg, rgba(3,18,14,.6), rgba(3,18,14,.88) 65%, rgba(3,18,14,.98)); }
  .hero-content-v2 { padding-top: 10rem; }
  .hero-status-v2 { font-size: .58rem; }
  .hero-title-v2 { margin-top: 1.5rem; font-size: clamp(3.4rem, 16.5vw, 5rem); }
  .hero-lede-v2 { font-size: 1rem; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-slider-controls { margin-top: 1.25rem; }
  .hero-footer-grid { grid-template-columns: 1fr; min-height: 110px; gap: .5rem; }
  .hero-footer-grid span:nth-child(2) { display: none; }
  .hero-footer-grid a { justify-self: start; }
  .hero-orbit { display: none; }
  .section { padding: 3.5rem 0; }
  .section-tight { padding: 2.5rem 0; }
  .section-kicker { margin-bottom: 2rem; }
  .thesis-copy-v2 h2, .operating-intro-v2 h2, .split-heading-v2 h2 { font-size: clamp(2.8rem, 12vw, 4rem); }
  .image-stage, .image-stage img { min-height: 430px; height: 430px; }
  .system-tabs { overflow-x: auto; }
  .system-tab { min-width: 120px; padding: 1rem .8rem; }
  .system-visual { padding: 1rem; overflow-x: auto; }
  .capability-chart { min-width: 560px; }
  .sector-grid-v2 { grid-template-columns: 1fr; }
  .sector-card-v2 { min-height: 340px; border-right: 0; border-bottom: 1px solid rgba(7,31,25,.18); }
  .infrastructure-story { min-height: 720px; }
  .infrastructure-story > img { object-position: 63% center; }
  .infrastructure-content h2 { font-size: clamp(3rem, 14vw, 4.5rem); }
  .fit-result { grid-template-columns: 1fr; }
  .fit-result > span { grid-row: auto; }
  .editorial-grid-v2 { grid-template-columns: 1fr; }
  .editorial-card-v2.featured { grid-column: auto; min-height: 540px; }
  .final-cta-inner { padding: 3rem 1.5rem; }
}

/* Owner tools */
.inner-v2 { color: var(--ink); background: #f3f1e9; }
.inner-v2 h1, .inner-v2 h2, .inner-v2 h3 { font-family: var(--sans); font-weight: 700; letter-spacing: -.055em; }
.inner-v2 .brand-v2 .brand-name { color: var(--night); }
.inner-v2 .page-hero { position: relative; isolation: isolate; color: white; background: var(--night); border-bottom: 0; }
.inner-v2 .page-hero::before { content: ""; position: absolute; z-index: -2; inset: 0; background: url('assets/hero-redwoods-v2.webp') center / cover no-repeat; opacity: .52; }
.inner-v2.page-about .page-hero::before, .inner-v2.page-contact .page-hero::before { background-image: url('assets/operator-partnership-v2.webp'); }
.inner-v2.page-approach .page-hero::before, .inner-v2.page-criteria .page-hero::before { background-image: url('assets/service-infrastructure-v2.webp'); }
.inner-v2.page-governance .page-hero::before, .inner-v2.page-responsible-ownership .page-hero::before { background-image: url('assets/operator-partnership-v2.webp'); }
.inner-v2.page-sectors .page-hero::before, .inner-v2.page-investment-process .page-hero::before { background-image: url('assets/service-infrastructure-v2.webp'); }
.inner-v2 .page-hero::after { z-index: -1; inset: 0; width: auto; aspect-ratio: auto; border: 0; border-radius: 0; background: linear-gradient(90deg, rgba(3,18,14,.95), rgba(3,18,14,.65) 62%, rgba(3,18,14,.18)); box-shadow: none; }
.inner-v2 .page-hero h1 { position: relative; max-width: 1000px; color: white; font-weight: 700; }
.inner-v2 .page-hero .lede { color: rgba(255,255,255,.68); }
.inner-v2 .page-hero .breadcrumb { color: rgba(255,255,255,.52); }
.inner-v2 .page-hero .eyebrow { color: var(--copper-bright); }
.tool-hero-v2 { position: relative; min-height: 760px; display: flex; align-items: center; overflow: hidden; color: white; background: var(--night); }
.tool-hero-image, .tool-hero-scrim { position: absolute; inset: 0; }
.tool-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; animation: hero-breathe 20s ease-in-out infinite alternate; }
.tool-hero-scrim { background: linear-gradient(90deg, rgba(3,18,14,.95), rgba(3,18,14,.68) 54%, rgba(3,18,14,.12)); }
.tool-hero-content { position: relative; z-index: 2; padding-top: 5rem; }
.tool-hero-content .breadcrumb { color: rgba(255,255,255,.6); }
.tool-hero-content .eyebrow { color: var(--copper-bright); }
.tool-hero-content h1 { max-width: 950px; color: white; font-size: clamp(3.4rem, 7vw, 7rem); line-height: .92; }
.tool-hero-content > p:not(.eyebrow) { max-width: 560px; margin: 2rem 0; color: rgba(255,255,255,.67); font-size: 1.1rem; }
.readiness-section { background: #e7efe7; }
.readiness-shell { display: grid; grid-template-columns: .72fr 1.28fr; overflow: hidden; color: white; background: var(--night); box-shadow: 0 30px 100px rgba(7,31,25,.18); }
.readiness-sidebar { position: relative; padding: clamp(2.3rem, 5vw, 5rem); background: var(--emerald); }
.tool-badge.dark { color: var(--copper-bright); border-color: rgba(239,145,105,.38); }
.readiness-sidebar h2 { margin-top: 2rem; color: white; font-size: clamp(2.6rem, 4vw, 4.5rem); line-height: .95; }
.readiness-sidebar > p { color: rgba(255,255,255,.62); }
.readiness-score { display: flex; align-items: baseline; margin-top: 4rem; }
.readiness-score span { color: white; font-size: clamp(5rem, 9vw, 8rem); font-weight: 700; line-height: 1; letter-spacing: -.08em; }
.readiness-score small { margin-left: .6rem; color: rgba(255,255,255,.45); }
.score-band { height: 6px; margin: 1.2rem 0; overflow: hidden; background: rgba(255,255,255,.14); border-radius: 999px; }
.score-band i { display: block; width: 50%; height: 100%; background: linear-gradient(90deg, var(--copper), #8fd2a8); transition: width .4s ease; }
.readiness-sidebar > strong { display: block; color: #bde6ca; font-size: .84rem; letter-spacing: .12em; text-transform: uppercase; }
.privacy-signal { position: absolute; left: clamp(2.3rem, 5vw, 5rem); right: clamp(2.3rem, 5vw, 5rem); bottom: 2rem; display: flex; align-items: center; gap: .7rem; font-size: .72rem; }
.privacy-signal span { width: 8px; height: 8px; flex: 0 0 auto; background: #8fd2a8; border-radius: 50%; box-shadow: 0 0 0 5px rgba(143,210,168,.13); }
.readiness-controls { padding: clamp(2rem, 4vw, 4.5rem); background: white; color: var(--ink); }
.assessment-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; }
.assessment-heading span { color: var(--copper); font-size: .65rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.assessment-heading h3 { margin-top: .4rem; font-size: 1.8rem; }
.assessment-heading button { padding: .55rem .9rem; color: var(--moss); background: transparent; border: 1px solid rgba(7,31,25,.18); border-radius: 999px; font-size: .66rem; cursor: pointer; }
.range-question { display: grid; grid-template-columns: 1fr 36px; gap: .6rem 1.5rem; padding: 1.2rem 0; border-bottom: 1px solid rgba(7,31,25,.11); }
.range-question > span { display: grid; }
.range-question b { color: var(--night); font-size: .82rem; }
.range-question small { color: #74857f; font-size: .72rem; }
.range-question output { width: 32px; height: 32px; display: grid; place-items: center; color: white; background: var(--emerald); border-radius: 50%; font-size: .7rem; font-weight: 800; }
.range-question input { grid-column: 1 / -1; width: 100%; height: 4px; appearance: none; background: linear-gradient(90deg, var(--copper) 50%, #d8dfda 50%); border-radius: 999px; cursor: pointer; }
.range-question input::-webkit-slider-thumb { width: 18px; height: 18px; appearance: none; background: white; border: 4px solid var(--copper); border-radius: 50%; box-shadow: 0 3px 10px rgba(7,31,25,.2); }
.assessment-result { margin-top: 2rem; padding: 1.5rem; background: #edf4ed; border-left: 3px solid var(--copper); }
.assessment-result span { color: var(--copper); font-size: .63rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.assessment-result h3 { margin-top: .55rem; font-size: 1.35rem; letter-spacing: -.035em; }
.assessment-result p { margin: .6rem 0 0; color: #61736c; font-size: .8rem; }
.tool-context-v2 { background: #f3f1e9; }
@media (max-width: 900px) {
  .readiness-shell { grid-template-columns: 1fr; }
  .privacy-signal { position: static; margin-top: 2.5rem; }
}
@media (max-width: 620px) {
  .tool-hero-v2 { min-height: 780px; align-items: flex-end; padding-bottom: 5rem; }
  .tool-hero-image img { object-position: 45% center; }
  .tool-hero-scrim { background: linear-gradient(180deg, rgba(3,18,14,.36), rgba(3,18,14,.95) 70%); }
  .tool-hero-content h1 { font-size: clamp(3.2rem, 15vw, 4.5rem); }
  .assessment-heading { align-items: flex-start; flex-direction: column; }
}

/* Insight article v2 */
.article-hero-v2 { position: relative; overflow: hidden; padding: clamp(8rem, 13vw, 12rem) 0 clamp(5rem, 9vw, 8rem); color: white; background: var(--night); }
.article-hero-v2::before { content: ""; position: absolute; width: 620px; height: 620px; right: -180px; top: -250px; border: 1px solid rgba(232,37,17,.38); border-radius: 50%; box-shadow: 0 0 0 80px rgba(232,37,17,.045), 0 0 0 160px rgba(232,37,17,.025); animation: orbit-spin 34s linear infinite; }
.article-hero-v2 .breadcrumb { color: rgba(255,255,255,.48); }
.article-hero-v2 .eyebrow { color: var(--copper-bright); }
.article-hero-v2 h1 { position: relative; max-width: 1050px; color: white; font-size: clamp(3.4rem, 7vw, 7rem); line-height: .94; }
.article-hero-v2 .lede { position: relative; margin-top: 2rem; color: rgba(255,255,255,.63); }
.article-hero-v2 .article-meta-line { display: flex; gap: 1.4rem; margin-top: 2.2rem; color: rgba(255,255,255,.45); font-size: .67rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.inner-v2 .article-body h2 { font-family: var(--sans); font-weight: 700; }
.inner-v2 .article-body p, .inner-v2 .article-body li { font-size: 1.08rem; }
.article-callout-v2 { margin: 3rem 0; padding: 2rem; color: white; background: var(--emerald); border-left: 4px solid var(--copper); }
.article-callout-v2 strong { display: block; font-size: 1.2rem; }
.article-callout-v2 p { margin: .5rem 0 0 !important; color: rgba(255,255,255,.67) !important; font-size: .9rem !important; }

/* Insight library */
.insights-hero-v2 { position: relative; overflow: hidden; padding: clamp(9rem, 15vw, 14rem) 0 clamp(5rem, 9vw, 8rem); color: white; background: var(--night); }
.insights-hero-v2 .breadcrumb { color: rgba(255,255,255,.5); }
.insights-hero-v2 .eyebrow { color: var(--copper-bright); }
.insights-hero-v2 h1 { position: relative; z-index: 2; max-width: 1040px; color: white; font-size: clamp(3.8rem, 8vw, 8rem); line-height: .9; }
.insights-hero-v2 .container > p:not(.eyebrow) { position: relative; z-index: 2; max-width: 600px; margin-top: 2rem; color: rgba(255,255,255,.6); font-size: 1.08rem; }
.insights-hero-art { position: absolute; width: 650px; height: 650px; right: -80px; top: -110px; }
.insights-hero-art span { position: absolute; inset: 0; border: 1px solid rgba(232,37,17,.34); border-radius: 43% 57% 50% 50%; animation: orbit-spin 28s linear infinite; }
.insights-hero-art span:nth-child(2) { inset: 14%; animation-direction: reverse; animation-duration: 22s; }
.insights-hero-art span:nth-child(3) { inset: 30%; animation-duration: 16s; }
.topic-filter { position: relative; z-index: 2; display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 3rem; }
.topic-filter button { padding: .65rem 1rem; color: rgba(255,255,255,.6); background: transparent; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.topic-filter button:hover, .topic-filter button.is-active { color: var(--night); background: var(--copper-bright); border-color: var(--copper-bright); }
.insight-library-v2 { background: #e8efe8; }
.library-heading { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(7,31,25,.18); }
.library-heading span { color: var(--copper); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.library-heading p { margin: 0; color: #61736c; font-size: .85rem; }
.library-grid-v2 { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 3rem; border-top: 1px solid rgba(7,31,25,.16); border-left: 1px solid rgba(7,31,25,.16); }
.library-card-v2 { min-height: 390px; display: flex; flex-direction: column; padding: 2rem; color: var(--night); background: rgba(255,255,255,.45); border-right: 1px solid rgba(7,31,25,.16); border-bottom: 1px solid rgba(7,31,25,.16); text-decoration: none; transition: .3s ease; }
.library-card-v2:hover { color: white; background: var(--emerald); transform: translateY(-6px); box-shadow: 0 22px 55px rgba(7,31,25,.15); }
.library-card-v2.feature { grid-column: span 2; grid-row: span 2; min-height: 780px; }
.library-card-v2.image-card { grid-row: span 2; min-height: 780px; }
.library-image { height: 56%; min-height: 270px; margin: -2rem -2rem 2rem; overflow: hidden; }
.library-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.library-card-v2:hover .library-image img { transform: scale(1.05); }
.library-card-v2 small { color: var(--copper); font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.library-card-v2 h2 { margin-top: auto; font-size: clamp(1.7rem, 2.6vw, 2.7rem); line-height: 1.02; }
.library-card-v2.feature h2 { max-width: 780px; font-size: clamp(2.6rem, 4.3vw, 4.8rem); }
.library-card-v2 p { color: #5e7169; font-size: .84rem; }
.library-card-v2:hover p { color: rgba(255,255,255,.62); }
.library-card-v2 b { margin-top: 1rem; font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; }
.note-number { color: rgba(7,31,25,.2); font-size: 4rem; font-weight: 700; letter-spacing: -.08em; }
.library-card-v2:hover .note-number { color: rgba(255,255,255,.18); }
.library-card-v2.is-filtered-out { display: none; }
@media (max-width: 900px) {
  .library-grid-v2 { grid-template-columns: 1fr 1fr; }
  .library-card-v2.feature { grid-column: 1 / -1; }
  .library-card-v2.image-card { grid-row: auto; min-height: 520px; }
}
@media (max-width: 620px) {
  .insights-hero-art { opacity: .48; right: -330px; }
  .insights-hero-v2 h1 { font-size: clamp(3.5rem, 16vw, 5rem); }
  .library-heading { align-items: flex-start; flex-direction: column; }
  .library-grid-v2 { grid-template-columns: 1fr; }
  .library-card-v2.feature { grid-column: auto; min-height: 620px; }
}

/* Corporate content pages */
.corporate-intro { max-width: 820px; }
.corporate-directory-v2 { background: #edf1eb; }
.corporate-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2.5rem; }
.corporate-card { min-height: 290px; display: flex; flex-direction: column; padding: 2rem; background: rgba(255,255,255,.72); border: 1px solid var(--line); border-radius: var(--radius); }
.corporate-card small { color: var(--brand-red); font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.corporate-card h2, .corporate-card h3 { margin-top: auto; font-size: clamp(1.55rem, 2.2vw, 2.15rem); }
.corporate-card p { margin: .85rem 0 0; color: #526860; font-size: .92rem; }
.corporate-card a { width: fit-content; margin-top: 1.2rem; }
.process-list { counter-reset: process; display: grid; gap: 0; margin-top: 2.5rem; border-top: 1px solid var(--line); }
.process-step { counter-increment: process; display: grid; grid-template-columns: 80px minmax(180px,.7fr) 1fr; gap: 2rem; padding: 2rem 0; border-bottom: 1px solid var(--line); }
.process-step::before { content: counter(process, decimal-leading-zero); color: var(--brand-red); font-size: .72rem; font-weight: 800; letter-spacing: .13em; }
.process-step h2, .process-step h3 { font-size: 1.45rem; }
.process-step p { margin: 0; color: #526860; }
.governance-table { margin-top: 2.5rem; border-top: 1px solid var(--line); }
.governance-row { display: grid; grid-template-columns: minmax(180px,.62fr) 1fr 1fr; gap: 2rem; padding: 1.6rem 0; border-bottom: 1px solid var(--line); }
.governance-row strong { color: var(--forest); }
.governance-row span { color: #526860; font-size: .92rem; }
.faq-list { max-width: 930px; margin-top: 2.5rem; border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary { position: relative; padding: 1.5rem 3rem 1.5rem 0; color: var(--forest); font-size: 1.08rem; font-weight: 800; cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; position: absolute; right: .3rem; top: 1.25rem; color: var(--brand-red); font-size: 1.6rem; font-weight: 400; }
.faq-item[open] summary::after { content: "−"; }
.faq-item p { max-width: 760px; padding: 0 0 1.5rem; color: #526860; }
.legal-copy { max-width: 900px; }
.legal-copy h2 { margin-top: 2.7rem; font-size: clamp(2rem, 4vw, 3.25rem); }
.legal-copy h3 { margin-top: 2rem; font-family: var(--sans); font-size: 1.1rem; font-weight: 800; }
.legal-copy p, .legal-copy li { color: #486057; }
.cookie-table { width: 100%; margin: 1.5rem 0; border-collapse: collapse; font-size: .88rem; }
.cookie-table th, .cookie-table td { padding: 1rem; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.cookie-table th { color: var(--forest); background: var(--paper-deep); }

/* Consent controls */
.cookie-banner { position: fixed; z-index: 120; left: 1.25rem; right: 1.25rem; bottom: 1.25rem; max-width: 760px; margin-left: auto; padding: 1.35rem; color: white; background: rgba(4,22,17,.98); border: 1px solid rgba(255,255,255,.18); border-radius: 1rem; box-shadow: 0 24px 80px rgba(0,0,0,.34); }
.cookie-banner[hidden] { display: none; }
.cookie-banner-inner { display: grid; grid-template-columns: 1fr auto; gap: 1.25rem 2rem; align-items: end; }
.cookie-banner h2 { color: white; font-family: var(--sans); font-size: 1.15rem; font-weight: 800; letter-spacing: -.02em; }
.cookie-banner p { margin: .45rem 0 0; color: rgba(255,255,255,.69); font-size: .84rem; }
.cookie-banner a { color: white; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.cookie-actions button { min-height: 42px; padding: .7rem 1rem; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; color: white; background: transparent; font-size: .69rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.cookie-actions [data-cookie-action="analytics"] { color: #000; background: var(--brand-red); border-color: var(--brand-red); }
.cookie-settings-link { padding: 0; color: inherit; background: transparent; border: 0; font-size: inherit; cursor: pointer; }
.cookie-settings-link:hover { color: white; }

/* Customer concentration calculator */
.tool-suite-v2 { background: #e9efe9; }
.tool-feature-card { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; padding: clamp(2rem, 5vw, 4.5rem); color: white; background: var(--night); border: 1px solid rgba(255,255,255,.1); border-radius: 1.4rem; text-decoration: none; box-shadow: 0 32px 80px rgba(7,31,25,.18); transition: transform .3s ease, box-shadow .3s ease; }
.tool-feature-card:hover { transform: translateY(-6px); box-shadow: 0 42px 95px rgba(7,31,25,.25); }
.tool-feature-card + .tool-feature-card { margin-top: 1.4rem; }
.tool-feature-card h2 { margin-top: 1.5rem; color: white; font-size: clamp(2.5rem, 5vw, 5rem); }
.tool-feature-card p { max-width: 700px; margin-top: 1.4rem; color: rgba(255,255,255,.65); font-size: 1rem; }
.tool-feature-card strong { display: inline-flex; gap: .7rem; align-items: center; margin-top: 1.2rem; color: var(--copper-bright); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.tool-feature-card:hover strong span { transform: translateX(.3rem); }
.tool-feature-card strong span { transition: transform .2s ease; }
.tool-feature-visual { display: flex; align-items: end; gap: .7rem; min-height: 260px; padding: 2rem; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.12); border-radius: 1rem; }
.tool-feature-visual span { flex: 1; height: var(--bar); min-height: 22px; background: linear-gradient(180deg, var(--copper-bright), #971406); border-radius: .25rem .25rem 0 0; transform-origin: bottom; animation: bar-rise .9s both; }
.tool-feature-visual span:nth-child(2) { animation-delay: .08s; }.tool-feature-visual span:nth-child(3) { animation-delay: .16s; }.tool-feature-visual span:nth-child(4) { animation-delay: .24s; }.tool-feature-visual span:nth-child(5) { animation-delay: .32s; }
.tool-feature-visual i { position: absolute; align-self: flex-start; color: rgba(255,255,255,.42); font-size: .66rem; font-style: normal; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.owner-feature-visual span { background: linear-gradient(180deg, #bde6ca, #17694f); }
@keyframes bar-rise { from { transform: scaleY(0); opacity: .2; } to { transform: scaleY(1); opacity: 1; } }

.concentration-hero { position: relative; overflow: hidden; padding: clamp(9rem, 14vw, 13rem) 0 clamp(4.5rem, 8vw, 7rem); color: white; background: radial-gradient(circle at 78% 18%, rgba(232,37,17,.23), transparent 28%), linear-gradient(135deg, #041712, var(--night-2)); }
.concentration-hero::after { content: ""; position: absolute; width: 580px; height: 580px; right: -180px; bottom: -290px; border: 1px solid rgba(232,37,17,.34); border-radius: 50%; box-shadow: 0 0 0 70px rgba(232,37,17,.05), 0 0 0 140px rgba(232,37,17,.03); }
.concentration-hero .breadcrumb { color: rgba(255,255,255,.48); }
.concentration-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: clamp(2rem, 7vw, 7rem); align-items: end; margin-top: 4rem; }
.concentration-hero h1 { max-width: 920px; color: white; font-size: clamp(3.5rem, 7.6vw, 7.5rem); line-height: .91; }
.concentration-hero-note { padding: 2rem 0 1rem 2rem; border-left: 1px solid rgba(255,255,255,.2); }
.concentration-hero-note > span { color: var(--copper-bright); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.concentration-hero-note p { margin: 1rem 0 1.5rem; color: rgba(255,255,255,.64); }
.concentration-calculator-section { background: #e7eee8; }
.concentration-tool { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); gap: 1px; overflow: hidden; background: rgba(7,31,25,.16); border: 1px solid rgba(7,31,25,.16); border-radius: 1.3rem; box-shadow: 0 30px 85px rgba(7,31,25,.12); }
.concentration-input-panel, .concentration-output-panel { padding: clamp(1.5rem, 4vw, 3.2rem); background: #f8f7f1; }
.concentration-output-panel { background: white; }
.tool-panel-heading, .concentration-result-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.2rem; padding-bottom: 1.4rem; border-bottom: 1px solid var(--line); }
.tool-panel-heading span, .concentration-result-heading span, .concentration-guidance > span { color: var(--copper); font-size: .65rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.tool-panel-heading h2, .concentration-result-heading h2 { margin-top: .45rem; font-family: var(--sans); font-size: clamp(1.6rem, 2.4vw, 2.35rem); font-weight: 700; line-height: 1.05; }
.tool-panel-heading button, .concentration-result-heading button { padding: .55rem 0; color: var(--forest); background: transparent; border: 0; border-bottom: 1px solid currentColor; font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.tool-intro { margin: 1.4rem 0; color: #5b6e67; font-size: .85rem; }
.money-field { display: grid; gap: .45rem; margin-bottom: .9rem; }
.money-field > span, .customer-inputs legend { color: var(--forest); font-size: .72rem; font-weight: 800; letter-spacing: .04em; }
.money-field > div { display: flex; align-items: center; min-height: 50px; background: white; border: 1px solid rgba(7,31,25,.18); border-radius: .55rem; transition: border-color .2s ease, box-shadow .2s ease; }
.money-field > div:focus-within { border-color: var(--copper); box-shadow: 0 0 0 3px rgba(232,37,17,.1); }
.money-field b { padding-left: .9rem; color: #6d7d77; font-weight: 500; }
.money-field input { width: 100%; min-width: 0; padding: .72rem .9rem .72rem .45rem; color: var(--night); background: transparent; border: 0; outline: 0; font-weight: 700; }
.customer-inputs { margin: 1.5rem 0 0; padding: 1.3rem; border: 1px solid var(--line); border-radius: .8rem; }
.customer-inputs legend { padding: 0 .45rem; }
.input-error { margin: 1rem 0 0; padding: .8rem; color: #8c160b; background: #fff0ed; border: 1px solid rgba(232,37,17,.25); border-radius: .55rem; font-size: .8rem; }
.has-input-error .concentration-output-panel { opacity: .48; pointer-events: none; }
.concentration-input-panel .privacy-signal { margin: 1.2rem 0 0; }
.concentration-metrics { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 2rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.concentration-metrics article { padding: 1.3rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.concentration-metrics span, .concentration-scenarios span { display: block; color: #61746d; font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.concentration-metrics strong { display: block; margin-top: .65rem; color: var(--night); font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1; letter-spacing: -.05em; }
.concentration-metrics small, .concentration-scenarios small { color: #778781; font-size: .72rem; }
.concentration-chart-wrap { margin-top: 2.4rem; }
.chart-caption { display: flex; justify-content: space-between; padding-bottom: .8rem; border-bottom: 1px solid var(--line); }
.chart-caption span { color: var(--forest); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.chart-caption small { color: #778781; }
.concentration-bars { display: grid; gap: .8rem; margin-top: 1rem; }
.concentration-bar-row { display: grid; grid-template-columns: 118px 1fr 44px; gap: .8rem; align-items: center; }
.concentration-bar-row > span { color: #50645c; font-size: .74rem; }
.concentration-bar-row > div { height: 11px; overflow: hidden; background: #e5ebe6; border-radius: 999px; }
.concentration-bar-row i { display: block; height: 100%; background: linear-gradient(90deg, var(--copper), #ff5944); border-radius: inherit; transition: width .45s ease; }
.concentration-bar-row.is-other i { background: var(--emerald); }
.concentration-bar-row b { color: var(--forest); font-size: .72rem; text-align: right; }
.concentration-scenarios { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 2.4rem; }
.concentration-scenarios article { padding: 1.4rem; background: #f1f4ef; border-left: 3px solid var(--copper); }
.concentration-scenarios strong { display: block; margin: .75rem 0 .2rem; color: var(--forest); font-size: 1.15rem; }
.concentration-guidance { margin-top: 2.4rem; padding: 1.8rem; color: white; background: var(--emerald); border-radius: .85rem; }
.concentration-guidance h3 { margin-top: .7rem; color: white; font-family: var(--sans); font-size: clamp(1.5rem, 2.6vw, 2.25rem); font-weight: 700; }
.concentration-guidance p { margin: .9rem 0 0; color: rgba(255,255,255,.67); font-size: .88rem; }
.method-note { margin: 1.3rem 0 0; color: #687a73; font-size: .72rem; line-height: 1.55; }
.tool-reading-v2 { background: var(--paper); }

/* Owner dependence diagnostic */
.owner-dependence-section { background: #e7eee8; }
.owner-dependence-tool { display: grid; grid-template-columns: minmax(330px, .82fr) minmax(0, 1.18fr); gap: 1px; overflow: hidden; background: rgba(7,31,25,.16); border: 1px solid rgba(7,31,25,.16); border-radius: 1.3rem; box-shadow: 0 30px 85px rgba(7,31,25,.12); }
.owner-input-panel, .owner-output-panel { padding: clamp(1.5rem, 4vw, 3.2rem); }
.owner-input-panel { background: #f8f7f1; }
.owner-output-panel { background: white; }
.owner-result-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.2rem; padding-bottom: 1.4rem; border-bottom: 1px solid var(--line); }
.owner-result-heading span, .owner-continuity-note > span { color: var(--copper); font-size: .65rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.owner-result-heading h2 { margin-top: .45rem; font-family: var(--sans); font-size: clamp(1.6rem, 2.4vw, 2.35rem); font-weight: 700; line-height: 1.05; }
.owner-result-heading button { padding: .55rem 0; color: var(--forest); background: transparent; border: 0; border-bottom: 1px solid currentColor; font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.owner-signal-list { display: grid; gap: .85rem; margin-top: 1.4rem; padding: 0; border: 0; }
.owner-signal-list legend { margin-bottom: .75rem; color: var(--forest); font-size: .72rem; font-weight: 800; letter-spacing: .05em; }
.owner-range-card { display: grid; grid-template-columns: minmax(0, 1fr) 34px; gap: .35rem 1rem; padding: 1rem; background: white; border: 1px solid var(--line); border-radius: .7rem; }
.owner-range-card > span { display: grid; gap: .18rem; }
.owner-range-card b { color: var(--forest); font-size: .78rem; }
.owner-range-card small { color: #6c7d76; font-size: .68rem; line-height: 1.4; }
.owner-range-card output { grid-column: 2; grid-row: 1; align-self: start; color: var(--copper); font-size: 1.25rem; font-weight: 800; text-align: right; }
.owner-range-card input { grid-column: 1 / -1; width: 100%; height: 5px; margin-top: .45rem; appearance: none; background: linear-gradient(90deg, var(--copper) 50%, #d8dfda 50%); border-radius: 999px; cursor: pointer; }
.owner-range-card input::-webkit-slider-thumb { width: 19px; height: 19px; appearance: none; background: var(--copper); border: 3px solid white; border-radius: 50%; box-shadow: 0 0 0 1px rgba(7,31,25,.16); }
.owner-range-card input::-moz-range-thumb { width: 15px; height: 15px; background: var(--copper); border: 3px solid white; border-radius: 50%; box-shadow: 0 0 0 1px rgba(7,31,25,.16); }
.owner-input-panel .privacy-signal { margin: 1.2rem 0 0; }
.owner-score-card { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; margin-top: 2rem; padding: clamp(1.4rem, 3vw, 2.2rem); color: white; background: var(--night); border-radius: 1rem; }
.owner-score-card > div:first-child > span { color: #bde6ca; font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.owner-score-card strong { display: flex; align-items: baseline; margin-top: .65rem; }
.owner-score-card strong b { color: white; font-size: clamp(3rem, 6vw, 5rem); line-height: .9; letter-spacing: -.07em; }
.owner-score-card strong small { margin-left: .55rem; color: rgba(255,255,255,.45); font-size: .8rem; }
.owner-score-card p { max-width: 520px; margin: .8rem 0 0; color: rgba(255,255,255,.63); font-size: .82rem; }
.owner-score-ring { --owner-score: 50%; display: grid; width: 118px; aspect-ratio: 1; place-items: center; background: conic-gradient(var(--copper-bright) var(--owner-score), rgba(255,255,255,.12) 0); border-radius: 50%; transition: background .35s ease; }
.owner-score-ring::before { content: ""; grid-area: 1 / 1; width: 84px; aspect-ratio: 1; background: var(--night); border-radius: 50%; }
.owner-score-ring span { z-index: 1; grid-area: 1 / 1; color: white; font-size: 1.15rem; font-weight: 800; }
.owner-metrics { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 1.4rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.owner-metrics article { padding: 1.2rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.owner-metrics span { display: block; color: #61746d; font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.owner-metrics strong { display: block; margin-top: .55rem; color: var(--night); font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1; letter-spacing: -.05em; }
.owner-metrics small { color: #778781; font-size: .7rem; }
.owner-profile-wrap, .owner-priority-section { margin-top: 2.2rem; }
.owner-profile { display: grid; gap: .7rem; margin-top: 1rem; }
.owner-profile-row { display: grid; grid-template-columns: 138px 1fr 42px; gap: .75rem; align-items: center; }
.owner-profile-row > span { color: #50645c; font-size: .72rem; }
.owner-profile-row > div { height: 10px; overflow: hidden; background: #e5ebe6; border-radius: 999px; }
.owner-profile-row i { display: block; height: 100%; background: linear-gradient(90deg, var(--copper), #ff5944); border-radius: inherit; transition: width .4s ease; }
.owner-profile-row.is-shared i { background: linear-gradient(90deg, var(--emerald), #46a77f); }
.owner-profile-row b { color: var(--forest); font-size: .7rem; text-align: right; }
.owner-priority-list { display: grid; gap: .8rem; margin-top: 1rem; counter-reset: owner-priority; }
.owner-priority-card { position: relative; padding: 1.2rem 1.2rem 1.2rem 3.7rem; background: #f1f4ef; border-left: 3px solid var(--copper); counter-increment: owner-priority; }
.owner-priority-card::before { content: counter(owner-priority, decimal-leading-zero); position: absolute; left: 1rem; top: 1.15rem; color: var(--copper); font-size: .7rem; font-weight: 800; }
.owner-priority-card h3 { color: var(--forest); font-family: var(--sans); font-size: 1rem; font-weight: 750; }
.owner-priority-card p { margin: .35rem 0 0; color: #62736c; font-size: .76rem; }
.owner-priority-card small { display: block; margin-top: .55rem; color: #354e45; font-size: .68rem; font-weight: 700; }
.owner-continuity-note { margin-top: 2.2rem; padding: 1.7rem; color: white; background: var(--emerald); border-radius: .85rem; }
.owner-continuity-note h3 { margin-top: .65rem; color: white; font-family: var(--sans); font-size: clamp(1.4rem, 2.4vw, 2rem); font-weight: 700; }
.owner-continuity-note p { margin: .75rem 0 0; color: rgba(255,255,255,.68); font-size: .82rem; }

/* Business continuity resource kit */
.continuity-kit-hero { position: relative; overflow: hidden; padding: clamp(9rem, 14vw, 13rem) 0 clamp(5rem, 9vw, 8rem); color: white; background: radial-gradient(circle at 22% 20%, rgba(232,37,17,.19), transparent 26%), radial-gradient(circle at 82% 64%, rgba(38,128,96,.24), transparent 32%), linear-gradient(135deg, #041712, var(--night-2)); }
.continuity-kit-hero::before { content: ""; position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.16) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg, transparent, #000 28%, #000); }
.continuity-kit-hero .breadcrumb { position: relative; z-index: 2; color: rgba(255,255,255,.48); }
.continuity-kit-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(350px, .75fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; margin-top: 4rem; }
.continuity-kit-hero h1 { max-width: 900px; color: white; font-size: clamp(3.5rem, 7.4vw, 7.3rem); line-height: .91; }
.kit-hero-copy { max-width: 720px; margin: 1.7rem 0 0; color: rgba(255,255,255,.66); font-size: clamp(1rem, 1.5vw, 1.2rem); }
.kit-hero-actions { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; margin-top: 2rem; }
.kit-hero-actions button { padding: 0; background: transparent; border: 0; cursor: pointer; }
.kit-orbit { position: relative; width: min(100%, 430px); aspect-ratio: 1; margin-inline: auto; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; box-shadow: 0 0 0 44px rgba(255,255,255,.025), 0 0 0 88px rgba(255,255,255,.018); animation: kit-float 5s ease-in-out infinite; }
.kit-orbit::before { content: ""; position: absolute; inset: 18%; border: 1px dashed rgba(255,255,255,.22); border-radius: 50%; }
.kit-orbit-core { position: absolute; inset: 34%; display: grid; place-content: center; color: white; background: var(--copper); border-radius: 50%; font-size: clamp(2.7rem, 5vw, 4.5rem); font-weight: 800; line-height: .8; text-align: center; box-shadow: 0 20px 60px rgba(0,0,0,.28); }
.kit-orbit-core small { margin-top: .65rem; color: rgba(255,255,255,.72); font-size: .55rem; letter-spacing: .12em; text-transform: uppercase; }
.kit-orbit > div { --angle: calc(var(--step) * 90deg - 45deg); position: absolute; left: 50%; top: 50%; display: grid; width: 84px; min-height: 62px; place-content: center; color: var(--night); background: #f5f2e8; border: 1px solid rgba(255,255,255,.7); border-radius: .7rem; text-align: center; transform: translate(-50%, -50%) rotate(var(--angle)) translateY(-213px) rotate(calc(var(--angle) * -1)); box-shadow: 0 12px 30px rgba(0,0,0,.2); }
.kit-orbit b { color: var(--copper); font-size: .65rem; letter-spacing: .09em; }
.kit-orbit em { margin-top: .18rem; font-size: .72rem; font-style: normal; font-weight: 800; text-transform: uppercase; }
@keyframes kit-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.kit-intro-section { background: var(--paper); }
.kit-intro-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(2rem, 7vw, 7rem); align-items: end; margin-top: 3rem; }
.kit-intro-grid h2 { max-width: 760px; font-size: clamp(2.8rem, 5.8vw, 5.8rem); }
.kit-intro-grid > div > p:last-child { max-width: 700px; margin-top: 1.4rem; color: #536a61; }
.kit-privacy-card { position: relative; padding: 2rem; color: white; background: var(--emerald); border-radius: 1rem; box-shadow: 0 22px 55px rgba(7,31,25,.13); }
.kit-privacy-card > span { display: block; width: 11px; height: 11px; margin-bottom: 1.1rem; background: #85f1b6; border-radius: 50%; box-shadow: 0 0 0 8px rgba(133,241,182,.1); }
.kit-privacy-card strong { font-size: 1.2rem; }
.kit-privacy-card p { margin: .75rem 0 0; color: rgba(255,255,255,.68); font-size: .86rem; }
.kit-flow-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin: 4rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.kit-flow-grid li { min-height: 260px; padding: 1.7rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.kit-flow-grid span { color: var(--copper); font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.kit-flow-grid b { display: block; margin-top: 2.8rem; color: var(--forest); font-size: 1.25rem; }
.kit-flow-grid p { margin: .8rem 0 0; color: #61756c; font-size: .82rem; }
.kit-tool-section { color: white; background: var(--night); }
.kit-tool-section .section-kicker { border-color: rgba(255,255,255,.16); }
.kit-tool-section .section-kicker span, .kit-tool-section .section-kicker b { color: rgba(255,255,255,.6); }
.kit-tool-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 3rem; }
.kit-tool-card { position: relative; display: flex; min-height: 360px; flex-direction: column; padding: 2rem; overflow: hidden; color: white; background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); border: 1px solid rgba(255,255,255,.14); border-radius: 1rem; text-decoration: none; transition: transform .25s ease, border-color .25s ease; }
.kit-tool-card::before { content: ""; position: absolute; width: 240px; height: 240px; right: -120px; top: -120px; border: 1px solid rgba(232,37,17,.28); border-radius: 50%; box-shadow: 0 0 0 36px rgba(232,37,17,.025); }
.kit-tool-card:hover { transform: translateY(-6px); border-color: rgba(255,255,255,.3); }
.kit-tool-card > span { color: var(--copper-bright); font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.kit-tool-card strong { max-width: 360px; margin-top: 3rem; font-family: var(--serif); font-size: clamp(2rem, 3vw, 3rem); font-weight: 500; line-height: 1; }
.kit-tool-card p { margin: 1.2rem 0 0; color: rgba(255,255,255,.62); font-size: .86rem; }
.kit-tool-card i { margin-top: auto; padding-top: 2rem; color: #bde6ca; font-size: .7rem; font-style: normal; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.kit-worksheet-section { background: #e7eee8; }
.worksheet-print-brand { display: none; }
.kit-worksheet-heading { display: flex; gap: 2rem; align-items: end; justify-content: space-between; margin-top: 3rem; }
.kit-worksheet-heading h2 { max-width: 780px; font-size: clamp(2.8rem, 5.8vw, 5.8rem); }
.kit-worksheet-heading p:last-child { max-width: 700px; margin-top: 1rem; color: #536a61; }
.kit-worksheet-heading .button { flex: 0 0 auto; cursor: pointer; }
.handoff-worksheet { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 3rem; overflow: hidden; background: rgba(7,31,25,.16); border: 1px solid rgba(7,31,25,.16); border-radius: 1.1rem; box-shadow: 0 28px 75px rgba(7,31,25,.1); }
.worksheet-field { display: grid; gap: .7rem; padding: 1.5rem; background: #fbfaf4; }
.worksheet-field-wide { grid-column: 1 / -1; }
.worksheet-field span { color: var(--forest); font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.worksheet-field input, .worksheet-field textarea { width: 100%; padding: .9rem 1rem; color: var(--night); background: white; border: 1px solid rgba(7,31,25,.18); border-radius: .55rem; outline: 0; font: inherit; font-size: .86rem; resize: vertical; }
.worksheet-field input:focus, .worksheet-field textarea:focus { border-color: var(--copper); box-shadow: 0 0 0 3px rgba(232,37,17,.1); }
.kit-method-note { max-width: 820px; margin: 1.2rem 0 0; color: #65776f; font-size: .72rem; }
.kit-publisher-section { color: white; background: var(--emerald); }
.kit-publisher-section .section-kicker { border-color: rgba(255,255,255,.18); }
.kit-publisher-section .section-kicker span, .kit-publisher-section .section-kicker b { color: rgba(255,255,255,.62); }
.kit-publisher-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(2rem, 7vw, 7rem); margin-top: 3rem; }
.kit-publisher-grid h2 { max-width: 760px; color: white; font-size: clamp(2.8rem, 5.8vw, 5.8rem); }
.kit-publisher-grid > div > p { max-width: 700px; margin-top: 1.2rem; color: rgba(255,255,255,.67); }
.kit-listing-copy { margin-top: 2rem; padding: 1.7rem; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.16); border-radius: .8rem; }
.kit-listing-copy span { color: #bde6ca; font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.kit-listing-copy p { margin: .8rem 0 0; color: white; font-size: .9rem; }
.kit-listing-copy code { display: block; margin-top: 1rem; overflow-wrap: anywhere; color: rgba(255,255,255,.62); font-size: .74rem; }
.kit-publisher-notes { align-self: start; padding: 2rem; color: var(--night); background: #f5f2e8; border-radius: 1rem; }
.kit-publisher-notes strong { font-family: var(--serif); font-size: 2rem; font-weight: 500; }
.kit-publisher-notes ul { display: grid; gap: .8rem; margin: 1.4rem 0 2rem; padding: 0; list-style: none; }
.kit-publisher-notes li { position: relative; padding-left: 1.4rem; color: #4e655c; font-size: .82rem; }
.kit-publisher-notes li::before { content: ""; position: absolute; left: 0; top: .45rem; width: 7px; height: 7px; background: var(--copper); border-radius: 50%; }
.kit-publisher-notes .text-link-light { color: var(--forest); }
.kit-feature-visual { position: relative; align-items: center; justify-content: center; gap: 0; }
.kit-feature-visual span { display: grid; width: 74px; height: 74px; flex: 0 0 74px; place-items: center; margin-left: -8px; color: white; background: var(--emerald); border: 1px solid rgba(255,255,255,.3); border-radius: 50%; font-size: .65rem; font-weight: 800; text-transform: uppercase; animation: kit-node-in .6s both; }
.kit-feature-visual span:nth-child(2) { animation-delay: .1s; }.kit-feature-visual span:nth-child(3) { animation-delay: .2s; }.kit-feature-visual span:nth-child(4) { animation-delay: .3s; }
@keyframes kit-node-in { from { transform: translateX(-18px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }

/* Small-business disruption handoff drill */
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.disruption-hero { position: relative; overflow: hidden; padding: clamp(9rem, 14vw, 13rem) 0 clamp(5rem, 9vw, 8rem); color: white; background: radial-gradient(circle at 14% 22%, rgba(232,37,17,.2), transparent 28%), radial-gradient(circle at 78% 62%, rgba(77,160,126,.22), transparent 33%), linear-gradient(132deg, #041712 0%, #082b22 58%, #071f19 100%); }
.disruption-hero::before { content: ""; position: absolute; inset: 0; opacity: .15; background-image: radial-gradient(circle at center, rgba(255,255,255,.22) 1px, transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(90deg, transparent 3%, #000 48%, #000); }
.disruption-hero .breadcrumb { position: relative; z-index: 2; color: rgba(255,255,255,.48); }
.disruption-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.17fr) minmax(360px, .83fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; margin-top: 4rem; }
.disruption-hero h1 { max-width: 930px; color: white; font-size: clamp(3.6rem, 7.3vw, 7.2rem); line-height: .91; }
.disruption-hero-copy { max-width: 760px; margin: 1.7rem 0 0; color: rgba(255,255,255,.68); font-size: clamp(1rem, 1.5vw, 1.2rem); }
.disruption-signals { display: flex; flex-wrap: wrap; gap: .65rem; margin: 2.2rem 0 0; padding: 0; list-style: none; }
.disruption-signals li { padding: .48rem .72rem; color: rgba(255,255,255,.7); background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 999px; font-size: .63rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.disruption-radar { position: relative; width: min(100%, 440px); aspect-ratio: 1; margin-inline: auto; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; box-shadow: 0 0 0 42px rgba(255,255,255,.025), 0 0 0 84px rgba(255,255,255,.015); }
.disruption-radar::before, .disruption-radar::after { content: ""; position: absolute; inset: 20%; border: 1px dashed rgba(255,255,255,.2); border-radius: 50%; }
.disruption-radar::after { inset: 38%; border-style: solid; opacity: .7; }
.radar-core { position: absolute; inset: 34%; z-index: 3; display: grid; place-content: center; color: white; background: var(--copper); border-radius: 50%; font-size: clamp(2.7rem, 5vw, 4.5rem); font-weight: 800; line-height: .8; text-align: center; box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.radar-core small { margin-top: .65rem; color: rgba(255,255,255,.72); font-size: .55rem; letter-spacing: .12em; text-transform: uppercase; }
.radar-pulse { position: absolute; inset: 0; border: 1px solid rgba(232,37,17,.42); border-radius: 50%; animation: radar-pulse 3.4s ease-out infinite; }
.radar-pulse-two { animation-delay: 1.7s; }
@keyframes radar-pulse { 0% { opacity: .8; transform: scale(.5); } 80%, 100% { opacity: 0; transform: scale(1.04); } }
.radar-node { position: absolute; z-index: 2; display: grid; min-width: 94px; min-height: 68px; place-content: center; color: var(--night); background: #f5f2e8; border: 1px solid rgba(255,255,255,.74); border-radius: .8rem; text-align: center; box-shadow: 0 14px 34px rgba(0,0,0,.22); animation: radar-node-float 5s ease-in-out infinite; }
.radar-node b { color: var(--copper); font-size: .62rem; letter-spacing: .1em; }
.radar-node em { margin-top: .15rem; font-size: .68rem; font-style: normal; font-weight: 800; text-transform: uppercase; }
.radar-node-one { left: -3%; top: 23%; }
.radar-node-two { right: -3%; top: 16%; animation-delay: -.8s; }
.radar-node-three { right: 0; bottom: 12%; animation-delay: -1.6s; }
.radar-node-four { left: 0; bottom: 8%; animation-delay: -2.4s; }
@keyframes radar-node-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
.disruption-context { background: var(--paper); }
.disruption-context-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(2.5rem, 8vw, 8rem); align-items: end; margin-top: 3rem; }
.disruption-context-grid h2 { max-width: 790px; font-size: clamp(2.8rem, 5.8vw, 5.7rem); }
.disruption-context-grid > div:last-child { color: #536a61; }
.disruption-boundary { display: grid; grid-template-columns: .55fr 1.45fr; gap: 2rem; margin-top: 4rem; padding: 1.6rem 1.8rem; color: white; background: var(--emerald); border-radius: 1rem; box-shadow: 0 20px 48px rgba(7,31,25,.12); }
.disruption-boundary strong { font-family: var(--serif); font-size: 1.5rem; font-weight: 500; }
.disruption-boundary p { margin: 0; color: rgba(255,255,255,.7); font-size: .84rem; }
.disruption-scenarios { color: white; background: var(--night); }
.disruption-scenarios .section-kicker, .disruption-flow .section-kicker { border-color: rgba(255,255,255,.16); }
.disruption-scenarios .section-kicker span, .disruption-scenarios .section-kicker b, .disruption-flow .section-kicker span, .disruption-flow .section-kicker b { color: rgba(255,255,255,.62); }
.disruption-section-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(2rem, 7vw, 7rem); align-items: end; margin-top: 3rem; }
.disruption-section-heading h2 { max-width: 800px; color: white; font-size: clamp(2.8rem, 5.8vw, 5.7rem); }
.disruption-section-heading > p { color: rgba(255,255,255,.65); }
.scenario-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin: 3.5rem 0 0; padding: 0; border: 0; }
.scenario-card { position: relative; display: flex; min-height: 330px; flex-direction: column; padding: 1.7rem; overflow: hidden; background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); border: 1px solid rgba(255,255,255,.14); border-radius: 1rem; cursor: pointer; transition: transform .22s ease, border-color .22s ease, background .22s ease; }
.scenario-card::after { content: ""; position: absolute; right: -70px; bottom: -70px; width: 180px; height: 180px; border: 1px solid rgba(232,37,17,.3); border-radius: 50%; box-shadow: 0 0 0 28px rgba(232,37,17,.025); }
.scenario-card:hover { transform: translateY(-5px); border-color: rgba(255,255,255,.32); }
.scenario-card:has(input:checked) { background: linear-gradient(145deg, rgba(232,37,17,.2), rgba(255,255,255,.04)); border-color: rgba(232,37,17,.75); box-shadow: inset 0 0 0 1px rgba(232,37,17,.2); }
.scenario-card:has(input:focus-visible) { outline: 3px solid white; outline-offset: 4px; }
.scenario-card input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.scenario-card > span { color: var(--copper-bright); font-size: .65rem; font-weight: 800; letter-spacing: .12em; }
.scenario-card strong { max-width: 210px; margin-top: 3rem; color: white; font-family: var(--serif); font-size: 2.1rem; font-weight: 500; line-height: 1; }
.scenario-card p { margin: 1rem 0 0; color: rgba(255,255,255,.68); font-size: .82rem; }
.scenario-card small { margin-top: auto; padding-top: 2rem; color: #bde6ca; font-size: .68rem; line-height: 1.55; }
.disruption-flow { color: white; background: var(--emerald); }
.disruption-flow-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 3rem; border-top: 1px solid rgba(255,255,255,.18); border-left: 1px solid rgba(255,255,255,.18); }
.disruption-flow-grid article { min-height: 270px; padding: 1.7rem; border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.disruption-flow-grid span { color: #bde6ca; font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.disruption-flow-grid b { display: block; margin-top: 3rem; color: white; font-family: var(--serif); font-size: 1.45rem; font-weight: 500; }
.disruption-flow-grid p { margin: .8rem 0 0; color: rgba(255,255,255,.66); font-size: .8rem; }
.disruption-workbook { background: #e7eee8; }
.disruption-workbook-heading { display: flex; gap: 2rem; align-items: end; justify-content: space-between; margin-top: 3rem; }
.disruption-workbook-heading h2 { max-width: 800px; font-size: clamp(2.8rem, 5.8vw, 5.7rem); }
.disruption-workbook-heading p:last-child { margin-top: 1rem; color: #536a61; }
.disruption-workbook-heading .button { flex: 0 0 auto; cursor: pointer; }
.disruption-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 3rem; overflow: hidden; background: rgba(7,31,25,.16); border: 1px solid rgba(7,31,25,.16); border-radius: 1.1rem; box-shadow: 0 28px 75px rgba(7,31,25,.1); }
.drill-field { display: grid; gap: .7rem; padding: 1.4rem; background: #fbfaf4; }
.drill-field-wide { grid-column: 1 / -1; }
.drill-field span, .repair-grid span { color: var(--forest); font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.drill-field input, .drill-field textarea, .repair-grid input, .repair-grid textarea { width: 100%; padding: .9rem 1rem; color: var(--night); background: white; border: 1px solid rgba(7,31,25,.18); border-radius: .55rem; outline: 0; font: inherit; font-size: .86rem; resize: vertical; }
.drill-field input:focus, .drill-field textarea:focus, .repair-grid input:focus, .repair-grid textarea:focus { border-color: var(--copper); box-shadow: 0 0 0 3px rgba(232,37,17,.1); }
.verification-panel { display: grid; grid-template-columns: .65fr 1.35fr; gap: 1px; margin-top: 1.5rem; overflow: hidden; color: white; background: rgba(255,255,255,.14); border-radius: 1rem; box-shadow: 0 20px 50px rgba(7,31,25,.12); }
.verification-score { display: grid; align-content: center; padding: 2rem; background: var(--night); }
.verification-score > span { color: white; font-family: var(--serif); font-size: clamp(4.5rem, 9vw, 8rem); line-height: .8; }
.verification-score small { margin-top: .8rem; color: rgba(255,255,255,.56); font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.verification-score strong { margin-top: 2rem; color: #bde6ca; font-size: .85rem; }
.verification-checks { display: grid; gap: .75rem; margin: 0; padding: 2rem; color: var(--night); background: #fbfaf4; border: 0; }
.verification-checks legend { margin-bottom: 1rem; color: var(--forest); font-family: var(--serif); font-size: 1.45rem; font-weight: 500; line-height: 1.15; }
.verification-checks label { display: grid; grid-template-columns: auto 1fr; gap: .8rem; align-items: start; padding: .9rem; background: white; border: 1px solid rgba(7,31,25,.12); border-radius: .65rem; cursor: pointer; }
.verification-checks input { width: 1.05rem; height: 1.05rem; margin-top: .16rem; accent-color: var(--copper); }
.verification-checks span { color: #4e655c; font-size: .8rem; }
.repair-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1.5rem; }
.repair-grid label { display: grid; gap: .8rem; padding: 1.3rem; background: #fbfaf4; border: 1px solid rgba(7,31,25,.14); border-radius: .8rem; }
.disruption-publisher { color: white; background: var(--night); }
.disruption-publisher .section-kicker { border-color: rgba(255,255,255,.18); }
.disruption-publisher .section-kicker span, .disruption-publisher .section-kicker b { color: rgba(255,255,255,.62); }
.disruption-publisher-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(2rem, 7vw, 7rem); margin-top: 3rem; }
.disruption-publisher-grid h2 { max-width: 800px; color: white; font-size: clamp(2.8rem, 5.8vw, 5.7rem); }
.disruption-publisher-grid > div > p { max-width: 740px; margin-top: 1.2rem; color: rgba(255,255,255,.67); }

@media print {
  .site-header, .site-footer, .concentration-hero, .concentration-input-panel, .tool-reading-v2, .final-cta-v2, .concentration-result-heading button { display: none !important; }
  .concentration-calculator-section { padding: 0; background: white; }
  .concentration-tool { display: block; border: 0; box-shadow: none; }
  .concentration-output-panel { padding: 0; }
  .page-owner-dependence-diagnostic .site-header, .page-owner-dependence-diagnostic .site-footer, .page-owner-dependence-diagnostic .concentration-hero, .page-owner-dependence-diagnostic .owner-input-panel, .page-owner-dependence-diagnostic .tool-reading-v2, .page-owner-dependence-diagnostic .final-cta-v2, .page-owner-dependence-diagnostic .owner-result-heading button { display: none !important; }
  .owner-dependence-section { padding: 0; background: white; }
  .owner-dependence-tool { display: block; border: 0; box-shadow: none; }
  .owner-output-panel { padding: 0; }
  .page-continuity-kit .site-header, .page-continuity-kit .site-footer, .page-continuity-kit .continuity-kit-hero, .page-continuity-kit .kit-intro-section, .page-continuity-kit .kit-tool-section, .page-continuity-kit .kit-publisher-section, .page-continuity-kit .final-cta-v2, .page-continuity-kit .cookie-banner, .page-continuity-kit .kit-worksheet-heading button { display: none !important; }
  .page-continuity-kit .kit-worksheet-section { padding: 0; background: white; }
  .page-continuity-kit .worksheet-print-brand { display: flex; align-items: center; justify-content: space-between; padding-bottom: 1rem; border-bottom: 1px solid #aebbb4; }
  .page-continuity-kit .worksheet-print-brand img { width: 190px; height: auto; }
  .page-continuity-kit .worksheet-print-brand span { color: #476058; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
  .page-continuity-kit .section-kicker { margin-top: 1.2rem; }
  .page-continuity-kit .kit-worksheet-heading { margin-top: 1.2rem; }
  .page-continuity-kit .kit-worksheet-heading h2 { font-size: 2.4rem; }
  .page-continuity-kit .handoff-worksheet { border: 1px solid #9aa9a1; box-shadow: none; }
  .page-continuity-kit .worksheet-field { break-inside: avoid; background: white; }
  .page-continuity-kit .worksheet-field input, .page-continuity-kit .worksheet-field textarea { border-color: #aebbb4; }
  .page-disruption-drill .site-header, .page-disruption-drill .site-footer, .page-disruption-drill .disruption-hero, .page-disruption-drill .disruption-context, .page-disruption-drill .disruption-scenarios, .page-disruption-drill .disruption-flow, .page-disruption-drill .disruption-publisher, .page-disruption-drill .final-cta-v2, .page-disruption-drill .cookie-banner, .page-disruption-drill .disruption-workbook-heading button { display: none !important; }
  .page-disruption-drill .disruption-workbook { padding: 0; background: white; }
  .page-disruption-drill .worksheet-print-brand { display: flex; align-items: center; justify-content: space-between; padding-bottom: 1rem; border-bottom: 1px solid #aebbb4; }
  .page-disruption-drill .worksheet-print-brand img { width: 190px; height: auto; }
  .page-disruption-drill .worksheet-print-brand span { color: #476058; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
  .page-disruption-drill .section-kicker, .page-disruption-drill .disruption-workbook-heading { margin-top: 1rem; }
  .page-disruption-drill .disruption-workbook-heading h2 { font-size: 2.2rem; }
  .page-disruption-drill .disruption-form { margin-top: 1.2rem; border: 1px solid #9aa9a1; box-shadow: none; }
  .page-disruption-drill .drill-field, .page-disruption-drill .verification-checks, .page-disruption-drill .repair-grid label { break-inside: avoid; background: white; }
  .page-disruption-drill .drill-field input, .page-disruption-drill .drill-field textarea, .page-disruption-drill .repair-grid input, .page-disruption-drill .repair-grid textarea { border-color: #aebbb4; }
  .page-disruption-drill .verification-panel { grid-template-columns: 150px 1fr; margin-top: 1rem; border: 1px solid #9aa9a1; box-shadow: none; }
  .page-disruption-drill .verification-score { color: var(--night); background: white; border-right: 1px solid #9aa9a1; }
  .page-disruption-drill .verification-score > span, .page-disruption-drill .verification-score strong, .page-disruption-drill .verification-score small { color: var(--night); }
  .page-disruption-drill .repair-grid { gap: .5rem; margin-top: 1rem; }
}
@media (max-width: 900px) {
  .tool-feature-card, .concentration-hero-grid, .concentration-tool, .owner-dependence-tool, .continuity-kit-hero-grid, .kit-intro-grid, .kit-publisher-grid, .disruption-hero-grid, .disruption-context-grid, .disruption-section-heading, .disruption-publisher-grid { grid-template-columns: 1fr; }
  .tool-feature-visual { min-height: 220px; }
  .concentration-hero-note { max-width: 620px; }
  .corporate-grid { grid-template-columns: 1fr 1fr; }
  .governance-row { grid-template-columns: 1fr 1fr; }
  .governance-row strong { grid-column: 1 / -1; }
  .kit-orbit { width: min(78vw, 390px); margin-top: 2rem; }
  .kit-orbit > div { transform: translate(-50%, -50%) rotate(var(--angle)) translateY(clamp(-194px, -39vw, -155px)) rotate(calc(var(--angle) * -1)); }
  .kit-flow-grid { grid-template-columns: 1fr 1fr; }
  .kit-tool-grid { grid-template-columns: 1fr; }
  .kit-tool-card { min-height: 300px; }
  .disruption-radar { width: min(76vw, 400px); margin-top: 2rem; }
  .scenario-grid, .disruption-flow-grid { grid-template-columns: 1fr 1fr; }
  .verification-panel { grid-template-columns: 1fr; }
  .verification-score { min-height: 260px; }
  .repair-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .tool-feature-card { padding: 1.5rem; }
  .tool-feature-visual { min-height: 180px; padding: 1.2rem; }
  .concentration-hero-grid { margin-top: 2.5rem; }
  .concentration-hero-note { padding-left: 1.2rem; }
  .concentration-metrics, .concentration-scenarios { grid-template-columns: 1fr; }
  .concentration-bar-row { grid-template-columns: 92px 1fr 38px; gap: .55rem; }
  .concentration-input-panel, .concentration-output-panel { padding: 1.2rem; }
  .owner-input-panel, .owner-output-panel { padding: 1.2rem; }
  .owner-score-card { grid-template-columns: 1fr; }
  .owner-score-ring { width: 96px; }
  .owner-score-ring::before { width: 68px; }
  .owner-metrics { grid-template-columns: 1fr; }
  .owner-profile-row { grid-template-columns: 112px 1fr 38px; gap: .5rem; }
  .brand img.brand-logo, .brand-v2 img.brand-logo { height: 32px; }
  .corporate-grid { grid-template-columns: 1fr; }
  .corporate-card { min-height: 240px; }
  .process-step { grid-template-columns: 48px 1fr; gap: 1rem; }
  .process-step p { grid-column: 2; }
  .governance-row { grid-template-columns: 1fr; gap: .6rem; }
  .governance-row strong { grid-column: auto; }
  .cookie-banner { left: .75rem; right: .75rem; bottom: .75rem; }
  .cookie-banner-inner { grid-template-columns: 1fr; }
  .cookie-actions { flex-direction: column; }
  .cookie-actions button { width: 100%; }
  .cookie-table { display: block; overflow-x: auto; }
  .continuity-kit-hero-grid { margin-top: 2.5rem; }
  .kit-hero-actions { align-items: flex-start; flex-direction: column; }
  .kit-orbit { width: min(72vw, 300px); }
  .kit-orbit > div { width: 68px; min-height: 52px; transform: translate(-50%, -50%) rotate(var(--angle)) translateY(clamp(-149px, -36vw, -112px)) rotate(calc(var(--angle) * -1)); }
  .kit-flow-grid { grid-template-columns: 1fr; }
  .kit-flow-grid li { min-height: 210px; }
  .kit-worksheet-heading { align-items: flex-start; flex-direction: column; }
  .handoff-worksheet { grid-template-columns: 1fr; }
  .worksheet-field-wide { grid-column: auto; }
  .kit-feature-visual span { width: 58px; height: 58px; flex-basis: 58px; font-size: .55rem; }
  .disruption-hero-grid { margin-top: 2.5rem; }
  .disruption-radar { width: min(72vw, 300px); }
  .radar-node { min-width: 72px; min-height: 56px; }
  .radar-node em { font-size: .57rem; }
  .disruption-boundary { grid-template-columns: 1fr; }
  .scenario-grid, .disruption-flow-grid { grid-template-columns: 1fr; }
  .scenario-card { min-height: 270px; }
  .disruption-flow-grid article { min-height: 220px; }
  .disruption-workbook-heading { align-items: flex-start; flex-direction: column; }
  .disruption-form { grid-template-columns: 1fr; }
  .drill-field-wide { grid-column: auto; }
  .verification-checks { padding: 1.2rem; }
}
