/* 2026 identity: editorial type, photocopy edges and quiet technical detail.
   The original layout and interaction stylesheet remains the foundation. */
:root {
  --paper:#edeae5;
  --ink:#0b0b0d;
  --muted:#bfb6c9;
  --line:#46394f;
  --soft:#1c1723;
  --acid:#b2ff59;
  --blue:#bd94ff;
  --purple:#8b3dff;
  --dark-purple:#2a1133;
  --surface:#17151b;
  --mono:Consolas,'Liberation Mono','Courier New',monospace
}
html {scroll-padding-top:90px}
body {background:var(--ink);color:var(--paper)}
::selection {background:var(--acid);color:var(--ink)}
.eyebrow,.utility-strip,.project-index,.project-entry-top,.project-facts dt,
.case-nav,.tags,.site-footer,.evidence-label,.hero-footer,.category-marker {
  font-family:var(--mono)
}
.eyebrow {font-weight:400;letter-spacing:.09em}
.utility-strip {background:var(--dark-purple);color:var(--paper);border-bottom:1px solid #653977;padding-block:9px}
.site-header {border-color:var(--line);min-height:92px}
.brand {letter-spacing:-.02em}
.brand span {color:var(--acid)}
.brand:hover {text-shadow:1px 0 var(--purple),-1px 0 var(--acid)}
.site-header nav {gap:5px}
.site-header nav>a {border:0;border-radius:0;padding:10px 12px;font:11px var(--mono);text-transform:uppercase;letter-spacing:.05em}
.site-header nav>a:first-child {background:transparent;color:var(--paper)}
.site-header nav>a:hover,.site-header nav>a:first-child:hover {background:var(--dark-purple);color:var(--acid)}
.site-header nav .nav-cv {background:var(--acid);color:var(--ink);padding-inline:16px}
.site-header nav .nav-cv:hover {background:var(--paper);color:var(--ink)}
.menu-toggle {font-family:var(--mono);font-size:12px;text-transform:uppercase}
:focus-visible {outline-color:var(--acid);box-shadow:0 0 0 3px var(--ink)}
.text-link {color:var(--paper);font-family:var(--mono);font-weight:400;font-size:12px}
.text-link:hover {color:var(--acid)}
.image-arrow,.enlarge {background:var(--acid);color:var(--ink)}
.enlarge {width:42px;height:42px}
[data-gallery]:hover .enlarge {background:var(--paper);color:var(--ink)}
.work-visual {background:var(--surface)}
.work-visual:hover img {transform:scale(1.012)}
.work-visual:focus-visible {outline-offset:5px}

/* Engineering is the first read, both in the wording and the image choice. */
.portfolio-hero {position:relative;isolation:isolate;padding-top:25px;padding-bottom:27px}
.hero-topline {display:flex;justify-content:space-between;gap:20px;margin-bottom:48px}
.hero-topline p {margin:0;color:var(--muted);font-size:10px}
.hero-topline p:first-child {color:var(--acid);font-size:11px}
.hero-grid {display:grid;grid-template-columns:1.15fr .85fr;gap:5%;align-items:center}
.hero-copy,.hero-evidence {min-width:0}
.hero-name {font:13px var(--mono);text-transform:uppercase;letter-spacing:.18em;margin-bottom:24px}
.portfolio-hero h1 {font-size:clamp(67px,8.3vw,126px);line-height:.84;letter-spacing:-.035em}
.portfolio-hero h1>span {display:block}
.portfolio-hero h1>span:first-child {color:#a66bff}
.portfolio-hero h1 .hero-meets {
  display:table;font:italic 42px/.95 var(--serif);text-transform:none;letter-spacing:-.04em;
  color:var(--ink);background:var(--paper);padding:4px 18px 8px;margin:12px 0 15px
}
.acid-period {color:var(--acid)}
.hero-intro {max-width:600px;font-size:16px;line-height:1.65;margin-top:33px;color:#d4cddd}
.hero-actions {display:flex;flex-wrap:wrap;align-items:center;gap:15px 24px;margin-top:26px}
.action-primary,.action-secondary {min-height:48px;display:inline-flex;align-items:center;gap:25px;font:11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.04em}
.action-primary {padding:15px 18px;background:var(--acid);color:var(--ink);border:1px solid var(--acid)}
.action-primary:hover {background:var(--paper);border-color:var(--paper)}
.action-secondary {border-bottom:1px solid var(--muted)}
.action-secondary:hover {color:var(--acid)}
.hero-evidence {position:relative;padding-top:12px}
.evidence-label {display:flex;justify-content:space-between;gap:18px;font-size:9px;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.hero-project-image {background:#35164c;border:1px solid #7542a0;padding:10px 10px 0}
.hero-project-image a {position:relative;display:block}
.hero-project-image img {width:100%;height:auto}
.hero-project-title {display:block;background:var(--ink);color:var(--paper);padding:10px 14px;font:800 clamp(25px,2.7vw,40px)/.94 var(--display);text-transform:uppercase;letter-spacing:-.02em}
.hero-project-title>span {color:var(--acid);padding-left:30px}
.hero-project-image figcaption {font:10px/1.5 var(--mono);padding:12px 5px;color:var(--paper)}
.hero-note {font:italic 28px/1.05 var(--serif);letter-spacing:-.03em;margin:30px 0 0}
.hero-note em {color:var(--acid)}
.registration-mark {position:absolute;right:0;bottom:0;color:var(--purple);font:300 65px/1 var(--sans)}
.hero-footer {border-top:1px solid var(--line);margin-top:55px;padding-top:19px;display:flex;justify-content:space-between;gap:20px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.hero-footer p {margin:0}
.hero-footer a {color:var(--acid);min-height:30px}

/* Direct discipline routes work with and without JavaScript. */
.discipline-switch {display:grid;grid-template-columns:1.2fr 1fr;border-block:1px solid var(--line);margin-top:25px}
.discipline-switch>a {display:grid;grid-template-columns:1fr auto;gap:12px 15px;padding:26px 28px 26px 0;min-width:0}
.discipline-switch>a+a {border-left:1px solid var(--line);padding-left:30px}
.discipline-switch span {font:9px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.discipline-switch span:first-child {grid-column:1/-1}
.discipline-switch strong {font:800 clamp(24px,2.8vw,40px)/1 var(--display);text-transform:uppercase;letter-spacing:-.02em}
.discipline-switch span:last-child {align-self:end;color:var(--acid);white-space:nowrap}
.discipline-switch a:hover strong {color:var(--blue)}
.engineering-work {padding-top:85px;padding-bottom:95px}
.work-heading {grid-template-columns:.42fr 1.1fr auto;gap:28px;margin-bottom:44px}
.work-heading>.eyebrow {color:var(--acid)}
.work-heading h2 {font-size:clamp(48px,5.8vw,84px)}
.work-heading h2 em {color:var(--blue);font-style:normal}
.index-count {font:16px/1 var(--mono);color:var(--muted);padding-top:5px}
.work-caption {border-top:1px solid var(--line);margin-top:14px;padding-top:20px}
.work-caption>div>p:not(.eyebrow) {color:var(--muted)}
.work-caption .eyebrow {color:var(--acid)}
.work-caption h3 {font-size:clamp(34px,3.6vw,52px)}
.work-text-pair {border-color:var(--line);gap:0}
.work-text {padding-left:24px;background:var(--surface)}
.work-text+.work-text {border-color:var(--line);background:var(--dark-purple)}
.project-entry-top {color:#cfc5da}
.work-text h3 {color:var(--paper)}
.work-text>p {color:#d4cddd}
.work-lamp .work-visual {padding:12px;background:var(--dark-purple)}
.work-lamp .work-caption {margin-top:30px}
.engineering-pair {display:grid;grid-template-columns:1.08fr .92fr;gap:6%;margin-top:90px;align-items:start}
.engineering-pair article {min-width:0}
.work-physical {margin-top:0}
.engineering-pair .work-caption {grid-template-columns:1fr;gap:18px}
.engineering-pair .work-caption>div,.engineering-pair .work-caption>.text-link {grid-column:1}
.engineering-pair .work-caption>.text-link {justify-self:start}
.engineering-pair .work-caption h3 {font-size:clamp(42px,4.5vw,66px)}
.engineering-pair .work-visual img {aspect-ratio:3/2;object-fit:contain}
.work-oceanplate .work-visual {border:1px solid #4c6641}
.work-physical .work-visual {border:1px solid #8156b4}
.engineering-pair .project-index {white-space:normal}
.fashion-work {position:relative;background:var(--dark-purple);padding:85px 0 90px;border-top:1px solid #6c397e}
.fashion-work .work-heading {grid-template-columns:.42fr 1.1fr auto}
.fashion-work .work-heading h2 em {color:var(--paper)}
.work-safd {background:#55218b;color:var(--paper);margin-top:55px;border:1px solid #9461b9}
.work-safd .award-line {border-color:#a776c5}
.work-safd .text-link {color:var(--acid)}
.work-busters .work-visual {background:var(--ink)}
.work-busters .work-caption .eyebrow {color:var(--acid)}
.about-section {background:var(--surface);color:var(--paper);border-top:1px solid var(--line)}
.about-grid h2 em {color:var(--acid)}
.about-copy p:not(.large-copy),.skills-grid p:not(.eyebrow),.hobbies p {color:#cfc5da}
.education {border-color:var(--line)}
.education dt {color:var(--acid)}
.education dd span {color:var(--muted)}
.skills-grid,.outside-work {border-color:var(--line)}
.contact-section {background:#55218b;color:var(--paper);position:relative}
.contact-section h2>span {color:var(--acid)}
.contact-section .contact-email {color:var(--acid)}
.contact-links {border-color:#9367b4}
.contact-links a:hover {color:var(--acid)}
.site-footer {color:var(--muted);border-color:var(--line);font-size:10px}

/* Existing case studies keep their evidence, layouts and media controls. */
.case-hero {padding-top:37px}
.case-title-grid h1 em {color:#b783ff}
.project-facts {border-color:var(--line)}
.project-facts dt {color:var(--acid)}
.project-facts dd {color:#ddd6e4}
.category-marker {display:flex;justify-content:space-between;gap:25px;font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:.08em;color:var(--acid);margin:24px 0 18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.category-marker a:hover {text-decoration:underline}
.category-marker span {color:var(--muted);white-space:nowrap}
.category-marker+.eyebrow {margin-top:0}
.lamp-cover figcaption {background:var(--ink);color:var(--muted)}
.case-nav {background:var(--surface);color:var(--paper);border-color:#65437a}
.case-nav a {min-height:48px;display:flex;align-items:center}
.case-nav a:hover {color:var(--acid)}
.case-section,.interaction-section {border-color:var(--line)}
.case-section-content p:not(.large-copy) {color:#d4cddd}
.case-section-heading .eyebrow {color:var(--acid)}
.case-section-heading h2 em {color:var(--blue)}
.scope-note {background:var(--dark-purple);border-color:var(--purple)}
.plain-list li,.tags span {border-color:var(--line)}
.research-map {border-color:var(--line)}
.research-map>div {border-color:var(--line)}
.research-map .map-head {background:#3c1750;color:var(--paper)}
.research-map p {color:#d4cddd}
.interaction-section,.process-band,.evaluation-section,.ciff-section {background:var(--dark-purple);color:var(--paper)}
.journey li,.interaction-details,.decision-list article {border-color:#674179}
.journey p,.interaction-details article>p:last-child,.evaluation-story p {color:#d4cddd}
.architecture {background:var(--surface);border:1px solid #664478;color:var(--paper)}
.architecture small {color:var(--muted)}
.decision-list .row-number {color:var(--acid)}
.decision-list article p {color:#d4cddd}
.evaluation-section p,.evaluation-section li,.evaluation-section strong {color:#e1d9e8}
.result-value,.result-value span {color:var(--acid)}
.results-grid>div {border-color:#674179}
.source-note {color:var(--muted)}
.video-shell {background:var(--surface);border:1px solid var(--line)}
.video-shell>a {color:var(--paper)}
.video-shell strong {color:var(--acid)}
.video-load:hover .play-icon {background:var(--paper);color:var(--ink)}
.button-ink {background:var(--acid);color:var(--ink)}
.button-ink:hover {background:var(--paper);color:var(--ink)}
.button-outline {border-color:var(--muted);color:var(--paper)}
.button-outline:hover {background:var(--paper);color:var(--ink)}
.editorial-statement {border-block:1px solid var(--line)}
.acid-statement {background:#55218b;color:var(--paper)}
.acid-statement em {color:var(--acid)}
.dark-statement {background:var(--dark-purple);color:var(--paper)}
.dark-statement em {color:var(--acid)}
.confidentiality {background:var(--surface);border-color:var(--purple);color:var(--paper)}
.recognition>span {color:var(--acid)}
.recognition p {color:var(--muted)}
.next-project {color:var(--blue);border-color:var(--line)}
.next-project:hover {color:var(--acid)}
.safd-textile-section {background:#131016;color:var(--paper);border-block:1px solid var(--line)}
.safd-studies figcaption,.safd-credit {color:#cfc5da}
.display-note {color:var(--blue)}
.fashion-story figcaption,.process-band figcaption,.ciff-section figcaption {color:#d4cddd}
.runway-player video {background:var(--surface)}
.runway-player figcaption,.runway-description {color:var(--muted)}
.lightbox {background:var(--surface);color:var(--paper);border-color:#8156b4}
.lightbox button {border-color:#a285b6}

/* New engineering cases. Diagrams are semantic HTML, never synthetic evidence. */
.novo-hero .case-title-grid h1 {font-size:clamp(54px,7.5vw,108px)}
.novo-confidentiality {display:grid;grid-template-columns:.85fr 1.15fr;gap:20px 75px;border-block:1px solid var(--line);padding-block:22px;margin-bottom:32px}
.novo-confidentiality strong {font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--acid)}
.novo-confidentiality p {font-size:13px;color:var(--muted);margin:0;max-width:700px}
.novo-media {margin:0}
.novo-media-frame {position:relative;display:grid;grid-template-rows:auto 1fr;width:100%;min-width:0;aspect-ratio:16/7;min-height:320px;padding:24px 30px;border:1px solid #684183;background:linear-gradient(120deg,#21112c,var(--surface) 70%);overflow:hidden}
.novo-media-frame::after {content:'';position:absolute;width:42px;height:42px;right:18px;bottom:18px;border-right:1px solid #866c98;border-bottom:1px solid #866c98;pointer-events:none}
.novo-media-topline {display:flex;justify-content:space-between;gap:16px;font:10px var(--mono);text-transform:uppercase;letter-spacing:.07em;color:#cfc5da}
.novo-placeholder-copy {align-self:center;justify-self:center;max-width:620px;text-align:center;padding:30px 0}
.novo-format {display:block;font:800 clamp(46px,6vw,82px)/1 var(--display);text-transform:uppercase;color:#b68bff;letter-spacing:-.02em;margin-bottom:14px}
.novo-placeholder-copy h3 {font:800 clamp(27px,3vw,38px)/1.05 var(--display);text-transform:uppercase;margin:0}
.novo-placeholder-copy p {font-size:13px;color:var(--muted);max-width:460px;margin:14px auto 0}
.novo-placeholder-copy .novo-media-status {display:inline-block;color:var(--acid);font:10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.06em;padding:6px 10px;border:1px solid #576646;margin-top:20px}
.novo-media-frame-tour {background:linear-gradient(235deg,#21112c,var(--surface) 70%)}
.novo-media-frame-images {aspect-ratio:16/6;min-height:300px;background:var(--surface)}
.novo-media figcaption {font:10px/1.6 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:12px}
.novo-media-frame>video,.novo-media-frame>iframe,.novo-media-frame>img {width:100%;height:100%;min-width:0;object-fit:contain;border:0;grid-column:1/-1;grid-row:1/-1}
.novo-skills-title {font-size:28px;margin-top:32px}
.novo-skills {list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.novo-skills li {border:1px solid #684183;padding:9px 12px;font:11px/1.5 var(--mono);color:var(--paper)}
.novo-entry h3 {overflow-wrap:break-word}
@media(max-width:1000px) {
  .novo-hero .case-title-grid h1 {font-size:clamp(54px,7.5vw,80px)}
  .novo-confidentiality {gap:25px}
}
@media(max-width:760px) {
  .novo-hero .case-title-grid h1 {font-size:clamp(43px,10.7vw,70px)}
  .novo-confidentiality {grid-template-columns:1fr;gap:10px;padding-block:20px;margin-bottom:20px}
  .novo-media-frame,.novo-media-frame-images {aspect-ratio:auto;min-height:340px;padding:18px}
  .novo-media-topline {font-size:8px;letter-spacing:.03em;gap:10px}
  .novo-placeholder-copy {padding:30px 0}
  .novo-placeholder-copy h3 {font-size:30px}
  .novo-placeholder-copy p {font-size:12px}
  .novo-media figcaption {font-size:9px}
  .novo-skills li {font-size:10px;padding:8px 10px}
}
@media print {
  .novo-media-frame,.novo-media-frame-tour,.novo-media-frame-images {background:white;break-inside:avoid}
}
.ocean-cover {margin-bottom:30px}
.ocean-cover img {width:100%;height:auto;max-height:760px;object-fit:contain;background:var(--surface)}
.ocean-cover figcaption {font-size:12px;color:var(--muted);padding-top:12px}
.oceanplate-page .image-pair img {aspect-ratio:auto;height:auto}
.oceanplate-page .image-pair {align-items:start}
.oceanplate-page .scope-note {border-color:var(--acid)}
.physical-video,.physical-demo {margin-top:0;margin-bottom:35px}
.physical-video video,.physical-player video {display:block;width:100%;height:auto;max-height:760px;object-fit:contain;background:var(--surface)}
.physical-video figcaption,.physical-player figcaption {display:flex;justify-content:space-between;gap:20px;color:var(--muted);font:11px/1.6 var(--mono);margin-top:13px}
.physical-video figcaption a,.physical-player figcaption a {color:var(--acid);min-height:35px}
.system-flow {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:0;counter-reset:system}
.system-flow li {counter-increment:system;background:var(--surface);border:1px solid #684183;padding:25px 23px;position:relative;min-width:0}
.system-flow li::before {content:'0' counter(system) ' /';display:block;font:10px var(--mono);color:var(--acid);margin-bottom:20px}
.system-flow li:not(:last-child)::after {content:'→';position:absolute;right:15px;top:17px;font-size:23px;color:var(--blue)}
.system-flow li:nth-child(3)::after {content:none}
.system-flow strong {display:block;font:800 30px/1.05 var(--display);text-transform:uppercase;letter-spacing:-.01em}
.system-flow p,.system-flow small {display:block;font-size:13px;color:var(--muted);margin-top:13px}
.gesture-map {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:0}
.gesture-map li {border-top:2px solid var(--purple);padding:25px 18px;background:var(--surface);min-width:0}
.gesture-map strong {display:block;font:800 32px/1 var(--display);text-transform:uppercase;color:var(--acid)}
.gesture-map h3 {font-size:32px;color:var(--acid);margin-top:18px}
.gesture-map .eyebrow {font-size:10px;color:var(--muted);margin-top:0}
.gesture-map p,.gesture-map span {display:block;color:#d4cddd;font-size:14px;margin-top:16px}
.media-transcript {padding:25px;border:1px solid var(--line);margin-top:30px}
.media-transcript summary {cursor:pointer;color:var(--acid);font:12px/1.5 var(--mono);min-height:30px}
.media-transcript p,.media-transcript li {font-size:14px;color:#d4cddd}

@media(min-width:1700px) {
  .portfolio-hero h1 {font-size:135px}
}
@media(max-width:1150px) {
  .hero-grid {grid-template-columns:1.1fr .9fr;gap:4%}
  .portfolio-hero h1 {font-size:clamp(62px,8.3vw,100px)}
  .hero-note {font-size:24px}
  .evidence-label {font-size:8px}
  .hero-project-title {font-size:27px;padding:8px 10px}
  .discipline-switch {grid-template-columns:1.15fr 1fr}
  .discipline-switch>a {grid-template-columns:1fr}
  .work-heading {grid-template-columns:.36fr 1fr auto}
}
@media(max-width:900px) {
  .site-header {gap:15px}
  .site-header .brand {font-size:25px;gap:8px}
  .site-header nav {gap:0}
  .site-header nav>a {font-size:10px;padding:12px 8px;letter-spacing:0}
  .site-header nav .nav-cv {padding-inline:12px}
  .hero-topline {margin-bottom:35px}
  .hero-grid {grid-template-columns:1fr}
  .portfolio-hero h1 {font-size:clamp(76px,12vw,106px)}
  .hero-evidence {max-width:560px;margin:40px 0 0}
  .hero-project-title {font-size:36px}
  .hero-note {margin-top:35px;font-size:28px}
  .hero-intro {max-width:650px}
  .hero-topline p {font-size:9px}
  .hero-topline p:last-child {text-align:right}
  .engineering-pair {gap:35px}
  .fashion-work .work-heading {grid-template-columns:1fr auto}
  .fashion-work .work-heading>.eyebrow {grid-column:1/-1}
  .system-flow {grid-template-columns:repeat(2,minmax(0,1fr))}
  .system-flow li:nth-child(3)::after {content:'→'}
  .system-flow li:nth-child(even):not(:last-child)::after {content:none}
}
@media(max-width:760px) {
  .site-header {min-height:76px}
  .utility-strip {padding:7px 22px;font-size:8px}
  .site-header nav {border:1px solid #684183;background:var(--surface);padding:12px;gap:6px}
  .has-js .site-header nav {background:var(--surface);border-color:#684183}
  .site-header nav>a {justify-content:flex-start;font-size:11px;padding:14px 12px;border:1px solid var(--line)}
  .site-header nav .nav-cv {padding-inline:12px}
  .has-js .site-header nav.is-open {display:grid;grid-template-columns:1fr 1fr}
  .portfolio-hero {padding-top:20px}
  .hero-topline {margin-bottom:34px;gap:20px}
  .hero-topline p {font-size:8px}
  .hero-topline p:first-child {max-width:195px}
  .hero-topline p:last-child {max-width:80px}
  .hero-name {font-size:11px;letter-spacing:.16em;margin-bottom:20px}
  .portfolio-hero h1 {font-size:clamp(54px,13.3vw,97px);line-height:.88}
  .portfolio-hero h1 .hero-meets {font-size:34px;margin-top:10px;margin-bottom:13px;padding:3px 15px 7px}
  .hero-intro {font-size:14px;margin-top:27px}
  .hero-actions {gap:12px 20px;margin-top:24px}
  .action-primary,.action-secondary {font-size:10px;min-height:46px}
  .action-primary {padding:13px 14px;gap:18px}
  .hero-evidence {margin:40px 0 0;max-width:100%}
  .hero-project-image {padding:7px 7px 0}
  .hero-project-title {font-size:28px}
  .hero-project-image figcaption {font-size:9px;padding:10px 4px}
  .hero-note {font-size:26px;margin-top:30px}
  .registration-mark {font-size:55px}
  .evidence-label {font-size:8px;gap:12px;margin-bottom:15px}
  .hero-footer {font-size:8px;margin-top:35px;gap:20px}
  .hero-footer p {max-width:160px}
  .hero-footer a {text-align:right;max-width:120px}
  .discipline-switch {grid-template-columns:1fr;margin-top:15px}
  .discipline-switch>a {padding:24px 0;grid-template-columns:1fr auto;gap:12px 15px}
  .discipline-switch>a+a {border-left:0;border-top:1px solid var(--line);padding:24px 0}
  .discipline-switch strong {font-size:29px}
  .discipline-switch span {font-size:8px}
  .discipline-switch span:last-child {max-width:55px;white-space:normal;text-align:right}
  .engineering-work {padding-top:55px;padding-bottom:60px}
  .work-heading,.fashion-work .work-heading {grid-template-columns:1fr auto;gap:20px 15px;margin-bottom:28px}
  .work-heading>.eyebrow {grid-column:1/-1}
  .work-heading h2 {font-size:clamp(42px,10.8vw,62px)}
  .work-heading .index-count {font-size:12px}
  .work-caption {gap:18px;padding-top:19px}
  .work-caption .project-index {font-size:10px}
  .work-caption .eyebrow {font-size:9px}
  .work-text {padding:26px 22px}
  .work-text+.work-text {padding:26px 22px;border-left:0}
  .work-lamp .work-visual {padding:7px}
  .work-lamp .work-caption {margin-top:15px}
  .engineering-pair {grid-template-columns:1fr;margin-top:50px;gap:45px}
  .work-physical {margin-top:0}
  .engineering-pair .work-caption h3 {font-size:44px}
  .engineering-pair .work-caption>div>p:not(.eyebrow) {font-size:14px}
  .fashion-work {padding:55px 0 60px}
  .work-safd {margin-top:35px}
  .work-safd h3 {font-size:clamp(45px,12vw,65px)}
  .contact-section h2 {font-size:clamp(44px,11vw,75px)}
  .contact-email {font-size:clamp(17px,5vw,28px)}
  .case-nav {top:0}
  .case-nav>.wrap {gap:23px}
  .case-nav a {font-size:10px;padding-block:13px}
  .case-title-grid h1 {font-size:clamp(44px,10.9vw,70px)}
  .project-facts dd {font-size:12px}
  .project-facts dt {font-size:9px}
  .category-marker {font-size:9px;gap:15px}
  .case-section-content p:not(.large-copy) {font-size:14px}
  .oceanplate-page .image-pair {grid-template-columns:1fr;gap:30px}
  .physical-video figcaption,.physical-player figcaption {flex-direction:column;gap:8px;font-size:10px}
  .system-flow {grid-template-columns:1fr;gap:12px}
  .system-flow li {padding:23px}
  .system-flow li::before {margin-bottom:15px}
  .system-flow li:nth-child(n):not(:last-child)::after {content:'↓'}
  .system-flow strong {font-size:29px}
  .gesture-map {grid-template-columns:1fr;gap:14px}
  .gesture-map li {padding:24px}
  .gesture-map strong {font-size:30px}
  .media-transcript {padding:20px}
}
@media(max-width:380px) {
  .case-section-heading h2 {font-size:36px}
  .portfolio-hero h1 {font-size:clamp(48px,15.6vw,58px)}
  .portfolio-hero h1 .hero-meets {font-size:29px}
  .hero-topline p:first-child {max-width:160px}
  .hero-name {font-size:10px}
  .hero-project-title {font-size:24px}
  .discipline-switch strong {font-size:25px}
  .work-heading h2 {font-size:39px}
  .work-safd h3 {font-size:44px}
  .site-footer {font-size:9px}
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .work-visual:hover img {transform:none}
  .brand:hover {text-shadow:none}
}
@media print {
  body,.about-section,.fashion-work,.contact-section,.interaction-section,.process-band,.evaluation-section,.ciff-section,.safd-textile-section,.work-text,.work-text+.work-text,.work-safd,.scope-note,.architecture,.system-flow li,.gesture-map li {background:white;color:black}
  body p,body h1,body h2,body h3,body em,body strong,body a,body span,body figcaption,.project-facts dd,.project-facts dt {color:black!important}
  .registration-mark,.hero-evidence,.hero-actions,.hero-footer,.discipline-switch {display:none}
  .hero-grid,.engineering-pair,.system-flow,.gesture-map {display:block}
  .portfolio-hero h1 {font-size:65pt;line-height:1}
  .portfolio-hero h1 .hero-meets {margin:0;font-size:30pt}
  .work-physical {margin-top:30px}
}
