@font-face {
  font-family: "Source Serif 4";
  src: url("../fonts/source-serif-4-latin.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Source Sans 3";
  src: url("../fonts/source-sans-3-latin.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --paper: #F5F0E8;
  --ink: #171311;
  --muted: #625A54;
  --accent: #A6311F;
  --on-accent: #FFF9F2;
  --panel: #FFF9F2;
  --rule: #C9BDB2;
  --dark: #2C1915;
  --on-dark: #FFF9F2;
  --serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --sans: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;
  --gutter: clamp(1.25rem, 4vw, 4rem);
  --section: clamp(4.5rem, 10vw, 9rem);
  --gap: clamp(1rem, 2.5vw, 2rem);
  --radius: 0;
  --shadow: none;
}

:root[data-style="signal"] {
  --paper: #090909;
  --ink: #F7F7EF;
  --muted: #C1C1B5;
  --accent: #E8FF00;
  --on-accent: #090909;
  --panel: #171717;
  --rule: #4B4B43;
  --dark: #E8FF00;
  --on-dark: #090909;
}

:root[data-style="blueprint"] {
  --paper: #EAF2FF;
  --ink: #08275F;
  --muted: #355C8D;
  --accent: #B9360B;
  --on-accent: #FFFFFF;
  --panel: #F8FBFF;
  --rule: #7897C4;
  --dark: #08275F;
  --on-dark: #F8FBFF;
}

:root[data-style="index"] {
  --paper: #F4F4F0;
  --ink: #17191D;
  --muted: #515861;
  --accent: #155EEF;
  --on-accent: #FFFFFF;
  --panel: #FFFFFF;
  --rule: #B9BEC7;
  --dark: #17191D;
  --on-dark: #F4F4F0;
}

:root[data-style="poster"] {
  --paper: #F7DFC2;
  --ink: #29120E;
  --muted: #6B3A2D;
  --accent: #B61E1E;
  --on-accent: #FFFFFF;
  --panel: #FFEFD9;
  --rule: #B87A59;
  --dark: #29120E;
  --on-dark: #FFEFD9;
}

*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: light; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
html[data-style="signal"] { color-scheme: dark; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 1.125rem;
  line-height: 1.55;
}

h1, h2, h3 { margin: 0; font-family: var(--serif); font-weight: 600; }
h1, h2 { text-wrap: balance; }
h1 { max-width: 11ch; font-size: clamp(3.6rem, 9vw, 8.5rem); line-height: 0.9; letter-spacing: -0.035em; }
h2 { font-size: clamp(2.5rem, 5vw, 5rem); line-height: 0.98; letter-spacing: -0.025em; }
h3 { font-size: clamp(1.5rem, 2.6vw, 2.25rem); line-height: 1.1; }
p { margin: 0; max-width: 66ch; }
p + p { margin-top: 1em; }
ul, ol { margin: 0; padding: 0; }
li { list-style: none; }
img { display: block; width: 100%; height: auto; }
a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
a:hover { text-decoration-thickness: 2px; }
button { font: inherit; }
a, button { transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, text-decoration-thickness 160ms ease; }

:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
:root[data-style="signal"] .direction-choices button:focus-visible { outline-color: var(--on-accent); }
html:not([data-style]) .direction-wrap { display: none; }
.skip-link {
  position: fixed;
  z-index: 30;
  left: 1rem;
  top: 1rem;
  padding: 0.75rem 1rem;
  border: 2px solid var(--ink);
  background: var(--paper);
  color: var(--ink);
  transform: translateY(-200%);
}
.skip-link:focus-visible { transform: none; }

.site-header, .direction-bar, main, .site-footer-inner {
  width: min(100%, 90rem);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  min-height: 5.25rem;
  border-bottom: 1px solid var(--rule);
}
.brand {
  display: grid;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}
.brand span { margin-top: 0.35rem; color: var(--muted); font-family: var(--sans); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.site-nav ul { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 1.25rem; }
.site-nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); font-size: 0.86rem; font-weight: 600; letter-spacing: 0.04em; }
.site-nav a[aria-current="page"] { text-decoration-thickness: 3px; }
.brand:hover, .site-nav a:not(.nav-enquire):hover { color: var(--accent); }
.brand:hover { transform: translateY(-0.15rem); }
.site-nav .nav-enquire { padding-inline: 1rem; background: var(--accent); color: var(--on-accent); text-decoration: none; }

.direction-wrap { border-bottom: 1px solid var(--rule); }
.direction-bar { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem 1.5rem; padding-block: 0.75rem; }
.direction-bar p { color: var(--muted); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.direction-choices { display: flex; gap: 0.4rem; }
.direction-choices button {
  min-height: 40px;
  padding: 0.45rem 0.8rem;
  border: 1px solid var(--rule);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 700;
}
.direction-choices button[aria-pressed="true"] { border-color: var(--accent); background: var(--accent); color: var(--on-accent); }
.direction-choices button:not([aria-pressed="true"]):hover { box-shadow: 0 0.2rem 0 currentColor; transform: translateY(-0.15rem); }

main { padding-block-end: var(--section); }
main > section, .home-layout > section { padding-block: var(--section); }
main > section + section, .home-layout > section + section { border-top: 1px solid var(--rule); }
.eyebrow { color: var(--accent); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.section-head { display: grid; gap: 1rem; margin-bottom: clamp(2rem, 5vw, 4rem); }
.section-head p { color: var(--muted); font-size: 1.2rem; }

.hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(18rem, 0.75fr); gap: clamp(2rem, 7vw, 7rem); align-items: end; min-height: min(46rem, calc(100vh - 9rem)); }
.hero-copy { display: grid; gap: 1.5rem; }
.hero-copy .intro { max-width: 42ch; font-size: clamp(1.25rem, 2vw, 1.65rem); }
.hero-side { display: grid; gap: 1.5rem; align-content: end; padding-block: 1.5rem; border-block: 1px solid var(--rule); }
.offer-line { color: var(--muted); font-size: 0.9rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; }
.action-row { display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; align-items: center; }
.primary-cta, .secondary-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0.75rem 1.1rem;
  font-weight: 700;
}
.primary-cta { background: var(--accent); color: var(--on-accent); text-decoration: none; }
.primary-cta:hover, .nav-enquire:hover { box-shadow: 0 0.3rem 0 var(--ink); transform: translateY(-0.2rem); }
.primary-cta:active, .nav-enquire:active { box-shadow: none; transform: none; }
.secondary-cta { color: var(--ink); }
.trust-line { display: grid; gap: 0.75rem; }
.trust-line li { padding-top: 0.75rem; border-top: 1px solid var(--rule); font-size: 0.95rem; }

.proof-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap); }
.proof-card { display: grid; align-content: start; gap: 1rem; }
.proof-card img { aspect-ratio: 16 / 10; object-fit: cover; border: 1px solid var(--rule); filter: saturate(0.92); }
.proof-card .client { color: var(--muted); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.proof-card .outcome { padding-left: 1rem; border-left: 3px solid var(--accent); }
.proof-card a { justify-self: start; font-weight: 700; }

.offer-layout { display: grid; grid-template-columns: minmax(15rem, 0.7fr) minmax(0, 1.3fr); gap: clamp(2rem, 8vw, 8rem); }
.offer-summary { display: grid; align-content: start; gap: 1.25rem; }
.offer-summary .price { font-family: var(--serif); font-size: clamp(3rem, 7vw, 6rem); line-height: 0.9; }
.deliverables { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--rule); }
.deliverables li { min-height: 8rem; padding: 1.25rem; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.deliverables li:nth-child(even) { border-right: 0; }
.deliverables strong { display: block; margin-bottom: 0.45rem; font-family: var(--serif); font-size: 1.35rem; }

.secondary-services { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: var(--gap); }
.secondary-services .lead { display: grid; align-content: space-between; gap: 2rem; min-height: 24rem; padding: clamp(1.5rem, 4vw, 3rem); background: var(--dark); color: var(--on-dark); }
.secondary-services .lead h2, .secondary-services .lead a { color: var(--on-dark); }
.secondary-services .lead .eyebrow, .contact-panel .eyebrow { color: var(--on-dark); opacity: 0.75; }
.service-mini { display: grid; align-content: start; gap: 1rem; padding-top: 1.25rem; border-top: 4px solid var(--accent); }
.service-mini p { color: var(--muted); }
.service-mini a { font-weight: 700; }

.process-list { counter-reset: process; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
.process-list li { counter-increment: process; padding-top: 1rem; border-top: 1px solid var(--rule); }
.process-list li::before { content: "0" counter(process); display: block; margin-bottom: 3rem; color: var(--accent); font-weight: 700; }
.process-list h3 { margin-bottom: 0.75rem; }
.process-list p { color: var(--muted); }

.trust-panel { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 8vw, 8rem); padding: clamp(2rem, 6vw, 5rem); background: var(--dark); color: var(--on-dark); }
.trust-panel h2 { color: var(--on-dark); }
.trust-panel .trust-copy { display: grid; align-content: start; gap: 1rem; }
.trust-panel .eyebrow { color: inherit; opacity: 0.72; }
.trust-panel .primary-cta { justify-self: start; margin-top: 1rem; }

.page-hero { display: grid; grid-template-columns: 1.35fr 0.65fr; gap: clamp(2rem, 7vw, 7rem); align-items: end; }
.page-hero .page-intro { display: grid; gap: 1.25rem; }
.page-hero .page-note { padding-top: 1rem; border-top: 1px solid var(--rule); color: var(--muted); }
.page-hero h1 { max-width: 10ch; line-height: 1; }
:root:not([data-style]) .page-hero h1,
:root:not([data-style]) h2,
:root[data-style="editorial"] .page-hero h1,
:root[data-style="editorial"] h2 { line-height: 1.08; }
:root[data-style="signal"] .page-hero h1 { line-height: 1; }
.content-grid { display: grid; grid-template-columns: minmax(14rem, 0.7fr) minmax(0, 1.3fr); gap: clamp(2rem, 8vw, 8rem); }
.content-grid > h2 { max-width: 11ch; }
.content-stack { display: grid; gap: 2.25rem; }
.detail { padding-top: 1rem; border-top: 1px solid var(--rule); }
.detail h3 { margin-bottom: 0.6rem; }
.detail p, .detail li { color: var(--muted); }
.detail li { list-style: disc; margin-left: 1.2rem; }
.detail li + li { margin-top: 0.45rem; }

.case-study { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(1.5rem, 5vw, 5rem); align-items: start; }
.case-study + .case-study { margin-top: var(--section); padding-top: var(--section); border-top: 1px solid var(--rule); }
.case-study img { aspect-ratio: 16 / 10; object-fit: cover; border: 1px solid var(--rule); }
.case-copy { display: grid; gap: 1rem; }
.case-copy .meta { color: var(--muted); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.case-copy .result { padding: 1rem; border-left: 3px solid var(--accent); background: var(--panel); }
.case-copy a { justify-self: start; font-weight: 700; }
.experience-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--gap); }
.experience-list article { padding-top: 1rem; border-top: 1px solid var(--rule); }
.experience-list h3 { margin-bottom: 0.75rem; }
.experience-list p { color: var(--muted); }

.contact-panel { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 7vw, 6rem); padding: clamp(1.5rem, 5vw, 4rem); background: var(--dark); color: var(--on-dark); }
.contact-panel h2 { color: var(--on-dark); }
.contact-panel a { color: var(--on-dark); }
.contact-copy { display: grid; align-content: start; gap: 1.25rem; }
.contact-email { justify-self: start; font-family: var(--serif); font-size: clamp(1.6rem, 4vw, 3.6rem); line-height: 1; overflow-wrap: anywhere; }
.qualification-list { display: grid; gap: 0.75rem; align-content: start; }
.qualification-list li { padding-top: 0.75rem; border-top: 1px solid color-mix(in srgb, var(--on-dark) 45%, transparent); }
.qualification-list strong { display: block; }

.closing { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: end; }
.closing p { color: var(--muted); }

.site-footer { border-top: 1px solid var(--rule); }
.site-footer-inner { display: flex; justify-content: space-between; gap: 1rem; padding-block: 2rem; color: var(--muted); font-size: 0.85rem; }
.site-footer a { color: var(--ink); }

/* Signal: campaign typography, dense strips, and hard contrast. */
:root[data-style="signal"] body { font-size: 1.08rem; }
:root[data-style="signal"] h1,
:root[data-style="signal"] h2,
:root[data-style="signal"] h3,
:root[data-style="signal"] .brand,
:root[data-style="signal"] .offer-summary .price,
:root[data-style="signal"] .deliverables strong,
:root[data-style="signal"] .contact-email { font-family: var(--sans); font-weight: 700; text-transform: uppercase; }
:root[data-style="signal"] h1 { font-size: clamp(4rem, 10vw, 9.5rem); letter-spacing: -0.065em; }
:root[data-style="signal"] .site-header { border-bottom: 3px solid var(--accent); }
:root[data-style="signal"] .brand span,
:root[data-style="signal"] .site-nav a,
:root[data-style="signal"] .eyebrow { letter-spacing: 0.12em; text-transform: uppercase; }
:root[data-style="signal"] .direction-wrap { background: var(--accent); border: 0; }
:root[data-style="signal"] .direction-bar p { color: var(--on-accent); }
:root[data-style="signal"] .direction-choices button { border-color: var(--on-accent); color: var(--on-accent); }
:root[data-style="signal"] .direction-choices button[aria-pressed="true"] { background: var(--on-accent); color: var(--accent); }
:root[data-style="signal"] .hero { grid-template-columns: 1fr 1fr; border-bottom: 3px solid var(--accent); }
:root[data-style="signal"] .hero-side { border: 3px solid var(--accent); padding: clamp(1.25rem, 3vw, 2.5rem); }
:root[data-style="signal"] main > section + section { border-top-width: 3px; }
:root[data-style="signal"] .proof-card img { border: 3px solid var(--ink); filter: grayscale(1) contrast(1.08); }
:root[data-style="signal"] .proof-card:hover img { filter: none; }
:root[data-style="signal"] .offer-layout { grid-template-columns: 1fr; }
:root[data-style="signal"] .offer-summary { grid-template-columns: 1fr 1fr; align-items: end; }
:root[data-style="signal"] .deliverables { grid-template-columns: repeat(4, 1fr); border-top-width: 3px; }
:root[data-style="signal"] .deliverables li { border-width: 0 3px 3px 0; }
:root[data-style="signal"] .secondary-services { grid-template-columns: 1fr; }
:root[data-style="signal"] .secondary-services .lead { min-height: 18rem; }
:root[data-style="signal"] .service-mini { grid-template-columns: 0.7fr 1.3fr; align-items: start; border-top-width: 3px; }
:root[data-style="signal"] .process-list { gap: 0; border: 3px solid var(--ink); }
:root[data-style="signal"] .process-list li { padding: 1.25rem; border: 0; }
:root[data-style="signal"] .process-list li + li { border-left: 3px solid var(--ink); }
:root[data-style="signal"] .process-list li::before { margin-bottom: 5rem; font-size: 1.5rem; }
:root[data-style="signal"] .case-study img { border-width: 3px; filter: grayscale(1); }

/* Blueprint: a measured grid, outlined fields, and annotated structure. */
:root[data-style="blueprint"] body {
  background-image: linear-gradient(#7897C433 1px, transparent 1px), linear-gradient(90deg, #7897C433 1px, transparent 1px);
  background-size: 2rem 2rem;
}
:root[data-style="blueprint"] .site-header,
:root[data-style="blueprint"] .direction-bar,
:root[data-style="blueprint"] main,
:root[data-style="blueprint"] .site-footer-inner { background: var(--paper); border-inline: 1px solid var(--rule); }
:root[data-style="blueprint"] .brand,
:root[data-style="blueprint"] h1,
:root[data-style="blueprint"] h2,
:root[data-style="blueprint"] h3 { color: var(--ink); }
:root[data-style="blueprint"] .hero { position: relative; border: 1px solid var(--rule); border-top: 0; padding-inline: var(--gutter); }
:root[data-style="blueprint"] main { padding-inline: 0; }
:root[data-style="blueprint"] main > section { padding-inline: var(--gutter); }
:root[data-style="blueprint"] main > section + section { border-top: 1px solid var(--rule); }
:root[data-style="blueprint"] .section-head,
:root[data-style="blueprint"] .content-grid { padding: 1rem; border: 1px solid var(--rule); background: var(--panel); }
:root[data-style="blueprint"] .proof-card { padding: 1rem; border: 1px solid var(--rule); background: var(--panel); }
:root[data-style="blueprint"] .proof-card img { border-color: var(--ink); }
:root[data-style="blueprint"] .offer-layout { padding: clamp(1rem, 3vw, 2rem); border: 1px solid var(--rule); background: var(--panel); }
:root[data-style="blueprint"] .deliverables li { min-height: 10rem; }
:root[data-style="blueprint"] .secondary-services .lead,
:root[data-style="blueprint"] .trust-panel,
:root[data-style="blueprint"] .contact-panel { outline: 1px solid var(--accent); outline-offset: -0.75rem; }
:root[data-style="blueprint"] .process-list li::before { margin-bottom: 5rem; font-family: var(--serif); font-size: 1.5rem; }
:root[data-style="blueprint"] .case-study { padding: 1rem; border: 1px solid var(--rule); background: var(--panel); }

/* Each art direction owns the browser frame as well as its page composition. */
@media (min-width: 64.01rem) {
  :root[data-style="signal"] .site-header,
  :root[data-style="signal"] .direction-bar,
  :root[data-style="signal"] main,
  :root[data-style="signal"] .site-footer-inner,
  :root[data-style="index"] .site-header,
  :root[data-style="index"] .direction-bar,
  :root[data-style="index"] main,
  :root[data-style="index"] .site-footer-inner,
  :root[data-style="poster"] .site-header,
  :root[data-style="poster"] .direction-bar,
  :root[data-style="poster"] main,
  :root[data-style="poster"] .site-footer-inner { width: 100%; max-width: none; margin-inline: 0; }

  :root[data-style="signal"] .site-header,
  :root[data-style="signal"] .direction-bar,
  :root[data-style="signal"] .site-footer-inner,
  :root[data-style="index"] .site-header,
  :root[data-style="index"] .direction-bar,
  :root[data-style="index"] .site-footer-inner,
  :root[data-style="poster"] .site-header,
  :root[data-style="poster"] .direction-bar,
  :root[data-style="poster"] .site-footer-inner { padding-inline: 4vw; }

  :root[data-style="signal"] main,
  :root[data-style="index"] main,
  :root[data-style="poster"] main { padding-inline: 0; }

  :root[data-style="signal"] .home-layout-signal > section,
  :root[data-style="index"] .home-layout-index > section,
  :root[data-style="signal"] main > section,
  :root[data-style="index"] main > section { padding-inline: 4vw; }

  :root[data-style="signal"] .site-header { min-height: 4.5rem; border-bottom: 0; }
  :root[data-style="signal"] .direction-wrap { border: 0; background: var(--accent); }
  :root[data-style="signal"] .direction-bar p { color: var(--on-accent); }
  :root[data-style="signal"] .direction-choices button { border-color: var(--on-accent); color: var(--on-accent); }
  :root[data-style="signal"] .direction-choices button[aria-pressed="true"] { background: var(--on-accent); color: var(--accent); }

  :root[data-style="index"] .site-header { min-height: 4.25rem; border-bottom: 2px solid var(--ink); }
  :root[data-style="index"] .direction-bar { min-height: 4rem; border-bottom: 1px solid var(--rule); }
  :root[data-style="index"] .direction-wrap { border: 0; }
  :root[data-style="index"] .site-footer { border-top-width: 2px; }

  :root[data-style="poster"] .site-header { min-height: 4.5rem; background: var(--dark); border: 0; }
  :root[data-style="poster"] .site-header .brand,
  :root[data-style="poster"] .site-header .site-nav a { color: var(--on-dark); }
  :root[data-style="poster"] .site-header .brand span { color: var(--on-dark); opacity: 0.72; }
  :root[data-style="poster"] .site-header .site-nav .nav-enquire { background: var(--on-dark); color: var(--dark); }
  :root[data-style="poster"] .direction-wrap { border: 0; background: var(--accent); }
  :root[data-style="poster"] .direction-bar p { color: var(--on-accent); }
  :root[data-style="poster"] .direction-choices button { border-color: var(--on-accent); color: var(--on-accent); }
  :root[data-style="poster"] .direction-choices button[aria-pressed="true"] { background: var(--on-accent); color: var(--accent); }
  :root[data-style="poster"] .direction-choices button:focus-visible { outline-color: var(--on-accent); }
  :root[data-style="poster"] main > section,
  :root[data-style="poster"] .poster-close { padding-inline: 4vw; }

  :root[data-style="blueprint"] .site-header,
  :root[data-style="blueprint"] .direction-bar,
  :root[data-style="blueprint"] main,
  :root[data-style="blueprint"] .site-footer-inner { width: min(100% - 8vw, 76rem); }
}

/* Index: a compact project register with a practical visual system. */
:root[data-style="index"] body { font-size: 1.05rem; }
:root[data-style="index"] h1,
:root[data-style="index"] h2,
:root[data-style="index"] h3,
:root[data-style="index"] .brand { font-family: var(--sans); letter-spacing: -0.045em; }
:root[data-style="index"] .index-number,
:root[data-style="index"] .index-case { color: var(--accent); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
:root[data-style="index"] .index-intro { display: grid; grid-template-columns: 0.25fr 1.2fr 0.75fr; gap: var(--gap); align-items: start; border-top: 4px solid var(--ink); }
:root[data-style="index"] .index-intro h1 { max-width: 9ch; font-size: clamp(3.5rem, 7vw, 7.5rem); }
:root[data-style="index"] .index-intro > div { display: grid; gap: 1rem; }
:root[data-style="index"] .index-start { padding: 1rem; border: 1px solid var(--rule); background: var(--panel); }
:root[data-style="index"] .index-start .primary-cta { justify-self: start; }
:root[data-style="index"] .index-register { display: grid; grid-template-columns: 0.75fr 1.25fr; gap: var(--gap); }
:root[data-style="index"] .index-label { display: grid; align-content: start; gap: 0.85rem; }
:root[data-style="index"] .index-label .price { font-family: var(--sans); font-size: clamp(3.5rem, 7vw, 6.5rem); font-weight: 700; line-height: 0.85; }
:root[data-style="index"] .index-scope { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--rule); }
:root[data-style="index"] .index-scope div { display: grid; gap: 0.6rem; min-height: 11rem; padding: 1.25rem; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
:root[data-style="index"] .index-scope div:nth-child(even) { border-right: 0; }
:root[data-style="index"] .index-scope div:last-child { grid-column: 1 / -1; min-height: auto; }
:root[data-style="index"] .index-scope dt { color: var(--accent); font-weight: 700; }
:root[data-style="index"] .index-proof { display: grid; grid-template-columns: 0.45fr 1.55fr; gap: var(--gap); }
:root[data-style="index"] .index-proof-title { display: grid; align-content: start; gap: 0.8rem; }
:root[data-style="index"] .index-proof article { display: grid; grid-template-columns: 4rem 0.8fr 1.2fr; gap: var(--gap); padding: 1.25rem 0; border-top: 1px solid var(--rule); }
:root[data-style="index"] .index-proof article:nth-of-type(2) { grid-column: 2; }
:root[data-style="index"] .index-proof img { aspect-ratio: 16 / 10; object-fit: cover; }
:root[data-style="index"] .index-proof article div { display: grid; align-content: start; gap: 0.75rem; }
:root[data-style="index"] .index-proof a,
:root[data-style="index"] .index-footer a { font-weight: 700; }
:root[data-style="index"] .index-route { display: grid; grid-template-columns: 0.7fr 1.3fr; gap: var(--gap); }
:root[data-style="index"] .index-route > div { display: grid; align-content: start; gap: 0.75rem; }
:root[data-style="index"] .index-route ol { display: grid; gap: 0; border-top: 1px solid var(--rule); }
:root[data-style="index"] .index-route li { display: grid; grid-template-columns: 0.65fr 1.35fr; gap: var(--gap); padding: 1rem 0; border-bottom: 1px solid var(--rule); }
:root[data-style="index"] .index-footer { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: var(--gap); }
:root[data-style="index"] .index-footer > article { display: grid; align-content: start; gap: 0.75rem; padding-top: 1rem; border-top: 4px solid var(--accent); }
:root[data-style="index"] .index-owner { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); padding: clamp(2rem, 5vw, 4rem); background: var(--dark); color: var(--on-dark); }
:root[data-style="index"] .index-owner h2,
:root[data-style="index"] .index-owner .eyebrow { color: var(--on-dark); }
:root[data-style="index"] .index-owner .primary-cta { justify-self: start; }

/* Poster: one oversized message with content arranged as a series of sheets. */
:root[data-style="poster"] body { font-size: 1.1rem; background: var(--paper); }
:root[data-style="poster"] h1,
:root[data-style="poster"] h2,
:root[data-style="poster"] h3,
:root[data-style="poster"] .brand { font-family: var(--sans); font-weight: 700; letter-spacing: -0.075em; text-transform: uppercase; }
:root[data-style="poster"] .poster-stamp { color: var(--accent); font-size: 0.8rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
:root[data-style="poster"] .poster-opening { position: relative; isolation: isolate; display: block; min-height: min(54rem, calc(100vh - 8rem)); overflow: hidden; padding-inline: clamp(1.5rem, 7vw, 7rem); border: 0; background: var(--accent); color: var(--on-accent); }
:root[data-style="poster"] .poster-opening::before { position: absolute; z-index: -1; width: min(52vw, 48rem); aspect-ratio: 1; right: -14rem; top: -17rem; border-radius: 50%; background: var(--dark); content: ""; }
:root[data-style="poster"] .poster-opening > .poster-stamp { position: absolute; top: 1.25rem; left: clamp(1.5rem, 7vw, 7rem); color: var(--on-accent); }
:root[data-style="poster"] .poster-opening .eyebrow { display: inline-block; margin-top: 5rem; padding: 0.4rem 0.6rem; background: var(--dark); color: var(--on-dark); }
:root[data-style="poster"] .poster-opening h1 { max-width: 11ch; margin-top: 1rem; font-size: clamp(5rem, 13vw, 13rem); line-height: 0.72; }
:root[data-style="poster"] .poster-intro { max-width: 31ch; margin-top: 2rem; font-size: 1.25rem; }
:root[data-style="poster"] .poster-action { position: absolute; right: clamp(1.5rem, 7vw, 7rem); bottom: clamp(2rem, 7vw, 7rem); display: grid; gap: 0.75rem; width: min(23rem, 33vw); padding: 1.25rem; background: var(--panel); color: var(--ink); box-shadow: 0.75rem 0.75rem 0 var(--dark); transform: rotate(2deg); }
:root[data-style="poster"] .poster-action .primary-cta { justify-self: stretch; }
:root[data-style="poster"] .poster-note { position: absolute; right: clamp(1.5rem, 7vw, 7rem); top: 7rem; max-width: 20ch; font-size: 0.9rem; font-weight: 700; }
:root[data-style="poster"] .poster-offer { position: relative; display: block; overflow: hidden; padding: clamp(3rem, 8vw, 8rem) var(--gutter); background: var(--dark); color: var(--on-dark); }
:root[data-style="poster"] .poster-offer > div { display: grid; gap: 1rem; width: min(48rem, 72%); }
:root[data-style="poster"] .poster-offer h2 { color: var(--on-dark); font-size: clamp(4rem, 9vw, 10rem); line-height: 0.76; }
:root[data-style="poster"] .poster-offer .poster-stamp { color: var(--on-dark); opacity: 0.72; }
:root[data-style="poster"] .poster-offer .price { font-size: clamp(4rem, 8vw, 8rem); font-weight: 700; line-height: 0.85; }
:root[data-style="poster"] .poster-offer ol { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-top: clamp(3rem, 8vw, 8rem); }
:root[data-style="poster"] .poster-offer li { display: grid; align-content: space-between; gap: 2rem; min-height: 16rem; padding: 1.25rem; background: var(--panel); color: var(--ink); box-shadow: 0.4rem 0.4rem 0 var(--accent); }
:root[data-style="poster"] .poster-offer li:nth-child(odd) { transform: translateY(-2.5rem) rotate(-2deg); }
:root[data-style="poster"] .poster-offer li:nth-child(even) { transform: translateY(1rem) rotate(2deg); }
:root[data-style="poster"] .poster-terms { margin-top: 3rem; max-width: 42ch; color: var(--on-dark); }
:root[data-style="poster"] .poster-proof { position: relative; display: block; padding-inline: clamp(1.5rem, 7vw, 7rem); }
:root[data-style="poster"] .poster-proof header { display: block; max-width: 70rem; }
:root[data-style="poster"] .poster-proof header h2 { max-width: 9ch; margin: 0.4rem 0 2rem; font-size: clamp(4rem, 10vw, 11rem); line-height: 0.76; }
:root[data-style="poster"] .poster-proof header > p:last-child { max-width: 37ch; margin-left: 38%; font-size: 1.2rem; }
:root[data-style="poster"] .poster-proof article { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: var(--gap); width: min(66rem, 78%); margin-top: 5rem; padding: 1rem; background: var(--panel); box-shadow: 0.8rem 0.8rem 0 var(--ink); transform: rotate(-1.5deg); }
:root[data-style="poster"] .poster-proof article + article { width: min(61rem, 72%); margin: -2rem 0 0 auto; background: var(--dark); color: var(--on-dark); box-shadow: -0.8rem 0.8rem 0 var(--accent); transform: rotate(2deg); }
:root[data-style="poster"] .poster-proof img { aspect-ratio: 1 / 1.18; object-fit: cover; }
:root[data-style="poster"] .poster-proof article div { display: grid; align-content: start; gap: 0.75rem; }
:root[data-style="poster"] .poster-proof article + article .client,
:root[data-style="poster"] .poster-proof article + article a { color: var(--on-dark); }
:root[data-style="poster"] .poster-proof a,
:root[data-style="poster"] .poster-close a { font-weight: 700; }
:root[data-style="poster"] .poster-route { position: relative; display: block; padding: clamp(3rem, 8vw, 8rem) var(--gutter); background: var(--accent); color: var(--on-accent); transform: skewY(-2deg); }
:root[data-style="poster"] .poster-route > * { transform: skewY(2deg); }
:root[data-style="poster"] .poster-route h2 { max-width: 10ch; color: var(--on-accent); font-size: clamp(3.5rem, 7vw, 7rem); line-height: 0.8; }
:root[data-style="poster"] .poster-route .poster-stamp { color: var(--on-accent); }
:root[data-style="poster"] .poster-route ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 3rem; background: var(--dark); }
:root[data-style="poster"] .poster-route li { display: grid; gap: 1rem; min-height: 12rem; padding: 1.25rem; background: var(--accent); }
:root[data-style="poster"] .poster-route strong { color: var(--on-accent); font-size: 3rem; }
:root[data-style="poster"] .poster-close { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: var(--gap); }
:root[data-style="poster"] .poster-close > article { display: grid; align-content: start; gap: 0.75rem; padding: 1rem; background: var(--panel); }
:root[data-style="poster"] .poster-owner { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); padding: clamp(2rem, 5vw, 4rem); border: 4px solid var(--ink); }
:root[data-style="poster"] .poster-owner .primary-cta { justify-self: start; }

@media (max-width: 64rem) {
  :root[data-style="index"] .index-intro,
  :root[data-style="index"] .index-register,
  :root[data-style="index"] .index-proof,
  :root[data-style="index"] .index-route,
  :root[data-style="index"] .index-footer,
  :root[data-style="poster"] .poster-opening,
  :root[data-style="poster"] .poster-offer,
  :root[data-style="poster"] .poster-route,
  :root[data-style="poster"] .poster-close { grid-template-columns: 1fr; }
  :root[data-style="index"] .index-proof article:nth-of-type(2) { grid-column: auto; }
  :root[data-style="poster"] .poster-opening h1,
  :root[data-style="poster"] .poster-opening .eyebrow,
  :root[data-style="poster"] .poster-note { grid-column: auto; }
}

@media (max-width: 44.99rem) {
  :root[data-style="index"] .index-scope,
  :root[data-style="index"] .index-owner,
  :root[data-style="poster"] .poster-offer ol,
  :root[data-style="poster"] .poster-proof,
  :root[data-style="poster"] .poster-proof header,
  :root[data-style="poster"] .poster-route ol,
  :root[data-style="poster"] .poster-owner { grid-template-columns: 1fr; }
  :root[data-style="index"] .index-proof article,
  :root[data-style="index"] .index-route li { grid-template-columns: 1fr; }
  :root[data-style="index"] .index-scope div,
  :root[data-style="index"] .index-scope div:nth-child(even) { min-height: 0; border-right: 0; }
  :root[data-style="index"] .index-intro,
  :root[data-style="poster"] .poster-opening { min-height: 0; padding-block: 1.5rem; }
  :root[data-style="poster"] .poster-opening .eyebrow { margin-top: 0.75rem; }
  :root[data-style="poster"] .poster-opening h1 { font-size: clamp(2.7rem, 13vw, 3.7rem); line-height: 0.78; }
  :root[data-style="poster"] .page-hero h1 { font-size: clamp(2.8rem, 14vw, 4rem); }
  :root[data-style="poster"] .poster-intro { font-size: 1rem; }
  :root[data-style="poster"] .poster-action,
  :root[data-style="poster"] .poster-note { position: static; width: auto; max-width: none; margin-top: 1rem; transform: none; box-shadow: none; }
  :root[data-style="poster"] .poster-proof header > p:last-child { margin-left: 0; }
  :root[data-style="poster"] .poster-proof article,
  :root[data-style="poster"] .poster-proof article + article { grid-template-columns: 1fr; width: auto; margin: 2rem 0 0; transform: none; box-shadow: 0.4rem 0.4rem 0 var(--ink); }
  :root[data-style="poster"] .poster-offer ol,
  :root[data-style="poster"] .poster-route ol { grid-template-columns: 1fr; gap: 0.75rem; }
  :root[data-style="poster"] .poster-offer li,
  :root[data-style="poster"] .poster-offer li:nth-child(even) { min-height: 0; border-right: 0; border-bottom: 2px solid var(--on-dark); }
  :root[data-style="poster"] .poster-offer li:last-child { border-bottom: 0; }
}

/* Separate home-page compositions for the public art directions. */
.home-layout-signal,
.home-layout-blueprint { display: grid; }

:root[data-style="signal"] .signal-pitch { display: grid; gap: clamp(1.5rem, 4vw, 4rem); min-height: min(48rem, calc(100vh - 9rem)); align-content: end; border-bottom: 3px solid var(--accent); }
:root[data-style="signal"] .signal-headline { display: grid; gap: 1.5rem; }
:root[data-style="signal"] .signal-headline h1 { max-width: 10ch; }
:root[data-style="signal"] .signal-action { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
:root[data-style="signal"] .signal-action .offer-line { flex-basis: 100%; }
:root[data-style="signal"] .signal-terms { display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: var(--gap); padding-top: 1.25rem; border-top: 3px solid var(--accent); }
:root[data-style="signal"] .signal-terms ul { display: grid; gap: 0.45rem; }
:root[data-style="signal"] .signal-terms li { padding-top: 0.45rem; border-top: 1px solid var(--rule); }
:root[data-style="signal"] .signal-service { display: grid; grid-template-columns: minmax(18rem, 0.75fr) minmax(0, 1.25fr); gap: clamp(2rem, 7vw, 7rem); }
:root[data-style="signal"] .signal-price { display: grid; align-content: start; gap: 1rem; }
:root[data-style="signal"] .signal-price .price { font-family: var(--sans); font-size: clamp(3.5rem, 7vw, 7rem); font-weight: 700; line-height: 0.85; }
:root[data-style="signal"] .signal-deliverables { display: grid; grid-template-columns: repeat(2, 1fr); border: 3px solid var(--ink); }
:root[data-style="signal"] .signal-deliverables li { display: grid; gap: 0.75rem; min-height: 14rem; padding: 1.25rem; border-right: 3px solid var(--ink); border-bottom: 3px solid var(--ink); }
:root[data-style="signal"] .signal-deliverables li:nth-child(even) { border-right: 0; }
:root[data-style="signal"] .signal-deliverables li:nth-last-child(-n + 2) { border-bottom: 0; }
:root[data-style="signal"] .signal-deliverables strong { font-size: 1.4rem; }
:root[data-style="signal"] .signal-proof { display: grid; gap: 0; border-top: 3px solid var(--accent); }
:root[data-style="signal"] .signal-section-title { display: grid; grid-template-columns: 1fr 1.5fr 1fr; align-items: end; gap: var(--gap); padding-bottom: 2rem; }
:root[data-style="signal"] .signal-case { display: grid; grid-template-columns: 5rem minmax(14rem, 0.9fr) minmax(16rem, 1.1fr); gap: var(--gap); padding: 1.5rem 0; border-top: 1px solid var(--rule); }
:root[data-style="signal"] .signal-case img { aspect-ratio: 16 / 10; object-fit: cover; filter: grayscale(1); }
:root[data-style="signal"] .signal-case div { display: grid; align-content: start; gap: 0.8rem; }
:root[data-style="signal"] .signal-case a,
:root[data-style="signal"] .signal-footer-pitch a { font-weight: 700; }
:root[data-style="signal"] .case-number { color: var(--accent); font-size: 1.5rem; font-weight: 700; }
:root[data-style="signal"] .client { color: var(--muted); font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
:root[data-style="signal"] .signal-process { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(2rem, 7vw, 7rem); border-top: 3px solid var(--accent); }
:root[data-style="signal"] .signal-process ol { display: grid; grid-template-columns: repeat(3, 1fr); border: 3px solid var(--ink); }
:root[data-style="signal"] .signal-process li { display: grid; gap: 1rem; padding: 1.25rem; border-right: 3px solid var(--ink); }
:root[data-style="signal"] .signal-process li:last-child { border-right: 0; }
:root[data-style="signal"] .signal-process strong { font-size: 1.2rem; }
:root[data-style="signal"] .signal-footer-pitch { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); border-top: 3px solid var(--accent); }
:root[data-style="signal"] .signal-links { display: grid; gap: var(--gap); }
:root[data-style="signal"] .signal-links article { display: grid; gap: 0.75rem; padding-top: 1rem; border-top: 3px solid var(--accent); }
:root[data-style="signal"] .signal-owner { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); padding: clamp(2rem, 5vw, 4rem); background: var(--dark); color: var(--on-dark); }
:root[data-style="signal"] .signal-owner .primary-cta { justify-self: start; }

:root[data-style="blueprint"] .blueprint-sheet { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: clamp(2rem, 7vw, 7rem); border: 1px solid var(--rule); border-top: 0; padding-inline: var(--gutter); }
:root[data-style="blueprint"] .blueprint-title { display: grid; align-content: center; gap: 1.25rem; min-height: min(42rem, calc(100vh - 10rem)); }
:root[data-style="blueprint"] .blueprint-spec { align-self: center; display: grid; gap: 1.25rem; padding: 1.25rem; border: 1px solid var(--rule); background: var(--panel); }
:root[data-style="blueprint"] .blueprint-label { color: var(--accent); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
:root[data-style="blueprint"] .blueprint-spec dl { display: grid; gap: 1rem; }
:root[data-style="blueprint"] .blueprint-spec dl div { display: grid; gap: 0.25rem; padding-top: 0.75rem; border-top: 1px solid var(--rule); }
:root[data-style="blueprint"] dt { color: var(--muted); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
:root[data-style="blueprint"] dd { margin: 0; }
:root[data-style="blueprint"] .blueprint-scope { display: grid; grid-template-columns: minmax(18rem, 0.7fr) minmax(0, 1.3fr); gap: clamp(2rem, 7vw, 7rem); padding: clamp(2rem, 5vw, 4rem); border: 1px solid var(--rule); background: var(--panel); }
:root[data-style="blueprint"] .blueprint-marker { display: grid; align-content: start; gap: 1rem; }
:root[data-style="blueprint"] .blueprint-marker .price { font-family: var(--serif); font-size: clamp(3rem, 6vw, 6rem); line-height: 0.9; }
:root[data-style="blueprint"] .blueprint-table { padding: 1rem; border: 1px solid var(--rule); }
:root[data-style="blueprint"] .blueprint-table ol { display: grid; grid-template-columns: repeat(2, 1fr); }
:root[data-style="blueprint"] .blueprint-table li { display: grid; gap: 0.75rem; min-height: 10rem; padding: 1.25rem; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
:root[data-style="blueprint"] .blueprint-table li:nth-child(even) { border-right: 0; }
:root[data-style="blueprint"] .blueprint-evidence { display: grid; grid-template-columns: 0.55fr 1.45fr; gap: var(--gap); }
:root[data-style="blueprint"] .blueprint-evidence-head { display: grid; align-content: start; gap: 1rem; padding: 1rem; border: 1px solid var(--rule); background: var(--panel); }
:root[data-style="blueprint"] .blueprint-case { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: var(--gap); padding: 1rem; border: 1px solid var(--rule); background: var(--panel); }
:root[data-style="blueprint"] .blueprint-case + .blueprint-case { grid-column: 2; }
:root[data-style="blueprint"] .blueprint-case-meta { display: grid; align-content: start; gap: 0.75rem; }
:root[data-style="blueprint"] .blueprint-case img { aspect-ratio: 16 / 10; object-fit: cover; border: 1px solid var(--ink); }
:root[data-style="blueprint"] .blueprint-case a,
:root[data-style="blueprint"] .blueprint-support a { font-weight: 700; }
:root[data-style="blueprint"] .blueprint-plan { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(2rem, 7vw, 7rem); padding: clamp(2rem, 5vw, 4rem); border: 1px solid var(--rule); background: var(--panel); }
:root[data-style="blueprint"] .blueprint-plan ol { display: grid; gap: 0.75rem; }
:root[data-style="blueprint"] .blueprint-plan li { display: grid; grid-template-columns: minmax(12rem, 0.7fr) 1.3fr; gap: 1rem; padding-top: 0.75rem; border-top: 1px solid var(--rule); }
:root[data-style="blueprint"] .blueprint-support { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: var(--gap); }
:root[data-style="blueprint"] .blueprint-support > article { display: grid; align-content: start; gap: 0.75rem; padding: 1rem; border: 1px solid var(--rule); background: var(--panel); }
:root[data-style="blueprint"] .blueprint-owner { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); padding: clamp(2rem, 5vw, 4rem); background: var(--dark); color: var(--on-dark); outline: 1px solid var(--accent); outline-offset: -0.75rem; }
:root[data-style="blueprint"] .blueprint-owner h2 { color: var(--on-dark); }
:root[data-style="blueprint"] .blueprint-owner .eyebrow { color: var(--on-dark); opacity: 0.72; }
:root[data-style="blueprint"] .blueprint-owner .primary-cta { justify-self: start; }

@media (max-width: 64rem) {
  :root[data-style="signal"] .signal-terms,
  :root[data-style="signal"] .signal-service,
  :root[data-style="signal"] .signal-section-title,
  :root[data-style="signal"] .signal-process,
  :root[data-style="signal"] .signal-footer-pitch,
  :root[data-style="blueprint"] .blueprint-sheet,
  :root[data-style="blueprint"] .blueprint-scope,
  :root[data-style="blueprint"] .blueprint-evidence,
  :root[data-style="blueprint"] .blueprint-plan,
  :root[data-style="blueprint"] .blueprint-support { grid-template-columns: 1fr; }
  :root[data-style="blueprint"] .blueprint-case + .blueprint-case { grid-column: auto; }
}

@media (max-width: 44.99rem) {
  :root[data-style="signal"] .signal-pitch { min-height: 0; }
  :root[data-style="signal"] .signal-headline { gap: 0.75rem; }
  :root[data-style="signal"] .signal-deliverables,
  :root[data-style="signal"] .signal-process ol,
  :root[data-style="signal"] .signal-owner,
  :root[data-style="blueprint"] .blueprint-table ol,
  :root[data-style="blueprint"] .blueprint-case,
  :root[data-style="blueprint"] .blueprint-owner { grid-template-columns: 1fr; }
  :root[data-style="signal"] .signal-deliverables li,
  :root[data-style="signal"] .signal-deliverables li:nth-child(even),
  :root[data-style="signal"] .signal-process li { min-height: 0; border-right: 0; border-bottom: 3px solid var(--ink); }
  :root[data-style="signal"] .signal-deliverables li:last-child,
  :root[data-style="signal"] .signal-process li:last-child { border-bottom: 0; }
  :root[data-style="signal"] .signal-case,
  :root[data-style="blueprint"] .blueprint-plan li { grid-template-columns: 1fr; }
  :root[data-style="signal"] .signal-case { gap: 1rem; }
  :root[data-style="blueprint"] .blueprint-title { min-height: 0; }
  :root[data-style="blueprint"] .blueprint-sheet { gap: 0.5rem; }
  :root[data-style="blueprint"] .blueprint-spec { gap: 0.75rem; }
}

@media (max-width: 64rem) {
  .site-header { align-items: flex-start; flex-direction: column; padding-block: 1rem; }
  .hero, .page-hero { grid-template-columns: 1fr; min-height: 0; }
  .hero-side { max-width: 44rem; }
  .secondary-services { grid-template-columns: 1fr 1fr; }
  .secondary-services .lead { grid-column: 1 / -1; min-height: 18rem; }
  :root[data-style="signal"] .deliverables { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 44.99rem) {
  body { font-size: 1.05rem; }
  h1 { font-size: clamp(3.2rem, 17vw, 5.2rem); }
  h2 { font-size: clamp(2.35rem, 12vw, 3.8rem); }
  .site-header { gap: 0.75rem; }
  .site-nav ul { gap: 0 0.8rem; }
  .site-nav .nav-enquire { padding-inline: 0.7rem; }
  .direction-bar { padding-block: 0.5rem; }
  .direction-bar > p {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .direction-choices { width: 100%; }
  .direction-choices button { flex: 1; padding-inline: 0.35rem; }
  main > section, .home-layout > section { padding-block: clamp(3.5rem, 16vw, 5.5rem); }
  .hero { gap: 1.5rem; padding-top: 1.5rem; }
  .hero-copy { gap: 0.75rem; }
  .hero-copy .intro { font-size: 1.1rem; }
  .proof-grid,
  .offer-layout,
  .secondary-services,
  .process-list,
  .trust-panel,
  .content-grid,
  .case-study,
  .experience-list,
  .contact-panel,
  .closing { grid-template-columns: 1fr; }
  .deliverables { grid-template-columns: 1fr; }
  .deliverables li, .deliverables li:nth-child(even) { min-height: 0; border-right: 0; }
  .secondary-services .lead { grid-column: auto; min-height: 18rem; }
  .process-list li::before { margin-bottom: 2rem; }
  .closing { align-items: start; }
  .site-footer-inner { flex-direction: column; }
  :root[data-style="signal"] h1 { font-size: clamp(3rem, 15vw, 4.5rem); line-height: 0.88; }
  :root[data-style="signal"] .hero { grid-template-columns: 1fr; }
  :root[data-style="signal"] .offer-summary,
  :root[data-style="signal"] .deliverables,
  :root[data-style="signal"] .service-mini { grid-template-columns: 1fr; }
  :root[data-style="signal"] .process-list { grid-template-columns: 1fr; }
  :root[data-style="signal"] .process-list li + li { border-left: 0; border-top: 3px solid var(--ink); }
  :root[data-style="blueprint"] .hero { margin-inline: 0; }
}

@media (min-width: 64.01rem) and (max-height: 56.25rem) {
  .home-layout > .hero,
  :root[data-style="signal"] .signal-pitch,
  :root[data-style="poster"] .poster-opening { padding-block: 3rem; }
  .hero h1 { font-size: clamp(3.6rem, 6.25vw, 5.625rem); }
  :root[data-style="signal"] .signal-pitch { gap: 2rem; }
  :root[data-style="signal"] .signal-pitch h1 { font-size: clamp(4rem, 6.5vw, 6rem); line-height: 0.85; }
  :root[data-style="poster"] .poster-opening h1 { font-size: clamp(5rem, 7.5vw, 7rem); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

@media (forced-colors: active) {
  .nav-enquire, .primary-cta, .secondary-services .lead, .trust-panel, .contact-panel, .direction-choices button[aria-pressed="true"] {
    border: 2px solid ButtonText;
    background: Canvas;
    color: CanvasText;
    forced-color-adjust: none;
  }
  .proof-card .outcome, .case-copy .result { border-left-color: CanvasText; }
}
