/* Shared usability layer. Existing evidence, media and interaction components remain. */
:root {
  --content-width:1240px;
  --space-1:8px;
  --space-2:16px;
  --space-3:24px;
  --space-4:32px;
  --space-5:48px;
  --space-6:64px;
  --space-7:80px;
  --body-copy:#d7d1de;
}
html {scroll-padding-top:150px}
body {font-size:17px;line-height:1.65}
.wrap {width:min(var(--content-width),calc(100% - 80px))}
h1,h2,h3,h4 {font-family:var(--display);font-weight:800;line-height:1.06;letter-spacing:-.015em;text-transform:uppercase}
h4 {margin:0}
h1 em,h2 em,h3 em {font-family:inherit;font-style:normal}
.eyebrow {font-size:11px;line-height:1.6;letter-spacing:.06em}
.utility-strip {font-size:10px;padding:7px max(40px,calc((100% - var(--content-width))/2));letter-spacing:.035em}
.site-header {position:sticky;top:0;z-index:40;min-height:84px;background:var(--ink);gap:30px;border-bottom:1px solid var(--line)}
.site-header .brand {font-size:29px;flex-shrink:0}
.site-header .brand span {font-size:25px}
.brand:hover {text-shadow:none;color:var(--blue)}
.site-header nav {gap:4px}
.site-header nav>a {font-size:12px;letter-spacing:.025em;padding:12px 13px;min-height:44px;display:inline-flex;align-items:center;gap:8px;border-bottom:2px solid transparent}
.site-header nav>a:hover {background:var(--surface);color:var(--acid)}
.site-header nav>a[aria-current] {color:var(--acid);border-bottom-color:var(--acid);background:var(--surface)}
.site-header nav .nav-cv {color:var(--ink);padding-inline:17px}
.site-header nav .nav-cv:hover {color:var(--ink);background:var(--paper)}
:focus-visible {outline:3px solid var(--acid);outline-offset:4px;box-shadow:0 0 0 3px var(--ink)}
.text-link,.action-primary,.action-secondary {font-size:12px;line-height:1.5;min-height:44px}
.text-link {display:inline-flex;align-items:center}
.action-primary {gap:18px;padding:14px 18px}
.action-secondary {padding:12px 0;border-bottom:1px solid var(--muted)}
.action-primary:hover {color:var(--ink)}

/* A personal introduction keeps the engineering identity and project routes clear. */
.personal-introduction {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:56px;padding-block:40px 48px;align-items:start}
.professional-name {font-size:21px;line-height:1.3;font-weight:650;margin:0 0 8px}
.professional-title {font:12px/1.6 var(--mono);text-transform:uppercase;color:var(--blue);margin:0}
.professional-title span {display:inline-block;color:var(--muted);margin-left:14px}
.intro-copy h1 {font-size:clamp(40px,4vw,54px);margin:22px 0 20px;line-height:1.06}
.intro-body,.intro-lede,.intro-opportunity {font-size:16px;line-height:1.65;color:var(--body-copy);max-width:660px;margin:0 0 16px}
.intro-lede {font-size:20px;line-height:1.5;color:var(--paper)}
.intro-opportunity {border-left:3px solid var(--purple);padding-left:14px;margin-top:22px;color:var(--paper)}
.intro-actions {display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;margin-top:24px}
.intro-actions .text-link {color:var(--blue);text-decoration:underline;text-underline-offset:5px}
.intro-profile {display:grid;grid-template-columns:minmax(110px,.8fr) minmax(0,1fr);gap:24px;border-top:2px solid var(--purple);padding-top:22px;min-width:0}
.intro-portrait {margin:0;min-width:0}
.intro-portrait img {display:block;width:100%;height:auto;border:1px solid var(--line)}
.intro-portrait figcaption {font:10px/1.6 var(--mono);color:var(--muted);margin-top:10px}
.intro-credentials {min-width:0}
.intro-credentials h2 {font:12px/1.5 var(--mono);letter-spacing:.025em;color:var(--blue);margin:0 0 12px}
.intro-education {margin:0 0 26px}
.intro-education>div+div {margin-top:18px}
.intro-education dt {font:11px/1.5 var(--mono);color:var(--acid);margin-bottom:5px}
.intro-education dd {font-size:14px;line-height:1.5;margin:0}
.intro-education dd span {display:block;font-size:12px;color:var(--muted);margin-top:4px}
.intro-competencies {list-style:none;padding:0;margin:0;color:var(--body-copy);font-size:13px;line-height:1.5}
.intro-competencies li {padding:8px 0;border-bottom:1px solid var(--line)}
.work-category-nav {display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:var(--surface)}
.work-category-nav a {display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;min-width:0}
.work-category-nav a+a {border-left:1px solid var(--line)}
.work-category-nav strong {font-size:16px;font-weight:600;line-height:1.4}
.work-category-nav span {font:11px/1.6 var(--mono);color:var(--muted);text-align:right}
.work-category-nav a:hover strong {color:var(--acid)}
.professional-work {padding-block:48px 72px}
.professional-section-heading {display:grid;grid-template-columns:1.25fr 1fr;align-items:end;gap:48px;margin-bottom:32px}
.professional-section-heading .eyebrow {color:var(--blue);margin:0 0 12px}
.professional-section-heading h2 {font-size:clamp(34px,4vw,52px)}
.professional-section-heading>p {font-size:15px;color:var(--body-copy);margin:0;max-width:550px}
.project-group-heading {font:500 14px/1.5 var(--sans);text-transform:none;letter-spacing:0;color:var(--muted);margin:32px 0 18px}
.project-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:stretch}
.project-card-shell {margin:0;min-width:0}
.project-card {height:100%;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);transition:border-color .16s ease,background-color .16s ease}
.project-card:hover {border-color:var(--blue);background:#1d1924}
.project-card:focus-visible {outline-offset:4px}
.project-card-media {width:100%;aspect-ratio:16/9;overflow:hidden;background:#111014;border-bottom:1px solid var(--line);display:grid;place-items:center}
.project-card-media>img {display:block;width:100%;height:100%;object-fit:contain;transform:none}
/* Keep the full lamp render inside its frame, independent of intrinsic grid sizing. */
.project-card[data-project="lamp"] .project-card-media {position:relative;flex:none}
.project-card[data-project="lamp"] .project-card-media>img {position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
/* Fill the hospital card while keeping the hospital name and entrance in view. */
.project-card[data-project="hospital"] .project-card-media {position:relative;flex:none}
.project-card[data-project="hospital"] .project-card-media>img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.project-card-copy {padding:24px;display:flex;flex-direction:column;flex:1;min-width:0}
.project-card-label {font:11px/1.5 var(--mono);letter-spacing:.025em;text-transform:uppercase;color:var(--blue)}
.project-card-context {font-size:12px;color:var(--muted);line-height:1.5;margin-top:8px}
.project-card h3,.project-card h4 {font-size:clamp(30px,3vw,40px);line-height:1.08;margin:16px 0 12px;color:var(--paper)}
.project-card-copy>p {font-size:15px;line-height:1.6;color:var(--body-copy);margin:0 0 20px}
.project-card-action {font:12px/1.5 var(--mono);color:var(--acid);margin-top:auto;min-height:24px;display:flex;align-items:center;gap:10px}
.project-card:hover .project-card-action {text-decoration:underline}
.card-confidential {display:flex;width:100%;height:100%;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px;background:var(--dark-purple)}
.card-confidential .card-format {font:800 clamp(48px,5vw,68px)/1 var(--display);color:var(--blue);letter-spacing:-.02em}
.card-confidential strong {font-size:14px;line-height:1.5;margin-top:18px}
.card-confidential>span:last-child {font-size:12px;line-height:1.6;color:var(--muted);margin-top:6px}
.additional-projects {margin-top:40px;border-top:1px solid var(--line)}
.additional-projects .project-card-shell {max-width:900px}
.additional-projects .project-card-shell+.project-card-shell {margin-top:20px}
.project-card-compact {display:grid;grid-template-columns:180px minmax(0,1fr);height:auto}
.project-card-compact .project-card-media {aspect-ratio:auto;height:100%;min-height:220px;border-right:1px solid var(--line);border-bottom:0;padding:18px}
.project-card-compact .project-card-media img {max-height:220px}
.project-card-compact h4 {font-size:30px;margin-block:12px}
.project-card-compact .project-card-copy {padding:22px 24px}
.project-card[data-project="napz"] .project-card-media {position:relative}
.project-card[data-project="napz"] .project-card-media img {position:absolute;inset:18px;width:calc(100% - 36px);height:calc(100% - 36px);max-height:none;object-fit:contain}
.professional-fashion {padding-block:64px 72px;background:#1a1124;border-block:1px solid #65417e}
.professional-fashion .project-card {background:var(--surface)}

/* Existing About/Contact content uses the same type and spacing scale. */
.about-section {padding-block:64px}
.about-grid {gap:64px;grid-template-columns:1fr 1.3fr}
.about-grid h2 {font-size:clamp(38px,4vw,54px);line-height:1.06;margin-top:16px}
.about-grid h2 em {font-family:inherit;font-style:normal;font-size:1em;color:var(--blue);letter-spacing:inherit;text-transform:uppercase}
.about-portrait {width:min(100%,280px);margin:24px 0 0}
.about-portrait img {display:block;width:100%;height:auto;border:1px solid var(--line)}
.about-copy>p:not(.large-copy),.hobbies {font-size:16px;line-height:1.7}
.large-copy {font-size:clamp(22px,2.2vw,28px);line-height:1.45;letter-spacing:-.015em}
.education dt,.education dd,.skills-grid p,.hobbies p {font-size:14px}
.education dd span {font-size:13px}
.skills-grid {gap:32px;margin-top:40px;padding-top:24px}
.skills-grid .eyebrow {font-size:11px}
.outside-work {grid-template-columns:1fr 1.3fr;gap:64px;margin-top:40px}
.outside-work h3 {font-size:34px}
.contact-section {background:var(--dark-purple);padding-block:48px 28px;border-top:1px solid #65417e}
.contact-section h2 {font-size:clamp(42px,5vw,68px);margin:20px 0 28px;line-height:1.05}
.contact-section h2>span {font-size:.6em;margin-left:20px}
.contact-bottom {gap:32px;grid-template-columns:1fr 1fr}
.contact-bottom p {font-size:15px}
.contact-email {font-size:clamp(22px,2.4vw,32px)}
.contact-links {font-size:13px;gap:24px;margin-top:28px;padding-top:16px;border-color:#65417e}
.contact-links>span {font-size:12px}
.site-footer {min-height:84px;font-size:11px}

/* Consistent case introductions and readable evidence sections. */
body.case-page .case-hero {padding-top:24px;padding-bottom:32px}
body.case-page .back-link {font-size:12px;margin-bottom:12px;min-height:44px}
body.case-page .category-marker {font-size:11px;margin:12px 0 20px;padding-bottom:14px}
body.case-page .case-hero>.eyebrow {font-size:11px;color:var(--muted);margin:0 0 16px}
body.case-page .case-title-grid {grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:40px;margin-top:0}
body.case-page .case-title-grid h1 {font-size:clamp(46px,5.8vw,76px);line-height:1.03;overflow-wrap:break-word}
body.case-page .case-lede {max-width:100%;padding:0;border-left:0}
body.case-page .case-lede p:first-child {font-size:22px;line-height:1.45;letter-spacing:-.015em}
body.case-page .case-lede p:nth-child(n+2) {font-size:16px;line-height:1.65;color:var(--body-copy);margin-top:16px}
body.case-page .case-lede .text-link {margin-top:16px}
body.case-page .project-facts {grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-top:22px;margin-top:28px}
body.case-page .project-facts>div {min-width:0}
body.case-page .project-facts dt {font-size:11px;line-height:1.5;letter-spacing:.04em;color:var(--blue);margin-bottom:10px}
body.case-page .project-facts dd {font-size:14px;line-height:1.65;overflow-wrap:break-word}
body.case-page .case-nav {top:84px;z-index:20;background:var(--surface);border-block:1px solid var(--line)}
body.case-page .case-nav>.wrap {justify-content:flex-start;gap:30px;overflow-x:auto;scrollbar-width:thin}
body.case-page .case-nav a {font-size:12px;line-height:1.5;min-height:48px;padding-block:13px;flex-shrink:0;white-space:nowrap}
body.case-page .case-nav a[aria-current] {color:var(--acid);text-decoration:underline}
body.case-page .case-section,body.case-page .video-section {padding-block:56px;gap:32px 56px;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}
body.case-page .case-section-heading h2,body.case-page .section-heading h2,body.case-page .band-heading h2,body.case-page .video-section h2 {font-size:clamp(34px,3.5vw,48px);line-height:1.08;margin-top:16px}
body.case-page .case-section-content {max-width:720px}
body.case-page .case-section-content p:not(.large-copy) {font-size:16px;line-height:1.7;color:var(--body-copy)}
body.case-page .case-section-content .caption,body.case-page .caption {font-size:13px;line-height:1.7;color:var(--muted)}
body.case-page .case-section-content>.large-copy {font-size:25px;line-height:1.45}
body.case-page .case-cover img,body.case-page .lamp-cover img,body.case-page .ocean-cover img {max-height:560px;object-fit:contain;background:var(--surface)}
body.case-page .case-hero .case-cover {margin-top:28px}
body.case-page .case-cover figcaption,body.case-page .lamp-cover figcaption,body.case-page figcaption {font-size:12px;line-height:1.65;letter-spacing:0;text-transform:none}
body.case-page .image-pair,body.case-page .image-trio,body.case-page .assembly-layout,body.case-page .safd-studies,body.case-page .safd-looks {gap:24px;align-items:start}
body.case-page .image-pair img,body.case-page .image-trio img,body.case-page .assembly-layout img {width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:var(--surface)}
body.case-page .safd-studies img {width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:var(--surface)}
body.case-page .safd-looks img {width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;background:var(--surface)}
body.case-page [data-gallery] img,body.case-page [data-gallery]:hover img {transform:none}
body.case-page .editorial-statement {padding-block:40px}
body.case-page .editorial-statement>p,body.case-page .editorial-statement>.wrap>p {font:800 clamp(32px,4vw,52px)/1.12 var(--display);text-transform:uppercase;letter-spacing:-.015em;max-width:1000px}
body.case-page .editorial-statement em {font:inherit;color:var(--blue)}
body.case-page .process-band,body.case-page .evaluation-section,body.case-page .ciff-section,body.case-page .fashion-story,body.case-page .runway-section {padding-block:56px}
body.case-page .process-band,body.case-page .evaluation-section,body.case-page .ciff-section {background:#1a1124}
body.case-page .interaction-section>.wrap {grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:32px 56px}
body.case-page .band-heading {gap:32px 56px}
body.case-page .case-next {padding-block:48px}
body.case-page .next-project h2 {font-size:clamp(32px,4vw,52px)}
body.case-page .next-project>span {font-size:42px}
body.case-page .source-note {font-size:12px;line-height:1.7}
body.case-page .hospital-context-photo figcaption,body.case-page .hospital-source-note,body.case-page .novo-confidentiality strong {font-size:11px}
body.case-page .hospital-timeline h3,body.case-page .hospital-design-flow h3 {font-size:26px;line-height:1.1}
body.case-page .hospital-problems h3 {font-size:34px;line-height:1.08}
body.case-page .hospital-day,body.case-page .hospital-evidence-label,body.case-page .hospital-problems .eyebrow,body.case-page .hospital-skills li {font-size:11px}
body.case-page .hospital-timeline p,body.case-page .hospital-design-flow p {font-size:14px}
body.case-page .hospital-context-stat {padding:24px;gap:24px}
body.case-page .novo-media-topline,body.case-page .novo-media-status,body.case-page .novo-media figcaption {font-size:11px}
body.case-page .novo-placeholder-copy p {font-size:14px}
body.case-page .novo-media-frame::after {content:none}
body.case-page .waiting-original-title {font-size:12px;margin-top:18px}
body.case-page .waiting-process p {font-size:14px}
body.case-page .lightbox {max-width:min(1200px,94vw)}
.lightbox button {min-width:44px;min-height:44px}
.enlarge {width:44px;height:44px}
html:not(.has-js) .site-header {position:relative}
html:not(.has-js) body.case-page .case-nav {top:0}

@media(max-width:1050px) {
  .site-header {gap:16px}
  .site-header .brand {font-size:25px;gap:8px}
  .site-header nav>a {padding-inline:9px;font-size:11px}
  .personal-introduction {gap:32px;grid-template-columns:1.3fr 1fr}
  .intro-profile {grid-template-columns:1fr}
  .intro-portrait {max-width:150px}
  .professional-section-heading {gap:32px}
  .work-category-nav a {flex-direction:column;align-items:flex-start;gap:6px}
  .work-category-nav span {text-align:left}
  body.case-page .hospital-design-flow {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px) {
  html {scroll-padding-top:128px}
  .wrap {width:calc(100% - 36px)}
  .utility-strip {padding:7px 18px;font-size:9px}
  .utility-strip span:last-child {display:none}
  .site-header {min-height:68px;flex-wrap:wrap;gap:0 16px}
  .site-header .brand {font-size:26px;min-height:68px;align-items:center}
  .site-header .menu-toggle {font-size:12px;min-width:76px;min-height:44px;padding:8px 10px;margin-left:auto}
  .site-header nav {width:100%;gap:8px;padding:12px;background:var(--surface);border:1px solid var(--line)}
  .site-header nav>a {font-size:12px;padding:12px;min-height:48px;justify-content:flex-start;border:1px solid var(--line)}
  .site-header nav .nav-cv {padding-inline:12px}
  .has-js .site-header nav {top:100%;left:0;right:0;width:100%}
  .has-js .site-header nav.is-open {display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .site-header nav>a[aria-current] {border-color:var(--acid)}
  .personal-introduction {grid-template-columns:1fr;gap:30px;padding-block:28px 36px}
  .professional-name {font-size:20px}
  .professional-title {font-size:11px;max-width:100%}
  .professional-title span {display:block;margin:6px 0 0}
  .intro-copy h1 {font-size:40px;margin-block:20px 16px}
  .intro-lede {font-size:19px}
  .intro-actions {display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin-top:20px}
  .intro-actions>a {min-width:0}
  .intro-actions .action-primary {font-size:11px;padding:10px 12px;gap:8px;justify-content:space-between}
  .intro-profile {grid-template-columns:1fr;gap:24px}
  .intro-portrait {max-width:120px}
  .intro-credentials {border-top:1px solid var(--line);padding-top:20px}
  .intro-education {display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}
  .intro-education>div+div {margin:0}
  .intro-competencies li {padding:7px 0}
  .action-primary,.action-secondary {font-size:12px;min-height:48px}
  .work-category-nav {grid-template-columns:1fr}
  .work-category-nav a {flex-direction:row;align-items:center;padding:18px;gap:12px}
  .work-category-nav a+a {border-left:0;border-top:1px solid var(--line)}
  .work-category-nav strong {font-size:15px;max-width:180px}
  .work-category-nav span {font-size:10px;text-align:right;max-width:100px}
  .professional-work,.professional-fashion {padding-block:40px 48px}
  .professional-section-heading {grid-template-columns:1fr;gap:18px;margin-bottom:26px}
  .professional-section-heading h2 {font-size:clamp(34px,8.5vw,44px)}
  .professional-section-heading>p {font-size:15px}
  .project-group-heading {font-size:14px;margin-top:28px}
  .project-grid {grid-template-columns:1fr;gap:24px}
  .project-card-copy {padding:22px}
  .project-card h3 {font-size:34px;margin-top:14px}
  .project-card-copy>p {font-size:15px}
  .project-card-label {font-size:11px}
  .project-card-context {font-size:12px}
  .project-card-media {aspect-ratio:16/9}
  .card-confidential {padding:20px}
  .card-confidential .card-format {font-size:52px}
  .card-confidential strong {font-size:13px;margin-top:10px}
  .card-confidential>span:last-child {font-size:12px}
  .project-card-compact {grid-template-columns:1fr}
  .project-card-compact .project-card-media {position:relative;aspect-ratio:16/9;min-height:0;padding:12px;height:auto;border-right:0;border-bottom:1px solid var(--line)}
  .project-card-compact .project-card-media img,.project-card[data-project="napz"] .project-card-media img {position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px);max-height:none;object-fit:contain}
  .project-card-compact .project-card-copy {padding:18px 16px}
  .project-card-compact h4 {font-size:27px}
  .project-card-compact .project-card-label {font-size:10px}
  .project-card-compact .project-card-copy>p {font-size:14px}
  .about-section {padding-block:40px}
  .about-grid,.outside-work {grid-template-columns:1fr;gap:28px}
  .about-grid h2 {font-size:40px}
  .about-portrait {max-width:260px}
  .about-copy>p:not(.large-copy),.hobbies {font-size:15px}
  .skills-grid {grid-template-columns:1fr;gap:24px;margin-top:30px}
  .outside-work {margin-top:30px}
  .contact-section {padding-top:36px}
  .contact-section h2 {font-size:44px}
  .contact-bottom {grid-template-columns:1fr;gap:22px}
  .contact-email {justify-self:start;font-size:clamp(21px,5.8vw,28px)}
  .contact-links {gap:12px 24px;flex-wrap:wrap}
  .contact-links>span {width:100%;margin-left:0}
  .site-footer {flex-wrap:wrap;justify-content:flex-start;gap:4px 20px;padding-block:20px;font-size:11px}
  .site-footer>span:first-child {flex-basis:100%}
  body.case-page .case-hero {padding-top:16px;padding-bottom:28px}
  body.case-page .case-title-grid {grid-template-columns:1fr;gap:22px}
  body.case-page .case-title-grid h1 {font-size:clamp(42px,10.5vw,66px)}
  body.case-page .category-marker {font-size:10px;gap:12px;margin-block:8px 18px}
  body.case-page .case-hero>.eyebrow {font-size:11px;line-height:1.6}
  body.case-page .case-lede p:first-child {font-size:22px}
  body.case-page .case-lede p:nth-child(n+2) {font-size:15px}
  body.case-page .project-facts {grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px;margin-top:24px}
  body.case-page .project-facts dt {font-size:10px}
  body.case-page .project-facts dd {font-size:13px}
  body.case-page .case-nav {top:68px}
  body.case-page .case-nav>.wrap {gap:22px}
  body.case-page .case-nav a {font-size:11px;min-height:48px}
  body.case-page .case-section,body.case-page .video-section {grid-template-columns:1fr;padding-block:36px;gap:24px}
  body.case-page .case-section-heading h2,body.case-page .section-heading h2,body.case-page .band-heading h2,body.case-page .video-section h2 {font-size:36px;margin-top:12px}
  body.case-page .case-section-content p:not(.large-copy) {font-size:15px}
  body.case-page .case-section-content>.large-copy {font-size:23px}
  body.case-page .interaction-section>.wrap,body.case-page .band-heading {grid-template-columns:1fr;gap:24px}
  body.case-page .process-band,body.case-page .evaluation-section,body.case-page .ciff-section,body.case-page .fashion-story,body.case-page .runway-section {padding-block:36px}
  body.case-page .image-pair,body.case-page .image-trio,body.case-page .assembly-layout,body.case-page .safd-studies,body.case-page .safd-looks {grid-template-columns:1fr;gap:28px}
  body.case-page .safd-studies img {max-height:450px}
  body.case-page .safd-looks img {max-height:600px}
  body.case-page .hospital-timeline,body.case-page .hospital-design-flow {grid-template-columns:1fr}
  body.case-page .hospital-context-stat {padding:22px;gap:20px}
  body.case-page .hospital-timeline h3,body.case-page .hospital-design-flow h3 {font-size:28px}
  body.case-page .hospital-problems h3 {font-size:34px}
  body.case-page .editorial-statement {padding-block:28px}
  body.case-page .editorial-statement>p,body.case-page .editorial-statement>.wrap>p {font-size:34px}
  body.case-page .next-project h2 {font-size:34px}
  body.case-page figcaption {font-size:12px}
}
@media(max-width:380px) {
  .intro-copy h1 {font-size:38px}
  .action-primary {width:100%;justify-content:space-between;padding-inline:14px}
  .project-card-copy {padding:18px}
  .project-card h3 {font-size:31px}
  .work-category-nav a {padding:16px 14px}
  .work-category-nav strong {font-size:14px;max-width:155px}
  .contact-section h2 {font-size:40px}
  .contact-section h2>span {margin-left:8px}
  body.case-page .case-title-grid h1 {font-size:42px}
  body.case-page .project-facts {gap:20px 16px}
}
@media(prefers-reduced-motion:reduce) {
  .project-card {transition:none}
}
@media print {
  .site-header {position:static}
  .project-card,.intro-profile {break-inside:avoid}
}
