:root{
  --accent: #ff6b6b;
}
html[data-theme="light"]{ color-scheme: light; }
html[data-theme="dark"]{
  --paper: #0a0a0a;
  --ink: #f1f0ec;
  --soft: #aaa9a3;
  --line: rgba(255,255,255,.14);
  color-scheme: dark;
}
html[data-theme="dark"], html[data-theme="dark"] body{ background: var(--paper); color: var(--ink); }
.loader{ background:#f7f8f6 !important; color:#0d0d0d !important; }
.loader__mark{ color:#0d0d0d !important; }
.loader__caption{ color:#777 !important; }
.loader__rule{ background:rgba(13,13,13,.12) !important; }
.loader__rule i{ background:#111 !important; }
.home-hero{ background:#080a10 !important; color:#fff !important; }
.home-page .site-header:not(.is-scrolled){ color:#fff !important; }
.home-hero .hero__eyebrow, .home-hero .hero__title, .home-hero .hero__bottom, .home-hero .hero__bottom a{ color:#fff !important; }
.site-header{ grid-template-columns:1fr auto 1fr !important; }
.header-center{ grid-column:2; justify-self:center; }
.header-tools{
  grid-column:3;
  justify-self:end;
  display:flex;
  align-items:center;
  gap:10px;
  pointer-events:auto;
}
.header-tools .menu-toggle{ justify-self:auto; padding-left:7px; }
.lang-switch{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:8px;
  letter-spacing:.1em;
  line-height:1;
  opacity:.72;
}
.lang-switch a, .lang-switch span{ color:currentColor; opacity:.5; }
.lang-switch .on{ opacity:1; color:var(--accent); }
.lang-switch a{ transition:opacity .25s ease; }
.lang-switch a:hover{ opacity:1; }
.theme-toggle{
  width:27px !important;
  height:27px !important;
  border-radius:50%;
  border:1px solid rgba(127,127,127,.34) !important;
  background:transparent !important;
  color:inherit !important;
  display:grid;
  place-items:center;
  cursor:pointer;
  opacity:.52 !important;
  padding:0;
  transition:opacity .25s ease,border-color .25s ease,transform .2s var(--ease);
}
.theme-toggle:hover{ opacity:.78 !important; border-color:rgba(127,127,127,.55) !important; }
.theme-toggle:active{ transform:scale(.94); }
.theme-toggle svg{ width:12px !important; height:12px !important; stroke-width:1.35 !important; }
.site-header:before{ background:rgba(247,248,246,.985) !important; }
.site-header.is-scrolled{ color:var(--ink) !important; }
html[data-theme="dark"] .site-header:before{
  background:rgba(10,10,10,.975) !important;
  box-shadow:inset 0 -1px rgba(255,255,255,.1) !important;
}
html[data-theme="dark"] .site-header.is-scrolled{ color:#f1f0ec !important; }
.theme-transition-overlay{
  position:fixed;
  left:0; top:0;
  z-index:10001;
  pointer-events:none;
  border-radius:50%;
  will-change:transform;
  backface-visibility:hidden;
  transform-origin:50% 50%;
}
.theme-fade-overlay{
  position:fixed;
  inset:0;
  z-index:10001;
  pointer-events:none;
  opacity:0;
  will-change:opacity;
}
.icon-inline{
  width:1em;
  height:1em;
  stroke-width:1.5;
  display:inline-block;
  vertical-align:-.12em;
  flex:0 0 auto;
}
.btn .icon-inline, .lead-submit .icon-inline, .form button .icon-inline{ margin-left:7px; }
.hero__copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
  min-width:0;
}
.hero-project-cta{
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  width:max-content !important;
  padding:0 0 5px !important;
  border-bottom:1px solid rgba(255,255,255,.5);
  font-size:9px !important;
  font-weight:550;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#fff !important;
  transition:border-color .28s ease,opacity .28s ease;
}
.hero-project-cta .icon-inline{ width:13px; height:13px; transition:transform .32s var(--ease); }
@media (hover:hover){.hero-project-cta:hover{ border-color:#fff; opacity:.86; }
.hero-project-cta:hover .icon-inline{ transform:translate(3px,-3px); }
}
html[data-theme="dark"] .menu{ background:#0a0a0a !important; color:#f1f0ec !important; }
html[data-theme="dark"] .menu__links a{ border-color:rgba(255,255,255,.15) !important; }
html[data-theme="dark"] .menu__links span, html[data-theme="dark"] .menu__links small, html[data-theme="dark"] .menu-close, html[data-theme="dark"] .menu__top>span{ color:#f1f0ec !important; }
html[data-theme="dark"] .menu__footer{ border-color:rgba(255,255,255,.15) !important; color:#f1f0ec !important; }
html[data-theme="dark"] .menu__signature, html[data-theme="dark"] .menu__meta small{ color:#8f908a !important; }
.menu__links span{
  height:auto !important;
  overflow:visible !important;
  position:relative !important;
}
.menu__links span::after{ content:none !important; display:none !important; }
.menu.is-open .menu__links span{ transform:translate3d(0,0,0) !important; }
@media (hover:hover){.menu__links a:hover span{ transform:translate3d(10px,0,0) !important; }
}
.menu__links{ margin:auto auto 0 !important; }
.menu-controls{
  width:min(720px,72vw);
  margin:14px auto auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-top:13px;
  border-top:1px solid var(--line);
  font-size:8px;
  letter-spacing:.1em;
}
.menu-controls .lang-switch{ font-size:8px; }
.menu-theme-toggle{
  border:0;
  background:none;
  color:inherit;
  padding:4px 0;
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  opacity:.56;
  font-size:8px;
  letter-spacing:.1em;
}
.menu-theme-toggle:hover{ opacity:.9; }
.menu-theme-toggle svg{ width:12px; height:12px; stroke-width:1.35; }
html[data-theme="dark"] .menu-controls{ border-color:rgba(255,255,255,.14); }
html[data-theme="dark"] .studio-intro, html[data-theme="dark"] .trust-strip, html[data-theme="dark"] .featured-work, html[data-theme="dark"] .process-section, html[data-theme="dark"] .services, html[data-theme="dark"] .insights-section, html[data-theme="dark"] .section, html[data-theme="dark"] .reference-gallery, html[data-theme="dark"] .reference-slider-section, html[data-theme="dark"] .lead-contact, html[data-theme="dark"] .site-footer.contact, html[data-theme="dark"] .page-hero.inner-hero{ background:var(--paper) !important; color:var(--ink) !important; }
html[data-theme="dark"] .studio-intro__copy p, html[data-theme="dark"] .featured-card p, html[data-theme="dark"] .process-section p, html[data-theme="dark"] .services p, html[data-theme="dark"] .insights-section p, html[data-theme="dark"] .reference-card p, html[data-theme="dark"] .ref-slide__copy p, html[data-theme="dark"] .prose p, html[data-theme="dark"] .prose li, html[data-theme="dark"] .section-head p, html[data-theme="dark"] .card p{ color:var(--soft) !important; }
html[data-theme="dark"] .card, html[data-theme="dark"] .toc .card, html[data-theme="dark"] .callout, html[data-theme="dark"] .service-hub-card{ background:#131413 !important; color:var(--ink) !important; }
html[data-theme="dark"] .prose strong{ color:var(--ink) !important; }
html[data-theme="dark"] .prose a{ border-color:var(--ink) !important; }
html[data-theme="dark"] .footer-legal{ color:var(--ink) !important; mix-blend-mode:normal !important; }
body:not(.case-page) .inner-hero{
  background:radial-gradient(circle at 88% 12%,rgba(255,107,107,.12),transparent 31%),var(--paper) !important;
  color:var(--ink) !important;
}
body:not(.case-page) .inner-hero__visual{ display:none !important; }
body:not(.case-page) .inner-hero>.wrap{
  width:min(1050px,calc(100% - 2*var(--pad))) !important;
  margin-left:var(--pad) !important;
  padding-right:0 !important;
}
.inner-hero .lead{ color:var(--soft) !important; }
.breadcrumbs{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  flex-wrap:nowrap !important;
  white-space:nowrap !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scrollbar-width:none;
}
.breadcrumbs::-webkit-scrollbar{ display:none; }
.breadcrumbs a{ display:inline-flex !important; white-space:nowrap !important; flex:0 0 auto !important; }
.case-page .inner-hero h1 span.case-dot, .case-page .inner-hero h1>span{ color:var(--accent) !important; }
.case-result{
  background:radial-gradient(circle at 96% 0,rgba(255,107,107,.16),transparent 32%),linear-gradient(145deg,#17181a,#0d0e10) !important;
  color:#f2f1ed !important;
  border:1px solid rgba(255,255,255,.09) !important;
  position:relative;
}
.case-result:before{ content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--accent); }
.case-result .kicker{ color:rgba(255,255,255,.58) !important; }
.case-result p{ color:#f2f1ed !important; }
.project-visual{ contain:paint; }
.project-visual__shape i{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:0 18px 48px rgba(0,0,0,.10) !important;
}
.visual-architecture .project-visual__shape i:nth-child(1){inset:0 46% 0 0;border-radius:2px;background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.12))}
.visual-architecture .project-visual__shape i:nth-child(2){inset:18% 0 0 58%;border-radius:2px;background:transparent}
.visual-architecture .project-visual__shape i:nth-child(3){left:23%;bottom:0;width:1px;height:92%;border:0;background:rgba(255,107,107,.55)}
.visual-commerce .project-visual__shape i:nth-child(1){inset:4% 30% 20% 6%;border-radius:50%}
.visual-commerce .project-visual__shape i:nth-child(2){inset:31% 2% 2% 49%;border-radius:50%;background:rgba(255,107,107,.08)}
.visual-commerce .project-visual__shape i:nth-child(3){left:8%;bottom:7%;width:67%;height:1px;border:0;background:rgba(255,255,255,.32)}
.visual-production .project-visual__shape{transform:rotate(-8deg)}
.visual-production .project-visual__shape i:nth-child(1){inset:8% 12% 46% 0;border-radius:0;transform:skewX(-18deg)}
.visual-production .project-visual__shape i:nth-child(2){inset:46% 0 5% 22%;border-radius:0;transform:skewX(-18deg);background:rgba(255,107,107,.06)}
.visual-production .project-visual__shape i:nth-child(3){left:0;bottom:42%;width:94%;height:1px;border:0;background:rgba(255,255,255,.35)}
.visual-health .project-visual__shape i:nth-child(1){inset:3% 25% 21% 5%;border-radius:50%;background:rgba(255,255,255,.06)}
.visual-health .project-visual__shape i:nth-child(2){inset:27% 3% 2% 31%;border-radius:50%;background:transparent}
.visual-health .project-visual__shape i:nth-child(3){left:51%;bottom:3%;width:1px;height:94%;border:0;background:rgba(255,107,107,.42)}
.visual-facility .project-visual__shape i:nth-child(1){inset:0 49% 49% 0;border-radius:2px}
.visual-facility .project-visual__shape i:nth-child(2){inset:49% 0 0 49%;border-radius:2px;background:rgba(255,255,255,.04)}
.visual-facility .project-visual__shape i:nth-child(3){left:0;bottom:49%;width:100%;height:1px;border:0;background:rgba(255,107,107,.45)}
.visual-hospitality .project-visual__shape i:nth-child(1){inset:2% 38% 12% 5%;border-radius:50% 50% 8px 8px}
.visual-hospitality .project-visual__shape i:nth-child(2){inset:39% 2% 1% 52%;border-radius:50%;background:rgba(255,107,107,.09)}
.visual-hospitality .project-visual__shape i:nth-child(3){left:7%;bottom:8%;width:72%;height:1px;border:0;background:rgba(255,255,255,.28)}
.visual-systems .project-visual__shape i:nth-child(1){inset:2% 38% 38% 1%;border-radius:14px}
.visual-systems .project-visual__shape i:nth-child(2){inset:48% 1% 1% 38%;border-radius:14px;background:rgba(255,107,107,.07)}
.visual-systems .project-visual__shape i:nth-child(3){left:29%;bottom:44%;width:48%;height:1px;border:0;background:rgba(255,255,255,.34);transform:rotate(-31deg)}
.visual-property .project-visual__shape i:nth-child(1){inset:2% 52% 4% 2%;border-radius:2px}
.visual-property .project-visual__shape i:nth-child(2){inset:22% 2% 22% 59%;border-radius:2px;background:transparent}
.visual-property .project-visual__shape i:nth-child(3){left:0;bottom:16%;width:88%;height:1px;border:0;background:rgba(255,107,107,.45)}
.visual-parking .project-visual__shape i:nth-child(1){inset:12% 18% 55% 0;border-radius:2px;transform:skewX(-28deg)}
.visual-parking .project-visual__shape i:nth-child(2){inset:53% 0 8% 18%;border-radius:2px;transform:skewX(-28deg);background:rgba(255,255,255,.035)}
.visual-parking .project-visual__shape i:nth-child(3){left:4%;bottom:48%;width:92%;height:1px;border:0;background:rgba(255,107,107,.42);transform:rotate(-22deg)}
.visual-routes .project-visual__shape i:nth-child(1){inset:1% 35% 22% 8%;border-radius:50%;background:transparent}
.visual-routes .project-visual__shape i:nth-child(2){inset:39% 4% 1% 53%;border-radius:50%;background:rgba(255,107,107,.07)}
.visual-routes .project-visual__shape i:nth-child(3){left:26%;bottom:37%;width:62%;height:1px;border:0;background:rgba(255,255,255,.32);transform:rotate(22deg)}
.visual-automotive .project-visual__shape i:nth-child(1){inset:34% 4% 22% 0;border-radius:50% 50% 12px 12px/70% 70% 12px 12px}
.visual-automotive .project-visual__shape i:nth-child(2){inset:61% 8% 8% 68%;border-radius:50%;background:rgba(255,107,107,.08)}
.visual-automotive .project-visual__shape i:nth-child(3){left:4%;bottom:18%;width:92%;height:1px;border:0;background:rgba(255,255,255,.3)}
.field, .lead-field{ gap:3px !important; padding:10px 0 5px !important; }
.field label, .lead-field label{ margin-bottom:1px; }
.field input, .field textarea, .field select, .lead-field input, .lead-field textarea, .lead-field select{
  min-height:28px !important;
  padding:1px 0 0 !important;
  line-height:1.35;
}
.field:focus-within, .lead-field:focus-within{ border-bottom-color:var(--accent) !important; }
.reference-cta{
  min-height:100%;
  border:1px dashed rgba(255,107,107,.55);
  padding:clamp(22px,2.4vw,34px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:40px;
  transition:transform .36s var(--ease),border-color .36s ease;
}
html[data-theme="light"] .reference-cta{
  background:radial-gradient(circle at 84% 18%,rgba(255,107,107,.12),transparent 38%),linear-gradient(145deg,#f7f7f4,#eeeae7) !important;
  color:#111 !important;
  border-color:rgba(255,107,107,.58) !important;
}
html[data-theme="dark"] .reference-cta{
  background:radial-gradient(circle at 84% 18%,rgba(255,107,107,.14),transparent 38%),linear-gradient(145deg,#101010,#171313) !important;
  color:#fff !important;
}
.reference-cta__eyebrow{ font-size:8px; letter-spacing:.2em; color:var(--accent); text-transform:uppercase; }
.reference-cta__body h2{ margin:0 0 16px; font-size:clamp(30px,3vw,46px); line-height:.94; letter-spacing:-.05em; font-weight:680; }
.reference-cta__body p{ margin:0; max-width:40ch; font-size:13px; line-height:1.5; }
html[data-theme="light"] .reference-cta__body p{ color:#62635e !important; }
html[data-theme="dark"] .reference-cta__body p{ color:rgba(255,255,255,.66) !important; }
.reference-cta__link{ font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); display:flex; align-items:center; gap:7px; }
.reference-cta .icon-inline{ width:13px; height:13px; }
@media (hover:hover){.reference-cta:hover{ transform:translateY(-4px); border-color:var(--accent); }
}
@media (max-width:720px){.site-header{ grid-template-columns:1fr auto !important; }
.header-center{ display:none !important; }
.header-tools{ grid-column:2; gap:7px; }
.header-tools .lang-switch{ font-size:7px; }
.theme-toggle{ width:25px !important; height:25px !important; }
.theme-toggle svg{ width:11px !important; height:11px !important; }
.reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
.hero-gradient__orb{ filter:blur(24px) !important; will-change:auto !important; opacity:.62 !important; }
.project-visual__noise{ opacity:.08 !important; }
.project-visual__shape{ transition:none !important; will-change:auto !important; }
.project-visual__shape i{ box-shadow:none !important; }
.home-hero .hero__title{ top:47% !important; transform:translateY(-50%) !important; }
.home-hero .hero__bottom{ bottom:20px !important; }
.hero__copy{ gap:11px; }
.hero-project-cta{ font-size:8px !important; padding-bottom:4px !important; }
.menu-controls{ width:100%; margin:12px auto auto; padding-top:12px; }
.menu-controls .lang-switch, .menu-theme-toggle{ font-size:7px; }
.breadcrumbs{ font-size:8px !important; gap:5px !important; max-width:100%; }
.field input, .field textarea, .field select, .lead-field input, .lead-field textarea, .lead-field select, .form button, .lead-submit{ font-size:16px !important; }
.site-footer .footer-wordmark{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:100% !important;
    max-width:100% !important;
    margin:46px auto 0 !important;
    text-align:center !important;
    font-size:clamp(50px,17vw,68px) !important;
    line-height:.82 !important;
    letter-spacing:-.07em !important;
    white-space:nowrap !important;
    overflow:visible !important;
    transform:none !important;
  }
.site-footer .footer-legal{ margin-top:5px !important; }
.reference-cta{ min-height:330px; padding:24px; }
}
.featured-card .project-visual__noise{ display:none !important; }
@media (max-width:720px){.project-visual__noise{ display:none !important; }
}
html[data-theme="light"] .loader{
  background:#f7f8f6 !important;
  color:#0d0d0d !important;
}
html[data-theme="light"] .loader__mark{ color:#0d0d0d !important; }
html[data-theme="light"] .loader__caption{ color:#777 !important; }
html[data-theme="light"] .loader__rule{ background:rgba(13,13,13,.12) !important; }
html[data-theme="light"] .loader__rule i{ background:#111 !important; }
html[data-theme="dark"] .loader{
  background:#08090b !important;
  color:#f2f1ed !important;
}
html[data-theme="dark"] .loader__mark{ color:#f2f1ed !important; }
html[data-theme="dark"] .loader__caption{ color:rgba(242,241,237,.5) !important; }
html[data-theme="dark"] .loader__rule{ background:rgba(255,255,255,.13) !important; }
html[data-theme="dark"] .loader__rule i{ background:var(--accent) !important; }
.hero-gradient{
  transform:translate3d(0,var(--hero-parallax-y,0px),0) scale(var(--hero-parallax-scale,1.025));
  transform-origin:center center;
  transition:background .55s ease,filter .55s ease,opacity .55s ease;
}
html[data-theme="light"] .home-hero .hero-gradient{
  background:
    radial-gradient(circle at 76% 31%,rgba(57,104,178,.36),transparent 34%),
    radial-gradient(circle at 28% 72%,rgba(115,62,135,.34),transparent 37%),
    radial-gradient(circle at 57% 92%,rgba(255,107,107,.11),transparent 31%),
    linear-gradient(145deg,#0a0c13,#151b2b 52%,#0b0d14) !important;
  filter:saturate(1.04) brightness(1.04);
}
html[data-theme="dark"] .home-hero .hero-gradient{
  background:
    radial-gradient(circle at 76% 31%,rgba(38,70,123,.27),transparent 35%),
    radial-gradient(circle at 28% 72%,rgba(75,42,91,.26),transparent 38%),
    radial-gradient(circle at 57% 92%,rgba(255,107,107,.07),transparent 31%),
    linear-gradient(145deg,#050609,#0b0e17 53%,#06070b) !important;
  filter:saturate(.9) brightness(.87);
}
.hero-gradient__orb{ transition:opacity .55s ease; }
html[data-theme="light"] .hero-gradient__orb{ opacity:.78; }
html[data-theme="dark"] .hero-gradient__orb{ opacity:.48; }
html[data-theme="light"] .hero-gradient__noise{ opacity:.14 !important; }
html[data-theme="dark"] .hero-gradient__noise{ opacity:.095 !important; }
html[data-theme="dark"] .studio-intro{ background:#0a0b0b !important; }
html[data-theme="dark"] .trust-strip{ background:#101111 !important; }
html[data-theme="dark"] .featured-work{ background:#0c0d0d !important; }
html[data-theme="dark"] .process-section{ background:#111212 !important; }
html[data-theme="dark"] .services{ background:#0b0c0c !important; }
html[data-theme="dark"] .insights-section{ background:#101111 !important; }
html[data-theme="dark"] .lead-contact{ background:#0c0d0d !important; }
html[data-theme="dark"] .reference-gallery{ background:#0b0c0c !important; }
html[data-theme="dark"] .reference-slider-section{ background:#101111 !important; }
html[data-theme="dark"] main > .section:nth-of-type(even){ background:#0f1010 !important; }
html[data-theme="dark"] main > .section:nth-of-type(odd){ background:#0a0b0b !important; }
html[data-theme="dark"] .page-hero.inner-hero{ background:#0a0b0b !important; }
footer.contact, .site-footer.contact{
  transition:background-color .45s ease,color .45s ease,border-color .45s ease;
}
html[data-theme="light"] footer.contact, html[data-theme="light"] .site-footer.contact{
  background:#f5f6f4 !important;
  color:#0d0d0d !important;
  border-color:rgba(13,13,13,.16) !important;
}
html[data-theme="dark"] footer.contact, html[data-theme="dark"] .site-footer.contact{
  background:#070808 !important;
  color:#f1f0ec !important;
  border-color:rgba(255,255,255,.12) !important;
}
html[data-theme="dark"] footer.contact .footer-info h3, html[data-theme="dark"] footer.contact .footer-info p, html[data-theme="dark"] footer.contact .footer-info a, html[data-theme="dark"] footer.contact .footer-meta, html[data-theme="dark"] footer.contact .footer-meta a, html[data-theme="dark"] footer.contact .footer-wordmark, html[data-theme="dark"] footer.contact .footer-legal, html[data-theme="dark"] .site-footer.contact .footer-info h3, html[data-theme="dark"] .site-footer.contact .footer-info p, html[data-theme="dark"] .site-footer.contact .footer-info a, html[data-theme="dark"] .site-footer.contact .footer-meta, html[data-theme="dark"] .site-footer.contact .footer-meta a, html[data-theme="dark"] .site-footer.contact .footer-wordmark, html[data-theme="dark"] .site-footer.contact .footer-legal{ color:#f1f0ec !important; }
html[data-theme="dark"] footer.contact .footer-info p, html[data-theme="dark"] .site-footer.contact .footer-info p{ color:rgba(241,240,236,.68) !important; }
html[data-theme="dark"] footer.contact .footer-meta, html[data-theme="dark"] .site-footer.contact .footer-meta{
  border-color:rgba(255,255,255,.14) !important;
  color:rgba(241,240,236,.72) !important;
}
html[data-theme="dark"] footer.contact .footer-legal, html[data-theme="dark"] .site-footer.contact .footer-legal{
  border-color:rgba(255,255,255,.14) !important;
  color:rgba(241,240,236,.64) !important;
  mix-blend-mode:normal !important;
}
html[data-theme="dark"] footer.contact .footer-wordmark, html[data-theme="dark"] .site-footer.contact .footer-wordmark{ color:#efeee9 !important; }
@media (max-width:720px){.hero-gradient{ filter:none !important; }
html[data-theme="dark"] .home-hero .hero-gradient{ opacity:.93; }
html[data-theme="light"] .home-hero .hero-gradient{ opacity:1; }
html[data-theme="dark"] footer.contact .footer-wordmark, html[data-theme="dark"] .site-footer.contact .footer-wordmark{ color:#efeee9 !important; }
}
.toc .card, .toc .card:hover{
  transform:none !important;
  border-color:var(--line) !important;
  color:var(--ink) !important;
}
html[data-theme="light"] .toc .card, html[data-theme="light"] .toc .card:hover{ background:#eceeea !important; }
html[data-theme="dark"] .toc .card, html[data-theme="dark"] .toc .card:hover{ background:#131413 !important; }
.toc a{
  color:var(--soft) !important;
  transition:color .22s ease,padding-left .28s var(--ease),border-color .22s ease;
}
@media (hover:hover){.toc a:hover{
    color:var(--ink) !important;
    padding-left:5px;
  }
}
html[data-theme="dark"] .toc a:hover{ color:#f2f1ed !important; }
.prose h2[id], .prose h3[id], .article-page section[id]{
  scroll-margin-top:calc(var(--header-h) + 30px);
}
.breadcrumbs{
  display:flex !important;
  align-items:center !important;
  flex-flow:row nowrap !important;
  gap:6px !important;
  white-space:nowrap !important;
  line-height:1 !important;
  min-width:0;
}
.breadcrumbs > *{
  display:inline-flex !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
}
.blog-index .cards-3 .card, .blog-index .cards-3 .card:hover{
  transform:none !important;
}
@media (hover:hover){html[data-theme="light"] .blog-index .cards-3 .card:hover{ background:#eceeea !important; }
html[data-theme="dark"] .blog-index .cards-3 .card:hover{ background:#151616 !important; }
.blog-index .cards-3 .card:hover h3{ transform:translateX(3px); }
}
.blog-index .cards-3 .card h3{
  transition:transform .3s var(--ease),color .3s ease;
}
main > section.section + section.reference-slider-section, main > section.section + section.trust-strip, main > section.section + section.case-more-work, main > section.reference-slider-section + section.section, main > section.trust-strip + section.section{
  border-top:0 !important;
}
main > section + section{
  background-clip:padding-box;
}
main > .inner-hero + .case-more-work{ border-top:0 !important; }
@media (max-width:720px), (pointer:coarse){.loader{
    display:grid !important;
    opacity:1;
    transform:none !important;
    transition:opacity .22s ease !important;
    will-change:opacity;
  }
.loader__center{ width:min(260px,66vw); }
.loader__mark{ font-size:20px; }
.loader__rule{ margin:14px 0 10px; }
.loader__caption{ font-size:7px; letter-spacing:.14em; }
.loader.mobile-loader-out{ opacity:0 !important; pointer-events:none; }
}

/* Initial-paint guard: the fullscreen menu must never animate until it was explicitly opened. */
.menu:not(.menu-ready){
  transition:none !important;
}

/* Legal text crosses the oversized footer wordmark: difference keeps it readable in both themes. */
footer.contact .footer-legal span,
.site-footer.contact .footer-legal span,
html[data-theme="dark"] footer.contact .footer-legal span,
html[data-theme="dark"] .site-footer.contact .footer-legal span{
  color:#fff !important;
  mix-blend-mode:difference !important;
  position:relative !important;
  z-index:2 !important;
}

@media (max-width:720px){
  .header-tools{ gap:0 !important; }
  .menu-controls{
    width:100% !important;
    margin-top:15px !important;
    gap:8px !important;
  }
  .menu-controls .lang-switch--menu,
  .menu-theme-toggle{
    min-height:48px !important;
    height:48px !important;
    font-size:10px !important;
  }
  .menu-theme-toggle{ padding:0 10px !important; }
}


/* V20 — editorial menu controls, theme-aware inner heroes, dark-hover polish. */
.menu-controls{
  width:min(720px,72vw) !important;
  margin:24px auto auto !important;
  padding:0 !important;
  border:0 !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:clamp(28px,6vw,86px) !important;
  align-items:end !important;
}
.menu-control{
  min-width:0;
  color:inherit;
}
.menu-control__label{
  display:block;
  margin:0 0 10px;
  font-size:7px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:currentColor;
  opacity:.38;
}
.menu-control--language .lang-switch--menu{
  display:flex !important;
  align-items:baseline !important;
  gap:10px !important;
  height:auto !important;
  border:0 !important;
  background:none !important;
  opacity:1 !important;
  font-size:clamp(17px,1.5vw,21px) !important;
  line-height:1 !important;
  letter-spacing:-.025em !important;
}
.menu-control--language .lang-switch--menu a,
.menu-control--language .lang-switch--menu .on,
.menu-control--language .lang-switch--menu .sep{
  color:currentColor !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  height:auto !important;
  opacity:.34 !important;
  transition:opacity .24s ease,color .24s ease !important;
}
.menu-control--language .lang-switch--menu .on{
  opacity:1 !important;
  position:relative;
}
.menu-control--language .lang-switch--menu .on:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  height:1px;
  background:var(--accent);
  transform-origin:left center;
}
.menu-control--language .lang-switch--menu .sep{
  opacity:.18 !important;
  font-size:.72em;
}
@media (hover:hover){
  .menu-control--language .lang-switch--menu a:hover{ opacity:.82 !important; }
}
.menu-control--theme{
  width:100% !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  background:none !important;
  color:inherit !important;
  display:block !important;
  text-align:left !important;
  cursor:pointer !important;
  opacity:1 !important;
}
.menu-control--theme .menu-control__value{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:clamp(17px,1.5vw,21px);
  line-height:1;
  letter-spacing:-.025em;
  opacity:.72;
  transition:opacity .24s ease,transform .28s var(--ease);
}
.menu-control--theme .theme-icon{
  width:15px !important;
  height:15px !important;
  stroke-width:1.2 !important;
  opacity:.55 !important;
}
@media (hover:hover){
  .menu-control--theme:hover .menu-control__value{ opacity:1; transform:translateX(3px); }
}

/* Homepage dark-mode hover states: keep the interaction tonal instead of inverting it. */
html[data-theme="dark"] .process-grid article{
  background:rgba(255,255,255,.012);
  border-color:rgba(255,255,255,.12);
}
html[data-theme="dark"] .process-grid small{ color:rgba(255,255,255,.46) !important; }
html[data-theme="dark"] .process-grid h3{ color:var(--ink) !important; }
html[data-theme="dark"] .process-grid p{ color:var(--soft) !important; }
@media (hover:hover){
  html[data-theme="dark"] .process-grid article:hover{
    transform:translateY(-2px) !important;
    background:rgba(255,255,255,.042) !important;
    border-color:rgba(255,255,255,.19) !important;
  }
  html[data-theme="dark"] .process-grid article:hover h3{ color:#f5f4f0 !important; }
  html[data-theme="dark"] .process-grid article:hover p{ color:#b9b8b2 !important; }

  html[data-theme="dark"] .insights-list a:hover{
    background:rgba(255,255,255,.038) !important;
    color:var(--ink) !important;
    padding-left:7px !important;
  }
  html[data-theme="dark"] .insights-list a:hover h3{
    color:#f5f4f0 !important;
    transform:translateX(4px) !important;
  }
  html[data-theme="dark"] .insights-list a:hover small{ color:#8e8e89 !important; }
  html[data-theme="dark"] .insights-list a:hover > i{ color:var(--accent) !important; transform:translate(3px,-2px) !important; }
}

/* Inner-page hero system: four related gradient families, each with a light and dark interpretation. */
body:not(.home-page) .inner-hero{
  isolation:isolate;
  transition:background .5s ease,color .4s ease,border-color .4s ease;
}
body:not(.home-page) .inner-hero:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(112deg,rgba(255,255,255,.035),transparent 36%,rgba(255,255,255,.018) 68%,transparent);
  opacity:.7;
}
body:not(.home-page) .inner-hero > .wrap,
body:not(.home-page) .inner-hero > .inner-hero__visual{ z-index:2; }

/* A — Services / systems: cool indigo with a quiet coral counterpoint. */
html[data-theme="light"] body.service-page .inner-hero,
html[data-theme="light"] body.services-index .inner-hero{
  background:
    radial-gradient(circle at 84% 14%,rgba(76,94,181,.20),transparent 34%),
    radial-gradient(circle at 16% 90%,rgba(255,107,107,.075),transparent 31%),
    linear-gradient(142deg,#f7f7f4 0%,#eff0f5 53%,#f6f2f1 100%) !important;
}
html[data-theme="dark"] body.service-page .inner-hero,
html[data-theme="dark"] body.services-index .inner-hero{
  background:
    radial-gradient(circle at 84% 14%,rgba(76,94,181,.22),transparent 35%),
    radial-gradient(circle at 16% 90%,rgba(255,107,107,.055),transparent 31%),
    linear-gradient(142deg,#07090d 0%,#101421 53%,#0a090b 100%) !important;
}

/* B — Studio / contact / solutions: warmer architectural coral-slate. */
html[data-theme="light"] body.studio-page .inner-hero,
html[data-theme="light"] body.contact-page .inner-hero,
html[data-theme="light"] body.solution-page .inner-hero{
  background:
    radial-gradient(circle at 80% 18%,rgba(255,107,107,.135),transparent 32%),
    radial-gradient(circle at 9% 78%,rgba(82,105,132,.12),transparent 34%),
    linear-gradient(145deg,#f8f6f2 0%,#f1eeee 52%,#eef2f3 100%) !important;
}
html[data-theme="dark"] body.studio-page .inner-hero,
html[data-theme="dark"] body.contact-page .inner-hero,
html[data-theme="dark"] body.solution-page .inner-hero{
  background:
    radial-gradient(circle at 80% 18%,rgba(255,107,107,.10),transparent 33%),
    radial-gradient(circle at 9% 78%,rgba(69,91,118,.17),transparent 35%),
    linear-gradient(145deg,#090809 0%,#151012 52%,#0a0d10 100%) !important;
}

/* C — Insights: restrained blue/lilac editorial field. */
html[data-theme="light"] body.article-page .inner-hero,
html[data-theme="light"] body.blog-index .inner-hero{
  background:
    radial-gradient(circle at 86% 20%,rgba(97,105,172,.16),transparent 33%),
    radial-gradient(circle at 20% 88%,rgba(101,139,153,.11),transparent 36%),
    linear-gradient(142deg,#f6f7f5 0%,#eef1f2 49%,#f2eff4 100%) !important;
}
html[data-theme="dark"] body.article-page .inner-hero,
html[data-theme="dark"] body.blog-index .inner-hero{
  background:
    radial-gradient(circle at 86% 20%,rgba(90,99,166,.18),transparent 34%),
    radial-gradient(circle at 20% 88%,rgba(74,113,128,.10),transparent 36%),
    linear-gradient(142deg,#07090b 0%,#0e1216 49%,#100d14 100%) !important;
}

/* D — Work / case studies: graphite, muted warmth and a trace of the brand coral. */
html[data-theme="light"] body.case-page .inner-hero,
html[data-theme="light"] body.reference-index .inner-hero{
  background:
    radial-gradient(circle at 86% 15%,rgba(255,107,107,.12),transparent 31%),
    radial-gradient(circle at 15% 86%,rgba(87,82,102,.09),transparent 34%),
    linear-gradient(145deg,#f7f5f2 0%,#efeeec 50%,#f1eff2 100%) !important;
}
html[data-theme="dark"] body.case-page .inner-hero,
html[data-theme="dark"] body.reference-index .inner-hero{
  background:
    radial-gradient(circle at 86% 15%,rgba(255,107,107,.085),transparent 32%),
    radial-gradient(circle at 15% 86%,rgba(76,72,92,.12),transparent 35%),
    linear-gradient(145deg,#070708 0%,#111010 50%,#0d0b10 100%) !important;
}

/* Keep hero text contrast deterministic across all four families. */
html[data-theme="light"] body:not(.home-page) .inner-hero{ color:#101110 !important; border-color:rgba(13,13,13,.13) !important; }
html[data-theme="light"] body:not(.home-page) .inner-hero .lead{ color:#565852 !important; }
html[data-theme="dark"] body:not(.home-page) .inner-hero{ color:#f1f0ec !important; border-color:rgba(255,255,255,.12) !important; }
html[data-theme="dark"] body:not(.home-page) .inner-hero .lead{ color:#aaa9a3 !important; }
html[data-theme="dark"] body:not(.home-page) .inner-hero .breadcrumbs,
html[data-theme="dark"] body:not(.home-page) .inner-hero .breadcrumbs a{ color:rgba(241,240,236,.58) !important; }

@media (max-width:720px){
  .menu-controls{
    width:100% !important;
    margin-top:20px !important;
    grid-template-columns:1fr 1fr !important;
    gap:24px !important;
  }
  .menu-control__label{ margin-bottom:9px; font-size:6.5px; }
  .menu-control--language .lang-switch--menu,
  .menu-control--theme .menu-control__value{ font-size:17px !important; }
  body:not(.home-page) .inner-hero:after{ opacity:.45; }
}

/* V20 dark menu control contrast. */
html[data-theme="dark"] .menu-control__label{ color:#f1f0ec !important; opacity:.34 !important; }
html[data-theme="dark"] .menu-control--language .lang-switch--menu a,
html[data-theme="dark"] .menu-control--language .lang-switch--menu .on,
html[data-theme="dark"] .menu-control--language .lang-switch--menu .sep{ color:#f1f0ec !important; }
html[data-theme="dark"] .menu-control--language .lang-switch--menu .on{ opacity:1 !important; }
html[data-theme="dark"] .menu-control--language .lang-switch--menu a{ opacity:.42 !important; }
html[data-theme="dark"] .menu-control--language .lang-switch--menu .sep{ opacity:.18 !important; }
html[data-theme="dark"] .menu-control--theme .menu-control__value{ color:#f1f0ec !important; opacity:.78 !important; }
html[data-theme="light"] body.inner-page .inner-hero{
  background:radial-gradient(circle at 80% 18%,rgba(255,107,107,.12),transparent 32%),radial-gradient(circle at 9% 78%,rgba(82,105,132,.10),transparent 34%),linear-gradient(145deg,#f8f6f2 0%,#f1eeee 52%,#eef2f3 100%) !important;
}
html[data-theme="dark"] body.inner-page .inner-hero{
  background:radial-gradient(circle at 80% 18%,rgba(255,107,107,.09),transparent 33%),radial-gradient(circle at 9% 78%,rgba(69,91,118,.15),transparent 35%),linear-gradient(145deg,#090809 0%,#151012 52%,#0a0d10 100%) !important;
}

/* V21 — header theme control + simplified language control. */
.header-tools{
  gap:11px !important;
}
.header-theme-toggle{
  width:29px !important;
  height:29px !important;
  flex:0 0 29px;
  border-color:rgba(127,127,127,.34) !important;
  opacity:.56 !important;
}
.header-theme-toggle:hover{
  opacity:.82 !important;
  border-color:rgba(127,127,127,.52) !important;
}
.header-theme-toggle svg{
  width:13px !important;
  height:13px !important;
  stroke-width:1.3 !important;
}
.home-page .site-header:not(.is-scrolled) .header-theme-toggle{
  border-color:rgba(255,255,255,.30) !important;
}

/* Fullscreen menu keeps only language selection. One quiet editorial row. */
.menu-controls{
  width:min(720px,72vw) !important;
  margin:18px auto auto !important;
  padding:0 !important;
  border:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:0 !important;
}
.menu-control--language{
  width:100%;
  min-width:0;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
}
.menu-control--language .menu-control__label{
  margin:0 !important;
  font-size:7px !important;
  line-height:1 !important;
  letter-spacing:.18em !important;
  opacity:.34 !important;
}
.menu-control--language .lang-switch--menu{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:16px !important;
  height:auto !important;
  min-height:0 !important;
  border:0 !important;
  background:none !important;
  opacity:1 !important;
  font-size:13px !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
}
.menu-control--language .lang-switch--menu .sep{
  display:none !important;
}
.menu-control--language .lang-switch--menu a,
.menu-control--language .lang-switch--menu .on{
  position:relative;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:30px !important;
  min-height:34px !important;
  padding:0 2px !important;
  color:currentColor !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  opacity:.38 !important;
  transition:opacity .22s ease !important;
}
.menu-control--language .lang-switch--menu .on{
  opacity:1 !important;
}
.menu-control--language .lang-switch--menu .on:after{
  left:2px !important;
  right:2px !important;
  bottom:4px !important;
  height:1px !important;
  background:var(--accent) !important;
}
@media (hover:hover){
  .menu-control--language .lang-switch--menu a:hover{ opacity:.82 !important; }
}
html[data-theme="dark"] .menu-control--language .lang-switch--menu a,
html[data-theme="dark"] .menu-control--language .lang-switch--menu .on{
  color:#f1f0ec !important;
}

@media (max-width:720px){
  .header-tools{
    gap:9px !important;
  }
  .header-theme-toggle{
    width:28px !important;
    height:28px !important;
    flex-basis:28px !important;
  }
  .header-theme-toggle svg{
    width:12.5px !important;
    height:12.5px !important;
  }
  .menu-controls{
    width:100% !important;
    margin:13px 0 auto !important;
    padding:0 1px !important;
  }
  .menu-control--language{
    min-height:42px !important;
    gap:18px !important;
  }
  .menu-control--language .menu-control__label{
    font-size:6.5px !important;
    margin:0 !important;
  }
  .menu-control--language .lang-switch--menu{
    gap:14px !important;
    font-size:13.5px !important;
  }
  .menu-control--language .lang-switch--menu a,
  .menu-control--language .lang-switch--menu .on{
    min-width:34px !important;
    min-height:42px !important;
  }
  .menu-control--language .lang-switch--menu .on:after{
    bottom:6px !important;
  }
}


/* V23 — authoritative V7 menu item hover. */
.menu__links span::after{content:none!important;display:none!important}
.menu.menu-hover-ready.is-open .menu__links span{transition-delay:0s!important}
@media (hover:hover) and (pointer:fine){
  .menu.menu-hover-ready.is-open .menu__links a:hover span{
    transform:translate3d(12px,0,0)!important;
    transition:transform .42s cubic-bezier(.2,.8,.2,1)!important;
  }
}


/* Accessibility polish: same design, WCAG-safe muted text and tap geometry. */
html[data-theme="light"] footer.contact .footer-legal span,
html[data-theme="light"] .site-footer.contact .footer-legal span{
  color:#0d0d0d !important;
  background:#f5f6f4 !important;
  box-shadow:0 0 0 2px #f5f6f4;
  mix-blend-mode:normal !important;
}
html[data-theme="dark"] footer.contact .footer-legal span,
html[data-theme="dark"] .site-footer.contact .footer-legal span{
  color:#f1f0ec !important;
  background:#070808 !important;
  box-shadow:0 0 0 2px #070808;
  mix-blend-mode:normal !important;
}
@media (max-width:720px), (pointer:coarse){
  .footer-info a,
  .menu__meta a{
    min-height:24px;
    display:inline-flex;
    align-items:center;
  }
}

/* Dark-theme counterparts for the same muted homepage metadata. */
html[data-theme="dark"] .trust-strip__item small,
html[data-theme="dark"] .featured-card__meta{
  color:#aaa9a3 !important;
}
