:root {
  color-scheme: dark;
  --brand-black: #0b090a;
  --brand-purple: #7b2cbf;
  --brand-background: #121212;
  --brand-cta: #3f37c9;
  --paper: var(--brand-background);
  --ink: #f5f2f8;
  --muted: #b6afbf;
  --line: #39323f;
  --light: #19161d;
  --sage: #292031;
  --em: #c9a6eb;
  --hero-bg: var(--brand-black);
  --hero-text: var(--ink);
  --hero-muted: #b6afbf;
  --hero-line: #403547;
  --hero-grid: #c9a6eb12;
  --accent: var(--brand-purple);
  --accent-ink: #ffffff;
  --cta: var(--brand-cta);
  --cta-ink: #ffffff;
  --cta-border: #7770ee;
  --focus: #c9a6eb;
  --canvas-paper: #1c1822;
  --canvas-ink: #f5f2f8;
  --canvas-bar: #2a2232;
  --canvas-muted: #b9acc5;
  --canvas-line: #51415f;
  --device-frame: #cab7dc;
  --build-bg: #211a29;
  --tick-bg: #7b2cbf38;
  --studio-bg: #1d1625;
  --work-one: #21192b;
  --work-two: #1d1b20;
  --footer-bg: var(--brand-black);
  --footer-text: var(--ink);
  --footer-muted: #b6afbf;
  --footer-line: #403547;
  --footer-accent: var(--em);
  --scrim: #08060ce6;
  --deep: var(--hero-bg);
  --lime: var(--accent);
}

body,.header,.agency-hero,.contact-section,.studio-browser,.build-card,.digital-mobile,.canvas-graphic {
  transition: background-color .25s ease,color .25s ease,border-color .25s ease;
}
::selection { background: var(--accent); color: var(--accent-ink); }
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline-color: var(--focus);
}
.header { background: var(--brand-black); border-bottom-color: var(--line); }
.wordmark-dot { color: var(--accent); }
.top-cta { border-color: var(--cta-border); }
.top-cta:hover { color: var(--em); }
.language-switch button { opacity: 1; color: var(--muted); }
.language-switch button[aria-pressed="true"] { color: var(--ink); }
.language-switch>span { opacity: .7; }
.section-title em { color: var(--em); }
.section-description,.project-caption p,.project-label,.small-concept { color: var(--muted); }

.agency-hero { background: var(--hero-bg); color: var(--hero-text); }
.agency-eyebrow-row { color: var(--hero-muted); }
.agency-dot { background: var(--accent); box-shadow: 0 0 14px #7b2cbf66; }
.agency-copy h1 em { color: var(--em); }
.agency-intro { color: var(--hero-muted); }
.agency-primary,.contact-button,.solid-button {
  background: var(--cta);
  color: var(--cta-ink);
  border: 1px solid var(--cta-border);
}
.agency-primary:hover,.contact-button:hover,.solid-button:hover {
  background: var(--cta);
  color: var(--cta-ink);
  filter: brightness(1.12);
}
.agency-secondary { color: var(--hero-text); border-color: var(--hero-line); }
.agency-secondary:hover { color: var(--em); }
.agency-hero-bottom { border-color: var(--hero-line); }
.agency-disciplines,.agency-hero-bottom>p { color: var(--hero-muted); }
.agency-disciplines>span:before { color: var(--em); }

.digital-stage::before {
  content: "";
  position: absolute;
  inset: 13% 8%;
  border-radius: 50%;
  background: var(--brand-purple);
  filter: blur(85px);
  opacity: .2;
  z-index: -2;
  pointer-events: none;
}
.stage-grid { background-image: linear-gradient(var(--hero-grid) 1px,transparent 1px),linear-gradient(90deg,var(--hero-grid) 1px,transparent 1px); }
.stage-meta { color: var(--hero-muted); }
.studio-browser { background: var(--canvas-paper); color: var(--canvas-ink); border-color: var(--canvas-line); box-shadow: 0 25px 50px #0007; }
.studio-browser-bar { background: var(--canvas-bar); color: var(--canvas-muted); }
.studio-browser-dots>i { background: var(--canvas-muted); }
.brand-star { color: var(--em); }
.canvas-cta>span { background: var(--cta); color: var(--cta-ink); }
.canvas-graphic { background: var(--accent); color: var(--accent-ink); }
.orb-ring { border-color: var(--accent-ink); opacity: .3; }
.canvas-footer { border-color: var(--canvas-line); color: var(--canvas-muted); }
.digital-mobile { background: var(--accent); color: var(--accent-ink); border-color: var(--device-frame); box-shadow: 0 16px 25px #0006; }
.digital-mobile-notch { background: var(--brand-black); }
.digital-mobile-cta { background: var(--accent-ink); color: var(--brand-purple); }
.build-card { background: var(--build-bg); border-color: var(--canvas-line); box-shadow: 0 14px 35px #0006; }
.build-card-heading>span:last-child { color: var(--hero-text); }
.code-symbol { color: var(--em); }
.build-card>div:not(:first-child) { color: var(--hero-muted); }
.build-tick { background: var(--tick-bg); color: var(--em); }
.designer-cursor>span { background: var(--accent); color: var(--accent-ink); }
.designer-cursor svg path { fill: var(--accent); stroke: var(--hero-text); }

.motion-marquee { background: var(--light); }
.orbit-art { background: var(--work-one); }
.barber-art { background: var(--work-two); }
.project-art { border: 1px solid var(--line); }
.project-open,.orbit-art .project-open { background: var(--paper); color: var(--ink); border-color: #766a84; }
.project-trigger:hover .project-open { background: var(--accent); color: var(--accent-ink); }
.barber-site { background: #191919; color: #f5f2f8; }
.barber-book,.barber-pill { border-color: #aba2b96b; }
.barber-overlay>span:first-child,.barber-bottom { color: #d6cfdf; }
.services-flower { color: var(--accent); }
.services-list details,.services-list details:last-child { border-color: var(--line); }
.service-number,.service-content>p,.service-tags>span { color: var(--muted); }
.service-tags>span { border-color: var(--line); }
.process-index { color: var(--em); }
.studio-monogram { background: var(--studio-bg); color: var(--accent); border: 1px solid var(--line); }
.studio-monogram>p,.studio-monogram>small { color: var(--muted); }
.studio-signoff>span:last-child { border-color: var(--line); }

.contact-section { background: var(--footer-bg); color: var(--footer-text); }
.contact-top>.eyebrow { color: var(--footer-muted); }
.contact-dot { background: var(--accent); }
.contact-grid>h2>em { color: var(--footer-accent); }
.footer-wordmark>span { color: var(--accent); }
.footer { color: var(--footer-muted); border-color: var(--footer-line); }

dialog::backdrop { background: var(--scrim); }
.close-dialog { border-color: #766a84; }
.project-category,.project-disclosure,.project-detail-grid p:not(.eyebrow),.project-detail-grid ul,.brief-note,.brief-result>p { color: var(--muted); }
.project-modal-image[src$='.svg'] { background: var(--work-one); }
input,select,textarea { border-color: #80718f; }
input::placeholder,textarea::placeholder { color: #b6aabb; }
select option { background: #1c1822; color: var(--ink); }
.toast { background: var(--canvas-bar); color: var(--ink); border: 1px solid var(--line); }
.skip-link { background: var(--cta); color: var(--cta-ink); }
.visually-hidden { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important; }

@media(max-width:680px) {
  .digital-stage::before { filter: blur(55px); }
}
