:root {
  color-scheme: light;
  --page:#fafbf9; --ink:#171b16; --muted:#5c6457; --soft-ink:#69765e;
  --surface:#eff2eb; --surface-alt:#e8eddf; --line:#cbd3c3; --hover:#e2e8d9;
  --accent:#d5ff5f; --accent-hover:#c4ed4f; --accent-ink:#17200c; --art-accent:#d5ff5f;
  --glass:rgba(250,251,249,.95); --field:#fff; --frame:#dfe4d9; --photo-surface:#e4e8de; --focus:#648517;
}
html[data-theme="dark"] {
  color-scheme:dark;
  --page:#111411; --ink:#f2f5ed; --muted:#b1baaa; --soft-ink:#a8b59a;
  --surface:#1b2119; --surface-alt:#20291d; --line:#3e4b36; --hover:#2c3725;
  --glass:rgba(17,20,17,.95); --field:#1a2017; --frame:#070907; --photo-surface:#151b14; --focus:#d5ff5f;
}
html[data-theme="yellow"] {
  color-scheme:light;
  --page:#f5df33; --ink:#1c1d11; --muted:#514c23; --soft-ink:#615719;
  --surface:#f8e969; --surface-alt:#ebd632; --line:#b2a331; --hover:#ead33a;
  --accent:#1c1d11; --accent-hover:#3a3d23; --accent-ink:#fff8c7; --art-accent:#f5df33;
  --glass:rgba(245,223,51,.96); --field:#fff6b4; --frame:#bbaa24; --photo-surface:#dfd18a; --focus:#373711;
}
html {scroll-padding-top:100px}
html[data-view="mobile"] {scroll-padding-top:86px}
body {background:var(--frame);color:var(--ink)}
.site-shell {container:site / inline-size;width:100%;margin-inline:auto;background:var(--page);min-width:0}
html[data-view="mobile"] .site-shell {max-width:480px;box-shadow:0 0 80px #0002}
html[data-view="desktop"] .site-shell {min-width:1100px}
html[data-view="mobile"] dialog {max-width:448px}
.mobile-menu {position:absolute;left:0;right:0;top:100%;width:100%;margin:0}
.skip {background:var(--page);color:var(--ink)}
button,input,select,textarea {color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {outline-color:var(--focus)}
.button {background:var(--accent);color:var(--accent-ink)}
.button:hover {background:var(--accent-hover)}
.button.dark {background:var(--ink);color:var(--page)}
.button.outline {background:transparent;color:var(--ink);border-color:var(--line)}
.button.light {background:var(--art-accent);color:#151b10}
.pill.active {background:var(--ink);border-color:var(--ink);color:var(--page)}
.timeline-latest .timeline-status {background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.inquiry-dialog input,.inquiry-dialog select,.inquiry-dialog textarea {background:var(--field);color:var(--ink)}
.header {gap:20px}
.header nav {margin-inline:auto;gap:26px}
.header nav a:after {background:var(--ink)}
.header-contact {white-space:nowrap}
.menu-button {flex-shrink:0}
.appearance-button {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 15px;background:transparent;border:1px solid var(--line);border-radius:99px;font-size:14px;flex-shrink:0}
.appearance-button:hover {background:var(--hover)}
.appearance-button svg {width:20px;height:20px;stroke:currentColor;stroke-width:1.5;fill:none}
.appearance-button svg path {fill:currentColor;stroke:none}
.appearance-dialog {max-width:480px}
.appearance-content {padding:46px 32px 30px}
.appearance-content h2 {font-size:42px;letter-spacing:-.05em;line-height:1.1;margin:12px 0 32px;text-align:left}
.appearance-content fieldset {margin:0 0 25px;padding:0;border:0;min-width:0}
.appearance-content legend {font-size:14px;font-weight:600;padding:0;margin-bottom:12px}
.appearance-options {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.appearance-options button {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:88px;padding:12px 5px;border:1px solid var(--line);border-radius:14px;background:var(--surface);font-size:14px;line-height:1.2}
.appearance-options button:hover {background:var(--hover)}
.appearance-options button[aria-pressed="true"] {border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);font-weight:650}
.appearance-options svg {width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.theme-swatch {width:24px;height:24px;border-radius:50%;border:1px solid #858578}
.swatch-dark {background:#111411}.swatch-light {background:#fafbf9}.swatch-yellow {background:#f5df33}
.appearance-description {min-height:3.5em;font-size:14px;line-height:1.6;color:var(--muted);text-wrap:pretty}
.appearance-done {width:100%;margin-top:20px}
/* A centred opening, followed by calm, readable editorial columns. */
.hero-top {align-items:center;gap:20px}
.hero-heading {display:flex;flex-direction:column;align-items:center;text-align:center;padding:58px 0 48px;gap:32px}
.hero h1 {font-size:clamp(76px,10.2cqw,154px);line-height:.98;letter-spacing:-.065em;text-wrap:balance}
.hero-note {max-width:580px;padding:0;display:flex;flex-direction:column;align-items:center;gap:18px}
.hero-note p {margin:0;font-size:18px;line-height:1.65;color:var(--muted)}
.hero-note p br {display:none}
.hero-note .text-link {justify-content:center}
.hero-image.is-portrait figcaption {justify-content:center}
.section-pad {padding-block:clamp(76px,8cqw,124px)}
.intro {grid-template-columns:minmax(120px,.65fr) minmax(0,2fr);column-gap:6%;row-gap:32px}
.statement {text-wrap:balance;max-width:22ch}
.intro-copy {max-width:66ch}
.intro-copy,.artist-copy>p:not(.eyebrow),.principle-grid p,.timeline-copy p,.work-detail-copy p:not(.eyebrow):not(.work-credit),.source-entry p {
  font-size:16px;line-height:1.8;text-align:justify;text-align-last:left;hyphens:auto;overflow-wrap:break-word;text-wrap:pretty;
}
.section-heading {align-items:center;gap:35px}
.section-heading>p {font-size:16px;line-height:1.75;max-width:27ch}
h2,h3,.work-caption h3 {text-wrap:balance;overflow-wrap:break-word}
.work-caption {align-items:flex-start;gap:18px}
.work-caption>div {min-width:0}
.work-caption h3 {font-size:clamp(24px,2.4cqw,34px);line-height:1.16}
.work-caption p {font-size:14px;line-height:1.6;text-wrap:pretty}
.work-year {font-size:14px;flex-shrink:0}
.artist {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%}
.artist-copy {min-width:0}
.artist-copy h2 {font-size:clamp(40px,4.6cqw,68px);line-height:1.08}
.artist-copy blockquote {line-height:1.35;text-wrap:balance}
.artist-copy cite,.artist-photo figcaption,.work-credit,.work-extra-photos figcaption {font-size:13px;line-height:1.7}
.principles {padding-top:0}
.principle-grid {gap:40px}
.principle-grid p {max-width:none}
.timeline-copy {min-width:0}
.timeline-date small,.timeline-meta,.timeline-status,.press-source span,.source-entry span {font-size:13px;line-height:1.6}
.timeline-copy h3 {line-height:1.25}
.press-row {grid-template-columns:minmax(155px,.7fr) minmax(0,2fr) minmax(110px,.5fr);align-items:center}
.press-row h3 {line-height:1.3}
.press-source {font-size:14px}
.contact {text-align:center;background:#121610}
.contact>.eyebrow {color:#bdc8b3}
.contact h2 {color:#f9fbf7;text-wrap:balance;font-size:clamp(58px,8cqw,124px);line-height:1.04}
.contact h2 span {color:var(--art-accent)}
.contact-bottom {flex-direction:column;justify-content:center;gap:30px;margin-top:44px}
.contact-bottom>div {align-items:center}
.contact-bottom>p {color:#b9c5ae}
.contact-note {margin-inline:auto;max-width:76ch;font-size:13px;line-height:1.7;color:#b4c0a8;border-color:#41503a}
.partner {align-items:center;gap:7%}
.partner p:not(.eyebrow) {font-size:16px;line-height:1.75}
.partner h3 {line-height:1.15;text-wrap:balance}
.pixel-logo i {background:var(--ink)}
.footer {flex-wrap:wrap;gap:26px}
.footer>div {flex-wrap:wrap;gap:20px}
.footer>div,.footer button {font-size:14px}
.footer p {font-size:13px}
.section-footnote {font-size:14px;line-height:1.75;max-width:76ch;color:var(--muted)}
.work-detail-copy {grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px}
.work-facts div {grid-template-columns:80px minmax(0,1fr);gap:16px;line-height:1.6}
.work-facts dd {overflow-wrap:anywhere}
.work-detail-actions {align-items:center}
.work-detail-photo {max-height:70dvh}
.dialog-padding>h2 {line-height:1.1}
.source-entry h3 {line-height:1.3}
.form-note,.credit-note p {font-size:14px;line-height:1.75}
.work-image-label {font-size:12px}
.work-video:hover>span {color:var(--art-accent)}
@container site (max-width:1000px) {
  .header {gap:14px;padding-inline:4%}.header nav {gap:16px;font-size:14px}
  .header nav[aria-label="Navegação principal"] {display:none}
  .header .wordmark {margin-right:auto}
  .menu-button {display:flex;width:24px;height:44px;background:transparent;padding:13px 0;flex-direction:column;justify-content:space-around}
  .menu-button span {height:1px;width:23px;background:var(--ink)}
  .header-contact {padding-inline:16px}
}
@container site (max-width:700px) {
  .header {height:72px;padding-inline:6%;gap:12px}.header-contact {display:none}
  .header .wordmark {font-size:23px;margin-right:auto}.appearance-button {padding:9px 12px}
  .hero {padding:24px 6% 0}.hero-top {justify-content:center;text-align:center}
  .hero-top .eyebrow {font-size:12px;letter-spacing:.09em}
  .hero-heading {padding:38px 0 34px;gap:24px}.hero h1 {font-size:clamp(60px,14.2cqw,96px);line-height:1;letter-spacing:-.065em}
  .hero-note {margin:0;max-width:32ch;gap:16px;align-items:center}
  .hero-note p {font-size:16px;line-height:1.6}.hero-note .text-link {font-size:14px;max-width:none}
  .hero-image.is-portrait figcaption {padding:25px 22px 28px;justify-content:space-between;align-items:flex-end}
  .hero-image.is-portrait strong {font-size:clamp(38px,10cqw,52px)}
  .hero-image .eyebrow {font-size:12px;letter-spacing:.06em}
  .hero-image figcaption span:last-child {font-size:14px}
  .section-pad {padding:70px 7%}
  .intro {display:block;text-align:center}.intro .eyebrow {margin-bottom:26px}
  .statement {font-size:clamp(30px,7.6cqw,46px);line-height:1.18;max-width:22ch;margin-inline:auto}
  .intro-copy {margin-top:28px}
  .section-heading {flex-direction:column;align-items:center;text-align:center;gap:23px;margin-bottom:34px}
  .section-heading .eyebrow {font-size:12px;margin-bottom:19px}.section-heading h2 {font-size:clamp(42px,11cqw,60px);line-height:1.08}
  .section-heading>p {margin:0;max-width:32ch;font-size:16px}.journey .section-heading>p {display:block}
  .filter-bar,.journey-toolbar {align-items:center;gap:20px}.pills {justify-content:center;gap:7px}
  .pill,.journey-toolbar .pill {font-size:14px;min-height:44px;padding:9px 13px}
  .work-grid {gap:34px}.work-caption h3 {font-size:25px}.work-caption p {font-size:14px}
  .artist {gap:35px}.artist-photo img {height:auto;max-height:580px;aspect-ratio:4/5}
  .artist-copy>.eyebrow,.artist-copy h2 {text-align:center}.artist-copy h2 {font-size:clamp(40px,10.5cqw,58px);line-height:1.1}
  .artist-copy blockquote {text-align:center;margin-block:28px}
  .principles {padding-top:0}.principle-grid {gap:32px}.principle-grid h3 {font-size:30px}
  .timeline-item {grid-template-columns:58px minmax(0,1fr);gap:16px}.timeline-date {font-size:19px}
  .timeline-date small {font-size:12px}.timeline-copy h3 {font-size:24px}.timeline-copy p {text-align:left;hyphens:auto}
  .timeline-action {grid-column:2;justify-self:start}.year-label {font-size:14px}
  .press .section-heading {display:flex}.press .section-heading>.text-link {margin-top:0}
  .press-row {grid-template-columns:minmax(0,1fr);gap:14px}.press-source {display:block}
  .press-source span {margin-top:5px}.press-row h3 {font-size:25px}
  .contact h2 {font-size:clamp(48px,11.7cqw,72px)}.contact-bottom {align-items:center;margin-top:35px}
  .contact-bottom>p {font-size:16px}.contact-note {margin-top:40px}
  .partner {text-align:center;gap:35px}.partner h3 {font-size:32px}.partner .text-link {justify-content:center}
  .footer {align-items:center;text-align:center;padding:32px 6%;gap:24px}.footer>div {justify-content:center;gap:18px}
  .footer p {text-align:center}.section-footnote {font-size:14px}
  .work-detail-copy {grid-template-columns:minmax(0,1fr);padding:28px 24px;gap:28px}
  .work-detail-copy h2 {font-size:40px;line-height:1.12}.work-detail-actions {gap:22px}
  .work-detail-photo {max-height:60dvh}.dialog-padding {padding:48px 24px 28px}
  .appearance-content {padding:44px 24px 25px}.appearance-content h2 {font-size:36px}
  .appearance-options {gap:6px}.appearance-options button {font-size:14px;padding-inline:3px}
}
@media(prefers-reduced-motion:no-preference) {
  .appearance-options button,.appearance-button {transition:background .18s,border-color .18s}
}
