@charset "UTF-8";

/* Shared editorial system. All content remains visible without JavaScript. */
:root {
  --black: #12110f;
  --ink: #24201c;
  --paper: #f7f3ed;
  --white: #fffcf7;
  --nude: #d8c1ad;
  --nude-light: #ebe0d5;
  --muted: #665d54;
  --line: #d3c9bd;
  --dark-line: #ffffff2b;
  --accent: #886345;
  --focus: #967052;
  --serif: "Iowan Old Style", "Baskerville", "Palatino Linotype", Georgia, serif;
  --sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --max: 1280px;
  --pad: clamp(20px, 4.5vw, 64px);
  --header-height: 78px;
  --header-offset: var(--header-height);
  --section-space: clamp(48px, 6vw, 82px);
  --ease: cubic-bezier(.22, .61, .36, 1);
}

* { box-sizing: border-box; }
html { background: var(--black); scroll-padding-top: calc(var(--header-offset) + 24px); }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.65 var(--sans); -webkit-font-smoothing: antialiased; }
main { display: block; }
main:focus { outline: none; }
img, video { display: block; max-width: 100%; }
img { height: auto; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid var(--focus); outline-offset: 5px; }
::selection { background: var(--nude); color: var(--black); }
h1, h2, h3, h4, p, figure { margin: 0; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; text-wrap: balance; }
h1 { font-size: clamp(48px, 6.6vw, 92px); line-height: 1.04; letter-spacing: -.045em; }
h2 { font-size: clamp(32px, 3.5vw, 48px); line-height: 1.13; letter-spacing: -.035em; }
h3 { font-size: clamp(24px, 2.3vw, 32px); line-height: 1.2; letter-spacing: -.025em; }
h4 { font-size: 17px; line-height: 1.4; font-weight: 600; }
p { text-wrap: pretty; }
strong { font-weight: 600; }
em { font-weight: inherit; }
ul, ol { padding-left: 1.25em; }
li + li { margin-top: .45em; }
[hidden] { display: none !important; }
.shell { width: 100%; max-width: var(--max); margin-inline: auto; padding-inline: var(--pad); }
.eyebrow { display: block; font: 500 13px/1.5 var(--sans); letter-spacing: .11em; text-transform: uppercase; }
.lead { max-width: 65ch; font-size: clamp(18px, 1.8vw, 23px); line-height: 1.55; letter-spacing: -.01em; }
.small, .entry-meta, .meta { font-size: 14px; line-height: 1.55; color: var(--muted); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
[id] { scroll-margin-top: calc(var(--header-offset) + 20px); }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 200; padding: 12px 20px; background: var(--white); color: var(--ink); transform: translateY(-160%); }
.skip-link:focus { transform: none; }

/* The same three destinations stay in view on every route. */
.site-header { position: sticky; top: 0; z-index: 50; background: var(--black); color: var(--white); border-bottom: 1px solid var(--dark-line); transition: box-shadow 180ms ease; }
.site-header[data-scrolled="true"] { box-shadow: 0 4px 20px #00000014; }
.header-inner, .nav { min-height: var(--header-height); display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; font-size: 14px; font-weight: 500; letter-spacing: .01em; line-height: 1.3; }
.brand-mark { font: 34px/1 var(--serif); letter-spacing: -.1em; padding-right: 3px; color: var(--nude); }
.primary-nav, .nav-links { display: flex; align-items: center; gap: 6px; }
.primary-nav .nav-link, .nav-links > a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 18px; font-size: 14px; font-weight: 500; line-height: 1.3; color: #d8d0c7; border: 1px solid transparent; border-radius: 3px; transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease; }
.primary-nav .nav-link[aria-current="page"], .nav-links > a[aria-current="page"] { background: var(--paper); color: var(--black); border-color: var(--paper); }
.site-header :focus-visible { outline-color: var(--nude); }
.menu-toggle { display: none; }

/* CV opens with identity, followed immediately by the skills. */
.page-intro { padding-block: clamp(42px, 5vw, 70px); border-bottom: 1px solid var(--line); }
.page-intro .eyebrow { color: var(--accent); margin-bottom: 18px; }
.page-intro h1 { max-width: 1000px; }
.page-intro .lead { margin-top: 22px; max-width: 800px; color: var(--muted); }
.cv-intro { background: var(--black); color: var(--paper); border-color: var(--dark-line); padding-block: clamp(34px, 4vw, 52px); }
.cv-intro .eyebrow { color: var(--nude); }
.cv-intro h1 { max-width: 1000px; font-size: clamp(48px, 6.5vw, 84px); }
.cv-intro h1 em { color: var(--nude); }
.cv-intro .lead { max-width: 860px; color: #d6cdc3; }
.intro-summary { max-width: 75ch; margin-top: 16px; color: #bfb2a5; font-size: 16px; line-height: 1.6; }
.cv-jump-links { display: flex; flex-wrap: wrap; gap: 4px 25px; margin-top: 24px; padding-top: 13px; border-top: 1px solid var(--dark-line); }
.cv-jump-links a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; color: #e2d6c9; font-size: 14px; text-decoration: underline; text-decoration-color: #8a7765; text-underline-offset: 6px; }
@media (min-width: 901px) {
  .cv-intro > .shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "eyebrow role" "name summary" "name actions" "name jumps"; column-gap: clamp(36px, 5vw, 68px); row-gap: 16px; align-items: start; }
  .cv-intro .eyebrow { grid-area: eyebrow; margin: 0; padding-top: 5px; }
  .cv-intro h1 { grid-area: name; max-width: 520px; font-size: clamp(62px, 6.5vw, 84px); }
  .cv-intro .lead { grid-area: role; margin: 0; font-size: clamp(20px, 1.8vw, 23px); }
  .cv-intro .intro-summary { grid-area: summary; margin: 0; }
  .cv-intro .intro-actions { grid-area: actions; margin: 2px 0 0; gap: 10px; }
  .cv-intro .intro-actions .button-link { padding-inline: 18px; gap: 16px; }
  .cv-intro .cv-jump-links { grid-area: jumps; margin: 6px 0 0; padding-top: 10px; gap: 2px 24px; }
}
.intro-meta, .intro-facts { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 20px; font-size: 14px; color: var(--muted); }
.cv-intro .intro-meta, .cv-intro .intro-facts { color: #beb2a6; }
.intro-actions, .button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 28px; }
.button-link { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 48px; padding: 12px 22px; border: 1px solid var(--ink); border-radius: 2px; background: var(--ink); color: var(--white); font-size: 14px; font-weight: 500; line-height: 1.4; transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease; }
.button-link.secondary { background: transparent; color: var(--ink); border-color: #a49789; }
.cv-intro .button-link { background: var(--nude); color: var(--black); border-color: var(--nude); }
.cv-intro .button-link.secondary { background: transparent; color: var(--paper); border-color: #8c8074; }
.cv-intro :focus-visible { outline-color: var(--nude); }
.text-link, .inline-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 44px; padding-block: 8px; border-bottom: 1px solid currentColor; font-size: 14px; font-weight: 500; line-height: 1.5; }
.text-link > span[aria-hidden], .card-link > span[aria-hidden] { flex: none; transition: transform 180ms var(--ease); }
.cv-skills { padding-block: 38px 46px; background: var(--white); border-bottom: 1px solid var(--line); }
.section-heading { display: grid; grid-template-columns: minmax(140px, .42fr) minmax(0, 1.58fr); gap: 36px; align-items: start; margin-bottom: 34px; }
.section-heading > .eyebrow { padding-top: 8px; color: var(--accent); }
.section-heading h2 em { color: var(--accent); }
.section-heading p { max-width: 65ch; color: var(--muted); margin-top: 14px; }
.cv-skills .section-heading { grid-template-columns: 1fr; gap: 8px; margin-bottom: 24px; }
.cv-skills .section-heading h2 { font-size: clamp(30px, 3vw, 40px); }
.cv-skills .section-heading .eyebrow { padding-top: 0; }
.skills-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 30px; }
.skill-group { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding-top: 18px; border-top: 2px solid var(--nude); }
.skill-group h3 { font: 600 17px/1.35 var(--sans); letter-spacing: -.01em; }
.skill-list { margin: 13px 0 15px; padding: 0; list-style: none; color: var(--muted); font-size: 16px; line-height: 1.5; }
.skill-list li + li { margin-top: 6px; }
.skill-group .text-link { margin-top: auto; font-size: 14px; color: var(--ink); }
.related-links { display: flex; flex-wrap: wrap; gap: 6px 24px; margin: 18px 0 0; padding: 0; list-style: none; }
.related-links li { margin: 0; }
.skill-group .related-links { margin-top: auto; }

/* Full CV: quiet index, readable measure and clearly separated roles. */
.cv-grid { display: grid; grid-template-columns: minmax(180px, .3fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 88px); padding-block: var(--section-space); align-items: start; }
.cv-sidebar { position: sticky; top: calc(var(--header-offset) + 28px); min-width: 0; }
.cv-sidebar > .eyebrow { color: var(--accent); margin-bottom: 14px; }
.section-nav { display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.section-nav > .eyebrow { padding-block: 16px 8px; color: var(--accent); font-size: 12px; }
.section-nav a { display: block; padding: 12px 12px 12px 0; border-bottom: 1px solid var(--line); font-size: 14px; line-height: 1.45; transition: padding 180ms var(--ease), color 180ms ease; }
.section-nav a[data-active="true"], .section-nav a[aria-current="location"] { color: var(--accent); padding-left: 12px; border-left: 2px solid var(--accent); font-weight: 600; }
.fact-list { margin-top: 28px; font-size: 14px; }
dl.fact-list > div { padding-block: 10px; }
.fact-list dt { color: var(--muted); font-size: 13px; }
.fact-list dd { margin: 3px 0 0; }
ul.fact-list { list-style: none; padding: 0; }
.cv-sidebar p { font-size: 14px; color: var(--muted); margin-top: 20px; }
.cv-content { min-width: 0; }
.cv-section + .cv-section { margin-top: 48px; padding-top: 42px; border-top: 1px solid var(--line); }
.cv-section > h2 { margin-bottom: 28px; }
.cv-section > .eyebrow { margin-bottom: 12px; color: var(--accent); }
.cv-section > p { max-width: 72ch; margin-block: 15px; color: var(--muted); }
.experience-item + .experience-item { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--line); }
.experience-item h3, .entry-title { font: 600 clamp(19px, 2vw, 23px)/1.35 var(--sans); letter-spacing: -.02em; }
.experience-item .entry-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 6px; }
.experience-item > .entry-meta, .education-item > .entry-meta { margin-top: 0; margin-bottom: 8px; }
.entry-meta > p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--muted); }
.entry-meta > span, .entry-meta > time { min-width: 0; }
.experience-item p { margin-top: 14px; max-width: 72ch; }
.experience-item ul { margin-top: 16px; margin-bottom: 0; max-width: 72ch; }
.experience-item li { color: var(--muted); padding-left: 3px; }
.experience-item li::marker { color: var(--accent); }
.experience-item .text-link { margin-top: 16px; }
.experience-item .related-links .text-link { margin-top: 0; }
.entry-context { color: var(--muted); }
.tag-list, .tags { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 16px 0 0; padding: 0; }
.tag-list > li, .tags > li, .tag-list > span { padding: 6px 11px; margin: 0; border: 1px solid #c3b3a3; border-radius: 3px; font-size: 13px; line-height: 1.5; color: #5c4d40; }
.software-grid, .education-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.education-grid h3, .software-grid h3 { font: 600 18px/1.4 var(--sans); }
.education-grid p, .software-grid p { margin-top: 8px; color: var(--muted); }
.education-item { padding-block: 22px; border-top: 1px solid var(--line); }
.education-item .entry-meta { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.education-item .entry-title { font-size: 20px; }
.tools-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.tool-group h3 { font: 600 17px/1.4 var(--sans); letter-spacing: 0; }
.interests { padding-top: 18px; }

/* Work hub and individual products: the work leads, each card has a destination. */
.work-section, .discipline-section, .projects-section { padding-block: var(--section-space); }
.discipline-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; padding-block: 40px var(--section-space); }
.discipline-card { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 28px; background: var(--white); border: 1px solid var(--line); border-top: 3px solid var(--nude); }
.discipline-card > .eyebrow { color: var(--accent); margin-bottom: 14px; }
.discipline-card h2 { font-size: clamp(30px, 3.2vw, 42px); }
.discipline-card h2 a { display: inline-block; padding-block: 2px; }
.discipline-card > p { max-width: 52ch; margin-top: 16px; color: var(--muted); }
.discipline-card-media { position: relative; display: block; width: 100%; aspect-ratio: 1.7; margin-bottom: 24px; padding: 20px; overflow: hidden; background: var(--nude-light); }
.discipline-card-media img { width: 100%; height: 100%; object-fit: contain; }
.discipline-card-media > span { position: absolute; right: 12px; bottom: 12px; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--white); color: var(--ink); font-size: 20px; }
.discipline-card-body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; width: 100%; }
.discipline-card-body > .eyebrow { margin-bottom: 12px; color: var(--accent); }
.discipline-card-body > p:not(.eyebrow) { margin-top: 16px; color: var(--muted); }
.discipline-card-body > .text-link { margin-top: 18px; }
.discipline-card-body > .discipline-links { margin-top: 24px; }
.discipline-links { display: flex; flex-direction: column; width: 100%; margin: 24px 0 0; padding: 0; list-style: none; }
.discipline-links li { margin: 0; border-top: 1px solid var(--line); }
.discipline-links a, .discipline-links > a { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 48px; padding: 11px 0; font-size: 15px; font-weight: 500; }
.discipline-links > a { border-top: 1px solid var(--line); }
.discipline-links .text-link { width: 100%; border-bottom: 0; font-weight: 400; }
.discipline-card > .text-link { margin-top: 24px; }
.project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 28px; }
.project-card { min-width: 0; }
.project-card-media, .card-art { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 1.25; overflow: hidden; padding: clamp(22px, 3vw, 40px); background: #e9e2d8; }
.project-card-media img, .card-art img { width: 100%; height: 100%; object-fit: contain; transition: transform 400ms var(--ease); }
.project-card-body, .card-copy { padding-top: 20px; }
.project-card-body > .eyebrow, .card-copy > .eyebrow { color: var(--accent); margin-bottom: 9px; }
.project-card-body h2, .project-card-body h3, .card-copy h3 { font-size: clamp(29px, 3vw, 39px); }
.project-card-body p, .card-copy p { margin-top: 12px; max-width: 58ch; font-size: 16px; color: var(--muted); }
.card-link, .card-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 44px; padding: 8px 0; margin-top: 13px; font-size: 14px; font-weight: 500; border-bottom: 1px solid #a99582; }
.card-arrow { position: absolute; right: 16px; bottom: 16px; display: grid; place-items: center; width: 42px; height: 42px; background: var(--white); border: 1px solid #00000012; border-radius: 50%; font-size: 22px; }
.product-card .project-card-media, .product-card .card-art { background: #e5e8e7; }
.brand-card .project-card-media, .brand-card .card-art { background: #e6d9cc; }
.motion-card .project-card-media, .motion-card .card-art, .image-card .project-card-media, .image-card .card-art { padding: 0; }
.motion-card img, .image-card img { object-fit: cover; }
.project-card.featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; background: var(--black); color: var(--white); }
.featured .project-card-body, .featured .card-copy { padding: clamp(24px, 4vw, 48px); }
.featured .project-card-body p, .featured .card-copy p { color: #d0c4b8; }
.featured .eyebrow { color: var(--nude); }
.featured .project-card-media, .featured .card-art { height: 100%; min-height: 320px; }

/* Existing case-study content shares the same tighter rhythm. */
.case-hero { padding-block: 32px 48px; background: var(--black); color: var(--white); }
.back-link { display: inline-flex; gap: 10px; align-items: center; min-height: 44px; padding-block: 9px; margin-bottom: 22px; color: #d0c4b8; font-size: 14px; }
.case-hero .eyebrow { color: var(--nude); }
.case-heading { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); gap: 44px; align-items: end; margin-block: 18px 34px; }
.case-heading h1 { font-size: clamp(48px, 6.8vw, 88px); line-height: 1.03; }
.case-heading h1 em { color: var(--nude); }
.case-heading > p { max-width: 34ch; padding-bottom: 4px; font-size: clamp(19px, 2vw, 25px); line-height: 1.5; color: #d4c8bc; }
.case-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px 28px; margin: 0; padding-top: 22px; border-top: 1px solid var(--dark-line); }
.case-meta > div { min-width: 0; }
.case-meta dt { margin-bottom: 6px; color: #bdb0a2; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.case-meta dd { margin: 0; font-size: 15px; line-height: 1.5; }
.case-cover { padding-top: 32px; }
.case-cover > .art { margin: 0; }
.case-cover .art-link { min-height: 0; padding: clamp(18px, 3vw, 38px); }
.case-cover .wide img { max-height: 400px; width: 100%; object-fit: contain; }
.case-cover .cover-poster img { max-height: 480px; width: auto; }
.case-section { padding-block: var(--section-space); border-bottom: 1px solid var(--line); }
.story-grid { display: grid; grid-template-columns: minmax(56px, .2fr) minmax(0, 1.8fr); gap: 42px; }
.section-number { font: 32px/1.2 var(--serif); color: var(--accent); }
.story { min-width: 0; }
.story h2 { max-width: 820px; margin-bottom: 24px; }
.story > p { max-width: 74ch; margin-bottom: 18px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.story > p.lead { max-width: 65ch; font-size: clamp(20px, 2vw, 25px); line-height: 1.5; color: var(--ink); }
.role-panel { margin-top: 28px; padding: 24px 28px; background: var(--nude-light); border-left: 2px solid var(--accent); }
.role-panel .eyebrow { margin-bottom: 10px; color: #6b4f39; }
.role-panel p { max-width: 72ch; font-size: 17px; line-height: 1.6; }
.role-panel p.small { margin-top: 10px; font-size: 14px; color: #6d5b4c; }
.project-timeline { list-style: none; margin: 30px 0 0; padding: 0; border-top: 1px solid var(--line); }
.project-timeline li { display: grid; grid-template-columns: 135px minmax(0, 1fr); gap: 28px; margin: 0; padding-block: 24px; border-bottom: 1px solid var(--line); }
.project-timeline time { padding-top: 4px; font-size: 14px; color: var(--muted); }
.project-timeline h3 { margin-bottom: 9px; font-size: 27px; }
.project-timeline p { font-size: 16px; line-height: 1.65; color: var(--muted); }
.gallery { display: grid; gap: 26px; margin-block: 30px; }
.gallery.two { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.art { min-width: 0; margin-block: 28px; }
.gallery > .art { margin: 0; }
.art-link { position: relative; display: flex; align-items: center; justify-content: center; padding: 24px; overflow: hidden; background: #e9e2d8; }
.art-link img { width: 100%; max-height: 560px; object-fit: contain; }
.art-open { position: absolute; right: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 15px; padding: 8px 12px; border: 1px solid #00000016; background: var(--white); color: var(--ink); font-size: 13px; line-height: 1.4; transition: background-color 180ms ease; }
.art figcaption, .asset-caption { padding-top: 12px; font-size: 13px; line-height: 1.55; color: var(--muted); }
.wide .art-link { padding: 22px; }
.wide img { width: 100%; max-height: none; }
.portrait-single { max-width: 620px; margin-inline: auto; }
.portrait-single img { max-height: 680px; width: auto; }
.long-art .art-link { max-height: 600px; align-items: flex-start; }
.long-art img { max-height: none; object-fit: contain; object-position: top; }
.long-art .art-open { z-index: 2; }
.long-art .art-link::after { position: absolute; content: ""; left: 0; right: 0; bottom: 0; height: 70px; background: linear-gradient(transparent, #e9e2d8); pointer-events: none; }
.decision-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; margin-top: 30px; }
.decision-grid > div { padding-top: 18px; border-top: 2px solid var(--nude); }
.decision-grid h3 { margin-bottom: 12px; font-size: 25px; }
.decision-grid p { font-size: 16px; line-height: 1.65; color: var(--muted); }
.itinerary { list-style: none; margin: 26px 0 0; padding: 0; border-top: 1px solid var(--line); }
.itinerary li { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 18px; padding-block: 14px; margin: 0; border-bottom: 1px solid var(--line); }
.itinerary time { font-size: 14px; color: var(--muted); }
.event-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; margin-top: 28px; }
.event-list > div { padding-block: 20px; border-top: 1px solid var(--line); }
.event-list h3 { font-size: 25px; }
.event-list p { margin-top: 8px; font-size: 15px; color: var(--muted); }
.takeaway { margin-top: 32px; padding-top: 22px; border-top: 1px solid var(--line); }
.supporting-art { margin-block: 30px; border-block: 1px solid var(--line); }
.supporting-art summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; cursor: pointer; list-style: none; font-size: 16px; }
.supporting-art summary::-webkit-details-marker { display: none; }
.supporting-art[open] summary > span { transform: rotate(45deg); }
.next-case { padding-block: 48px; background: var(--black); color: var(--white); }
.next-case .eyebrow { margin-bottom: 18px; color: var(--nude); }
.next-case a { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.next-case h2 { font-size: clamp(32px, 4.5vw, 60px); }
.next-case a > span { flex: none; color: var(--nude); font-size: 40px; }

/* Media is deliberate and user initiated. */
.video-shell { margin-bottom: 10px; }
.video-launch { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; padding: 0; border: 0; background: #171715; color: var(--white); }
.video-launch > img { width: 100%; height: 100%; object-fit: cover; }
.video-play { position: absolute; right: 20px; bottom: 20px; display: flex; align-items: center; gap: 12px; padding: 13px 20px; border-radius: 3px; background: var(--white); color: var(--ink); font-size: 14px; font-weight: 500; line-height: 1.4; }
.video-play > span { font-size: 15px; }
.video-shell video { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; background: #171715; }
.video-meta { display: flex; justify-content: space-between; gap: 16px; padding-block: 14px; color: var(--muted); font-size: 14px; }
.video-meta a, .video-error a { text-decoration: underline; text-underline-offset: 4px; }
.video-error { padding: 14px; background: var(--nude-light); font-size: 14px; }
.event-reserve { display: grid; grid-template-columns: 1.4fr .7fr; gap: 16px; margin-top: 28px; }
.reserve-main { display: flex; flex-direction: column; justify-content: space-between; min-height: 250px; padding: 24px; border: 1px solid #cbbcaa; background: #e9ddd0; }
.reserve-main .eyebrow { color: #74604f; }
.reserve-word { padding-block: 22px; color: #8c745f; font: 44px/1.06 var(--serif); letter-spacing: -.035em; }
.reserve-main p, .reserve-side > span:last-child { color: #6b5848; font-size: 14px; }
.reserve-side { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 14px; min-height: 160px; padding: 20px; border: 1px solid #cbbcaa; background: #efe6dc; text-align: center; }
.reserve-symbol { color: #8b725d; font-size: 40px; line-height: 1; }

/* Contact and shared footer. */
.contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; padding-block: 40px var(--section-space); }
.contact-page .contact-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding-bottom: 36px; font-style: normal; }
.contact-card { min-width: 0; padding: 28px; border: 1px solid var(--line); background: var(--white); }
.contact-card .eyebrow { margin-bottom: 12px; color: var(--accent); }
.contact-card h2 { font-size: clamp(28px, 3vw, 38px); }
.contact-card p { max-width: 50ch; margin-top: 14px; color: var(--muted); }
.contact-card .text-link { margin-top: 20px; overflow-wrap: anywhere; }
.contact-value { display: block; margin-block: 12px 24px; overflow-wrap: anywhere; font: clamp(21px, 2.1vw, 28px)/1.3 var(--serif); letter-spacing: -.025em; }
.contact-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 44px; padding-block: 8px; border-bottom: 1px solid #aa9582; font-size: 14px; line-height: 1.5; }
.contact-location { padding-block: 28px var(--section-space); border-top: 1px solid var(--line); }
.contact-location > .eyebrow { margin-bottom: 12px; color: var(--accent); }
.contact-location p + p { margin-top: 6px; }
.contact-location p:last-child { color: var(--muted); font-size: 14px; }
.contact { padding-block: 48px; background: var(--nude-light); }
.contact .contact-grid { padding-block: 0; align-items: end; gap: 48px; }
.contact h2 { margin-top: 18px; font-size: clamp(38px, 5vw, 66px); }
.contact-detail > p { max-width: 45ch; color: #5d4f43; }
.contact-detail .text-link { margin-top: 18px; }
.contact-detail .location { margin-top: 18px; font-size: 14px; }
.footer, .site-footer { padding-block: 24px; background: var(--black); color: #c9bbad; border-top: 1px solid var(--dark-line); }
.footer-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; font-size: 13px; line-height: 1.5; }
.footer-inner a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; text-decoration: underline; text-underline-offset: 4px; }

/* Native dialog provides keyboard focus containment and Escape dismissal. */
.viewer { width: min(96vw, 1500px); height: 94svh; max-height: 94svh; padding: 0; margin: auto; border: 1px solid #5b4f44; background: #171411; color: var(--white); }
.viewer::backdrop { background: #000000d9; }
.viewer[open] { display: flex; flex-direction: column; }
.viewer-toolbar, .viewer-bottom { display: flex; flex: none; align-items: center; justify-content: space-between; gap: 24px; padding: 12px 20px; }
.viewer-toolbar { border-bottom: 1px solid var(--dark-line); }
.viewer-toolbar p { max-width: 68ch; font-size: 14px; line-height: 1.5; }
.viewer-toolbar > div { display: flex; align-items: center; gap: 16px; }
.viewer button, .viewer a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; color: inherit; font-size: 14px; white-space: nowrap; }
.viewer button { padding: 8px 12px; border: 1px solid #ffffff40; border-radius: 2px; background: transparent; }
.viewer a { text-decoration: underline; text-underline-offset: 4px; }
.viewer button:disabled { opacity: .35; cursor: default; }
.viewer :focus-visible { outline-color: var(--nude); }
.viewer-stage { display: flex; flex: 1; align-items: center; justify-content: center; min-height: 0; overflow: auto; padding: 20px; background: #28231e; }
.viewer-stage img { width: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.viewer-bottom { border-top: 1px solid var(--dark-line); font-size: 13px; }
body.viewer-open { overflow: hidden; }

/* Subtle movement follows interaction; nothing essential depends on it. */
@media (hover: hover) {
  .primary-nav .nav-link:hover, .nav-links > a:hover { color: var(--white); border-color: #ffffff40; }
  .primary-nav .nav-link[aria-current="page"]:hover, .nav-links > a[aria-current="page"]:hover { color: var(--black); background: var(--nude); border-color: var(--nude); }
  .button-link:hover { background: #45372d; border-color: #45372d; color: var(--white); }
  .button-link.secondary:hover { background: var(--nude-light); color: var(--ink); border-color: #a49789; }
  .cv-intro .button-link:hover { background: var(--paper); color: var(--black); border-color: var(--paper); }
  .cv-intro .button-link.secondary:hover { background: #ffffff0d; color: var(--white); border-color: var(--nude); }
  .project-card:hover .project-card-media img, .project-card:hover .card-art img { transform: scale(1.025); }
  .text-link:hover, .inline-link:hover, .card-link:hover, .back-link:hover { color: var(--accent); }
  .cv-intro .text-link:hover, .case-hero .back-link:hover { color: var(--nude); }
  .text-link:hover > span[aria-hidden], .card-link:hover > span[aria-hidden] { transform: translateX(3px); }
  .discipline-links a:hover, .discipline-card h2 a:hover { color: var(--accent); }
  a.contact-card:hover { background: var(--nude-light); }
  .cv-jump-links a:hover { color: var(--white); text-decoration-color: var(--nude); }
  .art-link:hover .art-open { background: var(--nude); }
  .viewer button:not(:disabled):hover { background: #ffffff12; }
}
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  .motion-ready .reveal-pending { opacity: 0; transform: translateY(12px); }
  .motion-ready .reveal-visible { opacity: 1; transform: none; transition: opacity 500ms var(--ease), transform 500ms var(--ease); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .reveal-pending { opacity: 1 !important; transform: none !important; }
}

@media (max-width: 1000px) {
  .skills-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cv-grid { grid-template-columns: 170px minmax(0, 1fr); gap: 36px; }
  .case-heading { gap: 32px; }
  .case-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .story-grid { grid-template-columns: 52px minmax(0, 1fr); gap: 26px; }
  .decision-grid { grid-template-columns: 1fr; gap: 22px; }
  .decision-grid > div { display: grid; grid-template-columns: minmax(160px, .65fr) minmax(0, 1fr); gap: 24px; }
  .decision-grid h3 { margin: 0; }
}
@media (max-width: 760px) {
  :root { --header-height: 72px; }
  .header-inner, .nav { gap: 14px; }
  .brand { gap: 10px; font-size: 13px; }
  .brand-mark { font-size: 29px; }
  .primary-nav .nav-link, .nav-links > a { padding-inline: 12px; }
  .section-heading { grid-template-columns: 1fr; gap: 12px; margin-bottom: 28px; }
  .section-heading > .eyebrow { padding-top: 0; }
  .cv-grid { grid-template-columns: 1fr; gap: 34px; }
  .cv-sidebar { position: static; }
  .section-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; }
  .section-nav > .eyebrow { grid-column: 1 / -1; }
  .cv-sidebar .fact-list { display: flex; flex-wrap: wrap; gap: 12px 26px; margin-top: 20px; }
  .cv-sidebar > p { max-width: 60ch; }
  .discipline-card { padding: 23px; }
  .discipline-grid { gap: 20px; }
  .project-grid { gap: 36px 22px; }
  .project-card.featured { grid-template-columns: 1fr; }
  .featured .project-card-media, .featured .card-art { min-height: 0; }
  .case-heading { grid-template-columns: 1fr; gap: 22px; }
  .case-heading > p { max-width: 52ch; }
  .case-heading h1 br { display: none; }
  .story-grid { grid-template-columns: 1fr; gap: 12px; }
  .section-number { font-size: 24px; }
  .role-panel { padding: 22px; }
  .project-timeline li { grid-template-columns: 115px minmax(0, 1fr); gap: 22px; }
  .gallery, .gallery.two { gap: 22px; }
  .art-link, .wide .art-link { padding: 18px; }
  .art-open { right: 8px; bottom: 8px; font-size: 12px; padding: 7px 9px; }
  .contact .contact-grid { gap: 32px; }
  .contact-page .contact-grid { grid-template-columns: 1fr; gap: 18px; }
  .reserve-main { min-height: 220px; }
  .reserve-word { font-size: 38px; }
  .viewer { width: 100vw; height: 100svh; max-height: 100svh; border: 0; }
  .viewer-toolbar, .viewer-bottom { padding: 10px 12px; gap: 12px; }
  .viewer-toolbar { align-items: flex-start; }
  .viewer-toolbar p { font-size: 13px; }
  .viewer-toolbar > div { gap: 8px; }
  .viewer-stage { padding: 12px; }
}
@media (max-width: 540px) {
  :root { --header-height: 104px; }
  .header-inner, .nav { display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: 4px; padding-block: 6px 8px; }
  .brand { justify-content: center; min-height: 34px; gap: 10px; font-size: 14px; }
  .brand-mark { font-size: 25px; }
  .primary-nav, .nav-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
  .primary-nav .nav-link, .nav-links > a { min-height: 44px; padding: 9px 5px; font-size: 14px; }
  h1 { font-size: clamp(43px, 11vw, 59px); }
  .page-intro, .cv-intro { padding-block: 34px 38px; }
  .page-intro .eyebrow { font-size: 12px; margin-bottom: 14px; }
  .page-intro .lead { margin-top: 18px; }
  .intro-actions { margin-top: 24px; gap: 10px; }
  .button-link { padding-inline: 17px; }
  .cv-skills { padding-block: 30px 36px; }
  .skills-grid { grid-template-columns: 1fr; gap: 22px; }
  .skill-group { padding-top: 14px; }
  .skill-list { margin-block: 10px 10px; }
  .cv-section + .cv-section { margin-top: 34px; padding-top: 30px; }
  .cv-section > h2 { margin-bottom: 23px; }
  .software-grid, .education-grid, .tools-grid { grid-template-columns: 1fr; gap: 24px; }
  .discipline-grid, .project-grid, .contact-grid { grid-template-columns: 1fr; }
  .discipline-grid, .contact-grid { padding-top: 28px; }
  .discipline-card { padding: 24px; }
  .project-card-media, .card-art { aspect-ratio: 1.25; }
  .case-hero { padding-block: 22px 34px; }
  .back-link { margin-bottom: 15px; }
  .case-heading { margin-top: 16px; margin-bottom: 28px; }
  .case-heading h1 { font-size: clamp(44px, 10.8vw, 58px); }
  .case-meta { gap: 22px 16px; }
  .case-meta dt { font-size: 12px; }
  .case-meta dd { font-size: 14px; }
  .case-cover { padding-top: 22px; }
  .case-cover .cover-poster img { max-height: 410px; }
  .story h2 { margin-bottom: 20px; }
  .story > p { font-size: 16px; }
  .story > p.lead { font-size: 20px; }
  .project-timeline li { grid-template-columns: 1fr; gap: 8px; padding-block: 22px; }
  .project-timeline h3 { font-size: 25px; }
  .gallery.two, .event-list { grid-template-columns: 1fr; }
  .decision-grid > div { display: block; }
  .decision-grid h3 { margin-bottom: 10px; }
  .itinerary li { grid-template-columns: 90px minmax(0, 1fr); gap: 15px; }
  .long-art .art-link { max-height: 460px; }
  .video-play { right: 10px; bottom: 10px; padding: 10px 13px; font-size: 13px; }
  .video-meta { flex-direction: column; gap: 8px; }
  .event-reserve { grid-template-columns: 1fr; gap: 12px; }
  .reserve-main { min-height: 230px; }
  .reserve-side { min-height: 120px; }
  .contact .contact-grid { grid-template-columns: 1fr; gap: 26px; }
  .contact-card { padding: 24px; }
  .footer-inner { align-items: flex-start; }
  .footer-inner > span { width: 100%; }
  .footer-inner > p { width: 100%; }
  .viewer-toolbar { flex-wrap: wrap; }
  .viewer-toolbar p { width: 100%; }
  .viewer-toolbar > div { width: 100%; justify-content: space-between; }
  .viewer-stage { padding: 8px; }
  .viewer-bottom button { padding-inline: 9px; }
}

@media print {
  :root { --ink: #000; --muted: #333; --paper: #fff; }
  body { font-size: 11pt; background: #fff; }
  .site-header, .skip-link, .intro-actions, .cv-jump-links, .cv-sidebar, .footer, .site-footer, .viewer, .next-case { display: none !important; }
  .cv-intro, .cv-skills { color: #000; background: #fff; }
  .cv-intro .lead, .cv-intro .eyebrow { color: #333; }
  .shell { max-width: none; padding-inline: 0; }
  .page-intro, .cv-skills, .cv-grid { padding-block: 18pt; }
  .cv-grid { display: block; }
  .skills-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cv-section, .experience-item, .skill-group { break-inside: avoid; }
  .reveal-pending { opacity: 1 !important; transform: none !important; }
  h1 { font-size: 32pt; }
  h2 { font-size: 22pt; }
  a { text-decoration: underline; }
}

/* Case and collection integration; shared visual tokens come from style.css. */
.breadcrumb{padding-block:16px;font-size:13px;color:var(--muted)}.breadcrumb ol{display:flex;flex-wrap:wrap;gap:8px 12px;list-style:none;margin:0;padding:0}.breadcrumb li+li{margin:0}.breadcrumb li+li:before{content:'/';margin-right:12px;color:#9d8c7b}.breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}.case-intro{background:var(--black);color:var(--paper);padding-top:34px}.case-intro .eyebrow{color:var(--nude)}.case-intro .lead{color:#d6cdc3;max-width:760px}.case-intro h1{font-size:clamp(43px,6vw,80px)}.case-intro .case-meta{margin-top:32px}.timeline-date{font-size:14px;color:var(--muted);padding-top:5px}.case-return{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-block:40px 65px}.case-return .eyebrow{width:100%}.collection-note{padding-block:0 64px}.collection-note h2{margin-block:15px}.collection-note>p:last-child{max-width:760px;color:var(--muted)}.work-collection{padding-block:36px 64px}.work-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 30px}.work-card{min-width:0}.work-card-media{display:flex;align-items:center;justify-content:center;position:relative;aspect-ratio:1.5;background:#e9e2d8;overflow:hidden;padding:20px}.work-card-media img{width:100%;height:100%;object-fit:contain;transition:transform .3s ease}.work-card-body{padding-top:20px}.work-card-body .eyebrow{font-size:12px;color:var(--accent);margin-bottom:8px}.work-card-body h2{font-size:clamp(27px,3vw,38px);margin-bottom:12px}.work-card-body>p{color:var(--muted);max-width:54ch}.work-card-body .text-link{margin-top:12px}.card-open{position:absolute;right:15px;bottom:15px;border-radius:50%;background:var(--white);width:42px;height:42px;display:grid;place-items:center;font-size:22px}.work-card.product-card .work-card-media{background:#ede9e2;padding:0}.work-card-media:focus-visible{outline-offset:5px}.packaging-viewer{font-family:var(--sans);font-size:14px;line-height:1.5;border-radius:0;background:var(--white)}.pv-stage{height:530px}.pv-models:empty{display:none}.pv-product{font-family:var(--sans)}.pv-source-link{text-decoration:underline}.case-cover .packaging-viewer .pv-credit{font-size:12px}.case-cover .pv-top{padding:22px 28px}.case-cover .pv-tools button{min-height:44px}.case-cover .art img{background:transparent}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.work-card-media:hover img{transform:scale(1.025)}}
@media(max-width:640px){.work-card-grid{grid-template-columns:1fr;gap:35px}.work-collection{padding-block:26px 45px}.work-card-media{aspect-ratio:1.35}.work-card-body h2{font-size:30px}.pv-stage{height:360px}.pv-top{padding:18px}.pv-credit,.pv-hint{padding-inline:18px}.case-return{padding-block:32px 48px}.breadcrumb{font-size:12px}.case-intro .case-meta{margin-top:24px}}
@media print{.breadcrumb,.case-return,.video-launch,.packaging-viewer{display:none}.work-card-grid{display:block}.work-card{break-inside:avoid}}
.work-page .page-intro,.category-page .page-intro{padding-block:32px 36px}.work-page .page-intro h1,.category-page .page-intro h1{font-size:clamp(43px,5vw,67px)}.work-shortcuts{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:22px}.work-shortcuts a{display:inline-flex;align-items:center;gap:18px;min-height:44px;border-bottom:1px solid #b5a18e;font-size:14px}.work-page .discipline-card-media{aspect-ratio:1.9}.work-page .discipline-card{padding:24px}.work-page .discipline-card-body h2{font-size:34px}
@media(max-width:540px){.work-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.work-shortcuts a{font-size:13px}.work-page .discipline-card{padding:18px}}
@media(max-width:540px){.primary-nav .nav-link{font-size:13px;white-space:nowrap}}
.contact-more{padding-block:0 60px}.contact-more h2{margin-top:12px}.supporting-art{border-block:1px solid var(--line);margin-top:25px}.supporting-art summary{padding-block:18px;cursor:pointer;font-weight:500}.supporting-art .art{margin-top:10px}
.project-documents{margin-block:22px 35px}.document-link{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;border-block:1px solid var(--line)}.document-link+.document-link{border-top:0}.document-link strong{font-size:18px}.document-link p{font-size:13px;color:var(--muted);margin:6px 0 0}.document-link .button-link{flex-shrink:0;font-size:14px}.publication-pages .art-link{padding:18px;background:#e5e1dc}.publication-pages img{max-height:640px}.publication-reader{margin-top:30px;border-block:1px solid var(--line)}.publication-reader summary{padding:22px 4px;cursor:pointer;font-weight:500}.publication-reader[open] summary{border-bottom:1px solid var(--line)}.results-note{border-left:3px solid var(--nude);padding:8px 0 8px 22px;margin-top:30px}.results-note p{font-size:14px;margin-top:8px}.academic-portfolio{border-top:1px solid var(--line);padding-top:28px;margin-top:30px}.academic-portfolio h3{font-size:27px}.academic-portfolio p{margin-block:14px}.publication-card .work-card-media{background:#e5e1dc}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:900px){.discipline-grid .discipline-card:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.discipline-grid .discipline-card:last-child:nth-child(odd) .discipline-card-media{margin-bottom:0}}
@media(max-width:640px){.document-link{align-items:flex-start;flex-direction:column;gap:18px}.document-link .button-link{width:100%;justify-content:center}.publication-pages .art-link{padding:12px}.publication-reader summary{font-size:16px}.academic-portfolio h3{font-size:24px}}
.work-card-media.spread-preview{gap:14px;align-items:stretch}.work-card-media.spread-preview img{width:calc(50% - 7px);height:100%;object-fit:contain}
.decision-grid.four-decisions{grid-template-columns:repeat(2,minmax(0,1fr))}.decision-grid.four-decisions>div{display:block}
.gallery.single-artwork{grid-template-columns:1fr;max-width:900px;margin-inline:auto}
@media(max-width:760px){.decision-grid.four-decisions{grid-template-columns:1fr}}

/* Compact case navigation and optional supporting evidence. */
.case-outline{margin-top:1.5rem;max-width:54rem;border-block:1px solid var(--line,#d6cec6);padding:.6rem 0}
.case-outline summary,.supporting-evidence>summary{cursor:pointer;min-height:44px;display:list-item;padding:.65rem 0;font-size:.95rem;font-weight:500}
.case-outline nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.1rem 1.5rem;padding:.4rem 0 .8rem}
.case-outline nav a{display:block;padding:.6rem 0;font-size:.95rem;line-height:1.5;text-decoration:underline;text-underline-offset:.2em}
.supporting-evidence{border-block:1px solid var(--line,#d6cec6);margin:1.5rem 0;padding:.5rem 0}
.supporting-evidence[open]>summary{margin-bottom:1rem}
.case-return>.text-link{display:inline-flex;align-items:center;min-height:44px;margin:.75rem 0 .75rem 1rem}
@media(max-width:600px){.case-outline nav{grid-template-columns:1fr}.case-return>.text-link{margin-left:0}}

.film-access{margin-block:1.5rem 3rem}.film-transcript{max-width:60rem}.film-transcript p{font-size:1rem;line-height:1.7;max-width:68ch}.film-transcript .event-transcript-time{display:inline-block;min-width:3.3rem;font-variant-numeric:tabular-nums;color:var(--muted,#665f58)}.film-transcript .event-transcript-note{font-size:.9rem;color:var(--muted,#665f58)}

.video-caption-toggle{display:block;min-height:44px;padding:.6rem .9rem;margin:.75rem 0 0;border:1px solid #aca298;border-radius:4px;color:#26211c;background:#f8f5f0;font:inherit;font-size:.9rem;cursor:pointer}.video-caption-toggle[aria-pressed=true]{background:#26211c;color:#fff}.video-caption-toggle:focus-visible{outline:3px solid #897456;outline-offset:3px}

/* Draw link arrows as monochrome strokes so phones cannot substitute emoji. */
.link-arrow { display:inline-block; position:relative; width:.9em; height:.9em; margin-left:.2em; flex:none; vertical-align:-.04em; color:inherit; }
.link-arrow::before { content:""; position:absolute; width:.82em; height:1.5px; left:0; top:.48em; background:currentColor; transform:rotate(-45deg); }
.link-arrow::after { content:""; position:absolute; width:.5em; height:.5em; right:.08em; top:.1em; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; }
.link-arrow-up { transform:rotate(-45deg); }
a.text-link:hover, a.text-link:focus-visible { text-decoration:underline; text-underline-offset:.25em; }
.br-original::after { content:""; display:inline-block; width:.65em; height:.65em; margin-left:.5em; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; }
.text-link:hover > .link-arrow-up { transform:translateY(-3px) rotate(-45deg); }

/* October 2026 audit: restrained glass surfaces, readable evidence, clear destinations. */
/* Header clearance belongs to the scroll container, not both offsets. */
html { scroll-padding-top: calc(var(--header-offset) + 16px); }
[id] { scroll-margin-top: 16px; }
.site-header { background: #191613; }
.work-page, .category-page { background: radial-gradient(ellipse 950px 720px at 0 450px, #d8bda37a, transparent 78%), radial-gradient(ellipse 880px 820px at 100% 1000px, #cad3c76b, transparent 78%), var(--paper); }
.work-page .page-intro { border-bottom: 0; padding-bottom: 22px; }
.work-page .page-intro .lead { max-width: 720px; }
.work-areas { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px; padding-block: 12px 70px; }
.area-card { grid-column: span 2; min-width: 0; display: flex; flex-direction: column; border: 1px solid #c9bdaf; border-radius: 16px; background: #fffcf7; box-shadow: 0 6px 24px #44332109, inset 0 1px 0 #fff; transition: transform 220ms var(--ease), border-color 180ms, box-shadow 220ms, background 180ms; }
.area-card:nth-child(-n+2) { grid-column: span 3; }
.area-visual { display: block; position: relative; aspect-ratio: 1.72; overflow: hidden; margin: 9px 9px 0; border-radius: 10px; background: #eae4dc; }
.area-card:nth-child(-n+2) .area-visual { aspect-ratio: 2.1; }
.area-visual img { width: 100%; height: 100%; object-fit: cover; transition: transform 450ms var(--ease); }
.area-visual.product-still { background: #ede9e2; padding: 0; }
.area-visual.product-still img { object-fit: contain; }
.area-visual.brand-still { background: linear-gradient(145deg, #d7dbe3, #b5bdce); }
.area-visual.brand-still img { position: absolute; object-fit: contain; height: auto; width: 72%; border: 1px solid #ffffffc7; box-shadow: 0 9px 20px #161b3633; }
.area-visual.brand-still img:first-child { top: 8%; right: 5%; transform: rotate(5deg); }
.area-visual.brand-still img:last-child { bottom: 10%; left: 5%; transform: rotate(-5deg); }
.area-body { display: flex; flex-direction: column; flex: 1; padding: 24px; }
.area-body .eyebrow { font-size: 11px; color: #73533b; margin-bottom: 10px; }
.area-body h2 { font-size: clamp(27px, 2.6vw, 37px); letter-spacing: -.025em; line-height: 1.12; margin: 0; }
.area-body p:not(.eyebrow) { margin: 13px 0 22px; color: #5f554c; font-size: 15px; line-height: 1.55; }
.area-cta { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: auto; padding-top: 14px; border-top: 1px solid #bdb0a27a; font-size: 13px; font-weight: 500; }
.area-arrow { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #fffaf1; border: 1px solid #c3b4a4; font-size: 19px; transition: background 180ms, color 180ms, transform 220ms; }
.area-card:focus-visible { outline: 3px solid #6f503b; outline-offset: 5px; border-color: #886345; box-shadow: 0 12px 32px #4433211c; }
.area-card:focus-visible .area-arrow { background: #332a23; color: #fff; }
.category-switcher { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 24px; padding: 10px; border: 1px solid #c9bdaf; border-radius: 14px; background: #fffcf7; box-shadow: inset 0 1px 0 #fff, 0 3px 14px #44332105; width: fit-content; max-width: 100%; }
.category-switcher a { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 14px; border-radius: 8px; font-size: 13px; line-height: 1.35; border: 1px solid transparent; transition: background 160ms, border-color 160ms; }
.category-switcher a[aria-current=page] { background: #332a23; color: #fffaf2; }
.category-switcher a:focus-visible { outline-offset: 2px; }
.events-intro-grid > .category-switcher { grid-column: 1/-1; margin-top: 0; }
.events-intro-grid { row-gap: 24px; }
.research-intro-note { max-width: 780px; margin-top: 14px; color: var(--muted); font-size: 14px; line-height: 1.65; }
.case-intro { padding-block: 30px 36px; }
.case-intro h1 { font-size: clamp(40px, 5.2vw, 72px); }
.case-intro .lead { margin-top: 18px; font-size: clamp(18px, 1.7vw, 22px); }
.case-intro .case-meta { margin-top: 24px; }
.case-intro .case-outline { margin-top: 18px; }
.case-intro :focus-visible { outline-color: #d8c1ad; }
.category-page .work-card-body h2, .category-page .work-card-body h3 { font-size: clamp(27px, 3vw, 38px); margin-bottom: 12px; }
.category-page .work-card-media { border-radius: 10px; }
.work-card-link { display: flex; flex-direction: column; height: 100%; padding: 10px; border: 1px solid #d3c9bd; border-radius: 14px; background: #fffcf7; transition: border-color 180ms, box-shadow 180ms; }
.work-card-link .work-card-body { padding: 20px 12px 12px; display: flex; flex-direction: column; flex: 1; }
.work-card-link .work-card-body > .text-link { align-self: flex-start; margin-top: auto; padding-top: 18px; }
.work-card-link .work-card-body > p:last-of-type { margin-bottom: 10px; }
.work-card-link:focus-visible { outline: 3px solid #6f503b; outline-offset: 5px; border-color: #886345; }
.film-card .work-card-media { padding: 0; aspect-ratio: 16/9; }
.film-card .work-card-media img { object-fit: cover; }
.research-photo.work-card-media { padding: 0; background: #eee9e1; }
.research-photo.work-card-media img { object-fit: contain; }
.research-tile.work-card-media, .research-photo.work-card-media { min-height: 250px; }
.research-tile .card-open { display: none; }
.concept-tag { position: absolute; bottom: 14px; left: 14px; max-width: calc(100% - 82px); padding: 6px 9px; font-size: 11px; font-weight: 500; background: #fffcf7f2; border: 1px solid #d0c2b4; border-radius: 4px; color: #332a23; }
.concept-presentation .art-link { padding: 0; background: #eee9e1; border-radius: 12px; overflow: hidden; }
.concept-presentation .art-link img { width: 100%; max-height: 750px; object-fit: contain; }
.concept-presentation figcaption { max-width: 82ch; line-height: 1.6; }
.presentation-note { margin-top: 18px; padding: 18px 22px; border-left: 2px solid #886345; background: #ebe0d54d; color: #5f554c; font-size: 14px; line-height: 1.65; }
.presentation-note a { text-decoration: underline; text-underline-offset: 3px; }
.research-diagram { display: flex; flex-direction: column; justify-content: center; gap: 18px; width: 100%; align-self: stretch; padding: clamp(18px, 3vw, 34px); background: #ebe7e1; }
.research-diagram .diagram-label { font-size: 11px; letter-spacing: .09em; text-transform: uppercase; color: #675748; }
.research-diagram .diagram-title { font: 400 clamp(24px, 3vw, 36px)/1.1 var(--serif); color: #29231f; max-width: 17ch; }
.diagram-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.diagram-steps span { display: block; padding: 10px; border: 1px solid #bbaea0; background: #fffcf7; font-size: 13px; color: #3c322a; }
.diagram-steps b { color: #85654b; font-size: 11px; margin-right: 7px; }
.research-tile.work-card-media { padding: 0; }
.research-board { border: 1px solid #c6b8a7; background: linear-gradient(145deg, #f0e5d7, #ece9e3); border-radius: 12px; padding: clamp(22px, 4vw, 48px); }
.research-board > .eyebrow { color: #73533b; margin-bottom: 14px; }
.research-board h2 { max-width: 750px; font-size: clamp(30px, 4vw, 48px); }
.research-board > p { margin-top: 18px; max-width: 78ch; color: #5f554c; }
.research-board ol { list-style: none; padding: 0; margin: 28px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.research-board li { margin: 0; padding: 22px 18px; border: 1px solid #c9bdaf; border-radius: 8px; background: #fffcf7; }
.research-board li > span { color: #73533b; font-size: 12px; font-weight: 600; }
.research-board h3 { font-size: 25px; margin-top: 14px; }
.research-board li p { margin-top: 14px; color: #5f554c; font-size: 14px; line-height: 1.6; }
.research-board .board-footnote { font-size: 13px; border-top: 1px solid #c5b8a7; padding-top: 18px; }
.research-board .text-link { margin-top: 10px; }
.contact-section { background: radial-gradient(ellipse at 15% 25%, #e4cfba8c, transparent 60%); }
.contact-card { border-radius: 12px; box-shadow: inset 0 1px 0 #fff, 0 5px 20px #44332107; }
@supports ((backdrop-filter: blur(12px)) or (-webkit-backdrop-filter: blur(12px))) {
  .site-header { background: #191613dc; -webkit-backdrop-filter: blur(22px) saturate(115%); backdrop-filter: blur(22px) saturate(115%); border-bottom-color: #ffffff24; }
  .area-card, .work-card-link, .category-switcher, .contact-card { background: linear-gradient(135deg, #ffffffb8, #fffaf26b); -webkit-backdrop-filter: blur(22px) saturate(115%); backdrop-filter: blur(22px) saturate(115%); border-color: #fffdf4; box-shadow: inset 0 1px 0 #fff, inset 0 -1px 0 #d2c2b17a, 0 0 0 1px #9b816129, 0 10px 28px #5d493112; }
}
@media (hover: hover) {
  .work-card-link:hover { border-color: #bd9675; box-shadow: inset 0 1px 0 #fff, 0 12px 30px #44332124; }
  .work-card-link:hover .card-open { background: #332a23; color: #fff; }
  .area-card:hover { background: linear-gradient(135deg, #ffffffe6, #fffaf28c); border-color: #bd9675; box-shadow: inset 0 1px 0 #fff, 0 14px 32px #44332126; }
  .area-card:hover .area-arrow { background: #332a23; color: #fff; }
  .category-switcher a:not([aria-current]):hover { background: #e9dccd; border-color: #bda790; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .work-card-link:hover .work-card-media img { transform: scale(1.025); }
  .area-card:hover { transform: translateY(-4px); }
  .area-card:hover .area-visual:not(.brand-still) img { transform: scale(1.035); }
  .area-card:hover .area-arrow { transform: rotate(8deg); }
  .area-card:hover .brand-still img:first-child { transform: translateY(-3px) rotate(7deg); }
  .area-card:hover .brand-still img:last-child { transform: translateY(-3px) rotate(-3deg); }
}
@media (max-width: 1000px) {
  .work-areas { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .area-card, .area-card:nth-child(-n+2) { grid-column: auto; }
  .area-card:last-child { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; }
  .area-card:last-child .area-visual { margin: 9px; aspect-ratio: auto; min-height: 230px; }
  .area-card:nth-child(-n+2) .area-visual { aspect-ratio: 1.72; }
  .research-board ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .work-areas { grid-template-columns: 1fr; gap: 20px; padding-bottom: 45px; }
  .area-card:last-child { grid-column: auto; display: flex; }
  .area-card:last-child .area-visual { margin: 9px 9px 0; aspect-ratio: 1.72; min-height: 0; }
  .area-body { padding: 20px; }
  .area-body h2 { font-size: 31px; }
  .area-body p:not(.eyebrow) { margin-bottom: 16px; }
  .category-switcher { display: grid; grid-template-columns: 1fr 1fr; width: 100%; gap: 4px; padding: 7px; }
  .category-switcher a { padding-inline: 8px; font-size: 12px; justify-content: flex-start; }
  .research-board ol { grid-template-columns: 1fr; }
  .research-board li { padding: 18px; }
  .research-board h3 { margin-top: 6px; }
  .research-board li p { margin-top: 8px; }
  .research-diagram { gap: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .area-card, .area-visual img, .area-arrow, .category-switcher a { transition: none; }
}
@media (prefers-reduced-transparency: reduce) {
  .area-card, .work-card-link, .category-switcher, .contact-card { background: #fffcf7; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .site-header { background: #191613; backdrop-filter: none; -webkit-backdrop-filter: none; }
}
@media (forced-colors: active) {
  .area-card, .work-card-link, .category-switcher, .contact-card, .research-board, .research-board li { background: Canvas; border: 1px solid CanvasText; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .category-switcher a[aria-current=page] { border: 2px solid LinkText; }
}
@media print {
  .area-card, .work-card-link, .category-switcher, .contact-card, .site-header { backdrop-filter: none; -webkit-backdrop-filter: none; box-shadow: none; }
  .category-switcher { display: none; }
  .work-areas { display: block; }
  .area-card { break-inside: avoid; margin-bottom: 20px; }
}

/* Newly curated identity, publication and packaging cases. */
.case-jump-nav { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.case-jump-nav a { display:inline-flex; align-items:center; min-height:44px; padding:10px 16px; border:1px solid currentColor; border-radius:30px; font-size:13px; text-decoration:none; transition:background .2s ease,color .2s ease; }
.case-intro .case-jump-nav a { color:#eadbc9; border-color:#6c6155; }
.case-jump-nav a:hover { background:#eadbc9; color:#191610; }
.case-source-links { display:flex; gap:20px; flex-wrap:wrap; margin-top:26px; }
.collection-heading { padding:5px 0 28px; max-width:760px; }
.collection-heading h2 { margin:8px 0 14px; font-size:clamp(30px,3.5vw,44px); }
.collection-heading p:last-child { color:var(--muted); }
.publication-pair { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
.publication-pair .art { margin:0; }
.publication-pair .art-link { padding:clamp(20px,3vw,36px); background:#e7e2dc; }
.publication-pair .art-link img { max-height:600px; width:auto; box-shadow:0 8px 22px #25201914; }
.cannula-showcase { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:clamp(24px,5vw,70px); padding-block:44px; }
.cannula-image { border-radius:14px; background:#fff; overflow:hidden; padding:25px; }
.cannula-image img { width:100%; height:480px; object-fit:contain; }
.cannula-intro h2 { font-size:clamp(34px,4vw,53px); line-height:1.08; margin:16px 0 24px; }
.cannula-intro p:not(.eyebrow) { max-width:38ch; color:var(--muted); }
.cannula-intro .button-link { margin-top:24px; }
.cannula-card .work-card-media { background:#fff; }
.logo-section { padding-block:40px 20px; }
.logo-section-intro { max-width:64ch; margin-bottom:32px; color:var(--muted); }
.logo-collection { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px 28px; }
.logo-project { min-width:0; display:flex; flex-direction:column; }
.logo-project .logo-art { margin:0; }
.logo-art .art-link { padding:clamp(24px,4vw,58px); min-height:255px; border:1px solid #dedbd5; background:#fff; border-radius:12px; }
.logo-art .art-link img { width:100%; max-height:140px; object-fit:contain; }
.logo-art figcaption { display:none; }
.logo-art .art-open { font-size:11px; padding:6px 10px; }
.logo-copy { padding:24px 4px 0; }
.logo-copy h2 { font-size:32px; margin-bottom:12px; }
.logo-copy p { color:var(--muted); font-size:16px; line-height:1.65; max-width:54ch; }
.logo-copy .text-link { margin-top:12px; font-size:14px; }
.logo-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.logo-pair .art-link { padding:28px 20px 45px; height:255px; }
.logo-overview-card .work-card-media { background:#fff; gap:24px; padding:40px; }
.logo-overview-card .work-card-media img { width:45%; height:140px; }
.alcohol-card .work-card-media { gap:24px; background:#e6e3df; padding:32px; }
.alcohol-card .work-card-media img:first-child { width:56%; transform:rotate(-5deg); }
.alcohol-card .work-card-media img:last-of-type { width:37%; max-height:230px; transform:rotate(5deg); }
.pouch-art .art-link, .carton-face-art .art-link { min-height:380px; }
.pouch-art img { max-height:340px; }
@media (max-width:760px) {
 .cannula-showcase { grid-template-columns:1fr; gap:26px; }
 .cannula-image img { height:370px; }
 .publication-pair { gap:18px; }
 .logo-art .art-link { padding:28px 22px 50px; }
 .logo-pair { gap:8px; }
 .logo-pair .art-link { padding:18px 12px 50px; }
 .logo-pair .art-open { font-size:10px; right:4px; left:4px; justify-content:center; gap:5px; }
}
@media (max-width:640px) {
 .logo-collection { grid-template-columns:1fr; gap:32px; }
 .logo-art .art-link { min-height:220px; }
 .logo-pair .art-link { height:220px; }
 .publication-pair { grid-template-columns:1fr; }
 .publication-pair .art-link img { max-height:470px; }
 .pouch-art .art-link,.carton-face-art .art-link { min-height:250px; }
 .case-jump-nav { gap:8px; }
 .case-jump-nav a { font-size:12px; padding:10px 13px; }
}
@media (prefers-reduced-motion:reduce) { .case-jump-nav a { transition:none; } }
.featured-publication { grid-column:1 / -1; }
.featured-publication .work-card-link { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:clamp(22px,4vw,50px); }
.featured-publication .work-card-body { padding:24px 26px 24px 0; }
@media(max-width:640px) { .featured-publication .work-card-link { display:block; } .featured-publication .work-card-body { padding:20px 7px 7px; } }
.logo-portfolio .viewer-stage { background:#fff; padding:clamp(24px,5vw,70px); }
.logo-portfolio .viewer-stage img { max-width:100%; max-height:100%; }
/* Source mapped renders already include their own framing and studio ground. */
.work-card.product-card .work-card-media { aspect-ratio: 4/3; }
.refined-products .work-card .cover-face-masks img,
.refined-products .work-card .cover-iv-securement-dressings img { padding: 0; background: #ede9e2; }
.curated-image img[src*="packaging-covers/"] { padding: 0; background: #ede9e2; }

/* Shared semantic type scale. Keep source artwork and the identity mark independent. */
:root {
  --type-display: 4rem;
  --type-section: 2.5rem;
  --type-title: 1.75rem;
  --type-lead: 1.25rem;
  --type-body: 1rem;
  --type-small: .875rem;
  --type-label: .75rem;
}
@media (max-width: 640px) {
  :root { --type-display: 2.5rem; --type-section: 2rem; --type-title: 1.5rem; }
}
@media screen {
  body { font-size: var(--type-body); }
  h1, .page-intro h1, .cv-intro h1, .case-intro h1, .case-heading h1,
  .work-page .page-intro h1, .category-page .page-intro h1, .refined-product .page-intro h1, .events-heading h1 { font-size: var(--type-display); }
  h2, .cv-skills .section-heading h2, .collection-heading h2, .cannula-intro h2,
  .research-board h2, .contact h2, .next-case h2 { font-size: var(--type-section); }
  h3, .area-body h2, .work-card-body h2, .work-card-body h3,
  .category-page .work-card-body h2, .category-page .work-card-body h3,
  .project-card-body h2, .project-card-body h3, .card-copy h3,
  .discipline-card h2, .work-page .discipline-card-body h2, .contact-card h2,
  .logo-copy h2, .project-timeline h3, .decision-grid h3, .event-list h3,
  .academic-portfolio h3, .gallery-introduction h3, .research-board h3,
  .research-diagram .diagram-title, .launch-copy h3,
  .decision-study .evidence-metrics dd, .brochure-card h2, .brochure-card h3,
  .communication-path h3, .event-film-heading h3 { font-size: var(--type-title); }
  .lead, .cv-intro .lead, .case-intro .lead, .story > p.lead, .case-heading > p,
  .contact-value, .entry-title, .experience-item h3, .education-item .entry-title,
  .education-grid h3, .software-grid h3, .decision-study h3, .br-header h2,
  .events-introduction .lead { font-size: var(--type-lead); }
  h4, .story > p, .role-panel p, .area-body p:not(.eyebrow),
  .skill-group h3, .tool-group h3, .project-summary dd, .design-result p,
  .event-list p, .discipline-links a, .case-meta dd,
  .collection-heading p, .logo-copy p, .events-connection, .pv-product { font-size: var(--type-body); }
  .small, .entry-meta, .meta, .intro-meta, .intro-facts, .family-date,
  .breadcrumb, .brand, .primary-nav .nav-link, .nav-links > a,
  .button-link, .text-link, .inline-link, .area-cta, .category-switcher a,
  .case-jump-nav a, .family-nav a, .section-nav a, .cv-jump-links a,
  .case-outline summary, .supporting-evidence > summary, .case-outline nav a,
  .work-shortcuts a, .contact-action, .card-link, .card-action,
  .art figcaption, .curated-image figcaption, .asset-caption, .art-open,
  .curated-grid.blades .art-open, .curated-grid.blades figcaption,
  .logo-art .art-open, .logo-pair .art-open, .family-support .art figcaption,
  .research-intro-note, .presentation-note, .diagram-steps span,
  .research-board li p, .research-board .board-footnote,
  .role-panel p.small, .document-link p, .results-note p,
  .tag-list > li, .tags > li, .tag-list > span, .fact-list dt,
  .launch-study figcaption, .footer-inner, .viewer-toolbar p, .viewer-bottom,
  .video-play, .video-meta, .video-caption-toggle, .film-transcript .event-transcript-note,
  .pv-dimension, .pv-hint, .pv-credit, .refined-product .pv-dimension, .refined-product .pv-hint, .refined-product .pv-credit,
  .refined-product .pv-models button, .case-cover .packaging-viewer .pv-credit,
  .brochure-card .button-link, .communication-path .text-link,
  .brochure-reader button, .brochure-reader select, .br-toolbar label, .br-scale,
  .br-original, .br-count, .br-hint, .br-access summary,
  .unite-document > span, .unite-case-nav, .melomed-credit, .melomed-film-note,
  .melomed-section-nav a, .event-film-heading > span,
  .event-film figcaption, .event-media-credit, .event-jump a,
  .booth-status, .booth-credit { font-size: var(--type-small); }
  .family-card-range { font-size: var(--type-small) !important; }
  .eyebrow, .page-intro .eyebrow, .area-body .eyebrow, .work-card-body .eyebrow,
  .section-nav > .eyebrow, .project-summary dt, .case-meta dt,
  .research-diagram .diagram-label, .diagram-steps b, .research-board li > span,
  .concept-tag, .launch-copy .eyebrow, .design-result h3,
  .pv-eyebrow, .refined-product .pv-eyebrow, .pv-stage-label, .br-kicker { font-size: var(--type-label); }
  .document-link strong { font-size: var(--type-body); }
  .section-number { font-size: var(--type-title); }
  .art-open { gap: 8px; }
}

/* Curated brand collection. Original artwork is always shown intact. */
.brand-collection .page-intro .lead { max-width: 760px; }
.brand-section-nav { display: flex; flex-wrap: wrap; gap: 14px 36px; margin-top: 28px; }
.brand-section-nav a { display: flex; align-items: center; gap: 14px; min-height: 44px; padding-block: 8px; border-bottom: 1px solid #b9a58f; font-size: var(--type-small); }
.brand-section-nav a > span:first-child { color: var(--accent); font-size: var(--type-label); }
.brand-section-nav a:hover { border-bottom-color: var(--ink); }
.brand-group { padding-block: 46px 54px; }
.brand-group + .brand-group { border-top: 1px solid var(--line); }
.brand-group-heading { max-width: 780px; margin-bottom: 28px; }
.brand-group-heading .eyebrow { color: var(--accent); margin-bottom: 12px; }
.brand-group-heading h2 { margin-bottom: 16px; }
.brand-group-heading > p:last-child { max-width: 65ch; color: var(--muted); }
.brand-project .work-card-body { padding: 24px 16px 14px; }
.brand-project .work-card-body > p { max-width: 52ch; }
.brand-project .brand-card-skills { font-size: var(--type-small); line-height: 1.6; color: #695442; padding-top: 14px; margin-top: 14px; border-top: 1px solid #cbbbaa80; }
.brand-project-wide { grid-column: 1/-1; }
.brand-project-wide .work-card-link { display: grid; grid-template-columns: 1.15fr 1fr; gap: 20px; align-items: center; }
.brand-project-wide .work-card-body { padding: 24px; }
.brand-preview { position: relative; min-width: 0; aspect-ratio: 1.5; border-radius: 10px; overflow: hidden; background: #e5e4df; isolation: isolate; }
.brand-preview > img { position: absolute; width: auto; height: 84%; object-fit: contain; filter: drop-shadow(0 10px 10px #18172222); max-width: 85%; transition: transform 240ms var(--ease); }
.brand-preview > img:first-child { left: 9%; top: 6%; transform: rotate(-3deg); }
.brand-preview > img:last-child { right: 9%; bottom: 6%; transform: rotate(3deg); }
.brand-preview.pharma { background: radial-gradient(ellipse at top left, #f3f4f6, #cbd1d9); }
.brand-preview.pharma > img { width: 78%; height: auto; filter: drop-shadow(0 12px 10px #25304626); }
.brand-preview.pharma > img:first-child { left: 5%; top: 9%; }
.brand-preview.pharma > img:last-child { right: 4%; bottom: 9%; }
.brand-preview.precision { background: radial-gradient(ellipse at top right, #f5f0e7, #ded6c6); }
.brand-preview.new-products { background: radial-gradient(ellipse at top left, #cddedd, #a5bac4); }
.brand-preview.inspire { background: radial-gradient(ellipse at top left, #d6d8e2, #a8b0c7); }
.brand-preview.inspire > img { width: 72%; height: auto; }
.brand-preview.inspire > img:first-child { left: 4%; top: 7%; }
.brand-preview.inspire > img:last-child { right: 4%; bottom: 7%; }
.brand-preview.vortex { background: radial-gradient(ellipse at top left, #e7ddda, #c9b8b0); }
.brand-preview.marks { display: grid; place-items: center; grid-template-rows: repeat(3,minmax(0,1fr)); gap: 24px; padding: 34px 50px; background: #fbfaf8; }
.brand-preview.marks > img { position: static; width: 74%; height: 100%; max-height: 70px; max-width: 100%; object-fit: contain; transform: none; filter: none; }
.brand-preview.marks > img:nth-child(2) { max-height: 76px; width: 47%; }
.brand-preview.cannula { background: #f5f3f0; }
.brand-preview.cannula > img:first-child { left: 3%; top: 7%; height: 87%; width: 50%; transform: none; filter: none; }
.brand-preview.cannula > img:last-child { right: 7%; height: 84%; }
.brand-closing { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 40px; border-top: 1px solid var(--line); padding-block: 28px 55px; }
.brand-closing p { color: var(--muted); }
.brand-case .case-meta { grid-template-columns: 1.4fr .8fr 1fr; }
.brand-case .case-meta-four { grid-template-columns: repeat(4,minmax(0,1fr)); }
.brand-case-lead { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(28px,4vw,60px); align-items: center; padding-block: 44px 52px; }
.brand-case-lead .brand-preview { aspect-ratio: 1.3; }
.brand-brief .eyebrow { color: var(--accent); margin-bottom: 16px; }
.brand-brief h2 { font-size: var(--type-title); max-width: 24ch; }
.brand-brief > p:not(.eyebrow) { color: var(--muted); margin-block: 20px 24px; max-width: 48ch; }
.brand-source-caption { color: var(--muted); font-size: var(--type-small); line-height: 1.6; margin-top: 14px; max-width: 86ch; }
.brand-chapter { padding-block: 52px; }
.brand-chapter-heading { max-width: 850px; margin-bottom: 30px; }
.brand-chapter-heading .eyebrow { color: var(--accent); margin-bottom: 14px; }
.brand-chapter-heading h2 { margin-bottom: 18px; }
.brand-chapter-heading > p:last-child { color: var(--muted); max-width: 76ch; font-size: var(--type-body); }
.brand-evidence { margin: 0; min-width: 0; }
.brand-evidence .art-link { display: flex; justify-content: center; padding: clamp(18px,3vw,32px); border: 1px solid #d8cfc2; border-radius: 8px; background: #e9e5de; overflow: hidden; min-height: 0; }
.brand-evidence img { display: block; width: 100%; height: auto; max-height: 650px; object-fit: contain; filter: drop-shadow(0 5px 9px #1e1a1815); }
.brand-evidence figcaption { font-size: var(--type-small); color: var(--muted); line-height: 1.65; margin-top: 14px; max-width: 74ch; }
.brand-evidence .art-open { font-size: var(--type-small); }
.brand-evidence-row { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: clamp(28px,4vw,60px); }
.brand-evidence-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.brand-evidence-trio { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.brand-evidence-trio .art-link { padding: 18px; }
.brand-evidence-trio .art-open { font-size: var(--type-small); right: 8px; bottom: 8px; }
.brand-decision-list { list-style: none; padding: 0; margin: 0; counter-reset: brand-decision; }
.brand-decision-list li { position: relative; padding: 22px 0 22px 40px; margin: 0; border-top: 1px solid var(--line); counter-increment: brand-decision; }
.brand-decision-list li::before { content: counter(brand-decision,decimal-leading-zero); position: absolute; top: 25px; left: 0; font-size: var(--type-small); color: var(--accent); }
.brand-decision-list h3 { font: 600 var(--type-lead)/1.35 var(--sans); letter-spacing: -.02em; margin-bottom: 12px; }
.brand-decision-list p { font-size: var(--type-body); color: var(--muted); line-height: 1.7; }
.brand-conclusion { margin-top: 26px; padding: 26px 30px; border-left: 2px solid var(--accent); background: #e7ddd14a; }
.brand-conclusion p { color: var(--muted); max-width: 82ch; font-size: var(--type-body); }
.brand-conclusion p + a { margin-top: 22px; }
.brand-support { margin-top: 30px; border-block: 1px solid var(--line); }
.brand-support > summary { padding: 20px 0; min-height: 44px; cursor: pointer; font-size: var(--type-body); font-weight: 500; }
.brand-support > :not(summary) { margin-block: 6px 28px; }
.brand-publication { display: flex; gap: 30px; align-items: center; justify-content: space-between; padding: 32px; border: 1px solid #d1c2b1; border-radius: 12px; background: #fffaf2; }
.brand-publication h3 { font-size: var(--type-title); margin-block: 12px; }
.brand-publication p:not(.eyebrow) { color: var(--muted); max-width: 57ch; font-size: var(--type-body); }
.brand-publication .button-link { flex-shrink: 0; }
.brand-launch-row { display: grid; grid-template-columns: .65fr 1fr; gap: 48px; align-items: start; }
.brand-launch-row .brand-evidence { max-width: 340px; margin-inline: auto; }
.brand-launch-row .brand-evidence img { max-height: 700px; }
.brand-launch-row > div > p { margin-block: 18px; max-width: 55ch; color: var(--muted); }
.brand-launch-row .button-link { margin-top: 8px; }
.brand-refinement-label { font-size: var(--type-small); color: #634d39; padding: 13px 18px; border: 1px solid #c2ae97; border-radius: 6px; background: #f0e5d7; margin-bottom: 20px; width: fit-content; }
.brand-refinement-reasons { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin-top: 30px; }
.brand-refinement-reasons h3 { font-size: var(--type-title); margin-bottom: 12px; }
.brand-refinement-reasons p { color: var(--muted); font-size: var(--type-body); }
.inspire-study { max-width: 980px; margin-inline: auto; background: #fff; border: 1px solid #d5d3dd; box-shadow: 0 10px 30px #22243d0a; color: #202958; font-family: var(--sans); }
.inspire-study-header { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 24px 38px; background: #fff; color: #202958; border-bottom: 6px solid #202958; }
.inspire-study-header > img { width: 180px; max-width: 50%; height: auto; }
.inspire-study-header > span:last-child { font-size: var(--type-small); }
.inspire-study-body { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 42px; padding: 40px; }
.inspire-study-intro h3 { font: 600 var(--type-title)/1.2 var(--sans); letter-spacing: -.02em; margin-block: 14px 22px; }
.inspire-study-intro .eyebrow { font-size: var(--type-label); color: #646c89; }
.inspire-study-intro dl { display: grid; grid-template-columns: auto auto; gap: 18px; border-top: 1px solid #d0d5e1; padding-top: 16px; }
.inspire-study-intro dt { font-size: var(--type-label); color: #646c89; margin-bottom: 5px; }
.inspire-study-intro dd { margin: 0; font-size: var(--type-body); font-weight: 600; }
.inspire-study-image { display: grid; align-items: center; }
.inspire-study-image img { width: 100%; max-height: 270px; object-fit: contain; }
.inspire-study table { grid-column: 1/-1; width: 100%; border-collapse: collapse; font-size: var(--type-body); }
.inspire-study caption { text-align: left; font-size: var(--type-lead); font-weight: 600; padding-bottom: 14px; }
.inspire-study th, .inspire-study td { padding: 11px 16px; text-align: left; vertical-align: top; }
.inspire-study th { font-size: var(--type-small); color: #fff; background: #202958; font-weight: 500; }
.inspire-study tbody tr:nth-child(even) { background: #f2f4f8; }
.inspire-study td:first-child { width: 105px; font-weight: 600; font-variant-numeric: tabular-nums; }
.inspire-study-footer { padding: 18px 40px; border-top: 1px solid #d5d9e4; color: #646c89; font-size: var(--type-small); }
.brand-mark-application { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; gap: 28px; }
.brand-mark-panel { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 40px; padding: 40px; border: 1px solid #d8cfc2; border-radius: 8px; background: #fff; }
.brand-mark-panel img { width: 100%; }
.brand-mark-panel p { font-size: var(--type-small); color: var(--muted); }
.brand-related-links { display: flex; gap: 20px 40px; flex-wrap: wrap; margin-top: 24px; }
.brand-logo-project { padding-bottom: 30px; border-bottom: 1px solid var(--line); }
.brand-logo-project .logo-copy h2 { font-size: var(--type-title); }
.brand-case .brand-evidence-pair + .brochure-card { margin-top: 32px; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .brand-project .work-card-link:hover .brand-preview:not(.marks) > img:first-child { transform: translateY(-3px) rotate(-3deg); }
 .brand-project .work-card-link:hover .brand-preview:not(.marks) > img:last-child { transform: translateY(-3px) rotate(3deg); }
 .brand-project .work-card-link:hover .brand-preview.cannula > img:first-child { transform: translateY(-3px); }
}
@media (max-width:1000px) {
 .brand-case .case-meta-four { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .brand-case-lead, .brand-evidence-row { gap: 28px; }
 .brand-evidence-trio { gap: 14px; }
 .brand-publication { align-items: flex-start; flex-direction: column; }
 .inspire-study-body { padding: 28px; gap: 20px; }
}
@media (max-width:760px) {
 .brand-case-lead, .brand-evidence-row, .brand-project-wide .work-card-link { grid-template-columns: 1fr; }
 .brand-brief h2 { max-width: 30ch; }
 .brand-brief > p:not(.eyebrow) { max-width: 70ch; }
 .brand-case-lead .brand-preview { aspect-ratio: 1.5; }
 .brand-evidence-trio { grid-template-columns: 1fr; gap: 28px; }
 .brand-evidence-trio .art-link img { max-height: 650px; }
 .brand-project-wide .work-card-body { padding: 20px 14px 14px; }
 .brand-refinement-reasons { grid-template-columns: 1fr; gap: 20px; }
 .brand-launch-row { grid-template-columns: .7fr 1fr; gap: 24px; }
}
@media (max-width:640px) {
 .brand-section-nav { gap: 8px 18px; }
 .brand-section-nav a { gap: 9px; }
 .brand-group { padding-block: 32px; }
 .brand-group-heading h2 { max-width: 20ch; }
 .brand-preview.marks { padding: 26px 36px; gap: 18px; }
 .brand-preview.marks > img { max-height: 40px; }
 .brand-preview.marks > img:nth-child(2) { max-height: 58px; }
 .brand-project .work-card-body { padding: 20px 10px 12px; }
 .brand-case .case-meta, .brand-case .case-meta-four { grid-template-columns: 1fr; }
 .brand-case-lead { padding-block: 30px 36px; }
 .brand-chapter { padding-block: 36px; }
 .brand-evidence-pair, .brand-mark-application, .brand-launch-row { grid-template-columns: 1fr; gap: 28px; }
 .brand-decision-list li { padding-left: 32px; }
 .brand-conclusion { padding: 20px; }
 .brand-publication { padding: 24px 20px; }
 .brand-publication .button-link { width: 100%; }
 .brand-mark-panel { min-height: 210px; padding: 30px; }
 .inspire-study-header { padding: 20px; gap: 10px; }
 .inspire-study-body { grid-template-columns: 1fr; padding: 24px 18px; }
 .inspire-study-intro dl { grid-template-columns: 1fr 1fr; }
 .inspire-study-image img { max-height: 230px; }
 .inspire-study th, .inspire-study td { padding: 10px 8px; font-size: var(--type-small); }
 .inspire-study td:first-child { width: 72px; }
 .inspire-study-footer { padding: 16px 18px; }
}
@media (prefers-reduced-motion:reduce) { .brand-preview > img { transition: none; } }
@media (forced-colors:active) { .brand-preview,.brand-evidence .art-link,.brand-publication,.brand-mark-panel,.inspire-study { border: 1px solid CanvasText; } }
@media print { .brand-preview > img { filter: none; } .brand-case-lead,.brand-evidence-row { break-inside: avoid; } .brand-support { display: block; } }

/* Contribution comes first; original project evidence and shared type scale stay intact. */
.work-curated .page-intro { padding-bottom: 36px; }
.work-curated .page-intro .lead { max-width: 760px; }
.work-curated .category-switcher { margin-top: 28px; }
.work-curated .collection-heading { display: flex; align-items: end; justify-content: space-between; gap: 32px; max-width: none; padding: 0; margin-bottom: 28px; }
.work-curated .collection-heading .eyebrow { font-size: var(--type-label); }
.work-curated .collection-heading h2 { margin: 10px 0 0; }
.work-curated .collection-heading > p { max-width: 40ch; color: var(--muted); font-size: var(--type-body); }
.work-highlights { padding-block: 32px 62px; }
.highlight-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.highlight-card { display: flex; flex-direction: column; border: 1px solid #d4c7b8; border-radius: 16px; overflow: hidden; background: linear-gradient(130deg,#ffffffd9,#f0e6dba6); box-shadow: inset 0 1px 0 #fff,0 10px 28px #3c281308; backdrop-filter: blur(20px); transition: border-color 200ms,box-shadow 200ms; }
.highlight-visual { aspect-ratio: 1.35; overflow: hidden; background: #e9e5de; }
.highlight-visual img { width: 100%; height: 100%; object-fit: cover; }
.highlight-visual.pack img { object-fit: contain; }
.highlight-visual.publication { padding: 24px; background: #cbd8d8; }
.highlight-visual.publication img { object-fit: contain; filter: drop-shadow(0 8px 10px #283b3b30); }
.highlight-visual.event img { object-position: center; }
.highlight-body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.highlight-body h3 { font-family: var(--serif); font-size: var(--type-title); line-height: 1.17; margin: 12px 0 16px; letter-spacing: -.035em; }
.highlight-body > p:not(.eyebrow) { font-size: var(--type-body); line-height: 1.65; color: var(--muted); margin-bottom: 24px; }
.highlight-project { display: flex; justify-content: space-between; gap: 16px; padding-top: 18px; border-top: 1px solid var(--line); margin-top: auto; font-size: var(--type-small); font-weight: 600; }
.practice-collection { padding-block: 20px 70px; border-top: 1px solid var(--line); }
.practice-collection .collection-heading { margin-top: 30px; }
.practice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.practice-card { display: grid; grid-template-columns: 145px 1fr; gap: 24px; padding: 20px; border: 1px solid #d0c1b0; border-radius: 14px; background: linear-gradient(120deg,#ffffffcc,#ede2d78f); box-shadow: inset 0 1px 0 #fff,0 5px 20px #4e311008; backdrop-filter: blur(20px); min-width: 0; transition: border-color 200ms,box-shadow 200ms; }
.practice-card .area-visual { aspect-ratio: 1; height: auto; align-self: start; border-radius: 8px; overflow: hidden; background: #e8e4dc; }
.practice-card .area-visual img { position: static; display: block; width: 100%; height: 100%; object-fit: cover; transform: none; filter: none; max-width: none; }
.practice-card .area-visual.product-still img { object-fit: contain; }
.practice-card .area-visual.brand-still img { object-fit: contain; background: #e5e8ef; }
.practice-card .area-body { padding: 0; min-width: 0; }
.practice-card h3 { font: 500 var(--type-lead)/1.3 var(--sans); margin-bottom: 12px; letter-spacing: -.025em; }
.practice-card .area-body > p:not(.eyebrow) { color: var(--muted); font-size: var(--type-small); line-height: 1.6; }
.practice-card .area-cta { display: flex; justify-content: space-between; margin-top: 16px; font-size: var(--type-small); }
.practice-card .area-body .eyebrow { margin: 14px 0 0; color: var(--muted); font-size: var(--type-label); }
.practice-card:last-child { grid-column: 1/-1; width: 100%; }
.practice-card:last-child .area-body > p:not(.eyebrow) { max-width: 62ch; }
.contribution-collection .work-card-body > :is(h2,h3) { margin-top: 0; margin-bottom: 12px; }
.contribution-collection .work-card-body > p:not([class]) { color: var(--ink); }
.contribution-collection .work-card-body > .eyebrow { margin-top: 20px; margin-bottom: 12px; color: var(--muted); font-size: var(--type-label); }
.contribution-collection .priority-card { grid-column: 1/-1; }
.contribution-collection .priority-card > .work-card-link { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 20px; }
.contribution-collection .priority-card .work-card-body { padding: 28px; }
.contribution-collection .priority-card .work-card-media { aspect-ratio: 1.5; height: auto; width: 100%; min-width: 0; }
.contribution-collection .priority-card .work-card-body > h2 { font-size: var(--type-section); }
.contribution-collection #annual-programme { margin-top: 36px; border-top: 1px solid var(--line); }
.contribution-collection :is(#annual-programme,#event-projects,#identity,#communication,#image-craft) { scroll-margin-top: 16px; }
.identity-composition { padding: 32px; display: grid; grid-template-rows: 1.3fr 1fr; background: #fffefa; }
.identity-composition-main { display: flex; flex-direction: column; justify-content: center; gap: 24px; padding: 16px 20px 28px; border-bottom: 1px solid var(--line); }
.identity-composition-main img { width: 100%; height: auto; }
.identity-composition-main span { text-align: center; color: var(--muted); font-size: var(--type-small); }
.identity-composition-pair { display: flex; align-items: center; gap: 32px; padding-top: 24px; }
.identity-composition-pair img { width: calc(50% - 16px); height: auto; max-height: 75px; object-fit: contain; }
.contribution-intro .lead { max-width: 820px; }
@media (hover:hover) {
 .highlight-card:hover,.practice-card:hover { border-color: #967458; box-shadow: inset 0 1px 0 #fff,0 12px 32px #4e31101a; }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .highlight-card,.practice-card { transition: transform 220ms,border-color 200ms,box-shadow 200ms; }
 .highlight-card:hover,.practice-card:hover { transform: translateY(-3px); }
}
.highlight-card:focus-visible,.practice-card:focus-visible { outline: 3px solid var(--ink); outline-offset: 5px; }
@media (max-width:1000px) {
 .highlight-grid { gap: 16px; }
 .highlight-body { padding: 20px; }
 .practice-card { grid-template-columns: 100px 1fr; gap: 20px; }
}
@media (max-width:760px) {
 .work-curated .collection-heading { display: block; }
 .work-curated .collection-heading > p { margin-top: 18px; max-width: 60ch; }
 .highlight-grid { grid-template-columns: 1fr; gap: 24px; }
 .highlight-card { display: grid; grid-template-columns: .85fr 1fr; }
 .highlight-visual { aspect-ratio: auto; height: 100%; min-height: 250px; }
 .highlight-body { padding: 22px; }
 .practice-grid { grid-template-columns: 1fr; }
 .practice-card { grid-template-columns: 130px 1fr; }
 .practice-card:last-child { max-width: none; }
 .contribution-collection .priority-card > .work-card-link { grid-template-columns: minmax(0,1fr); gap: 0; }
 .contribution-collection .priority-card .research-tile { aspect-ratio: auto; }
 .contribution-collection .priority-card .work-card-body { padding: 24px 14px 18px; }
}
@media (max-width:500px) {
 .highlight-card { display: flex; }
 .highlight-visual { aspect-ratio: 1.5; min-height: 0; }
 .highlight-body { padding: 24px; }
 .practice-card { grid-template-columns: 84px 1fr; padding: 18px; gap: 16px; }
 .work-highlights { padding-top: 22px; padding-bottom: 44px; }
 .identity-composition { padding: 22px; }
 .identity-composition-main { padding: 12px 8px 20px; gap: 20px; }
 .identity-composition-pair { gap: 18px; }
 .identity-composition-pair img { width: calc(50% - 9px); }
}
@media (prefers-reduced-motion:reduce) { .highlight-card,.practice-card { transition: none; } }
@media (forced-colors:active) { .highlight-card,.practice-card { border: 1px solid CanvasText; } }

/* Clear discipline navigation and a lightweight, visual introduction to the CV. */
.work-directory .page-intro { padding-bottom: 24px; }
.work-directory .category-switcher { margin-top: 22px; }
.directory-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 24px; }
.directory-heading h2 { margin: 0; }
.directory-heading > p { color: var(--muted); max-width: 36ch; }
.discipline-directory { padding-block: 10px 48px; }
.discipline-directory .directory-heading h2 { font-size: var(--type-title); }
.discipline-directory .directory-heading > p { font-size: var(--type-small); }
.discipline-grid { padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.discipline-overview { display: grid; grid-template-columns: 132px minmax(0,1fr); gap: 24px; padding: 24px; border: 1px solid #cbbbaa; border-radius: 24px; background: #fffcf6; scroll-margin-top: 110px; }
.discipline-image { aspect-ratio: 1; border-radius: 15px; overflow: hidden; background: #e8e2d9; }
.discipline-image img { width: 100%; height: 100%; object-fit: cover; }
#product-design .discipline-image img,#brand-image .discipline-image img { object-fit: contain; }
.discipline-copy { min-width: 0; }
.discipline-copy .eyebrow { color: var(--accent); font-size: .65rem; letter-spacing: .1em; }
.discipline-copy h3 { font-family: var(--serif); font-weight: 400; font-size: 1.65rem; line-height: 1.15; margin: 8px 0 12px; }
.discipline-copy > p:not(.eyebrow):not(.discipline-proof) { color: var(--muted); font-size: var(--type-small); line-height: 1.6; }
.discipline-copy .discipline-proof { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; margin: 20px 0 2px; font-size: var(--type-small); color: var(--ink); }
.discipline-proof strong { font-family: var(--serif); font-size: 2rem; font-weight: 400; letter-spacing: -.04em; }
.discipline-copy small { display: block; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.discipline-link { display: flex; justify-content: space-between; align-items: center; margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--line); font-size: var(--type-small); }
.featured-projects { padding-block: 32px 64px; border-top: 1px solid var(--line); }
.featured-projects .eyebrow { margin-bottom: 10px; }
.featured-projects h2 { font-size: var(--type-title); }
.featured-project-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.featured-link { display: flex; align-items: center; gap: 16px; padding-block: 16px; border-block: 1px solid var(--line); }
.featured-link img { width: 64px; height: 72px; object-fit: cover; border-radius: 10px; background: #e7e0d6; }
.featured-link > span:not(.link-arrow) { flex: 1; min-width: 0; }
.featured-link strong { font-size: var(--type-small); font-weight: 600; display: block; }
.featured-link small { display: block; margin-top: 6px; color: var(--muted); font-size: .75rem; line-height: 1.5; }
.section-proof { display: flex; flex-wrap: wrap; gap: 20px 36px; margin-top: 30px; padding-block: 22px; border-block: 1px solid var(--line); }
.section-proof-item { display: grid; align-content: start; gap: 4px; flex: 1 1 180px; max-width: 330px; }
.section-proof-item strong { font: 400 2.5rem/1 var(--serif); letter-spacing: -.04em; color: var(--ink); }
.section-proof-item > span { font-size: var(--type-small); font-weight: 600; }
.section-proof-item small { font-size: .75rem; line-height: 1.5; color: var(--muted); }
.section-proof-item:focus-visible,.discipline-overview:focus-visible,.featured-link:focus-visible { outline: 2px solid var(--ink); outline-offset: 5px; }

/* Two outlined curves move only when scrolling. No animation loop or canvas. */
.home-page { position: relative; isolation: isolate; background: #eee7de; }
.home-aura { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; --journey: 0; }
.home-aura span { position: absolute; width: min(1000px,110vw); height: 760px; top: 12%; left: -38%; border: 1px solid #bc916da6; border-radius: 46% 54% 66% 34% / 42% 40% 60% 58%; background: radial-gradient(ellipse at 70% 40%,#cda4800d,transparent 65%); box-shadow: 0 0 22px #bc926b38,inset 0 0 22px #bc926b26; transform: translate3d(0,calc(var(--journey) * -160px),0) rotate(calc(-18deg + var(--journey) * 28deg)); }
.home-aura span + span { left: auto; right: -40%; top: 40%; width: min(1200px,120vw); height: 950px; border-color: #c49f7780; transform: translate3d(0,calc(var(--journey) * 190px),0) rotate(calc(22deg - var(--journey) * 32deg)); }
.home-page .cv-intro { position: relative; overflow: hidden; border-radius: 0 0 42px 42px; border-bottom: 1px solid #c8a78b; box-shadow: 0 10px 30px #a77b4c1a; }
.home-page .cv-intro::before { content: ''; position: absolute; width: 750px; height: 750px; top: -480px; right: -200px; border: 1px solid #d2a98780; border-radius: 48%; box-shadow: 0 0 30px #d1a2782e,inset 0 0 30px #d1a2781a; pointer-events: none; }
.home-page .cv-portrait-layout { position: relative; }
.home-page .cv-skills { background: transparent; border: 0; padding-block: 36px 44px; }
.home-page .skill-group { border: 1px solid #d2c2b2; border-radius: 20px; padding: 24px; background: #fffdf8e8; }
.home-page .cv-grid { padding-top: 20px; }
.home-page .cv-section { padding: clamp(24px,3vw,42px); border: 1px solid #c9b49d; border-radius: 30px; background: #fffcf6f2; box-shadow: 0 0 18px #bb93661a,inset 0 1px 0 #fff; }
.home-page .cv-section + .cv-section { margin-top: 26px; }
.home-page .cv-sidebar { border-left: 1px solid #bda17f; padding-left: 20px; }
.home-page :is(#work-overview,#skills,.cv-section) { scroll-margin-top: 110px; }
.home-overview { width: calc(100% - 2 * var(--pad)); max-width: calc(var(--max) - 2 * var(--pad)); margin-block: 44px 24px; padding: 34px; border: 1px solid #bea181; border-radius: 32px; background: #24211deF; color: #f8f3eb; box-shadow: 0 0 26px #b38c5c24; }
.overview-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 40px; align-items: end; margin-bottom: 28px; }
.overview-heading .eyebrow { grid-column: 1/-1; color: #dbc0a4; }
.overview-heading h2 { grid-row: span 2; margin: 0; line-height: 1.1; }
.overview-heading h2 em { color: #dbc0a4; }
.overview-heading > p:not(.eyebrow) { color: #dfd5c8; max-width: 45ch; }
.overview-heading .text-link { justify-self: start; color: #f7e8d5; }
.overview-explorer { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: 24px; }
.overview-tabs { align-self: start; }
.overview-tabs[hidden] { display: none; }
.overview-tabs button { display: flex; width: 100%; gap: 12px; align-items: center; text-align: left; border: 0; border-bottom: 1px solid #64574a; border-radius: 0; padding: 18px 10px; min-height: 58px; background: transparent; color: #ccbaa7; font: inherit; font-size: .72rem; cursor: pointer; }
.overview-tabs button > span:not(.link-arrow) { flex: 1; color: #e5dacd; font-size: var(--type-small); line-height: 1.4; }
.overview-tabs button[aria-selected=true] { background: #e6d2b9; border-radius: 12px; border-color: transparent; color: #4e3d2d; }
.overview-tabs button[aria-selected=true] > span:not(.link-arrow) { color: #211b16; }
.overview-panels { min-width: 0; }
.overview-panel { margin-bottom: 28px; }
.home-overview:not(.is-interactive) .overview-panels { grid-column: 1/-1; }
.home-overview.is-interactive .overview-panel { margin: 0; }
.overview-panel[hidden] { display: none; }
.overview-image { display: block; height: 285px; overflow: hidden; border-radius: 18px; background: #e6e0d6; }
.overview-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.overview-image:is(.product-design,.brand-image) img { object-fit: contain; }
.overview-caption { display: grid; grid-template-columns: minmax(0,1fr) 170px; gap: 18px 28px; padding-top: 24px; }
.overview-caption h3 { font-family: var(--serif); font-weight: 400; margin-bottom: 10px; }
.overview-caption p { font-size: var(--type-small); color: #d5c9ba; line-height: 1.6; }
.overview-proof { padding-left: 22px; border-left: 1px solid #84715d; }
.overview-proof strong { display: block; font: 400 2.5rem/1.1 var(--serif); color: #ead0b0; letter-spacing: -.04em; }
.overview-proof span { display: block; font-size: .8rem; margin-top: 6px; }
.overview-proof small { display: block; color: #c4b3a0; font-size: .7rem; margin-top: 8px; line-height: 1.5; }
.overview-caption > .text-link { grid-column: 1/-1; justify-self: start; color: #f5e6d3; }
.home-overview :focus-visible { outline: 2px solid #ecd4b7; outline-offset: 4px; }
@media (hover:hover) {
 .discipline-overview:hover { border-color: #8c6845; background: #fffdf9; }
 .featured-link:hover strong,.section-proof-item:hover > span { text-decoration: underline; text-underline-offset: 4px; }
 .overview-tabs button:not([aria-selected=true]):hover { background: #ffffff0b; }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .discipline-overview { transition: border-color 180ms,transform 180ms; }
 .discipline-overview:hover { transform: translateY(-2px); }
 .overview-image img { transition: transform 250ms; }
 .overview-image:hover img { transform: scale(1.025); }
}
@media (max-width:1000px) {
 .discipline-overview { grid-template-columns: 90px minmax(0,1fr); gap: 18px; padding: 20px; }
 .overview-explorer { grid-template-columns: 190px minmax(0,1fr); gap: 20px; }
 .overview-caption { grid-template-columns: minmax(0,1fr) 135px; gap: 20px; }
 .featured-project-grid { gap: 16px; }
 .featured-link img { width: 48px; height: 60px; }
}
@media (max-width:760px) {
 .discipline-grid { grid-template-columns: 1fr; }
 .discipline-overview { grid-template-columns: 100px minmax(0,1fr); }
 .directory-heading { display: block; }
 .directory-heading > p { margin-top: 12px; max-width: none; }
 .featured-project-grid { grid-template-columns: 1fr; gap: 0; }
 .featured-link + .featured-link { border-top: 0; }
 .featured-link img { width: 60px; height: 64px; }
 .home-overview { padding: 24px; border-radius: 26px; }
 .overview-heading { display: block; }
 .overview-heading h2 { margin-block: 14px; }
 .overview-heading .text-link { margin-top: 18px; }
 .overview-explorer { display: block; }
 .overview-tabs { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 10px; margin-bottom: 14px; scroll-padding: 8px; }
 .overview-tabs button { width: auto; flex: 0 0 auto; max-width: 205px; min-height: 52px; padding: 10px 14px; border: 1px solid #64574a; border-radius: 12px; }
 .overview-tabs .link-arrow { display: none; }
 .overview-image { height: 240px; }
 .overview-caption { grid-template-columns: minmax(0,1fr) 130px; gap: 18px; }
 .home-page .cv-sidebar { border: 0; padding-left: 0; }
}
@media (max-width:500px) {
 .discipline-overview { grid-template-columns: 76px minmax(0,1fr); gap: 16px; padding: 18px; border-radius: 20px; }
 .discipline-copy h3 { font-size: 1.4rem; }
 .discipline-copy .eyebrow { font-size: .6rem; }
 .section-proof { gap: 20px; }
 .section-proof-item { flex-basis: 130px; }
 .section-proof-item strong { font-size: 2.1rem; }
 .home-overview { width: calc(100% - 24px); padding: 22px; }
 .overview-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }
 .overview-tabs button { width: 100%; max-width: none; padding: 10px; gap: 8px; }
 .overview-tabs button > span:not(.link-arrow) { font-size: .8rem; }
 .overview-tabs button:last-child { grid-column: 1/-1; }
 .overview-image { height: 210px; }
 .overview-caption { grid-template-columns: 1fr; }
 .overview-proof { border-left: 0; border-top: 1px solid #84715d; padding: 16px 0 0; }
 .overview-proof strong { font-size: 2rem; }
 .home-page .cv-section { padding: 24px 20px; border-radius: 24px; }
 .home-page .cv-intro { border-radius: 0 0 28px 28px; }
 .home-aura span { left: -80%; }
 .home-aura span + span { right: -80%; }
}
@media (prefers-reduced-motion:reduce) {
 .home-aura span { transform: none; }
 .discipline-overview,.overview-image img { transition: none; }
}
@media (forced-colors:active) {
 .home-aura,.home-page .cv-intro::before { display: none; }
 .home-overview,.home-page .cv-section,.discipline-overview { background: Canvas; color: CanvasText; border: 1px solid CanvasText; box-shadow: none; }
 .home-overview :is(p,span,small,strong,h3,a) { color: CanvasText; }
 .overview-tabs button[aria-selected=true] { border: 2px solid Highlight; }
}
@media print {
 .home-aura,.home-page .cv-intro::before,.home-overview { display: none; }
 .home-page,.home-page .cv-section,.home-page .skill-group { background: white; color: black; box-shadow: none; border: 0; padding: 0; }
}

/* Shared visual language: warm canvas, curved outlines and quiet, solid surfaces.
   CSS only: no extra images, downloads, scroll listeners or continuous motion. */
:root {
  --portfolio-canvas: #eee7de;
  --portfolio-surface: #fffcf6;
  --portfolio-edge: #c9b49d;
  --portfolio-dark: #24211d;
  --portfolio-radius: 28px;
  --portfolio-glow: 0 0 20px #bb936616, inset 0 1px 0 #fff;
}
.page-main:not(.home-page) {
  background: radial-gradient(ellipse 850px 660px at 0 180px,#d4b69430,transparent 75%),
    radial-gradient(ellipse 850px 850px at 100% 1000px,#cfb6921c,transparent 75%),var(--portfolio-canvas);
}
/* Opaque surfaces avoid recomputing background blur while scrolling. */
.site-header { background: var(--portfolio-dark); backdrop-filter: none; -webkit-backdrop-filter: none; }
.primary-nav .nav-link { border-radius: 10px; }
.button-link { border-radius: 12px; }
.page-main :is(.area-card,.work-card-link,.category-switcher,.contact-card,.highlight-card,.practice-card,.event-year-tab) {
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
.page-main :is(.work-card-link,.contact-card,.area-card,.highlight-card,.practice-card) {
  background: var(--portfolio-surface); border: 1px solid var(--portfolio-edge);
  border-radius: var(--portfolio-radius); box-shadow: var(--portfolio-glow);
}
.page-main :is(.work-card-media,.brand-preview,.area-visual) { border-radius: 18px; }
.page-main .category-switcher { background: var(--portfolio-surface); border-color: var(--portfolio-edge); border-radius: 18px; box-shadow: var(--portfolio-glow); }
.page-main .category-switcher a { border-radius: 10px; }
.page-main .category-switcher a[aria-current=page] { background: var(--portfolio-dark); }
/* Curved introduction edges echo the homepage. Artwork retains its own colours. */
.page-main:not(.home-page) > :is(.page-intro,.events-opening) {
  position: relative; isolation: isolate; overflow: hidden;
  border-bottom: 1px solid var(--portfolio-edge); border-radius: 0 0 38px 38px;
  box-shadow: 0 8px 24px #a77b4c12;
}
.page-main:not(.home-page) > :is(.page-intro,.events-opening)::before {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  width: 740px; height: 700px; top: -450px; right: -230px;
  border: 1px solid #b98c605c; border-radius: 46% 54% 66% 34% / 42% 40% 60% 58%;
  box-shadow: 0 0 22px #bc926b24,inset 0 0 22px #bc926b16;
}
.page-main > .case-intro { background: var(--portfolio-dark); }
.page-main > .case-intro::before { border-color: #d2a98770; }
/* Group each case-study chapter without changing the media inside it. */
.page-main > .case-section { padding-block: 22px; border-bottom: 0; }
.page-main > .case-section > .shell {
  width: calc(100% - 2 * var(--pad)); max-width: calc(var(--max) - 2 * var(--pad));
  padding: clamp(24px,3vw,42px); background: var(--portfolio-surface);
  border: 1px solid var(--portfolio-edge); border-radius: var(--portfolio-radius);
  box-shadow: var(--portfolio-glow);
}
.page-main :is(.role-panel,.design-result,.brand-conclusion,.presentation-note) { border-radius: 0 18px 18px 0; }
.page-main :is(.art-link,.brand-evidence .art-link,.packaging-viewer,.research-board,.brand-publication,.brochure-card,.event-results-number) { border-radius: 20px; }
.page-main :is(.video-launch,.video-shell video,.event-film video) { border-radius: 20px; }
.page-main video:fullscreen { border-radius: 0; }
.page-main .event-impact-grid { border-radius: var(--portfolio-radius); border-color: #8a7056; background: var(--portfolio-dark); box-shadow: 0 0 24px #b38c5c1c; }
.page-main .event-year-tab { background: var(--portfolio-surface); border-color: var(--portfolio-edge); border-radius: 18px; }
.page-main .event-year-tab[aria-selected=true] { background: var(--portfolio-dark); color: #f8f3eb; }
.page-main .case-return { padding-block: 32px 48px; }
.page-main .case-return .button-link { background: var(--portfolio-dark); }
.site-footer { background: var(--portfolio-dark); }
@media (hover:hover) {
  .page-main :is(.work-card-link,.contact-card,.area-card,.highlight-card,.practice-card):hover { background: #fffdf9; border-color: #967458; box-shadow: var(--portfolio-glow); }
}
/* One explicit introduction treatment across collections, cases and contact. */
.page-main > .portfolio-hero {
  --ink: #f8f3eb; --muted: #d6cabc; --accent: #dfbd9b; --line: #776451; --focus: #f0d2b2;
  background: var(--portfolio-dark); color: var(--ink); padding-block: 36px 40px;
}
.page-main > .portfolio-hero.has-breadcrumb { padding-top: 0; }
.portfolio-hero > .breadcrumb { padding-block: 18px 26px; color: #c9b9a7; }
.portfolio-hero .breadcrumb li + li::before { color: #b79c80; }
.portfolio-hero h1 em { color: #dfbd9b; }
.portfolio-hero :is(.eyebrow,.events-heading .eyebrow) { color: var(--accent); }
.portfolio-hero :is(.lead,.research-intro-note,.event-impact-footnote) { color: var(--muted); }
.portfolio-hero .button-link { background: #e6cfb4; border-color: #e6cfb4; color: #24211d; }
.portfolio-hero .button-link:hover { background: #f4e3ce; }
.portfolio-hero :focus-visible { outline-color: #f0d2b2; }
.portfolio-hero .section-proof { margin-top: 26px; }
.portfolio-hero .section-proof-item strong { color: #edcfad; }
.portfolio-hero .brand-section-nav a { border-color: #a78d71; }
.portfolio-hero .event-impact-grid { background: #302920; }
.collection-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 24px 48px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.collection-summary > p { display: flex; align-items: center; gap: 20px; }
.collection-summary strong { font: 400 3.4rem/1 var(--serif); color: #edcfad; }
.collection-summary span { font-size: var(--type-small); }
.collection-summary small { color: var(--muted); font-size: .78rem; }
.collection-summary .button-link { margin-left: auto; }
/* Collections and contextual blocks now have the same visible boundaries as case chapters. */
.page-main > .portfolio-chapter {
  width: calc(100% - 2 * var(--pad)); max-width: calc(var(--max) - 2 * var(--pad));
  margin-block: 32px; padding: clamp(24px,3vw,42px);
  background: var(--portfolio-surface); border: 1px solid var(--portfolio-edge);
  border-radius: var(--portfolio-radius); box-shadow: var(--portfolio-glow);
}
.portfolio-chapter .work-card-grid { gap: 28px; }
.portfolio-chapter .work-card-link { background: #f3ede5; border-color: #ded0c0; box-shadow: none; }
.portfolio-chapter .work-card-body { padding: 22px 16px 16px; }
.portfolio-chapter .work-card-body h3 { font-size: var(--type-title); margin-bottom: 12px; }
/* All packaging previews share one source-rendered studio surface and frame. */
.page-main img.packaging-cover { background: #ede9e2; }
.work-card.product-card .packaging-cover-media { aspect-ratio: 4/3; padding: 0; background: #ede9e2; }
.work-card.product-card .packaging-cover-media img { display: block; padding: 0; object-fit: contain; }
.collection-heading { max-width: 780px; margin-bottom: 30px; }
.collection-heading .eyebrow { color: var(--accent); margin-bottom: 12px; }
.collection-heading h2 { margin-bottom: 16px; }
.collection-heading > p:last-child { color: var(--muted); max-width: 68ch; }
.project-overview-title { font-size: var(--type-title); margin-bottom: 10px; }
.family-overview .family-date { margin-bottom: 0; }
.family-overview .project-summary { margin-top: 20px; }
.family-overview .family-nav { margin-top: 24px; padding-bottom: 0; border-bottom: 0; }
.project-guide { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.project-guide article { border-top: 1px solid var(--portfolio-edge); padding-top: 20px; }
.project-guide .eyebrow { color: var(--accent); margin-bottom: 12px; }
.project-guide h3 { font-size: var(--type-title); margin-bottom: 14px; }
.project-guide p { color: var(--muted); font-size: var(--type-small); }
.page-main > .collection-next { background: #e8dccd; }
.collection-next h2 { font-size: var(--type-title); margin-top: 12px; }
.collection-next .category-switcher { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; padding: 0; background: transparent; border: 0; box-shadow: none; }
.collection-next .category-switcher a { background: var(--portfolio-surface); border: 1px solid #c7b198; padding: 12px 18px; white-space: normal; }
.collection-next .category-switcher a:hover { background: #24211d; color: #fff6e8; }
.page-main > .portfolio-chapter[id] { scroll-margin-top: 16px; }
@media (max-width:760px) {
  .project-guide { grid-template-columns: 1fr; gap: 24px; }
  .collection-summary .button-link { margin-left: 0; }
}
@media (max-width:640px) {
  :root { --portfolio-radius: 24px; }
  .page-main > .portfolio-hero { padding-block: 28px 32px; }
  .page-main > .portfolio-hero.has-breadcrumb { padding-top: 0; }
  .portfolio-hero > .breadcrumb { padding-block: 16px 24px; }
  .page-main > .portfolio-chapter { width: calc(100% - 24px); max-width: none; padding: 24px 20px; margin-block: 24px; }
  .portfolio-chapter .work-card-grid { gap: 24px; }
  .portfolio-chapter .work-card-body { padding-inline: 12px; }
  .collection-heading { margin-bottom: 24px; }
  .collection-next .category-switcher { display: grid; grid-template-columns: 1fr; }
  .collection-next .category-switcher a { text-align: left; }
  .collection-summary { gap: 20px; }
  .collection-summary > p { align-items: flex-start; gap: 16px; }
  .page-main:not(.home-page) > :is(.page-intro,.events-opening) { border-radius: 0 0 28px 28px; }
  .page-main > .case-section { padding-block: 14px; }
  .page-main > .case-section > .shell { width: calc(100% - 24px); max-width: none; padding: 24px 20px; }
  .page-main :is(.work-card-media,.brand-preview,.area-visual,.art-link,.brand-evidence .art-link,.packaging-viewer) { border-radius: 16px; }
}
@media (forced-colors:active) {
  .page-main > .portfolio-hero { --ink: CanvasText; --muted: CanvasText; --accent: CanvasText; --line: CanvasText; background: Canvas; color: CanvasText; }
  .portfolio-hero :is(.breadcrumb,h1 em,.section-proof-item strong,.button-link),.collection-summary strong { color: CanvasText; }
  .page-main > .portfolio-chapter { background: Canvas; color: CanvasText; border-color: CanvasText; box-shadow: none; }
  .page-main:not(.home-page),.site-header,.site-footer { background: Canvas; color: CanvasText; }
  .page-main:not(.home-page) > :is(.page-intro,.events-opening)::before { display: none; }
  .page-main :is(.work-card-link,.contact-card,.area-card,.highlight-card,.practice-card,.category-switcher,.event-impact-grid,.event-year-tab),.page-main > .case-section > .shell { background: Canvas; color: CanvasText; border-color: CanvasText; box-shadow: none; }
}
@media print {
  .page-main > .portfolio-hero { --ink: black; --muted: black; --accent: black; --line: black; background: white; color: black; }
  .portfolio-hero :is(.breadcrumb,h1 em,.section-proof-item strong),.collection-summary strong { color: black; }
  .page-main > .portfolio-chapter { width: 100%; max-width: none; background: white; padding: 16pt 0; border: 0; border-radius: 0; box-shadow: none; }
  .collection-next { display: none; }
  .page-main:not(.home-page) { background: white; }
  .page-main:not(.home-page) > :is(.page-intro,.events-opening)::before { display: none; }
  .page-main > .case-section > .shell { width: 100%; max-width: none; padding: 0; border: 0; border-radius: 0; background: white; box-shadow: none; }
  .page-main :is(.work-card-link,.contact-card,.area-card,.highlight-card,.practice-card,.category-switcher) { box-shadow: none; }
}
