/* Final Espresso identity: deep brown at night, warm neutral paper by day. */
:root[data-theme="dark"] {
  --bg: #3d2b22; --bg-2: #2b1d17;
  --ink: #fff8ed; --ink-2: #e4ded2; --ink-3: #ccc7bc;
  --accent: #edae36; --on-accent: #2b1d17;
  --line: rgba(255,248,237,.17); --line-2: rgba(255,248,237,.36);
  color-scheme: dark;
  --pattern-line: rgba(255,248,237,.055);
}
:root[data-theme="light"] {
  --bg: #faf8f3; --bg-2: #ede8df;
  --ink: #3d2b22; --ink-2: #5b493d; --ink-3: #736456;
  --accent: #885010; --on-accent: #fff8ed;
  --line: rgba(61,43,34,.17); --line-2: rgba(61,43,34,.35);
  color-scheme: light;
  --pattern-line: rgba(61,43,34,.055);
}
.theme-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0; min-height: 44px; padding: 10px 13px;
  border: 1px solid var(--line-2); border-radius: 2px;
  background: transparent; color: var(--ink);
  font: 12px/1.4 var(--sans); cursor: pointer;
}

/* Corner accents: closely spaced hatching dissolves toward the content. */
.hero,
#process {
  position: relative;
  isolation: isolate;
  background-image: none;
}
.hero::after,
#process::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: repeating-linear-gradient(135deg,transparent 0 6px,var(--pattern-line) 6px 7px);
}
.hero::after {
  -webkit-mask-image: radial-gradient(ellipse 75% 90% at 100% 0%,#000 0%,transparent 75%);
  mask-image: radial-gradient(ellipse 75% 90% at 100% 0%,#000 0%,transparent 75%);
}
#process::before {
  opacity: .8;
  -webkit-mask-image: radial-gradient(ellipse 55% 75% at 0% 100%,#000 0%,transparent 80%),radial-gradient(ellipse 40% 60% at 100% 0%,#000 0%,transparent 80%);
  mask-image: radial-gradient(ellipse 55% 75% at 0% 100%,#000 0%,transparent 80%),radial-gradient(ellipse 40% 60% at 100% 0%,#000 0%,transparent 80%);
}
.hero { background-color: var(--bg); }
.project-cover::before { background-image: none; }
.theme-toggle:hover { border-color: var(--accent); color: var(--accent); }
.theme-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.case-nav-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; }
.case-nav .case-nav-actions a { font-size: 13px; text-decoration: none; }
:root[data-theme="light"] .case-nav img { filter: none; }
:root[data-theme] .project-cover,
:root[data-theme] .project-window,
:root[data-theme] .gallery-stage { background: var(--bg-2); }
:root[data-theme="light"] .field input,
:root[data-theme="light"] .field textarea { background: rgba(255,255,255,.4); }
:root[data-theme="dark"] .gallery-viewer::backdrop { background: rgba(20,12,8,.9); }
:root[data-theme="light"] .gallery-viewer::backdrop { background: rgba(43,29,23,.72); }
@media(max-width:1100px) and (min-width:961px) {
  .nav-inner { gap: 12px; }
  .nav-links { gap: 18px; margin-right: 0; }
  .nav .nav-cta { display: none; }
}
@media(max-width:600px) {
  .case-nav .wrap { gap: 12px; flex-wrap: wrap; }
  .case-nav-actions { gap: 12px; }
  .case-nav .case-nav-actions a { font-size: 12px; }
  .theme-toggle { font-size: 12px; padding-inline: 10px; }
}
