/* GoodAir editorial system — August 2026 */
:root {
  --ga-ink: #10162a;
  --ga-ink-soft: #1a2140;
  --ga-paper: #f2f0ea;
  --ga-canvas: #faf9f5;
  --ga-line: #d8d5cd;
  --ga-muted: #677083;
  --ga-violet: #6547eb;
  --ga-violet-bright: #856dff;
  --ga-mint: #0aa98b;
  --ga-lime: #c6f56f;
  --ga-white: #fff;
  --ga-mono: "DM Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  --ga-display: "Sora", ui-sans-serif, system-ui, sans-serif;
  --max-width: 1240px;
}

.editorial-site {
  color: var(--ga-ink);
  background: var(--ga-canvas);
  font-family: "Manrope", ui-sans-serif, system-ui, sans-serif;
}

.editorial-site::selection { color: var(--ga-white); background: var(--ga-violet); }
.editorial-site .shell { width: min(calc(100% - 64px), var(--max-width)); }
.editorial-site .page-main { overflow: clip; }
.editorial-site h1,
.editorial-site h2,
.editorial-site h3 { margin: 0; font-family: var(--ga-display); letter-spacing: -.045em; }
.editorial-site p { margin-top: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.section-code {
  display: block;
  color: var(--ga-violet);
  font-family: var(--ga-mono);
  font-size: .7rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.section-editorial { position: relative; padding: 120px 0; }
.section-paper { background: var(--ga-paper); }
.section-ink { color: var(--ga-white); background: var(--ga-ink); }
.section-ink .section-code { color: var(--ga-lime); }

/* Header */
.editorial-header {
  border-bottom: 1px solid rgba(16, 22, 42, .12);
  background: rgba(250, 249, 245, .9);
  backdrop-filter: blur(22px) saturate(140%);
  transition: background .35s ease, box-shadow .35s ease;
}
.editorial-header.is-scrolled { background: rgba(250, 249, 245, .97); box-shadow: 0 12px 30px rgba(16, 22, 42, .06); }
.editorial-header .header-inner { min-height: 82px; }
.editorial-header .brand-mark { border-color: rgba(101, 71, 235, .25); border-radius: 50%; }
.brand-lockup { display: grid; gap: 1px; }
.brand-lockup small { color: var(--ga-muted); font-family: var(--ga-mono); font-size: .55rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.editorial-header .desktop-nav { gap: clamp(15px, 1.7vw, 26px); }
.editorial-header .desktop-nav a { position: relative; color: var(--ga-ink); font-size: .79rem; }
.editorial-header .desktop-nav a::after { position: absolute; right: 0; bottom: -8px; left: 0; height: 2px; content: ""; background: var(--ga-violet); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.editorial-header .desktop-nav a:hover::after,
.editorial-header .desktop-nav a.nav-active::after { transform: scaleX(1); }
.btn-small { min-height: 42px; padding: 9px 16px; }
.editorial-site .btn-primary { background: var(--ga-violet); box-shadow: none; }
.editorial-site .btn-primary:hover { background: #5336da; transform: translateY(-2px); box-shadow: 0 14px 30px rgba(101, 71, 235, .25); }
.editorial-site .btn-secondary { border-color: rgba(16, 22, 42, .22); background: transparent; }
.editorial-site .btn-secondary:hover { border-color: var(--ga-ink); background: var(--ga-white); }

/* Hero */
.editorial-hero { position: relative; min-height: calc(100vh - 82px); padding: 74px 0 0; color: var(--ga-white); background: var(--ga-ink); }
.hero-grid-lines { 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: 80px 80px; mask-image: linear-gradient(to bottom, #000, transparent 88%); }
.editorial-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, .95fr) minmax(440px, 1.05fr); align-items: center; gap: 76px; min-height: 600px; }
.hero-status { display: flex; align-items: center; gap: 10px; margin-bottom: 28px; color: #bfc7dc; font-family: var(--ga-mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.hero-status span { width: 8px; height: 8px; border-radius: 50%; background: var(--ga-lime); box-shadow: 0 0 0 6px rgba(198, 245, 111, .1); animation: signalPulse 2.6s ease-in-out infinite; }
.editorial-hero h1 { max-width: 720px; color: #f8f9ff !important; font-size: clamp(3.35rem, 6.5vw, 6.5rem); line-height: .96; }
.editorial-hero h1 em { color: var(--ga-violet-bright); font-style: normal; }
.editorial-hero-copy > p { max-width: 640px; margin: 30px 0 34px; color: #cbd2e2; font-size: clamp(1.05rem, 1.4vw, 1.28rem); line-height: 1.65; }
.hero-photo { height: min(64vh, 650px); min-height: 500px; transform: rotate(1.5deg); }
.editorial-photo { position: relative; margin: 0; overflow: hidden; background: #252c45; }
.editorial-photo::after { position: absolute; inset: 0; content: ""; pointer-events: none; background: linear-gradient(135deg, rgba(101,71,235,.18), transparent 48%); mix-blend-mode: color; }
.editorial-photo img { width: 100%; height: calc(100% + 40px); object-fit: cover; transform: translate3d(0, var(--image-shift, 0), 0) scale(1.045); transition: transform 1.2s cubic-bezier(.22,1,.36,1), filter 1.2s ease; }
.editorial-photo:hover img { transform: translate3d(0, var(--image-shift, 0), 0) scale(1.075); filter: saturate(1.08); }
.editorial-photo figcaption { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; display: flex; justify-content: space-between; gap: 20px; padding: 18px 20px; color: rgba(255,255,255,.9); background: linear-gradient(transparent, rgba(6,9,19,.8)); font-family: var(--ga-mono); font-size: .58rem; letter-spacing: .04em; }
.editorial-photo figcaption a:hover { text-decoration: underline; }
.image-rotator { position: relative; overflow: hidden; background: #252c45; }
.image-rotator > img { position: absolute; inset: 0; z-index: 0; opacity: 0; will-change: opacity, transform; transition: opacity 1.2s ease, transform 1.2s cubic-bezier(.22,1,.36,1), filter 1.2s ease; }
.image-rotator > img.is-active { z-index: 1; opacity: 1; }
.image-rotator figcaption { z-index: 3; }
.image-rotator .image-position { display: inline-flex; align-items: center; margin-left: 8px; color: var(--ga-lime); }
.radar-feature .image-rotator > img { width: 100%; height: 100%; object-fit: cover; }
.photo-index { position: absolute; z-index: 3; top: 18px; right: 18px; padding: 7px 9px; color: var(--ga-ink); background: var(--ga-lime); font-family: var(--ga-mono); font-size: .6rem; }
.editorial-hero .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.editorial-hero .btn-secondary { color: var(--ga-white); border-color: rgba(255,255,255,.25); }
.editorial-hero .btn-secondary:hover { color: var(--ga-ink); }
.hero-index-row { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 56px; border-top: 1px solid rgba(255,255,255,.14); }
.hero-index-row a { display: flex; gap: 12px; padding: 20px 12px; color: #c6ccda; border-right: 1px solid rgba(255,255,255,.14); font-size: .76rem; font-weight: 700; transition: color .25s ease, background .25s ease; }
.hero-index-row a:first-child { border-left: 1px solid rgba(255,255,255,.14); }
.hero-index-row a:hover { color: var(--ga-white); background: rgba(255,255,255,.05); }
.hero-index-row span { color: var(--ga-lime); font-family: var(--ga-mono); }

/* Home editorial sections */
.intro-grid { display: grid; grid-template-columns: 180px minmax(0, 1fr) 320px; gap: 50px; }
.intro-statement h2 { font-size: clamp(2.4rem, 4.6vw, 5rem); line-height: 1.03; }
.intro-statement .lead { max-width: 820px; margin: 28px 0 0; color: var(--ga-muted); font-size: clamp(1.25rem, 2vw, 1.7rem); line-height: 1.55; }
.intro-note { align-self: end; padding-left: 24px; border-left: 2px solid var(--ga-violet); }
.intro-note p { color: var(--ga-muted); font-size: .92rem; }
.editorial-link { display: inline-flex; align-items: center; gap: 9px; padding-bottom: 5px; border-bottom: 1px solid currentColor; color: var(--ga-violet); font-size: .82rem; font-weight: 800; }
.editorial-link i { transition: transform .25s ease; }
.editorial-link:hover i { transform: translate(3px, -3px); }
.editorial-link.light { color: var(--ga-lime); }
.editorial-heading { display: grid; grid-template-columns: 220px 1fr; gap: 40px; align-items: start; margin-bottom: 62px; }
.editorial-heading h2 { max-width: 800px; font-size: clamp(2.3rem, 4vw, 4rem); line-height: 1.08; }
.editorial-heading p { max-width: 720px; margin: 18px 0 0; color: var(--ga-muted); font-size: 1rem; }

.field-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ga-line); border-left: 1px solid var(--ga-line); }
.field-card { position: relative; min-height: 300px; padding: 28px; overflow: hidden; border-right: 1px solid var(--ga-line); border-bottom: 1px solid var(--ga-line); background: rgba(255,255,255,.42); transition: transform .35s cubic-bezier(.22,1,.36,1), color .3s ease, background .3s ease; }
.field-card::before,
.interactive-card::before { position: absolute; inset: 0; content: ""; pointer-events: none; opacity: 0; background: radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(133,109,255,.19), transparent 48%); transition: opacity .3s ease; }
.interactive-card:hover::before { opacity: 1; }
.field-card:hover { z-index: 2; transform: translateY(-7px); background: var(--ga-white); box-shadow: 0 24px 45px rgba(16,22,42,.1); }
.field-card > span { color: var(--ga-muted); font-family: var(--ga-mono); font-size: .64rem; }
.field-card > i { display: block; margin: 42px 0 24px; color: var(--ga-violet); font-size: 2rem; }
.field-card h3 { font-size: 1.25rem; }
.field-card p { min-height: 70px; margin: 12px 0 18px; color: var(--ga-muted); font-size: .87rem; }
.field-card small { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .62rem; }
.field-card-accent { color: var(--ga-white); background: var(--ga-violet); }
.field-card-accent > span,
.field-card-accent p { color: #ded8ff; }
.field-card-accent > i,
.field-card-accent small { color: var(--ga-lime); }
.field-card-accent:hover { color: var(--ga-white); background: #5639dc; }

.vision-grid { display: grid; grid-template-columns: minmax(350px, .8fr) minmax(0, 1.2fr); gap: clamp(60px, 9vw, 130px); align-items: center; }
.vision-photo { height: 720px; }
.vision-content h2 { margin-top: 22px; font-size: clamp(3rem, 5.8vw, 6.3rem); line-height: .95; }
.vision-lead { max-width: 660px; margin: 30px 0 44px; color: #bfc7d8; font-size: 1.12rem; }
.vision-list { margin-bottom: 38px; border-top: 1px solid rgba(255,255,255,.16); }
.vision-list article { display: grid; grid-template-columns: 48px 1fr; gap: 22px; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.vision-list article > span { color: var(--ga-lime); font-family: var(--ga-mono); font-size: .65rem; }
.vision-list h3 { font-size: 1rem; }
.vision-list p { margin: 4px 0 0; color: #aeb7cb; font-size: .82rem; }

.model-table { border-top: 2px solid var(--ga-ink); }
.model-table-head,
.model-table article { display: grid; grid-template-columns: 1.05fr 1.5fr 1fr; gap: 30px; align-items: center; padding: 20px 18px; border-bottom: 1px solid var(--ga-line); }
.model-table-head { padding-block: 12px; color: var(--ga-muted); font-family: var(--ga-mono); font-size: .62rem; text-transform: uppercase; }
.model-table article { min-height: 104px; transition: background .25s ease, padding .25s ease; }
.model-table article:hover { padding-inline: 28px; background: var(--ga-paper); }
.model-table article div { display: grid; }
.model-table strong { font-family: var(--ga-display); font-size: 1.2rem; }
.model-table small { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .62rem; text-transform: uppercase; }
.model-table p { margin: 0; color: var(--ga-muted); font-size: .9rem; }
.model-table article > span { font-size: .8rem; font-weight: 700; }
.source-note { display: grid; grid-template-columns: 24px 1fr auto; gap: 16px; align-items: start; margin-top: 30px; padding: 20px; background: var(--ga-paper); }
.source-note i { color: var(--ga-violet); }
.source-note p { margin: 0; color: var(--ga-muted); font-size: .75rem; }
.source-note a { color: var(--ga-violet); font-size: .75rem; font-weight: 800; }

.stack-preview-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; align-items: center; }
.stack-copy h2 { margin: 22px 0; font-size: clamp(2.8rem, 5vw, 5.6rem); line-height: .98; }
.stack-copy > p { max-width: 520px; margin-bottom: 30px; color: var(--ga-muted); font-size: 1rem; }
.stack-layers { perspective: 1000px; }
.stack-layers > div { display: grid; grid-template-columns: 44px 1fr 1fr; gap: 18px; align-items: center; min-height: 76px; padding: 16px 22px; margin-top: -1px; border: 1px solid var(--ga-line); background: rgba(255,255,255,.75); transition: transform .35s ease, background .3s ease; }
.stack-layers > div:hover { z-index: 2; transform: translateX(-10px) scale(1.01); background: var(--ga-white); }
.stack-layers span { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .62rem; }
.stack-layers strong { font-family: var(--ga-display); font-size: .95rem; }
.stack-layers small { color: var(--ga-muted); font-family: var(--ga-mono); font-size: .6rem; text-align: right; }
.stack-layers .stack-foundation { color: var(--ga-white); border-color: var(--ga-ink); background: var(--ga-ink); }
.stack-layers .stack-foundation small { color: #aeb7cb; }
.stack-layers .stack-foundation span { color: var(--ga-lime); }

.insight-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--ga-line); border-left: 1px solid var(--ga-line); margin-bottom: 34px; }
.insight-card { position: relative; min-height: 320px; padding: 32px; overflow: hidden; border-right: 1px solid var(--ga-line); border-bottom: 1px solid var(--ga-line); transition: background .25s ease; }
.insight-card:hover { background: var(--ga-paper); }
.insight-meta { display: flex; justify-content: space-between; gap: 16px; color: var(--ga-violet); font-family: var(--ga-mono); font-size: .61rem; letter-spacing: .05em; text-transform: uppercase; }
.insight-card h3 { max-width: 490px; margin: 62px 0 16px; font-size: 1.55rem; line-height: 1.2; }
.insight-card p { max-width: 530px; color: var(--ga-muted); font-size: .86rem; }
.insight-source { position: absolute; right: 32px; bottom: 28px; left: 32px; display: flex; justify-content: space-between; color: var(--ga-muted); font-family: var(--ga-mono); font-size: .62rem; }

/* Contact and map */
.contact-editorial-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px 90px; }
.contact-editorial-copy h2 { max-width: 570px; margin: 22px 0 26px; font-size: clamp(2.7rem, 4.7vw, 5.2rem); line-height: 1.02; }
.contact-editorial-copy > p { max-width: 540px; color: #bfc7d8; }
.contact-direct { display: grid; gap: 12px; margin-top: 36px; }
.contact-direct a { display: flex; align-items: center; gap: 12px; color: var(--ga-lime); font-size: .84rem; }
.editorial-form-wrap { padding: 36px; color: var(--ga-ink); background: var(--ga-white); }
.editorial-form { display: grid; gap: 18px; }
.editorial-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.editorial-form .field { display: grid; gap: 7px; }
.editorial-form label { font-family: var(--ga-mono); font-size: .61rem; letter-spacing: .06em; text-transform: uppercase; }
.editorial-form input,
.editorial-form select,
.editorial-form textarea { width: 100%; padding: 12px 0; color: var(--ga-ink); border: 0; border-bottom: 1px solid var(--ga-line); border-radius: 0; outline: none; background: transparent; }
.editorial-form input:focus,
.editorial-form select:focus,
.editorial-form textarea:focus { border-color: var(--ga-violet); box-shadow: none; }
.editorial-form textarea { resize: vertical; }
.editorial-form .btn { justify-self: start; }
.map-panel { grid-column: 1 / -1; position: relative; min-height: 420px; overflow: hidden; }
.map-panel iframe { width: 100%; height: 420px; filter: grayscale(1) contrast(.95); }
.map-panel > div { position: absolute; z-index: 2; right: 28px; bottom: 28px; display: grid; min-width: 300px; padding: 22px; color: var(--ga-ink); background: var(--ga-lime); }
.map-panel span,
.map-panel small { font-family: var(--ga-mono); font-size: .6rem; }
.map-panel strong { margin: 7px 0; font-family: var(--ga-display); }
.map-panel a { margin-top: 8px; font-size: .68rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }

/* Knowledge pages */
.knowledge-hero { position: relative; padding: 130px 0 100px; color: var(--ga-white); background: var(--ga-ink); }
.knowledge-hero::after { position: absolute; right: -80px; bottom: -180px; width: 520px; height: 520px; border: 1px solid rgba(133,109,255,.22); border-radius: 50%; content: ""; box-shadow: 0 0 0 80px rgba(133,109,255,.025), 0 0 0 160px rgba(133,109,255,.02); }
.knowledge-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 120px; align-items: end; }
.knowledge-hero h1 { max-width: 960px; margin: 25px 0 28px; color: #f8f9ff !important; font-size: clamp(3.3rem, 6.5vw, 7rem); line-height: .97; }
.knowledge-hero p { max-width: 730px; margin: 0; color: #bec6d8; font-size: 1.1rem; line-height: 1.7; }
.knowledge-index { display: grid; border-top: 1px solid rgba(255,255,255,.2); }
.knowledge-index > span { padding: 14px 0; color: var(--ga-lime); font-family: var(--ga-mono); font-size: .6rem; }
.knowledge-index a { padding: 12px 0; color: #bcc4d4; border-top: 1px solid rgba(255,255,255,.1); font-size: .78rem; transition: color .2s ease, padding .2s ease; }
.knowledge-index a:hover { padding-left: 8px; color: var(--ga-white); }
.chapter { scroll-margin-top: 80px; }
.chapter-grid { display: grid; grid-template-columns: 150px 1fr; gap: 70px; }
.chapter-number { color: var(--ga-violet); font-family: var(--ga-mono); font-size: 4rem; line-height: 1; }
.section-ink .chapter-number { color: var(--ga-lime); }
.chapter-content > h2 { max-width: 970px; margin: 22px 0 28px; font-size: clamp(2.6rem, 5vw, 5.4rem); line-height: 1.02; }
.chapter-lead { max-width: 850px; margin-bottom: 54px; color: var(--ga-muted); font-size: 1.2rem; line-height: 1.7; }
.section-ink .chapter-lead { color: #bec6d8; }
.concept-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--ga-line); }
.concept-grid article { min-height: 280px; padding: 30px; border-right: 1px solid var(--ga-line); }
.concept-grid article:last-child { border-right: 0; }
.concept-grid i { color: var(--ga-violet); font-size: 1.8rem; }
.concept-grid h3 { margin: 44px 0 14px; }
.concept-grid p { color: var(--ga-muted); font-size: .86rem; }
.concept-grid small { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .6rem; }
.capability-lines { border-top: 2px solid var(--ga-ink); }
.capability-lines article { display: grid; grid-template-columns: 160px 1.2fr 1fr; gap: 40px; align-items: center; min-height: 110px; border-bottom: 1px solid var(--ga-line); }
.capability-lines span { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .62rem; }
.capability-lines h3 { font-size: 1.25rem; }
.capability-lines p { margin: 0; color: var(--ga-muted); font-size: .85rem; }
.definition-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(255,255,255,.18); border-left: 1px solid rgba(255,255,255,.18); }
.definition-grid article { min-height: 220px; padding: 30px; border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.definition-grid strong { color: var(--ga-lime); font-family: var(--ga-mono); font-size: .82rem; }
.definition-grid p { max-width: 520px; margin: 55px 0 0; color: #bec6d8; }
.agent-anatomy { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--ga-line); border-left: 1px solid var(--ga-line); }
.agent-anatomy > div { display: grid; min-height: 190px; padding: 24px; border-right: 1px solid var(--ga-line); border-bottom: 1px solid var(--ga-line); }
.agent-anatomy span { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .62rem; }
.agent-anatomy strong { align-self: end; font-family: var(--ga-display); }
.agent-anatomy small { color: var(--ga-muted); font-size: .7rem; }
.chapter blockquote { margin: 48px 0 0; padding: 28px 36px; color: var(--ga-ink); border-left: 4px solid var(--ga-violet); background: var(--ga-paper); font-family: var(--ga-display); font-size: 1.35rem; }
.decision-list { margin: 0; padding: 0; border-top: 2px solid var(--ga-ink); list-style: none; }
.decision-list li { display: grid; grid-template-columns: 80px 1fr; min-height: 105px; align-items: center; border-bottom: 1px solid var(--ga-line); }
.decision-list li > span { color: var(--ga-violet); font-family: var(--ga-mono); }
.decision-list strong { font-family: var(--ga-display); font-size: 1.15rem; }
.decision-list p { margin: 5px 0 0; color: var(--ga-muted); font-size: .82rem; }
.chapter-next { display: flex; justify-content: space-between; gap: 30px; align-items: center; margin-top: 60px; padding: 26px 0; border-top: 1px solid var(--ga-line); border-bottom: 1px solid var(--ga-line); }
.chapter-next > span { color: var(--ga-muted); font-family: var(--ga-mono); font-size: .62rem; }
.chapter-next a { color: var(--ga-violet); font-weight: 800; }

/* Model landscape */
.update-stamp { display: inline-grid; margin-top: 42px; padding: 15px 18px; border: 1px solid rgba(198,245,111,.45); }
.update-stamp span { color: #aeb7c9; font-family: var(--ga-mono); font-size: .55rem; }
.update-stamp strong { color: var(--ga-lime); font-family: var(--ga-mono); letter-spacing: .08em; }
.metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--ga-line); }
.metric-grid article { padding: 26px; border-right: 1px solid var(--ga-line); border-bottom: 1px solid var(--ga-line); }
.metric-grid article:nth-child(3n) { border-right: 0; }
.metric-grid article:nth-last-child(-n+3) { border-bottom: 0; }
.metric-grid strong { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .72rem; text-transform: uppercase; }
.metric-grid p { margin: 28px 0 0; color: var(--ga-muted); font-size: .8rem; }
.model-catalog { display: grid; gap: 20px; }
.model-catalog article { padding: 32px; border: 1px solid var(--ga-line); background: rgba(255,255,255,.6); transition: border .25s ease, transform .25s ease; }
.model-catalog article:hover { transform: translateX(8px); border-color: var(--ga-violet); }
.model-catalog header { display: flex; justify-content: space-between; gap: 30px; }
.model-catalog header span,
.model-catalog header small { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .6rem; }
.model-catalog h3 { margin-top: 4px; font-size: 1.8rem; }
.model-catalog > article > p { max-width: 850px; margin: 28px 0; color: var(--ga-muted); }
.model-catalog footer { display: flex; justify-content: space-between; gap: 20px; padding-top: 18px; border-top: 1px solid var(--ga-line); color: var(--ga-muted); font-family: var(--ga-mono); font-size: .62rem; }
.model-catalog footer a { color: var(--ga-violet); }
.caution-note { display: grid; grid-template-columns: 120px 1fr; gap: 30px; margin-top: 30px; padding: 24px; color: var(--ga-white); background: var(--ga-ink); }
.caution-note strong { color: var(--ga-lime); font-family: var(--ga-mono); font-size: .68rem; text-transform: uppercase; }
.caution-note p { margin: 0; color: #bec6d8; font-size: .8rem; }
.wide-editorial-photo { height: 530px; margin: 48px 0; }
.vision-model-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(255,255,255,.18); border-left: 1px solid rgba(255,255,255,.18); }
.vision-model-grid article { min-height: 250px; padding: 30px; border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.vision-model-grid span { color: var(--ga-lime); font-family: var(--ga-mono); font-size: .6rem; }
.vision-model-grid h3 { margin: 55px 0 12px; font-size: 1.2rem; }
.vision-model-grid p { color: #b7c0d1; font-size: .82rem; }
.vision-model-grid a { color: var(--ga-lime); font-size: .7rem; }
.open-choice-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 2px solid var(--ga-ink); }
.open-choice-grid article { padding: 28px; border-right: 1px solid var(--ga-line); border-bottom: 1px solid var(--ga-line); }
.open-choice-grid h3 { font-size: 1.2rem; }
.open-choice-grid ul { display: grid; gap: 12px; padding-left: 16px; color: var(--ga-muted); font-size: .78rem; }
.source-callout { margin-top: 36px; padding: 34px; color: var(--ga-white); background: var(--ga-violet); }
.source-callout h3 { font-size: 1.35rem; }
.source-callout p { max-width: 750px; margin: 15px 0; color: #e4e0ff; }
.source-callout a { color: var(--ga-lime); font-weight: 800; }
.sources-list { border-top: 2px solid var(--ga-ink); }
.sources-list a { display: grid; grid-template-columns: 160px 1fr 20px; gap: 24px; padding: 22px 4px; border-bottom: 1px solid var(--ga-line); transition: padding .25s ease, background .25s ease; }
.sources-list a:hover { padding-inline: 16px; background: var(--ga-white); }
.sources-list span { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .68rem; }

/* Stack */
.architecture-stack { border-top: 2px solid var(--ga-ink); }
.architecture-stack article { display: grid; grid-template-columns: 60px 1fr 270px; gap: 24px; align-items: center; min-height: 104px; padding: 16px 24px; border-right: 1px solid var(--ga-line); border-bottom: 1px solid var(--ga-line); border-left: 1px solid var(--ga-line); background: var(--ga-white); transition: transform .3s ease, box-shadow .3s ease; }
.architecture-stack article:hover { z-index: 2; transform: translateX(-12px); box-shadow: 20px 20px 50px rgba(16,22,42,.08); }
.architecture-stack article > span { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .65rem; }
.architecture-stack article div { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: center; }
.architecture-stack strong { font-family: var(--ga-display); }
.architecture-stack p { margin: 0; color: var(--ga-muted); font-family: var(--ga-mono); font-size: .62rem; }
.architecture-stack article > small { color: var(--ga-muted); font-size: .72rem; text-align: right; }
.architecture-stack .architecture-foundation { color: var(--ga-white); border-color: var(--ga-ink); background: var(--ga-ink); }
.architecture-stack .architecture-foundation > span { color: var(--ga-lime); }
.architecture-stack .architecture-foundation p,
.architecture-stack .architecture-foundation > small { color: #b8c0d2; }
.data-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 18px; align-items: center; }
.data-flow > div { display: grid; min-height: 160px; padding: 22px; border: 1px solid var(--ga-line); background: var(--ga-white); }
.data-flow span { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .62rem; }
.data-flow strong { align-self: end; font-family: var(--ga-display); }
.data-flow small { color: var(--ga-muted); font-size: .68rem; }
.data-flow > i { color: var(--ga-violet); }
.practice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 42px; }
.practice-grid article { padding-top: 20px; border-top: 2px solid var(--ga-violet); }
.practice-grid h3 { font-size: 1rem; }
.practice-grid p { color: var(--ga-muted); font-size: .8rem; }
.autonomy-levels { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid rgba(255,255,255,.18); border-left: 1px solid rgba(255,255,255,.18); }
.autonomy-levels article { display: grid; min-height: 240px; padding: 24px; border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.autonomy-levels span { color: var(--ga-lime); font-family: var(--ga-mono); font-size: .6rem; }
.autonomy-levels strong { align-self: end; font-family: var(--ga-display); }
.autonomy-levels p { color: #b7c0d1; font-size: .74rem; }
.risk-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ga-line); border-left: 1px solid var(--ga-line); }
.risk-grid article { min-height: 230px; padding: 28px; border-right: 1px solid var(--ga-line); border-bottom: 1px solid var(--ga-line); }
.risk-grid i { color: var(--ga-violet); font-size: 1.6rem; }
.risk-grid h3 { margin: 40px 0 12px; font-size: 1.05rem; }
.risk-grid p { color: var(--ga-muted); font-size: .78rem; }
.ops-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 2px solid var(--ga-ink); }
.ops-grid article { padding: 28px; border-right: 1px solid var(--ga-line); border-bottom: 1px solid var(--ga-line); }
.ops-grid span { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .62rem; }
.ops-grid h3 { margin: 42px 0 10px; }
.ops-grid p { color: var(--ga-muted); font-size: .8rem; }

/* Radar */
.radar-stamp { display: grid; align-self: center; padding: 28px; color: var(--ga-ink); background: var(--ga-lime); transform: rotate(2deg); }
.radar-stamp span,
.radar-stamp small { font-family: var(--ga-mono); font-size: .6rem; }
.radar-stamp strong { margin: 20px 0; font-family: var(--ga-display); font-size: 2.3rem; line-height: .95; }
.radar-feature { display: grid; grid-template-columns: 1.1fr .9fr; min-height: 560px; margin-bottom: 70px; color: var(--ga-white); background: var(--ga-ink); }
.radar-feature figure { min-height: 100%; margin: 0; overflow: hidden; }
.radar-feature img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s ease; }
.radar-feature:hover img { transform: scale(1.04); }
.radar-feature > div { display: flex; flex-direction: column; padding: 48px; }
.radar-feature h2 { margin: auto 0 20px; font-size: clamp(2.2rem, 4vw, 4.3rem); line-height: 1.03; }
.radar-feature p { color: #b9c1d3; }
.radar-feature > div > a { margin-top: 20px; color: var(--ga-lime); font-weight: 800; }
.radar-list { border-top: 2px solid var(--ga-ink); }
.radar-row { display: grid; grid-template-columns: 180px 1fr 1fr 100px; gap: 36px; align-items: center; min-height: 150px; padding: 28px 12px; border-bottom: 1px solid var(--ga-line); transition: padding .25s ease, background .25s ease; }
.radar-row:hover { padding-inline: 24px; background: var(--ga-paper); }
.radar-row .insight-meta { display: grid; }
.radar-row h2 { font-size: 1.35rem; }
.radar-row p { margin: 0; color: var(--ga-muted); font-size: .78rem; }
.radar-source { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .62rem; text-align: right; }
.editorial-policy-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; }
.editorial-policy h2 { margin-top: 20px; font-size: clamp(2.5rem, 4.5vw, 4.7rem); }
.policy-points { border-top: 2px solid var(--ga-ink); }
.policy-points article { display: grid; grid-template-columns: 50px 180px 1fr; gap: 20px; align-items: center; min-height: 110px; border-bottom: 1px solid var(--ga-line); }
.policy-points span { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .62rem; }
.policy-points h3 { font-size: 1rem; }
.policy-points p { margin: 0; color: var(--ga-muted); font-size: .8rem; }
.newsletter-page-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.newsletter-page h2 { margin: 20px 0; font-size: clamp(2.7rem, 4.5vw, 4.7rem); }
.newsletter-page p { color: #b9c2d4; }

/* Services */
.service-principles { display: grid; border-top: 1px solid rgba(255,255,255,.2); }
.service-principles span { padding: 12px 0; color: var(--ga-lime); font-family: var(--ga-mono); font-size: .6rem; }
.service-principles strong { padding: 12px 0; border-top: 1px solid rgba(255,255,255,.12); font-family: var(--ga-display); font-size: 1rem; }
.services-editorial { padding-top: 0; }
.service-editorial-row { display: grid; grid-template-columns: 70px 1fr 1fr; gap: 50px; min-height: 300px; padding: 60px 0; border-bottom: 1px solid var(--ga-line); }
.service-editorial-row > span { color: var(--ga-violet); font-family: var(--ga-mono); }
.service-editorial-row small { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .6rem; }
.service-editorial-row h2 { max-width: 500px; margin-top: 18px; font-size: clamp(2rem, 3.4vw, 3.6rem); line-height: 1.05; }
.service-editorial-row p { max-width: 520px; color: var(--ga-muted); }
.service-editorial-row ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; padding: 0; list-style: none; }
.service-editorial-row li { padding-top: 10px; border-top: 1px solid var(--ga-line); font-size: .76rem; font-weight: 700; }
.service-editorial-row { scroll-margin-top: 110px; }
.service-editorial-row-governance { position: relative; }
.service-editorial-row-governance::before { position: absolute; top: 0; bottom: 0; left: -18px; width: 4px; content: ""; background: linear-gradient(var(--ga-lime), var(--ga-violet)); }
.multidisciplinary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px 90px; }
.multidisciplinary h2 { max-width: 700px; margin-top: 22px; font-size: clamp(2.6rem, 4.8vw, 5.2rem); line-height: 1.02; }
.discipline-grid { display: grid; grid-template-columns: repeat(2, 1fr); align-self: end; border-top: 1px solid rgba(255,255,255,.17); border-left: 1px solid rgba(255,255,255,.17); }
.discipline-grid span { padding: 22px; border-right: 1px solid rgba(255,255,255,.17); border-bottom: 1px solid rgba(255,255,255,.17); color: #d0d6e3; font-family: var(--ga-mono); font-size: .68rem; }
.multidisciplinary-grid > p { grid-column: 2; color: #aeb8ca; }
.method-editorial { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--ga-line); border-left: 1px solid var(--ga-line); }
.method-editorial article { display: grid; min-height: 230px; padding: 25px; border-right: 1px solid var(--ga-line); border-bottom: 1px solid var(--ga-line); }
.method-editorial span { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .65rem; }
.method-editorial h3 { align-self: end; }
.method-editorial p { color: var(--ga-muted); font-size: .75rem; }
.service-cta { display: flex; justify-content: space-between; gap: 40px; align-items: end; margin-top: 70px; padding: 42px; color: var(--ga-white); background: var(--ga-ink); }
.service-cta span { color: var(--ga-lime); font-family: var(--ga-mono); font-size: .6rem; }
.service-cta h2 { margin: 14px 0 8px; font-size: 2rem; }
.service-cta p { margin: 0; color: #b7c0d1; }

.technology-capability-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ga-line); border-left: 1px solid var(--ga-line); }
.technology-capability-grid article { min-height: 270px; padding: 32px; border-right: 1px solid var(--ga-line); border-bottom: 1px solid var(--ga-line); background: rgba(255,255,255,.72); }
.technology-capability-grid article > span { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .72rem; }
.technology-capability-grid i { display: block; margin: 32px 0 22px; color: var(--ga-violet); font-size: 1.6rem; }
.technology-capability-grid h3 { margin-bottom: 12px; font-size: 1.15rem; }
.technology-capability-grid p { margin: 0; color: var(--ga-muted); font-size: .94rem; }
.capabilities-agent-note { display: grid; grid-template-columns: 150px 1fr auto; gap: 28px; align-items: center; margin-top: 28px; padding: 26px 30px; border: 1px solid var(--ga-line); background: var(--ga-white); }
.capabilities-agent-note > span { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .72rem; letter-spacing: .08em; }
.capabilities-agent-note p { margin: 0; color: var(--ga-muted); }

.visual-atlas { position: relative; overflow: hidden; padding-bottom: 64px; }
.visual-atlas::before { position: absolute; inset: 0; content: ""; pointer-events: none; opacity: .16; background: repeating-linear-gradient(90deg, transparent 0 119px, rgba(255,255,255,.12) 119px 120px); }
.visual-atlas-header { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 48px; align-items: end; margin-bottom: 38px; }
.visual-atlas-header h2 { max-width: 760px; margin: 18px 0 12px; font-size: clamp(2.3rem, 4.3vw, 4.8rem); line-height: .98; }
.visual-atlas-header p { max-width: 680px; margin: 0; color: #b7c0d1; font-size: 1.02rem; }
.visual-atlas-controls { display: flex; gap: 10px; align-items: center; }
.visual-atlas-controls output { min-width: 82px; color: var(--ga-lime); font-family: var(--ga-mono); font-size: .75rem; text-align: right; }
.visual-atlas-controls button { display: grid; width: 46px; height: 46px; place-items: center; color: var(--ga-white); border: 1px solid rgba(255,255,255,.24); border-radius: 50%; background: rgba(255,255,255,.06); transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.visual-atlas-controls button:hover { border-color: var(--ga-lime); background: rgba(190,255,65,.1); transform: translateY(-2px); }
.visual-atlas-viewport { position: relative; z-index: 1; overflow-x: auto; padding: 0 max(28px, calc((100vw - 1240px) / 2)) 24px; cursor: grab; scrollbar-width: thin; scrollbar-color: var(--ga-lime) rgba(255,255,255,.08); scroll-behavior: smooth; scroll-snap-type: x proximity; }
.visual-atlas-viewport:active { cursor: grabbing; }
.visual-atlas-viewport:focus-visible { outline: 2px solid var(--ga-lime); outline-offset: -2px; }
.visual-atlas-track { display: flex; width: max-content; gap: 16px; align-items: flex-start; }
.visual-atlas-card { position: relative; flex: 0 0 320px; height: 340px; overflow: hidden; margin: 38px 0 0; border: 1px solid rgba(255,255,255,.16); scroll-snap-align: start; background: #080d1d; }
.visual-atlas-card.atlas-wide { flex-basis: 510px; height: 400px; margin-top: 0; }
.visual-atlas-card.atlas-tall { flex-basis: 270px; height: 430px; margin-top: 18px; }
.visual-atlas-card img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.9) contrast(1.04); transition: transform .8s cubic-bezier(.22,1,.36,1), filter .5s ease; }
.visual-atlas-card:hover img { transform: scale(1.035); filter: saturate(1.08) contrast(1.06); }
.visual-atlas-card::after { position: absolute; inset: auto 0 0; height: 48%; content: ""; pointer-events: none; background: linear-gradient(transparent, rgba(5,9,22,.9)); }
.visual-atlas-card figcaption { position: absolute; z-index: 2; right: 18px; bottom: 16px; left: 18px; display: flex; gap: 8px 16px; align-items: end; justify-content: space-between; }
.visual-atlas-card figcaption span { max-width: 58%; color: var(--ga-white); font-family: var(--ga-display); font-size: .92rem; font-weight: 700; }
.visual-atlas-card figcaption a,
.visual-atlas-card figcaption small { max-width: 48%; color: var(--ga-lime); font-family: var(--ga-mono); font-size: .58rem; line-height: 1.35; text-align: right; }
.visual-atlas-card figcaption a:hover { text-decoration: underline; }
.visual-atlas-note { position: relative; z-index: 1; display: flex; gap: 28px; align-items: baseline; justify-content: space-between; margin-top: 20px; }
.visual-atlas-note span { color: var(--ga-lime); font-family: var(--ga-mono); font-size: .64rem; letter-spacing: .08em; }
.visual-atlas-note p { max-width: 720px; margin: 0; color: #929db2; font-size: .78rem; }

.governance-band { padding: 78px 0; color: var(--ga-white); background: radial-gradient(circle at 15% 0, rgba(108,74,255,.34), transparent 34%), var(--ga-ink); }
.governance-band-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 42px; align-items: start; }
.governance-band h2 { max-width: 640px; margin: 20px 0 0; font-size: clamp(2rem, 3.3vw, 3.35rem); line-height: 1.08; }
.governance-band-grid > div > p { max-width: 600px; margin: 18px 0 0; color: #b7c0d1; font-size: .94rem; }
.governance-band article { min-height: 220px; padding: 28px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.045); }
.governance-band article > span { color: var(--ga-lime); font-family: var(--ga-mono); font-size: .72rem; }
.governance-band article h3 { margin: 30px 0 14px; font-size: 1.22rem; }
.governance-band article p { margin: 0; color: #b7c0d1; font-size: .94rem; }
.governance-band > .governance-band-grid > a { grid-column: 2 / -1; justify-self: start; }

/* Newsletter / footer */
.footer-newsletter { padding: 90px 0; color: var(--ga-white); border-bottom: 1px solid rgba(255,255,255,.14); background: var(--ga-violet); }
.footer-newsletter .section-code { color: var(--ga-lime); }
.footer-newsletter-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 90px; align-items: end; }
.footer-newsletter h2 { margin-top: 22px; font-size: clamp(2.5rem, 4.5vw, 4.8rem); line-height: 1.04; }
.footer-newsletter-grid > div:last-child > p { color: #e3deff; }
.newsletter-form { position: relative; }
.newsletter-control { display: grid; grid-template-columns: 1fr auto; border-bottom: 2px solid currentColor; }
.newsletter-control input { min-width: 0; padding: 15px 0; color: inherit; border: 0; outline: 0; background: transparent; font-size: 1rem; }
.newsletter-control input::placeholder { color: rgba(255,255,255,.58); }
.newsletter-control button { padding: 12px 0 12px 18px; color: var(--ga-lime); border: 0; background: transparent; cursor: pointer; font-weight: 800; }
.newsletter-control button:disabled { opacity: .55; }
.newsletter-consent { margin: 10px 0 0 !important; color: rgba(255,255,255,.68) !important; font-family: var(--ga-mono); font-size: .57rem !important; }
.newsletter-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.editorial-footer { padding-top: 0; color: #d4d9e4; background: #090d1a; }
.editorial-footer-grid { grid-template-columns: 1.2fr .7fr 1fr 1fr; padding-top: 70px; padding-bottom: 65px; }
.editorial-footer-grid nav { display: grid; align-content: start; gap: 10px; }
.editorial-footer-grid strong,
.footer-location strong { margin-bottom: 8px; color: var(--ga-lime); font-family: var(--ga-mono); font-size: .6rem; text-transform: uppercase; }
.footer-location { display: grid; align-content: start; gap: 10px; }
.editorial-footer-grid a,
.footer-location span { color: #aeb6c7; font-size: .76rem; }
.editorial-footer-grid a:hover { color: var(--ga-white); }
.editorial-footer .footer-bottom { color: #818b9f; border-color: rgba(255,255,255,.1); font-family: var(--ga-mono); font-size: .57rem; }
.floating-whatsapp { width: auto; height: 50px; gap: 8px; padding: 0 17px; border-radius: 25px; font-size: .72rem; }
.floating-whatsapp span { display: inline; }
.site-toast { position: fixed; z-index: 100; right: 24px; bottom: 90px; max-width: 360px; padding: 16px 20px; color: var(--ga-white); border-left: 4px solid var(--ga-lime); background: var(--ga-ink); box-shadow: 0 20px 60px rgba(0,0,0,.24); opacity: 0; pointer-events: none; transform: translateY(16px); transition: opacity .3s ease, transform .3s ease; font-size: .8rem; }
.site-toast.is-visible { opacity: 1; transform: translateY(0); }
.site-toast.is-error { border-color: #ff7a85; }

/* Motion */
.js .reveal,
.js [data-reveal] { opacity: 0; transform: translate3d(0, 28px, 0); transition: opacity .8s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms), transform .9s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms); }
.js [data-reveal="title"] { transform: translate3d(0, 45px, 0); clip-path: inset(0 0 28% 0); }
.js [data-reveal="image"] { opacity: 1; transform: scale(.94) rotate(1.4deg); clip-path: inset(14% 0 14% 0 round 2px); transition: transform 1.25s cubic-bezier(.22,1,.36,1), clip-path 1.35s cubic-bezier(.22,1,.36,1); }
.js .reveal.is-visible,
.js [data-reveal].is-visible { opacity: 1; transform: translate3d(0,0,0); clip-path: inset(0 0 0 0); }
.js [data-reveal="image"].is-visible { transform: scale(1) rotate(0); }
@supports (animation-timeline: view()) {
  .stack-layers > div,
  .architecture-stack article { animation: layerArrive linear both; animation-timeline: view(); animation-range: entry 0% cover 30%; }
  .vision-list article { animation: lineSlide linear both; animation-timeline: view(); animation-range: entry 5% cover 25%; }
}
@keyframes signalPulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .55; transform: scale(.72); } }
@keyframes layerArrive { from { opacity: .2; transform: translateX(60px) rotateX(-5deg); } to { opacity: 1; transform: none; } }
@keyframes lineSlide { from { opacity: .2; transform: translateX(35px); } to { opacity: 1; transform: none; } }

/* Responsive */
@media (max-width: 1080px) {
  .editorial-site .shell { width: min(calc(100% - 48px), var(--max-width)); }
  .editorial-header .desktop-nav { display: none; }
  .editorial-header .header-actions { margin-left: auto; }
  .editorial-header .menu-toggle { display: inline-flex; }
  .editorial-hero-grid { grid-template-columns: 1fr 420px; gap: 42px; }
  .editorial-hero h1 { font-size: clamp(3.2rem, 7vw, 5.5rem); }
  .intro-grid { grid-template-columns: 110px 1fr; }
  .intro-note { grid-column: 2; }
  .field-grid { grid-template-columns: repeat(2, 1fr); }
  .knowledge-hero-grid { gap: 60px; }
  .chapter-grid { grid-template-columns: 90px 1fr; gap: 40px; }
  .agent-anatomy,
  .autonomy-levels,
  .method-editorial { grid-template-columns: repeat(3, 1fr); }
  .architecture-stack article { grid-template-columns: 50px 1fr 180px; }
  .data-flow { grid-template-columns: 1fr 1fr; }
  .data-flow > i { display: none; }
  .radar-row { grid-template-columns: 140px 1fr 1fr; }
  .radar-source { grid-column: 2; text-align: left; }
}

@media (max-width: 820px) {
  .section-editorial { padding: 84px 0; }
  .editorial-header .header-actions { display: none; }
  .editorial-hero { padding-top: 48px; }
  .editorial-hero-grid { grid-template-columns: 1fr; min-height: 0; }
  .editorial-hero-copy { padding-bottom: 10px; }
  .hero-photo { height: 520px; min-height: 0; }
  .hero-index-row { grid-template-columns: repeat(2, 1fr); }
  .intro-grid { grid-template-columns: 1fr; gap: 28px; }
  .intro-note { grid-column: auto; max-width: 560px; }
  .editorial-heading { grid-template-columns: 1fr; gap: 20px; }
  .vision-grid { grid-template-columns: 1fr; }
  .vision-photo { height: 590px; }
  .stack-preview-grid,
  .contact-editorial-grid,
  .footer-newsletter-grid,
  .newsletter-page-grid,
  .editorial-policy-grid { grid-template-columns: 1fr; gap: 50px; }
  .knowledge-hero { padding: 95px 0 75px; }
  .knowledge-hero-grid { grid-template-columns: 1fr; }
  .knowledge-index { max-width: 480px; }
  .concept-grid,
  .metric-grid,
  .open-choice-grid,
  .practice-grid,
  .risk-grid,
  .ops-grid { grid-template-columns: 1fr 1fr; }
  .concept-grid article:nth-child(2n),
  .metric-grid article:nth-child(2n) { border-right: 0; }
  .concept-grid article:last-child { border-right: 1px solid var(--ga-line); }
  .capability-lines article { grid-template-columns: 120px 1fr; padding: 20px 0; }
  .capability-lines p { grid-column: 2; }
  .agent-anatomy,
  .autonomy-levels,
  .method-editorial { grid-template-columns: repeat(2, 1fr); }
  .architecture-stack article { grid-template-columns: 40px 1fr; padding-block: 22px; }
  .architecture-stack article div { grid-template-columns: 1fr; gap: 8px; }
  .architecture-stack article > small { grid-column: 2; text-align: left; }
  .radar-feature { grid-template-columns: 1fr; }
  .radar-feature figure { min-height: 380px; }
  .radar-row { grid-template-columns: 130px 1fr; }
  .radar-row p { grid-column: 2; }
  .policy-points article { grid-template-columns: 45px 1fr; padding: 20px 0; }
  .policy-points p { grid-column: 2; }
  .service-editorial-row { grid-template-columns: 55px 1fr; }
  .service-editorial-row > div:last-child { grid-column: 2; }
  .multidisciplinary-grid { grid-template-columns: 1fr; }
  .multidisciplinary-grid > p { grid-column: 1; }
  .editorial-footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .editorial-site .shell { width: min(calc(100% - 32px), var(--max-width)); }
  .brand-lockup small { display: none; }
  .editorial-header .header-inner { min-height: 70px; }
  .editorial-header .mobile-menu { max-height: calc(100vh - 70px); overflow-y: auto; }
  .editorial-hero { min-height: 0; }
  .editorial-hero h1 { font-size: clamp(2.75rem, 13vw, 4rem); }
  .editorial-hero-copy > p { font-size: 1rem; }
  .editorial-hero .hero-actions { display: grid; }
  .editorial-hero .btn { width: 100%; }
  .hero-photo { height: 390px; }
  .hero-index-row { margin-top: 38px; }
  .hero-index-row a { font-size: .65rem; }
  .section-editorial { padding: 68px 0; }
  .intro-statement h2,
  .editorial-heading h2 { font-size: 2.4rem; }
  .intro-statement .lead { font-size: 1.08rem; }
  .field-grid,
  .insight-grid,
  .definition-grid,
  .vision-model-grid,
  .concept-grid,
  .metric-grid,
  .open-choice-grid,
  .practice-grid,
  .risk-grid,
  .ops-grid { grid-template-columns: 1fr; }
  .field-card { min-height: 270px; }
  .vision-photo { height: 470px; }
  .vision-content h2 { font-size: 3.2rem; }
  .model-table-head { display: none; }
  .model-table article { grid-template-columns: 1fr; gap: 8px; padding: 20px 0; }
  .model-table article:hover { padding-inline: 12px; }
  .source-note { grid-template-columns: 22px 1fr; }
  .source-note a { grid-column: 2; }
  .stack-preview-grid { gap: 45px; }
  .stack-layers > div { grid-template-columns: 36px 1fr; }
  .stack-layers small { grid-column: 2; text-align: left; }
  .insight-card { min-height: 300px; padding: 24px; }
  .insight-card h3 { margin-top: 45px; }
  .contact-editorial-grid { gap: 42px; }
  .editorial-form-wrap { padding: 24px 18px; }
  .editorial-form .form-row { grid-template-columns: 1fr; }
  .map-panel,
  .map-panel iframe { min-height: 360px; height: 360px; }
  .map-panel > div { right: 14px; bottom: 14px; left: 14px; min-width: 0; }
  .knowledge-hero { padding: 75px 0 60px; }
  .knowledge-hero h1 { font-size: 3rem; }
  .knowledge-hero p { font-size: .95rem; }
  .chapter-grid { grid-template-columns: 1fr; gap: 24px; }
  .chapter-number { font-size: 2rem; }
  .chapter-content > h2 { font-size: 2.55rem; }
  .chapter-lead { margin-bottom: 36px; font-size: 1rem; }
  .concept-grid article { min-height: 220px; border-right: 1px solid var(--ga-line) !important; }
  .capability-lines article { grid-template-columns: 1fr; gap: 8px; }
  .capability-lines p { grid-column: 1; }
  .definition-grid article { min-height: 190px; }
  .agent-anatomy,
  .autonomy-levels,
  .method-editorial { grid-template-columns: 1fr; }
  .chapter blockquote { margin-inline: 0; padding: 24px; font-size: 1.1rem; }
  .chapter-next { display: grid; }
  .model-catalog article { padding: 24px 18px; }
  .model-catalog header,
  .model-catalog footer { display: grid; }
  .caution-note { grid-template-columns: 1fr; }
  .wide-editorial-photo { height: 340px; }
  .sources-list a { grid-template-columns: 100px 1fr 18px; gap: 12px; font-size: .75rem; }
  .data-flow { grid-template-columns: 1fr; }
  .architecture-stack article { grid-template-columns: 32px 1fr; padding-inline: 14px; }
  .radar-stamp { max-width: 220px; }
  .radar-feature figure { min-height: 270px; }
  .radar-feature > div { padding: 28px 22px; }
  .radar-feature h2 { margin-top: 70px; }
  .radar-row { grid-template-columns: 1fr; gap: 14px; }
  .radar-row p,
  .radar-source { grid-column: 1; }
  .policy-points article { grid-template-columns: 35px 1fr; }
  .service-editorial-row { grid-template-columns: 35px 1fr; gap: 18px; padding: 44px 0; }
  .service-editorial-row ul { grid-template-columns: 1fr; }
  .discipline-grid { grid-template-columns: 1fr; }
  .service-cta { display: grid; padding: 28px 22px; }
  .footer-newsletter { padding: 65px 0; }
  .newsletter-control { grid-template-columns: 1fr; }
  .newsletter-control button { justify-self: start; padding-left: 0; }
  .editorial-footer-grid { grid-template-columns: 1fr; }
  .editorial-footer .footer-bottom { display: grid; gap: 8px; }
  .floating-whatsapp span { display: none; }
  .floating-whatsapp { width: 50px; padding: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .js .reveal,
  .js [data-reveal] { opacity: 1 !important; clip-path: none !important; transform: none !important; }
  .editorial-photo img { transform: none !important; }
}

/* Readability and narrative pass — v4.1 */
.editorial-site { font-size: 17px; line-height: 1.68; }
.editorial-site p { line-height: 1.72; }
.section-code,
.hero-status,
.photo-index,
.model-table-head,
.insight-meta,
.insight-source,
.editorial-form label,
.map-panel span,
.map-panel small,
.knowledge-index > span,
.model-catalog header span,
.model-catalog header small,
.model-catalog footer,
.update-stamp span,
.radar-stamp span,
.radar-stamp small,
.radar-source,
.service-principles span,
.service-editorial-row small,
.method-editorial span,
.service-cta span,
.editorial-footer-grid strong,
.footer-location strong,
.editorial-photo figcaption,
.field-card > span,
.vision-list article > span,
.stack-layers span,
.chapter-next > span,
.capability-lines span,
.agent-anatomy span,
.vision-model-grid span,
.architecture-stack article > span,
.data-flow span,
.autonomy-levels span,
.ops-grid span,
.policy-points span { font-size: .72rem; }
.brand-lockup small { font-size: .66rem; }
.editorial-header .desktop-nav a { font-size: .88rem; }
.hero-index-row a { font-size: .84rem; }
.field-card p,
.insight-card p,
.vision-list p,
.model-table p,
.concept-grid p,
.capability-lines p,
.metric-grid p,
.policy-points p,
.method-editorial p,
.service-editorial-row p,
.architecture-stack p { font-size: .96rem; }
.field-card small,
.model-table small,
.stack-layers small,
.concept-grid small,
.agent-anatomy small,
.editorial-footer-grid a,
.footer-location span { font-size: .76rem; }
.model-table article > span,
.knowledge-index a,
.editorial-link,
.contact-direct a { font-size: .9rem; }
.source-note p,
.source-note a,
.site-toast { font-size: .86rem; }
.newsletter-consent,
.editorial-footer .footer-bottom { font-size: .68rem !important; }

.brand-mark img,
.hero-brand-orb,
.knowledge-brand-orb,
.footer-brand-with-logo img {
  display: block;
  border-radius: 50%;
  background: transparent;
}
.editorial-header .brand-mark { width: 50px; height: 50px; padding: 0; overflow: hidden; border: 0; background: transparent; box-shadow: none; }
.editorial-header .brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.hero-brand-orb { width: 92px; height: 92px; margin-bottom: 24px; box-shadow: 0 18px 50px rgba(0,0,0,.28); }
.knowledge-brand-orb { position: absolute; z-index: 1; top: 34px; right: max(32px, calc((100vw - var(--max-width)) / 2)); width: 88px; height: 88px; opacity: .76; box-shadow: 0 15px 45px rgba(0,0,0,.24); }
.footer-brand-with-logo { display: flex; align-items: center; gap: 15px; }
.footer-brand-with-logo img { width: 58px; height: 58px; }

.learning-path { padding-top: 105px; }
.learning-steps { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0; margin: 0; border-top: 1px solid var(--ga-line); border-left: 1px solid var(--ga-line); list-style: none; }
.learning-steps li { display: grid; grid-template-columns: 40px 1fr; gap: 18px; min-height: 200px; padding: 28px; border-right: 1px solid var(--ga-line); border-bottom: 1px solid var(--ga-line); background: rgba(255,255,255,.42); }
.learning-steps li > span { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .75rem; }
.learning-steps h3 { margin-bottom: 12px; font-size: 1.25rem; }
.learning-steps p { margin: 0; color: var(--ga-muted); font-size: .96rem; }
.china-model-catalog { margin-top: 8px; }

@media (max-width: 820px) {
  .learning-steps { grid-template-columns: repeat(2, 1fr); }
  .knowledge-brand-orb { top: 20px; right: 24px; width: 70px; height: 70px; opacity: .52; }
}

@media (max-width: 600px) {
  .editorial-site { font-size: 16.5px; }
  .hero-brand-orb { width: 76px; height: 76px; }
  .learning-steps { grid-template-columns: 1fr; }
  .learning-steps li { min-height: 0; }
  .knowledge-brand-orb { width: 58px; height: 58px; }
  .knowledge-hero p { font-size: 1.04rem; }
  .chapter-lead { font-size: 1.06rem; }
  .hero-index-row a { font-size: .76rem; }
}

/* Scientific notebook and readability pass — v4.2 */
.editorial-site { font-size: 18px; }
.editorial-site p { max-width: 72ch; }
.section-code { display: flex; align-items: center; gap: 10px; font-size: .78rem; }
.section-code::before { width: 20px; height: 1px; content: ""; background: currentColor; }
.hero-status,
.photo-index,
.knowledge-index > span,
.radar-stamp span,
.radar-stamp small,
.update-stamp span,
.chapter-number,
.learning-steps li > span { letter-spacing: .13em; }
.editorial-header .desktop-nav a,
.hero-index-row a,
.knowledge-index a,
.editorial-link,
.model-table-head,
.model-table small,
.insight-meta,
.insight-source,
.radar-source { font-family: var(--ga-mono); }
.editorial-header .desktop-nav a { font-size: .92rem; }
.editorial-hero-copy > p { font-size: clamp(1.16rem, 1.5vw, 1.38rem); }
.editorial-heading p,
.stack-copy > p,
.vision-lead,
.contact-editorial-copy > p,
.service-editorial-row p { font-size: 1.06rem; }
.field-card p,
.insight-card p,
.vision-list p,
.model-table p,
.concept-grid p,
.capability-lines p,
.metric-grid p,
.policy-points p,
.method-editorial p,
.architecture-stack p,
.radar-row p { font-size: 1rem; }
.field-card small,
.model-table small,
.stack-layers small,
.concept-grid small,
.agent-anatomy small,
.editorial-footer-grid a,
.footer-location span { font-size: .8rem; }
.chapter-content { position: relative; padding-top: 18px; }
.chapter-content::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 5px;
  content: "";
  opacity: .38;
  background: repeating-linear-gradient(90deg, var(--ga-violet) 0 1px, transparent 1px 18px);
}
.section-ink .chapter-content::before { background: repeating-linear-gradient(90deg, var(--ga-lime) 0 1px, transparent 1px 18px); }

.region-lab-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--ga-line); border-left: 1px solid var(--ga-line); }
.region-lab { position: relative; padding: 38px; border-right: 1px solid var(--ga-line); border-bottom: 1px solid var(--ga-line); background: rgba(255,255,255,.45); }
.region-lab::before { position: absolute; top: 0; right: 0; left: 0; height: 5px; content: ""; background: repeating-linear-gradient(90deg, var(--ga-violet) 0 2px, transparent 2px 14px); }
.region-lab-usa { grid-column: 1 / -1; }
.region-lab-usa::before { background: repeating-linear-gradient(90deg, #315fd4 0 2px, transparent 2px 14px); }
.region-lab-usa header > span { color: #315fd4; }
.region-lab-china::before { background: repeating-linear-gradient(90deg, #dd4e43 0 2px, transparent 2px 14px); }
.region-lab header > span { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .78rem; letter-spacing: .12em; }
.region-lab-china header > span { color: #b93830; }
.region-lab h3 { max-width: 560px; margin: 30px 0 20px; font-size: clamp(1.65rem, 2.7vw, 2.45rem); line-height: 1.12; }
.region-lab > p { color: var(--ga-muted); font-size: 1.04rem; }
.lab-readings { display: grid; margin-top: 30px; border-top: 1px solid var(--ga-line); }
.lab-readings a { display: grid; grid-template-columns: 128px 1fr 20px; gap: 14px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--ga-line); font-size: .92rem; font-weight: 700; }
.lab-readings a:hover { color: var(--ga-violet); }
.lab-readings span { color: var(--ga-muted); font-family: var(--ga-mono); font-size: .72rem; font-weight: 500; letter-spacing: .04em; }
.region-empty { margin: 22px 0 0; color: var(--ga-muted); }
.coverage-note { margin: 26px 0 0; padding: 20px 24px; color: var(--ga-muted); border-left: 3px solid var(--ga-violet); background: var(--ga-canvas); font-size: .9rem; }
.coverage-note span { margin-right: 12px; color: var(--ga-violet); font-family: var(--ga-mono); font-size: .74rem; letter-spacing: .08em; }

.science-gallery { position: relative; overflow: hidden; padding-top: 92px; padding-bottom: 104px; }
.science-gallery::before { position: absolute; inset: 0; content: ""; pointer-events: none; opacity: .14; background: repeating-linear-gradient(90deg, transparent 0 119px, rgba(255,255,255,.12) 119px 120px); }
.science-gallery-heading { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(180px, .55fr) minmax(0, 1.45fr); gap: 46px; align-items: start; margin-bottom: 42px; }
.science-gallery-heading h2 { max-width: 780px; margin: 0 0 14px; font-size: clamp(2.3rem, 4vw, 4.4rem); line-height: 1; }
.science-gallery-heading p { max-width: 620px; margin: 0; color: #b7c0d1; font-size: 1.05rem; }
.science-gallery-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.25fr .8fr 1fr; grid-template-rows: 310px 250px; gap: 16px; }
.science-gallery-card { position: relative; min-width: 0; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.18); background: #080e1d; }
.science-gallery-card-1 { grid-row: 1 / 3; }
.science-gallery-card-2 { grid-column: 2; grid-row: 1; }
.science-gallery-card-3 { grid-column: 2 / 4; grid-row: 2; }
.science-gallery-card-4 { grid-column: 3; grid-row: 1; }
.science-gallery-card > a:first-child { display: block; width: 100%; height: 100%; }
.science-gallery-card img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.88) contrast(1.03); transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .3s ease; }
.science-gallery-card:hover img { transform: scale(1.035); filter: saturate(1.04) contrast(1.04); }
.science-gallery-card::after { position: absolute; inset: auto 0 0; height: 52%; content: ""; pointer-events: none; background: linear-gradient(transparent, rgba(4,8,19,.92)); }
.science-gallery-card figcaption { position: absolute; z-index: 1; right: 20px; bottom: 17px; left: 20px; display: flex; gap: 16px; align-items: end; justify-content: space-between; pointer-events: none; }
.science-gallery-card figcaption span { max-width: 230px; color: var(--ga-white); font-size: 1rem; font-weight: 760; line-height: 1.2; }
.science-gallery-card figcaption a { flex: none; color: var(--ga-lime); font-family: var(--ga-mono); font-size: .66rem; letter-spacing: .04em; pointer-events: auto; }

@media (max-width: 820px) {
  .region-lab-grid { grid-template-columns: 1fr; }
  .technology-capability-grid { grid-template-columns: repeat(2, 1fr); }
  .capabilities-agent-note { grid-template-columns: 1fr; }
  .governance-band-grid { grid-template-columns: 1fr 1fr; }
  .governance-band-grid > div { grid-column: 1 / -1; }
  .governance-band > .governance-band-grid > a { grid-column: 1 / -1; }
  .visual-atlas-header { grid-template-columns: 1fr; gap: 24px; }
  .visual-atlas-controls { justify-content: flex-start; }
  .visual-atlas-controls output { order: 3; text-align: left; }
  .science-gallery-heading { grid-template-columns: 1fr; gap: 18px; }
  .science-gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 340px 260px 300px; }
  .science-gallery-card-1 { grid-column: 1; grid-row: 1 / 3; }
  .science-gallery-card-2 { grid-column: 2; grid-row: 1; }
  .science-gallery-card-3 { grid-column: 1 / 3; grid-row: 3; }
  .science-gallery-card-4 { grid-column: 2; grid-row: 2; }
}

@media (max-width: 600px) {
  .editorial-site { font-size: 17px; }
  .editorial-hero-copy > p { font-size: 1.08rem; }
  .region-lab { padding: 28px 22px; }
  .region-lab h3 { font-size: 1.75rem; }
  .lab-readings a { grid-template-columns: 1fr 20px; }
  .lab-readings span { grid-column: 1 / -1; }
  .coverage-note span { display: block; margin: 0 0 8px; }
  .technology-capability-grid { grid-template-columns: 1fr; }
  .technology-capability-grid article { min-height: 0; }
  .governance-band { padding: 58px 0; }
  .governance-band-grid { grid-template-columns: 1fr; gap: 20px; }
  .governance-band-grid > div,
  .governance-band > .governance-band-grid > a { grid-column: auto; }
  .governance-band article { min-height: 0; }
  .visual-atlas { padding-bottom: 48px; }
  .visual-atlas-viewport { padding-right: 18px; padding-left: 18px; }
  .visual-atlas-card { flex-basis: 260px; height: 300px; margin-top: 24px; }
  .visual-atlas-card.atlas-wide { flex-basis: 330px; height: 330px; }
  .visual-atlas-card.atlas-tall { flex-basis: 235px; height: 350px; margin-top: 12px; }
  .visual-atlas-note { display: grid; gap: 10px; }
  .science-gallery { padding-top: 64px; padding-bottom: 72px; }
  .science-gallery-grid { display: flex; gap: 12px; margin-right: -18px; margin-left: -18px; padding: 0 18px 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
  .science-gallery-card,
  .science-gallery-card-1,
  .science-gallery-card-2,
  .science-gallery-card-3,
  .science-gallery-card-4 { flex: 0 0 78vw; height: 360px; grid-column: auto; grid-row: auto; scroll-snap-align: start; }
  .science-gallery-card:nth-child(even) { flex-basis: 68vw; height: 320px; margin-top: 24px; }
  .science-gallery-card figcaption { display: grid; gap: 8px; }
}

/* Commercial homepage — prospect journey, August 2026 */
.commercial-hero h1 { max-width: 760px; font-size: clamp(3.1rem, 5.8vw, 5.9rem); }
.commercial-hero .editorial-hero-grid { min-height: 620px; }
.commercial-hero .hero-photo { height: min(62vh, 620px); }
#capacidades-goodair,
#casos,
#metodo,
#contacto { scroll-margin-top: 82px; }

.commercial-assurance { border-bottom: 1px solid var(--ga-line); background: var(--ga-white); }
.commercial-assurance-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.commercial-assurance-grid > div { display: flex; gap: 12px; align-items: center; min-height: 82px; padding: 18px 22px; border-right: 1px solid var(--ga-line); }
.commercial-assurance-grid > div:first-child { border-left: 1px solid var(--ga-line); }
.commercial-assurance-grid i { color: var(--ga-violet); font-size: 1.05rem; }
.commercial-assurance-grid span { font-size: .8rem; font-weight: 750; line-height: 1.35; }

.commercial-capability-grid article { transition: transform .3s ease, background .3s ease, box-shadow .3s ease; }
.commercial-capability-grid article:hover { z-index: 2; transform: translateY(-5px); background: var(--ga-white); box-shadow: 0 20px 45px rgba(16,22,42,.09); }

.experience-section { background: var(--ga-canvas); }
.experience-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ga-line); border-left: 1px solid var(--ga-line); }
.experience-card { position: relative; min-height: 330px; padding: 32px; overflow: hidden; border-right: 1px solid var(--ga-line); border-bottom: 1px solid var(--ga-line); background: rgba(255,255,255,.5); transition: transform .3s ease, background .3s ease, box-shadow .3s ease; }
.experience-card:hover { z-index: 2; transform: translateY(-5px); background: var(--ga-white); box-shadow: 0 20px 45px rgba(16,22,42,.09); }
.experience-card > span { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .7rem; letter-spacing: .08em; }
.experience-card > i { display: block; margin: 34px 0 20px; color: var(--ga-violet); font-size: 1.8rem; }
.experience-card h3 { font-size: clamp(1.35rem, 1.7vw, 1.8rem); }
.experience-card p { max-width: 540px; margin: 14px 0 24px; color: var(--ga-muted); font-size: .98rem; }
.experience-card small { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .68rem; }
.experience-card-featured { color: var(--ga-white); border-color: var(--ga-ink-soft); background: var(--ga-ink); }
.experience-card-featured > span,
.experience-card-featured > i,
.experience-card-featured small { color: var(--ga-lime); }
.experience-card-featured p { color: #bdc5d6; }
.experience-card-featured:hover { color: var(--ga-white); background: var(--ga-ink-soft); }
.experience-scope-note { display: flex; gap: 12px; align-items: flex-start; max-width: 900px; margin: 24px 0 0; color: var(--ga-muted); font-size: .86rem; line-height: 1.65; }
.experience-scope-note i { flex: 0 0 auto; margin-top: 2px; color: var(--ga-violet); }

.commercial-method-grid { display: grid; grid-template-columns: repeat(4, 1fr); padding: 0; margin: 0; border-top: 1px solid var(--ga-line); border-left: 1px solid var(--ga-line); list-style: none; }
.commercial-method-grid li { min-height: 260px; padding: 30px; border-right: 1px solid var(--ga-line); border-bottom: 1px solid var(--ga-line); background: rgba(255,255,255,.48); }
.commercial-method-grid li > span { color: var(--ga-violet); font-family: var(--ga-mono); font-size: .72rem; }
.commercial-method-grid h3 { margin: 48px 0 14px; font-size: 1.3rem; }
.commercial-method-grid p { margin: 0; color: var(--ga-muted); font-size: .94rem; }
.method-governance-note { display: grid; grid-template-columns: 48px 1fr; gap: 20px; align-items: start; margin-top: 28px; padding: 28px 30px; color: var(--ga-white); background: var(--ga-ink); }
.method-governance-note > i { color: var(--ga-lime); font-size: 1.5rem; }
.method-governance-note strong { font-family: var(--ga-display); font-size: 1.05rem; }
.method-governance-note p { margin: 7px 0 0; color: #b7c0d1; font-size: .9rem; }

.commercial-contact .contact-editorial-grid { align-items: start; }
.contact-expectations { display: grid; gap: 10px; margin: 30px 0; }
.contact-expectations span { display: flex; gap: 10px; align-items: start; color: #d7ddec; font-size: .9rem; }
.contact-expectations i { margin-top: 3px; color: var(--ga-lime); }
.contact-location-card { grid-column: 1 / -1; display: grid; grid-template-columns: 150px 1fr 1fr auto; gap: 22px; align-items: center; padding: 22px 26px; color: var(--ga-ink); background: var(--ga-lime); }
.contact-location-card span,
.contact-location-card small { font-family: var(--ga-mono); font-size: .7rem; }
.contact-location-card strong { font-family: var(--ga-display); }
.contact-location-card a { color: var(--ga-ink); font-size: .78rem; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }

.commercial-atlas { padding-top: 92px; padding-bottom: 58px; }
.commercial-atlas .visual-atlas-card { flex-basis: 285px; height: 310px; }
.commercial-atlas .visual-atlas-card.atlas-wide { flex-basis: 440px; height: 350px; }
.commercial-atlas .visual-atlas-card.atlas-tall { flex-basis: 245px; height: 380px; }

@media (max-width: 1080px) {
  .commercial-assurance-grid { grid-template-columns: repeat(2, 1fr); }
  .commercial-assurance-grid > div:nth-child(3) { border-left: 1px solid var(--ga-line); }
  .commercial-method-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  .commercial-hero .editorial-hero-grid { min-height: 0; }
  .experience-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-location-card { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
  .commercial-hero h1 { font-size: clamp(2.65rem, 12vw, 3.7rem); }
  .commercial-hero .hero-photo { height: 360px; }
  .commercial-assurance-grid { grid-template-columns: 1fr; }
  .commercial-assurance-grid > div,
  .commercial-assurance-grid > div:nth-child(3) { min-height: 66px; padding: 14px 16px; border-left: 1px solid var(--ga-line); border-bottom: 1px solid var(--ga-line); }
  .experience-card { min-height: 0; padding: 28px 22px; }
  .experience-card > i { margin: 30px 0 18px; }
  .experience-grid { grid-template-columns: 1fr; }
  .commercial-method-grid { grid-template-columns: 1fr; }
  .commercial-method-grid li { min-height: 0; padding: 26px 22px; }
  .commercial-method-grid h3 { margin-top: 28px; }
  .method-governance-note { grid-template-columns: 1fr; padding: 24px 22px; }
  .contact-location-card { grid-template-columns: 1fr; gap: 8px; padding: 20px; }
  .commercial-atlas { padding-top: 68px; }
  .commercial-atlas .visual-atlas-card { flex-basis: 250px; height: 290px; }
  .commercial-atlas .visual-atlas-card.atlas-wide { flex-basis: 320px; height: 320px; }
  .commercial-atlas .visual-atlas-card.atlas-tall { flex-basis: 225px; height: 340px; }
}
