@import url('https://fonts.googleapis.com/css2?family=Averia+Serif+Libre:wght@400;700&family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap');

:root {
  --paper: #fffaf1;
  --paper-deep: #f2e8d7;
  --ink: #20344d;
  --ink-deep: #14283f;
  --ink-black: #1e1a17;
  --forest: #315744;
  --moss: #5f7254;
  --mustard: #f4c532;
  --coral: #ed6a3a;
  --rose: #c58d9a;
  --pink: #f06d91;
  --plum: #7a5e7b;
  --blue: #73a7d7;
  --rule: #c9bba4;
  --text: #20344d;
  --display: 'Averia Serif Libre', Georgia, serif;
  --sans: 'DM Sans', Arial, sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, monospace;
  --gutter: clamp(1.25rem, 5vw, 5.5rem);
  --content: 88rem;
  --reading: 46rem;
  --shadow: 6px 7px 0 rgba(32, 52, 77, .16);
}

*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  background: var(--paper);
  color: var(--text);
}

body {
  margin: 0;
  min-width: 20rem;
  overflow-x: hidden;
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.62;
  background:
    radial-gradient(circle at 12% 18%, rgba(122, 94, 123, .055) 0 1px, transparent 1.6px),
    radial-gradient(circle at 86% 12%, rgba(237, 106, 58, .045) 0 1px, transparent 1.6px),
    var(--paper);
  background-size: 29px 29px, 37px 37px;
}

img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }

::selection { color: var(--ink-deep); background: var(--mustard); }

:focus-visible {
  outline: 3px solid #fffaf1;
  outline-offset: 4px;
  box-shadow: 0 0 0 6px #14283f;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: .75rem;
  left: .75rem;
  transform: translateY(-180%);
  padding: .7rem 1rem;
  background: var(--mustard);
  color: var(--ink-deep);
  font-weight: 700;
}

.skip-link:focus { transform: translateY(0); }

.site-header {
  position: relative;
  z-index: 50;
  color: var(--paper);
  background: var(--ink-black);
  border-bottom: 1px solid rgba(255, 250, 241, .14);
}

.header-inner {
  max-width: var(--content);
  min-height: 5.75rem;
  margin: 0 auto;
  padding: 1rem var(--gutter) 1.15rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.wordmark {
  text-decoration: none;
  display: inline-block;
  white-space: nowrap;
}

.wordmark-main {
  font-family: var(--display);
  font-size: clamp(2.35rem, 7vw, 3.15rem);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.055em;
  display: inline-flex;
  align-items: baseline;
  gap: .16em;
  color: #fff;
}

.wordmark-main span:first-child { transform: translateY(-.025em); }
.wordmark-main span:last-child { transform: translateY(.015em); }

.nav-toggle {
  min-width: 3rem;
  min-height: 3rem;
  padding: .65rem;
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.nav-toggle span,
.nav-toggle span::before,
.nav-toggle span::after {
  display: block;
  width: 1.4rem;
  height: 2px;
  background: currentColor;
  content: '';
  transition: transform .2s ease, opacity .2s ease;
}

.nav-toggle span { position: relative; }
.nav-toggle span::before { position: absolute; top: -.43rem; }
.nav-toggle span::after { position: absolute; top: .43rem; }

.nav-toggle[aria-expanded='true'] span { background: transparent; }
.nav-toggle[aria-expanded='true'] span::before { transform: translateY(.43rem) rotate(45deg); }
.nav-toggle[aria-expanded='true'] span::after { transform: translateY(-.43rem) rotate(-45deg); }

.site-nav {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  display: none;
  padding: 1rem var(--gutter) 1.5rem;
  background: var(--ink-black);
  border-top: 1px solid rgba(255,255,255,.14);
}

.site-nav.is-open { display: block; }
.site-nav ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .35rem; }
.site-nav a {
  min-height: 3rem;
  padding: .72rem .8rem;
  display: flex;
  align-items: center;
  text-decoration: none;
  font-size: .96rem;
  font-weight: 500;
  letter-spacing: .01em;
  border-left: 3px solid transparent;
}

.site-nav a:hover,
.site-nav a[aria-current='page'] {
  color: #fff;
  background: rgba(255,255,255,.075);
  border-left-color: var(--mustard);
}

.site-nav .nav-cta { border: 0; }

main { min-height: 70vh; }

.shell { max-width: var(--content); margin: 0 auto; padding-inline: var(--gutter); }
.reading { max-width: var(--reading); }

.eyebrow {
  margin: 0 0 1rem;
  font-family: var(--mono);
  font-size: .73rem;
  font-weight: 600;
  letter-spacing: .13em;
  line-height: 1.35;
  text-transform: uppercase;
}

.hero {
  position: relative;
  min-height: min(52rem, calc(100svh - 5.75rem));
  display: grid;
  align-items: stretch;
  isolation: isolate;
  background: var(--paper-deep);
}

.hero-art {
  min-height: 21rem;
  background: var(--paper) url('/assets/opening-collage-mobile.png') center/cover no-repeat;
}

.hero-copy {
  padding: clamp(3.6rem, 10vw, 8rem) var(--gutter) 4.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--paper);
}

.hero-copy::before {
  width: 4.25rem;
  height: .65rem;
  margin-bottom: 1.4rem;
  display: block;
  content: '';
  background: var(--mustard);
  box-shadow: .6rem .35rem 0 var(--coral);
  transform: rotate(-1.5deg);
}

.hero-studio {
  margin: 0;
  max-width: 8ch;
  font-family: var(--display);
  font-size: clamp(4rem, 17vw, 10rem);
  font-weight: 700;
  line-height: .74;
  letter-spacing: -.085em;
  color: var(--ink-deep);
}

.hero h1 {
  max-width: 13ch;
  margin: 2rem 0 1.35rem;
  font-family: var(--display);
  font-size: clamp(2.25rem, 7vw, 4.7rem);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.045em;
}

.hero-lede { max-width: 41rem; margin: 0 0 2rem; font-size: clamp(1.05rem, 2vw, 1.3rem); }

.button-row { display: flex; flex-wrap: wrap; gap: .85rem; align-items: center; }
.button {
  min-height: 3.2rem;
  padding: .8rem 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  border: 1px solid var(--ink-deep);
  border-radius: 2px;
  text-decoration: none;
  font-weight: 700;
  background: var(--ink-deep);
  color: var(--paper);
  box-shadow: .35rem .4rem 0 var(--mustard);
  transition: transform .15s ease, box-shadow .15s ease;
}

.button:hover { transform: translate(-2px, -2px); box-shadow: .55rem .58rem 0 var(--coral); }
.button:active { transform: translate(.2rem, .2rem); box-shadow: .15rem .18rem 0 var(--mustard); }
.button.secondary { color: var(--ink-deep); background: transparent; box-shadow: none; }
.button.secondary:hover { background: var(--paper-deep); box-shadow: .32rem .35rem 0 var(--rule); }
.button.light { color: var(--ink-deep); background: var(--paper); border-color: var(--paper); }

.section { padding-block: clamp(4.5rem, 10vw, 9rem); }
.section.compact { padding-block: clamp(3rem, 7vw, 6rem); }
.section-heading {
  max-width: 14ch;
  margin: 0 0 1.5rem;
  font-family: var(--display);
  font-size: clamp(2.7rem, 8vw, 6.5rem);
  font-weight: 400;
  line-height: .94;
  letter-spacing: -.055em;
}

.section-heading.small { font-size: clamp(2.35rem, 6vw, 4.6rem); }
.section-lede { max-width: 47rem; font-size: clamp(1.08rem, 2.2vw, 1.4rem); }

.paper-section { background: var(--paper); }
.deep-section { background: var(--ink-deep); color: var(--paper); }
.mustard-section { background: var(--mustard); color: var(--ink-deep); }
.rose-section { background: var(--rose); color: var(--ink-deep); }
.blue-section { background: var(--blue); color: var(--ink-deep); }

.positioning-grid { display: grid; gap: 2rem; }
.positioning-rule { border-top: 2px solid currentColor; padding-top: 1rem; }

.capability-list { border-top: 1px solid rgba(32,52,77,.28); }
.capability {
  display: grid;
  grid-template-columns: 3.2rem minmax(0,1fr);
  gap: 1rem;
  padding: 1.6rem 0;
  border-bottom: 1px solid rgba(32,52,77,.28);
}
.capability-number { font-family: var(--mono); font-size: .78rem; letter-spacing: .12em; }
.capability h3 { margin: 0 0 .45rem; font-family: var(--display); font-size: clamp(1.6rem, 4vw, 2.45rem); line-height: 1.05; }
.capability p { margin: 0; max-width: 48rem; }

.project-spread { display: grid; gap: 2rem; }
.project-visual {
  position: relative;
  min-height: 26rem;
  overflow: hidden;
  border: 1px solid rgba(32,52,77,.2);
  background: var(--paper-deep);
}

.software-board {
  height: 100%;
  min-height: 30rem;
  padding: 1.5rem;
  display: grid;
  grid-template-columns: 6.4rem 1fr;
  gap: 1.15rem;
  background:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    var(--ink);
  background-size: 24px 24px;
}

.software-nav { padding-top: .5rem; display: grid; align-content: start; gap: .45rem; color: var(--paper); }
.software-nav b { font-family: var(--display); font-size: 2.35rem; line-height: .85; }
.software-nav span { padding: .55rem .45rem; font-size: .64rem; font-weight: 700; }
.software-nav span:first-of-type { color: var(--ink-deep); background: var(--mustard); box-shadow: .28rem .25rem 0 var(--coral); }
.software-main { padding: 1rem; display: grid; align-content: start; gap: 1rem; background: var(--paper); }
.software-title { font-family: var(--display); font-size: clamp(2rem, 5vw, 4rem); line-height: .92; }
.software-strip { width: 65%; height: .55rem; background: var(--mustard); box-shadow: .55rem .35rem 0 var(--rose); }
.software-cards { display: grid; gap: .75rem; }
.software-card { min-height: 5rem; padding: .85rem; border: 1px solid var(--rule); background: #fff; box-shadow: .22rem .25rem 0 rgba(32,52,77,.1); }
.software-card b { font-size: .78rem; }
.software-card i { display: block; width: 45%; height: .45rem; margin-top: .6rem; background: var(--paper-deep); }
.project-copy h2 { margin: 0 0 1rem; font-family: var(--display); font-size: clamp(2.5rem, 7vw, 5.5rem); line-height: .92; letter-spacing: -.05em; }
.project-copy h3 { margin: 2rem 0 .5rem; font-family: var(--display); font-size: 1.75rem; }
.project-meta { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0 0 1.5rem; }
.project-meta span { padding: .4rem .55rem; font-family: var(--mono); font-size: .65rem; text-transform: uppercase; border: 1px solid currentColor; }

.offer-grid { display: grid; gap: 1.2rem; margin-top: 3rem; }
.offer {
  position: relative;
  padding: clamp(1.5rem, 4vw, 2.6rem);
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(32,52,77,.3);
  background: var(--paper);
  box-shadow: .4rem .46rem 0 rgba(32,52,77,.13);
}
.offer.featured { background: var(--ink-deep); color: var(--paper); box-shadow: .45rem .52rem 0 var(--coral); }
.offer:nth-child(2) { background: #f5d6de; }
.offer:nth-child(3) { background: #d7e7f2; }
.offer .eyebrow { margin-bottom: 2rem; }
.offer h3 { margin: 0 0 .65rem; font-family: var(--display); font-size: clamp(2rem, 5vw, 3.55rem); line-height: .95; }
.offer-price { margin: .5rem 0 1.1rem; font-family: var(--mono); font-size: .76rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.offer p { margin: 0 0 1.5rem; }
.offer a { margin-top: auto; font-weight: 700; text-decoration-thickness: 2px; text-underline-offset: .3rem; }

.art-band {
  position: relative;
  display: grid;
  overflow: hidden;
  background: var(--paper);
}
.art-band img {
  position: relative;
  width: 100%;
  height: 19rem;
  object-fit: cover;
}
.art-band-copy {
  position: relative;
  z-index: 1;
  max-width: none;
  padding: 2.35rem var(--gutter) 2.75rem;
  color: var(--ink-black);
  background: var(--paper);
}
.art-band-copy::before {
  width: 4.2rem;
  height: .58rem;
  margin-bottom: 1.2rem;
  display: block;
  content: '';
  background: var(--mustard);
  box-shadow: .55rem .3rem 0 var(--coral);
  transform: rotate(-1.5deg);
}
.art-band-copy h2 {
  max-width: 10ch;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(3rem, 13vw, 5rem);
  line-height: .88;
  letter-spacing: -.065em;
}
.art-band-copy .section-lede { max-width: 34rem; margin-bottom: 0; }
.art-band--home img { object-position: 62% center; }
.art-band--studio img { object-position: 54% center; }

.process-grid { display: grid; gap: 1px; margin-top: 3rem; background: rgba(32,52,77,.25); border: 1px solid rgba(32,52,77,.25); }
.process-step { padding: 1.5rem; background: var(--paper); }
.process-step img { width: auto; height: 8rem; margin: 0 auto 1rem; object-fit: contain; }
.process-step h3 { margin: .6rem 0; font-family: var(--display); font-size: 1.8rem; }
.process-step p { margin: 0; }

.page-hero { padding-block: clamp(4.5rem, 11vw, 9.5rem); border-bottom: 1px solid rgba(32,52,77,.22); }
.page-hero h1 { max-width: 13ch; margin: 0; font-family: var(--display); font-size: clamp(3.8rem, 13vw, 10rem); line-height: .78; letter-spacing: -.08em; }
.page-hero p:not(.eyebrow) { max-width: 48rem; margin: 2rem 0 0; font-size: clamp(1.1rem, 2vw, 1.42rem); }

.editorial-grid { display: grid; gap: 2rem; }
.editorial-grid h2 { margin-top: 0; }

.service-detail { padding-block: clamp(4rem, 9vw, 8rem); border-bottom: 1px solid rgba(32,52,77,.3); }
.service-number { font-family: var(--mono); font-size: .78rem; letter-spacing: .14em; }
.service-detail h2 { max-width: 13ch; margin: 1rem 0; font-family: var(--display); font-size: clamp(3rem, 8vw, 6rem); line-height: .9; letter-spacing: -.055em; }
.service-tag { font-family: var(--mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.service-price { margin: 1.1rem 0 2rem; font-family: var(--display); font-size: clamp(1.8rem, 4vw, 3rem); }
.service-columns { display: grid; gap: 2rem; }
.service-columns h3 { font-family: var(--display); font-size: 1.7rem; }
.service-columns ul { padding-left: 1.2rem; }
.scope-note { padding: 1rem 1.2rem; border-left: 4px solid var(--mustard); background: rgba(255,255,255,.45); }
.deep-section .scope-note { background: rgba(255,255,255,.08); }

.founder-grid { display: grid; gap: 2rem; }
.founder-card { min-height: 24rem; padding: 1.5rem; display: flex; align-items: end; background: var(--rose); box-shadow: .5rem .55rem 0 var(--mustard); }
.founder-card strong { font-family: var(--display); font-size: clamp(2.7rem, 7vw, 5rem); line-height: .85; }

.inquiry-layout { display: grid; gap: 3rem; }
.inquiry-form { padding: clamp(1.2rem, 4vw, 2.5rem); background: var(--paper); border: 1px solid rgba(32,52,77,.25); box-shadow: .5rem .55rem 0 var(--mustard); }
.field { margin-bottom: 1.25rem; }
.field label, .field legend { display: block; margin-bottom: .42rem; font-weight: 700; }
.field small { display: block; margin-top: .35rem; color: #4c5b69; }
.field input, .field select, .field textarea {
  width: 100%;
  min-height: 3rem;
  padding: .75rem .85rem;
  border: 1px solid var(--ink);
  border-radius: 2px;
  background: #fffef9;
  color: var(--text);
}
.field textarea { min-height: 10rem; resize: vertical; }
.field-row { display: grid; gap: 1rem; }
.acknowledgement { display: flex !important; gap: .7rem; align-items: flex-start; }
.acknowledgement input { width: 1.1rem; min-height: 1.1rem; margin-top: .2rem; flex: 0 0 auto; }
.honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; }
.inquiry-form .button:disabled { cursor: wait; opacity: .68; }
.form-status { margin: 1rem 0 0; padding: .85rem 1rem; border-left: 4px solid var(--coral); background: var(--paper-deep); }
.form-status.is-success { border-left-color: var(--blue); }
.form-status.is-error { border-left-color: #a33323; }
.preview-note { padding: 1.1rem 1.2rem; border: 1px dashed var(--ink); background: #fff3c8; }

.privacy-copy h2 { margin-top: 2.8rem; font-family: var(--display); font-size: 2.3rem; line-height: 1; }
.privacy-copy h3 { margin-top: 2rem; }

.site-footer { color: var(--paper); background: var(--ink-deep); }
.footer-art { min-height: 22rem; background: url('/assets/closing-collage-mobile.png') center/cover no-repeat; }
.footer-inner { max-width: var(--content); margin: 0 auto; padding: 3.2rem var(--gutter) 2.4rem; }
.footer-top { display: grid; gap: 2rem; }
.footer-wordmark { font-family: var(--display); font-size: clamp(3.3rem, 11vw, 7.5rem); line-height: .78; letter-spacing: -.075em; }
.footer-links { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .65rem 1rem; }
.footer-links a { min-height: 2.75rem; display: flex; align-items: center; text-underline-offset: .25rem; }
.footer-meta { margin-top: 3rem; padding-top: 1.2rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .7rem; border-top: 1px solid rgba(255,255,255,.25); font-family: var(--mono); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }

/* Batch 2: editorial service index */
.services-hero { padding-block: clamp(3.5rem, 9vw, 7.5rem); }
.services-hero-grid { display: grid; gap: 2.5rem; }
.services-hero h1,
.work-hero h1 {
  max-width: 11ch;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(3.8rem, 13vw, 9rem);
  font-weight: 400;
  line-height: .8;
  letter-spacing: -.075em;
}
.services-intro { max-width: 37rem; }
.services-intro > p:first-child { margin-top: 0; font-size: clamp(1.08rem, 2.2vw, 1.35rem); }
.service-key {
  margin: 2rem 0 0;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(30,26,23,.35);
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: .09em;
  line-height: 2;
  text-transform: uppercase;
}
.service-key span { margin-right: .55rem; font-family: var(--display); font-size: 1.65rem; font-weight: 700; letter-spacing: -.04em; }
.service-index-section { padding-block: clamp(3.8rem, 8vw, 7rem); background: var(--paper); }
.service-index-heading { display: grid; gap: 1.25rem; margin-bottom: 2.5rem; }
.service-index-heading h2,
.work-gallery-heading h2,
.services-process-title h2,
.services-closing h2,
.work-closing h2 {
  max-width: 17ch;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(2.35rem, 6vw, 4.9rem);
  font-weight: 400;
  line-height: .92;
  letter-spacing: -.055em;
}
.service-index-heading > p { max-width: 34rem; margin: 0; }
.service-index { border-top: 1px solid var(--ink-black); }
.service-entry { color: var(--ink-black); border-bottom: 1px solid var(--ink-black); }
.service-entry--custom { color: var(--paper); background: var(--ink-black); }
.service-entry--intensive { background: #f3c2cf; }
.service-entry--audit { background: #cce0f0; }
.service-entry summary {
  position: relative;
  min-height: 21rem;
  padding: 1.5rem;
  display: grid;
  align-content: space-between;
  gap: 1.25rem;
  overflow: hidden;
  cursor: pointer;
  list-style: none;
}
.service-entry summary::-webkit-details-marker { display: none; }
.service-entry summary::marker { content: ''; }
.service-entry summary::before {
  position: absolute;
  inset: .75rem .75rem auto auto;
  width: 4.5rem;
  height: 4.5rem;
  content: '';
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: .24;
  transform: translate(35%, -35%);
}
.service-entry summary:hover .service-entry-action { transform: translateX(.25rem); }
.service-entry-number {
  font-family: var(--display);
  font-size: clamp(4.75rem, 22vw, 8rem);
  font-weight: 700;
  line-height: .7;
  letter-spacing: -.1em;
  opacity: .92;
}
.service-entry-title { display: grid; gap: .8rem; }
.service-entry-title .eyebrow { margin: 0; }
.service-entry-title strong { max-width: 16ch; font-family: var(--display); font-size: clamp(2.15rem, 8vw, 3.6rem); line-height: .9; letter-spacing: -.05em; }
.service-entry-title > span:last-child { max-width: 42rem; }
.service-entry-price { display: grid; gap: .2rem; font-family: var(--mono); font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; }
.service-entry-price b { font-family: var(--display); font-size: clamp(1.85rem, 6vw, 3rem); line-height: 1; letter-spacing: -.04em; text-transform: none; }
.service-entry-action {
  justify-self: end;
  align-self: end;
  font-family: var(--mono);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: transform .18s ease;
}
.service-entry-action::after { margin-left: .55rem; content: '+'; font-family: var(--sans); font-size: 1.35rem; }
.service-entry[open] .service-entry-action::after { content: '−'; }
.service-panel {
  padding: 2rem 1.5rem 2.7rem;
  display: grid;
  gap: 2rem;
  border-top: 1px solid currentColor;
  background: rgba(255,250,241,.9);
  color: var(--ink-black);
  animation: service-reveal .24s ease both;
}
.service-panel p { max-width: 46rem; }
.service-deliverables { margin: 0; padding: 0; list-style: none; border-top: 1px solid currentColor; }
.service-deliverables li { padding: .85rem .2rem .85rem 1.75rem; border-bottom: 1px solid rgba(30,26,23,.25); position: relative; }
.service-deliverables li::before { position: absolute; left: .2rem; content: '↳'; font-weight: 700; }
.text-link { display: inline-block; margin-top: .75rem; font-weight: 700; text-underline-offset: .3rem; text-decoration-thickness: 2px; }
@keyframes service-reveal { from { opacity: 0; transform: translateY(-.35rem); } to { opacity: 1; transform: translateY(0); } }

.services-process { padding-block: clamp(4rem, 8vw, 7rem); background: var(--paper-deep); }
.services-process-title { display: grid; gap: 1rem; margin-bottom: 2.5rem; }
.process-line { margin: 0; padding: 0; display: grid; list-style: none; border-top: 1px solid var(--ink-black); }
.process-line li { position: relative; padding: 1.25rem 0; display: grid; grid-template-columns: 3rem 1fr; gap: .25rem 1rem; border-bottom: 1px solid rgba(30,26,23,.35); }
.process-line li > span { grid-row: 1 / span 2; font-family: var(--mono); font-size: .68rem; letter-spacing: .1em; }
.process-line strong { font-family: var(--display); font-size: 1.75rem; line-height: 1; }
.process-line p { margin: 0; }
.services-closing { padding-block: clamp(4rem, 8vw, 7rem); }
.services-closing-grid { display: grid; gap: 2rem; }
.services-closing-grid > div:last-child { max-width: 36rem; }

/* Batch 2: image-led work gallery */
.work-hero { padding-block: clamp(3.8rem, 9vw, 7.5rem); }
.work-hero-grid { display: grid; gap: 2rem; }
.work-hero-grid > p { max-width: 38rem; margin: 0; align-self: end; font-size: clamp(1.08rem, 2.1vw, 1.35rem); }
.work-feature { padding-block: clamp(3.5rem, 7vw, 6.5rem); overflow: hidden; }
.work-feature-meta { margin-bottom: 2rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 2rem; }
.work-feature-meta p { margin: 0; }
.work-feature-meta > p:last-child { font-family: var(--mono); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.work-feature-grid { display: grid; gap: 2rem; }
.work-feature-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; }
.work-feature-copy h2 { margin: 0; font-family: var(--display); font-size: clamp(5.25rem, 25vw, 12rem); line-height: .7; letter-spacing: -.1em; }
.work-feature-lede { max-width: 20ch; margin: 1.5rem 0; font-family: var(--display); font-size: clamp(2rem, 7vw, 3.4rem); line-height: .94; }
.work-feature-visual { min-height: 25rem; border-color: rgba(255,250,241,.3); box-shadow: .65rem .7rem 0 var(--coral); }
.work-note-button {
  min-height: 2.85rem;
  padding: .65rem 0;
  border: 0;
  border-bottom: 2px solid currentColor;
  background: transparent;
  color: inherit;
  font-weight: 700;
  cursor: pointer;
}
.work-note-button span { display: inline-block; margin-left: .45rem; transition: transform .18s ease; }
.work-note-button:hover span { transform: translate(.2rem, -.2rem); }
.work-note-button--light { color: var(--paper); }
.work-gallery-section { padding-block: clamp(4rem, 8vw, 7rem); background: var(--paper); }
.work-gallery-heading { margin-bottom: 2rem; display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; }
.work-gallery-controls { flex: 0 0 auto; display: flex; gap: .55rem; }
.work-gallery-controls button {
  width: 3.25rem;
  height: 3.25rem;
  border: 1px solid var(--ink-black);
  border-radius: 50%;
  background: var(--paper);
  color: var(--ink-black);
  font-size: 1.3rem;
  cursor: pointer;
}
.work-gallery-controls button:disabled { opacity: .28; cursor: default; }
.work-rail {
  width: calc(100vw - var(--gutter));
  margin-right: calc(var(--gutter) * -1);
  padding: .25rem var(--gutter) 1.4rem 0;
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scrollbar-color: var(--ink-black) var(--paper-deep);
  scrollbar-width: thin;
}
.work-card {
  flex: 0 0 min(82vw, 24rem);
  display: flex;
  flex-direction: column;
  scroll-snap-align: start;
  border: 1px solid var(--ink-black);
  background: var(--paper);
  box-shadow: .42rem .48rem 0 rgba(30,26,23,.14);
}
.work-card-visual { height: 18rem; overflow: hidden; background: var(--paper-deep); }
.work-card-visual img { width: 100%; height: 100%; object-fit: cover; }
.work-card--identity .work-card-visual { height: 22rem; }
.work-card--identity .work-card-visual img { object-position: 66% center; }
.work-card--strategy { background: #f3c2cf; }
.work-card--strategy .work-card-visual { height: 16rem; padding: 1rem; background: var(--rose); }
.work-card--strategy .work-card-visual img { object-fit: cover; width: 100%; }
.work-card--audit { background: #cce0f0; }
.work-card--audit .work-card-visual { height: 20rem; padding: 1.25rem; background: var(--blue); }
.work-card--audit .work-card-visual img { object-fit: cover; width: 100%; }
.work-card-copy { min-height: 24rem; padding: 1.5rem; display: flex; flex-direction: column; align-items: flex-start; }
.work-card-copy h3 { margin: 0 0 1rem; font-family: var(--display); font-size: clamp(2.25rem, 8vw, 3.5rem); line-height: .9; letter-spacing: -.05em; }
.work-card-copy > p:not(.eyebrow) { margin-top: 0; }
.work-card-copy .work-note-button { margin-top: auto; }
.gallery-hint { margin: 1rem 0 0; font-family: var(--mono); font-size: .68rem; letter-spacing: .07em; text-transform: uppercase; }
.gallery-hint span { margin-right: .4rem; font-size: 1rem; }
.work-closing { padding-block: clamp(4rem, 8vw, 7rem); }
.work-closing-grid { display: grid; gap: 2rem; }
.work-closing-grid > div:last-child { max-width: 38rem; }

.project-dialog {
  width: min(68rem, calc(100vw - 2rem));
  max-height: min(88vh, 54rem);
  padding: 0;
  overflow: auto;
  border: 1px solid var(--ink-black);
  background: var(--paper);
  color: var(--ink-black);
  box-shadow: 1rem 1.1rem 0 rgba(30,26,23,.32);
}
.project-dialog::backdrop { background: rgba(20,40,63,.72); backdrop-filter: blur(2px); }
.project-dialog-inner { position: relative; padding: clamp(2rem, 6vw, 5rem); }
.project-dialog-close {
  position: sticky;
  z-index: 1;
  top: 1rem;
  float: right;
  width: 3rem;
  height: 3rem;
  margin: -1rem -1rem 0 1rem;
  border: 1px solid var(--ink-black);
  border-radius: 50%;
  background: var(--paper);
  color: var(--ink-black);
  font-size: 1.75rem;
  line-height: 1;
  cursor: pointer;
}
.project-dialog h2 { max-width: 12ch; margin: 0 0 2rem; font-family: var(--display); font-size: clamp(3.5rem, 10vw, 7rem); line-height: .8; letter-spacing: -.07em; }
.project-dialog h3 { margin-bottom: .5rem; font-family: var(--display); font-size: 1.7rem; line-height: 1; }
.project-dialog-grid { display: grid; gap: 1.5rem; }
body.dialog-open { overflow: hidden; }

@media (min-width: 44rem) {
  .field-row { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .process-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .footer-links { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .service-entry summary { grid-template-columns: 7rem minmax(0,1fr); align-items: start; }
  .service-entry-number { grid-row: 1 / span 2; }
  .service-entry-title strong { font-size: clamp(2.75rem, 6vw, 4rem); }
  .service-entry-price { grid-column: 2; }
  .service-entry-action { position: absolute; right: 1.5rem; bottom: 1.4rem; }
  .service-panel { grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(2rem,6vw,5rem); }
  .process-line { grid-template-columns: repeat(2, minmax(0,1fr)); border-left: 1px solid var(--ink-black); }
  .process-line li { padding: 1.5rem; border-right: 1px solid var(--ink-black); }
  .project-dialog-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (min-width: 62rem) {
  .header-inner { min-height: 7.25rem; padding-block: 1.25rem 1.45rem; }
  .wordmark-main { font-size: clamp(2.7rem, 3.5vw, 3.15rem); }
  .nav-toggle { display: none; }
  .site-nav { position: static; display: block; padding: 0; border: 0; background: transparent; }
  .site-nav ul { display: flex; align-items: center; gap: clamp(.45rem, 1.35vw, 1.35rem); }
  .site-nav a { min-height: 2.75rem; padding: .5rem .2rem; border-left: 0; border-bottom: 1px solid transparent; }
  .site-nav a:hover, .site-nav a[aria-current='page'] { color: #fff; background: transparent; border-bottom-color: rgba(255,255,255,.76); }
  .site-nav .nav-cta { margin-left: 0; border: 0; }
  .site-nav .nav-cta:hover, .site-nav .nav-cta[aria-current='page'] { color: #fff; background: transparent; border-bottom-color: rgba(255,255,255,.76); }
  .hero { grid-template-columns: minmax(26rem, 47%) 1fr; min-height: min(54rem, calc(100svh - 7.25rem)); }
  .hero-art { min-height: 100%; order: 2; background-image: url('/assets/opening-collage.png'); background-position: center; }
  .hero-copy { order: 1; padding-left: max(var(--gutter), calc((100vw - var(--content)) / 2 + var(--gutter))); }
  .hero-studio { font-size: clamp(5.5rem, 9vw, 9rem); }
  .positioning-grid { grid-template-columns: minmax(0, 1.4fr) minmax(18rem, .6fr); gap: clamp(3rem, 8vw, 8rem); }
  .project-spread { grid-template-columns: minmax(0, 1.12fr) minmax(22rem, .88fr); align-items: center; gap: clamp(3rem, 7vw, 7rem); }
  .offer-grid { grid-template-columns: 1.15fr .925fr .925fr; align-items: stretch; }
  .process-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .editorial-grid { grid-template-columns: minmax(0,1.2fr) minmax(20rem,.8fr); gap: clamp(3rem,8vw,8rem); }
  .service-columns { grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(3rem,8vw,8rem); }
  .founder-grid { grid-template-columns: minmax(18rem,.72fr) minmax(0,1.28fr); align-items: center; gap: clamp(3rem,8vw,8rem); }
  .inquiry-layout { grid-template-columns: minmax(20rem,.75fr) minmax(0,1.25fr); gap: clamp(3rem,8vw,8rem); align-items: start; }
  .art-band {
    min-height: clamp(36rem, 46vw, 44rem);
    grid-template-columns: minmax(24rem, .88fr) minmax(0, 1.12fr);
    align-items: stretch;
  }
  .art-band img {
    position: relative;
    inset: auto;
    grid-row: 1;
    width: 100%;
    height: 100%;
    min-height: clamp(36rem, 46vw, 44rem);
  }
  .art-band-copy {
    position: relative;
    top: auto;
    left: auto;
    grid-row: 1;
    width: auto;
    padding: clamp(3rem, 5vw, 6rem) max(var(--gutter), calc((100vw - var(--content)) / 2 + var(--gutter)));
    display: flex;
    flex-direction: column;
    justify-content: center;
    transform: none;
    background: var(--paper);
    box-shadow: none;
    clip-path: none;
  }
  .art-band-copy h2 { font-size: clamp(3.7rem, 5.5vw, 6.4rem); }
  .art-band--home .art-band-copy { grid-column: 1; }
  .art-band--home img { grid-column: 2; object-position: 58% center; }
  .art-band--studio { grid-template-columns: minmax(0, 1.12fr) minmax(24rem, .88fr); }
  .art-band--studio img { grid-column: 1; object-position: 58% center; }
  .art-band--studio .art-band-copy { grid-column: 2; }
  .footer-art { min-height: 31rem; background-image: url('/assets/closing-collage.png'); }
  .footer-top { grid-template-columns: minmax(0,1.3fr) minmax(22rem,.7fr); align-items: end; }
  .services-hero-grid, .work-hero-grid { grid-template-columns: minmax(0,1.35fr) minmax(22rem,.65fr); align-items: end; gap: clamp(3rem,8vw,8rem); }
  .service-index-section { padding-block: 5rem; }
  .service-index-heading { grid-template-columns: minmax(0,1.45fr) minmax(18rem,.55fr); align-items: end; gap: clamp(3rem,8vw,8rem); }
  .service-entry summary { min-height: 13.5rem; padding: 1.6rem 2rem; grid-template-columns: 8rem minmax(0,1.55fr) minmax(13rem,.55fr) auto; align-items: center; }
  .service-entry-number { grid-row: auto; }
  .service-entry-title strong { font-size: clamp(2.6rem,4.2vw,4rem); }
  .service-entry-price { grid-column: auto; }
  .service-entry-action { position: static; align-self: center; }
  .service-panel { padding: 2.6rem 10rem 3.4rem; }
  .services-process { padding-block: 5rem; }
  .services-process-title { grid-template-columns: .55fr 1.45fr; align-items: end; }
  .process-line { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .services-closing-grid, .work-closing-grid { grid-template-columns: minmax(0,1.25fr) minmax(22rem,.75fr); align-items: center; gap: clamp(3rem,8vw,8rem); }
  .work-feature-grid { grid-template-columns: minmax(17rem,.58fr) minmax(0,1.42fr); align-items: stretch; gap: clamp(3rem,7vw,7rem); }
  .work-feature-visual { min-height: 38rem; }
  .work-rail { width: auto; margin: 0; padding: .3rem .55rem .65rem 0; display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 1.35rem; overflow: visible; scroll-snap-type: none; }
  .work-card { min-width: 0; }
  .work-card--identity { grid-column: span 5; }
  .work-card--strategy { grid-column: span 3; }
  .work-card--audit { grid-column: span 4; }
  .work-card-copy { min-height: 22rem; }
  .work-card--identity .work-card-copy { min-height: 22rem; }
  .work-card--identity .work-card-visual { height: 25rem; }
  .work-card--strategy .work-card-visual { height: 18rem; }
  .work-card--audit .work-card-visual { height: 21rem; }
  .work-gallery-controls, .gallery-hint { display: none; }
  .project-dialog-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media print {
  .site-header, .site-footer, .button-row, .nav-toggle { display: none !important; }
  body { background: #fff; color: #111; }
  .section, .page-hero { padding-block: 2rem; }
}

/* Version 7 editorial layer */
:root {
  --paper:#fffaf1; --paper-deep:#eee3d1; --paper-white:#fffdf8;
  --ink:#1e1a17; --navy:#18344c; --navy-deep:#10283c;
  --green:#59611f; --coral:#e95a16; --mustard:#e7b61a;
  --pink:#f45a93; --blue:#7db2d3; --plum:#76546f;
  --text:var(--ink);
}

body { color:var(--ink); background:var(--paper); }
.site-header { background:var(--ink); }
.header-inner { min-height:5.4rem; }
.wordmark-main { font-size:clamp(2.15rem,7vw,3rem); }
.site-nav { background:var(--ink); }
.site-nav a:hover,.site-nav a[aria-current='page'] { color:var(--mustard); }
.section { padding-block:clamp(4rem,8vw,7.5rem); }
.paper-deep-section { background:var(--paper-deep); }
.dark-section { color:var(--paper); background:var(--ink); }
.navy-section { color:var(--paper); background:var(--navy-deep); }
.pink-section { color:var(--ink); background:#f2b6c8; }
.blue-section { color:var(--ink); background:#bfdbea; }
.big-heading { max-width:14ch; margin:0; font-family:var(--display); font-size:clamp(2.8rem,8vw,7rem); font-weight:400; line-height:.88; letter-spacing:-.06em; }
.mid-heading { max-width:16ch; margin:0; font-family:var(--display); font-size:clamp(2.25rem,5.8vw,4.8rem); font-weight:400; line-height:.92; letter-spacing:-.05em; }
.kicker { max-width:46rem; font-size:clamp(1.05rem,2vw,1.35rem); }
.text-link { display:inline-block; margin-top:.7rem; font-weight:700; text-decoration-thickness:2px; text-underline-offset:.3rem; }

/* Home */
.home-hero { background:var(--paper); }
.home-hero-art { position:relative; min-height:19rem; overflow:hidden; background:var(--paper-deep); }
.home-hero-art img { width:100%; height:100%; min-height:19rem; object-fit:cover; object-position:62% center; }
.art-caption { position:absolute; right:1rem; bottom:1rem; padding:.38rem .52rem; color:var(--ink); background:var(--paper); font-family:var(--mono); font-size:.59rem; letter-spacing:.08em; text-transform:uppercase; }
.home-hero-copy { padding:clamp(3rem,8vw,6.5rem) var(--gutter); }
.home-hero-copy h1 { max-width:10ch; margin:0 0 1.25rem; font-family:var(--display); font-size:clamp(3.5rem,15vw,9rem); font-weight:400; line-height:.76; letter-spacing:-.08em; }
.home-hero-copy h1 em { display:block; color:var(--green); font-weight:400; }
.home-hero-copy .kicker { margin:0 0 1.8rem; }
.proof-index { background:var(--navy-deep); color:var(--paper); }
.proof-heading { margin-bottom:2.5rem; display:grid; gap:1rem; }
.proof-feature { display:grid; gap:1.5rem; }
.proof-feature-copy h2 { margin:0 0 1rem; font-family:var(--display); font-size:clamp(3.8rem,14vw,8rem); line-height:.76; letter-spacing:-.08em; }
.proof-feature-copy p { max-width:31rem; }
.proof-feature-copy .meta-line { padding-top:1rem; border-top:1px solid rgba(255,255,255,.3); font-family:var(--mono); font-size:.67rem; letter-spacing:.08em; text-transform:uppercase; }
.evidence-row { margin-top:2.75rem; display:grid; gap:1px; background:rgba(255,255,255,.25); border:1px solid rgba(255,255,255,.25); }
.evidence-item { min-height:10rem; padding:1.25rem; display:grid; grid-template-columns:3rem 1fr; align-content:space-between; gap:1.5rem; color:var(--ink); background:var(--paper); text-decoration:none; }
.evidence-item:nth-child(2) { background:#f2b6c8; }
.evidence-item:nth-child(3) { background:#bfdbea; }
.evidence-number { font-family:var(--display); font-size:2.6rem; line-height:.8; }
.evidence-item strong { display:block; font-family:var(--display); font-size:1.65rem; line-height:.95; }
.evidence-item small { grid-column:2; font-family:var(--mono); font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; }
.practice-intro { margin-bottom:2.5rem; }
.practice-matrix { display:grid; border-top:1px solid var(--ink); border-left:1px solid var(--ink); }
.practice-cell { min-height:12rem; padding:1.25rem; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.practice-cell:nth-child(2) { background:var(--mustard); }
.practice-cell:nth-child(3) { background:#f2b6c8; }
.practice-cell:nth-child(4) { background:#bfdbea; }
.practice-cell span { font-family:var(--mono); font-size:.66rem; letter-spacing:.1em; }
.practice-cell h3 { margin:2rem 0 .5rem; font-family:var(--display); font-size:2rem; line-height:.95; }
.practice-cell p { margin:0; }
.offer-index { border-top:1px solid var(--ink); }
.offer-row { padding:1.3rem 0; display:grid; gap:.45rem; border-bottom:1px solid var(--ink); text-decoration:none; }
.offer-row .offer-number { font-family:var(--mono); font-size:.67rem; letter-spacing:.1em; }
.offer-row strong { max-width:22ch; font-family:var(--display); font-size:clamp(1.8rem,5vw,3.15rem); line-height:.94; }
.offer-row .offer-price { font-family:var(--mono); font-size:.72rem; letter-spacing:.07em; text-transform:uppercase; }
.offer-arrow { justify-self:end; font-size:1.5rem; transition:transform .18s ease; }
.offer-row:hover .offer-arrow { transform:translateX(.3rem); }
.home-ending { display:grid; background:var(--coral); }
.home-ending-art { height:17rem; overflow:hidden; }
.home-ending-art img { width:100%; height:100%; object-fit:cover; object-position:64% center; }
.home-ending-copy { padding:3rem var(--gutter) 3.5rem; }
.home-ending-copy h2 { max-width:10ch; margin:0 0 1.5rem; font-family:var(--display); font-size:clamp(3rem,12vw,6.5rem); font-weight:400; line-height:.84; letter-spacing:-.065em; }

/* Privacy-safe product view */
.interface-window { min-height:27rem; display:grid; grid-template-columns:5.4rem 1fr; overflow:hidden; border:1px solid rgba(30,26,23,.35); background:var(--paper); color:var(--ink); box-shadow:.65rem .7rem 0 var(--coral); }
.interface-sidebar { padding:1rem .6rem; display:flex; flex-direction:column; gap:.3rem; color:var(--paper); background:var(--navy); }
.interface-brand { margin-bottom:1rem; font-family:var(--display); font-size:1.55rem; line-height:.8; }
.interface-sidebar span { padding:.48rem .38rem; font-size:.55rem; font-weight:700; letter-spacing:.05em; }
.interface-sidebar span.active { color:var(--ink); background:var(--mustard); box-shadow:.22rem .22rem 0 var(--coral); }
.interface-canvas { padding:1rem; overflow:hidden; background:var(--paper); }
.interface-topline { display:flex; justify-content:space-between; gap:1rem; font-family:var(--mono); font-size:.56rem; letter-spacing:.08em; text-transform:uppercase; }
.interface-title { max-width:10ch; margin:1.3rem 0 1rem; font-family:var(--display); font-size:clamp(2rem,7vw,4.6rem); line-height:.85; letter-spacing:-.055em; }
.interface-lede { max-width:32rem; font-size:.82rem; }
.interface-stack { margin-top:1.2rem; display:grid; gap:.6rem; }
.interface-card { padding:.8rem; display:grid; grid-template-columns:.7rem 1fr auto; gap:.65rem; align-items:center; border:1px solid var(--rule); background:var(--paper-white); box-shadow:.2rem .22rem 0 rgba(30,26,23,.12); }
.interface-card i { width:.7rem; height:.7rem; border-radius:50%; background:var(--coral); }
.interface-card:nth-child(2) i { background:var(--green); }
.interface-card:nth-child(3) i { background:var(--pink); }
.interface-card strong { font-size:.72rem; }
.interface-card small { font-family:var(--mono); font-size:.53rem; text-transform:uppercase; }

/* Shared page architecture */
.page-hero { padding-block:clamp(3.8rem,9vw,7.5rem); }
.page-hero-grid { display:grid; gap:2rem; }
.page-hero h1 { max-width:11ch; margin:0; font-family:var(--display); font-size:clamp(3.7rem,13vw,9rem); font-weight:400; line-height:.79; letter-spacing:-.075em; }
.page-hero-copy { max-width:37rem; align-self:end; }
.page-hero-copy>p:first-child { margin-top:0; font-size:clamp(1.05rem,2vw,1.35rem); }
.stat-rule { margin-top:1.5rem; padding-top:1rem; border-top:1px solid currentColor; font-family:var(--mono); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }

/* Work */
.work-feature { padding-block:clamp(3.5rem,7vw,6.5rem); overflow:hidden; }
.work-feature-meta { margin-bottom:2rem; display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem 2rem; }
.work-feature-meta p { margin:0; }
.work-feature-grid { display:grid; gap:2rem; }
.work-feature-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; }
.work-feature-copy h2 { margin:0; font-family:var(--display); font-size:clamp(5rem,24vw,11rem); line-height:.7; letter-spacing:-.1em; }
.work-feature-copy .kicker { max-width:20ch; margin:1.25rem 0; font-family:var(--display); font-size:clamp(2rem,6vw,3.3rem); line-height:.94; }
.work-gallery-section { padding-block:clamp(4rem,8vw,7rem); background:var(--paper); }
.work-gallery-heading { margin-bottom:2rem; display:flex; align-items:end; justify-content:space-between; gap:1rem; }
.work-gallery-controls { display:flex; gap:.5rem; }
.work-gallery-controls button { width:3.1rem; height:3.1rem; border:1px solid var(--ink); border-radius:50%; background:var(--paper); font-size:1.2rem; cursor:pointer; }
.work-gallery-controls button:disabled { opacity:.25; }
.work-rail { width:calc(100vw - var(--gutter)); margin-right:calc(var(--gutter)*-1); padding:.3rem var(--gutter) 1.2rem 0; display:flex; gap:1rem; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; }
.work-card { flex:0 0 min(82vw,24rem); display:flex; flex-direction:column; scroll-snap-align:start; border:1px solid var(--ink); background:var(--paper); box-shadow:.4rem .45rem 0 rgba(30,26,23,.15); }
.work-card:nth-child(2) { background:#f2b6c8; transform:rotate(.55deg); }
.work-card:nth-child(3) { background:#bfdbea; transform:rotate(-.55deg); }
.work-card-visual { height:18rem; overflow:hidden; background:var(--paper-deep); }
.work-card-visual img { width:100%; height:100%; object-fit:cover; }
.work-card-copy { min-height:21rem; padding:1.35rem; display:flex; flex-direction:column; align-items:flex-start; }
.work-card-copy h3 { margin:0 0 .8rem; font-family:var(--display); font-size:clamp(2.1rem,7vw,3.3rem); line-height:.9; }
.work-card-copy .work-note-button { margin-top:auto; }
.gallery-hint { font-family:var(--mono); font-size:.63rem; letter-spacing:.08em; text-transform:uppercase; }
.publication-note { padding-block:clamp(3.5rem,7vw,6rem); }
.publication-grid { display:grid; gap:1.5rem; }

/* Service index */
.service-index-section { padding-block:clamp(3.8rem,8vw,6.5rem); background:var(--paper); }
.service-index-heading { margin-bottom:2rem; display:grid; gap:1rem; }
.service-index-heading h2 { margin:0; }
.service-index { border-top:1px solid var(--ink); }
.service-entry { color:var(--ink); border-bottom:1px solid var(--ink); }
.service-entry--custom { color:var(--paper); background:var(--ink); }
.service-entry--intensive { background:#f2b6c8; }
.service-entry--audit { background:#bfdbea; }
.service-entry summary { position:relative; min-height:15rem; padding:1.35rem; display:grid; align-content:space-between; gap:1rem; list-style:none; cursor:pointer; }
.service-entry summary::-webkit-details-marker { display:none; }
.service-entry-number { font-family:var(--display); font-size:4.8rem; font-weight:700; line-height:.7; letter-spacing:-.1em; }
.service-entry-title { display:grid; gap:.65rem; }
.service-entry-title .eyebrow { margin:0; }
.service-entry-title strong { max-width:17ch; font-family:var(--display); font-size:clamp(2rem,7vw,3.6rem); line-height:.9; }
.service-entry-price { display:grid; gap:.1rem; font-family:var(--mono); font-size:.67rem; letter-spacing:.07em; text-transform:uppercase; }
.service-entry-price b { font-family:var(--display); font-size:2rem; text-transform:none; }
.service-entry-action { justify-self:end; font-family:var(--mono); font-size:.65rem; text-transform:uppercase; }
.service-entry-action::after { margin-left:.5rem; content:'+'; font-family:var(--sans); font-size:1.2rem; }
.service-entry[open] .service-entry-action::after { content:'−'; }
.service-panel { padding:1.7rem 1.35rem 2.4rem; display:grid; gap:1.5rem; border-top:1px solid currentColor; background:rgba(255,250,241,.94); color:var(--ink); }
.service-deliverables { margin:0; padding:0; list-style:none; border-top:1px solid currentColor; }
.service-deliverables li { position:relative; padding:.75rem .1rem .75rem 1.5rem; border-bottom:1px solid rgba(30,26,23,.25); }
.service-deliverables li::before { position:absolute; left:.1rem; content:'↳'; font-weight:700; }
.process-line { margin:2rem 0 0; padding:0; display:grid; list-style:none; border-top:1px solid var(--ink); }
.process-line li { padding:1.15rem 0; display:grid; grid-template-columns:3rem 1fr; gap:.2rem 1rem; border-bottom:1px solid rgba(30,26,23,.35); }
.process-line span { grid-row:1/span 2; font-family:var(--mono); font-size:.65rem; }
.process-line strong { font-family:var(--display); font-size:1.6rem; line-height:1; }
.process-line p { margin:0; }

/* Studio */
.studio-intro { display:grid; gap:2rem; align-items:center; }
.founder-art { min-height:26rem; position:relative; overflow:hidden; background:var(--green); box-shadow:.55rem .6rem 0 var(--mustard); }
.founder-art img { position:absolute; width:124%; max-width:none; height:124%; left:-12%; top:-12%; object-fit:cover; object-position:38% center; mix-blend-mode:luminosity; filter:saturate(.75) contrast(1.04); }
.founder-art::after { position:absolute; inset:auto 1rem 1rem auto; padding:.4rem .55rem; content:'Studio-owned collage / no portrait used'; color:var(--ink); background:var(--paper); font-family:var(--mono); font-size:.57rem; letter-spacing:.07em; text-transform:uppercase; }
.studio-copy h2 { margin-bottom:1.25rem; }
.principle-grid { display:grid; border-top:1px solid var(--paper); }
.principle { padding:1.1rem 0; display:grid; grid-template-columns:3rem 1fr; gap:1rem; border-bottom:1px solid rgba(255,250,241,.35); }
.principle span { font-family:var(--mono); font-size:.65rem; }
.principle h3 { margin:0 0 .25rem; font-family:var(--display); font-size:1.7rem; }
.principle p { margin:0; }
.salal-note { display:grid; background:var(--paper); }
.salal-note-art { height:20rem; overflow:hidden; }
.salal-note-art img { width:100%; height:100%; object-fit:cover; object-position:56% center; }
.salal-note-copy { padding:2.5rem var(--gutter) 3rem; }
.salal-note-copy h2 { max-width:10ch; margin:0 0 1rem; font-family:var(--display); font-size:clamp(2.8rem,11vw,5.5rem); line-height:.86; }

/* Software */
.software-story { display:grid; gap:2.5rem; }
.software-thesis h2 { margin-bottom:1rem; }
.product-tabs { border:1px solid var(--ink); background:var(--paper); box-shadow:.65rem .7rem 0 var(--coral); }
.tab-list { display:flex; overflow-x:auto; border-bottom:1px solid var(--ink); background:var(--navy); color:var(--paper); }
.tab-list button { min-height:3rem; padding:.7rem 1rem; flex:1 0 auto; border:0; border-right:1px solid rgba(255,255,255,.25); background:transparent; color:inherit; font-family:var(--mono); font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.tab-list button[aria-selected='true'] { color:var(--ink); background:var(--mustard); }
.tab-panel { padding:1rem; }
.tab-panel[hidden] { display:none; }
.product-screen { min-height:24rem; display:grid; grid-template-columns:4.7rem 1fr; background:var(--paper-deep); }
.product-side { padding:.8rem .45rem; display:grid; align-content:start; gap:.45rem; color:var(--paper); background:var(--navy); }
.product-side b { margin-bottom:.8rem; font-family:var(--display); font-size:1.3rem; }
.product-side span { font-size:.5rem; text-transform:uppercase; }
.product-main { padding:1rem; }
.product-main h3 { max-width:12ch; margin:.8rem 0; font-family:var(--display); font-size:clamp(2rem,7vw,3.7rem); line-height:.86; }
.product-main>p { max-width:32rem; font-size:.78rem; }
.product-list { display:grid; gap:.55rem; margin-top:1rem; }
.product-item { padding:.7rem; display:grid; grid-template-columns:.7rem 1fr auto; gap:.6rem; border:1px solid var(--rule); background:var(--paper-white); }
.product-item i { width:.65rem; height:.65rem; margin-top:.25rem; border-radius:50%; background:var(--green); }
.product-item strong { font-size:.72rem; }
.product-item small { font-family:var(--mono); font-size:.5rem; text-transform:uppercase; }
.privacy-label { margin:.8rem 0 0; font-family:var(--mono); font-size:.58rem; letter-spacing:.08em; text-transform:uppercase; }
.connection-grid { display:grid; border-top:1px solid var(--ink); }
.connection-item { padding:1.1rem 0; display:grid; grid-template-columns:3rem 1fr; gap:1rem; border-bottom:1px solid rgba(30,26,23,.35); }
.connection-item span { font-family:var(--mono); font-size:.65rem; }
.connection-item h3 { margin:0; font-family:var(--display); font-size:1.65rem; }
.connection-item p { margin:.3rem 0 0; }

/* Inquiry and footer refinements */
.inquiry-layout { gap:2.5rem; }
.inquiry-form { border-color:var(--ink); box-shadow:.5rem .55rem 0 var(--mustard); }
.field input,.field select,.field textarea { border-color:var(--ink); border-radius:0; background:var(--paper-white); color:var(--ink); }
.site-footer { background:var(--ink); }
.footer-inner { padding-block:3rem 2rem; }
.footer-wordmark { font-size:clamp(3rem,10vw,6.5rem); }
.project-dialog { border-color:var(--ink); }

@media (min-width:44rem) {
  .practice-matrix { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .evidence-row { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .offer-row { grid-template-columns:3rem minmax(0,1fr) 13rem 2rem; align-items:center; gap:1rem; }
  .offer-row .offer-price { justify-self:end; text-align:right; }
  .service-entry summary { grid-template-columns:6rem minmax(0,1fr); }
  .service-entry-number { grid-row:1/span 2; }
  .service-entry-price { grid-column:2; }
  .service-entry-action { position:absolute; right:1.35rem; bottom:1.2rem; }
  .service-panel { grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem; }
  .principle-grid { grid-template-columns:repeat(2,minmax(0,1fr)); border-left:1px solid var(--paper); }
  .principle { padding:1rem; border-right:1px solid var(--paper); }
}

@media (max-width:43.999rem) {
  .home-hero-art,.home-hero-art img { min-height:12rem; }
  .home-hero-copy { padding-block:2rem 2.5rem; }
  .home-hero-copy h1 { font-size:clamp(3.25rem,14vw,4.4rem); }
  .proof-index { padding-block:3rem; }
  .proof-feature .interface-window { min-height:20rem; }
  .evidence-row { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .evidence-item { min-height:9rem; padding:.75rem; display:flex; flex-direction:column; gap:.55rem; }
  .evidence-number { font-size:2rem; }
  .evidence-item strong { font-size:1.05rem; }
  .evidence-item small { margin-top:auto; font-size:.48rem; }
  .practice-matrix { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .practice-intro { margin-bottom:1.5rem; }
  .practice-intro+.practice-matrix { margin-top:0; }
  .practice-cell { min-height:8rem; padding:1rem; }
  .practice-cell h3 { margin-top:1rem; font-size:1.55rem; }
  .practice-cell p { display:none; }
  .practice-intro,.offer-index { font-size:.94rem; }
  .practice-intro>.kicker { font-size:1rem; }
  .home-ending-copy { padding-block:2.5rem 3rem; }
  main>.home-hero~.section { padding-block:3rem; }
  .offer-row { padding-block:.95rem; }
  .home-ending-art { height:12rem; }
  .home-ending-copy { padding-block:2rem 2.5rem; }
  .footer-inner { padding-block:2.2rem 1.4rem; }
  .footer-top { gap:1rem; }
  .footer-wordmark { font-size:2.8rem; }
  .footer-meta { margin-top:1.7rem; }
}

@media (max-width:61.999rem) {
  .work-card:nth-child(2),.work-card:nth-child(3) { transform:none; }
}

@media (min-width:62rem) {
  .header-inner { min-height:6.75rem; padding-block:1.1rem; }
  .wordmark-main { font-size:2.9rem; }
  .site-nav { background:transparent; }
  .site-nav a:hover,.site-nav a[aria-current='page'] { color:#fff; }
  .home-hero { min-height:min(52rem,calc(100svh - 6.75rem)); display:grid; grid-template-columns:minmax(28rem,.9fr) minmax(0,1.1fr); }
  .home-hero-copy { grid-column:1; grid-row:1; padding-left:max(var(--gutter),calc((100vw - var(--content))/2 + var(--gutter))); display:flex; flex-direction:column; justify-content:center; }
  .home-hero-art { grid-column:2; grid-row:1; min-height:100%; }
  .home-hero-art img { min-height:100%; object-position:center; }
  .home-hero-copy h1 { font-size:clamp(5.5rem,8.5vw,8.5rem); }
  .proof-heading { grid-template-columns:1.3fr .7fr; align-items:end; }
  .proof-feature { grid-template-columns:minmax(20rem,.65fr) minmax(0,1.35fr); align-items:center; gap:clamp(3rem,7vw,7rem); }
  .proof-feature-visual { grid-column:2; }
  .proof-feature-copy { grid-column:1; grid-row:1; }
  .practice-intro { display:grid; grid-template-columns:.75fr 1.25fr; align-items:end; gap:4rem; }
  .practice-matrix { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .practice-cell { min-height:17rem; }
  .home-ending { min-height:38rem; grid-template-columns:1.1fr .9fr; }
  .home-ending-art { height:auto; min-height:38rem; }
  .home-ending-copy { padding:5rem max(var(--gutter),calc((100vw - var(--content))/2 + var(--gutter))) 5rem var(--gutter); display:flex; flex-direction:column; justify-content:center; }
  .page-hero-grid { grid-template-columns:1.3fr .7fr; align-items:end; gap:clamp(3rem,8vw,8rem); }
  .work-feature-grid { grid-template-columns:.6fr 1.4fr; align-items:stretch; gap:clamp(3rem,7vw,7rem); }
  .work-feature .interface-window { min-height:38rem; }
  .work-rail { width:auto; margin:0; padding:.3rem .6rem .8rem 0; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:1.3rem; overflow:visible; scroll-snap-type:none; }
  .work-card:nth-child(1) { grid-column:span 5; }.work-card:nth-child(2) { grid-column:span 3; }.work-card:nth-child(3) { grid-column:span 4; }
  .work-card:nth-child(1) .work-card-visual { height:25rem; }.work-card:nth-child(2) .work-card-visual { height:19rem; }.work-card:nth-child(3) .work-card-visual { height:22rem; }
  .work-gallery-controls,.gallery-hint { display:none; }
  .publication-grid { grid-template-columns:1.3fr .7fr; align-items:center; gap:5rem; }
  .service-index-heading { grid-template-columns:1.4fr .6fr; align-items:end; gap:4rem; }
  .service-entry summary { min-height:11.5rem; padding:1.5rem 1.8rem; grid-template-columns:7rem 1.5fr .55fr auto; align-items:center; }
  .service-entry-number { grid-row:auto; }.service-entry-price { grid-column:auto; }.service-entry-action { position:static; }
  .service-panel { padding:2.3rem 9rem 3rem; }
  .studio-intro { grid-template-columns:.75fr 1.25fr; gap:clamp(3rem,8vw,8rem); }
  .salal-note { grid-template-columns:1.15fr .85fr; min-height:34rem; }.salal-note-art { height:auto; }
  .salal-note-copy { padding:4rem max(var(--gutter),calc((100vw - var(--content))/2 + var(--gutter))) 4rem var(--gutter); display:flex; flex-direction:column; justify-content:center; }
  .software-story { grid-template-columns:.72fr 1.28fr; align-items:center; gap:clamp(3rem,8vw,8rem); }
  .connection-grid { grid-template-columns:repeat(4,minmax(0,1fr)); border-left:1px solid var(--ink); }
  .connection-item { padding:1.1rem; display:block; border-right:1px solid var(--ink); }.connection-item span { display:block; margin-bottom:3rem; }
}

/* Focused homepage editorial pass */
.proof-heading { align-items:end; }
.proof-heading .text-link { color:var(--paper); align-self:end; }
.evidence-item { grid-template-columns:2.6rem minmax(0,1fr); min-height:0; align-content:start; gap:.65rem 1rem; }
.evidence-thumb { grid-column:1/-1; width:100%; height:clamp(11rem,21vw,17rem); object-fit:cover; display:block; margin-bottom:.5rem; }
.evidence-item strong { align-self:center; }
.evidence-item small { margin-top:.35rem; }
.home-offers { padding-block:clamp(2.8rem,6vw,5rem); }
.home-offers-heading { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:1rem; margin-bottom:1.35rem; }
.home-offers-heading h2 { margin:0; font-family:var(--display); font-size:clamp(2rem,4vw,3.3rem); font-weight:400; letter-spacing:-.04em; }
.home-ending-copy h2 { max-width:15ch; font-size:clamp(2.6rem,7vw,5rem); line-height:.93; }
.home-ending-copy { display:flex; flex-direction:column; justify-content:center; }
.home-ending-copy .button { align-self:flex-start; }
@media (min-width:760px) { .evidence-row { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:759px) { .evidence-row { grid-template-columns:1fr; } .evidence-item { grid-template-columns:2.8rem 1fr; } .evidence-thumb { height:13rem; } }

/* Keep the approved hero line readable in intentional phrases, not single-word stacks. */
@media (min-width:62rem) {
  .home-hero-copy h1 { max-width:13ch; font-size:clamp(4.5rem,6.25vw,6.8rem); line-height:.88; letter-spacing:-.065em; }
}
@media (max-width:43.999rem) {
  .home-hero-copy h1 { max-width:12ch; line-height:.88; letter-spacing:-.06em; }
}

/* Homepage: image-led cover; original image stays intact and copy remains live HTML. */
.home-hero--cover { position:relative; isolation:isolate; display:grid; min-height:clamp(40rem,78svh,55rem); background:var(--paper); }
.home-hero--cover .home-hero-art { position:absolute; inset:0; min-height:0; z-index:-1; }
.home-hero--cover .home-hero-art img { width:100%; height:100%; min-height:0; object-fit:cover; object-position:center; }
.home-hero--cover .home-hero-copy { position:relative; width:min(100%,50rem); padding:clamp(3rem,7vw,6rem) var(--gutter); align-self:center; background:linear-gradient(90deg,rgba(255,250,241,.96),rgba(255,250,241,.88) 78%,rgba(255,250,241,0)); }
.home-hero--cover .home-hero-copy h1 { max-width:12ch; font-size:clamp(3.4rem,7vw,7rem); line-height:.87; }
.home-hero--cover .home-hero-copy .kicker { max-width:33rem; }
@media (min-width:62rem) {
  .home-hero--cover { display:grid; grid-template-columns:1fr; min-height:clamp(42rem,80svh,56rem); }
  .home-hero--cover .home-hero-art { grid-column:1; grid-row:1; }
  .home-hero--cover .home-hero-copy { grid-column:1; grid-row:1; margin:0; justify-content:center; padding-left:max(var(--gutter),calc((100vw - var(--content))/2 + var(--gutter))); }
  .home-hero--cover .home-hero-copy h1 { font-size:clamp(4.4rem,6.5vw,6.8rem); }
}
@media (max-width:61.999rem) {
  .home-hero--cover { min-height:0; }
  .home-hero--cover .home-hero-art { position:relative; height:clamp(15rem,53vw,29rem); grid-row:1; z-index:auto; }
  .home-hero--cover .home-hero-copy { grid-row:2; background:var(--paper); padding-block:2.5rem 3.5rem; }
  .home-hero--cover .home-hero-copy h1 { max-width:12ch; }
}


/* Optional service-process disclosure: keep the index short without hiding details from assistive technology. */
.process-disclosure { border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.process-disclosure > summary { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; padding:1.25rem 0; cursor:pointer; list-style:none; }
.process-disclosure > summary::-webkit-details-marker { display:none; }
.process-disclosure > summary strong { display:block; margin-top:.35rem; font-family:var(--display); font-weight:400; font-size:clamp(1.65rem,3.5vw,2.5rem); line-height:1.1; }
.process-disclosure > summary > span:last-child { font-family:var(--mono); font-size:.75rem; text-align:right; }
.process-disclosure > summary:focus-visible { outline:3px solid var(--coral); outline-offset:4px; }
.process-disclosure[open] > summary { margin-bottom:1rem; }
.process-disclosure .process-line { padding-bottom:1.75rem; }
@media(max-width:40rem) { .process-disclosure > summary { align-items:flex-start; } .process-disclosure > summary > span:last-child { max-width:7rem; } }

/* Approved Studio Salal Slopes wordmark: preserve original artwork and proportions. */
.wordmark { display:inline-flex; align-items:center; flex-shrink:0; max-width:min(52vw,19rem); }
.wordmark-image { display:block; width:clamp(9.5rem,20vw,18rem); max-width:100%; height:auto; filter:invert(1); }
@media (max-width:40rem) {
  .wordmark { max-width:calc(100vw - 8rem); }
  .wordmark-image { width:clamp(9rem,41vw,14rem); }
}


/* Approved homepage contrast and pacing refinements. */
.home-hero--cover { min-height:clamp(36rem,68svh,46rem); background:#171b19; }
.home-hero--cover .home-hero-art { z-index:0; }
.home-hero--cover .home-hero-art::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(13,17,18,.79),rgba(13,17,18,.58) 43%,rgba(13,17,18,.18)); }
.home-hero--cover .home-hero-copy { z-index:1; color:#fffdf8; background:none; padding-block:clamp(2rem,4vw,3.5rem); }
.home-hero--cover .home-hero-copy h1 { font-size:clamp(3.1rem,6vw,6rem); line-height:.9; }
.home-hero--cover .home-hero-copy h1 em,.home-hero--cover .home-hero-copy .eyebrow { color:#fffdf8; }
.home-hero--cover .home-hero-copy .button.secondary { color:#fffdf8; border-color:#fffdf8; background:rgba(12,21,28,.3); }
.proof-index { padding-block:clamp(2.75rem,5vw,4.5rem); }
.proof-heading { margin-bottom:1.5rem; }
.evidence-row { margin-top:1.65rem; }
@media(min-width:62rem) {
 .home-hero--cover { min-height:clamp(36rem,68svh,46rem); }
 .home-hero--cover .home-hero-copy h1 { font-size:clamp(4rem,5.7vw,6rem); }
 .home-ending { min-height:29rem; }
 .home-ending-art { min-height:29rem; }
 .home-ending-copy { padding-block:3rem; }
}
@media(max-width:61.999rem) {
 .home-hero--cover { min-height:clamp(36rem,86svh,46rem); }
 .home-hero--cover .home-hero-art { position:absolute; inset:0; height:auto; z-index:0; }
 .home-hero--cover .home-hero-art img { height:100%; object-position:65% center; }
 .home-hero--cover .home-hero-copy { grid-row:auto; align-self:center; background:none; padding-block:2rem; }
 .home-hero--cover .home-hero-copy h1 { font-size:clamp(3rem,9vw,5rem); }
}
@media(max-width:40rem) {
 .home-hero--cover .home-hero-copy h1 { font-size:clamp(2.8rem,11vw,4.5rem); }
}


/* Editorial typography refinement: retain expressive display scale without oversized repetition. */
@media (min-width:62rem) {
 .home-hero--cover .home-hero-copy h1 { font-size:clamp(3.7rem,5vw,5.25rem); line-height:.94; }
 .mid-heading { font-size:clamp(2.15rem,4.6vw,3.9rem); line-height:1.02; }
 .page-hero h1 { font-size:clamp(3.7rem,6.6vw,7.4rem); line-height:.9; }
 .proof-feature-copy h2 { font-size:clamp(4.2rem,7vw,6.6rem); line-height:.88; }
 .work-feature-copy h2 { font-size:clamp(4.8rem,9vw,8.5rem); line-height:.85; }
 .offer-row strong { font-size:clamp(1.9rem,3.4vw,2.7rem); line-height:1.04; }
 .home-offers-heading h2 { font-size:clamp(2rem,3.5vw,2.9rem); }
 .home-ending-copy h2 { font-size:clamp(2.8rem,4.7vw,4.2rem); line-height:1.01; }
}
@media (max-width:61.999rem) {
 .mid-heading { font-size:clamp(2rem,5.2vw,3.3rem); line-height:1.02; }
 .page-hero h1 { font-size:clamp(3.1rem,10vw,5.2rem); line-height:.95; }
 .offer-row strong { font-size:clamp(1.75rem,4.8vw,2.6rem); line-height:1.04; }
}
@media (max-width:40rem) {
 .home-hero--cover .home-hero-copy h1 { font-size:clamp(2.65rem,10vw,4.25rem); line-height:.96; }
 .mid-heading { font-size:clamp(1.9rem,8vw,2.65rem); }
 .page-hero h1 { font-size:clamp(2.85rem,11vw,4.2rem); }
 .offer-row strong { font-size:clamp(1.7rem,7.5vw,2.25rem); }
}


/* Final approved interior-page pacing and hierarchy pass. */
@media (min-width:62rem) {
  .page-hero { padding-block:clamp(2.6rem,5vw,4.3rem); }
  .page-hero-grid { align-items:center; }
  .work-feature-copy .kicker { max-width:25rem; font-family:var(--sans); font-size:clamp(1.3rem,1.7vw,1.65rem); line-height:1.35; letter-spacing:normal; }
  .service-index-section { padding-block:clamp(2.75rem,4.5vw,4rem); }
  .service-index-heading { margin-bottom:1.5rem; }
  .service-index-heading h2 { font-size:clamp(2.2rem,3.4vw,3rem); }
  .service-entry summary { min-height:10.5rem; padding:1.25rem 1.6rem; gap:.8rem; }
  .service-entry-title strong { font-size:clamp(1.75rem,2.8vw,2.7rem); line-height:1.04; max-width:23ch; }
  .service-entry-number { font-size:3.7rem; }
  .salal-note-copy h2 { font-size:clamp(2.7rem,4.5vw,4rem); line-height:1.02; max-width:14ch; }
  .connection-item { padding:.8rem .65rem; }
  .work-gallery-section { padding-block:clamp(2.8rem,5vw,4.5rem); }
}
@media (max-width:61.999rem) {
  .page-hero { padding-block:clamp(2.75rem,6vw,4rem); }
  .work-feature-copy .kicker { font-family:var(--sans); font-size:clamp(1.2rem,3vw,1.6rem); line-height:1.4; letter-spacing:normal; }
  .service-index-section { padding-block:2.75rem; }
  .service-entry summary { min-height:0; }
  .service-entry-title strong { font-size:clamp(1.75rem,5vw,2.7rem); line-height:1.08; }
  .salal-note-copy h2 { font-size:clamp(2.6rem,7vw,3.7rem); line-height:1.04; }
}
@media (max-width:40rem) {
  .page-hero { padding-block:2.4rem; }
  .service-entry summary { padding:1.1rem; }
  .service-entry-title strong { font-size:clamp(1.65rem,7vw,2.15rem); }
}
.founder-art::after { content:none; display:none; }

/* Keep optimized picture wrappers identical to the original image boxes. */
.home-hero-art picture, .home-ending-art picture, .work-card-visual picture, .founder-art picture, .salal-note-art picture { display:block; width:100%; height:100%; }
