:root {
  --ink: #101025;
  --ink-2: #191938;
  --ivory: #f7f2e9;
  --paper: #fffaf2;
  --coral: #ff5678;
  --lime: #c8ff57;
  --blue: #5f73ff;
  --line: rgba(16, 16, 37, 0.18);
  --muted: #5f5b6d;
  --radius: 1.25rem;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background: var(--ivory);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.55;
}

a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

.skip-link {
  position: fixed;
  left: 1rem;
  top: -5rem;
  z-index: 50;
  background: var(--lime);
  color: var(--ink);
  padding: .75rem 1rem;
  font-weight: 800;
}
.skip-link:focus { top: 1rem; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: 4.75rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 2rem;
  padding: .9rem clamp(1.1rem, 4vw, 4rem);
  color: var(--ivory);
  background: rgba(16, 16, 37, .94);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(247,242,233,.16);
}

.wordmark {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  text-decoration: none;
  font-weight: 800;
  letter-spacing: -.02em;
}

.wordmark-mark {
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  color: var(--ink);
  background: var(--lime);
  border-radius: 50%;
  font-family: Georgia, serif;
  font-style: italic;
  font-size: 1.25rem;
}

nav { display: flex; gap: 1.6rem; }
nav a {
  color: rgba(247,242,233,.72);
  text-decoration: none;
  font-size: .9rem;
  font-weight: 650;
}
nav a:hover, nav a:focus-visible { color: var(--lime); }

.header-contact {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .65rem 1rem;
  border-radius: 999px;
  background: var(--lime);
  color: var(--ink);
  font-size: .875rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}
.header-contact:hover { background: var(--ivory); }
.header-contact:focus-visible { outline: 2px solid var(--ivory); outline-offset: 4px; }

.portfolio-label {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-size: .82rem;
  color: rgba(247,242,233,.72);
}

.hero {
  min-height: calc(100vh - 4.75rem);
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(22rem, .82fr);
  color: var(--ivory);
  background: var(--ink);
}

.hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(4.5rem, 8vw, 8rem) clamp(1.25rem, 6vw, 6.5rem);
}

.eyebrow, .kicker, .case-label, .signal-label, .case-result span, .void-response span {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: .75rem;
  font-weight: 850;
}

.eyebrow { color: var(--lime); }

h1, h2, h3, p { margin-top: 0; }
h1, h2 { letter-spacing: -.055em; line-height: .96; }

h1 {
  max-width: 15ch;
  margin: 1.3rem 0 1.8rem;
  font-size: clamp(3.8rem, 8vw, 8.3rem);
  font-weight: 760;
}

h1 em {
  color: var(--coral);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
}

.hero-lede {
  max-width: 39rem;
  margin-bottom: .7rem;
  font-size: clamp(1.35rem, 2.1vw, 2rem);
  line-height: 1.25;
  letter-spacing: -.025em;
}

.hero-role { color: rgba(247,242,233,.8); }
.hero-void-intro { max-width: 38rem; margin-top: .6rem; padding-left: 1rem; border-left: 3px solid var(--lime); }
.hero-void-intro .hero-void-label { margin: 0 0 .5rem; color: var(--lime); font-size: .95rem; font-weight: 800; }
.hero-void-intro > p:last-child { margin: 0; color: rgba(247,242,233,.82); font-size: 1rem; line-height: 1.5; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.25rem; }
#void-app { scroll-margin-top: 6rem; }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  min-height: 3.25rem;
  padding: .8rem 1.2rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 800;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--lime); color: var(--ink); border-color: var(--lime); }
.button-primary:hover { background: var(--coral); border-color: var(--coral); }
.button-quiet { color: var(--ivory); border-color: rgba(247,242,233,.35); }
.button-quiet:hover { border-color: var(--ivory); }

.hero-panel {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
  padding: clamp(2rem, 4vw, 4rem);
  background-color: var(--blue);
  background-image: linear-gradient(rgba(16,16,37,.2), rgba(16,16,37,.2)), url("./assets/complexity-to-clarity.png");
  background-size: cover;
  background-position: center;
  border-left: 1px solid rgba(247,242,233,.2);
}

.panel-topline { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; font-size: .72rem; font-weight: 850; letter-spacing: .12em; }
.signal-card {
  padding: 1.45rem;
  background: var(--paper);
  color: var(--ink);
  border: 2px solid var(--ink);
  border-radius: .25rem 1.5rem .25rem .25rem;
  box-shadow: .6rem .6rem 0 var(--ink);
  transform: rotate(-1.5deg);
}
.signal-card p { margin: .6rem 0 0; font-size: clamp(1.1rem, 1.5vw, 1.35rem); line-height: 1.3; font-weight: 700; letter-spacing: -.02em; }
.signal-card-output { background: var(--lime); border-radius: .25rem .25rem .25rem 1.5rem; transform: rotate(1.2deg); }
.signal-path { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .7rem; font-size: .75rem; letter-spacing: .08em; }
.signal-path span { height: 2px; background: var(--ink); }
.panel-note { margin: .8rem 0 0; text-align: right; font-family: Georgia, serif; font-style: italic; }

.work-paths { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 2rem; padding: 1.1rem clamp(1.25rem, 6vw, 6.5rem); border-bottom: 1px solid var(--line); }
.work-paths > span { margin-right: auto; font: 800 .75rem/1.4 ui-monospace, monospace; text-transform: uppercase; letter-spacing: .08em; }
.work-paths a { display: inline-flex; align-items: center; gap: .7rem; min-height: 2.75rem; font-weight: 750; text-decoration-thickness: 1px; text-underline-offset: .3rem; }
.work-section .proof-strip { margin-bottom: 2rem; border-top: 1px solid var(--line); }
.proof-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--line);
}
.proof-strip article { padding: 1.6rem clamp(1rem, 3vw, 2.5rem); border-right: 1px solid var(--line); }
.proof-strip article:last-child { border-right: 0; }
.proof-strip strong { display: block; font-family: Georgia, serif; font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1; color: var(--blue); }
.proof-strip span { display: block; margin-top: .45rem; color: var(--muted); font-size: .85rem; }

.section { padding: clamp(5rem, 10vw, 9rem) clamp(1.25rem, 6vw, 6.5rem); }
.section-heading { display: grid; grid-template-columns: 1fr 1.5fr; column-gap: 4rem; align-items: end; margin-bottom: 3rem; }
.section-heading .kicker { grid-column: 1 / -1; margin-bottom: 1rem; color: var(--coral); }
.section-heading h2, .system-intro h2, .void-copy h2, .lab-section h2, .closing h2 { margin: 0; font-size: clamp(3rem, 6vw, 6rem); }
.section-heading > p:last-child { margin: 0; max-width: 36rem; color: var(--muted); font-size: 1.12rem; }

.case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.case-card {
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(1.5rem, 3vw, 2.8rem);
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}
.case-featured { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem 3rem; background: var(--coral); }
.case-dark { color: var(--ivory); background: var(--ink-2); }
.case-number { position: absolute; top: 1.1rem; right: 1.4rem; font-family: Georgia, serif; font-size: 3.7rem; line-height: 1; opacity: .22; }
.case-label { color: currentColor; opacity: .8; padding-right: 2.5rem; font-size: .875rem; letter-spacing: .08em; }
.case-card h3 { max-width: 24ch; margin: 1.3rem 0 1rem; font-size: clamp(1.8rem, 2.6vw, 2.6rem); line-height: 1.08; letter-spacing: -.035em; }
.case-card > p:not(.case-label), .case-content > p:not(.case-label) { max-width: 43rem; font-size: 1.05rem; }
.case-content { display: flex; flex-direction: column; }
.case-featured h3 { font-size: clamp(2rem, 3.1vw, 3.1rem); }
.case-content .case-intent { margin: 0; font-weight: 750; }
.system-evidence { align-self: start; padding: 1.4rem; border: 1px solid rgba(16,16,37,.25); border-radius: .8rem; background: rgba(255,250,242,.2); }
.system-evidence h4 { margin: 0 0 .5rem; font-size: 1.1rem; }
.evidence-list { margin: 0; }
.evidence-list > div { padding: .8rem 0; border-top: 1px solid rgba(16,16,37,.2); }
.evidence-list > div:last-child { padding-bottom: 0; }
.evidence-list dt { font-weight: 750; }
.evidence-list dd { margin: .2rem 0 0; font-size: 1rem; line-height: 1.4; }
.engagement-proof { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; border-top: 1px solid rgba(16,16,37,.4); padding-top: 1.4rem; }
.engagement-proof strong { display: block; font-size: clamp(2rem, 3vw, 3rem); line-height: 1; letter-spacing: -.04em; }
.engagement-proof span { display: block; margin-top: .5rem; font-size: .95rem; line-height: 1.45; }
.engagement-proof > p { margin: 0; font-size: .875rem; line-height: 1.5; }
.case-card:not(.case-featured) .case-result { margin-top: auto; }
.case-result { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; padding-top: 1.2rem; margin-top: 2rem; border-top: 1px solid currentColor; }
.case-result strong { max-width: 15rem; text-align: right; line-height: 1.2; }

.system-section { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(3rem, 8vw, 8rem); background: var(--lime); }
.system-intro { position: sticky; top: 7rem; align-self: start; }
.system-intro .kicker { margin-bottom: 1rem; }
.system-intro p:last-child { max-width: 26rem; margin-top: 1.5rem; font-size: 1.15rem; }
.system-body { min-width: 0; }
.pattern-story { margin: 0 0 4rem; padding: clamp(1.1rem, 2.5vw, 2rem); color: var(--ivory); background: var(--ink); border-radius: var(--radius); box-shadow: 1rem 1rem 0 var(--coral); }
.pattern-story figcaption { display: grid; grid-template-columns: .72fr 1.28fr; gap: 1.5rem; align-items: end; padding-bottom: 1.2rem; border-bottom: 1px solid rgba(247,242,233,.24); }
.pattern-story figcaption span, .story-index { font: 800 .7rem/1.3 ui-monospace, monospace; letter-spacing: .1em; }
.pattern-story figcaption span { color: var(--lime); }
.pattern-story figcaption strong { font-family: Georgia, serif; font-size: clamp(1.2rem, 2vw, 1.7rem); line-height: 1.15; }
.story-steps { display: grid; grid-template-columns: repeat(2, 1fr); }
.story-steps article { min-height: 15rem; padding: 1.35rem; border-right: 1px solid rgba(247,242,233,.18); border-bottom: 1px solid rgba(247,242,233,.18); }
.story-steps article:nth-child(2n) { border-right: 0; }
.story-index { color: var(--coral); }
.story-steps h3 { margin: 2.4rem 0 .7rem; font-size: clamp(1.2rem, 2vw, 1.65rem); line-height: 1.1; letter-spacing: -.03em; }
.story-steps p { margin: 0; color: rgba(247,242,233,.62); font-size: .9rem; }
.story-steps .story-intervention { color: var(--ink); background: var(--lime); }
.story-intervention .story-index { color: var(--ink); }
.story-steps .story-intervention p { color: rgba(16,16,37,.72); }
.risk-track { display: grid; grid-template-columns: auto 1fr auto; gap: .8rem; align-items: center; padding-top: 1.4rem; color: rgba(247,242,233,.55); font: 750 .66rem/1 ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; }
.risk-line { position: relative; height: .25rem; background: linear-gradient(90deg, var(--lime), var(--coral)); }
.risk-line i { position: absolute; left: 58%; top: 50%; width: .9rem; height: .9rem; background: var(--lime); border: .2rem solid var(--ink); border-radius: 50%; transform: translate(-50%, -50%); box-shadow: 0 0 0 2px var(--lime); }
.risk-line b { position: absolute; left: 58%; bottom: .8rem; color: var(--lime); font-size: .62rem; white-space: nowrap; transform: translateX(-50%); }
.principles { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--ink); }
.principles li { display: grid; grid-template-columns: 4rem 1fr; gap: 1rem; padding: 2rem 0; border-bottom: 2px solid var(--ink); }
.principle-index { font-family: Georgia, serif; font-style: italic; font-size: 1.25rem; }
.principles h3 { margin-bottom: .35rem; font-size: clamp(1.5rem, 3vw, 2.7rem); line-height: 1.1; letter-spacing: -.035em; }
.principles p { margin: 0; font-size: 1.05rem; }

.void-section { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(3rem, 7vw, 7rem); color: var(--ivory); background: var(--ink); }
.void-copy .kicker { color: var(--coral); margin-bottom: 1rem; }
.void-copy > p:not(.kicker) { max-width: 30rem; margin-top: 1.8rem; color: rgba(247,242,233,.7); font-size: 1.08rem; }
.void-rules { margin: 2rem 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(247,242,233,.2); }
.void-rules li { padding: .75rem 0; color: rgba(247,242,233,.7); border-bottom: 1px solid rgba(247,242,233,.2); font-size: .92rem; }
.void-rules li::before { content: "↳"; margin-right: .65rem; color: var(--lime); }
.direct-contact { margin-top: 1.7rem !important; padding-top: 1.2rem; border-top: 1px solid rgba(247,242,233,.2); font-size: .92rem !important; }
.direct-contact a { color: var(--lime); font-weight: 800; text-underline-offset: .25em; }
.void-console { align-self: center; min-height: 35rem; border: 1px solid rgba(247,242,233,.32); border-radius: var(--radius); overflow: hidden; background: rgba(255,255,255,.035); box-shadow: 1.2rem 1.2rem 0 rgba(95,115,255,.22); }
.console-header { display: flex; justify-content: space-between; padding: .9rem 1.1rem; border-bottom: 1px solid rgba(247,242,233,.18); font: 750 .72rem/1 ui-monospace, monospace; letter-spacing: .08em; }
.console-status { color: var(--lime); }
.void-progress { height: .25rem; background: rgba(247,242,233,.1); }
.void-progress span { display: block; width: 16.66%; height: 100%; background: var(--lime); transition: width .28s ease; }
.void-stage { display: flex; min-height: 32.5rem; flex-direction: column; padding: clamp(1.4rem, 3vw, 2.2rem); }
.void-stage-copy { min-height: 8.2rem; }
.void-step, .result-stamp, .result-block span { display: block; margin-bottom: .65rem; color: var(--coral); font: 800 .72rem/1.2 ui-monospace, monospace; letter-spacing: .11em; }
.void-stage h3, .void-result h3 { margin: 0 0 .7rem; font-size: clamp(1.55rem, 2.8vw, 2.55rem); line-height: 1.08; letter-spacing: -.035em; }
.void-stage-copy p { margin: 0; color: rgba(247,242,233,.62); }
.void-field { display: grid; gap: .7rem; }
.void-choice {
  width: 100%;
  min-height: 3.6rem;
  padding: .9rem 1rem;
  text-align: left;
  color: var(--ivory);
  background: transparent;
  border: 1px solid rgba(247,242,233,.22);
  border-radius: .7rem;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.void-choice:hover, .void-choice:focus-visible, .void-choice.is-active { color: var(--ink); background: var(--lime); border-color: var(--lime); outline: none; }
.void-choice small { display: block; margin-top: .2rem; font-weight: 500; opacity: .65; }
.void-field textarea {
  width: 100%;
  min-height: 8rem;
  resize: vertical;
  padding: 1rem;
  color: var(--ivory);
  caret-color: var(--lime);
  background: rgba(247,242,233,.06);
  border: 1px solid rgba(247,242,233,.28);
  border-radius: .7rem;
  font: inherit;
  line-height: 1.5;
}
.void-field textarea::placeholder { color: rgba(247,242,233,.38); }
.void-field textarea:focus { border-color: var(--lime); outline: 2px solid rgba(200,255,87,.18); }
.void-error { min-height: 1.4rem; margin: .6rem 0 0; color: var(--coral); font-size: .86rem; }
.void-actions { display: flex; justify-content: space-between; gap: .8rem; margin-top: auto; padding-top: 1rem; }
.console-button { min-height: 3.1rem; padding: .75rem 1rem; color: var(--ivory); background: transparent; border: 1px solid rgba(247,242,233,.28); border-radius: 999px; font: inherit; font-weight: 800; cursor: pointer; }
.console-button:hover, .console-button:focus-visible { border-color: var(--ivory); outline: none; }
.console-button-next { margin-left: auto; color: var(--ink); background: var(--lime); border-color: var(--lime); }
.console-button-next:hover, .console-button-next:focus-visible { background: var(--coral); border-color: var(--coral); }
.console-button-back[hidden] { display: none; }
.void-result { min-height: 32.5rem; padding: clamp(1.4rem, 3vw, 2.2rem); }
.void-result[hidden] { display: none; }
.result-context { margin: 0 0 1.4rem; color: rgba(247,242,233,.56); font-size: .88rem; }
.result-block { padding: 1.2rem; background: rgba(247,242,233,.06); border: 1px solid rgba(247,242,233,.18); border-radius: .8rem; }
.result-block p { margin: 0; }
.result-primary { margin-bottom: .8rem; color: var(--ink); background: var(--coral); border-color: var(--coral); }
.result-primary span { color: var(--ink); opacity: .7; }
.result-primary h3 { margin: 0; }
.result-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.result-move { color: var(--ink); background: var(--lime); border-color: var(--lime); }
.result-move span { color: var(--ink); opacity: .7; }
.result-caveat { margin: 1.2rem 0; color: rgba(247,242,233,.6); font-size: .88rem; }
.console-button-reset { width: 100%; }

.lab-section { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: start; background: var(--paper); }
.lab-section .kicker { margin-bottom: 1rem; color: var(--blue); }
.lab-intro > p:not(.kicker) { max-width: 34rem; margin-top: 1.5rem; font-size: 1.12rem; }
.lab-intro > p:last-child { color: var(--muted); }
.lab-portals { display: grid; gap: 1rem; }
.lab-portal { position: relative; display: block; min-height: 17rem; padding: clamp(1.5rem, 3vw, 2.6rem); color: var(--ink); border: 2px solid var(--ink); border-radius: var(--radius); text-decoration: none; box-shadow: .7rem .7rem 0 var(--ink); transition: transform .2s ease, box-shadow .2s ease; }
.lab-portal:hover { transform: translate(-.25rem, -.25rem); box-shadow: 1rem 1rem 0 var(--ink); }
.lab-portal-writing { background: var(--coral); }
.lab-portal-making { background: var(--lime); }
.lab-portal-voice { background: var(--blue); color: white; }
.lab-portal-index { font: 850 .72rem/1 ui-monospace, monospace; letter-spacing: .12em; }
.lab-portal strong { display: block; max-width: 12ch; margin-top: 2.4rem; font-size: clamp(2rem, 4vw, 3.5rem); line-height: .95; letter-spacing: -.05em; }
.lab-portal p { max-width: 32rem; margin: 1rem 0 2.5rem; font-size: 1rem; }
.lab-portal-link { position: absolute; left: clamp(1.5rem, 3vw, 2.6rem); bottom: 1.6rem; font-weight: 850; }

.closing { padding: clamp(5rem, 10vw, 9rem) clamp(1.25rem, 6vw, 6.5rem); color: var(--ink); background: var(--blue); }
.closing .kicker { margin-bottom: 1.2rem; }
.closing h2 { max-width: 17ch; color: var(--ivory); }
.closing .button { margin-top: 2.3rem; }
.closing-email { margin: 1.1rem 0 0; color: var(--ivory); font-size: .95rem; }
.closing-email a { font-weight: 800; text-underline-offset: .25em; }

footer { display: flex; justify-content: space-between; gap: 1rem; padding: 1.4rem clamp(1.25rem, 6vw, 6.5rem); color: rgba(247,242,233,.62); background: var(--ink); font-size: .82rem; }

.feedback-section { display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(2rem, 5vw, 5rem); background: var(--paper); }
.feedback-intro { max-width: 32rem; }
.feedback-intro .kicker { color: var(--blue); margin-bottom: 1rem; }
.feedback-intro > p { margin-top: 1.25rem; }
.feedback-form { display: grid; gap: .8rem; max-width: 44rem; min-width: 0; }
.feedback-form > label, .feedback-form legend { font-weight: 700; }
.feedback-form label span, .feedback-form legend span { font-weight: 400; }
.feedback-form input:not([type="checkbox"]):not([type="radio"]), .feedback-form textarea, .feedback-form select { width: 100%; min-width: 0; padding: .9rem 1rem; border: 1px solid var(--muted); border-radius: .5rem; color: var(--ink); background: white; font: inherit; font-size: 1rem; }
.feedback-form textarea { resize: vertical; }
.feedback-form fieldset { margin: .5rem 0; padding: 0; border: 0; }
.feedback-ratings { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; margin-top: .65rem; }
.feedback-ratings label { display: flex; align-items: center; gap: .45rem; min-height: 2.75rem; }
.feedback-form input[type="checkbox"], .feedback-form input[type="radio"] { width: 1.2rem; height: 1.2rem; flex-shrink: 0; accent-color: var(--blue); }
.feedback-consent { display: flex; align-items: flex-start; gap: .7rem; margin-top: .75rem; font-weight: 700; }
.feedback-note { font-size: .9rem; line-height: 1.6; color: var(--muted); }
.feedback-form .button { border: 1px solid var(--ink); justify-self: start; font: inherit; font-weight: 700; cursor: pointer; }
.feedback-form .button:disabled { opacity: .65; cursor: wait; }
.feedback-form :focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.feedback-form [hidden] { display: none; }
#feedback-status { min-height: 1.6rem; margin: 0; }
.result-feedback { margin: 1rem 0; }
.result-feedback a { color: var(--lime); text-underline-offset: .2em; }
.closing-copy { max-width: 38rem; margin-top: 1.5rem; color: var(--ivory); font-size: 1.2rem; }

@media (max-width: 900px) {
  .feedback-section { grid-template-columns: 1fr; }
  .site-header { grid-template-columns: 1fr auto; }
  nav { display: none; }
  .portfolio-label { display: none; }
  .hero { grid-template-columns: 1fr; }
  .hero-panel { min-height: 34rem; border-left: 0; border-top: 1px solid rgba(247,242,233,.2); }
  .proof-strip { grid-template-columns: repeat(2, 1fr); }
  .proof-strip article:nth-child(2) { border-right: 0; }
  .proof-strip article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .section-heading, .system-section, .void-section, .lab-section { grid-template-columns: 1fr; }
  .system-intro { position: static; }
  .case-featured { grid-template-columns: minmax(0, 1fr); }
  .engagement-proof { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .engagement-proof > p { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .site-header { min-height: 4.25rem; gap: .75rem; }
  .wordmark { font-size: .92rem; }
  .wordmark-mark { width: 2rem; height: 2rem; }
  .hero { min-height: auto; }
  .hero-copy { min-height: calc(100svh - 4.25rem); }
  h1 { font-size: clamp(3.4rem, 16vw, 5.5rem); }
  .hero-panel { padding: 2rem 1.25rem; }
  .proof-strip strong { font-size: 2rem; }
  .case-grid { grid-template-columns: 1fr; }
  .case-featured { gap: 1.4rem; }
  .engagement-proof { grid-template-columns: minmax(0, 1fr); }
  .case-result { align-items: start; flex-direction: column; }
  .case-result strong { text-align: left; }
  .pattern-story { box-shadow: .6rem .6rem 0 var(--coral); }
  .pattern-story figcaption, .story-steps { grid-template-columns: 1fr; }
  .pattern-story figcaption { align-items: start; }
  .story-steps article, .story-steps article:nth-child(2n) { min-height: 0; border-right: 0; }
  .story-steps h3 { margin-top: 1.4rem; }
  .risk-track { grid-template-columns: 1fr; gap: .6rem; }
  .risk-track > span:last-child { text-align: right; }
  .principles li { grid-template-columns: 3rem 1fr; }
  .void-console { min-height: 0; box-shadow: .6rem .6rem 0 rgba(95,115,255,.22); }
  .void-stage, .void-result { min-height: 36rem; }
  .void-stage-copy { min-height: 9.5rem; }
  .result-grid { grid-template-columns: 1fr; }
  footer { flex-direction: column; }
}

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

/* The Coin Toss: a listening-first sample using the portfolio's existing palette. */
.voice-stage { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); min-height: 76vh; padding: clamp(3rem, 7vw, 7rem) clamp(1.25rem, 6vw, 6.5rem); background: var(--ink); color: var(--ivory); }
.voice-heading .eyebrow { color: var(--lime); }
.voice-heading h1 { margin: 1.5rem 0; font-size: clamp(3.6rem, 8vw, 8rem); max-width: 9ch; }
.voice-heading h1 em { color: var(--coral); }
.voice-subtitle { max-width: 30rem; font-size: 1.1rem; }
.voice-player-card { min-width: 0; padding: clamp(1.5rem, 3vw, 3rem); border-radius: var(--radius); background: var(--lime); color: var(--ink); }
.voice-player-card h2 { margin: 1.5rem 0 1rem; font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.15; }
.voice-player-card .kicker { font-size: .875rem; }
.voice-player-card audio { display: block; width: 100%; margin: 2rem 0 1rem; }
.voice-note { font-size: .875rem; }
.voice-download { display: inline-block; padding: .75rem 0; font-weight: 700; }
.voice-newbie-note { max-width: 35rem; margin-top: 2rem; padding-left: 1.25rem; border-left: 3px solid var(--coral); }
.voice-newbie-note strong { color: var(--lime); font-size: 1.1rem; }
.voice-newbie-note p { margin: .6rem 0 0; color: var(--ivory); }
.voice-collaboration { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 2rem; padding: clamp(3rem, 6vw, 6rem) clamp(1.25rem, 6vw, 6.5rem); background: var(--coral); }
.voice-collaboration > div { max-width: 44rem; }
.voice-collaboration h2 { margin: 1rem 0; font-size: clamp(2rem, 4vw, 3.5rem); }
.voice-collaboration p { max-width: 38rem; }
@media (max-width: 900px) {
  .voice-stage { grid-template-columns: 1fr; }
}

/* The Lab: shared interior pages */
.interior-page { background: var(--paper); }
.interior-page nav a[aria-current="page"] { color: var(--lime); }
.interior-hero { min-height: calc(82vh - 4.75rem); display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(22rem, .94fr); color: var(--ivory); background: var(--ink); }
.interior-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 6vw, 6.5rem); }
.interior-hero h1 { max-width: 11ch; font-size: clamp(4rem, 8vw, 8rem); }
.interior-lede { max-width: 42rem; margin: 0; color: rgba(247,242,233,.74); font-size: clamp(1.18rem, 2vw, 1.7rem); line-height: 1.42; }
.shelf-heading { max-width: 62rem; margin-bottom: 3rem; }
.shelf-heading .kicker { margin-bottom: 1rem; color: var(--blue); }
.shelf-heading h2, .writing-process h2, .maker-process h2, .creative-crosslink h2 { margin: 0; font-size: clamp(3rem, 6vw, 6rem); }
.shelf-heading > p:last-child { max-width: 42rem; margin-top: 1.5rem; color: var(--muted); font-size: 1.12rem; }

.writing-hero { background: var(--ink); }
.writing-note { align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 5rem); color: var(--ink); background: var(--coral); border-left: 1px solid rgba(247,242,233,.2); }
.writing-note > span { font: 850 .75rem/1 ui-monospace, monospace; letter-spacing: .13em; }
.writing-note ul { margin: 2rem 0; padding: 0; list-style: none; border-top: 2px solid var(--ink); }
.writing-note li { padding: 1.1rem 0; border-bottom: 2px solid var(--ink); font-family: Georgia, serif; font-size: clamp(1.35rem, 2.6vw, 2.2rem); font-style: italic; line-height: 1.15; }
.writing-note p { margin: 0; font-weight: 750; }
.story-shelf { background: var(--ivory); }
.story-card { padding: clamp(1.5rem, 3.3vw, 3rem); border: 2px solid var(--ink); border-radius: var(--radius); }
.story-card-featured { color: var(--ivory); background: var(--blue); box-shadow: 1rem 1rem 0 var(--coral); }
.story-card-meta { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid currentColor; font: 800 .7rem/1.3 ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; }
.story-card-body { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem, 5vw, 5rem); padding: clamp(3rem, 7vw, 6rem) 0 2rem; }
.story-working-title { margin: 0 0 .75rem; font: 850 .7rem/1 ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; opacity: .7; }
.story-card h3 { margin: 0; font-size: clamp(2.5rem, 5vw, 5.7rem); line-height: .92; letter-spacing: -.055em; }
.story-premise > p:first-child, .story-grid .story-card > p:not(.story-working-title):not(.story-detail) { font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.45; }
.story-detail { color: currentColor; opacity: .7; }
.sample-reader { margin-top: 1rem; padding: clamp(1rem, 2.5vw, 1.7rem); color: var(--ivory); background: var(--ink); border: 1px solid rgba(247,242,233,.35); border-radius: 1rem; }
.sample-reader-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.sample-reader-header .story-working-title { color: var(--lime); opacity: 1; }
.sample-reader-header h4 { margin: 0; font-size: clamp(1.45rem, 3vw, 2.35rem); line-height: 1; letter-spacing: -.035em; }
.sample-reader-header > span { color: rgba(247,242,233,.62); font: 750 .75rem/1 ui-monospace, monospace; white-space: nowrap; }
.sample-viewport { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: .6rem; touch-action: pan-x pan-y; }
.sample-viewport::-webkit-scrollbar { display: none; }
.sample-viewport:focus-visible { outline: 4px solid var(--lime); outline-offset: 4px; }
.sample-page { min-height: 31rem; display: grid; grid-template-rows: auto 1fr; padding: clamp(1.5rem, 5vw, 4rem); color: var(--ink); background: var(--paper); border-right: 1px solid rgba(16,16,37,.16); scroll-snap-align: start; scroll-snap-stop: always; }
.sample-page-number { justify-self: end; color: var(--muted); font: 800 .7rem/1 ui-monospace, monospace; letter-spacing: .1em; }
.sample-copy { align-self: center; max-width: 48rem; margin: auto; }
.sample-copy p { margin: 0 0 1.4rem; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.12rem, 2.15vw, 1.48rem); line-height: 1.7; letter-spacing: -.012em; }
.sample-copy p:last-child { margin-bottom: 0; }
.sample-page-closing .sample-copy p:first-child { font-size: clamp(1.35rem, 2.8vw, 2rem); }
.sample-page-closing .sample-copy p:last-child { color: var(--blue); font-size: clamp(1.75rem, 4vw, 3.6rem); font-weight: 700; line-height: 1.08; letter-spacing: -.045em; }
.sample-reader-controls { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; margin-top: 1rem; }
.sample-arrow { width: 3.2rem; height: 3.2rem; display: grid; place-items: center; color: var(--ink); background: var(--lime); border: 1px solid var(--lime); border-radius: 50%; font: 800 1.2rem/1 system-ui, sans-serif; cursor: pointer; }
.sample-arrow:hover, .sample-arrow:focus-visible { background: var(--coral); border-color: var(--coral); outline: none; }
.sample-arrow:focus-visible { box-shadow: 0 0 0 3px var(--ink), 0 0 0 6px var(--lime); }
.sample-arrow:disabled { opacity: .28; cursor: default; }
.sample-dots { display: flex; justify-content: center; gap: .65rem; }
.sample-dots button { width: .72rem; height: .72rem; padding: 0; background: rgba(247,242,233,.25); border: 0; border-radius: 50%; cursor: pointer; }
.sample-dots button[aria-current='page'] { background: var(--coral); transform: scale(1.35); }
.sample-dots button:focus-visible { outline: 3px solid var(--lime); outline-offset: 3px; }
.sample-swipe-hint { margin: .8rem 0 0; text-align: center; color: rgba(247,242,233,.5); font-size: .8rem; }
.story-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 2rem; }
.story-grid .story-card { min-height: 32rem; display: flex; flex-direction: column; }
.story-grid .story-card h3 { max-width: 9ch; margin: 3rem 0 1.4rem; font-size: clamp(2.6rem, 4.5vw, 4.6rem); }
.story-grid .story-working-title { margin-top: 3rem; margin-bottom: -2.4rem; }
.story-grid .story-detail { margin-top: auto; padding-top: 2rem; border-top: 1px solid currentColor; }
.story-card-crime { background: var(--lime); }
.story-card-guide { color: var(--ivory); background: var(--ink-2); }
.writing-process { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 8vw, 8rem); background: var(--coral); }
.writing-process .kicker { margin-bottom: 1rem; }
.writing-process ol { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--ink); }
.writing-process li { display: grid; grid-template-columns: 4rem 1fr; gap: 1rem; padding: 2rem 0; border-bottom: 2px solid var(--ink); }
.writing-process li > span { font-family: Georgia, serif; font-size: 1.4rem; font-style: italic; }
.writing-process strong { display: block; font-size: clamp(1.5rem, 2.5vw, 2.4rem); line-height: 1.08; letter-spacing: -.035em; }
.writing-process li p { margin: .55rem 0 0; }

.making-hero-art { position: relative; min-height: 34rem; margin: 0; overflow: hidden; background: var(--blue); border-left: 1px solid rgba(247,242,233,.2); }
.making-hero-art img { width: 100%; height: 100%; object-fit: cover; }
.making-hero-art figcaption { position: absolute; left: 1.5rem; right: 1.5rem; bottom: 1.5rem; padding: .9rem 1rem; color: var(--ink); background: var(--lime); border: 2px solid var(--ink); font: 850 .7rem/1.4 ui-monospace, monospace; letter-spacing: .08em; }
.project-journal { background: var(--ivory); }
.maker-feature, .maker-card { padding: clamp(1.5rem, 3.3vw, 3rem); border: 2px solid var(--ink); border-radius: var(--radius); }
.maker-label { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid currentColor; font: 800 .7rem/1.3 ui-monospace, monospace; letter-spacing: .08em; }
.maker-glass { color: var(--ivory); background: var(--ink); box-shadow: 1rem 1rem 0 var(--blue); }
.maker-feature-copy { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem, 5vw, 5rem); padding: clamp(3rem, 7vw, 6rem) 0 2.5rem; }
.maker-feature h3, .maker-card h3 { max-width: 13ch; margin: 0 0 1.3rem; font-size: clamp(2.5rem, 5vw, 5rem); line-height: .95; letter-spacing: -.05em; }
.maker-feature-copy p { max-width: 40rem; color: rgba(247,242,233,.7); font-size: 1.13rem; }
.project-chips { align-self: end; display: flex; flex-wrap: wrap; gap: .6rem; }
.project-chips span, .stitch-notes span { display: inline-flex; padding: .6rem .85rem; border: 1px solid currentColor; border-radius: 999px; font-size: .85rem; font-weight: 750; }
.glass-swatch-board { display: grid; grid-template-columns: repeat(4, 1fr); min-height: 10rem; border: 1px solid rgba(247,242,233,.3); }
.swatch { display: flex; align-items: flex-end; padding: .8rem; color: var(--ink); border-right: 1px solid var(--ink); font: 800 .7rem/1 ui-monospace, monospace; text-transform: uppercase; }
.swatch:last-child { border-right: 0; }
.swatch.grapefruit { background: #ff7f8f; }
.swatch.purple { color: var(--ivory); background: #3d205f; }
.swatch.flame { background: linear-gradient(135deg, #ff5678 0 45%, #ffbf3f 45% 70%, #c8ff57 70%); }
.swatch.iridescent { background: linear-gradient(135deg, #fffaf2, #bceaff, #edc8ff, #fff3a4); }
.maker-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 2rem; }
.maker-card { min-height: 36rem; display: flex; flex-direction: column; }
.maker-card h3 { margin-top: 3rem; }
.maker-mosaic { background: var(--coral); }
.maker-crochet { background: var(--lime); }
.maker-method { margin-top: auto; padding-top: 1.4rem; border-top: 1px solid var(--ink); font-weight: 750; }
.tile-sample { display: grid; grid-template-columns: repeat(6, 1fr); gap: .35rem; margin: 1.6rem 0 2rem; }
.tile-sample i { aspect-ratio: 1; display: block; background: #ff9a91; border: 1px solid var(--ink); }
.tile-sample i:nth-child(2n), .tile-sample i:nth-child(7), .tile-sample i:nth-child(9) { background: #d85f65; }
.tile-sample i:nth-child(4), .tile-sample i:nth-child(11) { background: var(--ink); }
.tile-sample i:nth-child(6), .tile-sample i:nth-child(8) { background: #d7df8a; }
.stitch-notes { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.5rem 0; }
.maker-process { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(3rem, 8vw, 8rem); color: var(--ivory); background: var(--blue); }
.maker-process .kicker { margin-bottom: 1rem; color: var(--lime); }
.maker-process-steps { display: grid; gap: 1rem; }
.maker-process-steps article { padding: 1.5rem; color: var(--ink); background: var(--paper); border: 2px solid var(--ink); box-shadow: .55rem .55rem 0 var(--ink); }
.maker-process-steps span { font: 850 .7rem/1 ui-monospace, monospace; }
.maker-process-steps strong { display: block; margin-top: 1rem; font-size: clamp(1.5rem, 2.5vw, 2.35rem); line-height: 1.08; letter-spacing: -.035em; }
.maker-process-steps p { margin: .6rem 0 0; }
.creative-crosslink { padding: clamp(5rem, 10vw, 9rem) clamp(1.25rem, 6vw, 6.5rem); color: var(--ivory); background: var(--ink); }
.creative-crosslink .kicker { margin-bottom: 1rem; color: var(--coral); }
.creative-crosslink h2 { max-width: 12ch; }
.creative-crosslink .button { margin-top: 2.2rem; }
.creative-crosslink-making { color: var(--ink); background: var(--coral); }
.creative-crosslink-making .kicker { color: var(--ink); }
.contact-paths { background: var(--paper); }
.contact-paths-heading { display: grid; grid-template-columns: .8fr 1.2fr; gap: 1rem clamp(2rem, 6vw, 6rem); align-items: end; margin-bottom: 3rem; }
.contact-paths-heading .kicker { grid-column: 1 / -1; color: var(--blue); }
.contact-paths-heading h2, .commission-invite h2 { margin: 0; font-size: clamp(3rem, 6vw, 6rem); }
.contact-paths-heading > p:last-child { max-width: 36rem; margin: 0; color: var(--muted); font-size: 1.1rem; }
.contact-path-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.contact-path { min-height: 24rem; display: flex; flex-direction: column; padding: clamp(1.5rem, 3vw, 2.8rem); border: 2px solid var(--ink); border-radius: var(--radius); color: var(--ink); text-decoration: none; box-shadow: .65rem .65rem 0 var(--ink); transition: transform .2s ease, box-shadow .2s ease; }
.contact-path:hover { transform: translate(-.2rem, -.2rem); box-shadow: .9rem .9rem 0 var(--ink); }
.contact-path-coral { background: var(--coral); }
.contact-path-lime { background: var(--lime); }
.contact-path > span { font: 850 .7rem/1.2 ui-monospace, monospace; letter-spacing: .1em; }
.contact-path strong { display: block; max-width: 12ch; margin: 2.3rem 0 1rem; font-size: clamp(2rem, 3.5vw, 3.5rem); line-height: .96; letter-spacing: -.045em; }
.contact-path p { max-width: 34rem; }
.contact-path b { margin-top: auto; text-decoration: underline; text-underline-offset: .3em; }
.commission-invite { display: grid; grid-template-columns: 1fr auto; gap: 1.5rem 3rem; align-items: end; padding: clamp(5rem, 10vw, 9rem) clamp(1.25rem, 6vw, 6.5rem); color: var(--ivory); background: var(--ink); }
.commission-invite .kicker { margin-bottom: 1rem; color: var(--coral); }
.commission-invite h2 { max-width: 12ch; }
.commission-invite p { max-width: 44rem; margin: 1.5rem 0 0; color: rgba(247,242,233,.72); font-size: 1.15rem; }
.commission-invite .button { align-self: center; }
.commission-email { grid-column: 2; color: var(--lime); font-weight: 800; text-underline-offset: .3em; }

@media (max-width: 900px) {
  .interior-hero, .story-card-body, .maker-feature-copy, .writing-process, .maker-process { grid-template-columns: 1fr; }
  .contact-paths-heading { grid-template-columns: 1fr; }
  .contact-paths-heading .kicker { grid-column: auto; }
  .writing-note { min-height: 30rem; border-left: 0; border-top: 1px solid rgba(247,242,233,.2); }
  .making-hero-art { border-left: 0; border-top: 1px solid rgba(247,242,233,.2); }
}

@media (max-width: 700px) {
  .interior-hero { min-height: auto; }
  .interior-hero-copy { min-height: calc(85svh - 4.25rem); }
  .interior-hero h1 { font-size: clamp(3.5rem, 16vw, 5.4rem); }
  .story-grid, .maker-grid, .contact-path-grid { grid-template-columns: 1fr; }
  .story-card-featured, .maker-glass { box-shadow: .55rem .55rem 0 var(--coral); }
  .maker-glass { box-shadow: .55rem .55rem 0 var(--blue); }
  .story-card-meta, .maker-label { flex-wrap: wrap; }
  .story-card-body { padding-top: 3rem; }
  .sample-reader { margin-inline: -.5rem; }
  .sample-reader-header { align-items: start; }
  .sample-page { min-height: 34rem; padding: 1.5rem; }
  .sample-copy p { font-size: 1.08rem; line-height: 1.65; }
  .sample-swipe-hint { max-width: 19rem; margin-inline: auto; }
  .story-grid .story-card { min-height: 28rem; }
  .glass-swatch-board { grid-template-columns: repeat(2, 1fr); }
  .swatch { min-height: 7rem; border-bottom: 1px solid var(--ink); }
  .swatch:nth-child(2) { border-right: 0; }
  .swatch:nth-child(n+3) { border-bottom: 0; }
  .commission-invite { grid-template-columns: 1fr; align-items: start; }
  .commission-invite .button { justify-self: start; }
  .commission-email { grid-column: 1; overflow-wrap: anywhere; }
}
:root { --art-photo-background: #e9e0d6; }
.digital-print-shelf { display: grid; grid-template-columns: minmax(0, .55fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; background: var(--ink); color: var(--ivory); scroll-margin-top: 6rem; }
.digital-print-preview { display: block; max-width: 23rem; justify-self: center; padding: .75rem; border: 1px solid #ffffff40; background: var(--ivory); }
.digital-print-preview img { display: block; width: 100%; height: auto; }
.digital-print-shelf h2 { font: 500 clamp(2.7rem, 6vw, 5.4rem)/1.08 Georgia, serif; letter-spacing: -.04em; margin: 1rem 0; }
.digital-print-shelf p { max-width: 37rem; }
.digital-print-shelf .kicker { color: var(--lime); }
.digital-print-meta { margin: 1.5rem 0; font-size: .95rem; }
.print-main { max-width: 1320px; margin: 0 auto; padding: clamp(1.4rem, 4vw, 4rem); }
.print-back { display: inline-block; margin-bottom: 2rem; font-size: .95rem; text-underline-offset: .25em; }
.print-product { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.print-artwork { margin: 0; min-width: 0; padding: clamp(.8rem, 2vw, 1.6rem); background: var(--paper); border: 1px solid var(--line); }
.print-artwork img { display: block; width: 100%; height: auto; }
.print-artwork figcaption { margin-top: 1rem; font-size: .875rem; color: var(--muted); }
.print-details { min-width: 0; padding-block: .5rem; }
.print-details .eyebrow { color: var(--muted); font-size: .875rem; }
.print-details h1 { font: 500 clamp(3.5rem, 6vw, 5.8rem)/.98 Georgia, serif; letter-spacing: -.05em; margin: 1.4rem 0 1.6rem; }
.print-details h1 em { display: block; font-weight: 500; color: #ab2948; }
.print-description { font-size: 1.15rem; max-width: 35rem; }
.print-provenance { font-size: .95rem; color: var(--muted); }
.print-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: .65rem 1rem; font-weight: 750; font-size: 2rem; margin: 1.6rem 0 1rem; }
.print-price span { font-size: .875rem; font-weight: 500; color: var(--muted); }
.print-specs { margin: 0 0 1.5rem; }
.print-specs div { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--line); font-size: .95rem; }
.print-specs dt { color: var(--muted); }
.print-specs dd { margin: 0; overflow-wrap: anywhere; }
.print-small { font-size: .875rem; color: var(--muted); }
.print-availability { border-left: 3px solid var(--blue); background: #5f73ff0c; padding: 1rem 1.1rem; margin: 0; font-size: .95rem; }
.print-buy { width: 100%; text-align: center; }
.print-notes { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin: 1.5rem 0; padding: 1rem 0; }
.print-notes summary { font-weight: 650; cursor: pointer; min-height: 1.5rem; }
.print-notes p { font-size: .95rem; color: var(--muted); }
.print-question { font-size: .95rem; text-underline-offset: .25em; }
.print-gallery { min-width: 0; width: 100%; color: var(--ink); }
.print-gallery-track { display: flex; position: relative; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--blue) var(--paper); }
.print-gallery-slide { flex: 0 0 100%; min-width: 0; margin: 0; scroll-snap-align: start; }
.print-image-area { display: grid; place-items: center; aspect-ratio: 4 / 5; background: var(--paper); }
.print-gallery .print-image-area img { display: block; width: 100%; height: 100%; max-height: 100%; object-fit: contain; }
.print-gallery-slide figcaption { font-size: .875rem; color: var(--muted); margin-block: .8rem .5rem; }
.print-gallery-hint { font-size: .875rem; color: var(--muted); margin: .75rem 0; }
.print-gallery-controls { display: flex; flex-wrap: wrap; gap: .5rem; }
.print-gallery-controls[hidden] { display: none; }
.print-gallery-controls button { min-height: 44px; padding: .6rem 1rem; border: 1px solid var(--ink); border-radius: 999px; color: var(--ink); background: var(--paper); font-family: inherit; font-weight: 650; font-size: .875rem; line-height: 1.3; cursor: pointer; }
.print-gallery-controls button[aria-pressed="true"] { color: var(--paper); background: var(--ink); }
.print-gallery-track:focus-visible, .print-gallery-controls button:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.print-custom { border-top: 1px solid var(--line); padding-top: 1.5rem; margin-top: 1.5rem; }
.print-custom h2 { font: 500 1.7rem/1.2 Georgia, serif; letter-spacing: -.02em; margin: 0 0 .8rem; scroll-margin-top: 6rem; }
.print-custom > p { font-size: .95rem; }
.print-custom-link { display: inline-block; font-weight: 750; text-underline-offset: .3em; padding-block: .6rem; }
.print-custom .print-small { font-size: .875rem; }
.digital-print-custom-note { font-size: .95rem; margin-top: 1.5rem; }
.digital-print-custom-note a { text-underline-offset: .25em; }
.print-page a:focus-visible, .print-page summary:focus-visible, .digital-print-shelf a:focus-visible { outline: 3px solid var(--blue); outline-offset: 5px; }
@media (max-width: 800px) {
  .print-product { grid-template-columns: 1fr; }
  .print-artwork { max-width: 34rem; width: 100%; justify-self: center; }
  .print-details h1 em { display: inline; }
  .print-details h1 { font-size: clamp(3.3rem, 13vw, 5rem); line-height: 1.08; }
}
@media (max-width: 600px) {
  .digital-print-shelf { grid-template-columns: 1fr; }
  .digital-print-preview { max-width: 20rem; }
  .print-specs div { grid-template-columns: 6rem minmax(0, 1fr); gap: .6rem; }
}
.void-usage-notice { padding: 1rem 1.5rem; border-bottom: 1px solid #ffffff30; font-size: .875rem; line-height: 1.5; }
.void-usage-notice p { margin: 0 0 .75rem; }
.void-usage-notice label { display: block; color: var(--lime); }
.void-usage-notice input { width: 1.1rem; height: 1.1rem; vertical-align: middle; accent-color: var(--lime); }
.void-usage-notice #void-sharing-status { margin: .75rem 0 0; }
.usage-disclosure { font-size: .875rem; line-height: 1.5; }
.art-gallery { background: var(--paper); scroll-margin-top: 6rem; min-width: 0; max-width: 100%; }
.art-gallery .shelf-heading { width: 100%; max-width: 47.5rem; min-width: 0; }
.art-gallery .shelf-heading h2 { font-size: clamp(2.5rem, 5.5vw, 5.5rem); line-height: 1.12; margin: 0 0 1.5rem; overflow-wrap: anywhere; }
.art-gallery .shelf-heading > p:not(.kicker) { width: 100%; max-width: 42rem; margin: 0 0 1rem; font-size: 1.12rem; line-height: 1.65; color: var(--muted); overflow-wrap: anywhere; }
.art-gallery-controls { display: flex; align-items: center; justify-content: flex-end; gap: .65rem; margin: 1.5rem 0 .5rem; }
.art-gallery-controls[hidden] { display: none; }
.art-gallery-status { font-variant-numeric: tabular-nums; margin-right: .6rem; }
.art-gallery-controls button { width: 3rem; height: 3rem; border: 1px solid var(--ink); border-radius: 50%; background: var(--ink); color: var(--paper); font-size: 1.4rem; cursor: pointer; }
.art-gallery-controls button:disabled { opacity: .3; cursor: default; }
.art-gallery-controls button:focus-visible, .art-gallery-track:focus-visible { outline: 3px solid var(--blue); outline-offset: 5px; }
.art-gallery-hint { color: var(--muted); font-size: .85rem; margin-bottom: 1rem; }
.art-gallery-track { position: relative; display: flex; gap: 1.5rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; padding-bottom: 1rem; scrollbar-color: var(--ink) var(--art-photo-background); }
.art-slide { flex: 0 0 min(74%, 480px); min-width: 0; margin: 0; scroll-snap-align: start; border: 1px solid #10102526; border-radius: 1rem; overflow: hidden; background: var(--ivory); }
.art-gallery-track::after { content: ''; flex: 0 0 max(0px, calc(100% - 480px - 1.5rem)); }
.art-photo { aspect-ratio: 4 / 5; position: relative; display: grid; place-items: center; padding: clamp(.85rem, 2vw, 1.25rem); background: var(--paper); border-bottom: 1px solid var(--line); }
.art-slide:nth-of-type(3n + 1) { --art-frame-color: var(--coral); }
.art-slide:nth-of-type(3n + 2) { --art-frame-color: var(--lime); }
.art-slide:nth-of-type(3n) { --art-frame-color: var(--blue); }
.art-image-window { width: var(--art-window-width, 100%); max-width: 100%; position: relative; overflow: hidden; border: 1px solid var(--ink); box-shadow: 0 0 0 4px var(--art-frame-color, var(--blue)), 0 0 0 5px var(--ink); }
.art-slide figcaption .art-footnote { font-size: .875rem; font-style: italic; }
.art-slide[id] { scroll-margin-top: 6rem; }
.art-image-window img { position: absolute; display: block; height: auto; max-width: none; margin: 0; }
.art-slide figcaption { padding: 1.5rem; min-width: 0; overflow-wrap: anywhere; }
.art-medium { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.art-slide h3 { font-size: 1.6rem; line-height: 1.15; margin: .65rem 0; }
.art-slide figcaption p { color: var(--muted); font-size: .95rem; margin: 0; }
.art-slide figcaption p + p { margin-top: 1rem; }
@media (max-width: 640px) {
  .art-slide { flex-basis: 90%; }
  .art-gallery-track { gap: 1rem; }
  .art-gallery-track::after { flex-basis: calc(10% - 1rem); }
  .art-slide figcaption { padding: 1.15rem; }
}

/* Keep the creative work close to the top and every collection one tap away. */
html { scroll-padding-top: 6rem; }
.site-header { grid-template-columns: auto minmax(0, 1fr) auto; gap: clamp(1rem, 3vw, 3rem); padding-block: .55rem; }
.site-header nav { display: flex; justify-content: center; gap: clamp(.3rem, 1.4vw, 1.3rem); min-width: 0; }
.site-header nav a { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem .4rem; border-bottom: 2px solid transparent; white-space: nowrap; }
.site-header nav a[aria-current="page"] { color: var(--lime); border-color: var(--lime); }
.site-header .nav-short { display: none; }
.site-header a:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; }
.portfolio-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem 4rem; align-items: end; padding: clamp(2rem, 4vw, 3.75rem) clamp(1.25rem, 5vw, 5rem); color: var(--ivory); background: var(--ink); }
.portfolio-intro .eyebrow { font-size: .875rem; letter-spacing: .08em; }
.portfolio-intro h1 { max-width: none; font-size: clamp(3.5rem, 6vw, 6rem); line-height: .98; margin: .9rem 0 0; }
.portfolio-intro-copy { max-width: 32rem; padding-bottom: .3rem; }
.portfolio-intro-copy p:first-child { font-size: clamp(1.15rem, 2vw, 1.65rem); line-height: 1.4; letter-spacing: -.02em; }
.portfolio-intro-copy p:last-child { margin: 0; color: #d6d1de; }
.portfolio-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; padding: 1.5rem clamp(1.25rem, 5vw, 5rem) 2.5rem; background: var(--ink); }
.portfolio-feature { display: flex; flex-direction: column; min-width: 0; padding: clamp(1.25rem, 2.2vw, 2rem); border-radius: .8rem; color: var(--ink); }
.portfolio-feature .kicker { font-size: .875rem; letter-spacing: .09em; }
.portfolio-feature h2 { margin: .75rem 0 1rem; font-size: clamp(1.8rem, 2.8vw, 2.8rem); line-height: 1.06; letter-spacing: -.045em; }
.portfolio-feature h2 a { text-decoration: none; }
.portfolio-feature h2 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
.portfolio-feature > p, .feature-photo-content > p { margin-bottom: 1rem; }
.feature-writing { background: var(--coral); }
.feature-writing blockquote { margin: 1rem 0; padding-top: 1.25rem; border-top: 1px solid #10102540; font: italic 1.55rem/1.4 Georgia, serif; }
.feature-caption { font-size: .875rem; line-height: 1.5; }
.feature-story-context { display: block; margin-top: .5rem; }
.feature-photos { background: var(--paper); }
.feature-photo-image { display: grid; place-items: center; min-height: 0; margin: .25rem 0 1.25rem; padding: .75rem; background: #e9e0d6; }
.feature-photo-image img { display: block; width: 100%; height: clamp(12rem, 19vw, 17rem); object-fit: contain; }
.feature-voice { background: var(--lime); }
.feature-audio { padding-block: 1.25rem .75rem; margin-block: 1rem; border-block: 1px solid #10102540; }
.feature-audio audio { display: block; width: 100%; min-width: 0; margin: .75rem 0; }
.feature-audio .feature-caption { margin-bottom: 0; }
.feature-links { display: flex; flex-direction: column; align-items: flex-start; gap: .2rem; margin-top: auto; padding-top: 1rem; }
.feature-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: .95rem; font-weight: 750; text-underline-offset: .25em; }
.portfolio-features a:focus-visible, .portfolio-background summary:focus-visible, .section-jumps a:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.portfolio-lab-note { display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding: 2rem clamp(1.25rem, 5vw, 5rem); color: var(--ivory); background: var(--ink-2); }
.portfolio-lab-note .kicker { color: var(--coral); font-size: .875rem; }
.portfolio-lab-note h2 { margin: .6rem 0; font-size: 2rem; }
.portfolio-lab-note p:last-child { max-width: 42rem; margin-bottom: 0; color: #d6d1de; }
.portfolio-lab-note .button { flex-shrink: 0; }
.portfolio-background { border-bottom: 1px solid var(--line); }
.portfolio-background > summary { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding: 1.5rem clamp(1.25rem, 5vw, 5rem); cursor: pointer; list-style: none; }
.portfolio-background > summary::-webkit-details-marker { display: none; }
.portfolio-background > summary strong { display: block; font-size: 1.15rem; }
.portfolio-background > summary > span > span { display: block; margin-top: .25rem; color: var(--muted); font-size: .95rem; }
.portfolio-background > summary > span:last-child { font-size: 2rem; line-height: 1; }
.portfolio-background[open] > summary > span:last-child { transform: rotate(45deg); }
.portfolio-contact { padding-block: clamp(2.5rem, 5vw, 5rem); }
.portfolio-contact h2 { font-size: clamp(2.25rem, 4vw, 3.5rem); line-height: 1.05; }
.portfolio-contact .feedback-intro a { overflow-wrap: anywhere; }
.collection-intro { padding: clamp(2rem, 4vw, 3.5rem) clamp(1.25rem, 6vw, 6.5rem); color: var(--ivory); background: var(--ink); }
.collection-intro .eyebrow { font-size: .875rem; }
.collection-intro h1 { max-width: 22ch; margin: .8rem 0 1.2rem; font-size: clamp(2.5rem, 4.7vw, 4.5rem); line-height: 1.06; }
.collection-intro > p:not(.eyebrow) { max-width: 44rem; margin-bottom: 1rem; font-size: 1.1rem; color: #ded9e3; }
.section-jumps { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; margin-top: .7rem; }
.section-jumps a { display: inline-flex; align-items: center; min-height: 44px; color: var(--lime); font-size: .95rem; font-weight: 700; text-underline-offset: .3em; }
.section-jumps a:focus-visible { outline-color: var(--lime); }
.photo-catalog { grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); padding-block: clamp(2rem, 4vw, 4rem); background: var(--ivory); color: var(--ink); }
.photo-catalog > .print-gallery { max-width: 26rem; justify-self: center; }
.photo-catalog .kicker { color: #454099; }
.photo-catalog h2 { font-size: clamp(2.5rem, 5vw, 4.5rem); }
.photo-custom-invite { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem 3rem; align-items: center; padding: clamp(2rem, 4vw, 4rem) clamp(1.25rem, 6vw, 6.5rem); color: var(--ink); background: var(--coral); }
.photo-custom-invite .kicker { font-size: .875rem; }
.photo-custom-invite h2 { max-width: 20ch; margin: .8rem 0 1rem; font-size: clamp(2rem, 3.8vw, 3.5rem); line-height: 1.08; }
.photo-custom-invite p:last-child { max-width: 42rem; margin-bottom: 0; }
.lab-experiment { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: center; padding: 2rem clamp(1.25rem, 6vw, 6.5rem); border-block: 1px solid var(--line); background: var(--paper); }
.lab-experiment h2 { margin: .6rem 0 .8rem; font-size: 2.5rem; }
.lab-experiment p:last-child { max-width: 44rem; margin-bottom: 0; }
.lab-experiment .button-quiet { color: var(--ink); border-color: var(--ink); }
.lab-experiment-paused { display: block; }
.lab-experiment-paused > summary { cursor: pointer; font-size: 1.1rem; font-weight: 700; padding-block: .5rem; }
.lab-experiment-paused > summary span { display: inline-block; margin-left: .75rem; font-size: .875rem; font-weight: 500; }
.lab-experiment-paused > summary:focus-visible { outline: 3px solid var(--ink); outline-offset: 5px; }
.lab-experiment-paused > div { padding-top: 1rem; }
.lab-experiment-paused > div p { max-width: 44rem; }
.lab-page .art-gallery { padding-block: clamp(2.5rem, 4vw, 4rem); }
.compact-writing-hero { min-height: auto; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); }
.compact-writing-hero .interior-hero-copy { min-height: auto; padding-block: clamp(2rem, 4vw, 3.5rem); }
.compact-writing-hero h1 { max-width: 17ch; margin: .8rem 0 1.25rem; font-size: clamp(2.7rem, 4.5vw, 4.5rem); line-height: 1.05; }
.compact-writing-hero .interior-lede { font-size: 1.1rem; }
.compact-writing-hero .writing-note { min-height: 0; padding: clamp(1.5rem, 3vw, 3rem); }
.compact-writing-hero .writing-note ul { margin: 1.25rem 0; }
.compact-writing-hero .writing-note li { font-size: clamp(1.2rem, 2vw, 1.6rem); padding-block: .7rem; }
.writing-page .story-shelf { padding-top: clamp(2.5rem, 5vw, 4rem); }
.voice-stage { min-height: auto; padding-block: clamp(2.5rem, 5vw, 4rem); }
.voice-heading h1 { font-size: clamp(3.2rem, 5.5vw, 5.5rem); }
.page-back { padding: 1rem clamp(1.25rem, 6vw, 6.5rem); margin: 0; font-size: .95rem; }
.page-back a { display: inline-flex; align-items: center; min-height: 44px; text-underline-offset: .3em; }
.void-copy h1 { margin: 1rem 0 1.5rem; font-size: clamp(3rem, 6vw, 6rem); }
@media (max-width: 1100px) {
  html { scroll-padding-top: 8rem; }
  .site-header { grid-template-columns: 1fr auto; gap: .3rem 1rem; padding-top: .6rem; padding-bottom: 0; }
  .site-header .header-contact { grid-column: 2; grid-row: 1; }
  .site-header nav { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; gap: 1rem; }
  .portfolio-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feature-voice { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; column-gap: 3rem; }
  .feature-voice .kicker, .feature-voice h2, .feature-voice > p { grid-column: 1; }
  .feature-voice .feature-audio { grid-column: 2; grid-row: 1 / 4; align-self: center; margin-block: 0; }
  .feature-voice .feature-links { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; column-gap: 1.5rem; }
}
@media (max-width: 750px) {
  .portfolio-intro { grid-template-columns: 1fr; gap: 1.5rem; }
  .portfolio-intro h1 { font-size: clamp(3.2rem, 10vw, 4.5rem); }
  .portfolio-intro h1 br { display: none; }
  .portfolio-intro h1 em::before { content: ' '; }
  .portfolio-features { grid-template-columns: 1fr; }
  .portfolio-feature { padding: 1.5rem; }
  .portfolio-feature h2 { font-size: 2.2rem; }
  .feature-voice { display: flex; grid-column: auto; }
  .feature-voice .feature-audio { align-self: stretch; margin-block: .75rem; }
  .feature-voice .feature-links { flex-direction: column; }
  .feature-photo-image img { height: 20rem; }
  .portfolio-lab-note { flex-direction: column; align-items: flex-start; gap: 1.25rem; }
  .photo-catalog, .photo-custom-invite, .lab-experiment, .compact-writing-hero { grid-template-columns: 1fr; }
  .photo-custom-invite .button, .lab-experiment .button { justify-self: start; }
  .compact-writing-hero .writing-note { border-left: 0; }
  .compact-writing-hero .writing-note ul { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; border-top: 0; margin: 1rem 0; }
  .compact-writing-hero .writing-note li { border-bottom: 0; padding: 0; font-size: 1.15rem; }
  .photo-catalog > .print-gallery { max-width: 25rem; }
}
@media (max-width: 600px) {
  .site-header { padding-inline: 1rem; }
  .site-header .nav-wide { display: none; }
  .site-header .nav-short { display: inline; }
  .site-header nav { justify-content: space-between; gap: .25rem; overflow-x: auto; }
  .site-header nav a { font-size: .875rem; padding-inline: .15rem; }
  .portfolio-intro .eyebrow { font-size: .875rem; letter-spacing: .04em; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

.europe-collection { padding: clamp(2rem, 4vw, 4rem) clamp(1.25rem, 6vw, 6.5rem); border-top: 1px solid var(--line); background: var(--paper); min-width: 0; }
.europe-heading, .europe-gallery, .europe-custom-note { max-width: 80rem; margin-inline: auto; }
.europe-heading { display: flex; justify-content: space-between; align-items: end; gap: 1.5rem 3rem; margin-bottom: 1.75rem; }
.europe-heading .kicker { font-size: .875rem; letter-spacing: .08em; }
.europe-heading h2 { margin: .7rem 0 0; font-size: clamp(2.25rem, 4vw, 3.6rem); line-height: 1.08; }
.europe-heading > p { max-width: 30rem; margin: 0; color: var(--muted); }
.europe-gallery-track { display: flex; position: relative; gap: 1.25rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-color: var(--ink) var(--ivory); scrollbar-width: thin; padding-bottom: .75rem; }
.europe-photo { display: flex; flex-direction: column; flex: 0 0 min(31%, 22rem); min-width: 0; margin: 0; scroll-snap-align: start; }
.europe-photo-image { aspect-ratio: 4 / 5; flex-shrink: 0; overflow: hidden; background: var(--ivory); border-radius: .25rem; }
.europe-photo-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.europe-crop-bottom img { object-position: center bottom; }
.europe-crop-top img { object-position: center top; }
.europe-photo figcaption { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 1rem .15rem .4rem; }
.europe-photo h3 { min-height: 2.5em; margin: 0 0 .35rem; font-size: 1.2rem; line-height: 1.25; letter-spacing: -.025em; }
.europe-photo-location { margin: 0 0 .5rem; color: var(--muted); font-size: .95rem; }
.europe-photo-fact { margin: 0 0 .5rem; color: var(--muted); font-size: .875rem; }
.europe-photo figcaption .europe-photo-fact a { display: inline; min-height: 0; font-weight: 400; font-size: inherit; }
.europe-photo figcaption a[data-custom-print] { margin-top: auto; }
.europe-photo figcaption a { display: inline-flex; align-items: center; min-height: 44px; font-size: .9rem; line-height: 1.5; font-weight: 700; text-underline-offset: .3em; }
.europe-gallery-bar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .8rem 2rem; margin-top: 1rem; }
.europe-gallery-bar > p { margin: 0; color: var(--muted); font-size: .875rem; }
.europe-gallery-controls { display: flex; align-items: center; gap: .75rem; }
.europe-gallery-controls[hidden] { display: none; }
.europe-gallery-controls button { min-height: 44px; border: 1px solid var(--ink); border-radius: 999px; padding: .55rem .9rem; color: var(--paper); background: var(--ink); font: inherit; font-size: .875rem; font-weight: 650; cursor: pointer; }
.europe-gallery-controls button:disabled { color: var(--muted); background: transparent; border-color: var(--line); cursor: default; }
.europe-gallery-status { min-width: 5rem; text-align: center; font-size: .875rem; font-variant-numeric: tabular-nums; }
.europe-custom-note { margin-top: 1.75rem; margin-bottom: 0; padding-top: 1.25rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .95rem; }
.europe-custom-note a { color: var(--ink); text-underline-offset: .25em; }
.europe-gallery-track:focus-visible { outline: 3px solid var(--blue); outline-offset: 5px; }
.europe-collection a:focus-visible, .europe-gallery-controls button:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.phone-photo-tip { margin: 0 0 1.5rem; padding-bottom: .75rem; border-bottom: 1px solid var(--line); font-size: .95rem; }
.phone-photo-tip summary { min-height: 44px; padding-block: .55rem; font-weight: 700; color: #454099; cursor: pointer; }
.phone-photo-tip p { margin: .6rem 0 0; }
.phone-photo-tip summary:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.print-location { color: var(--muted); font-size: 1rem; margin: -.25rem 0 1.2rem; }
.photo-catalog h2 { font-size: clamp(2.2rem, 4.5vw, 4rem); }
.print-details h1 { font-size: clamp(2.7rem, 5vw, 4.7rem); }
.tbd-definition { text-transform: none; letter-spacing: 0; font-weight: 500; }
@media (max-width: 1000px) {
  .europe-photo { flex-basis: 46%; }
}
@media (max-width: 640px) {
  .europe-heading { display: block; }
  .europe-heading > p { margin-top: 1rem; }
  .europe-gallery-track { gap: 1rem; }
  .europe-photo { flex-basis: 86%; }
  .europe-photo h3 { min-height: 0; }
  .europe-gallery-bar { gap: .8rem; }
  .europe-gallery-controls { margin-left: auto; }
}

/* Professional identity first; preserve Katie's existing ink, lime, coral and type. */
.operator-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(18rem, .8fr); gap: clamp(2rem, 6vw, 6rem); padding: clamp(2.5rem, 5vw, 5rem) clamp(1.25rem, 6vw, 6.5rem); background: var(--ink); color: var(--ivory); align-items: center; }
.operator-hero h1 { margin: 1.2rem 0 1.5rem; font-size: clamp(2.6rem, 4.5vw, 4.6rem); line-height: 1.06; letter-spacing: -.055em; }
.operator-hero h1 em { color: var(--coral); font-family: Georgia, serif; font-weight: 400; letter-spacing: -.05em; }
.operator-hero .eyebrow { color: var(--lime); font-size: .875rem; }
.operator-lede { max-width: 39rem; font-size: 1.15rem; color: #ded9e3; }
.operator-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.6rem; margin-top: 1.8rem; }
.operator-text-link { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; text-underline-offset: .3em; }
.operator-note { padding: 2rem; border: 1px solid #f7f2e940; border-top: 4px solid var(--lime); background: var(--ink-2); }
.operator-note h2 { font-size: clamp(1.7rem, 2.8vw, 2.65rem); line-height: 1.1; letter-spacing: -.04em; margin: 1rem 0; }
.operator-note .kicker { color: var(--lime); font-size: .875rem; }
.operator-note ul { list-style: none; padding: 0; margin: 1.6rem 0; }
.operator-note li { padding: .8rem 0; border-top: 1px solid #f7f2e929; color: #ded9e3; }
.operator-note-end { margin: 0; font-family: Georgia, serif; font-size: 1.4rem; font-style: italic; color: var(--lime); }
.operator-context { display: flex; flex-wrap: wrap; gap: .8rem 2rem; align-items: center; justify-content: space-between; padding: 1.25rem clamp(1.25rem, 6vw, 6.5rem); background: var(--paper); border-bottom: 1px solid var(--line); }
.operator-context p { margin: 0; font-size: .95rem; max-width: 40rem; }
.operator-context a { font-size: .95rem; font-weight: 700; text-underline-offset: .3em; }
.portfolio-home .section { padding-block: clamp(3rem, 6vw, 5.5rem); }
.portfolio-home .section-heading h2 { font-size: clamp(2.4rem, 4vw, 4rem); line-height: 1.06; letter-spacing: -.04em; }
.portfolio-home .section-heading { grid-template-columns: 1fr 1fr; gap: 1rem 3rem; margin-bottom: 2.3rem; }
.portfolio-home .section-heading .kicker { margin: 0; color: #454099; }
.portfolio-home .system-section { gap: clamp(2rem, 5vw, 5rem); }
.portfolio-home .principles li { padding: 1.3rem 0; }
.portfolio-home .principles h3 { font-size: clamp(1.35rem, 2.3vw, 2.1rem); }
.portfolio-home .principles p { font-size: 1rem; }
.operator-example { margin-top: 2rem; padding: 1.25rem 1.5rem; background: var(--ink); color: var(--ivory); border-radius: .7rem; }
.operator-example summary { min-height: 44px; cursor: pointer; font-size: 1.15rem; font-weight: 700; }
.operator-example h3 { font-size: 1.5rem; line-height: 1.2; }
.operator-example p { color: #ded9e3; }
.operator-example .example-label { font-size: .875rem; color: var(--lime); }
.impact-section { background: var(--paper); border-bottom: 1px solid var(--line); }
.impact-section .proof-strip { border-top: 1px solid var(--line); }
.impact-section .proof-strip strong { color: #454099; }
.impact-section .proof-strip span { font-size: .95rem; }
.evidence-note { color: var(--muted); font-size: .875rem; margin: 1.2rem 0 0; max-width: 65rem; }
.case-reasoning { margin: .5rem 0 2rem; }
.case-reasoning > div + div { margin-top: 1.2rem; }
.case-reasoning dt { font-size: .875rem; font-weight: 800; }
.case-reasoning dd { margin: .35rem 0 0; }
.experiments-section { color: var(--ivory); background: var(--ink); }
.portfolio-home .experiments-section .section-heading .kicker { color: var(--lime); }
.portfolio-home .experiments-section .section-heading > p:last-child { color: #ded9e3; }
.experiment-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; }
.experiment-grid article { border-top: 2px solid var(--lime); padding-top: 1.6rem; display: flex; flex-direction: column; }
.experiment-grid .kicker { color: var(--lime); font-size: .875rem; }
.experiment-grid h3 { font-size: clamp(1.7rem, 2.5vw, 2.4rem); line-height: 1.12; letter-spacing: -.03em; margin: .7rem 0; }
.experiment-grid p { color: #ded9e3; }
.experiment-grid .experiment-status { font-size: .9rem; border-left: 2px solid var(--coral); padding-left: 1rem; }
.experiment-grid a { margin-top: auto; padding-top: .8rem; min-height: 44px; font-weight: 700; color: var(--lime); text-underline-offset: .3em; }
.range-section { background: var(--paper); }
.range-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.range-item { display: flex; flex-direction: column; padding: 1.6rem; color: var(--ink); border: 1px solid var(--line); border-radius: .7rem; text-decoration: none; background: var(--ivory); }
.range-item .kicker { font-size: .875rem; }
.range-item h3 { font-size: 1.7rem; line-height: 1.15; margin: .7rem 0; }
.range-item p { max-width: 35rem; margin-top: .5rem; }
.range-link { display: block; font-weight: 750; text-decoration: underline; text-underline-offset: .3em; margin-top: auto; padding-top: .6rem; }
.range-item:hover { border-color: var(--ink); }
.range-photo { display: grid; grid-template-columns: 7rem 1fr; gap: 1.3rem; }
.range-photo img { width: 100%; height: 100%; max-height: 16rem; object-fit: contain; align-self: center; }
.range-photo > div { display: flex; flex-direction: column; }
.collection-nav { display: flex; flex-wrap: wrap; align-items: center; padding: .5rem clamp(1.25rem, 6vw, 6.5rem); gap: .3rem 1.4rem; background: var(--paper); border-bottom: 1px solid var(--line); }
.collection-nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); font-size: .875rem; text-decoration: underline; text-underline-offset: .3em; }
.collection-nav a:first-child { margin-right: auto; font-weight: 800; }
.collection-nav a[aria-current="page"] { color: #454099; text-decoration-thickness: 3px; }
.operator-hero a:focus-visible, .experiments-section a:focus-visible, .operator-example summary:focus-visible { outline: 3px solid var(--lime); outline-offset: 5px; }
.range-item:focus-visible, .collection-nav a:focus-visible, .operator-context a:focus-visible { outline: 3px solid #454099; outline-offset: 4px; }
.prototype-scope { padding-left: 1rem; border-left: 3px solid var(--lime); font-size: 1rem !important; }
@media (max-width: 900px) {
  .operator-hero { grid-template-columns: 1fr; }
  .operator-hero h1 { font-size: clamp(2.6rem, 6vw, 4.6rem); }
  .operator-hero .desktop-break { display: none; }
  .operator-note { max-width: 42rem; }
  .operator-note ul { margin-block: 1rem; }
  .portfolio-home .section-heading { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .experiment-grid, .range-grid { grid-template-columns: 1fr; }
  .operator-note { padding: 1.4rem; }
  .range-photo { grid-template-columns: 6rem 1fr; }
  .operator-hero h1 { font-size: clamp(2.35rem, 8.5vw, 3.4rem); }
  .site-header nav { flex-wrap: wrap; justify-content: flex-start; gap: 0 1rem; }
  .site-header nav a { font-size: .875rem; }
  .collection-nav { gap: .2rem 1rem; }
  .collection-nav a:first-child { flex-basis: 100%; }
}

/* Published coloring book: scoped to the new project and creative-range card. */
.range-book { grid-column: 1 / -1; grid-template-columns: 7rem minmax(0, 1fr); }
.range-book img { max-height: 11rem; }
.book-project { border-bottom: 1px solid var(--line); background: var(--paper); scroll-margin-top: 1.5rem; }
.book-feature { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.book-cover { width: 100%; max-width: 26rem; margin: 0 auto; }
.book-cover img { display: block; width: 100%; height: auto; box-shadow: .65rem .65rem 0 var(--ink); }
.book-copy { min-width: 0; }
.book-copy .kicker { color: var(--blue); }
.book-copy h2 { margin: .8rem 0 .65rem; font-size: clamp(2.25rem, 4.3vw, 4.6rem); line-height: 1.04; overflow-wrap: anywhere; }
.book-copy .book-subtitle { margin-top: 0; color: var(--muted); font-size: 1.12rem; }
.book-hook { margin-top: 1.5rem; font-size: 1.35rem; font-weight: 750; line-height: 1.35; }
.book-copy > p { max-width: 40rem; }
.book-credit { margin: 1.5rem 0; padding-top: 1.2rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .95rem; }
.book-copy .button { max-width: 100%; white-space: normal; text-align: center; }
.book-preview-heading { margin-top: clamp(3rem, 6vw, 5rem); }
.book-preview-heading h3 { margin: 0 0 .5rem; font-size: 1.75rem; }
.book-preview-heading p { margin: 0 0 1.5rem; color: var(--muted); }
.book-previews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.book-previews figure { min-width: 0; margin: 0; }
.book-previews a { display: block; background: white; border: 1px solid var(--line); }
.book-previews a:hover { border-color: var(--ink); }
.book-previews a:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.book-previews img { display: block; width: 100%; height: auto; }
.book-previews figcaption { padding-top: .9rem; font-size: .95rem; font-weight: 650; line-height: 1.5; }
@media (max-width: 700px) {
  .range-book { grid-template-columns: 5.5rem minmax(0, 1fr); }
  .book-feature { grid-template-columns: 1fr; }
  .book-cover { max-width: 20rem; padding-right: .65rem; }
  .book-copy h2 { font-size: clamp(2.25rem, 10vw, 3.75rem); }
  .book-previews { grid-template-columns: 1fr; gap: 2rem; max-width: 28rem; margin-inline: auto; }
}
