.wordmark { font: 900 2rem/1 var(--display-accent); color: var(--ink); letter-spacing: 0; white-space: nowrap; }
.wordmark-ai { color: var(--copper); font-family: var(--display-accent); font-size: 1em; font-style: normal; font-weight: 900; }
.identity { min-height: 44px; }
.header-actions { display: flex; align-items: center; gap: var(--space-3); }
.theme-toggle { display: grid; place-items: center; flex: none; width: 42px; height: 42px; padding: 0; color: var(--ink); background: transparent; border: 1px solid color-mix(in srgb, currentColor 30%, transparent); border-radius: 50%; cursor: pointer; transition: border-color 240ms ease, color 240ms ease, background-color 160ms ease; }
.theme-toggle[hidden] { display: none; }
::view-transition { pointer-events: none; }
:root[data-vt="theme"]::view-transition-old(root),
:root[data-vt="theme"]::view-transition-new(root) { animation: none; mix-blend-mode: normal; }
.theme-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; }
.theme-toggle[aria-pressed="true"] svg { fill: currentColor; }
.theme-toggle:active { background: var(--warm); }
@media (hover: hover) and (pointer: fine) { .theme-toggle:hover { background: var(--warm); } }
.menu-toggle { display: none; position: relative; flex: none; width: 44px; height: 44px; padding: 0; color: var(--ink); background: transparent; border: 1px solid color-mix(in srgb, currentColor 30%, transparent); border-radius: 50%; cursor: pointer; transition: border-color 240ms ease, color 240ms ease, background-color 160ms ease; }
.menu-toggle::before, .menu-toggle::after { content: ""; position: absolute; left: 50%; top: 50%; width: 18px; border-top: 2px solid currentColor; transition: transform 220ms var(--ease-out); }
.menu-toggle::before { transform: translate(-50%, -5px); }
.menu-toggle::after { transform: translate(-50%, 3px); }
.menu-toggle[aria-expanded="true"]::before { transform: translate(-50%, -1px) rotate(45deg); }
.menu-toggle[aria-expanded="true"]::after { transform: translate(-50%, -1px) rotate(-45deg); }
.menu-toggle:active { background: var(--warm); }
@media (hover: hover) and (pointer: fine) { .menu-toggle:hover { background: var(--warm); } }
.footer-name .wordmark-ai { font-style: normal; background: none; -webkit-text-fill-color: currentColor; }
.wordmark-i { position: relative; }
.wordmark-i::after {
  content: ""; position: absolute; left: 50%; top: var(--sparkle-top, .1em);
  width: var(--sparkle-size, .38em); height: var(--sparkle-size, .38em); transform: translateX(-50%);
  background-image: var(--copper-gradient); background-size: 240% 100%; background-position: var(--metal-position, 60%) 50%;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C12.6 6.4 17.6 11.4 24 12 17.6 12.6 12.6 17.6 12 24 11.4 17.6 6.4 12.6 0 12 6.4 11.4 11.4 6.4 12 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C12.6 6.4 17.6 11.4 24 12 17.6 12.6 12.6 17.6 12 24 11.4 17.6 6.4 12.6 0 12 6.4 11.4 11.4 6.4 12 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.footer-name .wordmark-i::after { background-image: none; background-color: currentColor; }
@supports (background-clip: text) or (-webkit-background-clip: text) {
  h1 em, h2 em, h3 em, .wordmark-ai {
    padding-block: .16em;
    margin-block: -.16em;
    background-image: var(--copper-gradient);
    background-size: 240% 100%;
    background-position: var(--metal-position, 60%) 50%;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
  }
}
.outcome-value { font-variant-numeric: tabular-nums; }
.counting { position: relative; }
.counter-final { opacity: 0; }
.counter-value { position: absolute; inset: 0; pointer-events: none; }
@keyframes reveal-hold { from { opacity: 1; } }
@keyframes rise { from { opacity: 0; transform: translateY(18px); } }
@keyframes ring { from { opacity: .8; transform: scale(1); } to { opacity: 0; transform: scale(2.8); } }
@media (prefers-reduced-motion: no-preference) {
  .reveal-once { animation: reveal-hold 1700ms linear both; }
  .reveal-once > *, .case-hero > *, .cv-nav > *, .resume header > * { animation: rise 900ms var(--ease-out) calc(var(--i, 0) * 120ms) both; }
  :is(.reveal-once, .case-hero, .cv-nav, .resume header) > :nth-child(2) { --i: 1; }
  :is(.reveal-once, .case-hero, .cv-nav, .resume header) > :nth-child(3) { --i: 2; }
  :is(.reveal-once, .case-hero, .cv-nav, .resume header) > :nth-child(4) { --i: 3; }
  :is(.reveal-once, .case-hero, .cv-nav, .resume header) > :nth-child(5) { --i: 4; }
  :is(.reveal-once, .case-hero, .cv-nav, .resume header) > :nth-child(n+6) { --i: 5; }
  .enterprise-context.reveal-once { animation: rise 900ms var(--ease-out) both; }
  .reveal-once:focus-within, .reveal-once:focus-within > * { animation: none; }
}
@media screen and (prefers-reduced-motion: no-preference) {
  .reveal-armed:not(:focus-within) > *, .enterprise-context.reveal-armed:not(:focus-within) { opacity: 0; }
}
@media (prefers-reduced-motion: reduce), (forced-colors: active) {
  .counter-final { opacity: 1; }
  .counter-value { display: none; }
}
.button > span, .case-link > span, .text-link > span, .nav-contact > span { display: inline-block; transition: transform 220ms ease; }
.button:focus-visible > span, .case-link:focus-visible > span, .text-link:focus-visible > span { transform: translateX(3px); }
.button:focus-visible > .arrow-down, .case-link:focus-visible > .arrow-down, .text-link:focus-visible > .arrow-down { transform: translateY(3px); }
.button:focus-visible > .arrow-up, .case-link:focus-visible > .arrow-up, .text-link:focus-visible > .arrow-up { transform: translateY(-3px); }
@media (hover: hover) and (pointer: fine) {
  .button:hover > span, .case-link:hover > span, .text-link:hover > span { transform: translateX(3px); }
  .button:hover > .arrow-down, .case-link:hover > .arrow-down, .text-link:hover > .arrow-down { transform: translateY(3px); }
  .button:hover > .arrow-up, .case-link:hover > .arrow-up, .text-link:hover > .arrow-up { transform: translateY(-3px); }
  .nav-contact:hover > span { transform: scale(1.12); }
}
.source-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); font-size: .75rem; }
.case-link { display: inline-flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-height: 48px; border-bottom: 1px solid var(--border); text-decoration: none; font-size: var(--small-size); }
@media (hover: hover) and (pointer: fine) { .case-link:hover { color: var(--copper); border-color: currentColor; } }
.site-header nav a:active, .text-link:active, .site-footer a:active, .breadcrumb a:active, .case-next h2 a:active { color: var(--copper); }
.site-header nav a:active { text-decoration-color: currentColor; }
.text-link:active, .site-footer a:active { text-decoration: underline; }
.case-link:active, .email-link:active { color: var(--copper); border-color: currentColor; }
.site-header nav .nav-contact:active { background: var(--warm); }
.nav-contact > span > svg { display: block; width: 1.25em; height: 1.25em; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 700px) { .nav-contact > span > svg { width: 1.1em; height: 1.1em; } }
@media (min-width: 701px) {
  .site-header nav .nav-contact { background: var(--ink); border-color: var(--ink); color: var(--surface); transition: border-color 240ms ease, background-color 160ms ease, color 240ms ease; }
  .site-header.is-on-band nav .nav-contact { color: var(--inverse-bg); }
  .site-header nav .nav-contact:active { background: var(--secondary); border-color: var(--secondary); color: var(--surface); }
  .site-header.is-on-band nav .nav-contact:active { color: var(--inverse-bg); }
}
@media (min-width: 701px) and (hover: hover) and (pointer: fine) {
  .site-header nav .nav-contact:hover { background: var(--copper); border-color: var(--copper); }
}
@media (pointer: coarse) {
  .site-header nav a:not(.nav-contact), .breadcrumb a, .footer-link { position: relative; }
  .site-header nav a:not(.nav-contact)::after, .breadcrumb a::after, .footer-link::after { content: ""; position: absolute; inset: 0 -6px; }
  .theme-toggle { width: 44px; height: 44px; }
  .site-header nav .nav-contact { min-height: 44px; }
}
.outcome { padding-block: var(--space-4); border-top: 1px solid var(--border); }
.outcome-value { display: block; max-width: 16ch; font: 900 4.5rem/.98 var(--display-accent); letter-spacing: 0; color: var(--sky); overflow-wrap: anywhere; }
.outcome-label { margin-top: var(--space-2); font-size: 1rem; color: var(--ink); }
.outcome-note { margin-top: var(--space-2); color: var(--muted); font-size: .8125rem; max-width: 48ch; }
.process-figure { padding: var(--space-4); background: var(--warm); }
.steps-5 { --step-count: 5; }
.steps-3 { --step-count: 3; }
.steps-4 { --step-count: 4; }
.process-caption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2); padding-bottom: var(--space-3); border-bottom: 1px solid var(--border); }
.process-caption strong { font-weight: 800; font-size: var(--small-size); }
.process-caption span { color: var(--muted); font-size: var(--label-size); }
.process-rail { display: grid; grid-template-columns: repeat(var(--step-count, 4), minmax(0, 1fr)); gap: var(--space-3); list-style: none; margin: var(--space-4) 0 0; padding: 0; }
.process-rail li { min-width: 0; position: relative; padding-right: var(--space-2); }
.process-rail li:not(:last-child)::after { content: '→'; position: absolute; right: 0; top: 0; color: var(--copper); }
.process-index { display: block; font-size: var(--label-size); color: var(--muted); margin-bottom: var(--space-3); }
.process-rail h3 { font: 900 1.25rem/1.3 var(--display-accent); letter-spacing: 0; }
.process-rail p { font-size: .8125rem; color: var(--secondary); margin-top: var(--space-2); }
.button:disabled { cursor: not-allowed; background: var(--border); color: var(--secondary); }
@media (max-width: 850px) {
  .header-actions { gap: var(--space-2); }
  .site-header nav { gap: var(--space-2); }
  .site-header nav .nav-contact { margin-left: 0; }
  .process-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-4); }
  .process-rail li:not(:last-child)::after { display: none; }
}
@media (min-width: 701px) and (max-width: 760px) {
  .site-header nav { gap: var(--space-1); }
}
@media (max-width: 700px) {
  .header-inner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 0 var(--space-2); padding-block: 12px 0; }
  .wordmark { font-size: 1.75rem; }
  .header-actions { display: contents; }
  .site-header nav { grid-column: 1 / -1; grid-row: 2; justify-content: space-between; gap: 12px; margin-top: var(--space-1); border-top: 1px solid var(--border); }
  .site-header nav .nav-contact { min-height: 44px; margin: 0; padding: 0; border: 0; border-radius: 0; text-decoration-line: underline; text-decoration-color: color-mix(in srgb, currentColor 30%, transparent); }
  @media (hover: hover) and (pointer: fine) { .site-header nav .nav-contact:hover { background: none; text-decoration-color: currentColor; } }
  .site-header nav .nav-contact:active { background: none; text-decoration-color: currentColor; }
  .site-header .theme-toggle { grid-column: 2; grid-row: 1; width: 44px; height: 44px; }
  .js .header-inner { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0 var(--space-1); min-height: 64px; padding-block: 10px; }
  .js .identity { margin-right: auto; }
  .js .site-header .theme-toggle { order: 1; }
  .js .menu-toggle { display: block; order: 2; }
  .js .site-header.is-menu-open::before { opacity: 1; }
  .js .site-header nav { position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; flex-wrap: nowrap; align-items: stretch; justify-content: flex-start; gap: 0; margin: 0; padding: 0 var(--gutter) var(--space-1); border: 0; border-bottom: 1px solid var(--border); background: var(--paper); box-shadow: 0 20px 24px -20px rgb(0 0 0 / .28); visibility: hidden; opacity: 0; transform: translateY(-6px); pointer-events: none; transition: opacity 180ms ease, transform 180ms var(--ease-out), visibility 0s linear 180ms; }
  .js .site-header.is-menu-open nav { visibility: visible; opacity: 1; transform: none; pointer-events: auto; transition-delay: 0s; }
  .js .site-header nav a, .js .site-header nav .nav-contact { min-height: 56px; margin: 0; padding: 0; justify-content: space-between; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; font-size: 1.125rem; font-weight: 600; text-decoration: none; }
  .js .site-header nav a:last-child { border-bottom: 0; }
  .js .site-header nav a:focus-visible { outline-offset: -4px; }
  .process-figure { padding: var(--space-3); }
  .process-rail { grid-template-columns: 1fr; }
  .process-rail li { padding-bottom: var(--space-3); border-bottom: 1px solid var(--border); }
  .process-rail li:last-child { border-bottom: 0; padding-bottom: 0; }
  .process-rail li:not(:last-child)::after { display: block; content: '↓'; }
  .process-index { margin-bottom: var(--space-1); }
}
@media (max-width: 359px) {
  .js .wordmark { font-size: 1.625rem; }
}
@media (max-width: 380px) {
  .header-inner { flex-wrap: wrap; }
  .identity > span:last-child { display: inline; }
  .header-actions { flex: 1; justify-content: flex-end; }
  .site-header nav { gap: 8px; }
}
@media (forced-colors: active) {
  .reveal-once, .reveal-once > *, .case-hero > *, .cv-nav > *, .resume header > * { animation: none; }
  h1 em, h2 em, h3 em, .wordmark-ai { background: none; -webkit-text-fill-color: CanvasText; color: CanvasText; animation: none; }
  .process-figure, .theme-toggle, .menu-toggle { border: 1px solid CanvasText; }
  .wordmark-i::after, .footer-name .wordmark-i::after { background-image: none; background-color: CanvasText; forced-color-adjust: none; }
}
@media print {
  .counter-final { opacity: 1; }
  .counter-value { display: none; }
  .reveal-once, .reveal-once > *, .case-hero > *, .cv-nav > *, .resume header > * { animation: none; }
  .reveal-once { opacity: 1; transform: none; }
  h1 em, h2 em, h3 em, .wordmark-ai { background: none; -webkit-text-fill-color: currentColor; color: var(--copper); animation: none; }
  .theme-toggle { display: none; }
  .process-figure { break-inside: avoid; padding: var(--space-2); border: 1px solid var(--border); }
  .process-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-rail li:not(:last-child)::after { display: none; }
  .outcome-value { font-size: 30pt; }
}
