/* Barlow's compact industrial forms connect the editorial identity to product engineering.
   Oxblood and citron come from the supplied references; warm white supports long reading. */
/* Full faces are preloaded in the shared head. Inline navigation subsets keep
   the header stable while these complete fonts are still in flight. */
@font-face { font-family: Barlow; src: url('/fonts/barlow-regular.woff2') format('woff2'); font-style: normal; font-weight: 400; font-display: block; }
@font-face { font-family: Barlow; src: url('/fonts/barlow-bold.woff2') format('woff2'); font-style: normal; font-weight: 600 700; font-display: block; }
@font-face { font-family: Barlow; src: url('/fonts/barlow-extrabold.woff2') format('woff2'); font-style: normal; font-weight: 800 900; font-display: block; }
:root, .portfolio-site, .public-page {
 --canvas: #550f1b; --canvas-raised: #621e28; --panel: #621e28; --panel-raised: #6c2933;
 --paper: #550f1b; --paper-deep: #47101a; --ink: #f2e59a; --ink-soft: #ebdcd2; --muted: #d0b6b5;
 --line: #834b50; --line-strong: #a37576; --blue: #f2e59a; --yellow: #f2e59a; --focus: #fff;
 --error: #ffceca; --page-control-line: #a37576;
 --sans: Barlow, 'Arial Narrow', Arial, sans-serif; --serif: var(--sans); --mono: var(--sans);
 --gutter: clamp(1.25rem, 5vw, 5rem);
 --motion-fast: 140ms; --motion: 200ms; --ease: cubic-bezier(.2, .65, .3, 1);
}
html, .portfolio-site { background: var(--canvas); color: var(--ink); }
.portfolio-site { font-family: var(--sans); font-size: 1rem; line-height: 1.6; overflow-x: clip; }
.portfolio-site h1, .portfolio-site h2, .portfolio-site h3 { font-family: var(--sans); font-weight: 800; letter-spacing: -.035em; line-height: 1.02; text-transform: uppercase; text-wrap: balance; }
.portfolio-site .studio-name { font-size: clamp(4.5rem, 12.5vw, 12.5rem); white-space: nowrap; text-wrap: nowrap; line-height: .95; letter-spacing: -.045em; }
.portfolio-site .type-serif, .home-page h2 em { font-family: inherit; font-style: normal; font-weight: inherit; letter-spacing: inherit; }
.container, .public-page .container, .page-lab .container { width: min(100%, 1600px); }
.portfolio-site .eyebrow { color: var(--muted); font-family: var(--sans); font-size: .875rem; letter-spacing: 0; font-weight: 400; text-transform: none; }
.portfolio-site .text-link { font-size: 1rem; color: var(--ink); text-decoration-color: currentColor; }
.portfolio-site .button { min-height: 48px; padding: .75rem 1.4rem; border-radius: 3rem; font-size: .9375rem; gap: 1.5rem; font-weight: 700; }
.portfolio-site .button--small { min-height: 44px; font-size: .875rem; }
.portfolio-site .button--ink, .portfolio-site .button--accent { background: var(--accent); color: var(--accent-ink); }
.portfolio-site .button--ink:hover, .portfolio-site .button--accent:hover { background: #fff; color: #550f1b; }
.portfolio-site .button--outline:hover { border-color: currentColor; background: transparent; }
.portfolio-site .button:hover, .portfolio-site .project-image-link:hover img, .portfolio-site .post-image-link:hover img { transform: none; }
.portfolio-site .button:active, .home-button:active { opacity: .72; }
.portfolio-site .button:disabled { cursor: wait; opacity: .55; }
.portfolio-site :focus-visible { outline: 2px solid var(--focus); outline-offset: 5px; }
.portfolio-site .title-dot { color: currentColor; }
/* Small movements belong to controls; reading content is visible from first paint. */
.studio-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 2rem; }
.studio-hero-actions .studio-experience-link { min-height: 44px; display: inline-flex; align-items: center; gap: 1rem; }
.home-supporting-work { display: grid; grid-template-columns: .6fr 1.4fr; gap: 3rem; margin-top: 5rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.portfolio-site .home-supporting-work h3 { font-size: clamp(1.7rem, 2.6vw, 2.5rem); line-height: 1.1; text-transform: none; letter-spacing: -.025em; }
.home-supporting-work ul { list-style: none; margin: 0; padding: 0; }
.home-supporting-work a { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .85fr) auto; gap: 1rem; align-items: center; min-height: 68px; padding-block: .75rem; border-bottom: 1px solid var(--line); }
.home-supporting-work__title { font-size: 1.15rem; font-weight: 700; }
.home-supporting-work__category { font-size: .875rem; color: var(--ink-soft); }
.home-supporting-work a > span:last-child { transition: transform 150ms ease-out; }
.home-supporting-work a:hover > span:last-child { transform: translate(2px, -2px); }
.home-supporting-work a:hover .home-supporting-work__title { text-decoration: underline; text-underline-offset: .25em; }
.profile-authorship { margin-top: 1.5rem; font-size: 1.0625rem; line-height: 1.7; color: var(--ink-soft); }
.profile-next-steps { margin-top: 1.5rem; }
@media (max-width: 700px) { .home-supporting-work { grid-template-columns: 1fr; gap: 1.5rem; margin-top: 3rem; } .home-supporting-work a { grid-template-columns: minmax(0, 1fr) auto; gap: .2rem 1rem; } .home-supporting-work__category { grid-column: 1; grid-row: 2; } .home-supporting-work a > span:last-child { grid-column: 2; grid-row: 1 / 3; } }
@media (prefers-reduced-motion: reduce) { .home-supporting-work a > span:last-child { transition: none; transform: none !important; } }
.portfolio-site :is(.button, .home-button, .text-link, .home-text-link) .icon,
.portfolio-site :is(.home-button, .home-text-link) > span[aria-hidden],
.studio-image-action, .home-project-card__open { transition: transform var(--motion) var(--ease); }
.portfolio-site :is(.button, .home-button, .text-link, .home-text-link):hover .icon,
.portfolio-site :is(.home-button, .home-text-link):hover > span[aria-hidden] { transform: translate(2px, -2px); }
.studio-hero-project > a:hover .studio-image-action { transform: rotate(45deg); }
.home-project-card__media:hover .home-project-card__open { transform: translate(2px, -2px); }
.portfolio-site :is(.text-link, .home-text-link, .home-project-card__heading a) { text-underline-offset: .25em; transition: text-decoration-color var(--motion-fast), color var(--motion-fast); }
.home-project-card__heading a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.portfolio-site :is(.command-palette[open], .case-study-lightbox[open]) { animation: studio-dialog-in 180ms var(--ease) both; }
.portfolio-site .faq-item[open] .faq-answer { animation: studio-content-in 180ms ease-out; }
[data-route-ready] .home-route-panel.is-active { animation: studio-content-in 180ms ease-out; }
@keyframes studio-dialog-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes studio-content-in { from { opacity: .5; } to { opacity: 1; } }
.home-about-section, .home-toolkit-section { --focus: #550f1b; }
.portfolio-site ::selection { background: #f2e59a; color: #550f1b; }
.portfolio-site .site-header { background: #550f1b; border-bottom: 1px solid #834b50; backdrop-filter: none; }
.portfolio-site .header-inner { min-height: 88px; gap: 2rem; }
.portfolio-site .site-header--command .header-inner { min-height: 88px; }
.portfolio-site .site-header--command .brand-name { font-size: 1.4rem; }
.portfolio-site .site-header--command .nav-cta { min-height: 48px; padding: .7rem 1.2rem; font-size: .9375rem; background: #f2e59a; color: #550f1b; }
.portfolio-site .brand-name { font-size: 1.4rem; font-weight: 800; letter-spacing: -.05em; text-transform: uppercase; color: #f2e59a; }
.portfolio-site .site-nav { margin-left: auto; gap: 1.6rem; }
.portfolio-site .nav-link { color: #ebdcd2; font-family: var(--sans); font-size: .875rem; font-weight: 700; letter-spacing: 0; text-transform: none; }
.portfolio-site .nav-link[aria-current] { color: #f2e59a; }
.portfolio-site .nav-link::after { bottom: .3rem; }
.portfolio-site .nav-cta { margin-left: 1rem; }
.portfolio-site .nav-toggle { font-size: .9375rem; text-transform: none; letter-spacing: 0; }
.portfolio-site .nav-drawer { background: #550f1b; color: #f2e59a; box-shadow: none; }
.portfolio-site .nav-drawer__header h2 { font-size: 1.5rem; }
.portfolio-site .nav-drawer .site-nav { margin-left: 0; gap: 0; }
.portfolio-site .nav-drawer .nav-link { min-height: 4rem; font-size: 1.7rem; }
.portfolio-site .nav-drawer .nav-link::before { content: none; }
.portfolio-site .nav-drawer .nav-cta { margin-left: 0; }
.portfolio-site .nav-drawer__footer > p { color: #ebdcd2; font-size: 1rem; }
.portfolio-site .availability { color: var(--ink-soft); font-size: .875rem; font-family: var(--sans); }
.public-page .public-intro .public-profile-intro .availability { font-size: .875rem; }
.availability-dot { width: .4rem; height: .4rem; box-shadow: none; }
.portfolio-site .site-footer { padding-block: 0; background: #f2e59a; color: #550f1b; --ink: #550f1b; --ink-soft: #693f42; --muted: #693f42; --line: #c4b679; --accent: #550f1b !important; --accent-ink: #f2e59a !important; --focus: #550f1b; }
.footer-invitation { display: flex; align-items: center; justify-content: space-between; gap: 3rem; padding-block: clamp(3.5rem, 7vw, 7rem); border-bottom: 1px solid var(--line); }
.footer-invitation h2 { font-size: clamp(2.6rem, 5.4vw, 5.5rem); max-width: 20ch; }
.footer-invitation .button { flex-shrink: 0; }
.portfolio-site .footer-main { padding-block: 3rem; }
.portfolio-site .footer-name { font-size: 2rem; font-family: var(--sans); font-weight: 800; text-transform: uppercase; }
.portfolio-site .footer-role { max-width: 40ch; font-size: 1rem; color: var(--ink-soft); }
.portfolio-site .footer-bottom { padding-block: 1.5rem; border-top: 1px solid var(--line); font-size: .875rem; }
.portfolio-site .footer-bottom p, .portfolio-site .footer-bottom a, .portfolio-site .footer-search, .portfolio-site .footer-socials a { color: #550f1b; font-size: .875rem; letter-spacing: 0; text-transform: none; }
.portfolio-site .footer-socials a { font-size: 1rem; }
.portfolio-site .footer-socials svg:first-child { display: none; }
.portfolio-site .section { background: var(--canvas); color: var(--ink); }
.portfolio-site .section--muted { background: var(--canvas-raised); }
.public-page .public-intro { padding-block: 0; }
.public-page .public-intro__topline { min-height: 4.5rem; border-bottom: 0; }
.public-page .public-intro__topline > .eyebrow { font-size: .9375rem; color: var(--muted); }
.public-page .public-index-link { min-height: 44px; color: var(--ink); font-size: .9375rem; }
.public-page .page-intro-grid { grid-template-columns: 1.3fr .7fr; gap: 4rem; padding-block: 1.5rem 4.5rem; align-items: end; }
.public-page .public-intro h1 { font-size: clamp(3.5rem, 8.6vw, 9rem); line-height: .95; letter-spacing: -.04em; max-width: 15ch; }
.public-page .page-intro-side > p { color: var(--ink-soft); font-size: 1.0625rem; line-height: 1.7; }
.public-page .public-section-index { gap: 2rem; padding-block: 1.25rem; border-top: 1px solid var(--line); }
.public-section-index a { font-size: .9375rem; }
.public-section-index a > span { display: none; }
.public-page .public-work, .public-page .public-journal, .public-page .public-reading, .public-page .public-profile, .public-page .public-contact {
 --canvas: #f6f5f1; --canvas-raised: #edebe7; --panel: #fff; --panel-raised: #fff;
 --ink: #43202a; --ink-soft: #554c4d; --muted: #685d60; --line: #cec6c6; --line-strong: #897e80;
 --accent: #550f1b; --accent-ink: #f2e59a; --blue: #550f1b; --focus: #550f1b; --error: #a12130;
 background: var(--canvas); color: var(--ink); color-scheme: light;
}
.public-page .public-list-heading { margin-bottom: 2rem; }
.public-page .public-list-heading h2 { font-size: 1.2rem; text-transform: none; letter-spacing: 0; }
.public-page .work-filters { display: grid; grid-template-columns: 1.4fr 1fr auto; gap: 1.5rem; padding: 0 0 2rem; border: 0; background: none; }
.public-page .filter-field label { color: var(--ink); font-size: .9375rem; text-transform: none; letter-spacing: 0; margin-bottom: .6rem; }
.public-page .filter-field input, .public-page .filter-field select { min-height: 52px; background: transparent; border: 1px solid var(--line-strong); border-radius: 0; color: var(--ink); font-size: 1rem; }
.public-page .filter-field input::placeholder { color: var(--muted); }
.public-page .public-search-control { background: none; }
.public-page .filter-field input:focus, .public-page .filter-field select:focus { background: #fff; outline-color: var(--focus); }
.public-page .results-bar { margin-bottom: 2.5rem; padding-block: 1rem; font-size: .9375rem; border-color: var(--line); }
.public-page .public-work-grid { grid-template-columns: 1.15fr .85fr; align-items: start; gap: 4.5rem 4rem; }
.public-page .public-work-grid .project-card:nth-child(even) { margin-top: 4rem; }
.public-page .project-image-link { padding: clamp(1rem, 2.6vw, 2.5rem); border: 0; background: #ddd9d2; aspect-ratio: auto; }
.public-page .project-card:nth-child(3n+2) .project-image-link { background: #e4dca8; }
.public-page .project-card:nth-child(3n) .project-image-link { background: #bdc6bc; }
.public-page .project-image-frame { display: block; position: static; padding: 0; width: 100%; aspect-ratio: 1.6; overflow: hidden; }
.public-page .project-image-frame img { width: 100%; height: 100%; object-fit: cover; object-position: top; transform: none; filter: none; }
.public-page .image-link-marker { background: #550f1b; color: #f2e59a; border: 0; right: 0; bottom: 0; }
.public-page .project-card-content { padding-top: 1.3rem; }
.public-page .card-meta { font-family: var(--sans); font-size: .875rem; letter-spacing: 0; text-transform: none; }
.public-page .project-card h3 { margin-top: .5rem; font-size: clamp(1.7rem, 2.5vw, 2.5rem); }
.public-page .project-card-content > p { font-size: 1rem; line-height: 1.65; color: var(--ink-soft); }
.public-page .project-card .stack-list { padding-top: 1rem; border-top: 0; }
.public-page .stack-list--compact .stack-list__item { font-size: .875rem; }
.public-page .project-image-placeholder { aspect-ratio: 1.6; height: auto; color: #550f1b; }
.public-page .empty-state { border: 0; background: transparent; }
.public-page .public-empty h2 { font-size: 2.5rem; }
.public-page .pagination { font-size: 1rem; }
.public-page .pagination-page { font-size: 1rem; }
.public-page .pagination a, .public-page .pagination span { min-width: 44px; min-height: 44px; }
.public-page .public-services { padding-top: 1rem; }
.public-page .public-services .service-list--detailed { display: block; border: 0; background: transparent; }
.public-page .public-services .service-card { background: transparent; border: 0; border-top: 1px solid var(--line); padding: 3rem 0; }
.public-page .service-card--detailed { grid-template-columns: .15fr 1fr; padding-block: 3rem; border-color: var(--line); }
.public-page .service-number { color: var(--muted); font-size: 1rem; }
.public-page .service-card-main { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 4rem; }
.public-page .service-card-main h3 { grid-column: 1; font-size: clamp(1.7rem, 3.3vw, 3.2rem); }
.public-page .service-card-main > .service-summary { grid-column: 1; color: var(--ink-soft); font-size: 1.0625rem; }
.public-page .service-card-main > .prose { grid-column: 2; grid-row: 1 / span 2; margin: 0; color: var(--ink-soft); font-size: 1rem; }
.public-page .service-card-main .deliverables { grid-column: 2; padding-top: 0; margin-top: 0; border-top: 0; }
.public-page .deliverables li { font-size: 1rem; }
.public-page .service-price { grid-column: 1; font-size: .9375rem; }
.public-page .service-related { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: baseline; gap: 1.5rem; padding-top: 1.5rem; border-color: var(--line); }
.public-page .service-related__label { font-size: .875rem; text-transform: none; }
.public-page .service-related__links a { font-size: .9375rem; }
.public-page .service-related__links { display: flex; flex-wrap: wrap; gap: .5rem 2rem; }
.public-page .service-related__links a { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; }
.public-page .service-related__label { flex: 0 0 auto; }
.public-page .public-profile .about-detail-grid { grid-template-columns: .65fr 1.35fr; gap: 6rem; }
.public-page .profile-statement { margin-bottom: 2rem; font-size: clamp(2rem, 3.5vw, 3.6rem); }
.public-page .public-profile-copy .prose--lead { font-size: 1.2rem; line-height: 1.8; }
.public-page .stat { padding-bottom: 1.25rem; }
.public-page .stat dd { font-size: 2.5rem; font-weight: 700; letter-spacing: -.04em; }
.public-page .stat dt { font-size: .9375rem; }
.public-page .tech-stack { border: 0; gap: 3rem; }
.public-page .tech-stack__group { border: 0; border-top: 1px solid var(--line); padding: 1.5rem 0 0; background: transparent; }
.public-page .tech-stack__group::before { content: none; }
.public-page .tech-stack__number { display: none; }
.public-page .tech-stack__group h3 { margin-top: 1rem; font-size: 2rem; }
.public-page .tech-stack .stack-list__item { font-size: 1rem; }
.public-page .toolkit-note { font-size: 1rem; }
.public-page .experience-period { color: var(--ink); font-size: 1.75rem; }
.public-page .experience-content h3 { font-size: 2rem; }
.public-page .experience-kind, .public-page .experience-organization { font-size: .9375rem; letter-spacing: 0; text-transform: none; }
.public-page .experience-content > p, .public-page .experience-content .prose { font-size: 1rem; }
.public-page .section-heading h2 { font-size: clamp(2.5rem, 4vw, 4rem); }
.public-page .public-contact { padding-block: 4.5rem; }
.public-page .contact-grid { grid-template-columns: 1.2fr .8fr; gap: 6rem; }
.public-page .enquiry-heading { font-size: clamp(2rem, 3.5vw, 3.5rem); margin-bottom: 1.5rem; }
.public-page .public-contact-sidebar > h3 { font-size: 1.5rem; max-width: 18ch; margin-bottom: 1.5rem; }
.public-page .public-contact-sidebar h2 { font-size: clamp(2rem, 3vw, 3.2rem); }
.public-page .public-contact-sidebar { border-left: 0; padding-left: 0; }
.public-page .public-contact-sidebar::before { content: none; }
.public-page .public-contact-sidebar .contact-detail > .eyebrow { font-size: .875rem; }
.public-page .public-contact-sidebar > .eyebrow { display: none; }
.public-page .contact-sidebar > p { font-size: 1rem; }
.public-page .contact-detail dt { font-size: .875rem; }
.public-page .contact-detail dd, .public-page .contact-detail a { font-size: 1.0625rem; }
.public-page .public-form-panel { padding: 0; border: 0; background: transparent; }
.public-page .form-required-note { margin-bottom: 2rem; color: var(--muted); font-size: .9375rem; }
.public-page .enquiry-form legend { font-size: 1.25rem; font-weight: 700; letter-spacing: 0; }
.public-page .form-step { font-size: .875rem; color: var(--muted); }
.public-page .form-field label { color: var(--ink); font-size: .9375rem; text-transform: none; letter-spacing: 0; }
.public-page .form-field input, .public-page .form-field textarea { background: #fff; border: 1px solid #968b8d; border-radius: 0; color: var(--ink); font-size: 1rem; padding: .85rem 1rem; min-height: 52px; }
.public-page .form-field textarea { min-height: 11rem; }
.public-page .form-field input::placeholder, .public-page .form-field textarea::placeholder { color: #76686c; }
.public-page .form-field input:focus, .public-page .form-field textarea:focus { outline-color: var(--focus); background: #fff; }
.public-page .optional-label { color: var(--muted); font-size: .875rem; }
.public-page .field-hint { font-size: .875rem; color: var(--muted); }
.public-page .field-error, .public-page .form-status--error { color: #a12130; }
.public-page .form-status--error { background: #fbe5e2; border: 1px solid #bf6e73; }
.public-page .form-status--success { background: #e0e9dc; color: #31422c; border-color: #7c9274; }
.public-page .checkbox-label { color: var(--ink); font-size: .9375rem; line-height: 1.6; }
.public-page .checkbox-label input { accent-color: #550f1b; }
.public-page .form-submit-note { font-size: .875rem; }
.public-page .public-brief-guide { background: transparent; padding: 0; }
.public-page .public-brief-guide h3 { font-size: 1.15rem; text-transform: none; }
.public-page .public-brief-guide li { font-size: 1rem; }
.public-page .public-journal-grid { display: block; }
.public-page .public-journal-grid .post-card { display: grid; grid-template-columns: .65fr 1fr; gap: 3rem; padding-block: 2.5rem; border-bottom: 1px solid var(--line); }
.public-page .public-journal-grid .post-card:has(.post-image-link) { grid-template-columns: .65fr 1fr; }
.public-page .public-journal-grid .post-card:not(:has(.post-image-link)) { display: block; }
.public-page .public-journal-grid .post-card h3 { font-size: clamp(1.7rem, 3vw, 3rem); max-width: 28ch; }
.public-page .post-card-content > p { font-size: 1rem; max-width: 65ch; }
.public-page .post-card .post-date { font-size: .9375rem; }
.public-page .post-image-link { border: 0; }
.public-page .public-reading-pick { font-size: 1.6rem; }
.public-page .public-intro .page-intro-side > .eyebrow { font-size: .875rem; }
.public-page .public-intro-note { font-size: 1rem; }
.public-page .public-article-heading .entry-title { font-size: clamp(2.8rem, 5.8vw, 6.5rem); max-width: 23ch; letter-spacing: -.035em; line-height: 1.03; }
.public-page .public-article-heading { grid-template-columns: 1fr .35fr; gap: 4rem; padding-block: 2rem; }
.public-page .public-article-heading__side { padding: 0; border: 0; }
.public-page .public-article-heading__side .article-meta { font-size: .9375rem; }
.public-page .public-reading-grid { grid-template-columns: .35fr 1fr; gap: 4rem; }
.public-page .public-reading-copy { max-width: 48rem; }
.public-page .public-reading-copy .prose--article { color: var(--ink); font-size: 1.2rem; line-height: 1.85; }
.public-page .public-reading-copy .prose h2, .public-page .public-reading-copy .prose h3 { text-transform: none; }
.portfolio-site .prose pre { background: var(--panel); color: var(--ink); font-family: ui-monospace, Consolas, monospace; }
.portfolio-site .prose code { font-family: ui-monospace, Consolas, monospace; }
.public-page .breadcrumbs { font-size: .875rem; }
.public-page .faq-item summary { font-size: 1.15rem; }
.public-page .faq-answer { font-size: 1rem; }
.portfolio-site .project-cta { display: none; }
.portfolio-site [data-reveal] { opacity: 1; transform: none; animation: none; }
.home-page > :is(.home-section, .section), .public-page .case-study-body > .case-study-block { content-visibility: visible; contain-intrinsic-size: none; }
.portfolio-site .project-image-frame::before, .portfolio-site .project-image-frame::after { content: none; }
.portfolio-site .command-palette { background: #550f1b; color: #f2e59a; border-color: #a37576; border-radius: 0; box-shadow: none; }
.portfolio-site .command-palette__item { min-height: 64px; border-radius: 0; }
.portfolio-site .command-palette__item-title { font-size: 1rem; }
.portfolio-site .command-palette__item-meta, .portfolio-site .command-palette__item-description, .portfolio-site .command-palette__status { font-size: .875rem; letter-spacing: 0; text-transform: none; }
.portfolio-site .command-palette__item-icon { border: 0; }
.portfolio-site .command-palette__search input { font-size: 1rem; }
.portfolio-site :is(.command-palette__eyebrow, .command-palette__close, .command-palette__clear, .command-palette__group-title, .command-palette__footer) { font-size: .8125rem; letter-spacing: 0; text-transform: none; }
.portfolio-site .command-palette kbd, .portfolio-site .footer-search > span { font-size: .75rem; }
.portfolio-site .command-palette__close, .portfolio-site .command-palette__clear { min-height: 44px; min-width: 44px; }
.portfolio-site .nav-drawer__header .eyebrow { font-size: .875rem; }
.portfolio-site .command-palette__item.is-active { background: #f2e59a; color: #550f1b; border-color: #f2e59a; }
.portfolio-site .command-palette__item.is-active :is(.command-palette__item-meta, .command-palette__item-description, .command-palette__item-icon, .command-palette__item-arrow) { color: #550f1b; }
.page-contract { --canvas: #550f1b; }
.page-contract .section { --ink: #43202a; --ink-soft: #554c4d; --muted: #685d60; --accent: #550f1b; --accent-ink: #f2e59a; --line: #cec6c6; --line-strong: #897e80; --focus: #550f1b; --error: #a12130; --panel: #fff; background: #f6f5f1; color: var(--ink); color-scheme: light; }
.page-contract .article-container { max-width: 1100px; }
.page-contract .contract-document dt { font-size: .9375rem; }
.page-contract .contract-document dd, .page-contract .prose { font-size: 1.0625rem; }
.page-contract .contract-document h3 { text-transform: none; }
.page-contract .form-field input { min-height: 52px; background: #fff; color: var(--ink); border-color: var(--line-strong); font-size: 1rem; }
.page-contract .form-field label, .page-contract .checkbox-label { font-size: 1rem; }
.page-contract .form-status--success { background: #e0e9dc; border-color: #7c9274; color: #31422c; }
.page-contract .form-status--error { background: #fbe5e2; color: #a12130; border-color: #bf6e73; }
.studio-empty-project { padding: 3rem; border: 1px solid var(--line); }
.studio-empty-project h2 { font-size: clamp(2rem, 4vw, 4rem); margin-bottom: 2rem; }
@media (max-width: 1100px) {
 .portfolio-site .header-inner { gap: 1.25rem; }
 .portfolio-site .site-nav { gap: 1rem; }
 .portfolio-site .nav-cta { margin-left: 0; }
 .portfolio-site .brand-name { font-size: 1.15rem; }
 .public-page .page-intro-grid { gap: 2.5rem; }
 .public-page .public-work-grid { gap: 3.5rem 2rem; }
 .public-page .service-card-main { gap: 1rem 2rem; }
 .public-page .contact-grid { gap: 3rem; }
}
@media (max-width: 820px) {
 .portfolio-site .site-header--command .header-inner { min-height: 72px; }
 .portfolio-site .header-inner { min-height: 72px; }
 .portfolio-site .brand-name { font-size: 1.4rem; }
 .portfolio-site .site-header .site-nav { margin-left: 0; }
 .portfolio-site .nav-toggle { margin-left: auto; min-width: 72px; min-height: 44px; }
 .public-page .public-intro h1 { font-size: clamp(3rem, 9vw, 6rem); }
 .public-page .page-intro-grid { grid-template-columns: 1fr; gap: 1.8rem; padding-block: 1rem 3rem; }
 .public-page .page-intro-side { max-width: 40rem; }
 .public-page .work-filters { grid-template-columns: 1fr 1fr; }
 .public-page .public-filter-actions { grid-column: 1 / -1; }
 .public-page .public-profile .about-detail-grid, .public-page .contact-grid { grid-template-columns: 1fr; gap: 3rem; }
 .public-page .public-profile-sidebar .stats { display: flex; flex-wrap: wrap; gap: 2rem; }
 .public-page .public-profile-copy { max-width: 100%; }
 .public-page .public-contact-sidebar { position: static; }
 .public-page .service-card-main { display: block; }
 .public-page .service-card-main > .prose, .public-page .service-card-main .deliverables { margin-top: 1.5rem; }
 .public-page .public-article-heading, .public-page .public-reading-grid { grid-template-columns: 1fr; gap: 2rem; }
 .public-page .public-reading-rail { position: static; }
 .public-page .public-reading-rail > .eyebrow { display: none; }
 .public-page .tech-stack { gap: 2rem; }
 .footer-invitation { align-items: start; flex-direction: column; gap: 2rem; }
}
@media (max-width: 600px) {
 .portfolio-site .site-header--command .brand-name { font-size: 1.3rem; }
 .public-page .public-intro__topline { min-height: 3.8rem; }
 .public-page .public-intro__topline .public-index-link { font-size: .875rem; }
 .public-page .public-work-grid { grid-template-columns: 1fr; gap: 3.5rem; }
 .public-page .public-work-grid .project-card:nth-child(even) { margin-top: 0; }
 .public-page .work-filters { grid-template-columns: 1fr; gap: 1rem; }
 .public-page .public-filter-actions { grid-column: auto; }
 .public-page .public-journal-grid .post-card, .public-page .public-journal-grid .post-card:has(.post-image-link) { display: block; }
 .public-page .post-card-content { padding-top: 1rem; }
 .public-page .service-card--detailed { grid-template-columns: 1fr; gap: .75rem; padding-block: 2rem; }
 .public-page .service-card h3 { font-size: 2rem; }
 .public-page .public-contact { padding-block: 3rem; }
 .public-page .form-grid { grid-template-columns: 1fr; }
 .public-page .form-field--wide { grid-column: auto; }
 .public-page .public-profile .about-detail-grid { gap: 2rem; }
 .public-page .public-profile-sidebar .stat dd { font-size: 2rem; }
 .public-page .public-reading-copy .prose--article { font-size: 1.1rem; }
 .public-page .public-section-index { gap: .8rem 1.5rem; flex-wrap: wrap; }
 .portfolio-site .footer-main { padding-block: 2rem; }
 .portfolio-site .footer-bottom { gap: 1rem; }
 .portfolio-site .footer-bottom nav { justify-content: start; gap: .8rem 1.25rem; }
 .portfolio-site .footer-search > span { display: none; }
}
@media (max-width: 700px) {
 .portfolio-site .studio-name { white-space: normal; text-wrap: wrap; max-width: 7ch; font-size: clamp(4.5rem, 21vw, 8rem); line-height: .88; }
}
@media (min-width: 1001px) and (max-height: 850px) {
 .studio-masthead { padding-top: 1.5rem; }
 .portfolio-site .studio-name { font-size: min(11vw, 11rem); }
 .studio-hero-grid { padding-top: 1rem; }
 .studio-hero-copy h2 { font-size: 2.6rem; }
 .studio-hero-copy > p { font-size: 1rem; line-height: 1.6; margin-top: 1rem; }
 .studio-hero-copy > .home-button { margin-top: 1.25rem; }
 .studio-hero-copy .availability { margin-top: 1rem; }
 .studio-hero-project > a { padding: 1.5rem; }
 .studio-hero-project img { max-height: 350px; object-fit: contain; background: #080808; }
 .studio-opening { padding-bottom: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 .portfolio-site *, .portfolio-site *::before, .portfolio-site *::after { animation: none !important; transition-duration: .01ms !important; }
}
@media print { .site-header, .site-footer { display: none; } }
