:root {
  --bg: #f8f6f0;
  --panel: #fffef9;
  --ink: #171815;
  --muted: #666861;
  --faint: #8b8d86;
  --line: #ddd7cc;
  --soft: #eee9df;
  --accent: #315f54;
  --accent-soft: #e7eee9;
  --dark: #171815;
  --dark-ink: #f8f6f0;
  --shadow: 0 18px 45px rgba(23, 24, 21, 0.06);
  --max: 1180px;
  --measure: 760px;
  --radius: 18px;
  --pad: clamp(1rem, 4vw, 3.5rem);
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { font-size: 16px; scroll-behavior: smooth; }
html, body { margin: 0; width: 100%; max-width: 100%; overflow-x: hidden; }
body {
  min-height: 100vh;
  background: var(--bg);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.nav-open { overflow: hidden; }
main, section, article, aside, header, footer, nav, form, div { min-width: 0; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.18em; overflow-wrap: anywhere; }
img, svg, video, canvas, iframe { max-width: 100%; display: block; }
p, ul, ol { margin-top: 0; }
p { color: var(--muted); }
strong { color: var(--ink); }
main { min-height: 70vh; }
:focus-visible { outline: 3px solid rgba(49, 95, 84, 0.52); outline-offset: 3px; }
h1, h2, h3 {
  margin: 0;
  color: var(--ink);
  font-weight: 650;
  letter-spacing: -0.045em;
  line-height: 1.02;
}
h1 { font-size: clamp(2.35rem, 4.25vw, 4.35rem); max-width: 13ch; }
h1 em { font-family: Georgia, "Times New Roman", serif; font-weight: 400; color: var(--accent); }
h2 { font-size: clamp(1.65rem, 2.8vw, 2.85rem); max-width: 15ch; }
h3 { font-size: clamp(1.03rem, 1.4vw, 1.32rem); line-height: 1.2; letter-spacing: -0.025em; }
.eyebrow, .article-meta, .company, .toc-title, .callout-label {
  margin: 0 0 0.9rem;
  color: var(--accent);
  font-size: 0.72rem;
  line-height: 1.2;
  font-weight: 760;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.lead, .hero-copy .lead, .resources-intro .lead {
  color: var(--muted);
  font-size: clamp(1.08rem, 1.45vw, 1.28rem);
  line-height: 1.55;
  max-width: 42rem;
}
.wide-copy { max-width: var(--measure); }
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem;
  padding: 0.9rem var(--pad);
  background: rgba(248, 246, 240, 0.92);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(18px);
}
.skip-link {
  position: absolute;
  left: 1rem;
  top: -100px;
  z-index: 999;
  padding: 0.75rem 1rem;
  background: var(--ink);
  color: var(--dark-ink);
}
.skip-link:focus { top: 1rem; }
.logo-lockup { grid-column: 2; justify-self: center; display: inline-flex; align-items: center; color: var(--ink); text-decoration: none; }
.logo-mark { display: none; }
.brand-name { font-size: clamp(1.35rem, 2.4vw, 2.1rem); font-weight: 650; letter-spacing: -0.055em; line-height: 0.95; }
.nav-toggle {
  grid-column: 1;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.55rem;
  height: 2.55rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel);
  color: var(--ink);
  font-size: 1.15rem;
  cursor: pointer;
}
.header-cta { grid-column: 3; justify-self: end; }
.site-nav {
  display: none;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  padding-top: 0.75rem;
  border-top: 1px solid var(--line);
}
.site-nav.is-open { display: grid; }
.site-nav a {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 720;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
}
.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--ink); }
.button-row, .hero-actions, .related-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.6rem;
}
.button, .filter-button, .service-link, button.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0.72rem 1.08rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  font-size: 0.74rem;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  max-width: 100%;
  text-align: center;
  white-space: normal;
}
.button.primary, .filter-button.is-active { background: var(--ink); border-color: var(--ink); color: var(--dark-ink); }
.button.secondary, .button.text { background: transparent; color: var(--ink); }
.button:hover, .filter-button:hover, .service-link:hover { border-color: var(--ink); transform: translateY(-1px); }
.hero, .resources-hero, .section {
  width: 100%;
  max-width: var(--max);
  margin: 0 auto;
  padding: clamp(4.5rem, 8vw, 8rem) var(--pad);
  border-bottom: 1px solid var(--line);
}
.hero {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(280px, 0.78fr);
  gap: clamp(2rem, 7vw, 6rem);
  align-items: center;
}
.home-copy-hero { display: block; }
.home-copy-hero .hero-copy { max-width: 800px; }
.hero-copy { min-width: 0; }
.hero-copy > * + * { margin-top: 1.15rem; }
.hero-visual, .commerce-map, .shift-diagram, .inspector-visual {
  max-width: 100%;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}
.commerce-map { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.65rem; padding: 0.9rem; }
.commerce-map strong { grid-column: 1 / -1; padding: 1rem; border-radius: 12px; background: var(--accent-soft); color: var(--accent); font-size: 1.05rem; line-height: 1.25; }
.stage-label, .signal-orbit { display: none; }
.map-column { display: grid; gap: 0.45rem; align-content: start; min-width: 0; padding: 0.85rem; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); }
.map-column p { margin: 0 0 0.25rem; color: var(--ink); font-weight: 700; }
.map-column span { display: block; padding: 0.35rem 0.45rem; border-radius: 8px; background: var(--panel); color: var(--muted); font-size: 0.78rem; overflow-wrap: anywhere; }
.section-head { display: grid; grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr); gap: clamp(1.5rem, 5vw, 5rem); align-items: end; margin-bottom: clamp(1.5rem, 4vw, 3rem); }
.section-head p { max-width: 42rem; }
.card-grid, .proof-grid, .sprints-grid, .problems-grid, .delivery-grid, .migration-grid, .service-grid, .audit-grid, .resource-categories {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.card, .service-card, .support-card, .proof-card, .resource-card, .format-card, .result-card, .sampled-page, .visibility-layer, .contact-card, .article-offer, .article-aside, .tool-card, .problem-card, .sprint-card {
  min-width: 0;
  padding: clamp(1rem, 2.2vw, 1.45rem);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: none;
}
.card > * + *, .resource-card > * + *, .service-card > * + *, .result-card > * + * { margin-top: 0.75rem; }
.card p, .resource-card p, .service-card p, .result-card p { margin-bottom: 0; }
.card-number, .sprint-duration {
  display: inline-flex;
  width: fit-content;
  padding: 0.28rem 0.6rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.split-definition,
.access-section {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(1.5rem, 5vw, 5rem);
  align-items: start;
}
.split-definition .section-head,
.access-section .section-head {
  display: block;
  margin-bottom: 0;
}
.definition-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.definition-card,
.editorial-panel {
  min-width: 0;
  padding: clamp(1.35rem, 4vw, 2.5rem);
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) + 6px);
  background: var(--panel);
}
.definition-card {
  display: grid;
  gap: 1rem;
  align-content: start;
}
.definition-card span {
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.definition-card p,
.editorial-panel p {
  margin: 0;
  max-width: 48rem;
  font-size: clamp(1rem, 1.45vw, 1.2rem);
}
.definition-card p + p,
.editorial-panel p + p {
  margin-top: 1rem;
}
.definition-card-muted {
  background: var(--accent-soft);
}
.beyond-cookies-block {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: clamp(1.5rem, 5vw, 5rem);
  align-items: start;
}
.beyond-cookies-block .section-head {
  display: block;
  margin-bottom: 0;
}
.beyond-cookies-panel {
  padding: clamp(1.35rem, 4vw, 2.5rem);
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) + 6px);
  background: var(--panel);
}
.beyond-cookies-panel p {
  max-width: 48rem;
  font-size: clamp(1rem, 1.45vw, 1.2rem);
}
.beyond-cookies-panel p + p {
  margin-top: 1rem;
}
.dark-section, .section.dark-section, .cta-panel, .site-footer, .contact-section {
  max-width: none;
  background: var(--dark);
  color: var(--dark-ink);
}
.dark-section h1, .dark-section h2, .dark-section h3, .cta-panel h2, .site-footer h2 { color: var(--dark-ink); }
.dark-section p, .dark-section li, .cta-panel p, .site-footer p, .site-footer a { color: rgba(248,246,240,0.72); }
.dark-section .eyebrow { color: rgba(248,246,240,0.82); }
.dark-section a:not(.button),
.cta-panel a:not(.button),
.contact-section a:not(.button),
.commercial-pivot a:not(.button),
.manifesto-cta a:not(.button),
.dark-section strong,
.cta-panel strong,
.contact-section strong,
.commercial-pivot strong,
.manifesto-cta strong {
  color: var(--dark-ink);
}
.dark-section .button.primary,
.cta-panel .button.primary,
.contact-section .button.primary,
.commercial-pivot .button.primary,
.manifesto-cta .button.primary {
  background: var(--dark-ink);
  border-color: var(--dark-ink);
  color: var(--dark);
}
.dark-section .button.secondary,
.dark-section .button.text,
.cta-panel .button.secondary,
.cta-panel .button.text,
.contact-section .button.secondary,
.contact-section .button.text,
.commercial-pivot .button.secondary,
.commercial-pivot .button.text,
.manifesto-cta .button.secondary,
.manifesto-cta .button.text {
  border-color: rgba(248,246,240,0.42);
  color: var(--dark-ink);
}
.dark-section .button:hover,
.cta-panel .button:hover,
.contact-section .button:hover,
.commercial-pivot .button:hover,
.manifesto-cta .button:hover {
  border-color: var(--dark-ink);
}
.split-copy, .service-detail, .contact-layout, .article-shell, .about-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(2rem, 6vw, 5.5rem);
}
.split-copy > :first-child, .service-detail > :first-child, .contact-layout > :first-child, .article-aside { border-right: 1px solid var(--line); padding-right: clamp(1rem, 4vw, 3.5rem); }
.service-list {
  max-width: var(--max);
  margin: 0 auto;
  padding: clamp(1rem, 4vw, 3rem) var(--pad) clamp(4rem, 8vw, 7rem);
  display: grid;
  gap: 1rem;
}
.service-detail {
  padding: clamp(1.1rem, 3vw, 2rem);
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) + 4px);
  background: var(--panel);
}
.service-summary {
  display: grid;
  align-content: start;
  gap: 0.9rem;
}
.service-index {
  width: fit-content;
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 760;
  letter-spacing: 0.12em;
}
.service-summary h2 {
  max-width: 13ch;
}
.service-summary > p {
  max-width: 34rem;
  margin: 0;
}
.service-outcome {
  margin-top: 0.4rem;
  padding: 0.9rem 1rem;
  border-left: 3px solid var(--accent);
  background: var(--accent-soft);
  border-radius: 0 12px 12px 0;
}
.service-outcome span {
  display: block;
  margin-bottom: 0.25rem;
  color: var(--accent);
  font-size: 0.68rem;
  font-weight: 760;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.service-outcome p {
  margin: 0;
  color: var(--ink);
}
.service-support {
  min-width: 0;
}
.service-support h3 {
  margin-bottom: 1rem;
  color: var(--muted);
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.icon-list, .service-chip-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.55rem; }
.icon-list li, .service-chip-list li { position: relative; padding-left: 1rem; color: var(--muted); }
.icon-list li::before, .service-chip-list li::before { content: ""; position: absolute; left: 0; top: 0.72em; width: 0.28rem; height: 0.28rem; border-radius: 999px; background: var(--accent); }
.service-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.service-chip-list li {
  padding: 0.45rem 0.7rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--bg);
  color: var(--ink);
  font-size: 0.86rem;
  line-height: 1.2;
}
.service-chip-list li::before {
  display: none;
}
.mini-icon { display: none; }
.still-matters { display: flex; flex-wrap: wrap; gap: 0.65rem; }
.still-matters span { padding: 0.55rem 0.75rem; border: 1px solid var(--line); border-radius: 999px; background: var(--panel); color: var(--ink); font-size: 0.9rem; }
.stop-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; counter-reset: stop; }
.stop-list li { counter-increment: stop; display: grid; grid-template-columns: 3.4rem minmax(0,1fr); gap: 1rem; padding: 1.1rem 0; border-top: 1px solid var(--line); }
.stop-number::before { content: counter(stop, decimal-leading-zero); color: var(--accent); font-weight: 750; }
.proof-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.proof-grid div { padding: clamp(1rem, 2vw, 1.45rem); border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.proof-grid strong { display: block; margin-bottom: 0.5rem; color: var(--ink); font-size: clamp(1.65rem, 3vw, 2.45rem); line-height: 1; letter-spacing: -0.05em; }
.proof-grid span { color: var(--muted); }
.cta-panel { max-width: none; margin: 0; padding: clamp(4rem, 7vw, 7rem) var(--pad); text-align: left; }
.cta-panel > * { max-width: var(--measure); margin-left: auto; margin-right: auto; }
.tool-promo, .compact-tool-promo, .tools-band {
  width: min(calc(100% - (var(--pad) * 2)), var(--max));
  max-width: var(--max);
  margin: clamp(2rem, 4vw, 4rem) auto;
  padding: clamp(1.2rem, 3vw, 2rem) var(--pad);
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) + 4px);
  background: var(--panel);
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr) auto auto;
  gap: 1rem;
  align-items: center;
}
.tool-promo > *, .compact-tool-promo > *, .tools-band > * { min-width: 0; }
.resources-hero { display: grid; grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr); gap: clamp(2rem, 7vw, 6rem); align-items: end; }
.resources-hero h1 { max-width: 11ch; }
.resources-intro { max-width: 46rem; }
.resource-tools {
  display: grid;
  grid-template-columns: minmax(260px, 0.42fr) minmax(0, 1fr);
  gap: clamp(0.85rem, 2vw, 1.2rem);
  align-items: start;
  margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
  padding: clamp(1rem, 2.4vw, 1.35rem);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
}
.resource-tools label { display: grid; gap: 0.55rem; margin: 0; }
.resource-tools label span { color: var(--muted); font-size: 0.78rem; font-weight: 760; letter-spacing: 0.08em; text-transform: uppercase; }
.filters, .resource-filters { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; }
.resource-tools .filters { margin: 0; }
.resource-count { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 0.86rem; }
.resource-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  margin-top: 0;
  padding: 0;
}
.resource-card { display: flex; flex-direction: column; min-height: 100%; padding: 0; overflow: hidden; text-decoration: none; transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease; }
.resource-card:hover { transform: translateY(-2px); border-color: rgba(31,31,31,0.38); background: #fffdf8; }
.resource-card[hidden] { display: none !important; }
.resource-card-link { display: block; height: 100%; color: inherit; text-decoration: none; }
.resource-card-copy { display: grid; align-content: start; gap: 0.8rem; padding: clamp(1rem, 2.2vw, 1.45rem); }
.resource-card-copy h2 { max-width: 24ch; font-size: clamp(1.18rem, 1.8vw, 1.55rem); line-height: 1.08; }
.resource-card-copy p { color: var(--muted); font-size: 0.96rem; line-height: 1.55; }
.resource-question {
  padding-left: 0.85rem;
  border-left: 2px solid var(--accent);
  color: var(--ink) !important;
}
.resource-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
}
.resource-card-meta span {
  display: inline-flex;
  width: fit-content;
  padding: 0.24rem 0.5rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 760;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.resource-card-meta span:first-child {
  border-color: transparent;
  background: var(--ink);
  color: var(--dark-ink);
}
.reading-path, .series-map, .resource-library { width: 100%; max-width: var(--max); margin: 0 auto; padding: clamp(4rem, 8vw, 7rem) var(--pad); border-bottom: 1px solid var(--line); }
.reading-path {
  display: grid;
  grid-template-columns: minmax(240px, 0.34fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  align-items: start;
}
.path-copy { position: sticky; top: 6rem; }
.path-stack {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}
.path-card { display: grid; grid-template-columns: 3rem minmax(0,1fr); gap: 1rem; padding: 1.2rem 0; border-top: 1px solid var(--line); text-decoration: none; }
.path-card {
  grid-template-columns: 1fr;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
}
.path-card p { margin-bottom: 0; }
.path-card span { color: var(--accent); font-weight: 760; }
.path-card h3 { margin-bottom: 0.35rem; }
.path-index { color: var(--accent); font-weight: 760; }
.series-lane { display: grid; grid-template-columns: minmax(180px, 0.32fr) minmax(0, 1fr); gap: 1rem; margin-top: 0; padding: 1.2rem 0; border-top: 1px solid var(--line); }
.series-lane div { display: grid; gap: 0.5rem; }
.series-lane a { color: var(--muted); text-decoration: none; }
.series-lane a:hover { color: var(--ink); }
.article-shell { max-width: var(--max); margin: 0 auto; padding: clamp(3rem, 7vw, 6rem) var(--pad); align-items: start; }
.blog-article { min-width: 0; }
.blog-article:not(.blueprint-page) { padding: 0; border: 0; border-radius: 0; background: transparent; }
.blog-article > .breadcrumb, .blog-article > header {
  max-width: var(--max);
  margin: 0 auto;
  padding-left: var(--pad);
  padding-right: var(--pad);
}
.blog-article > .breadcrumb {
  padding-top: clamp(2rem, 4vw, 3rem);
}
.blog-article header { padding-top: clamp(3rem, 6vw, 5rem); padding-bottom: clamp(2rem, 5vw, 4rem); border-bottom: 1px solid var(--line); }
.blog-article header h1 { max-width: 14ch; }
.breadcrumb { display: flex; flex-wrap: wrap; gap: 0.55rem; color: var(--muted); font-size: 0.82rem; }
.breadcrumb a { color: var(--accent); text-decoration: none; }
.breadcrumb span::before { content: "/"; margin-right: 0.55rem; color: var(--faint); }
.article-body { max-width: var(--measure); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.03rem, 1.25vw, 1.16rem); line-height: 1.78; }
.article-body h2 { margin-top: 2.6rem; margin-bottom: 0.9rem; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: clamp(1.45rem, 2.6vw, 2.35rem); }
.article-body p { color: #3f413c; }
.article-body ul { padding-left: 1.15rem; }
.article-aside, .related { position: sticky; top: 6rem; }
.article-aside { background: transparent; box-shadow: none; }
.related {
  max-width: var(--max);
  margin: 0 auto;
  padding: clamp(3rem, 6vw, 5rem) var(--pad);
  border-top: 1px solid var(--line);
}
.related h2 { margin-bottom: 1.5rem; }
.blueprint-page {
  max-width: var(--measure);
  margin: 0 auto;
  padding: clamp(4rem, 8vw, 7rem) var(--pad);
  border: 0;
  border-radius: 0;
  background: transparent;
}
.blueprint-page header {
  padding-bottom: clamp(2rem, 5vw, 4rem);
  margin-bottom: clamp(2rem, 5vw, 4rem);
}
.blueprint-page header h1 {
  max-width: 12ch;
}
.blueprint-page section {
  padding: clamp(2rem, 5vw, 3.5rem) 0;
  border-bottom: 1px solid var(--line);
}
.blueprint-page section:last-child {
  border-bottom: 0;
}
.blueprint-page h2 {
  max-width: 15ch;
  margin-bottom: 1rem;
  font-size: clamp(1.65rem, 3vw, 2.8rem);
}
.blueprint-page h3 {
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}
.blueprint-page p,
.blueprint-page li {
  color: #3f413c;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.03rem, 1.2vw, 1.13rem);
  line-height: 1.76;
}
.blueprint-page ul {
  display: grid;
  gap: 0.8rem;
  padding-left: 1.2rem;
}
.callout, .toc, .learning-notes, .priority-panel, .ai-diagnostic-panel, .pillar-results, .commercial-pivot, .crawler-summary-panel, .schema-page-panel, .focus-area-panel, .score-breakdown-panel, .structured-layer-panel, .fixes-backlog-panel, .executive-summary-panel, .report-header { padding: 1rem; border: 1px solid rgba(49,95,84,0.18); border-radius: var(--radius); background: var(--accent-soft); }
.inspector-visual {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  padding: 1rem;
}
.inspector-visual span,
.inspector-visual strong {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg);
  color: var(--muted);
  font-size: 0.82rem;
}
.inspector-visual strong {
  grid-column: 1 / -1;
  background: var(--accent-soft);
  color: var(--accent);
}
.inspector-shell,
.inspector-loading,
.inspector-results,
.related-links {
  max-width: var(--max);
  margin: 0 auto;
  padding: clamp(3rem, 6vw, 5rem) var(--pad);
  border-bottom: 1px solid var(--line);
}
.inspector-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.75fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  align-items: start;
}
.inspector-form-panel,
.inspector-note,
.result-summary,
.report-header,
.executive-summary-panel,
.diagnostic-details,
.page-interpretation,
.crawler-summary-panel,
.schema-page-panel,
.focus-area-panel,
.score-breakdown-panel,
.structured-layer-panel,
.fixes-backlog-panel,
.agent-visualiser,
.inspector-context,
.booking-panel,
.legal-callout {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
}
.inspector-form-panel,
.inspector-note,
.result-summary,
.report-header,
.executive-summary-panel,
.page-interpretation,
.crawler-summary-panel,
.schema-page-panel,
.focus-area-panel,
.score-breakdown-panel,
.structured-layer-panel,
.fixes-backlog-panel,
.agent-visualiser {
  padding: clamp(1.25rem, 3vw, 2rem);
}
.inspector-form-panel h2,
.inspector-note h2,
.result-summary h2,
.report-header h2,
.executive-summary-panel h2,
.page-interpretation h2,
.crawler-summary-panel h2,
.schema-page-panel h2,
.focus-area-panel h2,
.score-breakdown-panel h2,
.structured-layer-panel h2,
.fixes-backlog-panel h2,
.agent-visualiser h2,
.diagnostic-details h2 {
  max-width: 14ch;
  font-size: clamp(1.55rem, 3vw, 2.45rem);
}
.inspector-loading {
  max-width: var(--measure);
}
.inspector-loading h2 {
  margin-bottom: 0.35rem;
  font-size: clamp(1.45rem, 2.8vw, 2.4rem);
}
.inspector-loading > p:not(.eyebrow) {
  max-width: 60ch;
  color: var(--muted);
}
.inspector-loading ol {
  display: grid;
  gap: 0.55rem;
  margin: 1.2rem 0 0;
  padding-left: 1.2rem;
}
.inspector-loading li {
  color: var(--muted);
}
.inspector-loading li.is-active {
  color: var(--ink);
  font-weight: 760;
}
.inspector-loading li.is-done {
  color: var(--accent);
}
.inspector-results {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  max-width: 1180px;
}
.report-header,
.executive-summary-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  background: var(--panel);
}
.report-meta {
  display: grid;
  gap: 0.75rem;
  margin: 1.25rem 0 0;
}
.report-meta div {
  display: grid;
  gap: 0.2rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--line);
}
.report-meta dt,
.summary-row h3 {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.report-meta dd {
  margin: 0;
  color: var(--ink);
  overflow-wrap: anywhere;
}
.executive-summary-content {
  display: grid;
  gap: 1rem;
}
.summary-row {
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--bg);
}
.summary-row h3 {
  margin: 0 0 0.5rem;
}
.summary-row p,
.summary-row ol {
  margin: 0;
  max-width: 58rem;
  color: var(--ink);
  line-height: 1.6;
}
.summary-row ol {
  display: grid;
  gap: 0.5rem;
  padding-left: 1.2rem;
}
.page-interpretation {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 1.5rem;
}
.crawler-summary-panel,
.focus-area-panel,
.score-breakdown-panel,
.structured-layer-panel,
.fixes-backlog-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
  gap: clamp(1rem, 4vw, 2rem);
  background: var(--panel);
}
.crawler-facts,
.focus-area-grid,
.schema-comparison-grid,
.score-breakdown-grid,
.structured-layer-grid,
.fixes-backlog-grid {
  display: grid;
  gap: 0.75rem;
}
.crawler-facts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.crawler-facts article,
.schema-row,
.focus-area-card,
.platform-card,
.score-component,
.structured-check,
.structured-recommendation,
.backlog-item,
.fixes-backlog-grid > article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--bg);
}
.score-breakdown-grid,
.structured-layer-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.score-component,
.structured-check,
.structured-recommendation,
.backlog-item,
.fixes-backlog-grid > article {
  padding: 1rem;
}
.score-breakdown-panel,
.structured-layer-panel,
.focus-area-panel,
.fixes-backlog-panel,
.page-interpretation,
.schema-page-panel,
.crawler-summary-panel {
  padding: clamp(1.5rem, 4vw, 2.5rem);
}
.score-breakdown-panel > div:first-child,
.structured-layer-panel > div:first-child,
.focus-area-panel > div:first-child,
.fixes-backlog-panel > div:first-child,
.crawler-summary-panel > div:first-child {
  max-width: 26rem;
}
.interpretation-grid article {
  display: grid;
  gap: 0.4rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--bg);
}
.interpretation-grid span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.interpretation-grid strong {
  line-height: 1.35;
}
.score-component {
  display: grid;
  gap: 0.75rem;
}
.score-component,
.structured-check,
.schema-row,
.focus-area-card,
.result-card,
.pillar-card {
  position: relative;
  overflow: hidden;
}
.score-component::before,
.structured-check::before,
.schema-row::before,
.focus-area-card::before,
.result-card::before,
.pillar-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--status-color, var(--line));
}
.score-component > div,
.structured-check > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
}
.score-component span,
.structured-check span,
.backlog-item span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.score-component strong {
  font-family: var(--display);
  font-size: 1.35rem;
  color: var(--status-color, var(--ink));
}
.score-component meter {
  width: 100%;
  accent-color: var(--status-color, var(--accent));
}
.score-weak,
.pillar-weak,
.status-exposed,
.status-incomplete,
.structured-missing,
.schema-missing {
  --status-color: #b42318;
  --status-bg: #fff1f0;
  border-color: rgba(180,35,24,0.55);
  background: var(--status-bg);
}
.score-partial,
.pillar-partial,
.status-needs-attention,
.schema-visible-but-not-structured,
.schema-structured-only {
  --status-color: #a85d00;
  --status-bg: #fff7e6;
  border-color: rgba(168,93,0,0.55);
  background: var(--status-bg);
}
.score-good,
.pillar-good {
  --status-color: #4f8f5f;
  --status-bg: #eef9f1;
  border-color: rgba(79,143,95,0.5);
  background: var(--status-bg);
}
.score-strong,
.pillar-strong,
.status-strong,
.structured-present,
.schema-aligned {
  --status-color: #157347;
  --status-bg: #e7f6ed;
  border-color: rgba(21,115,71,0.55);
  background: var(--status-bg);
}
.score-component p:first-of-type strong,
.structured-check span,
.schema-row > div span,
.focus-area-card > span,
.result-card summary strong,
.pillar-card-head strong {
  color: var(--status-color, var(--muted));
}
.structured-layer-grid {
  align-content: start;
}
.structured-check {
  display: grid;
  gap: 0.6rem;
}
.structured-check p,
.structured-recommendation p,
.backlog-item p {
  color: var(--muted);
  font-size: 0.92rem;
}
.quiet-note {
  background: rgba(255,255,255,0.72);
  border-style: dashed;
}
.quiet-note h3 {
  font-size: 0.95rem;
  margin-bottom: 0.45rem;
}
.fixes-backlog-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.fixes-backlog-grid ul {
  margin-bottom: 0;
  padding-left: 1.1rem;
}
.fixes-backlog-grid li {
  display: grid;
  gap: 0.45rem;
  padding: 0.9rem 0;
  border-top: 1px solid var(--line);
}
.fixes-backlog-grid li:first-child {
  border-top: 0;
  padding-top: 0;
}
.fixes-backlog-grid li span,
.fixes-backlog-grid li em {
  color: var(--muted);
  font-size: 0.9rem;
  font-style: normal;
}
.report-appendix {
  background: var(--panel);
}
.report-appendix > summary {
  cursor: pointer;
  color: var(--ink);
  font-weight: 760;
}
.report-appendix[open] > summary {
  margin-bottom: 1rem;
}
.crawler-facts article {
  display: grid;
  gap: 0.45rem;
  padding: 1rem;
}
.crawler-facts span,
.schema-row span,
.focus-area-card > span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.crawler-facts strong {
  font-size: 0.98rem;
  line-height: 1.35;
}
.schema-page-panel {
  display: grid;
  gap: 1rem;
  background: var(--panel);
}
.schema-comparison-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.schema-row {
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
}
.schema-row > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid var(--line);
}
.schema-row h3,
.focus-area-card h3,
.platform-card h3 { margin: 0; font-size: 1.05rem; }
.schema-row dl {
  display: grid;
  grid-template-columns: minmax(8rem, 0.35fr) minmax(0, 1fr);
  gap: 0.4rem 0.8rem;
  margin: 0;
}
.schema-row dt {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 760;
}
.schema-row dd { margin: 0; overflow-wrap: anywhere; }
.schema-row p,
.focus-area-card p,
.platform-card p { margin: 0; color: var(--muted); }
.platform-card {
  padding: 1rem;
}
.platform-card ul {
  margin: 0.8rem 0 0;
  padding-left: 1rem;
}
.focus-area-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.focus-area-card {
  display: grid;
  gap: 0.75rem;
  padding: 1rem;
}
.small-note {
  margin-top: 1rem;
  color: var(--muted);
  font-size: 0.95rem;
}
.interpretation-grid,
.interpretation-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}
.interpretation-item,
.interpretation-card,
.context-editor,
.visual-layer,
.result-card {
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--bg);
}
.gemini-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  align-items: center;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}
.gemini-actions p {
  flex: 1 1 20rem;
  margin: 0;
  font-size: 0.9rem;
}
.context-editor {
  grid-column: 1 / -1;
}
.context-editor summary {
  color: var(--ink);
  font-weight: 760;
}
.checkbox-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}
.checkbox-grid label {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--panel);
}
.checkbox-grid input { width: auto; }
.result-summary {
  display: grid;
  gap: 0.8rem;
}
.score-card {
  display: grid;
  grid-template-columns: minmax(150px, 0.22fr) minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: center;
}
.score-meter {
  --score: 0%;
  width: clamp(8.5rem, 16vw, 11rem);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  justify-self: center;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, var(--panel) 0 58%, transparent 59%),
    conic-gradient(var(--accent) var(--score), rgba(31,31,31,0.1) 0);
  border: 1px solid var(--line);
  color: var(--ink);
  text-align: center;
}
.score-meter strong {
  display: grid;
  place-items: center;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  line-height: 1;
}
.report-disclaimer {
  margin-top: 0.75rem;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.45;
}
.score-meter[data-status="weak"] { background: radial-gradient(circle at center, var(--panel) 0 58%, transparent 59%), conic-gradient(#b42318 var(--score), rgba(31,31,31,0.1) 0); }
.score-meter[data-status="partial"] { background: radial-gradient(circle at center, var(--panel) 0 58%, transparent 59%), conic-gradient(#f59e0b var(--score), rgba(31,31,31,0.1) 0); }
.score-meter[data-status="good"] { background: radial-gradient(circle at center, var(--panel) 0 58%, transparent 59%), conic-gradient(#76b981 var(--score), rgba(31,31,31,0.1) 0); }
.score-meter[data-status="strong"] { background: radial-gradient(circle at center, var(--panel) 0 58%, transparent 59%), conic-gradient(#157347 var(--score), rgba(31,31,31,0.1) 0); }
.score-meter[data-status="weak"] strong { color: #b42318; }
.score-meter[data-status="partial"] strong { color: #a85d00; }
.score-meter[data-status="good"] strong { color: #3f7f52; }
.score-meter[data-status="strong"] strong { color: #157347; }
.result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.pillar-results,
.commercial-pivot {
  padding: clamp(1.25rem, 3vw, 2rem);
  background: var(--panel);
}
.pillar-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}
.pillar-card {
  display: grid;
  gap: 0.8rem;
  min-width: 0;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--bg);
}
.pillar-card-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid var(--line);
}
.pillar-card-head span {
  font-family: var(--display);
  font-size: clamp(1.9rem, 4vw, 2.8rem);
  line-height: 0.95;
}
.pillar-card-head strong {
  color: var(--muted);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.pillar-card h3 { margin: 0; font-size: clamp(1.05rem, 1.5vw, 1.3rem); }
.pillar-card p { margin: 0; color: var(--muted); }
.pillar-card ul {
  display: grid;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pillar-card li {
  position: relative;
  padding-left: 1rem;
  color: var(--muted);
  font-size: 0.9rem;
}
.pillar-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.68em;
  width: 0.32rem;
  height: 0.32rem;
  border-radius: 50%;
  background: var(--accent);
}
.commercial-pivot {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1fr);
  gap: clamp(1rem, 4vw, 2rem);
  align-items: start;
  background: var(--ink);
  color: var(--panel);
}
.commercial-pivot .eyebrow,
.commercial-pivot p { color: rgba(255,255,255,0.72); }
.commercial-pivot h2 { color: var(--panel); max-width: 13ch; }
.priority-panel {
  padding: clamp(1.25rem, 3vw, 2rem);
}
.priority-panel ul {
  margin-bottom: 0;
  padding-left: 1.15rem;
}
.ai-diagnostic-panel {
  padding: clamp(1.25rem, 3vw, 2rem);
}
.visualiser-head,
.diagnostic-details {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 1.5rem;
  align-items: start;
}
.agent-wireframe,
.result-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.inspector-context {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
}
.inspector-context article {
  padding: clamp(1rem, 2.4vw, 1.5rem);
  border-right: 1px solid var(--line);
}
.inspector-context article:last-child { border-right: 0; }
.related-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
}
.related-links .eyebrow {
  flex-basis: 100%;
}
.related-links a {
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel);
  color: var(--ink);
  font-size: 0.85rem;
  text-decoration: none;
}
.manifesto-page { max-width: var(--max); margin: 0 auto; padding: clamp(4.5rem, 8vw, 7rem) var(--pad); }
.manifesto-hero { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.62fr); gap: clamp(2rem, 7vw, 6rem); padding-bottom: clamp(3rem, 6vw, 5rem); border-bottom: 1px solid var(--line); }
.manifesto-body { max-width: var(--measure); margin: clamp(3rem, 6vw, 5rem) auto 0; }
.manifesto-body p { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.04rem, 1.15vw, 1.16rem); line-height: 1.82; color: #3f413c; }
.manifesto-body h2 { margin: clamp(4rem, 7vw, 6rem) 0 1.5rem; }
.manifesto-stage { padding-top: 1.6rem; margin: 2rem 0; border-top: 1px solid var(--line); }
.manifesto-cta { max-width: var(--measure); margin: clamp(4rem, 7vw, 6rem) auto 0; padding: clamp(2rem, 4vw, 3rem); border-radius: calc(var(--radius) + 4px); background: var(--dark); color: var(--dark-ink); }
.manifesto-cta h2 { color: var(--dark-ink); }
.manifesto-cta p { color: rgba(248,246,240,0.72); }
.about-hero {
  max-width: var(--max);
  margin: 0 auto;
  padding: clamp(4.5rem, 8vw, 7rem) var(--pad);
  align-items: center;
}
.about-hero-copy {
  display: grid;
  gap: 1rem;
}
.about-hero-copy h1 {
  max-width: 11.5ch;
}
.about-hero-copy p:not(.eyebrow) {
  max-width: 44rem;
}
.about-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin-top: 0.75rem;
}
.linkedin-link {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 42px;
  padding: 0.55rem 0.9rem 0.55rem 0.55rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  text-decoration: none;
}
.linkedin-link span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 999px;
  background: var(--ink);
  color: var(--dark-ink);
  font-weight: 800;
  font-size: 0.9rem;
  line-height: 1;
}
.linkedin-link strong {
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.about-portrait {
  margin: 0;
  width: min(100%, 380px);
  justify-self: center;
  overflow: hidden;
  border-radius: 26px;
  background: var(--soft);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.about-portrait img {
  width: 100%;
  aspect-ratio: 4 / 4.8;
  object-fit: cover;
  filter: grayscale(1) contrast(1.04);
}
.logo-ticker-section {
  max-width: var(--max);
  margin: 0 auto;
  padding: clamp(3rem, 6vw, 5rem) var(--pad);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.about-experience {
  max-width: var(--max);
  margin: 0 auto;
  padding: clamp(4rem, 7vw, 6.5rem) var(--pad);
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2rem, 6vw, 5rem);
  border-bottom: 1px solid var(--line);
}
.about-experience h2 {
  max-width: 15ch;
}
.experience-groups {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--line);
}
.experience-groups article {
  display: grid;
  grid-template-columns: minmax(150px, 0.34fr) minmax(0, 1fr);
  gap: clamp(1rem, 3vw, 2rem);
  padding: clamp(1rem, 2.4vw, 1.4rem) 0;
  border-bottom: 1px solid var(--line);
}
.experience-groups article:last-child { border-bottom: 0; }
.experience-groups span {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.experience-groups p {
  max-width: 50rem;
  margin: 0;
  color: var(--ink);
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  line-height: 1.62;
}
.about-principles,
.about-focus {
  max-width: var(--max);
  margin: 0 auto;
  padding: clamp(4rem, 7vw, 6.5rem) var(--pad);
}
.about-principles {
  display: grid;
  grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(2rem, 6vw, 5rem);
  border-bottom: 1px solid var(--line);
}
.about-focus {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2rem, 6vw, 5rem);
}
.about-focus-grid {
  display: flex;
  flex-wrap: wrap;
  align-content: start;
  gap: 0.65rem;
}
.about-focus-grid span {
  padding: 0.6rem 0.8rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel);
  color: var(--ink);
  font-size: 0.9rem;
}
.framework, .resource-categories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.framework article, .timeline-item, .offer-item { padding: 1rem 0; border-top: 1px solid var(--line); }
.logo-ticker { overflow: hidden; padding: 1rem 0; }
.logo-track { display: flex; gap: 1rem; width: max-content; max-width: none; animation: ticker 38s linear infinite; }
.logo-tile { flex: 0 0 auto; width: 160px; height: 90px; display: flex; align-items: center; justify-content: center; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.logo-tile img { max-height: 42px; object-fit: contain; filter: grayscale(1); opacity: 0.8; }
.logo-tile-text span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 760;
  letter-spacing: 0.05em;
  text-align: center;
  text-transform: uppercase;
}
@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .logo-track { animation: none; flex-wrap: wrap; width: auto; } }
.contact-layout { width: 100%; max-width: var(--max); margin: 0 auto; padding: clamp(4rem, 8vw, 7rem) var(--pad); }
.contact-form { display: grid; gap: 1rem; }
.booking-panel, .legal-callout {
  max-width: 100%;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}
.booking-panel code {
  font-size: 0.9em;
  padding: 0.12rem 0.32rem;
  border: 1px solid var(--line);
  border-radius: 0.35rem;
  background: var(--soft);
}
.small-note {
  margin-top: 1rem;
  color: var(--muted);
  font-size: 0.86rem;
}
.pricing-section { border-top: 1px solid var(--line); }
.pricing-matrix {
  max-width: var(--max);
  margin: 0 auto;
  border-top: 1px solid var(--line);
}
.pricing-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(12rem, 0.25fr);
  gap: 1.5rem;
  align-items: start;
  padding: 1.4rem 0;
  border-bottom: 1px solid var(--line);
}
.pricing-row h3, .rate-card h3 {
  margin-bottom: 0.45rem;
  font-size: clamp(1.25rem, 2vw, 1.7rem);
}
.pricing-row strong {
  justify-self: end;
  color: var(--ink);
  font-size: 0.95rem;
  text-align: right;
}
.rate-grid {
  max-width: var(--max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.rate-card {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
}
.legal-page section {
  margin-top: 2.25rem;
  padding-top: 2.25rem;
  border-top: 1px solid var(--line);
}
.legal-page h2 {
  margin-bottom: 0.8rem;
  font-size: clamp(1.35rem, 2.5vw, 2rem);
}
label { display: grid; gap: 0.4rem; color: var(--muted); font-size: 0.9rem; }
input, textarea, select { width: 100%; min-width: 0; padding: 0.85rem 0.95rem; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); color: var(--ink); font: inherit; }
input:focus-visible, textarea:focus-visible, select:focus-visible { border-color: var(--accent); }
.inspector-form, .domain-form, .context-form { display: grid; gap: 1rem; }
.inspector-form .checkbox-line {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.45rem 0.65rem;
  align-items: start;
  color: var(--ink);
  font-weight: 760;
}
.checkbox-line input {
  width: auto;
  margin-top: 0.2rem;
}
.checkbox-line span {
  grid-column: 2;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 500;
}
.result-grid, .agent-wireframe, .sampled-pages { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
details summary { cursor: pointer; }
table { width: 100%; border-collapse: collapse; }
table { display: block; overflow-x: auto; }
th, td { padding: 0.75rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.site-footer { margin-top: 0; padding: clamp(3rem, 6vw, 5rem) var(--pad); }
.footer-main { width: 100%; max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 0.85fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.footer-brand h2 { margin-bottom: 1rem; color: var(--dark-ink); font-size: clamp(2rem, 4vw, 3.6rem); letter-spacing: -0.06em; }
.footer-brand p { max-width: 34rem; margin-bottom: 0.85rem; }
.footer-links { display: grid; gap: 1.4rem; }
.footer-nav, .legal-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem 1.25rem; }
.footer-nav a, .legal-links a { color: rgba(248,246,240,0.72); font-size: 0.78rem; text-decoration: none; }
.footer-nav a:hover, .legal-links a:hover { color: var(--dark-ink); }
.legal-links { padding-top: 1.25rem; border-top: 1px solid rgba(248,246,240,0.18); }
.legal-page { max-width: var(--measure); margin: 0 auto; padding: clamp(5rem, 9vw, 8rem) var(--pad); }
@media (max-width: 1050px) {
  .site-header { grid-template-columns: auto 1fr; }
  .header-cta { display: none; }
  .logo-lockup { justify-self: end; }
  .hero, .resources-hero, .section-head, .split-copy, .service-detail, .contact-layout, .article-shell, .about-hero, .about-principles, .about-focus, .about-experience, .manifesto-hero, .tool-promo, .beyond-cookies-block, .split-definition, .access-section, .inspector-shell, .report-header, .executive-summary-panel, .page-interpretation, .crawler-summary-panel, .focus-area-panel, .score-breakdown-panel, .structured-layer-panel, .fixes-backlog-panel, .visualiser-head, .diagnostic-details, .resource-tools { grid-template-columns: 1fr; }
  .split-copy > :first-child, .service-detail > :first-child, .contact-layout > :first-child, .article-aside { border-right: 0; padding-right: 0; }
  .article-aside, .related { position: static; }
  .card-grid, .resource-grid, .proof-grid, .sprints-grid, .problems-grid, .delivery-grid, .migration-grid, .service-grid, .audit-grid, .framework, .resource-categories, .rate-grid, .inspector-context, .pillar-grid, .crawler-facts, .schema-comparison-grid, .focus-area-grid, .definition-grid, .score-breakdown-grid, .structured-layer-grid, .fixes-backlog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inspector-context article { border-right: 0; border-bottom: 1px solid var(--line); }
  .about-portrait { justify-self: start; width: min(100%, 320px); }
}
@media (max-width: 760px) {
  body { font-size: 15px; }
  .site-header { padding: 0.75rem 1rem; }
  .site-nav { grid-template-columns: 1fr; }
  .brand-name { font-size: 1.35rem; overflow-wrap: anywhere; }
  .hero, .resources-hero, .section, .reading-path, .series-map, .resource-library, .article-shell, .contact-layout, .manifesto-page, .about-hero, .about-principles, .about-focus, .about-experience, .logo-ticker-section, .blueprint-page, .inspector-shell, .inspector-results, .inspector-loading, .related-links, .resource-tools, .resource-grid { padding: 3.25rem 1rem; }
  .tool-promo, .compact-tool-promo, .tools-band { width: calc(100% - 2rem); margin-left: auto; margin-right: auto; }
  h1, .resources-hero h1, .blog-article header h1 { font-size: clamp(2rem, 10vw, 3rem); max-width: 13ch; }
  h2, .section-head h2, .cta-panel h2 { font-size: clamp(1.45rem, 7vw, 2.1rem); max-width: 16ch; }
  .lead, .hero-copy .lead, .resources-intro .lead { font-size: 1.04rem; }
  .commerce-hero-visual { display: none; }
  .card-grid, .resource-grid, .proof-grid, .sprints-grid, .problems-grid, .delivery-grid, .migration-grid, .service-grid, .audit-grid, .framework, .resource-categories, .resource-tools, .result-grid, .agent-wireframe, .sampled-pages, .rate-grid, .pricing-row, .interpretation-grid, .interpretation-compare, .checkbox-grid, .inspector-context, .pillar-grid, .score-card, .commercial-pivot, .crawler-facts, .schema-comparison-grid, .focus-area-grid, .definition-grid, .score-breakdown-grid, .structured-layer-grid, .fixes-backlog-grid { grid-template-columns: 1fr; }
  .schema-row dl { grid-template-columns: 1fr; }
  .score-meter { justify-self: start; }
  .blog-article > .breadcrumb, .blog-article > header { padding-left: 1rem; padding-right: 1rem; }
  .series-lane { grid-template-columns: 1fr; }
  .experience-groups article { grid-template-columns: 1fr; }
  .resource-count { white-space: normal; }
  .inspector-context article { border-right: 0; border-bottom: 1px solid var(--line); }
  .inspector-context article:last-child { border-bottom: 0; }
  .pricing-row strong { justify-self: start; text-align: left; }
  .button-row, .hero-actions, .related-links { display: grid; grid-template-columns: 1fr; }
  .button, .related-links a { width: 100%; }
  .filters { gap: 0.4rem; }
  .filter-button { width: auto; min-height: 38px; padding: 0.58rem 0.72rem; font-size: 0.68rem; }
  .about-portrait { width: min(100%, 260px); }
  .about-actions { display: grid; grid-template-columns: 1fr; }
  .linkedin-link { justify-content: center; }
  .footer-main, .footer-nav, .legal-links { grid-template-columns: 1fr; }
}
